package cn.iocoder.yudao.module.contract.controller.admin.suppliercontract.vo;

import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;

@Schema(description = "管理后台 - 采购合同信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class SupplierContractPageReqVO extends PageParam {

    @Schema(description = "合同编号，年月日+uuid")
    private String supplierContractCode;

    @Schema(description = "合同名称", example = "合同名称")
    private String supplierContractName;

    @Schema(description = "是否为框架合同 0否 1是", example = "0")
    private Integer isFrameContract;

    @Schema(description = "供应商名称", example = "供应商名称")
    private String supplierName;

    @Schema(description = "合同开始日期", example = "2024-08-12,2024-08-12")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    private String[] startDate;

    @Schema(description = "合同结束日期", example = "2024-08-12,2024-08-12")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    private String[] endDate;

    @Schema(description = "合同负责人", example = "5122")
    private String ownerEmployeeName;

    @Schema(description = "负责人部门", example = "29650")
    private Long deptId;

    @Schema(description = "合同状态：0、未归档；1、已归档；2、已完结", example = "2")
    private String contractStatus;

    @Schema(description = "是否关闭 0开启 1关闭")
    private Integer closed;

    @Schema(description = "是否终止 0否 1是")
    private Integer terminate;

    @Schema(description = "数据权限")
    private DeptDataPermissionRespDTO deptDataPermission;

    @Schema(description = "用户id")
    private Long userId;
}