package com.sckw.contract.model.vo.res;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serial;
import java.io.Serializable;

/**
 * @author :chenXiaoFei
 * @version :1.0
 * @description : 物流合同分页查询
 * @create :2025-11-06 09:39:00
 */

@Data
public class QueryLogisticListResp implements Serializable {
    @Serial
    private static final long serialVersionUID = 6839589932636493587L;
    /**
     * 主键
     */
    @Schema(description = "主键")
    private Long id;
    /**
     * 合同状态
     */
    @Schema(description = "合同状态")
    private Integer contractStatus;
    /**
     * 合同状态描述
     */
    @Schema(description = "合同状态描述")
    private String contractStatusDesc;
    /**
     * 托运单位
     */
    @Schema(description = "托运单位")
    private String consignUnit;
    /**
     * 托运单位描述
     */
    @Schema(description = "托运单位名称")
    private String consignUnitName;
    /**
     * 承运单位
     */
    @Schema(description = "承运单位")
    private String carriageUnit;
    /**
     * 承运单位描述
     */
    @Schema(description = "承运单位名称")
    private String carriageUnitName;
    /**
     * 合同类型：1贸易运输 2原矿转运（相对当前查看企业）
     */
    @Schema(description = "合同类型：1贸易运输 2原矿转运（相对当前查看企业）")
    private Integer contractType;
    /**
     * 合同类型描述
     */
    @Schema(description = "合同类型描述")
    private String contractTypeDesc;
    /**
     * 合同编号
     */
    @Schema(description = "合同编号")
    private String contractCode;
    /**
     * 合同名称
     */
    @Schema(description = "合同名称")
    private String contractName;
    /**
     * 签约方式
     */
    @Schema(description = "签约方式")
    private Integer signWay;
    /**
     * 签约方式描述
     */
    @Schema(description = "签约方式描述")
    private String signWayDesc;
    /**
     * 派车方式
     */
    @Schema(description = "派车方式")
    private Integer dispatchWay;
    /**
     * 派车方式描述
     */
    @Schema(description = "派车方式描述")
    private String dispatchWayDesc;
    /**
     * 合同运输总量
     */
    @Schema(description = "合同运输总量")
    private String contractTransportAmount;

    /**
     * 已履约量
     */
    @Schema(description = "已履约量")
    private String performedAmount;
    /**
     * 累计运输总额
     */
    @Schema(description = "累计运输总额")
    private String totalTransportAmount;
    /**
     * 起始日期
     */
    @Schema(description = "起始日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
    private String startDate;
    /**
     * 终止日期
     */
    @Schema(description = "终止日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
    private String endDate;
    /**
     * 发起人id
     */
    @Schema(description = "发起人id")
    private Long initiatorId;
    /**
     * 发起人
     */
    @Schema(description = "发起人")
    private String initiator;
    /**
     * 发起单位
     */
    @Schema(description = "发起单位")
    private String initiatorUnit;
    /**
     * 发起时间
     */
    @Schema(description = "发起时间")
    private String initiatorTime;
    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;
}
