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

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

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

/**
 * 物流合同（承运合同/托运合同）
 * @TableName kwc_contract_logistics
 */
@Data
public class KwcContractLogisticsDto implements Serializable {
    @Serial
    private static final long serialVersionUID = 7160755505692180593L;
    /**
     * 主键
     */

    private Long id;

    /**
     * 企业id
     */
    private Long entId;

    /**
     * 合同编号
     */
    private String contractNo;

    /**
     * 合同名称
     */
    private String name;

    /**
     * 签约方式
     */
    private Integer signingWay;

    /**
     * 计费方式（1按装货量、2按卸货量、3按车次）
     */
    private Integer charging;

    /**
     * 交易方式(1预付款、2货到付款）
     */
    private Integer trading;

    /**
     * 派车方式(1手动派车、2自动派车)
     */
    private Integer dispatchWay;
    /**
     * 开始日期
     */
    private Date startTime;

    /**
     * 结束日期
     */
    @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
    private Date endTime;

    /**
     * 数量
     */
    private BigDecimal amount;

    /**
     * 履行量
     */
    private BigDecimal performedAmount;

    /**
     * 签署文件
     */
    private String signingUrl;

    /**
     * 已签署文件
     */
    private String signedUrl;

    /**
     * 签约编号
     */
    private String signingNo;

    /**
     * 合同关联id
     */
    private Long contractPid;

    /**
     * 备注
     */
    private String remark;

    /**
     * 用户状态  0已签约 1已完结 2已保存（草稿） 3签约中
     */
    private Integer status;

    /**
     * 创建人
     */
    private Long createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 修改人
     */
    private Long updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 是否删除（0未删除，1删除）
     */
    private Integer delFlag;

    /**
     * 业务id
     */
    private String businessId;
    /**
     * 通用价格
     */
    private BigDecimal commonPrice;

    /**
     * 供应企业id
     */
    private Long supEntId;

    /**
     * 允许误差（千分比数值，如 5 表示 5‰）
     */
    private BigDecimal allowedError;

}