Преглед изворни кода

Merge remote-tracking branch 'origin/dev' into dev

zk пре 2 година
родитељ
комит
01593c6ba5
59 измењених фајлова са 1478 додато и 214 уклоњено
  1. 8 2
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/StringConstant.java
  2. 1 2
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/exception/GlobalSystemExceptionHandler.java
  3. 1 2
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/base/BaseModel.java
  4. 39 13
      sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/SckwTradeOrder.java
  5. 1 1
      sckw-common/sckw-common-stream/src/main/java/com/sckw/stream/model/SckwBusSum.java
  6. 1 1
      sckw-common/sckw-common-stream/src/main/java/com/sckw/stream/model/SckwMessage.java
  7. 117 17
      sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTradeOrderController.java
  8. 5 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoTradeOrderUnit.java
  9. 53 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/AcceptanceOrderParam.java
  10. 2 2
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/AddressInfo.java
  11. 31 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/CompleteOrderParam.java
  12. 30 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ContractInfo.java
  13. 84 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/GoodsInfo.java
  14. 23 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/OrderListExportParam.java
  15. 25 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/OrderListSelectParam.java
  16. 72 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/OrderListStatisticParam.java
  17. 21 28
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/PurchaseOrderParam.java
  18. 25 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/RejectOrderParam.java
  19. 1 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/UnitInfo.java
  20. 72 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/UpdateOrderParam.java
  21. 7 7
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ValetOrderParam.java
  22. 39 10
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/OrderDetailRes.java
  23. 145 0
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/OrderListRes.java
  24. 45 6
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java
  25. 1 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/AddGoodsParam.java
  26. 1 6
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/UpdateGoodsParam.java
  27. 8 12
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java
  28. 3 3
      sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwTransportController.java
  29. 9 6
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/common/enums/LogisticsOrderEnum.java
  30. 15 3
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/AcceptCarriageOrderController.java
  31. 39 7
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/ConsignOrderController.java
  32. 45 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/TransportCommonController.java
  33. 2 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoTradeOrder.java
  34. 3 3
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrder.java
  35. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderAddress.java
  36. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderCirculate.java
  37. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderContract.java
  38. 6 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderGoods.java
  39. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderTrack.java
  40. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderUnit.java
  41. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrder.java
  42. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrderTicket.java
  43. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrderTrack.java
  44. 27 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/DocumentParamDTO.java
  45. 22 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OrderDTO.java
  46. 0 19
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OrderDto.java
  47. 38 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OrderTakingDTO.java
  48. 12 3
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/LogisticsConsignmentParam.java
  49. 3 3
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/AcceptCarriageOrderVO.java
  50. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/CarDataVO.java
  51. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/CarWaybillVO.java
  52. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/ConsignOrderVO.java
  53. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/ConsignmentVO.java
  54. 133 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/OrderDetailVO.java
  55. 80 21
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java
  56. 39 14
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java
  57. 5 5
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java
  58. 125 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/TransportCommonService.java
  59. 2 1
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderGoodsMapper.xml

+ 8 - 2
sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/StringConstant.java

@@ -1,5 +1,7 @@
 package com.sckw.core.common.enums;
 
+import java.time.format.DateTimeFormatter;
+
 /**
  * @description:    定义字符串常量
  * @author: LengFaQiang
@@ -17,12 +19,16 @@ public final class StringConstant {
     public static final String HTTPS_STRING = "https";
     public static final String B = "B";
     public static final String KB = "KB";
+
     public static final String MB = "MB";
     public static final String G = "G";
     public static final String GB = "GB";
-
+    public static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";
+    public static final String DEF_DATE_FORMAT = "yyyy-MM-dd";
+    public static final DateTimeFormatter YYYY_MM_DD_HH_MM_SS = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+    public static final DateTimeFormatter YYYY_MM_DD = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+    public static final DateTimeFormatter HH_MM_SS = DateTimeFormatter.ofPattern("HH:mm:ss");
     public static final String DATE_YYYYMMDD = "yyyyMMdd";
-
     public static final String ENCODING_UTF_EIGHT = "UTF-8";
     public static final String ENCODING_UTF_SIXTEEN = "UTF-16";
     public static final String ENCODING_GBK = "GBK";

+ 1 - 2
sckw-common/sckw-common-core/src/main/java/com/sckw/core/exception/GlobalSystemExceptionHandler.java

@@ -14,7 +14,6 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestControllerAdvice;
 
 import java.util.List;
-import java.util.Objects;
 import java.util.Set;
 
 @Slf4j
@@ -77,7 +76,7 @@ public class GlobalSystemExceptionHandler {
             }
         }
         String errMsg = sb.toString();
-        log.info("参数校验异常m:{}", errMsg);
+        log.info("参数校验异常:{}", errMsg);
         return HttpResult.error(HttpStatus.PARAMETERS_PATTERN_ERROR_CODE, errMsg);
     }
 

+ 1 - 2
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/base/BaseModel.java

@@ -1,6 +1,5 @@
 package com.sckw.core.model.base;
 
-import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.experimental.Accessors;
@@ -32,7 +31,7 @@ public class BaseModel implements Serializable {
 	/**
 	 * 状态:0正常/1锁定
 	 */
-	private Integer status = 0;
+	private Integer status;
 
 	/**
 	 * 创建人

+ 39 - 13
sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/SckwTradeOrder.java

@@ -60,17 +60,17 @@ public class SckwTradeOrder{
     /**
      * 订单交易方式(预付款、货到付款)
      */
-    private Long trading;
+    private String trading;
 
     /**
      * 订单提货方式(采方自提、供应配送)
      */
-    private Long pickupType;
+    private String pickupType;
 
     /**
      * 订单交付类型(签发交付、签收交付)
      */
-    private Long deliveryType;
+    private String deliveryType;
 
     /**
      * 订单开始日期
@@ -95,7 +95,7 @@ public class SckwTradeOrder{
     /**
      * 订单创建来源类型(采购下单/销售代客下单)
      */
-    private Integer source;
+    private String source;
 
     /**
      * 状态
@@ -135,12 +135,8 @@ public class SckwTradeOrder{
     /**
      * 商品类型
      */
-    private Long goodsType;
+    private String goodsType;
 
-    /**
-     * 商品行业
-     */
-    private Long goodsIndustry;
 
     /**
      * 商品尺寸大小
@@ -160,7 +156,7 @@ public class SckwTradeOrder{
     /**
      * 合同主键
      */
-    private Integer contractId;
+    private Long contractId;
 
     /**
      * 合同编号
@@ -217,10 +213,25 @@ public class SckwTradeOrder{
      */
     private String supplyPhone;
 
+    /**
+     * 装货地址名称
+     */
+    private String loadName;
+
     /**
      * 装货地址类型
      */
-    private Long loadType;
+    private String loadType;
+
+    /**
+     * 装货联系人姓名
+     */
+    private String loadContacts;
+
+    /**
+     * 装货联系电话
+     */
+    private String loadPhone;
 
     /**
      * 装货所在地区
@@ -248,9 +259,24 @@ public class SckwTradeOrder{
     private String loadLng;
 
     /**
-     * 卸货地址类型
+     * 装货地址名称
+     */
+    private String unloadName;
+
+    /**
+     * 装货地址类型
+     */
+    private String unloadType;
+
+    /**
+     * 装货联系人姓名
+     */
+    private String unloadContacts;
+
+    /**
+     * 装货联系电话
      */
-    private Long unloadType;
+    private String unloadPhone;
 
     /**
      * 卸货所在地区

+ 1 - 1
sckw-common/sckw-common-stream/src/main/java/com/sckw/stream/model/SckwBusSum.java

@@ -22,7 +22,7 @@ public class SckwBusSum {
     /**
      * 操作对象(1新增/2修改)
      */
-    private int method;
+    private Integer method;
 
     /**
      * 业务汇总数据对象

+ 1 - 1
sckw-common/sckw-common-stream/src/main/java/com/sckw/stream/model/SckwMessage.java

@@ -60,7 +60,7 @@ public class SckwMessage {
     /**
      * 移动端推送
      */
-    private boolean appPush;
+    private Boolean appPush;
 
     /**
      * 推送设备id

+ 117 - 17
sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTradeOrderController.java

@@ -1,15 +1,15 @@
 package com.sckw.order.controller;
 
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.order.model.vo.req.PurchaseOrderParam;
-import com.sckw.order.model.vo.req.UpdateOrderParam;
-import com.sckw.order.model.vo.req.ValetOrderParam;
+import com.sckw.order.model.vo.req.*;
 import com.sckw.order.serivce.KwoTradeOrderService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.http.MediaType;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 /**
  * @desc: 贸易订单相关
  * @author: yzc
@@ -36,30 +36,29 @@ public class KwoTradeOrderController {
     }
 
     /**
-     * @desc: 代客下单草稿
+     * @desc: 采购下单提交
      * @author: yzc
      * @date: 2023-07-07 15:29
-     * @Param valetOrderParam:
+     * @Param purchaseOrderParam:
      * @return: com.sckw.core.web.response.HttpResult
      */
-    @PostMapping(value = "/addValetOrderDraft", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult addValetOrderDraft(@RequestBody ValetOrderParam valetOrderParam) {
-        kwoTradeOrderService.addValetOrderDraft(valetOrderParam);
-        return HttpResult.ok("代客下单草稿保存成功");
+    @PostMapping(value = "/addPurchaseOrderSubmit", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult addPurchaseOrderSubmit(@RequestBody @Validated PurchaseOrderParam purchaseOrderParam) {
+        kwoTradeOrderService.addPurchaseOrderSubmit(purchaseOrderParam);
+        return HttpResult.ok("采购下单提交成功");
     }
 
-
     /**
-     * @desc: 采购下单提交
+     * @desc: 代客下单草稿
      * @author: yzc
      * @date: 2023-07-07 15:29
-     * @Param purchaseOrderParam:
+     * @Param valetOrderParam:
      * @return: com.sckw.core.web.response.HttpResult
      */
-    @PostMapping(value = "/addPurchaseOrderSubmit", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult addPurchaseOrderSubmit(@RequestBody @Validated PurchaseOrderParam purchaseOrderParam) {
-        kwoTradeOrderService.addPurchaseOrderSubmit(purchaseOrderParam);
-        return HttpResult.ok("采购下单提交成功");
+    @PostMapping(value = "/addValetOrderDraft", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult addValetOrderDraft(@RequestBody ValetOrderParam valetOrderParam) {
+        kwoTradeOrderService.addValetOrderDraft(valetOrderParam);
+        return HttpResult.ok("代客下单草稿保存成功");
     }
 
 
@@ -98,7 +97,108 @@ public class KwoTradeOrderController {
     @PostMapping(value = "/update", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult update(@RequestBody @Validated UpdateOrderParam updateOrderParam) {
         kwoTradeOrderService.update(updateOrderParam);
-        return HttpResult.ok("修改成功");
+        return HttpResult.ok("订单修改成功");
+    }
+
+    /**
+     * @desc: 订单受理
+     * @author: yzc
+     * @date: 2023-07-12 11:16
+     * @Param acceptanceOrderParam:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @PostMapping(value = "/acceptanceOrder", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult acceptanceOrder(@RequestBody @Validated AcceptanceOrderParam acceptanceOrderParam) {
+        kwoTradeOrderService.acceptanceOrder(acceptanceOrderParam);
+        return HttpResult.ok("订单受理成功");
+    }
+
+    /**
+     * @desc: 驳回订单
+     * @author: yzc
+     * @date: 2023-07-12 11:22
+     * @Param rejectOrderParam:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @PostMapping(value = "/rejectOrder", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult rejectOrder(@RequestBody @Validated RejectOrderParam rejectOrderParam) {
+        kwoTradeOrderService.rejectOrder(rejectOrderParam);
+        return HttpResult.ok("订单驳回成功");
+    }
+
+    /**
+     * @desc: 驳回订单原因查询
+     * @author: yzc
+     * @date: 2023-07-12 11:22
+     * @Param id:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @GetMapping("/rejectReason")
+    public HttpResult rejectReason(@RequestParam Long id) {
+        return HttpResult.ok(kwoTradeOrderService.rejectReason(id));
+    }
+
+    /**
+     * @desc: 完结订单
+     * @author: yzc
+     * @date: 2023-07-12 17:29
+     * @Param completeOrderParam:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @PostMapping(value = "/completeOrder", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult completeOrder(@RequestBody @Validated CompleteOrderParam completeOrderParam) {
+        kwoTradeOrderService.completeOrder(completeOrderParam);
+        return HttpResult.ok("订单完结成功");
+    }
+
+    /**
+     * @desc: 分页查询
+     * @author: yzc
+     * @date: 2023-07-12 17:31
+     * @Param completeOrderParam:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @PostMapping(value = "/select", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult select(@RequestBody @Validated OrderListSelectParam orderListSelectParam) {
+        return HttpResult.ok(kwoTradeOrderService.select(orderListSelectParam));
+    }
+
+    /**
+     * @desc: 订单统计
+     * @author: yzc
+     * @date: 2023-07-12 17:31
+     * @Param completeOrderParam:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @PostMapping(value = "/statistic", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult statistic(@RequestBody @Validated OrderListStatisticParam orderListStatisticParam) {
+        return HttpResult.ok(kwoTradeOrderService.statistic(orderListStatisticParam));
+    }
+
+    /**
+     * @desc: 订单列表导出
+     * @author: yzc
+     * @date: 2023-07-12 17:32
+     * @Param completeOrderParam:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @PostMapping(value = "/export", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult export(@RequestBody @Validated CompleteOrderParam completeOrderParam) {
+        kwoTradeOrderService.export(completeOrderParam);
+        return HttpResult.ok("订单完结成功");
+    }
+
+    /**
+     * @desc: 批量删除
+     * @author: yzc
+     * @date: 2023-07-12 17:34
+     * @Param ids:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @GetMapping("/batchDelete")
+    public HttpResult batchDelete(@RequestParam List<Long> ids) {
+        kwoTradeOrderService.batchDelete(ids);
+        return HttpResult.ok("订单批量删除成功");
     }
 
 }

+ 5 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/KwoTradeOrderUnit.java

@@ -39,6 +39,11 @@ public class KwoTradeOrderUnit extends BaseModel {
      */
     private Long entId;
 
+    /**
+     * 顶级企业ID
+     */
+    private Long topEntId;
+
     /**
      * 企业名称
      */

+ 53 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/AcceptanceOrderParam.java

@@ -0,0 +1,53 @@
+package com.sckw.order.model.vo.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+/**
+ * @desc: 受理订单请求参数
+ * @author: yzc
+ * @date: 2023-07-12 11:08
+ */
+@Getter
+@Setter
+@ToString
+public class AcceptanceOrderParam {
+
+    @NotNull(message = "订单id不能为空")
+    private Long id;
+
+    @NotNull(message = "订单总量不能为空")
+    private BigDecimal amount;
+
+    @NotNull(message = "订单成交单价不能为空")
+    private BigDecimal unitPrice;
+
+    @NotNull(message = "订单金额不能为空")
+    private BigDecimal price;
+
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @NotNull(message = "开始时间不能为空")
+    private LocalDate startTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @NotNull(message = "结束时间不能为空")
+    private LocalDate endTime;
+
+    @NotNull(message = "提货方式不能为空")
+    private String pickupType;
+
+    @NotBlank(message = "交付类型不能为空")
+    private String deliveryType;
+
+    @NotNull(message = "合同信息不能为空")
+    @Valid
+    private ContractInfo contractInfo;
+}

+ 2 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/AddressInfo.java

@@ -20,7 +20,7 @@ public class AddressInfo {
      * 地址类型(1装货地址、2卸货地址)
      */
     @NotNull(message = "地址类型不能为空")
-    private Integer addressType;
+    private String addressType;
 
     /**
      * 地址名称
@@ -32,7 +32,7 @@ public class AddressInfo {
      * 地址类型
      */
     @NotNull(message = "地址类型不能为空")
-    private Long type;
+    private String type;
 
     /**
      * 联系人姓名

+ 31 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/CompleteOrderParam.java

@@ -0,0 +1,31 @@
+package com.sckw.order.model.vo.req;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import org.hibernate.validator.constraints.Length;
+
+import java.math.BigDecimal;
+
+/**
+ * @desc: 订单完结请求参数
+ * @author: yzc
+ * @date: 2023-07-12 17:26
+ */
+@Getter
+@Setter
+@ToString
+public class CompleteOrderParam {
+
+    @NotNull(message = "订单id不能为为空")
+    private Long id;
+
+    @NotBlank(message = "实际交付量不能为空")
+    private BigDecimal actualAmount;
+
+    @Length(min = 1, max = 200, message = "驳回原因不能为空且最多200字")
+    private String remark;
+
+}

+ 30 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ContractInfo.java

@@ -0,0 +1,30 @@
+package com.sckw.order.model.vo.req;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+/**
+ * @desc: 合同信息
+ * @author: yzc
+ * @date: 2023-07-12 11:00
+ */
+@Getter
+@Setter
+@ToString
+public class ContractInfo {
+
+    @NotNull(message = "合同id不能为空")
+    private Long contractId;
+
+    @NotBlank(message = "合同编号不能为空")
+    private String contractNo;
+
+    @NotBlank(message = "合同名称不能为空")
+    private String contractName;
+
+    @NotBlank(message = "合同签约方式不能为空")
+    private String contractSigningWay;
+}

+ 84 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/GoodsInfo.java

@@ -0,0 +1,84 @@
+package com.sckw.order.model.vo.req;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.math.BigDecimal;
+
+/**
+ * @desc: 商品信息
+ * @author: yzc
+ * @date: 2023-07-12 10:17
+ */
+@Getter
+@Setter
+@ToString
+public class GoodsInfo {
+    /**
+     * 商品id
+     */
+    @NotNull(message = "商品id不能为空")
+    private Long goodsId;
+
+    /**
+     * 商品编号
+     */
+    @NotBlank(message = "商品编号不能为空")
+    private String goodsCode;
+
+    /**
+     * 商品名称
+     */
+    @NotBlank(message = "商品名称不能为空")
+    private String goodsName;
+
+    /**
+     * 商品类型
+     */
+    @NotBlank(message = "商品类型不能为空")
+    private String goodsType;
+
+    /**
+     * 商品发票税率(%)
+     */
+    @NotNull(message = "商品发票税率不能为空")
+    private BigDecimal goodsTaxRate;
+
+    /**
+     * 单位(吨、方、箱、件)
+     */
+    @NotBlank(message = "商品单位不能为空")
+    private String unit;
+    /**
+     * 价格段id
+     */
+    @NotNull(message = "价格段id不能为空")
+    private Long priceRangeId;
+
+    /**
+     * 订单成交单价
+     */
+    @NotNull(message = "订单成交单价不能为空")
+    private BigDecimal unitPrice;
+
+    /**
+     * 商品skuId
+     */
+    private Long skuId;
+
+    /**
+     * 收款单位id
+     */
+    @NotNull(message = "收款单位id不能为空")
+    private Long collectionUnitId;
+
+    /**
+     * 收款单位名称
+     */
+    @NotBlank(message = "收款单位名称不能为空")
+    private String collectionUnit;
+
+}

+ 23 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/OrderListExportParam.java

@@ -0,0 +1,23 @@
+package com.sckw.order.model.vo.req;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.List;
+
+/**
+ * @desc: 订单列表导出请求参数
+ * @author: yzc
+ * @date: 2023-07-12 17:41
+ */
+@Getter
+@Setter
+@ToString
+public class OrderListExportParam extends OrderListStatisticParam {
+
+    /**
+     * 订单id集合
+     */
+    private List<Long> ids;
+}

+ 25 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/OrderListSelectParam.java

@@ -0,0 +1,25 @@
+package com.sckw.order.model.vo.req;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+/**
+ * @desc: 订单列表分页请求参数
+ * @author: yzc
+ * @date: 2023-07-12 17:38
+ */
+@Getter
+@Setter
+@ToString
+public class OrderListSelectParam extends OrderListStatisticParam {
+
+    /**
+     * 当前页码
+     */
+    private int page = 1;
+    /**
+     * 每页数量
+     */
+    private int pageSize = 10;
+}

+ 72 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/OrderListStatisticParam.java

@@ -0,0 +1,72 @@
+package com.sckw.order.model.vo.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @desc: 订单列表统计请求参数
+ * @author: yzc
+ * @date: 2023-07-12 17:37
+ */
+@Getter
+@Setter
+@ToString
+public class OrderListStatisticParam {
+
+    /**
+     * 订单类型(1销售订单、2采购订单)
+     */
+    private Integer orderType;
+
+    /**
+     * 订单编号、单位、商品名称(模糊匹配共用)
+     */
+    private String keywords;
+    /**
+     * 创建时间开始(yyyy-MM-dd)
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date startCreateTime;
+
+    /**
+     * 创建时间结束(yyyy-MM-dd)
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date endCreateTime;
+
+    /**
+     * 装货地址id集合
+     */
+    private List<Long> shippingAddressIds;
+
+    /**
+     * 装货地址id集合
+     */
+    private List<Long> unloadingAddressIds;
+
+    /**
+     * 交易方式(预付款、货到付款)集合
+     */
+    private List<String> tradings;
+
+    /**
+     * 提货方式(采方自提、供应配送)集合
+     */
+    private List<String> pickupTypes;
+
+    /**
+     * 交付类型(签发交付、签收交付)集合
+     */
+    private List<String> deliveryTypes;
+
+    /**
+     * 下单方式(0自主下单/1代客下单)集合
+     */
+    private List<String> sources;
+
+}

+ 21 - 28
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/PurchaseOrderParam.java

@@ -9,6 +9,7 @@ import jakarta.validation.constraints.Size;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
+import org.hibernate.validator.constraints.Length;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
@@ -25,51 +26,35 @@ import java.util.List;
 public class PurchaseOrderParam {
 
     /**
-     * 商品id
+     * 商品信息
      */
-    @NotNull(message = "商品id不能为空")
-    private Long goodsId;
-    /**
-     * 单位(吨、方、箱、件)
-     */
-    @NotBlank(message = "单位不能为空")
-    private String unit;
-    /**
-     * 价格段id
-     */
-    @NotNull(message = "价格段id不能为空")
-    private Long priceRangeId;
-    /**
-     * 商品skuId
-     */
-    private Long skuId;
+    @Valid
+    @NotNull(message = "商品信息不能为空")
+    private GoodsInfo goodsInfo;
+
     /**
      * 订单总量
      */
     @NotNull(message = "订单总量不能为空")
     private BigDecimal amount;
     /**
-     * 商品单价
+     * 订单金额
      */
-    @NotNull(message = "商品单价不能为空")
+    @NotNull(message = "订单金额不能为空")
     private BigDecimal price;
-    /**
-     * 交易方式(预付款、货到付款)
-     */
-    @NotNull(message = "交易方式不能为空")
-    private Long trading;
+
     /**
      * 单位信息
      */
     @NotEmpty(message = "单位信息不能为空")
-    @Size(min = 2,max = 2,message = "单位信息只能有两条")
+    @Size(min = 2, max = 2, message = "单位信息只能有两条")
     @Valid
     private List<UnitInfo> unitInfo;
     /**
      * 地址信息
      */
     @NotEmpty(message = "地址信息不能为空")
-    @Size(min = 2,max = 2,message = "地址信息只能有两条")
+    @Size(min = 2, max = 2, message = "地址信息只能有两条")
     @Valid
     private List<AddressInfo> addressInfo;
     /**
@@ -87,10 +72,18 @@ public class PurchaseOrderParam {
     /**
      * 提货方式(采方自提、供应配送)
      */
-    @NotNull(message = "提货方式不能为空")
-    private Long pickupType;
+    @NotBlank(message = "提货方式不能为空")
+    private String pickupType;
+
+    /**
+     * 交易方式(预付款、货到付款)
+     */
+    @NotNull(message = "交易方式不能为空")
+    private String trading;
     /**
      * 备注
      */
+    @Length(max = 200, message = "备注最多支持200字")
     private String remark;
+
 }

+ 25 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/RejectOrderParam.java

@@ -0,0 +1,25 @@
+package com.sckw.order.model.vo.req;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import org.hibernate.validator.constraints.Length;
+
+/**
+ * @desc: 订单驳回参数
+ * @author: yzc
+ * @date: 2023-07-12 11:18
+ */
+@Getter
+@Setter
+@ToString
+public class RejectOrderParam {
+
+    @NotNull(message = "订单id不能为为空")
+    private Long id;
+
+    @Length(min = 1, max = 200, message = "驳回原因不能为空且最多200字")
+    private String remark;
+
+}

+ 1 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/UnitInfo.java

@@ -20,7 +20,7 @@ public class UnitInfo {
      * 单位类型(1销售单位、2采购单位)
      */
     @NotNull(message = "单位类型不能为空")
-    private Integer unitType;
+    private String unitType;
 
     /**
      * 企业id

+ 72 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/UpdateOrderParam.java

@@ -1,8 +1,16 @@
 package com.sckw.order.model.vo.req;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
+import org.hibernate.validator.constraints.Length;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.List;
 
 /**
  * @desc: 修改订单请求参数
@@ -14,5 +22,69 @@ import lombok.ToString;
 @ToString
 public class UpdateOrderParam {
 
+    @NotNull(message = "订单id不能为空")
+    private Long id;
+
+    /**
+     * 操作类型0保存、1提交
+     */
+    @NotNull(message = "操作类型不能为空")
+    private Integer operateType;
+
+    /**
+     * 商品信息
+     */
+    private GoodsInfo goodsInfo;
+
+    /**
+     * 订单总量
+     */
+    private BigDecimal amount;
+    /**
+     * 订单金额
+     */
+    private BigDecimal price;
+
+    /**
+     * 交易方式(预付款、货到付款)
+     */
+    private String trading;
+
+    /**
+     * 提货方式(采方自提、供应配送)
+     */
+    private String pickupType;
+
+    /**
+     * 交付类型(签发交付、签收交付)
+     */
+    private String deliveryType;
+
+    /**
+     * 单位信息
+     */
+    @Size(max = 2, message = "单位信息只能有两条")
+    private List<UnitInfo> unitInfo;
+    /**
+     * 地址信息
+     */
+    @Size(max = 2, message = "地址信息只能有两条")
+    private List<AddressInfo> addressInfo;
+    /**
+     * 开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate startTime;
+    /**
+     * 结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate endTime;
+
+    /**
+     * 备注
+     */
+    @Length(max = 200, message = "备注最多支持200字")
+    private String remark;
 
 }

+ 7 - 7
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ValetOrderParam.java

@@ -1,5 +1,7 @@
 package com.sckw.order.model.vo.req;
 
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.Getter;
 import lombok.Setter;
@@ -15,13 +17,11 @@ import lombok.ToString;
 @ToString
 public class ValetOrderParam extends PurchaseOrderParam {
 
-    @NotNull(message = "交付类型不能为空")
-    private Long deliveryType;
+    @NotBlank(message = "交付类型不能为空")
+    private String deliveryType;
 
-    @NotNull(message = "合同id不能为空")
-    private Long contractId;
-
-    @NotNull(message = "合同编号不能为空")
-    private String contractNo;
+    @NotNull(message = "合同信息不能为空")
+    @Valid
+    private ContractInfo contractInfo;
 
 }

+ 39 - 10
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/OrderDetail.java → sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/OrderDetailRes.java

@@ -1,5 +1,10 @@
 package com.sckw.order.model.vo.res;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.order.model.vo.req.AddressInfo;
+import com.sckw.order.model.vo.req.ContractInfo;
+import com.sckw.order.model.vo.req.GoodsInfo;
+import com.sckw.order.model.vo.req.UnitInfo;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
@@ -7,9 +12,10 @@ import lombok.experimental.Accessors;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.util.List;
 
 /**
- * @desc: 订单详情
+ * @desc: 订单详情响应参数
  * @author: yzc
  * @date: 2023-07-07 15:35
  */
@@ -17,7 +23,7 @@ import java.time.LocalDate;
 @Setter
 @ToString
 @Accessors(chain = true)
-public class OrderDetail {
+public class OrderDetailRes {
 
     /**
      * 订单id
@@ -35,38 +41,55 @@ public class OrderDetail {
     private BigDecimal amount;
 
     /**
-     * 单位(吨、方、件、箱、其他)
+     * 订单金额
      */
-    private String unit;
+    private BigDecimal price;
 
     /**
-     * 价格
+     * 商品信息
      */
-    private BigDecimal price;
+    private GoodsInfo goodsInfo;
+
+    /**
+     * 单位信息
+     */
+    private List<UnitInfo> unitInfo;
+
+    /**
+     * 地址信息
+     */
+    private List<AddressInfo> addressInfo;
+
+    /**
+     * 合同信息
+     */
+    private ContractInfo contractInfo;
 
     /**
      * 交易方式(预付款、货到付款)
      */
-    private Long trading;
+    private String trading;
 
     /**
      * 提货方式(采方自提、供应配送)
      */
-    private Long pickupType;
+    private String pickupType;
 
     /**
      * 交付类型(签发交付、签收交付)
      */
-    private Long deliveryType;
+    private String deliveryType;
 
     /**
      * 开始日期
      */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private LocalDate startTime;
 
     /**
      * 结束日期
      */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private LocalDate endTime;
 
     /**
@@ -82,6 +105,12 @@ public class OrderDetail {
     /**
      * 订单创建来源类型(采购下单/销售代客下单)
      */
-    private Integer source;
+    private String source;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
 
 }

+ 145 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/OrderListRes.java

@@ -0,0 +1,145 @@
+package com.sckw.order.model.vo.res;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+
+/**
+ * @desc: 订单列表响应参数
+ * @author: yzc
+ * @date: 2023-07-12 17:45
+ */
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class OrderListRes {
+
+    /**
+     * 订单id
+     */
+    private Long id;
+    /**
+     * 订单状态
+     */
+    private String status;
+    /**
+     * 订单编号
+     */
+    private String tOrderNo;
+    /**
+     * 采购单位
+     */
+    private String purchaseUnit;
+    /**
+     * 销售单位
+     */
+    private String saleUnit;
+    /**
+     * 交付类型(签发交付、签收交付)
+     */
+    private String deliveryType;
+    /**
+     * 提货方式(采方自提、供应配送)
+     */
+    private String pickupType;
+    /**
+     * 托运状态
+     */
+    private String consignmentStatus;
+    /**
+     * 下单方式(自主下单/代客下单)
+     */
+    private String source;
+    /**
+     * 交易方式(预付款、货到付款)
+     */
+    private String trading;
+    /**
+     * 合同id
+     */
+    private Long contractId;
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+    /**
+     * 合同编号
+     */
+    private String contractName;
+    /**
+     * 签约方式(线上签约、线下签约)
+     */
+    private String signingWay;
+    /**
+     * 商品id
+     */
+    private Long goodsId;
+    /**
+     * 商品名称
+     */
+    private String goodsName;
+    /**
+     * 单位(吨、方、箱、件)
+     */
+    private String unit;
+    /**
+     * 订单成交单价
+     */
+    private BigDecimal unitPrice;
+    /**
+     * 订单金额
+     */
+    private BigDecimal price;
+    /**
+     * 订单总量
+     */
+    private BigDecimal orderAmount;
+    /**
+     * 订单总量
+     */
+    private BigDecimal amount;
+    /**
+     * 已委托量
+     */
+    private BigDecimal entrustAmount;
+    /**
+     * 实际交付量
+     */
+    private BigDecimal actualAmount;
+    /**
+     * 归属项目
+     */
+    private String beLongingProject;
+    /**
+     * 装货地点
+     */
+    private String loadingPlace;
+    /**
+     * 卸货地点
+     */
+    private String unloadingPlace;
+    /**
+     * 计划开始时间
+     */
+    private String startTime;
+    /**
+     * 计划结束时间
+     */
+    private String endTime;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 创建人
+     */
+    private String creatByName;
+    /**
+     * 创建时间
+     */
+    private String createTime;
+}

+ 45 - 6
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -1,14 +1,18 @@
 package com.sckw.order.serivce;
 
+import com.sckw.core.model.vo.TableStatisticRes;
 import com.sckw.order.dao.KwoTradeOrderMapper;
-import com.sckw.order.model.vo.req.PurchaseOrderParam;
-import com.sckw.order.model.vo.req.UpdateOrderParam;
-import com.sckw.order.model.vo.req.ValetOrderParam;
-import com.sckw.order.model.vo.res.OrderDetail;
+import com.sckw.order.model.vo.req.*;
+import com.sckw.order.model.vo.res.OrderDetailRes;
+import com.sckw.order.model.vo.res.OrderListRes;
+import com.sckw.stream.model.SckwBusSum;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.cloud.stream.function.StreamBridge;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @desc: 交易订单(采购订单/销售订单)service
  * @author: yzc
@@ -20,6 +24,7 @@ import org.springframework.stereotype.Service;
 public class KwoTradeOrderService {
 
     private final KwoTradeOrderMapper kwoTradeOrderMapper;
+    private final StreamBridge streamBridge;
 
     /**
      * @desc: 采购下单草稿
@@ -29,7 +34,7 @@ public class KwoTradeOrderService {
      * @return: void
      */
     public void addPurchaseOrderDraft(PurchaseOrderParam purchaseOrderParam) {
-
+        SckwBusSum sckwBusSum = new SckwBusSum();
     }
 
     /**
@@ -72,7 +77,7 @@ public class KwoTradeOrderService {
      * @Param id:
      * @return: com.sckw.order.model.vo.res.OrderDetail
      */
-    public OrderDetail detail(Long id) {
+    public OrderDetailRes detail(Long id) {
         return null;
     }
 
@@ -86,4 +91,38 @@ public class KwoTradeOrderService {
     public void update(UpdateOrderParam updateOrderParam) {
 
     }
+
+    public void acceptanceOrder(AcceptanceOrderParam acceptanceOrderParam) {
+
+    }
+
+    public void rejectOrder(RejectOrderParam rejectOrderParam) {
+
+    }
+
+    public String rejectReason(Long id) {
+        return null;
+    }
+
+    public void completeOrder(CompleteOrderParam completeOrderParam) {
+
+    }
+
+
+    public List<OrderListRes> select(OrderListSelectParam orderListSelectParam) {
+        return null;
+    }
+
+    public TableStatisticRes statistic(OrderListStatisticParam orderListStatisticParam) {
+        return null;
+    }
+
+
+    public void export(CompleteOrderParam completeOrderParam) {
+
+    }
+
+    public void batchDelete(List<Long> ids) {
+
+    }
 }

+ 1 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/AddGoodsParam.java

@@ -105,7 +105,7 @@ public class AddGoodsParam {
     /**
      * 备注
      */
-    @Length(max = 100, message = "备注最多支持100字")
+    @Length(max = 200, message = "备注最多支持200字")
     private String remark;
 
     /**

+ 1 - 6
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/UpdateGoodsParam.java

@@ -26,11 +26,6 @@ public class UpdateGoodsParam {
     @NotNull(message = "商品id不能为空")
     private Long id;
 
-    /**
-     * 商品状态
-     */
-    @NotNull(message = "商品状态不能为空")
-    private Integer status;
     /**
      * 商品名称
      */
@@ -101,7 +96,7 @@ public class UpdateGoodsParam {
     /**
      * 备注
      */
-    @Length(max = 100, message = "备注最多支持100字")
+    @Length(max = 200, message = "备注最多支持200字")
     private String remark;
 
     /**

+ 8 - 12
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -14,6 +14,7 @@ import com.sckw.core.model.vo.TableStatisticRes;
 import com.sckw.core.model.vo.TableTop;
 import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.utils.NumberUtils;
 import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.excel.utils.DateUtil;
@@ -94,7 +95,7 @@ public class KwpGoodsService {
         KwpGoods goods = BeanUtils.copyProperties(addGoodsParam, KwpGoods.class);
         Integer cityCode = addGoodsParam.getAddressInfo().getCityCode();
         SysAreaCacheResDto area = remoteSystemService.queryAreaCacheById(cityCode);
-        goods.setProvinceCode(area.getProvinceCode()).setEntId(entId)
+        goods.setCode(NumberUtils.createRandomVcode()).setProvinceCode(area.getProvinceCode()).setEntId(entId)
                 .setAddedTime(new Date()).setStatus(GoodsStatusEnum.PUT_ON_SHELVES.getCode());
         kwpGoodsMapper.insert(goods);
         addGoodsOtherInfo(goods.getId(), addGoodsParam);
@@ -201,20 +202,15 @@ public class KwpGoodsService {
      */
     @Transactional(rollbackFor = Exception.class)
     public void update(UpdateGoodsParam param) {
-        if (Objects.equals(param.getStatus(), GoodsStatusEnum.PUT_ON_SHELVES.getCode())) {
-            judgeParameters(param);
-        }
-        KwpGoods kwpGoods = getGoodsById(param.getId());
-        if (Objects.isNull(kwpGoods)) {
+        KwpGoods goods = getGoodsById(param.getId());
+        if (Objects.isNull(goods)) {
             throw new BusinessException("当前商品不存在!");
         }
-        if (Objects.equals(kwpGoods.getStatus(), GoodsStatusEnum.PUT_ON_SHELVES.getCode())) {
-            throw new BusinessException("当前商品为上架状态,不可修改!");
-        }
-        KwpGoods goods = BeanUtils.copyProperties(param, KwpGoods.class);
-        if (Objects.equals(param.getStatus(), GoodsStatusEnum.PUT_ON_SHELVES.getCode())) {
-            goods.setAddedTime(new Date());
+        if (Objects.equals(goods.getStatus(), GoodsStatusEnum.PUT_ON_SHELVES.getCode())
+                || Objects.equals(goods.getStatus(), GoodsStatusEnum.TAKE_OFF_SHELVES.getCode())) {
+            judgeParameters(param);
         }
+        BeanUtils.copyProperties(param, goods);
         if (Objects.nonNull(param.getAddressInfo())) {
             Integer cityCode = param.getAddressInfo().getCityCode();
             SysAreaCacheResDto area = remoteSystemService.queryAreaCacheById(cityCode);

+ 3 - 3
sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwTransportController.java

@@ -39,7 +39,7 @@ public class KwTransportController {
      * @param query 查询参数
      * @return
      */
-    @RequestMapping(value = "/list", method = RequestMethod.GET)
+    @RequestMapping(value = "/selectList", method = RequestMethod.POST)
     public HttpResult acceptCarriageOrderList(@Validated @RequestBody ConsignOrderQuery query) {
         HttpResult httpResult = new HttpResult();
         try {
@@ -57,7 +57,7 @@ public class KwTransportController {
      * @param query
      * @return
      */
-    @RequestMapping(value = "/statistics", method = RequestMethod.GET)
+    @RequestMapping(value = "/statistics", method = RequestMethod.POST)
     public HttpResult statistics(@Validated @RequestBody ConsignOrderQuery query) {
         try {
             return transportService.statistics(query);
@@ -73,7 +73,7 @@ public class KwTransportController {
      * @param query 查询参数
      * @return
      */
-    @RequestMapping(value = "/export", method = RequestMethod.GET)
+    @RequestMapping(value = "/export", method = RequestMethod.POST)
     public HttpResult export(@Validated @RequestBody ConsignOrderQuery query) {
         HttpServletResponse response = RequestHolder.getResponse();
         List<ConsignOrderVo> list = transportService.export(query);

+ 9 - 6
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/common/enums/LogisticsOrderEnum.java

@@ -6,14 +6,17 @@ package com.sckw.transport.common.enums;
  * @date 2023-07-07 14:07:23
  */
 public enum LogisticsOrderEnum {
-    TO_BE_PLANNED(0, "toBePlanned", "0", "待计划"),
+    TO_BE_PLANNED(0, "waitingSigning", "0", "待签约"),
     PENDING_ORDER(1, "pendingOrder", "1", "待接单"),
     WAIT_DELIVERY(2, "waitDelivery", "2", "待派车"),
     IN_TRANSIT(3, "inTransit", "3", "运输中"),
-    WAIT_LOADING(4, "waitLoading", "4", "待装货"),
-    WAIT_UNLOADING(5, "waitUnLoading", "5", "待卸货"),
-    END_LOADING(6, "endLoading", "6", "装货完成"),
-    END_UNLOADING(7, "endUnloading", "7", "卸货完成");
+    //    WAIT_LOADING(4, "waitLoading", "4", "待装货"),
+//    WAIT_UNLOADING(5, "waitUnLoading", "5", "待卸货"),
+    HAVE_FINISHED(4, "haveFinished", "4", "已完成"),
+    HAVE_RECONCILED(5, "haveReconciled", "5", "已对账"),
+    HAVE_ALREADY_SETTLED(6,"haveAlreadySettled","5","已结算"),
+    SEND_BACK(7,"sendBack","5","已退回");
+
     private final Integer code;
     private final String value;
     private final String status;
@@ -50,4 +53,4 @@ public enum LogisticsOrderEnum {
         }
         return null;
     }
-}
+    }

+ 15 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/AcceptCarriageOrderController.java

@@ -5,13 +5,16 @@ import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.excel.easyexcel.RequestHolder;
 import com.sckw.excel.utils.ExcelUtil;
+import com.sckw.transport.model.dto.OrderTakingDTO;
 import com.sckw.transport.model.param.AcceptCarriageOrderQuery;
-import com.sckw.transport.model.vo.ConsignOrderVo;
+import com.sckw.transport.model.vo.ConsignOrderVO;
 import com.sckw.transport.service.AcceptCarriageOrderService;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
@@ -71,14 +74,23 @@ public class AcceptCarriageOrderController {
         HttpServletResponse response = RequestHolder.getResponse();
         List list = acceptCarriageOrderService.export(query);
         if (CollectionUtils.isNotEmpty(list)){
-            ExcelUtil.download(response, ConsignOrderVo.class, list);
+            ExcelUtil.download(response, ConsignOrderVO.class, list);
             return HttpResult.ok();
         }
         return HttpResult.error("没有可导出的数据");
     }
 
     /**
-     * 承运订单-分包托运s
+     * 承运订单-接单
+     * @param orderDTO
+     * @return
+     */
+    @RequestMapping(value = "/orderTaking", method = RequestMethod.POST)
+    public HttpResult orderTaking(@Validated @RequestBody OrderTakingDTO orderDTO) {
+        return acceptCarriageOrderService.orderTaking(orderDTO);
+    }
+    /**
+     * 承运订单-分包托运
      * @param query 查询参数
      * @return
      */

+ 39 - 7
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/ConsignOrderController.java

@@ -2,7 +2,7 @@ package com.sckw.transport.controller;
 
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.transport.model.dto.OrderDto;
+import com.sckw.transport.model.dto.OrderDTO;
 import com.sckw.transport.service.ConsignOrderService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -28,32 +28,64 @@ public class ConsignOrderController {
     ConsignOrderService consignOrderService;
     /**
      * 托运订单获取车辆运单
+     *
      * @param orderDto
      * @return
      */
-    @RequestMapping(value = "/getCarWaybillByOrder",method = RequestMethod.GET)
-    public HttpResult getCarWaybillByOrder( @Validated  @RequestBody OrderDto orderDto){
+    @RequestMapping(value = "/getCarWaybillByOrder", method = RequestMethod.POST)
+    public HttpResult getCarWaybillByOrder(@Validated @RequestBody OrderDTO orderDto) {
         try {
             return consignOrderService.getCarWaybillByOrder(orderDto);
         } catch (Exception e) {
-            log.error("托运订单获取车辆运单失败:订单id {},error {} ",orderDto.getId(), e.getMessage(), e);
+            log.error("托运订单获取车辆运单失败:订单id {},error {} ", orderDto.getId(), e.getMessage(), e);
             return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
         }
     }
 
     /**
      * 托运订单获取车辆信息
+     *
      * @param orderDto
      * @return
      */
-    @RequestMapping(value = "/getCarListByOrder",method = RequestMethod.GET)
-    public HttpResult getCarListByOrder(@Validated  @RequestBody OrderDto orderDto){
+    @RequestMapping(value = "/getCarListByOrder", method = RequestMethod.POST)
+    public HttpResult getCarListByOrder(@Validated @RequestBody OrderDTO orderDto) {
         try {
             return consignOrderService.getCarListByOrder(orderDto);
         } catch (Exception e) {
-            log.error("托运订单获取车辆运单失败:订单id {},error {} ",orderDto.getId(), e.getMessage(), e);
+            log.error("托运订单获取车辆运单失败:订单id {},error {} ", orderDto.getId(), e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
+    /**
+     * 托运订单-撤销托运
+     *
+     * @param orderDto
+     * @return
+     */
+    @RequestMapping(value = "/cancelConsign", method = RequestMethod.POST)
+    public HttpResult cancelConsign(@Validated @RequestBody OrderDTO orderDto) {
+        try {
+            return consignOrderService.cancelConsign(orderDto);
+        } catch (Exception e) {
+            log.error("托运订单-撤销托运运单失败:订单id {},error {} ", orderDto.getId(), e.getMessage(), e);
             return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
         }
     }
 
+    /**
+     * 托运订单-完结订单
+     *
+     * @param orderDto
+     * @return
+     */
+    @RequestMapping(value = "/commitOrderFinish", method = RequestMethod.POST)
+    public HttpResult commitOrderFinish(@Validated @RequestBody OrderDTO orderDto) {
+        try {
+            return null;
+        } catch (Exception e) {
+            log.error("托运订单-撤销托运运单失败:订单id {},error {} ", orderDto.getId(), e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
 }

+ 45 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/TransportCommonController.java

@@ -0,0 +1,45 @@
+package com.sckw.transport.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.transport.model.dto.DocumentParamDTO;
+import com.sckw.transport.service.TransportCommonService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author lfdc
+ * @description 运输服务公共接口调用查询Controller
+ * @date 2023-07-12 09:07:42
+ */
+@Slf4j
+@RestController
+@RequestMapping(value = "/kwtTransport")
+public class TransportCommonController {
+    @Autowired
+    private TransportCommonService transportCommonService;
+
+    /**
+     * 获取订单详情-托运订单-承运订单
+     *
+     * @param dto
+     * @return
+     */
+    @RequestMapping(value = "/getOrderDetail", method = RequestMethod.POST)
+    public HttpResult getOrderDetail(@Validated @RequestBody DocumentParamDTO dto) {
+        log.info("获取订单详情参数:{}", JSONObject.toJSONString(dto));
+        try {
+            return transportCommonService.getOrderDetail(dto);
+        } catch (Exception e) {
+            log.error("获取订单详情失败:error {} ", e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
+
+}

+ 2 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwoTradeOrder.java

@@ -53,12 +53,12 @@ public class KwoTradeOrder extends BaseModel {
     private Long pickupType;
 
     /**
-     * 开始日期
+     * 计划开始日期
      */
     private LocalDateTime startTime;
 
     /**
-     * 结束日期
+     * 计划结束日期
      */
     private LocalDateTime endTime;
 

+ 3 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrder.java

@@ -96,12 +96,12 @@ public class KwtLogisticsOrder implements Serializable {
     private String goodsPriceUnit;
 
     /**
-     * 开始日期
+     * 计划开始日期
      */
     private Date startTime;
 
     /**
-     * 结束日期
+     * 计划结束日期
      */
     private Date entTime;
 
@@ -158,7 +158,7 @@ public class KwtLogisticsOrder implements Serializable {
     /**
      * 用户状态(0正常、1已锁)
      */
-    private Integer status = 0;
+    private Integer status;
 
     private Long createBy;
 

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderAddress.java

@@ -93,7 +93,7 @@ public class KwtLogisticsOrderAddress implements Serializable {
     /**
      * 用户状态(0正常、1已锁)
      */
-    private Integer status = 0;
+    private Integer status;
 
     private Long createBy;
 

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderCirculate.java

@@ -77,7 +77,7 @@ public class KwtLogisticsOrderCirculate implements Serializable {
     /**
      * 用户状态(0正常、1已锁)
      */
-    private Integer status = 0;
+    private Integer status;
 
     private Long createBy;
 

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderContract.java

@@ -38,7 +38,7 @@ public class KwtLogisticsOrderContract implements Serializable {
     /**
      * 用户状态(0正常、1已锁)
      */
-    private Integer status = 0;
+    private Integer status;
 
     private Long createBy;
 

+ 6 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderGoods.java

@@ -36,6 +36,11 @@ public class KwtLogisticsOrderGoods implements Serializable {
      */
     private Long goodsId;
 
+    /**
+     * 货物名称
+     */
+    private String goodsName;
+
     /**
      * sku
      */
@@ -49,7 +54,7 @@ public class KwtLogisticsOrderGoods implements Serializable {
     /**
      * 用户状态(0正常、1已锁)
      */
-    private Integer status = 0;
+    private Integer status;
 
     private Long createBy;
 

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderTrack.java

@@ -34,7 +34,7 @@ public class KwtLogisticsOrderTrack implements Serializable {
     /**
      * 用户状态(待受理、待运输、运输中、已完成、已取消)
      */
-    private Integer status = 0;
+    private Integer status;
 
     private Long createBy;
 

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderUnit.java

@@ -61,7 +61,7 @@ public class KwtLogisticsOrderUnit implements Serializable {
     /**
      * 用户状态(0正常、1已锁)
      */
-    private Integer status = 0;
+    private Integer status;
 
     private Long createBy;
 

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrder.java

@@ -77,7 +77,7 @@ public class KwtWaybillOrder implements Serializable {
     /**
      * 用户状态(0正常、1已锁)
      */
-    private Integer status = 0;
+    private Integer status;
 
     private Long createBy;
 

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrderTicket.java

@@ -59,7 +59,7 @@ public class KwtWaybillOrderTicket implements Serializable {
     /**
      * 用户状态(0正常、1已锁)
      */
-    private Integer status = 0;
+    private Integer status;
 
     private Long createBy;
 

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrderTrack.java

@@ -33,7 +33,7 @@ public class KwtWaybillOrderTrack implements Serializable {
     /**
      * 用户状态(待受理、待运输、运输中、已完成、已取消)
      */
-    private Integer status = 0;
+    private Integer status;
 
     private Long createBy;
 

+ 27 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/DocumentParamDTO.java

@@ -0,0 +1,27 @@
+package com.sckw.transport.model.dto;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+/**
+ * @author lfdc
+ * @description 单据dto用于查询
+ * @date 2023-07-12 09:07:35
+ */
+@Data
+public class DocumentParamDTO {
+    /**
+     * 数据库主键id
+     */
+    @NotBlank(message = "id不能为空")
+    private String id;
+    /**
+     * 单据号
+     */
+    private String documentNo;
+    /**
+     * 单据类型(销售订单:0;采购订单:1;承运订单:3;托运订单:4)
+     */
+    @NotBlank(message = "单据类型不能为空")
+    private String documentType;
+}

+ 22 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OrderDTO.java

@@ -0,0 +1,22 @@
+package com.sckw.transport.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * @author lfdc
+ * @description 单据数据
+ * @date 2023-07-10 08:07:52
+ */
+@Data
+@Accessors(chain = true)
+public class OrderDTO {
+    @JsonProperty("orderNo")
+    @NotNull(message = "单据编号不能为空")
+    private String orderNo;
+    @JsonProperty("id")
+    @NotNull(message = "数据id不能为空")
+    private String id;
+}

+ 0 - 19
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OrderDto.java

@@ -1,19 +0,0 @@
-package com.sckw.transport.model.dto;
-
-import jakarta.validation.constraints.NotBlank;
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-/**
- * @author lfdc
- * @description 单据数据
- * @date 2023-07-10 08:07:52
- */
-@Data
-@Accessors(chain = true)
-public class OrderDto {
-    @NotBlank(message = "单据编号不能为空")
-    private String orderNo;
-    @NotBlank(message = "数据id不能为空")
-    private String id;
-}

+ 38 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OrderTakingDTO.java

@@ -0,0 +1,38 @@
+package com.sckw.transport.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * @author lfdc
+ * @description 操作订单-接单操作
+ * @date 2023-07-12 15:07:32
+ */
+@Data
+public class OrderTakingDTO {
+    /**
+     * 单据号
+     */
+    @NotNull(message = "单据号不能为空")
+    @JsonProperty(value = "lOrderNo")
+    private String lOrderNo;
+    /**
+     * 数据主键id
+     */
+    @NotNull(message = "主键id不能为空")
+    @JsonProperty(value = "lOrderId")
+    private String lOrderId;
+    /**
+     * 是否接单的类型(true:接受;false:拒绝)
+     */
+    @NotNull(message = "接单类型不能为空")
+    @JsonProperty(value = "type")
+    private Boolean type;
+    /**
+     * 驳回时填写原因
+     */
+    @JsonProperty(value = "remark")
+    private String remark;
+
+}

+ 12 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/LogisticsConsignmentParam.java

@@ -1,10 +1,14 @@
 package com.sckw.transport.model.param;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
 
 /**
  * @author lfdc
@@ -149,13 +153,18 @@ public class LogisticsConsignmentParam {
      */
     private String priceType;
     /**
-     * 计划货时间
+     * 计划货时间
      */
-    private String receiveGoodsDateTime;
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+//    private String receiveGoodsDateTime;
+    private Date receiveGoodsDateTime;
     /**
      * 计划发货时间
      */
-    private String shipmentsDateTime;
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date shipmentsDateTime;
     /**
      * 税率
      */

+ 3 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/AcceptCarriageOrderVo.java → sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/AcceptCarriageOrderVO.java

@@ -10,7 +10,7 @@ import java.util.List;
  * @date 2023-06-27 10:06:30
  */
 @Data
-public class AcceptCarriageOrderVo {
+public class AcceptCarriageOrderVO {
     /**
      * 状态
      */
@@ -120,7 +120,7 @@ public class AcceptCarriageOrderVo {
      */
     private String plannedDate;
 
-    private List<CarWaybillVo> carWaybillList;
-    private List<ConsignmentVo> consignmentList;
+    private List<CarWaybillVO> carWaybillList;
+    private List<ConsignmentVO> consignmentList;
 
 }

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/CarDataVo.java → sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/CarDataVO.java

@@ -10,7 +10,7 @@ import lombok.experimental.Accessors;
  */
 @Data
 @Accessors(chain = true)
-public class CarDataVo {
+public class CarDataVO {
     /**
      * 司机姓名
      */

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/CarWaybillVo.java → sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/CarWaybillVO.java

@@ -10,7 +10,7 @@ import lombok.experimental.Accessors;
  */
 @Data
 @Accessors(chain = true)
-public class CarWaybillVo {
+public class CarWaybillVO {
     private String id;
 
     /**

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/ConsignOrderVo.java → sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/ConsignOrderVO.java

@@ -11,7 +11,7 @@ import java.io.Serializable;
  * @date 2023-07-07 09:07:06
  */
 @Data
-public class ConsignOrderVo extends PageResult implements Serializable {
+public class ConsignOrderVO extends PageResult implements Serializable {
     /**
      * 结算周期
      */

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/ConsignmentVo.java → sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/ConsignmentVO.java

@@ -8,7 +8,7 @@ import lombok.Data;
  * @date 2023-06-27 11:06:08
  */
 @Data
-public class ConsignmentVo {
+public class ConsignmentVO {
     /**
      * 状态
      */

+ 133 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/OrderDetailVO.java

@@ -0,0 +1,133 @@
+package com.sckw.transport.model.vo;
+
+import lombok.Data;
+
+/**
+ * @author lfdc
+ * @description 订单详情vo
+ * @date 2023-07-12 09:07:57
+ */
+@Data
+public class OrderDetailVO {
+    private String id;
+    /**
+     * 计费方式
+     */
+    private String billingMode;
+    /**
+     * 承运单位
+     */
+    private String carrierCompany;
+    /**
+     * 承运联系人
+     */
+    private String carrierContacts;
+    /**
+     * 承运联系电话
+     */
+    private String carrierPhone;
+    /**
+     * 收款单位
+     */
+    private String collectionCompany;
+    /**
+     * 托运单位
+     */
+    private String consignCompany;
+    /**
+     * 托运联系人
+     */
+    private String consignContacts;
+    /**
+     * 托运联系电话
+     */
+    private String consignPhone;
+    /**
+     * 扣亏损值
+     */
+    private String deduct;
+    /**
+     * 商品名称
+     */
+    private String goodsName;
+    /**
+     * 合理亏损
+     */
+    private String loss;
+    /**
+     * 任务总量
+     */
+    private String number;
+    /**
+     * 订单金额
+     */
+    private String orderAmount;
+    /**
+     * 已履约量
+     */
+    private String performanceAmount;
+    /**
+     * 运价
+     */
+    private String price;
+    /**
+     * 计划结束时间
+     */
+    private String scheduleEndTime;
+    /**
+     * 计划开始时间
+     */
+    private String scheduleStartTime;
+    /**
+     * 结算周期
+     */
+    private String settlementCycle;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 合同id
+     */
+    private String contractId;
+    /**
+     * 合同名称
+     */
+    private String contractName;
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+    /**
+     * 装货地址
+     */
+    private String loadAddress;
+    /**
+     * 装货联系人
+     */
+    private String loadContacts;
+    /**
+     * 装货联系电话
+     */
+    private String loadPhone;
+    /**
+     * 装货详细地址
+     */
+    private String loadAddressDetail;
+    /**
+     * 装货详细地址
+     */
+    private String unloadAddress;
+    /**
+     * 卸货联系人
+     */
+    private String unloadContacts;
+    /**
+     * 卸货联系电话
+     */
+    private String unloadPhone;
+    /**
+     * 卸货详细地址
+     */
+    private String unloadAddressDetail;
+}

+ 80 - 21
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java

@@ -1,18 +1,34 @@
 package com.sckw.transport.service;
 
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
+import com.sckw.core.utils.StringUtils;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
+import com.sckw.transport.common.enums.LogisticsOrderEnum;
+import com.sckw.transport.dao.KwtLogisticsOrderMapper;
+import com.sckw.transport.dao.KwtLogisticsOrderTrackMapper;
+import com.sckw.transport.model.KwtLogisticsOrder;
+import com.sckw.transport.model.KwtLogisticsOrderTrack;
+import com.sckw.transport.model.dto.OrderDTO;
+import com.sckw.transport.model.dto.OrderTakingDTO;
 import com.sckw.transport.model.param.AcceptCarriageOrderQuery;
-import com.sckw.transport.model.vo.AcceptCarriageOrderVo;
-import com.sckw.transport.model.vo.CarWaybillVo;
-import com.sckw.transport.model.vo.ConsignmentVo;
+import com.sckw.transport.model.vo.AcceptCarriageOrderVO;
+import com.sckw.transport.model.vo.CarWaybillVO;
+import com.sckw.transport.model.vo.ConsignmentVO;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -24,29 +40,27 @@ import java.util.List;
 @Service
 public class AcceptCarriageOrderService {
 
+    @Autowired
+    private KwtLogisticsOrderMapper logisticsOrderMapper;
+
+    @Autowired
+    private KwtLogisticsOrderTrackMapper logisticsOrderTrackMapper;
+
     public HttpResult list(AcceptCarriageOrderQuery query) {
-        List<AcceptCarriageOrderVo> list=new ArrayList<>();
-        AcceptCarriageOrderVo acceptCarriageOrderVo = new AcceptCarriageOrderVo();
-        List<CarWaybillVo> carWaybillVoList = new ArrayList<>();
-        CarWaybillVo carWaybillVo=new CarWaybillVo();
-        carWaybillVoList.add(carWaybillVo);
-        List<ConsignmentVo> consignmentVos = new ArrayList<>();
-        ConsignmentVo consignmentVo=new ConsignmentVo();
-        consignmentVos.add(consignmentVo);
-        acceptCarriageOrderVo.setCarWaybillList(carWaybillVoList);
-        acceptCarriageOrderVo.setConsignmentList(consignmentVos);
+        List<AcceptCarriageOrderVO> list = new ArrayList<>();
+        AcceptCarriageOrderVO acceptCarriageOrderVo = new AcceptCarriageOrderVO();
+        List<CarWaybillVO> carWaybillVOList = new ArrayList<>();
+        CarWaybillVO carWaybillVo = new CarWaybillVO();
+        carWaybillVOList.add(carWaybillVo);
+        List<ConsignmentVO> consignmentVOS = new ArrayList<>();
+        ConsignmentVO consignmentVo = new ConsignmentVO();
+        consignmentVOS.add(consignmentVo);
+        acceptCarriageOrderVo.setCarWaybillList(carWaybillVOList);
+        acceptCarriageOrderVo.setConsignmentList(consignmentVOS);
         list.add(acceptCarriageOrderVo);
         PageHelper.startPage(query.getPage(), query.getPageSize());
         PageResult pageResult = PageHelperUtil.getPageResult(new PageInfo<>(list));
         return HttpResult.ok(pageResult);
-//        Map<String,Object> map=new HashMap<>();
-//        map.put("data",pageResult);
-//        Map<String,Object> map1=new HashMap<>();
-//        map1.put("data1","1");
-//        map1.put("data12","12");
-//        map1.put("data13","13");
-//        map.put("statistics",map1);
-//        return HttpResult.ok(map);
     }
 
     public HttpResult count(AcceptCarriageOrderQuery query) {
@@ -60,4 +74,49 @@ public class AcceptCarriageOrderService {
     public List export(AcceptCarriageOrderQuery query) {
         return null;
     }
+
+    public List acceptOrder(OrderDTO orderDTO) {
+
+        return null;
+    }
+
+    /**
+     * 是否接单
+     *
+     * @param orderDTO
+     * @return
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public HttpResult orderTaking(OrderTakingDTO orderDTO) {
+        log.info("接单操作接收数据:{}", JSONObject.toJSONString(orderDTO));
+        HttpResult result = new HttpResult();
+        result.setCode(HttpStatus.SUCCESS_CODE);
+        KwtLogisticsOrder logisticsOrder = logisticsOrderMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrder>()
+                .eq(StringUtils.isNotBlank(orderDTO.getLOrderId()), KwtLogisticsOrder::getId, orderDTO.getLOrderId())
+                .eq(StringUtils.isNotBlank(orderDTO.getLOrderNo()), KwtLogisticsOrder::getLOrderNo, orderDTO.getLOrderNo())
+                .eq(KwtLogisticsOrder::getEntId, LoginUserHolder.getEntId()));
+        if (logisticsOrder == null) {
+            result.setMsg("单据不存在!");
+        }
+        if (orderDTO.getType()) {
+            logisticsOrderTrackMapper.update(null, new LambdaUpdateWrapper<KwtLogisticsOrderTrack>()
+                    .eq(StringUtils.isNotBlank(orderDTO.getLOrderId()), KwtLogisticsOrderTrack::getLOrderId, orderDTO.getLOrderId())
+                    .set(KwtLogisticsOrderTrack::getStatus, LogisticsOrderEnum.WAIT_DELIVERY.getCode())
+                    .set(KwtLogisticsOrderTrack::getUpdateBy, LoginUserHolder.getUserId())
+                    .set(KwtLogisticsOrderTrack::getUpdateTime, new Date()));
+        } else {
+            logisticsOrderTrackMapper.update(null, new LambdaUpdateWrapper<KwtLogisticsOrderTrack>()
+                    .eq(StringUtils.isNotBlank(orderDTO.getLOrderId()), KwtLogisticsOrderTrack::getLOrderId, orderDTO.getLOrderId())
+                    .set(KwtLogisticsOrderTrack::getStatus, LogisticsOrderEnum.SEND_BACK.getCode())
+                    .set(KwtLogisticsOrderTrack::getUpdateBy, LoginUserHolder.getUserId())
+                    .set(StringUtils.isNotBlank(orderDTO.getRemark()), KwtLogisticsOrderTrack::getRemark, orderDTO.getRemark())
+                    .set(KwtLogisticsOrderTrack::getUpdateTime, new Date()));
+        }
+        logisticsOrderMapper.update(null, new LambdaUpdateWrapper<KwtLogisticsOrder>()
+                .eq(StringUtils.isNotBlank(orderDTO.getLOrderId()), KwtLogisticsOrder::getId, orderDTO.getLOrderId())
+                .eq(StringUtils.isNotBlank(orderDTO.getLOrderNo()), KwtLogisticsOrder::getLOrderNo, orderDTO.getLOrderNo())
+                .set(KwtLogisticsOrder::getUpdateTime, new Date())
+                .set(KwtLogisticsOrder::getUpdateBy, LoginUserHolder.getUserId()));
+        return result;
+    }
 }

+ 39 - 14
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java

@@ -1,5 +1,6 @@
 package com.sckw.transport.service;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.sckw.core.common.enums.NumberConstant;
 import com.sckw.core.utils.CollectionUtils;
@@ -10,15 +11,16 @@ import com.sckw.excel.utils.DateUtil;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.transport.dao.*;
 import com.sckw.transport.model.*;
-import com.sckw.transport.model.dto.OrderDto;
+import com.sckw.transport.model.dto.OrderDTO;
 import com.sckw.transport.model.param.ConsignOrderQuery;
-import com.sckw.transport.model.vo.CarDataVo;
-import com.sckw.transport.model.vo.CarWaybillVo;
-import com.sckw.transport.model.vo.ConsignOrderVo;
+import com.sckw.transport.model.vo.CarDataVO;
+import com.sckw.transport.model.vo.CarWaybillVO;
+import com.sckw.transport.model.vo.ConsignOrderVO;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
 import java.math.BigDecimal;
@@ -74,12 +76,12 @@ public class ConsignOrderService {
         return null;
     }
 
-    public List<ConsignOrderVo> export(ConsignOrderQuery query) {
-        return new ArrayList<ConsignOrderVo>();
+    public List<ConsignOrderVO> export(ConsignOrderQuery query) {
+        return new ArrayList<ConsignOrderVO>();
     }
 
-    public HttpResult getCarWaybillByOrder(OrderDto orderDto) {
-        List<CarWaybillVo> returnList = new ArrayList<>();
+    public HttpResult getCarWaybillByOrder(OrderDTO orderDto) {
+        List<CarWaybillVO> returnList = new ArrayList<>();
         KwtLogisticsOrder order = kwtLogisticsOrderMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrder>()
                 .eq(StringUtils.isNotBlank(orderDto.getId()), KwtLogisticsOrder::getId, Long.parseLong(orderDto.getId()))
                 .eq(StringUtils.isNotBlank(orderDto.getOrderNo()), KwtLogisticsOrder::getLOrderNo, orderDto.getOrderNo())
@@ -92,7 +94,7 @@ public class ConsignOrderService {
                 .eq(KwtWaybillOrder::getEntId, LoginUserHolder.getEntId()));
         if (CollectionUtils.isNotEmpty(kwtWaybillOrders)) {
             for (KwtWaybillOrder kwtWaybillOrder : kwtWaybillOrders) {
-                CarWaybillVo carWaybillVo = new CarWaybillVo();
+                CarWaybillVO carWaybillVo = new CarWaybillVO();
                 KwtWaybillOrderTrack track = kwtWaybillOrderTrackMapper.selectOne(new LambdaQueryWrapper<KwtWaybillOrderTrack>()
                         .eq(StringUtils.isNotBlank(kwtWaybillOrder.getId()), KwtWaybillOrderTrack::getWOrderId, kwtWaybillOrder.getId()));
                 KwtWaybillOrderTicket loadTicket = kwtWaybillOrderTicketMapper.selectOne(new LambdaQueryWrapper<KwtWaybillOrderTicket>()
@@ -150,17 +152,17 @@ public class ConsignOrderService {
         return HttpResult.ok(returnList);
     }
 
-    public HttpResult getCarListByOrder(OrderDto orderDto) {
+    public HttpResult getCarListByOrder(OrderDTO orderDto) {
         KwtWaybillOrder waybillOrder = kwtWaybillOrderMapper.selectOne(new LambdaQueryWrapper<KwtWaybillOrder>()
                 .eq(KwtWaybillOrder::getLOrderId, orderDto.getId())
                 .eq(KwtWaybillOrder::getEntId, LoginUserHolder.getEntId()));
         List<KwtLogisticsOrderCirculate> list = kwtLogisticsOrderCirculateMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrderCirculate>()
                 .eq(KwtLogisticsOrderCirculate::getLOrderId, orderDto.getId())
                 .eq(KwtLogisticsOrderCirculate::getEntId, LoginUserHolder.getEntId()));
-        List<CarDataVo> carDataVos = new ArrayList<CarDataVo>();
+        List<CarDataVO> carDataVOS = new ArrayList<CarDataVO>();
         if (CollectionUtils.isNotEmpty(list)) {
             for (KwtLogisticsOrderCirculate circulate : list) {
-                CarDataVo carDataVo = new CarDataVo();
+                CarDataVO carDataVo = new CarDataVO();
                 //todo dubbo查询
 //                circulate.getDriverId() ;
 //                carDataVo.setDriverName();
@@ -169,9 +171,32 @@ public class ConsignOrderService {
 //                carDataVo.getLoadAmount();
                 carDataVo.setTruckNo(circulate.getTruckNo());
                 carDataVo.setWOrderNo(waybillOrder.getWOrderNo());
-                carDataVos.add(carDataVo);
+                carDataVOS.add(carDataVo);
             }
         }
-        return HttpResult.ok(carDataVos);
+        return HttpResult.ok(carDataVOS);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public HttpResult cancelConsign(OrderDTO orderDto) {
+        log.info("订单-撤销托运请求参数:{}", JSONObject.toJSONString(orderDto));
+        HttpResult result = new HttpResult();
+        KwtLogisticsOrder logisticsOrder = kwtLogisticsOrderMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrder>()
+                .eq(KwtLogisticsOrder::getId, orderDto.getId())
+                .eq(KwtLogisticsOrder::getLOrderNo, orderDto.getOrderNo())
+                .eq(KwtLogisticsOrder::getEntId, LoginUserHolder.getEntId()));
+        if (logisticsOrder == null) {
+            result.setMsg("单据不存在");
+        }
+        /**以此字段判别是否存在分包操作*/
+        if (logisticsOrder.getPid()==null){//撤销数据回归到贸易订单
+            //并不属于被分包
+            //待接单状态下才能撤销托运
+            //
+
+        }else {
+            //即代表存在分包,当次是属于被分包.需要将数据回归到上游数据。
+        }
+        return result;
     }
 }

+ 5 - 5
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java

@@ -9,7 +9,6 @@ import com.sckw.core.utils.IdWorker;
 import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.excel.utils.DateUtil;
 import com.sckw.mongo.enums.BusinessTypeEnum;
 import com.sckw.mongo.model.SckwLogisticsOrder;
 import com.sckw.stream.model.SckwBusSum;
@@ -107,7 +106,7 @@ public class LogisticsConsignmentService {
         insertLogisticsOrderUnit(bo, waybillNo, orderId);
         insertLogisticsOrderAddress(bo, waybillNo, orderId);
         insertLogisticsOrderTrack(bo, waybillNo, orderId);
-        sendMongoDB(waybillNo, orderId, bo,tradeOrder);
+        sendMongoDB(waybillNo, orderId, bo, tradeOrder);
 
     }
 
@@ -278,6 +277,7 @@ public class LogisticsConsignmentService {
         KwtLogisticsOrderGoods kwtLogisticsOrderGoods = new KwtLogisticsOrderGoods();
         kwtLogisticsOrderGoods.setId(new IdWorker(NumberConstant.ONE).nextId());
         kwtLogisticsOrderGoods.setGoodsId(Long.parseLong(bo.getGoodsId()));
+        kwtLogisticsOrderGoods.setGoodsName(bo.getGoodsName());
         kwtLogisticsOrderGoods.setSkuId(StringUtils.isBlank(bo.getSkuId()) ? null : Long.parseLong(bo.getSkuId()));
         kwtLogisticsOrderGoods.setLOrderId(orderId);
         kwtLogisticsOrderGoods.setLOrderNo(waybillNo);
@@ -320,8 +320,8 @@ public class LogisticsConsignmentService {
         order.setGoodsPriceUnit(remoteSystemService.queryDictByTypeAndValue(DictEnum.PRICE_TYPE_0.getType(), bo.getGoodsPriceUnit()) == null ?
                 null : remoteSystemService.queryDictByTypeAndValue(DictEnum.PRICE_TYPE_0.getType(), bo.getGoodsPriceUnit()).getValue());
         order.setGoodsPriceUnit(bo.getGoodsPriceUnit());
-        order.setStartTime(DateUtil.LocalDateTimeToDate(tradeOrder.getStartTime()));
-        order.setEntTime(DateUtil.LocalDateTimeToDate(tradeOrder.getEndTime()));
+        order.setStartTime(bo.getShipmentsDateTime());
+        order.setEntTime(bo.getReceiveGoodsDateTime());
         order.setRemark(bo.getRemark());
         order.setPayment(tradeOrder.getTrading());
         order.setTaxRate(new BigDecimal(bo.getTaxRate()));
@@ -351,7 +351,7 @@ public class LogisticsConsignmentService {
     }
 
     /**
-     * 物流订单-装货地址
+     * 物流订单-装货地址
      *
      * @param bo
      * @param waybillNo

+ 125 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/TransportCommonService.java

@@ -1,7 +1,19 @@
 package com.sckw.transport.service;
 
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sckw.core.common.enums.NumberConstant;
+import com.sckw.core.utils.StringUtils;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
+import com.sckw.excel.utils.DateUtil;
+import com.sckw.transport.dao.*;
+import com.sckw.transport.model.*;
+import com.sckw.transport.model.dto.DocumentParamDTO;
+import com.sckw.transport.model.vo.OrderDetailVO;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -13,8 +25,33 @@ import org.springframework.stereotype.Service;
 @Service
 public class TransportCommonService {
 
+    @Autowired
+    public KwoTradeOrderMapper tradeOrderMapper;
+
+    @Autowired
+    public KwtLogisticsOrderGoodsMapper logisticsOrderGoodsMapper;
+
+    @Autowired
+    public KwtLogisticsOrderContractMapper logisticsOrderContractMapper;
+
+    @Autowired
+    public KwtLogisticsOrderMapper logisticsOrderMapper;
+
+    @Autowired
+    public KwoTradeOrderAddressMapper tradeOrderAddressMapper;
+
+    @Autowired
+    public KwtLogisticsOrderAddressMapper logisticsOrderAddressMapper;
+
+    @Autowired
+    public KwtLogisticsOrderTrackMapper logisticsOrderTrackMapper;
+
+    @Autowired
+    public KwtLogisticsOrderUnitMapper logisticsOrderUnitMapper;
+
     /**
      * 获取托运企业名称
+     *
      * @param param
      * @return
      */
@@ -24,6 +61,7 @@ public class TransportCommonService {
 
     /**
      * 获取车牌号
+     *
      * @param param
      * @return
      */
@@ -33,6 +71,7 @@ public class TransportCommonService {
 
     /**
      * 获取联系人
+     *
      * @param param
      * @return
      */
@@ -42,6 +81,7 @@ public class TransportCommonService {
 
     /**
      * 获取司机
+     *
      * @param param
      * @return
      */
@@ -49,4 +89,89 @@ public class TransportCommonService {
         return HttpResult.ok();
     }
 
+    public HttpResult getOrderDetail(DocumentParamDTO dto) {
+        HttpResult httpResult = new HttpResult();
+        httpResult.setCode(HttpStatus.SUCCESS_CODE);
+        if (String.valueOf(NumberConstant.FOUR).equals(dto.getDocumentType())) {
+            //托运订单
+            OrderDetailVO orderDetailVO = getOrderData(dto);
+            httpResult.setData(orderDetailVO);
+        } else if (String.valueOf(NumberConstant.THREE).equals(dto.getDocumentType())) {
+            //承运订单
+            OrderDetailVO orderDetailVO = getOrderData(dto);
+            httpResult.setData(orderDetailVO);
+        } else {
+            httpResult.setCode(HttpStatus.GLOBAL_EXCEPTION_CODE);
+            httpResult.setMsg("单据类型错误");
+        }
+        return httpResult;
+    }
+
+    private OrderDetailVO getOrderData(DocumentParamDTO dto) {
+        KwtLogisticsOrder logisticsOrder = logisticsOrderMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrder>()
+                .eq(KwtLogisticsOrder::getId, dto.getId())
+                .eq(StringUtils.isNotBlank(dto.getDocumentNo()), KwtLogisticsOrder::getLOrderNo, dto.getDocumentNo())
+                .eq(KwtLogisticsOrder::getEntId, LoginUserHolder.getEntId()));
+        if (logisticsOrder == null) {
+            log.info("查无单据:{}", JSONObject.toJSONString(dto));
+            throw new RuntimeException("查无单据");
+
+        }
+        KwtLogisticsOrderContract contract = logisticsOrderContractMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderContract>()
+                .eq(StringUtils.isNotBlank(dto.getId()), KwtLogisticsOrderContract::getLOrderId, dto.getId()));
+        KwtLogisticsOrderUnit unitOne = logisticsOrderUnitMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
+                .eq(StringUtils.isNotBlank(dto.getId()), KwtLogisticsOrderUnit::getLOrderId, dto.getId())
+                .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.ONE));
+//                .eq(KwtLogisticsOrderUnit::getEntId, logisticsOrder.getEntId()));
+        KwtLogisticsOrderUnit unitTwo = logisticsOrderUnitMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
+                .eq(StringUtils.isNotBlank(dto.getId()), KwtLogisticsOrderUnit::getLOrderId, dto.getId())
+                .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
+//                .eq(KwtLogisticsOrderUnit::getEntId, logisticsOrder.getEntId()));
+        KwtLogisticsOrderAddress loadOrderAddress = logisticsOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
+                .eq(StringUtils.isNotBlank(dto.getId()), KwtLogisticsOrderAddress::getLOrderId, dto.getId())
+                .eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.ONE));
+        KwtLogisticsOrderAddress unloadOrderAddress = logisticsOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
+                .eq(StringUtils.isNotBlank(dto.getId()), KwtLogisticsOrderAddress::getLOrderId, dto.getId())
+                .eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.TWO));
+        KwtLogisticsOrderGoods orderGoods = logisticsOrderGoodsMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderGoods>()
+                .eq(StringUtils.isNotBlank(logisticsOrder.getId()), KwtLogisticsOrderGoods::getLOrderId, logisticsOrder.getId()));
+        OrderDetailVO orderDetailVO = new OrderDetailVO();
+        orderDetailVO.setId(String.valueOf(logisticsOrder.getId()));
+        if (contract != null) {
+            orderDetailVO.setContractId(contract.getContractId() == null ? null : String.valueOf(contract.getContractId()));
+            //todo 接口调用合同服务查询合同信息
+//            orderDetailVO.setContractName(contract.getContractId() == null ? null : String.valueOf(contract.getContractId()));
+//            orderDetailVO.setContractNo(contract.getContractId() == null ? null : String.valueOf(contract.getContractId()));
+        }
+        if (unitOne != null) {
+            orderDetailVO.setConsignCompany(unitOne.getFirmName());
+            orderDetailVO.setConsignContacts(unitOne.getContacts());
+            orderDetailVO.setConsignPhone(unitOne.getPhone());
+            orderDetailVO.setCollectionCompany(unitOne.getFirmName());
+        }
+        if (unitTwo != null) {
+            orderDetailVO.setCarrierCompany(unitTwo.getFirmName());
+            orderDetailVO.setCarrierContacts(unitTwo.getContacts());
+            orderDetailVO.setCarrierPhone(unitTwo.getPhone());
+        }
+        orderDetailVO.setGoodsName(orderGoods == null ? null : orderGoods.getGoodsName());
+        orderDetailVO.setNumber(logisticsOrder.getAmount() == null ? null : String.valueOf(logisticsOrder.getAmount()));
+        orderDetailVO.setPrice(logisticsOrder.getPrice() == null ? null : String.valueOf(logisticsOrder.getPrice()));
+        orderDetailVO.setLoss(logisticsOrder.getLoss() == null ? null : String.valueOf(logisticsOrder.getLoss()));
+        orderDetailVO.setDeduct(logisticsOrder.getGoodsPrice() == null ? null : String.valueOf(logisticsOrder.getGoodsPrice()));
+        orderDetailVO.setLoadAddress(loadOrderAddress.getName());
+        orderDetailVO.setLoadContacts(loadOrderAddress.getContacts());
+        orderDetailVO.setLoadPhone(loadOrderAddress.getPhone());
+        orderDetailVO.setLoadAddressDetail(loadOrderAddress.getDetailAddress());
+        orderDetailVO.setUnloadAddress(unloadOrderAddress.getName());
+        orderDetailVO.setUnloadContacts(unloadOrderAddress.getContacts());
+        orderDetailVO.setUnloadPhone(unloadOrderAddress.getPhone());
+        orderDetailVO.setUnloadAddressDetail(unloadOrderAddress.getDetailAddress());
+        orderDetailVO.setSettlementCycle(logisticsOrder.getSettlementCycle() == null ? null : String.valueOf(logisticsOrder.getSettlementCycle()));
+        orderDetailVO.setBillingMode(logisticsOrder.getBillingMode());
+        orderDetailVO.setScheduleStartTime(logisticsOrder.getStartTime() == null ? null : DateUtil.getDateTime(logisticsOrder.getStartTime()));
+        orderDetailVO.setScheduleEndTime(logisticsOrder.getEntTime() == null ? null : DateUtil.getDateTime(logisticsOrder.getEntTime()));
+        orderDetailVO.setPerformanceAmount(logisticsOrder.getLoadAmount() == null ? null : String.valueOf(logisticsOrder.getLoadAmount()));
+        return orderDetailVO;
+    }
 }

+ 2 - 1
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderGoodsMapper.xml

@@ -6,6 +6,7 @@
         <result column="l_order_id" jdbcType="BIGINT" property="lOrderId" />
         <result column="order_no" jdbcType="VARCHAR" property="lOrderNo" />
         <result column="goods_id" jdbcType="BIGINT" property="goodsId" />
+        <result column="goods_name" jdbcType="VARCHAR" property="goodsName" />
         <result column="sku_id" jdbcType="BIGINT" property="skuId" />
         <result column="remark" jdbcType="VARCHAR" property="remark" />
         <result column="status" jdbcType="INTEGER" property="status" />
@@ -17,7 +18,7 @@
     </resultMap>
     <sql id="Base_Column_List">
         id, l_order_id, l_order_no, goods_id, sku_id, remark, `status`, create_by, create_time,
-    update_by, update_time, del_flag
+    update_by, update_time, del_flag,goods_name
     </sql>
     <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
         select