package com.jeeplus.finance.projectRecords.service.dto;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.core.service.dto.BaseDTO;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @author: 徐滕
 * @version: 2025-3-18 10:02
 */
@Data
public class CwProjectRecordsImportDTO extends BaseDTO {

    private static final long serialVersionUID = 1L;

    @Excel(name = "*合同名称",width = 255)
    @NotNull(message="合同名称不可为空")
    private String contractName;

    @Excel(name = "*项目名称",width = 255)
    @NotNull(message="项目名称不可为空")
    private String projectName;

    /**
     * 风险等级
     */
    @Excel(name = "*风险等级",width = 20)
    @NotNull(message="风险等级不可为空")
    private String riskLevel;


    /**
     * 项目规模
     */
    @Excel(name = "*项目规模（元）",width = 25)
    @NotNull(message="项目规模不可为空")
    private String projectMoney;

    /**
     * 有无报告(0:无,1:有)
     */
    @Excel(name = "*有无报告",width = 20)
    @NotNull(message="有无报告不可为空")
    private String isHaveReport;

    /**
     * 报备类型
     */
    @Excel(name = "*报备类型",width = 25)
    @NotNull(message="报备类型不可为空")
    private String reportType;

    /**
     * 审计期间
     */
    @Excel(name = "*审计期间",width = 25)
    @NotNull(message="审计期间不可为空")
    private String auditYear;

    /**
     * 项目计划开始时间
     */
    @Excel(name = "*项目预计开始时间",width = 50)
    @NotNull(message="项目计划开始时间不可为空")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date planStartDate;

    /**
     * 项目计划结束时间
     */
    @Excel(name = "*项目预计结束时间",width = 50)
    @NotNull(message="项目计划结束时间不可为空")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date planEndDate;

    /**
     * 现场负责人
     */
    @Excel(name = "现场负责人",width = 50)
    private String projectLeaderId;

    /**
     * 项目经理1
     */
    @Excel(name = "项目经理1",width = 50)
    private String projectMasterId;

    /**
     * 项目经理2
     */
    @Excel(name = "项目经理2",width = 50)
    private String realHeader;

    /**
     * 客户姓名
     */
    @Excel(name = "*客户联系人-姓名",width = 50)
    @NotNull(message="客户姓名不可为空")
    private String cwProjectClientName;

    /**
     * 客户部门
     */
    @Excel(name = "*客户联系人-部门",width = 50)
    @NotNull(message="客户部门不可为空")
    private String cwProjectClientOffice;

    /**
     * 客户手机号
     */
    @Excel(name = "*客户联系人-联系方式1",width = 50)
    @NotNull(message="客户联系方式不可为空")
    private String cwProjectClientPhone;
}
