package com.bonus.sgzb.material.domain;

import com.bonus.sgzb.common.core.annotation.Excel;
import com.bonus.sgzb.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * @author lsun
 */
@Data
public class AgreementInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;
    private String ids;
    /**
     * 协议ID
     */
    @ApiModelProperty(value = "协议ID")
    private Long agreementId;

    /**
     * 协议编号
     */
    @Excel(name = "协议编号")
    @ApiModelProperty(value = "协议编号")
    private String agreementCode;

    /**
     * 合同
     */
    @Excel(name = "合同编号")
    @ApiModelProperty(value = "合同")
    private String contractCode;

    /**
     * 签订日期
     */
    @Excel(name = "签订日期")
    @ApiModelProperty(value = "签订日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date signTime;

    /**
     * 往来单位id
     */
    @ApiModelProperty(value = "往来单位id")
    private Long unitId;

    /**
     * 往来单位
     */
    @Excel(name = "往来单位")
    @ApiModelProperty(value = "往来单位")
    private String unitName;

    /**
     * 工程标段ID
     */
    @ApiModelProperty(value = "工程标段ID")
    private Long projectId;

    /**
     * 工程标段
     */
    @Excel(name = "工程名称")
    @ApiModelProperty(value = "工程标段")
    private String projectName;

    /**
     * 计划开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "计划开始时间")
    private Date planStartTime;

    /**
     * 租赁天数
     */
    @Excel(name = "租赁期限（天）")
    @ApiModelProperty(value = "租赁天数")
    private Long leaseDay;

    /**
     * 授权人
     */
    @Excel(name = "授权人")
    @ApiModelProperty(value = "授权人")
    private String authPerson;

    /**
     * 联系方式
     */
    @Excel(name = "联系方式")
    @ApiModelProperty(value = "联系方式")
    private String phone;

    /**
     * 数据所属组织
     */
    @ApiModelProperty(value = "数据所属组织")
    private Long companyId;

    @ApiModelProperty(value = "文件名称")
    private String fileName;

    @ApiModelProperty(value = "文件路径")
    private String fileUrl;

    @ApiModelProperty(value = "关键字")
    private String keyWord;
    @ApiModelProperty(value = "开始时间")
    private String startTime;
    @ApiModelProperty(value = "结束时间")
    private String endTime;
    @ApiModelProperty(value = "结算月份")
    private String month;

    /**
     * 备注
     */
    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 协议类型
     */
    @Excel(name = "协议类型", readConverterExp = "1=内部单位,2=外部单位")
    @ApiModelProperty(value = "协议类型(1内部单位  2外部单位)")
    private Integer protocol;
    @ApiModelProperty(value = "结算总费用")
    private BigDecimal cost;
    @ApiModelProperty(value = "费用承担方(01项目,03分包)")
    private String costBearingParty;
    private String codeNum;
    /**
     * 是否结算
     */
    private Integer isSlt;
    @ApiModelProperty(value = "结算状态")
    private Integer sltStatus;

    /**
     * 导出选中列表
     */
    @ApiModelProperty(value = "导出选中列表")
    private List<Long> dataCondition;

}
