package com.jeeplus.test.cw.projectReport.domain;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import com.jeeplus.core.query.Query;
import com.jeeplus.core.service.dto.BaseDTO;
import com.jeeplus.test.cw.common.flowable.dto.CommitParamDTO;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author: 徐滕
 * @version: 2022-11-11 15:42
 */
@Data
public class CwProjectReportData extends BaseDTO {

    /**
     * 报告主办人
     */
    private String reportSponsor;

//    private String createBy;

    @TableField(exist = false)
    private String createById;

    @TableField(exist = false)
    private String projectInfoId;

    //单据编号（字典值）
    public static final String BIZ_CODE = "13";
    /**
     * 单据编号
     */
    @Excel(name = "单据编号",width = 20)
    private String documentNo;
    /**
     * 项目名称
     */
    @Query(tableColumn = "b.project_name")
    @Excel(name = "项目名称",width = 40)
    private String projectName;
    /**
     * 项目编号
     */
    @Query(tableColumn = "b.project_number")
    @Excel(name = "项目编号",width = 20)
    private String projectNumber;
    /**
     * 项目id
     */
    private String projectId;
    /**
     * 报告所属部门
     */
    private String officeId;


    @TableField(exist = false)
    @Excel(name = "报告所属部门",width = 20)
    private String departmentName; //部门名称
    /**
     * 项目经理
     */
    @Query(tableColumn = "e.name")
    @Excel(name = "项目经理",width = 12)
    private String projectMasterName;

    /**
     * 项目经理id
     */
    @TableField(exist = false)
    private String projectMasterId;
    /**
     * 签字注师1
     */
    private String signatureAnnotator1;
    /**
     * 签字注师2
     */
    private String signatureAnnotator2;
    /**
     * 盖章类型
     */
    private String signatureType;

    /**
     * 流程id
     */
    private String procInsId;

    private String processDefinitionId;

    /**
     * 创建人
     */
    @TableField(exist = false)
    @Excel(name = "创建人",width = 12)
    private String userName; //用户名

    /**
     * 创建时间
     */
    @Excel(name = "创建时间", exportFormat="yyyy-MM-dd",width = 16)
    private Date createDate;

    /**
     * 状态
     */
    @Excel(name = "状态",width = 12)
    private String status;

    //新建行数据
    @TableField(exist = false)
    List<CwProjectInfoData> cwProjectInfoList;

    //新建行历史数据
    @TableField(exist = false)
    List<CwProjectInfoData> cwWorkClientContactDTOList;

    @TableField(exist = false)
    private String[] contractDates;

    /**
     * 签章documentId
     */
    private String signatureDocumentId;

    /**
     * 签章contractId
     */
    private String signatureContractId;

    /**
     * 流程通过所需参数DTO
     */
    private CommitParamDTO<CwProjectReportData> CommitParamDTO;

    /**
     * 公章流程procInsId
     */
    private String procInsId1;

    /**
     * 公章流程processDefinitionId
     */
    private String processDefinitionId1;

    /**
     * 公章流程status
     */
    @Excel(name = "签章状态",width = 12)
    private String status1;

    /**
     * 公章流程表id
     */
    private String sid1;

    /**
     * 公章+执业章流程procInsId
     */
    private String procInsId2;

    /**
     * 公章+执业章流程processDefinitionId
     */
    private String processDefinitionId2;

    /**
     * 公章+执业章流程status
     */
    private String status2;

    /**
     * 公章+执业章流程表id
     */
    private String sid2;

    /**
     * 电子签章文件地址
     */
    private String signatureUrl;

    /**
     * 报告实际制作人
     */
    private String realCreate;
}
