package com.jeeplus.assess.assessSignatureDaily.service.dto;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.assess.program.configuration.projectList.domain.ProgramProjectListInfo;
import com.jeeplus.core.domain.BaseEntity;
import com.jeeplus.sys.domain.WorkAttachmentInfo;
import com.jeeplus.sys.service.dto.UserDTO;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

@Data
public class AssessSignatureProjectReportRelationDTO extends BaseEntity {
    //日常签章编号（字典值）
    public static final String BIZ_CODE = "34";

    private String id;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 签章描述
     */
    @Excel(name = "签章描述", width = 30, orderNum = "2")
    private String signatureName;

    /**
     * 签章编号
     */
    @Excel(name = "签章编号", width = 30, orderNum = "1")
    private String number;

    /**
     * 签章类型
     */
    @Excel(name = "签章类型", width = 30, orderNum = "4",dict = "signature_project_report")
    private String signatureType;

    /**
     * 状态
     */
    private String status;

    /**
     * 流程信息
     */
    private String procInsId;
    private String processDefinitionId;
    private String taskId;

    /**
     * 报销日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @Excel(name = "创建时间", width = 30, orderNum = "6")
    private Date createTime;

    /**
     * 创建时间
     */
    private String[] dates;
    @Excel(name = "创建人", width = 30, orderNum = "5")
    private String createName;

    private String officeName;

    private String officeId;
    //未签章附件
    private List<WorkAttachmentInfo> files;
    //已签章附件
    private List<WorkAttachmentInfo> signatureFiles;

    private List<ProgramProjectListInfo> projectList;
    @Excel(name = "签章项目", width = 30, orderNum = "3")
    private String projectName;

    /**
     * 签章contractId
     */
    private String signatureContractId;
    /**
     * 签章documentId
     */
    private String signatureDocumentId;
    /**
     * 签章url地址
     */
    private String signatureUrl;
    /*
    签章完成情况
     */
    private Integer signatureUrlFlag;
    /*
    签章附件名称
     */
    private String signatureFileName;
    /**
     * 签属时间
     */
    private Date signatureUploadDate;
    /*
    签属文件上传人
     */
    private UserDTO signatureUploadFileUser;
    /*
    签章状态
     */
    private Integer signatureFlag;
}
