package com.sckw.car.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * @desc: 普通货物-陆运
 * @author: lt
 * @date: 2024/3/28 9:48
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName(value = "kw_order")
public class KwCarOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    private Integer owSystem;

    /*
    订单来源
     */
    private Integer orderSource;

    /**
     * 物流订单号
     */
    private String orderNo;

    /**
     * 装卸类型
     */
    private Integer typeHandling;

    /**
     * 货物id
     */
    private String goodsId;

    /**
     * 货物名称
     */
    private String goodsName;

    /**
     * 货物类型
     */
    private Integer goodsType;

    /**
     * 货物单位
     */
    private String goodsUnit;

    /**
     * 托运企业id
     */
    private String tyCompanyId;

    /**
     * 托运企业
     */
    private String tyCompany;

    /**
     * 托运联系方式
     */
    private String tyPhone;

    /**
     * 承运企业id
     */
    private String cyCompanyId;

    /**
     * 承运企业
     */
    private String cyCompany;

    /**
     * 承运企业联系方式
     */
    private String cyPhone;

    private String fhCompanyId;
    private String fhCompany;
    private String fhPhone;

    private String shCompanyId;
    private String shCompany;
    private String shPhone;

    /**
     * 前置订单号
     */
    private String pid;

    private String pids;

    private BigDecimal amount;

    private BigDecimal entrustAmount;

    /*
    分包量（给下游承运商分包的量）
     */
    private BigDecimal subcontractAmount;

    /*
    累计装货量
     */
    private BigDecimal totalLoadAmount;

    /*
    累计卸货量
     */
    private BigDecimal totalUnloadAmount;

    private BigDecimal loadAmount;

    private BigDecimal unloadAmount;

    /*
    忽略剩余量
     */
    private BigDecimal ignoreAmount;

    /*
    单位(吨,方,箱,件)
     */
    private String unit;
    /**
     * 剩余代运量
     */
    private Double remainNum;

    private Double remainAllocation;

    /*
    结算周期结算周期(周结、月结、季结)
     */
    private Long settlementCycle;

    /*
    运价
     */
    private BigDecimal price;

    /*
    运价方式(元/吨、元/车）
     */
    private Long priceType;

    /*
    计费方式
     */
    private String billingMode;

    /*
    合理损耗单位
     */
    private BigDecimal loss;

    /*
    商品价值（扣亏货值）((实装-实卸)-合理损耗)如果为负数，则为零
     */
    private BigDecimal goodsPrice;

    /**
     * 付款方式(预付款、线下支付、第三方支付）
     */
    private Long payment;

    /**
     * 发票税率（%）
     */
    private BigDecimal taxRate;

    /**
     * 计划开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private LocalDateTime startTime;

    /**
     * 计划结束日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private LocalDateTime endTime;

    /*
    备注
     */
    private String remark;

    /**
     * 状态
     */
    private Integer status;

    /*
    租户id
     */
    private String tenantId;

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

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

    /**
     * create_time
     */
    private Date createTime;

    /**
     * update_time
     */
    private Date updateTime;

    /**
     * del_flag
     */
    private Integer delFlag;
}
