package com.fs.project.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fs.common.annotation.Excel;
import com.fs.core.vo.BaseVO;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;

@Data
public class ProjectVO extends BaseVO {
    /** 主键ID */
    private Long id;

    /** 公司ID */
    @Excel(name = "公司ID")
    private Long companyId;
    /**
     * 公司名字
     */
    @TableField(exist = false)
    private  String companyName;


    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 项目类型（字典ID） */
    private Long projectTypeId;
    /** 项目类型（字典ID） */
    @Excel(name = "项目类型", readConverterExp = "字=典ID")
    private Long projectTypeName;

    /** 第三方编码 */
    @Excel(name = "第三方编码")
    private String thirdPartyCode;

    /** 归属产品（字典ID，多选逗号分隔） */
    @Excel(name = "归属产品", readConverterExp = "多选逗号分隔")
    private String productIds;

    /** 项目金额 */
    @Excel(name = "项目金额")
    private BigDecimal projectAmount;

    /** 劳务费用 */
    @Excel(name = "劳务费用")
    private BigDecimal laborCost;

    /** 项目开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 项目结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 服务费点数(%) */
    @Excel(name = "服务费点数(%)")
    private BigDecimal serviceFeeRate;

    /** 结算审批（字典ID） */
    @Excel(name = "结算审批", readConverterExp = "字=典ID")
    private Long settlementApprovalId;

    /** 截止创建任务时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "截止创建任务时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date taskCreateDeadline;

    /** 创建完成任务时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建完成任务时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date taskCompleteTime;

    /** 截止结算任务时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "截止结算任务时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date settlementDeadline;
    /**
     * 启用状态0为启用，1为不启用
     */
    @Excel(name = "启用状态0为启用，1为不启用")
    private Integer status ;

    /** 删除标识(0正常 1删除) */
    private Long delFlag;

}
