package com.sckw.contract.model.report;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sckw.excel.annotation.ExcelContext;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * @desc: 物流合同列表导出对象
 * @author: czh
 * @date: 2023-07-06 9:15
 */
@Data
@Accessors(chain = true)
@ExcelContext(fileName = "贸易合同列表信息", sheetName = "贸易合同列表信息")
public class TradeListExport implements Serializable {

    @Serial
    private static final long serialVersionUID = -7804227640473193219L;

    /**
     * 合同状态中文名
     */
    @ExcelProperty(value = "合同状态")
    private String statusName;

    /**
     * 采购单位
     */
    @ExcelProperty(value = "采购单位")
    private String purchaseEntName;

    /**
     * 供应单位
     */
    @ExcelProperty(value = "供应单位")
    private String provideEntName;

    /**
     * 合同编号
     */
    @ExcelProperty(value = "合同编号")
    private String contractNo;

    /**
     * 合同名称
     */
    @ExcelProperty(value = "合同名称")
    private String contractName;

    /**
     * 父合同名
     */
    @ExcelProperty(value = "父合同名称")
    private String contractPname;

    /**
     * 签约方式中文名
     */
    @ExcelProperty(value = "签约方式")
    private String signingWayName;

    /**
     * 支付方式中文名
     */
    @ExcelProperty(value = "支付方式")
    private String tradingName;

    /**
     * 合同总量
     */
    @ExcelProperty(value = "合同总量")
    private String amount;

    /**
     * 已履约量
     */
    @ExcelProperty(value = "已履约量")
    private String performedAmount;

    /**
     * 起始日期
     */
    @ExcelProperty(value = "起始日期")
    @JsonFormat(locale="zh", pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startTime;

    /**
     * 终止日期
     */
    @ExcelProperty(value = "终止日期")
    @JsonFormat(locale="zh", pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTime;

    /**
     * 发起人
     */
    @ExcelProperty(value = "发起人")
    private String initiateName;

    /**
     * 发起单位
     */
    @ExcelProperty(value = "发起单位")
    private String initiateEntName;

    /**
     * 发起时间
     */
    @ExcelProperty(value = "发起时间")
    @JsonFormat(locale="zh", pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date initiateTime;

    /**
     * 签约时间
     */
    @ExcelProperty(value = "签约时间")
    @JsonFormat(locale="zh", pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signTime;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    @JsonFormat(locale="zh", pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

}
