|
@@ -0,0 +1,343 @@
|
|
|
|
|
+package com.sckw.transport.model.dto;
|
|
|
|
|
+
|
|
|
|
|
+import com.fasterxml.jackson.annotation.JsonFormat;
|
|
|
|
|
+import jakarta.validation.constraints.*;
|
|
|
|
|
+import lombok.Data;
|
|
|
|
|
+import org.hibernate.validator.constraints.Length;
|
|
|
|
|
+
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
|
+import java.time.LocalDate;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * @author lfdc
|
|
|
|
|
+ * @description 承运订单/托运订单-新建订单
|
|
|
|
|
+ * @date 2023-07-31 10:07:23
|
|
|
|
|
+ */
|
|
|
|
|
+@Data
|
|
|
|
|
+public class AddLogisticOrderDTO {
|
|
|
|
|
+
|
|
|
|
|
+ private List<LogisticInfo> logisticInfo;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 托运单位
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "托运单位名称不能为空")
|
|
|
|
|
+ private String consignCompany;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 托运单位id
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "托运单位id不能为空")
|
|
|
|
|
+ private String consignCompanyId;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 托运联系电话
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "托运联系电话不能为空")
|
|
|
|
|
+ private String consignContactPhone;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 托运联系人
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "托运联系人不能为空")
|
|
|
|
|
+ private String consignContacts;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 托运联系人id
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "托运联系人id不能为空")
|
|
|
|
|
+ private String consignContactsId;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 承运单位
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "承运单位不能为空")
|
|
|
|
|
+ private String acceptCompany;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 承运单位ID
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "承运单位ID不能为空")
|
|
|
|
|
+ private String acceptCompanyId;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 承运联系电话
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "承运联系电话不能为空")
|
|
|
|
|
+ private String acceptContactPhone;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 承运联系人
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "承运联系人id不能为空")
|
|
|
|
|
+ private String acceptContacts;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 承运联系人id
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "承运联系人id不能为空")
|
|
|
|
|
+ private String acceptContactsId;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 货物名称
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotNull(message = "货物名称不能为空")
|
|
|
|
|
+ private String goodsName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 货物类型
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "货物类型不能为空")
|
|
|
|
|
+ private String goodsType;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 计费方式
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotNull(message = "计费方式不能为空")
|
|
|
|
|
+ private String billingMode;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 计费方式类型
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotNull(message = "计费方式类型不能为空")
|
|
|
|
|
+ private String billingModeType;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 运价
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotNull(message = "运价不能为空")
|
|
|
|
|
+ @Digits(integer = 10, fraction = 2, message = "装货量格式错误")
|
|
|
|
|
+ @DecimalMin(value = "0.00", message = "运价最小为{value}")
|
|
|
|
|
+ private BigDecimal price;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 运价方式
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotNull(message = "运价方式不能为空")
|
|
|
|
|
+ @Min(value = 0, message = "必须大于等于{value}")
|
|
|
|
|
+ @Max(value = 10, message = "必须小于等于{value}")
|
|
|
|
|
+ private Long priceType;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 税率
|
|
|
|
|
+ */
|
|
|
|
|
+// @NotNull(message = "税率不能为空")
|
|
|
|
|
+// @Digits(integer = 10,fraction = 2,message = "税率格式错误")
|
|
|
|
|
+// @DecimalMin(value = "0.00",message = "税率最小为{value}")
|
|
|
|
|
+ private BigDecimal taxRate;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 税率单位
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotNull(message = "税率单位不能为空")
|
|
|
|
|
+ private String taxRateUnit;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 总量
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotNull(message = "总量不能为空")
|
|
|
|
|
+ @Digits(integer = 10, fraction = 2, message = "总量格式错误")
|
|
|
|
|
+ @DecimalMin(value = "0.00", message = "总量最小值为{value}")
|
|
|
|
|
+ private BigDecimal amount;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 总量单位
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "总量单位不能为空")
|
|
|
|
|
+ private String amountUnit;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 合理损耗
|
|
|
|
|
+ */
|
|
|
|
|
+ @Digits(integer = 5, fraction = 2, message = "合理损耗格式错误")
|
|
|
|
|
+ @DecimalMin(value = "0.00", message = "合理损耗最小值为{value}")
|
|
|
|
|
+ private BigDecimal loss;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 合理损耗单位
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "合理损耗单位不能为空")
|
|
|
|
|
+ private String lossUnit;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商品价值(扣亏货值)
|
|
|
|
|
+ */
|
|
|
|
|
+ @Digits(integer = 5, fraction = 2, message = "扣亏货值格式错误")
|
|
|
|
|
+ @DecimalMin(value = "0.00", message = "扣亏货值最小值为{value}")
|
|
|
|
|
+ private BigDecimal goodsPrice;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商品价值(扣亏货值)单位
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "扣亏货值不能为空")
|
|
|
|
|
+ private String goodsPriceUnit;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 计划卸货时间
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotNull(message = "计划卸货时间不能为空")
|
|
|
|
|
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
|
|
|
|
+ private LocalDate endTime;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 计划发货时间
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotNull(message = "计划发货时间不能为空")
|
|
|
|
|
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
|
|
|
|
+ private LocalDate startTime;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 结算周期(周结、月结、季结)
|
|
|
|
|
+ */
|
|
|
|
|
+ @Min(value = 0, message = "必须大于等于{value}")
|
|
|
|
|
+ @Max(value = 5, message = "必须小于等于{value}")
|
|
|
|
|
+ private Long settlementCycle;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 合同id
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotNull(message = "合同id不能为空")
|
|
|
|
|
+ private String contractId;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 合同编号
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "合同编号不能为空")
|
|
|
|
|
+ private String contractNo;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 合同名称
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "合同名称不能为空")
|
|
|
|
|
+ private String contractName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 支付方式
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotNull(message = "支付方式不能为空")
|
|
|
|
|
+ @Min(value = 0, message = "支付方式必须大于等于{value}")
|
|
|
|
|
+// @Max(value = 4, message = "支付方式必须小于等于{value}")
|
|
|
|
|
+ private Long payment;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 签约方式
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotNull(message = "签约方式不能为空")
|
|
|
|
|
+ @Min(value = 0, message = "签约方式必须大于等于{value}")
|
|
|
|
|
+ @Max(value = 10, message = "签约方式必须小于等于{value}")
|
|
|
|
|
+ private String signingWay;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 备注
|
|
|
|
|
+ */
|
|
|
|
|
+ @Length(max = 200, message = "单据编号长度错误最大长度:{max}")
|
|
|
|
|
+ private String remark;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ *装货地址id
|
|
|
|
|
+ */
|
|
|
|
|
+ private String loadId;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ *装货地址名称
|
|
|
|
|
+ */
|
|
|
|
|
+ private String loadName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 装货城市编码
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotNull(message = "装货城市编码不能为空")
|
|
|
|
|
+ @Min(value = 0, message = "装货城市编码必须大于等于{value}")
|
|
|
|
|
+ @Max(value = 1000000, message = "装货城市编码必须小于等于{value}")
|
|
|
|
|
+ private Integer loadCityCode;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 装货城市名称
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "装货城市名称不能为空")
|
|
|
|
|
+ private String loadCityName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 装货联系人
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "装货联系人不能为空")
|
|
|
|
|
+ private String loadContacts;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 装货联系电话
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "装货联系电话不能为空")
|
|
|
|
|
+ private String loadPhone;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 装货详细地址
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "装货详细地址不能为空")
|
|
|
|
|
+ private String loadDetailAddress;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 装货地址经度
|
|
|
|
|
+ */
|
|
|
|
|
+ private String loadLat;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 装货地址纬度
|
|
|
|
|
+ */
|
|
|
|
|
+ private String loadLng;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ *卸货地址id
|
|
|
|
|
+ */
|
|
|
|
|
+ private String unloadId;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ *卸货地址名称
|
|
|
|
|
+ */
|
|
|
|
|
+ private String unloadName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 卸货城市编码
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotNull(message = "卸货城市编码不能为空")
|
|
|
|
|
+ @Min(value = 0, message = "卸货城市编码必须大于等于{value}")
|
|
|
|
|
+ @Max(value = 1000000, message = "卸货城市编码必须小于等于{value}")
|
|
|
|
|
+ private Integer unloadCityCode;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 卸货城市名称
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "卸货城市名称不能为空")
|
|
|
|
|
+ private String unloadCityName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 卸货联系人
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "卸货联系人不能为空")
|
|
|
|
|
+ private String unloadContacts;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 卸货联系电话
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "卸货联系电话不能为空")
|
|
|
|
|
+ private String unloadPhone;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 卸货详细地址
|
|
|
|
|
+ */
|
|
|
|
|
+ @NotBlank(message = "卸货详细地址不能为空")
|
|
|
|
|
+ private String unloadDetailAddress;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 卸货地址经度
|
|
|
|
|
+ */
|
|
|
|
|
+ private String unloadLat;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 卸货地址纬度
|
|
|
|
|
+ */
|
|
|
|
|
+ private String unloadLng;
|
|
|
|
|
+
|
|
|
|
|
+ public static class LogisticInfo {
|
|
|
|
|
+ }
|
|
|
|
|
+}
|