package com.jeeplus.finance.projectReport.domain;

import com.baomidou.mybatisplus.annotation.TableField;
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.finance.projectReport.service.dto.ProjectReportWorkAttachmentDTO;
import lombok.Data;

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

/**
 * 新增行相关数据
 * @author: 王强
 * @create: 2022-11-16 14:36
 **/
@Data
@TableName("cw_project_report_new_line")
public class CwProjectInfoData extends BaseEntity {

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

    /**
     * 报告作废标记
     */
    private String deleteSign;

    //报告文号（字典值） 基字
    public static final String BIZ_CODE = "23";

    //报告文号（字典值） 咨字
    public static final String CONSULT_BIZ_CODE = "24";

    //报告文号（字典值） 审字
    public static final String EXAMINE_BIZ_CODE = "25";

    //报告文号（字典值） 验字
    public static final String CHECK_BIZ_CODE = "26";

    //报告文号（字典值） 特字
    public static final String SPECIAL_BIZ_CODE = "27";

    /**
     * 被服务单位id
     */
    private String servedUnitId;

    /**
     * 项目报告表id
     */
    private String reportId;
    /**
     * 被服务单位
     */
    @TableField(exist = false)
    private String servedUnitName;
    /**
     * 报告日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date reportDate;
    /**
     * 报告类型
     */
    private String reportType;
    /**
     * 报告流水号
     */
    private String reportNumber;
    /**
     * 报告文号
     */
    private String reportNo;
    /**
     * 是否出具报告
     */
    private String issueReport;
    /**
     * 意见类型
     */
    private String opinionType;
    /**
     * 盖章状态
     */
    private String sealType;
    /**
     * 文件数
     */
    private String fileNumber;

    /**
     * 附件信息
     */
    @TableField(exist = false)
    List<ProjectReportWorkAttachmentDTO> cwFileInfoList;

    /**
     * 单据状态
     */
    @TableField(exist = false)
    private String documentStatus;
}
