package com.jeeplus.test.program.configuration.projectList.service.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.core.domain.BaseEntity;
import com.jeeplus.test.oss.domain.WorkAttachment;
import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListLink;
import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListMember;
import com.jeeplus.test.workContract.service.dto.WorkAttachmentDto;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class ProjectListDto extends BaseEntity {

    public static final String BIZ_CODE = "xmlb";
    public static final String BIY_CODE = "6";

    private String contractId;

    private String contractName;

    private String client;

    private String clientName;

    private String amount;

    private String contractType;

    private String name;

    private String no;

    private String projectType;

    private String approvalNo;

    private String company;

    private String projectMould;

    private String propertyHolder;

    private String propertyHolderName;

    private String location;

    private String isFirst;

    private String yearNum;

    private String checkYear;

    private String projectManager;

    private String projectManagerName;

    private String reportType;

    private String industry;

    private String enterpriseType;

    private String riskLevel;

    private String projectSource;

    private BigDecimal estimate;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date planEndTime;

    private Integer useNum;

    private Integer appointment;

    private Double workHours;

    private String remarks;

    private String assessmentEnterprise;

    private String assessmentEnterpriseName;

    private String linkNum;

    private String relationship;

    private String assessmentWay;

    private String assessmentObjective;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date assessmentDate;

    private BigDecimal num;

    private String projectDevelopment;

    private String delegateProjectType;

    private String assessmentObject;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date workBeginDate;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date workEndDate;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date reportingDate;

    private String isHave;

    private String isInfluence;

    private String mode;

    private String status;

    /**
     * 联系人
     */
    private List<ProgramProjectListLink> links;

    private List<ProgramProjectListMember> members;

    private List<WorkAttachmentDto> files;

    /**
     * 审批通过时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date agreeTime;

    /**
     * 审批人
     */
    private String agreeUserId;

    /**
     * 生成合同编号，前端传值为 “ 1 ” 的时候，进行生成
     */
    private String createContractNo;

}
