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

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

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

/**
 * 新项目管理-项目登记-项目归档
 * @TableName program_archive
 */
@Data
public class ProgramArchiveDto extends BaseDTO {

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

    /**
     * 项目id
     */
    private String programId;

    /**
     * 年份
     */
    private String year;

    /**
     * 项目类型
     */
    private String programType;

    /**
     * 评估报告日
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date evaluationReportDate;

    /**
     * 协议号
     */
    private String protocolNum;

    /**
     * 废旧物资评估(万元)
     */
    private String waystEvaluation;

    /**
     * 固定资产评估(万元)
     */
    private String fixedAssetsEvaluation;

    /**
     * 净资产评估
     */
    private String netAssetsEvaluation;

    /**
     * 租金评估(万/年)
     */
    private String rentEvaluation;

    /**
     * 司法鉴定
     */
    private String forensics;

    /**
     * 报告收费(元)
     */
    private String reportCharges;

    /**
     * 当前处理人
     */
    private String currentDisposePerson;

    /**
     * 是否开票
     */
    private String isInvoice;

    /**
     * 开票日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date invoiceDate;

    /**
     * 预估/实际收费(万元）
     */
    private String actualCharges;

    /**
     * 合同是否存档
     */
    private String isContractArchive;

    /**
     * 底稿是否完好
     */
    private String isPapersIntact;

    /**
     * 底稿是否归档
     */
    private String isPapersArchive;

    /**
     * 报销外勤天数
     */
    private String opsAmount;

    /**
     * 外勤是否已经报销
     */
    private String isOpsReimbursement;

    /**
     * 已报销金额
     */
    private String reimbursementAmount;

    /**
     * 未报销金额
     */
    private String unreimbursedAmount;

    /**
     * 报销单号
     */
    private String reimbursementNum;

    /**
     * 报销日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date reimbursementDate;

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

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

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

    /**
     * 审核通过时间
     */
    private String auditDate;

    /**
     * 项目信息
     */
    private ProgramProjectListInfo programProjectListInfo;

    /**
     * 附件 - 评估报告
     */
    private List<WorkAttachmentDto> reportFileList;

    /**
     * 附件 - 评估说明
     */
    private List<WorkAttachmentDto> explainFileList;

    /**
     * 附件 - 评估明细表
     */
    private List<WorkAttachmentDto> detailFileList;

    /**
     * 附件 - 评估操作计算底稿
     */
    private List<WorkAttachmentDto> papersFileList;

    /**
     * 附件 - 其他
     */
    private List<WorkAttachmentDto> otherFileList;

    /**
     * 项目报告号
     */
    private String reportNo;
    /**
     * 审核通过时间
     */
    private Date auditDateDate;

    /**
     * 审核通过审批人id
     */
    private String auditUserId;

    /**
     * 签字评估师1
     */
    private String signatureEvaluatorFirst;

    /**
     * 签字评估师2
     */
    private String signatureEvaluatorSecond;

    private static final long serialVersionUID = 1L;
}