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

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.core.service.dto.BaseDTO;
import com.jeeplus.finance.projectReport.domain.CwProjectReportData;
import lombok.Data;

import java.util.List;

/**
 * 报告申请信息
 * @author: 王强
 * @create: 2022-11-20 11:34
 **/
@Data
public class ReportInfoDto extends BaseDTO {
    private static final long serialVersionUID = 1L;

    @TableField(exist = false)
    private String createById;

    /**
     * 项目编号
     */
    @Excel(name = "项目编号",width = 25,orderNum = "2")
    private String projectNumber;

    /**
     * 创建人
     */
    @Excel(name = "创建人",width = 25,orderNum = "9")
    private String userName;


    /**
     * 报告所属部门
     */
    @Excel(name = "报告所属部门",width = 25,orderNum = "5")
    private String departmentName;

    /**
     * 报告文号
     */
    @Excel(name = "报告号",width = 25,orderNum = "1")
    private String reportNo;

    /**
     * 项目名称
     */
    @Excel(name = "项目名称",width = 25,orderNum = "3")
    private String projectName;

    /**
     * 报告主办人
     */
    @Excel(name = "报告主办人",width = 25,orderNum = "8")
    private String reportSponsor;

    /**
     * 报告作废原因
     */
    private String cancellateReason;

    /**
     * 报告申请单号
     */
    @Excel(name = "单据编号",width = 25,orderNum = "0")
    private String documentNo;

    /**
     * 单据状态（报告流程status为5的）
     */
    private String documentStatus;

    /**
     * 项目经理姓名
     */
    @Excel(name = "项目经理姓名",width = 25,orderNum = "6")
    private String projectMasterName;

    /**
     * 项目经理id
     */
    @TableField(exist = false)
    private String projectMasterId;

    /**
     * 新建行id
     */
    private String reportNewLineId;

    /**
     * 状态
     */

    @Excel(name = "状态",width = 25,orderNum = "11",dict = "cw_status")
    private String status;

//    @Excel(name = "状态",width = 25,orderNum = "11",dict = "cw_status")
    private String labelStatus;
    /**
     * 创建时间
     */
    @Excel(name = "创建时间",exportFormat = "yyyy-MM-dd HH:mm:ss",width = 25,orderNum = "10")
    private String createDateT;

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

    private String processDefinitionId;

    /**
     * 创建时间区间
     */
    @TableField(exist = false)
    private String[] contractDates;

    /**
     * 报告作废归档状态
     */
    private String applyFileType;

    /**
     * 报告作废归档流程id
     */
    @TableField(exist = false)
    private String cwProcInsId;

    /**
     *
     */
    @TableField(exist = false)
    private String cwProDefId;

    /**
     * 项目经理2id
     */
    @TableField(exist = false)
    private String projectMaster2Id;

    /**
     * 项目经理2name
     */
    @TableField(exist = false)
    @Excel(name = "项目经理2姓名",width = 25,orderNum = "7")
    private String projectMaster2Name;

    /**
     * 数据审核人  纸质归档
     */
    private List<String> auditUserIds;

    /**
     * 报告id
     */
    private String reportId;

    /**
     * 报告详情
     */
    private CwProjectReportData reportDetail;



}
