xucaiqin 8 tuntia sitten
vanhempi
commit
32cbd8ce3a
86 muutettua tiedostoa jossa 1246 lisäystä ja 7370 poistoa
  1. 2 0
      sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/dubbo/GoodsInfoService.java
  2. 2 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteSystemService.java
  3. 19 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/KwsWeighDto.java
  4. 23 5
      sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/dubbo/TransportRemoteService.java
  5. 167 0
      sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/ArchiveOrderDto.java
  6. 42 0
      sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/EntDto.java
  7. 42 0
      sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/OrderTicketDto.java
  8. 40 0
      sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/WeighDto.java
  9. 4 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/dubbo/GoodsInfoServiceImpl.java
  10. 32 3
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java
  11. 20 27
      sckw-modules/sckw-report/pom.xml
  12. 2 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/ReportApplication.java
  13. 0 194
      sckw-modules/sckw-report/src/main/java/com/sckw/report/consumer/SckwBusSumConsumer.java
  14. 1 1
      sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/HomeController.java
  15. 0 40
      sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwFleetController.java
  16. 0 117
      sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwOrderController.java
  17. 0 46
      sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwOrderStatisticsController.java
  18. 0 285
      sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwTransportController.java
  19. 0 33
      sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwWorkController.java
  20. 0 91
      sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/operationManagement/TradeOrderManageController.java
  21. 0 29
      sckw-modules/sckw-report/src/main/java/com/sckw/report/dao/SckwLogisticsOrderRepository.java
  22. 0 12
      sckw-modules/sckw-report/src/main/java/com/sckw/report/dao/SckwTradeOrderRepository.java
  23. 0 12
      sckw-modules/sckw-report/src/main/java/com/sckw/report/dao/SckwWaybillOrderRepository.java
  24. 266 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/entity/KwrRecordOrder.java
  25. 71 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/entity/KwrRecordOrderWeight.java
  26. 41 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/enums/TruckTypeEnum.java
  27. 13 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/mapper/KwrRecordOrderMapper.java
  28. 13 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/mapper/KwrRecordOrderWeightMapper.java
  29. 0 86
      sckw-modules/sckw-report/src/main/java/com/sckw/report/model/dto/OperatorTOrderListStsConditionDTO.java
  30. 0 47
      sckw-modules/sckw-report/src/main/java/com/sckw/report/model/dto/WorkbenchOrderStsDTO.java
  31. 0 72
      sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/KwfCapacityVo.java
  32. 1 1
      sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/OperationCountVo.java
  33. 0 22
      sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/OperatorTOrderContractParam.java
  34. 0 35
      sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/OperatorTOrderExportQueryVO.java
  35. 0 39
      sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/OperatorTOrderListQueryVO.java
  36. 0 81
      sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/OperatorTOrderStsQueryVO.java
  37. 0 66
      sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/TOrderDataStsResVO.java
  38. 0 42
      sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/WbTOrderDataStsParam.java
  39. 0 86
      sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/WbTOrderDataStsResVO.java
  40. 0 69
      sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/WorkbenchPurchaseVO.java
  41. 0 610
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwAcceptCarriageService.java
  42. 0 570
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwConsignService.java
  43. 0 118
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwFleetService.java
  44. 2 2
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwHomeService.java
  45. 0 549
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwOrderService.java
  46. 0 250
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwOrderStatisticsService.java
  47. 0 813
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwTransportService.java
  48. 0 179
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwWorkService.java
  49. 16 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/impl/KwrRecordOrderService.java
  50. 16 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/impl/KwrRecordOrderWeightService.java
  51. 0 228
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/operator/TradeOrderManageService.java
  52. 0 10
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/AcceptCarriageOrderParam.java
  53. 0 70
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/AcceptCarriageOrderQuery.java
  54. 0 72
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/ConsignOrderQuery.java
  55. 0 26
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/ContractParam.java
  56. 0 167
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/LogisticsConsignmentParam.java
  57. 0 78
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/SpringDataPageAble.java
  58. 0 25
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderAppStatisticParam.java
  59. 0 28
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderContractParam.java
  60. 0 110
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderListExport.java
  61. 0 21
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderListExportParam.java
  62. 0 25
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderListSelectParam.java
  63. 0 89
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderListStatisticParam.java
  64. 0 66
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderStatementList.java
  65. 0 84
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderListExport.java
  66. 0 27
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderListSelect.java
  67. 0 93
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderQuery.java
  68. 0 180
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/AcceptCarriageOrderExcelVo.java
  69. 0 222
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/AcceptCarriageOrderVo.java
  70. 0 39
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/CarDataVo.java
  71. 0 174
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/CarWaybillVo.java
  72. 0 186
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/ConsignOrderExcelVo.java
  73. 0 210
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/ConsignOrderVo.java
  74. 0 129
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/ConsignmentVo.java
  75. 0 222
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/OrderListRes.java
  76. 0 29
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/QueryBusinessStatisticsResVo.java
  77. 0 28
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/TradeOrderAppStatisticVO.java
  78. 0 31
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/WaybillsCountVo.java
  79. 148 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/task/OrderTask.java
  80. 50 0
      sckw-modules/sckw-report/src/main/resources/mapper/KwrRecordOrderMapper.xml
  81. 19 0
      sckw-modules/sckw-report/src/main/resources/mapper/KwrRecordOrderWeightMapper.xml
  82. 0 51
      sckw-modules/sckw-report/src/test/java/com/sckw/report/SckwTradeOrderTest.java
  83. 19 3
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java
  84. 172 13
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dubbo/TransportServiceImpl.java
  85. 2 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrderUnit.java
  86. 1 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrder.java

+ 2 - 0
sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/dubbo/GoodsInfoService.java

@@ -19,6 +19,8 @@ import java.util.Map;
 public interface GoodsInfoService {
     GoodsDetails getDetail(Long id);
 
+    Map<Long, GoodsDetails> getDetailMap(List<Long> id);
+
     /**
      * @desc: 根据商品id获取商品详情
      * @author: yzc

+ 2 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteSystemService.java

@@ -327,4 +327,6 @@ public interface RemoteSystemService {
     Integer getActualDisPatch(ActualDisPatchDto dto);
 
     KwsUserResDto queryByAccount(String account);
+
+    List<KwsWeighDto> queryWeigh(List<Long> list);
 }

+ 19 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/KwsWeighDto.java

@@ -0,0 +1,19 @@
+package com.sckw.system.api.model.dto.res;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Data
+public class KwsWeighDto implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 584335442672847826L;
+    private Long id;
+    /**
+     * 备注
+     */
+    private String weighbridgeName;
+
+}

+ 23 - 5
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/dubbo/TransportRemoteService.java

@@ -1,6 +1,7 @@
 package com.sckw.transport.api.dubbo;
 
 import com.sckw.core.web.response.HttpResult;
+import com.sckw.transport.api.model.dto.ArchiveOrderDto;
 import com.sckw.transport.api.model.dto.RWaybillOrderDto;
 import com.sckw.transport.api.model.param.*;
 import com.sckw.transport.api.model.vo.*;
@@ -95,6 +96,7 @@ public interface TransportRemoteService {
 
     /**
      * 根据贸易订单集合查询物流公司
+     *
      * @param tradeOrderIds 贸易订单集合
      * @return 物流公司
      */
@@ -104,12 +106,15 @@ public interface TransportRemoteService {
 
     /**
      * 根据贸易订单查询物流合同
+     *
      * @param tradeId 贸易订单
      * @return 物流合同
      */
     List<LogisticContractVo> queryLogisticContractByTradeId(Long tradeId);
+
     /**
      * 根据贸易订单查询物流合同
+     *
      * @param tradeId 贸易订单
      * @return 物流公司
      */
@@ -117,6 +122,7 @@ public interface TransportRemoteService {
 
     /**
      * 根据贸易订单查询物流订单
+     *
      * @param tradeId 贸易订单id
      */
     List<KwtLogisticsOrderVO> queryLogisticOrderByTradeId(Long tradeId);
@@ -125,6 +131,7 @@ public interface TransportRemoteService {
 
     /**
      * 查询物流订单已派运力车辆
+     *
      * @param param
      * @return
      */
@@ -132,13 +139,15 @@ public interface TransportRemoteService {
 
     /**
      * 查询物流运单已派运力车辆
+     *
      * @param param
      * @return
      */
     List<RWaybillOrderVo> queryWaybillOrder(CapacityTruckParam param);
 
     /**
-     *新增物流订单
+     * 新增物流订单
+     *
      * @param param 请求参数
      */
     Integer addLogisticOrder(AddLogisticOrderParam param);
@@ -146,10 +155,11 @@ public interface TransportRemoteService {
     /**
      * 完结订单
      */
-    Boolean logisticOrderFinish( OrderFinishParam req);
+    Boolean logisticOrderFinish(OrderFinishParam req);
 
     /**
      * 获取物流订单列表
+     *
      * @param param 订单列表参数
      * @return 订单列表
      */
@@ -157,15 +167,17 @@ public interface TransportRemoteService {
 
     /**
      * 根据物流合同id获取运单
+     *
      * @param logContractIds 物流合同id集合
-     *@return 运单
+     * @return 运单
      */
     List<RWaybillSubOrderVo> queryWaybillOrderByLogContractIds(Set<Long> logContractIds);
 
     /**
      * 查询司机的当天完成量、7天完成量、30天完成量
+     *
      * @param entId 企业id
-     *@return 运单
+     * @return 运单
      */
     WaybillOrderTaskVO queryWaybillOrderTaskByDriverId(Long entId, Long driverId);
 
@@ -177,8 +189,11 @@ public interface TransportRemoteService {
     List<KwtLogisticsOrderAddressVo> queryByWOrderId(Long wayBillOrderId);
 
     List<WayContaractbillOrderVo> queryLogisticContractByContTradeIds(Set<Long> contractIds);
-    Long queryLogisticsCount(Long entId,Integer type);
+
+    Long queryLogisticsCount(Long entId, Integer type);
+
     Long queryWaybillCount();
+
     Long queryCount();
 
     List<LogisticsVo> logisticsList();
@@ -190,4 +205,7 @@ public interface TransportRemoteService {
     Object countLogistics(CountPara2 countPara);
 
     List<LogisticContractVo> queryLogOrderCirculateByLogOrderId(Long tradeOrderId);
+
+    List<ArchiveOrderDto> queryArchiveOrder(Integer limit);
+    void saveArchiveOrder(List<Long> id);
 }

+ 167 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/ArchiveOrderDto.java

@@ -0,0 +1,167 @@
+package com.sckw.transport.api.model.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author xucaiqin
+ * @date 2026-01-15 13:45:43
+ */
+@Getter
+@Setter
+@AllArgsConstructor
+@NoArgsConstructor
+public class ArchiveOrderDto implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 1L;
+    /**
+     * 运单id
+     */
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 物流订单id
+     */
+    private Long lOrderId;
+
+    /**
+     * 运单编号
+     */
+    private String wOrderNo;
+    /**
+     * 交易订单编号(kwo_trade_order)
+     */
+    private String tOrderNo;
+
+    /**
+     * 物流订单编号
+     */
+    private String lOrderNo;
+
+    /**
+     * 车辆信息ID
+     */
+    private Long truckId;
+
+    /**
+     * 车牌号
+     */
+    private String truckNo;
+    private Integer truckType;
+    /**
+     * 商品id
+     */
+    private Long goodsId;
+
+    /**
+     * 商品
+     */
+    private String goodsName;
+
+    /**
+     * 商品类别
+     */
+    private String goodsType;
+
+    /**
+     * 商品类别
+     */
+    private String goodsTypeName;
+
+    /**
+     * 商品规格
+     */
+    private String goodsSpec;
+
+    /**
+     * 商品规格
+     */
+    private String goodsSpecName;
+
+    /**
+     * 司机id
+     */
+    private Long driverId;
+
+    /**
+     * 司机姓名
+     */
+    private String driverName;
+    private String axes;
+    private Integer weighCount;
+
+    /**
+     * 司机手机号码
+     */
+    private String driverPhone;
+
+
+    /**
+     * 已委托量
+     */
+    private BigDecimal entrustAmount;
+
+    /**
+     * 卸货重量
+     */
+    private BigDecimal unloadAmount;
+
+    /**
+     * 装货重量
+     */
+    private BigDecimal loadAmount;
+
+
+    private Integer agentFlag;
+    private Integer archiveFlag;
+    /**
+     * 任务开始时间
+     */
+    private Date taskStartTime;
+
+    /**
+     * 任务结束时间
+     */
+    private Date taskEndTime;
+    private BigDecimal price;
+    private BigDecimal goodsPrice;
+
+
+    private List<OrderAddress> addresses;
+    private List<WeighDto> weigh;
+
+    private EntDto buy;
+    private EntDto sup;
+    private EntDto agt;
+    private OrderTicketDto ticket;
+
+    @Getter
+    @Setter
+    @AllArgsConstructor
+    @NoArgsConstructor
+    public static class OrderAddress implements Serializable {
+        @Serial
+        private static final long serialVersionUID = 1L;
+
+        private Long wOrderId;
+        private Integer addressType;
+        private String name;
+        private String cityName;
+        private String detailAddress;
+
+
+    }
+}

+ 42 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/EntDto.java

@@ -0,0 +1,42 @@
+package com.sckw.transport.api.model.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author xucaiqin
+ * @date 2026-01-15 13:45:43
+ */
+@Getter
+@Setter
+@AllArgsConstructor
+@NoArgsConstructor
+public class EntDto implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 企业名称
+     */
+    private String firmName;
+
+    /**
+     * 联系人姓名
+     */
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+}

+ 42 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/OrderTicketDto.java

@@ -0,0 +1,42 @@
+package com.sckw.transport.api.model.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author xucaiqin
+ * @date 2026-01-15 13:45:43
+ */
+@Getter
+@Setter
+@AllArgsConstructor
+@NoArgsConstructor
+public class OrderTicketDto implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 1L;
+    /**
+     * 磅单类型(1装货单/2卸货单)
+     */
+    private Integer type;
+
+    /**
+     * 装卸货数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 毛重
+     */
+    private BigDecimal grossAmount;
+
+    /**
+     * 皮重
+     */
+    private BigDecimal tareAmount;
+}

+ 40 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/WeighDto.java

@@ -0,0 +1,40 @@
+package com.sckw.transport.api.model.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author xucaiqin
+ * @date 2026-01-15 13:45:43
+ */
+@Getter
+@Setter
+@AllArgsConstructor
+@NoArgsConstructor
+public class WeighDto implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 1L;
+    /**
+     * 过磅类型
+     */
+    private Integer type;
+
+    /**
+     * 地磅id
+     */
+    private Long weighbridgeId;
+
+    /**
+     * 过磅重量
+     */
+    private BigDecimal weight;
+    private LocalDateTime createTime;
+    private String name;
+}

+ 4 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/dubbo/GoodsInfoServiceImpl.java

@@ -48,6 +48,10 @@ public class GoodsInfoServiceImpl implements GoodsInfoService {
     public GoodsDetails getDetail(Long id) {
         return kwpGoodsService.getDetails(id);
     }
+   @Override
+    public Map<Long, GoodsDetails> getDetailMap(List<Long> id) {
+         return kwpGoodsService.getDetails(id);
+    }
 
     @Override
     public GoodsDetail getDetailById(Long id) {

+ 32 - 3
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -1603,9 +1603,9 @@ public class KwpGoodsService {
     /**
      * 查询当前企业是否存在可用于展示立即下单按钮的有效贸易合同商品。
      *
-     * @param entId             当前登录企业ID
-     * @param goodsId           商品ID
-     * @param time              当前时间
+     * @param entId              当前登录企业ID
+     * @param goodsId            商品ID
+     * @param time               当前时间
      * @param buyerContractGoods 当前企业作为买方时已查询到的合同商品
      * @return 可展示立即下单按钮的贸易合同商品,未签有效合同则返回null
      */
@@ -1688,6 +1688,35 @@ public class KwpGoodsService {
         return list.stream().map(KwpGoods::getId).toList();
     }
 
+    public Map<Long, GoodsDetails> getDetails(List<Long> ids) {
+        List<KwpGoods> kwpGoods = kwpGoodsMapper.selectBatchIds(new HashSet<>(ids));
+        if (CollUtil.isEmpty(kwpGoods)) {
+            return null;
+        }
+        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(),
+                DictTypeEnum.UNIT_TYPE.getType(), DictTypeEnum.TAX_RATE.getType(), DictTypeEnum.GOODS_STATUS.getType(),
+                DictTypeEnum.ADDRESS_TYPE.getType(), DictTypeEnum.GOODS_SPEC.getType()));
+        Map<String, String> productNameMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
+        Map<String, String> unitMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
+        Map<String, String> goodsStatusMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
+        Map<String, String> goodsSpecMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
+        if (CollectionUtils.isNotEmpty(dict)) {
+            productNameMap = dict.get(DictTypeEnum.PRODUCT_NAME_TYPE.getType());
+            unitMap = dict.get(DictTypeEnum.UNIT_TYPE.getType());
+            goodsStatusMap = dict.get(DictTypeEnum.GOODS_STATUS.getType());
+            goodsSpecMap = dict.get(DictTypeEnum.GOODS_SPEC.getType());
+        }
+        HashMap<Long, GoodsDetails> res = new HashMap<>();
+        for (KwpGoods kwpGood : kwpGoods) {
+            GoodsDetails detail = BeanUtils.copyProperties(kwpGood, GoodsDetails.class);
+            detail.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(detail.getGoodsType()) : null);
+            detail.setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(detail.getUnit()) : null);
+            detail.setStatusLabel(CollectionUtils.isNotEmpty(goodsStatusMap) ? goodsStatusMap.get(String.valueOf(detail.getStatus())) : null);
+            detail.setSpecLabel(CollectionUtils.isNotEmpty(goodsSpecMap) ? goodsSpecMap.get(String.valueOf(detail.getSpec())) : null);
+            res.putIfAbsent(kwpGood.getId(),detail);
+        }
+        return res;
+    }
 
     public GoodsDetails getDetails(Long id) {
         KwpGoods goods = kwpGoodsMapper.selectById(id);

+ 20 - 27
sckw-modules/sckw-report/pom.xml

@@ -49,17 +49,17 @@
             <version>${basic.version}</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.sckw</groupId>
-            <artifactId>sckw-common-stream</artifactId>
-            <version>${basic.version}</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.sckw</groupId>-->
+<!--            <artifactId>sckw-common-stream</artifactId>-->
+<!--            <version>${basic.version}</version>-->
+<!--        </dependency>-->
 
-        <dependency>
-            <groupId>com.sckw</groupId>
-            <artifactId>sckw-common-seata</artifactId>
-            <version>${basic.version}</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.sckw</groupId>-->
+<!--            <artifactId>sckw-common-seata</artifactId>-->
+<!--            <version>${basic.version}</version>-->
+<!--        </dependency>-->
 
         <dependency>
             <groupId>com.sckw</groupId>
@@ -67,11 +67,11 @@
             <version>${basic.version}</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.sckw</groupId>
-            <artifactId>sckw-common-mongo</artifactId>
-            <version>${basic.version}</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.sckw</groupId>-->
+<!--            <artifactId>sckw-common-mongo</artifactId>-->
+<!--            <version>${basic.version}</version>-->
+<!--        </dependency>-->
 
         <dependency>
             <groupId>com.sckw</groupId>
@@ -82,7 +82,6 @@
         <dependency>
             <groupId>com.sckw</groupId>
             <artifactId>sckw-system-api</artifactId>
-<!--            <version>1.0.0</version>-->
             <version>${basic.version}</version>
         </dependency>
         <dependency>
@@ -93,21 +92,18 @@
         <dependency>
             <groupId>com.sckw</groupId>
             <artifactId>sckw-transport-api</artifactId>
-<!--            <version>1.0.0</version>-->
             <version>${basic.version}</version>
         </dependency>
 
         <dependency>
             <groupId>com.sckw</groupId>
             <artifactId>sckw-order-api</artifactId>
-<!--            <version>1.0.0</version>-->
             <version>${basic.version}</version>
         </dependency>
 
         <dependency>
             <groupId>com.sckw</groupId>
             <artifactId>sckw-fleet-api</artifactId>
-<!--            <version>1.0.0</version>-->
             <version>${basic.version}</version>
         </dependency>
 
@@ -128,12 +124,11 @@
             <groupId>jakarta.validation</groupId>
             <artifactId>jakarta.validation-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>com.sckw</groupId>
-            <artifactId>sckw-common-log</artifactId>
-<!--            <version>1.0.0</version>-->
-            <version>${basic.version}</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.sckw</groupId>-->
+<!--            <artifactId>sckw-common-log</artifactId>-->
+<!--            <version>${basic.version}</version>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>com.sckw</groupId>
             <artifactId>sckw-payment-api</artifactId>
@@ -142,13 +137,11 @@
         <dependency>
             <groupId>com.sckw</groupId>
             <artifactId>sckw-contract-api</artifactId>
-<!--            <version>1.0.0</version>-->
             <version>${basic.version}</version>
         </dependency>
         <dependency>
             <groupId>com.sckw</groupId>
             <artifactId>sckw-product-api</artifactId>
-<!--            <version>1.0.0</version>-->
             <version>${basic.version}</version>
         </dependency>
         <dependency>

+ 2 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/ReportApplication.java

@@ -3,6 +3,7 @@ package com.sckw.report;
 import com.sckw.remote.annotation.SckwRemoteApplication;
 import com.sckw.startup.annotation.SckwCloudApplication;
 import org.springframework.boot.SpringApplication;
+import org.springframework.scheduling.annotation.EnableScheduling;
 
 /**
  * desc 汇总统计报表
@@ -11,6 +12,7 @@ import org.springframework.boot.SpringApplication;
  */
 @SckwRemoteApplication
 @SckwCloudApplication
+@EnableScheduling
 public class ReportApplication {
 
     public static void main(String[] args) {

+ 0 - 194
sckw-modules/sckw-report/src/main/java/com/sckw/report/consumer/SckwBusSumConsumer.java

@@ -1,194 +0,0 @@
-package com.sckw.report.consumer;
-
-import com.alibaba.fastjson2.JSON;
-import com.alibaba.fastjson2.JSONObject;
-import com.sckw.core.exception.BusinessException;
-import com.sckw.core.utils.BeanUtils;
-import com.sckw.core.utils.StringUtils;
-import com.sckw.mongo.model.SckwLogisticsOrder;
-import com.sckw.mongo.model.SckwTradeOrder;
-import com.sckw.mongo.model.SckwWaybillOrder;
-import com.sckw.report.dao.SckwLogisticsOrderRepository;
-import com.sckw.report.dao.SckwTradeOrderRepository;
-import com.sckw.report.dao.SckwWaybillOrderRepository;
-import com.sckw.stream.model.SckwBusSum;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.annotation.Transient;
-import org.springframework.data.mongodb.core.MongoTemplate;
-import org.springframework.data.mongodb.core.query.Criteria;
-import org.springframework.data.mongodb.core.query.Query;
-import org.springframework.data.mongodb.core.query.Update;
-import org.springframework.util.ReflectionUtils;
-
-import java.lang.reflect.Modifier;
-import java.util.Optional;
-import java.util.function.Consumer;
-
-/**
- * @author zk
- * @desc 接收业务汇总消息
- * @date 2023/7/8 0008
- */
-@Configuration
-@RequiredArgsConstructor
-@Slf4j
-public class SckwBusSumConsumer {
-    @Autowired
-    SckwTradeOrderRepository tradeOrderRepository;
-    @Autowired
-    SckwLogisticsOrderRepository logisticsOrderRepository;
-    @Autowired
-    SckwWaybillOrderRepository waybillOrderRepository;
-    @Autowired
-    private MongoTemplate mongoTemplate;
-
-    private String TRADE_ORDER = "tradeOrder";
-
-    private String LOGISTICS_ORDER = "logisticsOrder";
-
-    private String WAYBILL_ORDER = "waybillOrder";
-
-    /**
-     * @desc 消息订阅
-     * @author zk
-     * @date 2023/7/8
-     **/
-    @Bean
-    public Consumer<SckwBusSum> sckwBusSum() {
-        return sckwBusSum -> {
-            try {
-                addMongodb(sckwBusSum);
-            } catch (Exception e) {
-                log.error("处理业务数据汇总消息:{}异常", JSON.toJSONString(sckwBusSum), e);
-            }
-        };
-    }
-
-    /**
-     * @param busSum rabbitMq业务汇总数据发送/消费对象
-     * @desc 业务存储处理
-     * @author zk
-     * @date 2023/7/8
-     **/
-    public void addMongodb(SckwBusSum busSum) {
-        log.info("busSum:{}", JSONObject.toJSONString(busSum));
-        /**初级校验**/
-        if (busSum.getObject() == null || StringUtils.isBlank(busSum.getBusSumType()) || busSum.getMethod() == 0) {
-            return;
-        }
-
-        /**业务存储**/
-        /**贸易订单**/
-        if (busSum.getBusSumType().equals(TRADE_ORDER)) {
-            SckwTradeOrder order = JSONObject.parseObject(JSON.toJSONString(busSum.getObject()), SckwTradeOrder.class);
-            order.set_id(order.getTOrderId());
-            if (busSum.getMethod() == 1) {
-                /**新增**/
-                tradeOrderRepository.insert(order);
-            } else if (busSum.getMethod() == 2) {
-                /**更新**/
-                Optional<SckwTradeOrder> optional = tradeOrderRepository.findById(order.get_id());
-                SckwTradeOrder order1 = optional.get();
-                BeanUtils.copyPropertiesValue(order, order1);
-                tradeOrderRepository.save(order1);
-            } else {
-                Optional<SckwTradeOrder> sckwTradeOrder = tradeOrderRepository.findById(order.get_id());
-                if (sckwTradeOrder.isPresent()) {
-                    updateById(order, order.get_id(), SckwTradeOrder.class);
-                } else {
-                    throw new BusinessException("更新交易订单失败,订单:" + order.getTOrderId() + "不存在");
-                }
-            }
-        }
-
-        /**物流订单**/
-        if (busSum.getBusSumType().equals(LOGISTICS_ORDER)) {
-            SckwLogisticsOrder order = JSONObject.parseObject(JSON.toJSONString(busSum.getObject()), SckwLogisticsOrder.class);
-            if (busSum.getMethod() == 1) {
-                /**新增**/
-                order.set_id(order.getLOrderId() == null ? order.get_id() : order.getLOrderId());
-                logisticsOrderRepository.insert(order);
-            } else {
-                /**更新**/
-                order.set_id(order.getLOrderId() == null ? order.get_id() : order.getLOrderId());
-                Optional<SckwLogisticsOrder> optional = logisticsOrderRepository.findById(order.get_id());
-                SckwLogisticsOrder order1 = optional.get();
-                BeanUtils.copyPropertiesValue(order, order1);
-                logisticsOrderRepository.save(order1);
-            }
-        }
-
-        /**车辆运单**/
-        if (busSum.getBusSumType().equals(WAYBILL_ORDER)) {
-            SckwWaybillOrder order = JSONObject.parseObject(JSON.toJSONString(busSum.getObject()), SckwWaybillOrder.class);
-            if (busSum.getMethod() == 1) {
-                /**新增**/
-                order.set_id(order.getWOrderId() == null ? order.get_id() : order.getWOrderId());
-                waybillOrderRepository.insert(order);
-            } else if (busSum.getMethod() == 2){
-                /**更新**/
-                order.set_id(order.getWOrderId() == null ? order.get_id() : order.getWOrderId());
-                Optional<SckwWaybillOrder> optional = waybillOrderRepository.findById(order.get_id());
-                SckwWaybillOrder order1 = optional.get();
-                BeanUtils.copyPropertiesValue(order, order1);
-                waybillOrderRepository.save(order1);
-            } else {
-                /**替换**/
-                Optional<SckwWaybillOrder> optional = waybillOrderRepository.findById(order.getWOrderId());
-                SckwWaybillOrder order1 = optional.get();
-
-                //新增
-                BeanUtils.copyPropertiesValue(order, order1);
-                order1.setWOrderId(null);
-                order1.setWOrderNo(null);
-                order1.setLoadTime(null);
-                order1.setUnloadTime(null);
-                waybillOrderRepository.insert(order1);
-            }
-        }
-    }
-
-    /**
-     * @desc: 根据id非空更新
-     * @author: yzc
-     * @date: 2023-07-19 8:58
-     * @Param obj:
-     * @Param clazz:
-     * @Param id:
-     * @return: void
-     */
-    private void updateById(Object obj, Long id, Class<?> clazz) {
-        // 生成 Update 条件
-        final Update update = new Update();
-        // 反射遍历 entity 对象,将非空字段设置到 Update 中
-        ReflectionUtils.doWithFields(clazz, field -> {
-            // 排除指定条件
-            if ("_id".equals(field.getName()) // 排除 id 字段,因为作为查询主键
-                    || field.getAnnotation(Transient.class) != null // 排除 @Transient 注解的字段,因为非存储字段
-                    || Modifier.isStatic(field.getModifiers())) { // 排除静态字段
-                return;
-            }
-            // 设置字段可反射
-            if (!field.isAccessible()) {
-                field.setAccessible(true);
-            }
-            // 排除字段为空的情况
-            if (field.get(obj) == null) {
-                return;
-            }
-            // 设置更新条件
-            update.set(field.getName(), field.get(obj));
-        });
-        // 防御,避免有业务传递空的 Update 对象
-        if (update.getUpdateObject().isEmpty()) {
-            return;
-        }
-        // 执行更新
-        mongoTemplate.updateFirst(new Query(Criteria.where("_id").is(id)), update, clazz);
-    }
-
-}

+ 1 - 1
sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/HomeController.java

@@ -9,7 +9,7 @@ import com.sckw.contract.api.model.vo.ContractVo;
 import com.sckw.core.web.response.BaseResult;
 import com.sckw.order.api.model.*;
 import com.sckw.report.service.KwHomeService;
-import com.sckw.report.service.vo.OperationCountVo;
+import com.sckw.report.model.vo.OperationCountVo;
 import com.sckw.report.api.model.TodoCountVo;
 import com.sckw.transport.api.model.param.LogisticsOrderAuditPara;
 import com.sckw.transport.api.model.vo.LogisticsDto;

+ 0 - 40
sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwFleetController.java

@@ -1,40 +0,0 @@
-package com.sckw.report.controller;
-
-import com.sckw.core.model.page.PageResult;
-import com.sckw.core.web.response.HttpResult;
-import com.sckw.report.service.KwFleetService;
-import jakarta.servlet.http.HttpServletRequest;
-import lombok.AllArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.HashMap;
-
-/**
- * @author zk
- * @desc 运力报表
- * @date 2023/7/8 0008
- */
-@AllArgsConstructor
-@RestController
-@RequestMapping("/kwFleet")
-public class KwFleetController {
-
-    @Autowired
-    KwFleetService fleetService;
-
-    /**
-     * @param params {page:页数、pageSize:每页条数、。。。}
-     * @desc 分页查询
-     * @author zk
-     * @date 2023/9/1
-     **/
-    @PostMapping("/capacity")
-    public HttpResult capacity(@RequestBody HashMap params, HttpServletRequest request) {
-        PageResult pageResult = fleetService.capacity(params, request);
-        return HttpResult.ok(pageResult);
-    }
-}

+ 0 - 117
sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwOrderController.java

@@ -1,117 +0,0 @@
-package com.sckw.report.controller;
-
-import com.sckw.core.exception.CustomPromptException;
-import com.sckw.core.utils.CollectionUtils;
-import com.sckw.core.web.constant.HttpStatus;
-import com.sckw.core.web.response.HttpResult;
-import com.sckw.excel.utils.ExcelUtil;
-import com.sckw.report.service.KwOrderService;
-import com.sckw.report.service.param.*;
-import jakarta.servlet.http.HttpServletResponse;
-import lombok.AllArgsConstructor;
-import org.springframework.http.MediaType;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- * @author zk
- * @desc 订单服务
- * @date 2023/7/10 0010
- */
-@AllArgsConstructor
-@RestController
-@RequestMapping("/kwOrder")
-public class KwOrderController {
-
-    private final KwOrderService orderService;
-
-    /**
-     * @desc: 贸易订单详情
-     * @author: yzc
-     * @date: 2023-07-17 10:29
-     * @Param id:
-     * @return: com.sckw.core.web.response.HttpResult
-     */
-    @GetMapping("/tradeOrderDetail")
-    public HttpResult detail(@RequestParam Long id) {
-        return HttpResult.ok(orderService.tradeOrderDetail(id));
-    }
-
-    /**
-     * @desc: 贸易订单列表分页查询
-     * @author: yzc
-     * @date: 2023-07-17 10:29
-     * @Param params:
-     * @return: com.sckw.core.web.response.HttpResult
-     */
-    @PostMapping(value = "/tradeOrderSelect", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult select(@RequestBody @Validated TradeOrderListSelectParam params) {
-        return HttpResult.ok(orderService.tradeOrderSelect(params));
-    }
-
-    /**
-     * @desc: 贸易订单列表统计查询
-     * @author: yzc
-     * @date: 2023-07-17 10:29
-     * @Param params:
-     * @return: com.sckw.core.web.response.HttpResult
-     */
-    @PostMapping(value = "/tradeOrderStatistic", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult statistic(@RequestBody @Validated TradeOrderListStatisticParam params) {
-        return HttpResult.ok(orderService.tradeOrderStatistic(params));
-    }
-
-    /**
-     * @desc: app主界面贸易订单统计
-     * @author: yzc
-     * @date: 2023-08-21 17:38
-     * @Param params:
-     * @return: com.sckw.core.web.response.HttpResult
-     */
-    @PostMapping(value = "/tradeOrderAppStatistic", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult appStatistic(@RequestBody @Validated TradeOrderAppStatisticParam params) {
-        return HttpResult.ok(orderService.appStatistic(params));
-    }
-
-    /**
-     * @desc: 贸易订单列表导出
-     * @author: yzc
-     * @date: 2023-07-17 10:29
-     * @Param params:
-     * @return: com.sckw.core.web.response.HttpResult
-     */
-    @PostMapping(value = "/tradeOrderExport", produces = MediaType.APPLICATION_JSON_VALUE)
-    public void export(@RequestBody @Validated TradeOrderListExportParam params, HttpServletResponse response) {
-        List<TradeOrderListExport> list = orderService.export(params);
-        if (CollectionUtils.isEmpty(list)) {
-            throw new CustomPromptException(HttpStatus.SUCCESS_CODE, "暂无数据,请确认");
-        }
-        ExcelUtil.downData(response, TradeOrderListExport.class, list);
-    }
-
-    /**
-     * @desc: 贸易订单对账单分页列表查询
-     * @author: yzc
-     * @date: 2023-07-20 15:03
-     * @Param params:
-     * @return: com.sckw.core.web.response.HttpResult
-     */
-    @PostMapping(value = "/tradeOrderStatementList", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult tradeOrderStatementList(@RequestBody @Validated TradeOrderStatementList params) {
-        return HttpResult.ok(orderService.tradeOrderStatementList(params));
-    }
-
-    /**
-     * @desc: 合同关联订单列表
-     * @author: yzc
-     * @date: 2023-07-27 16:48
-     * @Param params:
-     * @return: com.sckw.core.web.response.HttpResult
-     */
-    @PostMapping(value = "/tradeOrderContractList", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult tradeOrderContractList(@RequestBody @Validated TradeOrderContractParam params) {
-        return HttpResult.ok(orderService.tradeOrderContractList(params));
-    }
-}

+ 0 - 46
sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwOrderStatisticsController.java

@@ -1,46 +0,0 @@
-package com.sckw.report.controller;
-
-import com.sckw.core.web.response.HttpResult;
-import com.sckw.report.model.vo.WbTOrderDataStsParam;
-import com.sckw.report.service.KwOrderStatisticsService;
-import lombok.AllArgsConstructor;
-import org.springframework.http.MediaType;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @desc: 订单统计相关接口
- * @author: yzc
- * @date: 2023-09-11 14:31
- */
-@AllArgsConstructor
-@RestController
-@RequestMapping("/kwOrderStatistics")
-public class KwOrderStatisticsController {
-
-    private final KwOrderStatisticsService kwOrderStatisticsService;
-
-    /**
-     * @desc: 工作台贸易订单数据统计
-     * @author: yzc
-     * @date: 2023-09-11 14:43
-     * @Param params:
-     * @return: com.sckw.core.web.response.HttpResult
-     */
-    @PostMapping(value = "/workbenchData", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult workbenchData(@RequestBody @Validated WbTOrderDataStsParam params) {
-        return HttpResult.ok(kwOrderStatisticsService.workbenchData(params));
-    }
-
-    /**
-     * @desc: 工作台采购订单列表
-     * @author: yzc
-     * @date: 2023-09-13 19:13
-     * @return: com.sckw.core.web.response.HttpResult
-     */
-    @GetMapping(value = "/workbenchPurchaseList", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult workbenchPurchaseList() {
-        return HttpResult.ok(kwOrderStatisticsService.workbenchPurchaseList());
-    }
-
-}

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

@@ -1,285 +0,0 @@
-package com.sckw.report.controller;
-
-import com.sckw.core.exception.CustomPromptException;
-import com.sckw.core.utils.CollectionUtils;
-import com.sckw.core.web.constant.HttpStatus;
-import com.sckw.core.web.response.HttpResult;
-import com.sckw.excel.config.easyexcel.RequestHolder;
-import com.sckw.excel.utils.ExcelUtil;
-import com.sckw.report.service.KwAcceptCarriageService;
-import com.sckw.report.service.KwConsignService;
-import com.sckw.report.service.KwTransportService;
-import com.sckw.report.service.param.*;
-import com.sckw.report.service.vo.AcceptCarriageOrderExcelVo;
-import com.sckw.report.service.vo.ConsignOrderExcelVo;
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- * @author zk
- * @desc 运输服务
- * @date 2023/7/10 0010
- */
-@Slf4j
-@Validated
-@AllArgsConstructor
-@RestController
-@RequestMapping("/kwTransport")
-public class KwTransportController {
-
-    @Autowired
-    KwTransportService transportService;
-
-    @Autowired
-    KwConsignService consignService;
-
-    @Autowired
-    KwAcceptCarriageService acceptCarriageService;
-
-    /**
-     * 承运订单首页条件查询
-     *
-     * @param query 查询参数
-     * @return
-     */
-    @RequestMapping(value = "/selectAcceptCarriageOrderList", method = RequestMethod.POST)
-    public HttpResult acceptCarriageOrderList(@Validated @RequestBody AcceptCarriageOrderQuery query) {
-        HttpResult httpResult = new HttpResult();
-        try {
-            httpResult = acceptCarriageService.acceptCarriageOrderList(query,"2");
-        } catch (Exception e) {
-            log.error("承运订单首页条件查询 查询失败:{}", e.getMessage(), e);
-            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
-        }
-        return httpResult;
-    }
-
-    /**
-     * 承运订单top统计
-     *
-     * @param query
-     * @return
-     */
-    @RequestMapping(value = "/statisticsAcceptCarriage", method = RequestMethod.POST)
-    public HttpResult statisticsAcceptCarriage(@Validated @RequestBody AcceptCarriageOrderQuery query) {
-        try {
-            return acceptCarriageService.statisticsAcceptCarriage(query,"2");
-        } catch (Exception e) {
-            log.error("承运订单top统计失败:{}", e.getMessage(), e);
-            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
-        }
-    }
-
-//    /**
-//     * 承运订单导出
-//     *
-//     * @param query 查询参数
-//     * @return
-//     */
-//    @RequestMapping(value = "/acceptCarriageOrderExport", method = RequestMethod.POST)
-//    public HttpResult exportAcceptCarriage(@Validated @RequestBody AcceptCarriageOrderQuery query) {
-//        HttpServletResponse response = RequestHolder.getResponse();
-//        List<AcceptCarriageOrderExcelVo> list = acceptCarriageService.exportAcceptCarriage(query,"2");
-//        if (!org.springframework.util.CollectionUtils.isEmpty(list)) {
-//            ExcelUtil.download(response, AcceptCarriageOrderExcelVo.class, list);
-//            return null;
-//        }
-//        return HttpResult.ok("没有可导出的数据");
-//    }
-
-    /**
-     * 托运订单导出
-     *
-     * @param query 查询参数
-     * @return
-     */
-    @RequestMapping(value = "/consignOrderExport", method = RequestMethod.POST)
-    public HttpResult consignOrderExport(@Validated @RequestBody AcceptCarriageOrderQuery query) {
-        HttpServletResponse response = RequestHolder.getResponse();
-        List<AcceptCarriageOrderExcelVo> list = acceptCarriageService.exportAcceptCarriage(query,"2");
-        if (!org.springframework.util.CollectionUtils.isEmpty(list)) {
-            ExcelUtil.download(response, AcceptCarriageOrderExcelVo.class, list);
-            return null;
-        }
-        return HttpResult.ok("没有可导出的数据");
-    }
-
-    /**
-     * 托运订单首页条件查询
-     *
-     * @param query 查询参数
-     * @return
-     */
-    @RequestMapping(value = "/selectConsignOrderList", method = RequestMethod.POST)
-    public HttpResult selectConsignOrderList(@Validated @RequestBody ConsignOrderQuery query) {
-        HttpResult httpResult = new HttpResult();
-        try {
-            httpResult = consignService.selectConsignOrderList(query,"1");
-        } catch (Exception e) {
-            log.error("托运订单查询失败:{}", e.getMessage(), e);
-            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
-        }
-        return httpResult;
-    }
-
-    /**
-     * 托运订单-top统计
-     *
-     * @param query
-     * @return
-     */
-    @RequestMapping(value = "/statisticsConsign", method = RequestMethod.POST)
-    public HttpResult statisticsConsign(@Validated @RequestBody ConsignOrderQuery query) {
-        try {
-            return consignService.statisticsConsign(query,"1");
-        } catch (Exception e) {
-            log.error("托运订单top统计失败:{}", e.getMessage(), e);
-            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
-        }
-    }
-
-    /**
-     * 托运订单-导出
-     *
-     * @param query 查询参数
-     * @return
-     */
-    @RequestMapping(value = "/exportConsign", method = RequestMethod.POST)
-    public HttpResult exportConsign(@Validated @RequestBody ConsignOrderQuery query) {
-        HttpServletResponse response = RequestHolder.getResponse();
-        List<ConsignOrderExcelVo> list = consignService.exportConsign(query,"1");
-        if (!org.springframework.util.CollectionUtils.isEmpty(list)) {
-            ExcelUtil.download(response, ConsignOrderExcelVo.class, list);
-            return null;
-        }
-        return HttpResult.ok("没有可导出的数据");
-    }
-
-
-    /**
-     * 运单管理-运单列表
-     * @param query
-     * @return
-     */
-    @RequestMapping(value = "/getWaybillOrders", method = RequestMethod.POST)
-    public HttpResult getWayBillOrders(@Validated @RequestBody WaybillOrderListSelect query){
-        try {
-            return transportService.getWaybillOrders(query);
-        } catch (Exception e) {
-            log.error("[WAYBILL]运单管理-运单列表失败:{}", e.getMessage(), e);
-            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
-        }
-    }
-
-    /**
-     * 运单管理-运单列表 top 统计
-     *
-     * @param query
-     * @return {@link HttpResult }
-     * @author jc
-     * @date 2023/07/21
-     */
-    @RequestMapping(value = "/getWayBillStatistics", method = RequestMethod.POST)
-    public HttpResult wayBillStatistics(@Validated @RequestBody WaybillOrderListSelect query) {
-        try {
-            return transportService.getWayBillStatistics(query);
-        } catch (Exception e) {
-            log.error("运单管理-运单列表top统计失败:{}", e.getMessage(), e);
-            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
-        }
-    }
-
-    /**
-     * 运单管理-运单列表 列表统计数据项
-     * 【还需要修改】
-     * @param query
-     * @return {@link HttpResult }
-     * @author jc
-     * @date 2023/07/21
-     */
-    @RequestMapping(value = "/wayBillTotalCount", method = RequestMethod.POST)
-    public HttpResult wayBillTotalCount(@Validated @RequestBody WaybillOrderListSelect query) {
-        try {
-            return transportService.wayBillTotalCount(query);
-        } catch (Exception e) {
-            log.error("运单管理-运单列表top统计失败:{}", e.getMessage(), e);
-            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
-        }
-    }
-
-    /**
-     * 承运订单-获取分包托运列表
-     *
-     * @param lOrderId 单据id
-     * @param page
-     * @param pageSize
-     * @return
-     */
-    @RequestMapping(value = "/getSubcontractConsignment", method = RequestMethod.GET)
-    public HttpResult getSubcontractConsignment(@RequestParam("lOrderId") @NotBlank(message = "单据id不能为空") String lOrderId,
-                                                @RequestParam("page") @NotBlank(message = "分页不能为空") int page,
-                                                @RequestParam("pageSize") @NotBlank(message = "分页条数不能为空") int pageSize) {
-        try {
-            return transportService.getSubcontractConsignment(lOrderId, page, pageSize);
-        } catch (Exception e) {
-            log.error("承运订单-获取分包托运列表 error:{}", e.getMessage(), e);
-            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
-        }
-    }
-
-    /**
-     * 承运合同/托运合同-根据合同id获取托运订单列表
-     * @param contractParam 请求参数
-     * @return
-     */
-    @RequestMapping(value = "/getLogisticsOrderContract", method = RequestMethod.POST)
-    public HttpResult getLogisticsOrderContract(@Validated @RequestBody ContractParam contractParam) {
-        try {
-            return transportService.getLogisticsOrderByContractId(contractParam);
-        } catch (Exception e) {
-            log.error("承运合同/托运合同-根据合同id获取托运订单列表 error:{}", e.getMessage(), e);
-            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
-        }
-    }
-
-
-    /**
-     * 运单管理-运单列表 运单地址查询接口
-     * @param tag
-     * @return
-     */
-    @RequestMapping(value = "/wayBillAddresses", method = RequestMethod.GET)
-    public HttpResult wayBillAddresses( @RequestParam("tag") @NotNull(message = "类型不能为空") int tag) {
-        try {
-            return transportService.getWayBillAddresses(tag);
-        } catch (Exception e) {
-            log.error("运单管理-运单地址查询接口 {}", e.getMessage(), e);
-            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
-        }
-    }
-
-    /**
-     * @desc: 运单列表导出
-     * @author: jc
-     * @date: 2023-08-09 20:16:22
-     * @Param params:
-     * @return: com.sckw.core.web.response.HttpResult
-     */
-    @PostMapping(value = "/wayBillOrderExport", produces = MediaType.APPLICATION_JSON_VALUE)
-    public void wayBillOrderExport(@RequestBody WaybillOrderQuery query, HttpServletResponse response) {
-        List<WaybillOrderListExport> list = transportService.wayBillOrderExport(query);
-        if (CollectionUtils.isEmpty(list)) {
-            throw new CustomPromptException(HttpStatus.SUCCESS_CODE, "暂无数据,请确认");
-        }
-        ExcelUtil.downData(response, WaybillOrderListExport.class, list);
-    }
-}

+ 0 - 33
sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwWorkController.java

@@ -1,33 +0,0 @@
-package com.sckw.report.controller;
-
-import com.sckw.core.web.response.HttpResult;
-import com.sckw.report.service.KwWorkService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author czh
- * @desc 工作台
- * @date 2023/9/11
- */
-@RestController
-@RequestMapping("kwWork")
-public class KwWorkController {
-
-    @Autowired
-    private KwWorkService kwWorkService;
-
-    /**
-     * @return HttpResult
-     * @desc: 业务数据数量统计
-     * @author: czh
-     * @date: 2023/9/11
-     */
-    @PostMapping("queryBusinessStatistics")
-    public HttpResult queryBusinessStatistics() {
-        return HttpResult.ok(kwWorkService.queryBusinessStatistics());
-    }
-
-}

+ 0 - 91
sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/operationManagement/TradeOrderManageController.java

@@ -1,91 +0,0 @@
-package com.sckw.report.controller.operationManagement;
-
-import com.sckw.core.exception.CustomPromptException;
-import com.sckw.core.utils.CollectionUtils;
-import com.sckw.core.web.constant.HttpStatus;
-import com.sckw.core.web.response.HttpResult;
-import com.sckw.excel.utils.ExcelUtil;
-import com.sckw.report.model.vo.OperatorTOrderContractParam;
-import com.sckw.report.model.vo.OperatorTOrderExportQueryVO;
-import com.sckw.report.model.vo.OperatorTOrderListQueryVO;
-import com.sckw.report.model.vo.OperatorTOrderStsQueryVO;
-import com.sckw.report.service.operator.TradeOrderManageService;
-import com.sckw.report.service.param.TradeOrderListExport;
-import jakarta.servlet.http.HttpServletResponse;
-import lombok.AllArgsConstructor;
-import org.springframework.http.MediaType;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-
-/**
- * @desc: 运营端贸易订单管理相关接口
- * @author: yzc
- * @date: 2023-09-14 11:21
- */
-@AllArgsConstructor
-@RestController
-@RequestMapping("/kwOrderManage")
-public class TradeOrderManageController {
-
-    private final TradeOrderManageService tradeOrderManageService;
-
-
-    /**
-     * @desc: 贸易订单列表分页查询
-     * @author: yzc
-     * @date: 2023-07-17 10:29
-     * @Param params:
-     * @return: com.sckw.core.web.response.HttpResult
-     */
-    @PostMapping(value = "/listPaging", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult listPaging(@RequestBody @Validated OperatorTOrderListQueryVO params) {
-        return HttpResult.ok(tradeOrderManageService.listPaging(params));
-    }
-
-    /**
-     * @desc: 贸易订单列表统计查询
-     * @author: yzc
-     * @date: 2023-07-17 10:29
-     * @Param params:
-     * @return: com.sckw.core.web.response.HttpResult
-     */
-    @PostMapping(value = "/listStatistic", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult listStatistic(@RequestBody @Validated OperatorTOrderStsQueryVO params) {
-        return HttpResult.ok(tradeOrderManageService.listStatistic(params));
-    }
-
-    /**
-     * @desc: 贸易订单列表导出
-     * @author: yzc
-     * @date: 2023-09-14 14:40
-     * @Param params:
-     * @Param response:
-     * @return: void
-     */
-    @PostMapping(value = "/listExport", produces = MediaType.APPLICATION_JSON_VALUE)
-    public void listExport(@RequestBody @Validated OperatorTOrderExportQueryVO params, HttpServletResponse response) {
-        List<TradeOrderListExport> list = tradeOrderManageService.export(params);
-        if (CollectionUtils.isEmpty(list)) {
-            throw new CustomPromptException(HttpStatus.SUCCESS_CODE, "暂无数据,请确认");
-        }
-        ExcelUtil.downData(response, TradeOrderListExport.class, list);
-    }
-
-    /**
-     * @desc: 合同关联订单列表
-     * @author: yzc
-     * @date: 2023-09-14 14:51
-     * @Param params:
-     * @return: com.sckw.core.web.response.HttpResult
-     */
-    @PostMapping(value = "/contractAssociationList", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult contractAssociationList(@RequestBody @Validated OperatorTOrderContractParam params) {
-        return HttpResult.ok(tradeOrderManageService.contractAssociationList(params));
-    }
-
-}

+ 0 - 29
sckw-modules/sckw-report/src/main/java/com/sckw/report/dao/SckwLogisticsOrderRepository.java

@@ -1,29 +0,0 @@
-package com.sckw.report.dao;
-
-import com.sckw.mongo.model.SckwLogisticsOrder;
-import lombok.Data;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.mongodb.repository.MongoRepository;
-import org.springframework.data.mongodb.repository.Query;
-
-/**
- * @author zk
- * @desc MongoDB-物流订单信息
- * @date 2023/7/8 0008
- */
-public interface SckwLogisticsOrderRepository extends MongoRepository<SckwLogisticsOrder, Long> {
-
-    @Query(value = "{'keywords':?#{{$regex:[0]}}}",fields = "{}",sort = "{}")
-    public Page<SckwLogisticsOrder> findFileListByFileNameLike(String fileName, Pageable pageable);
-//以上内容表示 根据fileHead进行模糊查询
-//原本需求是:根据传入的文件名参数对collections的字段fileHead进行匹配
-//其中关键词是:$regex
-//为什么会这么写呢:是因为也是通过查询资料知道可以这样实现模糊查询,
-//也即是参考链接中的@Query的使用,其中用到了EL表达式
-
-    //一个and
-    @Query (value="{'$and': [{'id':?0},{ 'timeStamp':{'$gte':?1}},{'iseffect':{'$lte':'2'}}]}")
-    public Page<SckwLogisticsOrder> findSckwLogisticsOrderById(String id, Data timeStamp, Pageable pageable);
-
-}

+ 0 - 12
sckw-modules/sckw-report/src/main/java/com/sckw/report/dao/SckwTradeOrderRepository.java

@@ -1,12 +0,0 @@
-package com.sckw.report.dao;
-
-import com.sckw.mongo.model.SckwTradeOrder;
-import org.springframework.data.mongodb.repository.MongoRepository;
-
-/**
- * @author zk
- * @desc MongoDB-交易订单信息
- * @date 2023/7/8 0008
- */
-public interface SckwTradeOrderRepository extends MongoRepository<SckwTradeOrder, Long> {
-}

+ 0 - 12
sckw-modules/sckw-report/src/main/java/com/sckw/report/dao/SckwWaybillOrderRepository.java

@@ -1,12 +0,0 @@
-package com.sckw.report.dao;
-
-import com.sckw.mongo.model.SckwWaybillOrder;
-import org.springframework.data.mongodb.repository.MongoRepository;
-
-/**
- * @author zk
- * @desc MongoDB-车辆订单信息
- * @date 2023/7/8 0008
- */
-public interface SckwWaybillOrderRepository extends MongoRepository<SckwWaybillOrder, Long> {
-}

+ 266 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/entity/KwrRecordOrder.java

@@ -0,0 +1,266 @@
+package com.sckw.report.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 运单
+ *
+ * @author xucaiqin
+ * @date 2026-06-26 19:21:44
+ */
+@Schema(description = "运单")
+@Data
+@TableName(value = "kwr_record_order")
+public class KwrRecordOrder {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    @Schema(description = "主键")
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    @TableField(value = "ent_id")
+    @Schema(description = "企业id")
+    private Long entId;
+
+    /**
+     * 贸易订单
+     */
+    @TableField(value = "t_order_no")
+    @Schema(description = "贸易订单")
+    private String tOrderNo;
+
+    /**
+     * 物流订单
+     */
+    @TableField(value = "l_order_no")
+    @Schema(description = "物流订单")
+    private String lOrderNo;
+
+    /**
+     * 物流运单
+     */
+    @TableField(value = "w_order_no")
+    @Schema(description = "物流运单")
+    private String wOrderNo;
+
+    /**
+     * 商品id
+     */
+    @TableField(value = "goods_id")
+    @Schema(description = "商品id")
+    private Long goodsId;
+
+    /**
+     * 商品
+     */
+    @TableField(value = "goods_name")
+    @Schema(description = "商品")
+    private String goodsName;
+
+    /**
+     * 商品类别
+     */
+    @TableField(value = "goods_type")
+    @Schema(description = "商品类别")
+    private String goodsType;
+
+    /**
+     * 商品类别
+     */
+    @TableField(value = "goods_type_name")
+    @Schema(description = "商品类别")
+    private String goodsTypeName;
+
+    /**
+     * 商品规格
+     */
+    @TableField(value = "goods_spec")
+    @Schema(description = "商品规格")
+    private String goodsSpec;
+
+    /**
+     * 商品规格
+     */
+    @TableField(value = "goods_spec_name")
+    @Schema(description = "商品规格")
+    private String goodsSpecName;
+
+    /**
+     * 供应企业
+     */
+    @TableField(value = "sup_ent_id")
+    @Schema(description = "供应企业")
+    private Long supEntId;
+
+    /**
+     * 供应企业
+     */
+    @TableField(value = "sup_ent_name")
+    @Schema(description = "供应企业")
+    private String supEntName;
+
+    /**
+     * 采购企业
+     */
+    @TableField(value = "pro_ent_id")
+    @Schema(description = "采购企业")
+    private Long proEntId;
+
+    /**
+     * 采购企业
+     */
+    @TableField(value = "pro_ent_name")
+    @Schema(description = "采购企业")
+    private String proEntName;
+
+    /**
+     * 代理企业
+     */
+    @TableField(value = "agent_ent_id")
+    @Schema(description = "代理企业")
+    private Long agentEntId;
+
+    /**
+     * 代理企业
+     */
+    @TableField(value = "agent_ent_name")
+    @Schema(description = "代理企业")
+    private String agentEntName;
+
+    /**
+     * 装货地址
+     */
+    @TableField(value = "load_address")
+    @Schema(description = "装货地址")
+    private String loadAddress;
+
+    /**
+     * 卸货地址
+     */
+    @TableField(value = "unload_address")
+    @Schema(description = "卸货地址")
+    private String unloadAddress;
+
+    /**
+     * 车牌号
+     */
+    @TableField(value = "truck_no")
+    @Schema(description = "车牌号")
+    private String truckNo;
+    /**
+     * 车辆类型
+     */
+    @TableField(value = "truck_type")
+    @Schema(description = "车辆类型")
+    private String truckType;
+
+    /**
+     * 轴数
+     */
+    @TableField(value = "axes")
+    @Schema(description = "轴数")
+    private String axes;
+
+    /**
+     * 任务量
+     */
+    @TableField(value = "task_num")
+    @Schema(description = "任务量")
+    private BigDecimal taskNum;
+
+    /**
+     * 过磅次数
+     */
+    @TableField(value = "weigh_count")
+    @Schema(description = "过磅次数")
+    private Integer weighCount;
+
+    /**
+     * 数据来源 1-自销 2-代理
+     */
+    @TableField(value = "data_type")
+    @Schema(description = "数据来源 1-自销 2-代理")
+    private Integer dataType;
+
+    /**
+     * 运价
+     */
+    @TableField(value = "price")
+    @Schema(description = "运价")
+    private BigDecimal price;
+
+    /**
+     * 代理费金额
+     */
+    @TableField(value = "agent_amount")
+    @Schema(description = "代理费金额")
+    private BigDecimal agentAmount;
+
+    /**
+     * 金额
+     */
+    @TableField(value = "amount")
+    @Schema(description = "金额")
+    private BigDecimal amount;
+
+    /**
+     * 毛重
+     */
+    @TableField(value = "gross_amount")
+    @Schema(description = "毛重")
+    private BigDecimal grossAmount;
+
+    /**
+     * 皮重
+     */
+    @TableField(value = "tare_amount")
+    @Schema(description = "皮重")
+    private BigDecimal tareAmount;
+
+    /**
+     * 净重
+     */
+    @TableField(value = "net_amount")
+    @Schema(description = "净重")
+    private BigDecimal netAmount;
+
+    /**
+     * 司机名称
+     */
+    @TableField(value = "driver_name")
+    @Schema(description = "司机名称")
+    private String driverName;
+
+    /**
+     * 司机手机
+     */
+    @TableField(value = "driver_phone")
+    @Schema(description = "司机手机")
+    private String driverPhone;
+
+    /**
+     * 完成时间
+     */
+    @TableField(value = "success_time")
+    @Schema(description = "完成时间")
+    private LocalDateTime successTime;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+}

+ 71 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/entity/KwrRecordOrderWeight.java

@@ -0,0 +1,71 @@
+package com.sckw.report.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Data;
+
+/**
+* @date 2026-06-26 19:24:11
+* @author xucaiqin
+*/
+/**
+ * 过磅
+ */
+@Schema(description="过磅")
+@Data
+@TableName(value = "kwr_record_order_weight")
+public class KwrRecordOrderWeight {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    @Schema(description="主键")
+    private Long id;
+
+    /**
+     * 订单id
+     */
+    @TableField(value = "order_id")
+    @Schema(description="订单id")
+    private Long orderId;
+
+    /**
+     * 地磅名
+     */
+    @TableField(value = "`name`")
+    @Schema(description="地磅名")
+    private String name;
+
+    /**
+     * 重量
+     */
+    @TableField(value = "weight")
+    @Schema(description="重量")
+    private BigDecimal weight;
+
+    /**
+     * 类型 1-装货 2-卸货
+     */
+    @TableField(value = "`type`")
+    @Schema(description="类型 1-装货 2-卸货")
+    private Integer type;
+
+    /**
+     * 第几次
+     */
+    @TableField(value = "sort")
+    @Schema(description="第几次")
+    private Integer sort;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    @Schema(description="创建时间")
+    private LocalDateTime createTime;
+}

+ 41 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/enums/TruckTypeEnum.java

@@ -0,0 +1,41 @@
+package com.sckw.report.enums;
+
+import lombok.Getter;
+
+/**
+ * @author zk
+ * @desc 车辆类型
+ * @date 2024/3/8 0008
+ */
+@Getter
+public enum TruckTypeEnum {
+    /**
+     * 货车
+     */
+    TRUCK(1, "货车"),
+
+    /**
+     * 牵引车
+     */
+    TRACTOR(2, "牵引车")
+
+    ;
+
+
+    private final Integer code;
+    private final String name;
+
+    TruckTypeEnum(Integer code, String name) {
+        this.code = code;
+        this.name = name;
+    }
+
+    public static String getName(Integer code) {
+        for (TruckTypeEnum entity : TruckTypeEnum.values()) {
+            if (entity.getCode().equals(code)) {
+                return entity.getName();
+            }
+        }
+        return null;
+    }
+}

+ 13 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/mapper/KwrRecordOrderMapper.java

@@ -0,0 +1,13 @@
+package com.sckw.report.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.report.entity.KwrRecordOrder;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @date 2026-06-26 19:21:44
+* @author xucaiqin
+*/
+@Mapper
+public interface KwrRecordOrderMapper extends BaseMapper<KwrRecordOrder> {
+}

+ 13 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/mapper/KwrRecordOrderWeightMapper.java

@@ -0,0 +1,13 @@
+package com.sckw.report.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.report.entity.KwrRecordOrderWeight;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @date 2026-06-26 19:24:11
+* @author xucaiqin
+*/
+@Mapper
+public interface KwrRecordOrderWeightMapper extends BaseMapper<KwrRecordOrderWeight> {
+}

+ 0 - 86
sckw-modules/sckw-report/src/main/java/com/sckw/report/model/dto/OperatorTOrderListStsConditionDTO.java

@@ -1,86 +0,0 @@
-package com.sckw.report.model.dto;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-
-import java.io.Serial;
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * @desc: 运营端贸易订单列表统计查询条件dto
- * @author: yzc
- * @date: 2023-09-14 11:33
- */
-@Getter
-@Setter
-@ToString
-public class OperatorTOrderListStsConditionDTO implements Serializable {
-    @Serial
-    private static final long serialVersionUID = 1352493248166762988L;
-
-
-    /**
-     * 订单编号、单位、商品名称(模糊匹配共用)
-     */
-    private String keywords;
-    /**
-     * 创建时间开始(yyyy-MM-dd HH:mm:ss)
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date startCreateTime;
-
-    /**
-     * 创建时间结束(yyyy-MM-dd HH:mm:ss)
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date endCreateTime;
-
-    /**
-     * 装货地址code
-     */
-    private String shippingAddressCode;
-
-    /**
-     * 装货地址等级
-     */
-    private Integer shippingAddressLevel;
-
-    /**
-     * 装货地址code
-     */
-    private String unloadingAddressCode;
-
-    /**
-     * 卸货地址等级
-     */
-    private Integer unloadingAddressLevel;
-
-    /**
-     * 交易方式(预付款、货到付款)
-     */
-    private String trading;
-
-    /**
-     * 提货方式(采方自提、供应配送)
-     */
-    private String pickupType;
-
-    /**
-     * 交付类型(签发交付、签收交付)
-     */
-    private String deliveryType;
-
-    /**
-     * 下单方式(1采购下单/2代客下单)
-     */
-    private String source;
-
-    /**
-     * 订单状态
-     */
-    private Integer status;
-
-}

+ 0 - 47
sckw-modules/sckw-report/src/main/java/com/sckw/report/model/dto/WorkbenchOrderStsDTO.java

@@ -1,47 +0,0 @@
-package com.sckw.report.model.dto;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import lombok.experimental.Accessors;
-
-import java.io.Serial;
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * @desc: 工作台订单统计dto
- * @author: yzc
- * @date: 2023-09-11 17:45
- */
-@Getter
-@Setter
-@ToString
-@Accessors(chain = true)
-public class WorkbenchOrderStsDTO implements Serializable {
-
-    public WorkbenchOrderStsDTO() {
-        this.orderAmount = BigDecimal.ZERO.doubleValue();
-        this.orderPrice = BigDecimal.ZERO.doubleValue();
-        this.orderActualAmount = BigDecimal.ZERO.doubleValue();
-    }
-
-    @Serial
-    private static final long serialVersionUID = -925557546832266552L;
-
-    /**
-     * 订单总量
-     */
-    private Double orderAmount;
-
-    /**
-     * 订单总金额
-     */
-    private Double orderPrice;
-
-    /**
-     * 订单总实际成交量
-     */
-    private Double orderActualAmount;
-
-}

+ 0 - 72
sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/KwfCapacityVo.java

@@ -1,72 +0,0 @@
-package com.sckw.report.model.vo;
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * desc 运力
- * author zk
- * date 2023/9/1 0001
- */
-@Data
-public class KwfCapacityVo implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 企业ID
-     */
-    private Long entId;
-
-    /**
-     * 企业名称
-     */
-    private String firmName;
-
-    /**
-     * 总车辆数
-     */
-    private Integer capacityTotal;
-
-    /**
-     * 总运量
-     */
-    private Double capacityAmount;
-
-    /**
-     * 企业联系人
-     */
-    private String contacts;
-
-    /**
-     * 联系电话
-     */
-    private String phone;
-
-    /**
-     * 企业地址code-----区域表id---实际用途?
-     */
-    private Integer cityCode;
-
-    /**
-     * 企业地址-----区域表id---实际用途?
-     */
-    private String cityName;
-
-    /**
-     * 企业详细地址
-     */
-    private String detailAddress;
-
-    /**
-     * 企业头像
-     */
-    private String head;
-
-    /**
-     * 资料审批状态(0未审批、1通过、2未通过、3审批中)
-     */
-    private Integer approval;
-
-}

+ 1 - 1
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/OperationCountVo.java → sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/OperationCountVo.java

@@ -1,4 +1,4 @@
-package com.sckw.report.service.vo;
+package com.sckw.report.model.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;

+ 0 - 22
sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/OperatorTOrderContractParam.java

@@ -1,22 +0,0 @@
-package com.sckw.report.model.vo;
-
-import com.sckw.core.model.page.PageRequest;
-import jakarta.validation.constraints.NotBlank;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-
-/**
- * @desc: 合同关联订单列表请求参数
- * @author: yzc
- * @date: 2023-07-27 16:48
- */
-@Getter
-@Setter
-@ToString
-public class OperatorTOrderContractParam extends PageRequest {
-
-    @NotBlank(message = "合同ids不能为空")
-    private String contractIds;
-
-}

+ 0 - 35
sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/OperatorTOrderExportQueryVO.java

@@ -1,35 +0,0 @@
-package com.sckw.report.model.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import org.hibernate.validator.constraints.Range;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-/**
- * @desc: 运营端贸易订单列表导出查询参数vo
- * @author: yzc
- * @date: 2023-09-14 11:33
- */
-@Getter
-@Setter
-@ToString
-public class OperatorTOrderExportQueryVO extends OperatorTOrderStsQueryVO implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 3904961009951552659L;
-
-    /**
-     * 订单状态
-     */
-    @Range(min = 1, max = 7, message = "非法订单状态")
-    private Integer status;
-
-    /**
-     * 订单ids
-     */
-    private String ids;
-
-}

+ 0 - 39
sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/OperatorTOrderListQueryVO.java

@@ -1,39 +0,0 @@
-package com.sckw.report.model.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import org.hibernate.validator.constraints.Range;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-/**
- * @desc: 运营端贸易订单列表分页查询参数vo
- * @author: yzc
- * @date: 2023-09-14 11:33
- */
-@Getter
-@Setter
-@ToString
-public class OperatorTOrderListQueryVO extends OperatorTOrderStsQueryVO implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 3904961009951552659L;
-
-    /**
-     * 当前页码
-     */
-    private int page = 1;
-    /**
-     * 每页数量
-     */
-    private int pageSize = 10;
-
-    /**
-     * 订单状态
-     */
-    @Range(min = 1, max = 7, message = "非法订单状态")
-    private Integer status;
-
-}

+ 0 - 81
sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/OperatorTOrderStsQueryVO.java

@@ -1,81 +0,0 @@
-package com.sckw.report.model.vo;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-
-import java.io.Serial;
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * @desc: 运营端贸易订单统计查询参数vo
- * @author: yzc
- * @date: 2023-09-14 11:33
- */
-@Getter
-@Setter
-@ToString
-public class OperatorTOrderStsQueryVO implements Serializable {
-    @Serial
-    private static final long serialVersionUID = 1352493248166762988L;
-
-
-    /**
-     * 订单编号、单位、商品名称(模糊匹配共用)
-     */
-    private String keywords;
-    /**
-     * 创建时间开始(yyyy-MM-dd HH:mm:ss)
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date startCreateTime;
-
-    /**
-     * 创建时间结束(yyyy-MM-dd HH:mm:ss)
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date endCreateTime;
-
-    /**
-     * 装货地址code
-     */
-    private String shippingAddressCode;
-
-    /**
-     * 装货地址等级
-     */
-    private Integer shippingAddressLevel;
-
-    /**
-     * 装货地址code
-     */
-    private String unloadingAddressCode;
-
-    /**
-     * 卸货地址等级
-     */
-    private Integer unloadingAddressLevel;
-
-    /**
-     * 交易方式(预付款、货到付款)
-     */
-    private String trading;
-
-    /**
-     * 提货方式(采方自提、供应配送)
-     */
-    private String pickupType;
-
-    /**
-     * 交付类型(签发交付、签收交付)
-     */
-    private String deliveryType;
-
-    /**
-     * 下单方式(1采购下单/2代客下单)
-     */
-    private String source;
-
-}

+ 0 - 66
sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/TOrderDataStsResVO.java

@@ -1,66 +0,0 @@
-package com.sckw.report.model.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import lombok.experimental.Accessors;
-
-import java.io.Serial;
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * @desc: 贸易订单统计数据响应对象
- * @author: yzc
- * @date: 2023-09-11 14:58
- */
-@Getter
-@Setter
-@ToString
-@Accessors(chain = true)
-public class TOrderDataStsResVO implements Serializable {
-
-    public TOrderDataStsResVO() {
-        this.goodsNum = 0L;
-        this.orderAmount = BigDecimal.ZERO;
-        this.orderPrice = BigDecimal.ZERO;
-        this.waitCollectedPrice = BigDecimal.ZERO;
-        this.notArrivedAmount = BigDecimal.ZERO;
-    }
-
-
-    @Serial
-    private static final long serialVersionUID = -6132733716009809627L;
-
-    /**
-     * 1当前周、月;2上周、月
-     */
-    private Integer type;
-    /**
-     * 商品数量
-     */
-    private Long goodsNum;
-
-    /**
-     * 订单总量
-     */
-    private BigDecimal orderAmount;
-
-    /**
-     * 订单金额
-     */
-    private BigDecimal orderPrice;
-
-    /**
-     * 待付款金额
-     */
-    private BigDecimal waitCollectedPrice;
-
-    /**
-     * 未到货量
-     */
-    private BigDecimal notArrivedAmount;
-
-
-
-}

+ 0 - 42
sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/WbTOrderDataStsParam.java

@@ -1,42 +0,0 @@
-package com.sckw.report.model.vo;
-
-import jakarta.validation.constraints.NotNull;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import org.hibernate.validator.constraints.Range;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-/**
- * @desc: 工作台贸易订单数据统计请求参数
- * @author: yzc
- * @date: 2023-09-11 14:42
- */
-@Getter
-@Setter
-@ToString
-public class WbTOrderDataStsParam implements Serializable {
-    @Serial
-    private static final long serialVersionUID = 4503103839537525731L;
-
-
-    /**
-     * 订单类型(1采购订单、2销售订单)
-     */
-    @Range(min = 1, max = 2, message = "非法订单类型")
-    @NotNull(message = "订单类型不能为空")
-    private Integer orderType;
-    /**
-     * 商品单位
-     */
-    private String unit;
-    /**
-     * 统计日期类型(2周、3月)
-     */
-    @Range(min = 2, max = 3, message = "非法日期类型")
-    @NotNull(message = "日期类型不能为空")
-    private Integer dateType;
-
-}

+ 0 - 86
sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/WbTOrderDataStsResVO.java

@@ -1,86 +0,0 @@
-package com.sckw.report.model.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import lombok.experimental.Accessors;
-
-import java.io.Serial;
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @desc: 工作台贸易订单数据统计响应vo
- * @author: yzc
- * @date: 2023-09-11 14:58
- */
-@Getter
-@Setter
-@ToString
-@Accessors(chain = true)
-public class WbTOrderDataStsResVO implements Serializable {
-    @Serial
-    private static final long serialVersionUID = -8601548022756611241L;
-
-    public WbTOrderDataStsResVO() {
-        this.tOrderDataStsList = new ArrayList<>();
-        this.goodsNumRingRate = BigDecimal.ZERO;
-        this.orderAmountRingRate = BigDecimal.ZERO;
-        this.orderPriceRingRate = BigDecimal.ZERO;
-        this.waitCollectedPriceRingRate = BigDecimal.ZERO;
-        this.notArrivedAmountRingRate = BigDecimal.ZERO;
-    }
-
-    /**
-     * 贸易订单数据统计列表
-     */
-   private List<TOrderDataStsResVO> tOrderDataStsList;
-
-    /**
-     * 商品数量环比
-     */
-    private BigDecimal goodsNumRingRate;
-    /**
-     * 商品数量环比标识 true上升,false下降
-     */
-    private Boolean goodsNumFlag;
-
-    /**
-     * 订单总量环比
-     */
-    private BigDecimal orderAmountRingRate;
-    /**
-     * 订单总量环比标识 true上升,false下降
-     */
-    private Boolean orderAmountFlag;;
-
-    /**
-     * 订单金额环比
-     */
-    private BigDecimal orderPriceRingRate;
-    /**
-     *  订单金额环比标识  true上升,false下降
-     */
-    private Boolean orderPriceFlag;
-
-    /**
-     * 待付款金额环比
-     */
-    private BigDecimal waitCollectedPriceRingRate;
-    /**
-     * 待付款金额环比标识  true上升,false下降
-     */
-    private Boolean waitCollectedPriceFlag;
-
-    /**
-     * 未到货量环比
-     */
-    private BigDecimal notArrivedAmountRingRate;
-    /**
-     * 未到货量环比标识  true上升,false下降
-     */
-    private Boolean notArrivedAmountFlag;
-
-}

+ 0 - 69
sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/WorkbenchPurchaseVO.java

@@ -1,69 +0,0 @@
-package com.sckw.report.model.vo;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import lombok.experimental.Accessors;
-
-import java.io.Serial;
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * @desc: 工作台采购订单列表vo
- * @author: yzc
- * @date: 2023-09-13 19:22
- */
-@Getter
-@Setter
-@ToString
-@Accessors(chain = true)
-public class WorkbenchPurchaseVO implements Serializable {
-    @Serial
-    private static final long serialVersionUID = 3393583069721972947L;
-
-    /**
-     * 订单主键
-     */
-    @JsonProperty("tOrderId")
-    private Long tOrderId;
-
-    /**
-     * 订单成交数量
-     */
-    private BigDecimal amount;
-
-    /**
-     * 订单单位(吨、方、箱、件)
-     */
-    private String unit;
-
-    private String unitLabel;
-
-    /**
-     * 商品名称
-     */
-    private String goodsName;
-
-    /**
-     * 商品类型
-     */
-    private String goodsType;
-
-    private String goodsTypeLabel;
-
-    /**
-     * 采购企业名称
-     */
-    private String procureFirmName;
-
-    /**
-     * 创建时间
-     */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
-    private Date createTime;
-
-}

+ 0 - 610
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwAcceptCarriageService.java

@@ -1,610 +0,0 @@
-package com.sckw.report.service;
-
-import cn.hutool.core.util.ObjectUtil;
-import com.sckw.core.model.constant.NumberConstant;
-import com.sckw.core.common.enums.StringConstant;
-import com.sckw.core.common.enums.enums.DictTypeEnum;
-import com.sckw.core.model.enums.LogisticsOrderEnum;
-import com.sckw.core.model.page.PageResult;
-import com.sckw.core.utils.CollectionUtils;
-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.model.SckwLogisticsOrder;
-import com.sckw.mongo.model.TableTops;
-import com.sckw.report.service.param.AcceptCarriageOrderQuery;
-import com.sckw.report.service.vo.AcceptCarriageOrderExcelVo;
-import com.sckw.report.service.vo.AcceptCarriageOrderVo;
-import com.sckw.system.api.RemoteSystemService;
-import com.sckw.system.api.model.dto.res.SysDictResDto;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Sort;
-import org.springframework.data.mongodb.core.MongoTemplate;
-import org.springframework.data.mongodb.core.aggregation.Aggregation;
-import org.springframework.data.mongodb.core.aggregation.AggregationResults;
-import org.springframework.data.mongodb.core.query.Criteria;
-import org.springframework.data.mongodb.core.query.Query;
-import org.springframework.stereotype.Service;
-
-import java.util.*;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-/**
- * @author lfdc
- * @description 承运列表service
- * @date 2023-07-24 12:07:05
- */
-@Slf4j
-@Service
-public class KwAcceptCarriageService {
-
-    @Autowired
-    public MongoTemplate mongoTemplate;
-
-    @Autowired
-    public KwTransportService transportService;
-
-    @DubboReference(version = "1.0.0", group = "design", check = false)
-    RemoteSystemService remoteSystemService;
-
-    /**
-     * 承运列表分页查询
-     *
-     * @param query
-     * @param unitType
-     * @return
-     */
-    public HttpResult acceptCarriageOrderList(AcceptCarriageOrderQuery query, String unitType) {
-        Query query1 = new Query();
-        //模糊匹配
-        //根据条件查询所有并排序,且分页
-        //设置模糊查询匹配规则  忽略大小写
-        // 创建条件对象
-        Criteria criteria = new Criteria();
-        // 1. 全等于
-        //判断承运还是托运企业
-        List<Long> entIds = new ArrayList<>();
-        entIds.add(LoginUserHolder.getEntId());
-        Long entId = LoginUserHolder.getEntId();
-//        Map<Long, EntCacheResDto> entMap = remoteSystemService.queryEntTreeByIds(entIds);
-        if (unitType.equals(String.valueOf(NumberConstant.ONE))) {
-            //托运
-//            criteria.and("checkTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-//            criteria.and("checkTopEntId").is(entId);
-            criteria.orOperator(
-                    Criteria.where("checkTopEntId").is(entId),
-                    Criteria.where("checkEntId").is(entId));
-        } else {
-            //承运企业主键ID
-//            criteria.and("carrierTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-//            criteria.and("carrierTopEntId").is(entId);
-            criteria.orOperator(
-                    Criteria.where("carrierTopEntId").is(entId),
-                    Criteria.where("carrierEntId").is(entId));
-        }
-        //装卸货地址
-        String loadCode = query.getLoadAddressCode();
-        if (StringUtils.isNotBlank(loadCode)) {
-            switch (query.getLoadAddressLevel()) {
-                case 1 -> criteria.and("loadCityCode")
-                        .regex(Pattern.compile("^" + loadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 2 -> criteria.and("loadCityCode")
-                        .regex(Pattern.compile("^" + loadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 3 -> criteria.and("loadCityCode").is(loadCode);
-            }
-        }
-        String unloadCode = query.getUnloadAddressCode();
-        if (StringUtils.isNotBlank(unloadCode)) {
-            switch (query.getUnloadAddressLevel()) {
-                case 1 -> criteria.and("unloadCityCode")
-                        .regex(Pattern.compile("^" + unloadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 2 -> criteria.and("unloadCityCode")
-                        .regex(Pattern.compile("^" + unloadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 3 -> criteria.and("unloadCityCode").is(unloadCode);
-            }
-        }
-//        if (StringUtils.isNotBlank(query.getLoadAddress())) {
-//            criteria.and("loadDetailAddress").is(query.getLoadAddress());
-//        }
-//        if (StringUtils.isNotBlank(query.getUnloadAddress())) {
-//            criteria.and("unloadDetailAddress").is(query.getUnloadAddress());
-//        }
-        if (StringUtils.isNotBlank(query.getStatus())) {
-            if (String.valueOf(NumberConstant.EIGHT).equals(query.getStatus())) {
-                List<String> status = new ArrayList<>();
-                status.add(LogisticsOrderEnum.REJECT_ORDER.getStatus());
-                status.add(LogisticsOrderEnum.CANCEL_ORDER.getStatus());
-                criteria.and("status").in(status);
-            } else {
-                criteria.and("status").is(query.getStatus());
-            }
-        }
-        criteria.and("delFlag").is(String.valueOf(NumberConstant.ZERO));
-        // 4. 日期范围
-//        if (StringUtils.isNotEmpty(query.getStartDateTime()) && StringUtils.isNotEmpty(query.getEndDateTime())) {
-//            criteria.andOperator(Criteria.where("createTime").gte(query.getStartDateTime()), Criteria.where("createTime")
-//                    .lte(query.getEndDateTime()));
-//        } else if (StringUtils.isNotEmpty(query.getStartDateTime())) {
-//            criteria.and("createTime").gte(query.getStartDateTime());
-//        } else if (StringUtils.isNotEmpty(query.getEndDateTime())) {
-//            criteria.and("createTime").lte(query.getStartDateTime());
-//        }
-        if (StringUtils.isNotEmpty(query.getStartDateTime())) {
-//            criteria.andOperator(Criteria.where("startTime").gte(query.getStartDateTime()).lte(query.getStartDateTime()));
-            criteria.and("startTime").gte(query.getStartDateTime()).lte(query.getStartDateTime());
-        }
-        if (StringUtils.isNotEmpty(query.getEndDateTime())) {
-//            criteria.andOperator(Criteria.where("endTime").gte(query.getEndDateTime()).lte(query.getEndDateTime()));
-            criteria.and("endTime").gte(query.getEndDateTime()).lte(query.getEndDateTime());
-        }
-        if (StringUtils.isNotEmpty(query.getCreateTime())) {
-//            criteria.andOperator(Criteria.where("createTime").gte(query.getCreateTime()).lte(query.getCreateTime()));
-            criteria.and("createTime").gte(query.getCreateTime()).lte(query.getCreateTime());
-        }
-        //多条件模糊查询
-        Criteria c1 = new Criteria();
-        Criteria c2 = new Criteria();
-        Criteria c3 = new Criteria();
-        Criteria c4 = new Criteria();
-        Criteria c5 = new Criteria();
-        if (StringUtils.isNotBlank(query.getKeywords())) {
-            Pattern pattern = Pattern.compile("^.*" + query.getKeywords() + ".*$", Pattern.CASE_INSENSITIVE);
-            c1 = Criteria.where("firmName").regex(pattern);
-            c2 = Criteria.where("carrierFirmName").regex(pattern);
-            c3 = Criteria.where("checkFirmName").regex(pattern);
-            c4 = Criteria.where("tOrderNo").regex(pattern);
-            c5 = Criteria.where("lOrderNo").regex(pattern);
-            criteria.orOperator(c1, c2, c3, c4, c5);
-        }
-
-
-        //in查询
-        List<String> stringList = StringUtils.splitStrToList(query.getIds(), StringConstant.COMMA, String.class);
-        if (CollectionUtils.isNotEmpty(stringList)) {
-            query1.addCriteria(Criteria.where("lOrderId").in(query.getIds()));
-        }
-        query1.addCriteria(criteria);
-        // 12. 总记录数
-        long total = mongoTemplate.count(query1, SckwLogisticsOrder.class);
-        // 10. 分页
-        query1.with(PageRequest.of(query.getPage() - 1, query.getPageSize(),
-                // 11. 排序list = {ArrayList@27436}  size = 3returnList = {ArrayList@27393}  size = 3
-                Sort.by(Sort.Direction.DESC, "lOrderId", "createTime")));
-        // 执行查询
-        List<SckwLogisticsOrder> list = mongoTemplate.find(query1, SckwLogisticsOrder.class);
-        List<AcceptCarriageOrderVo> returnList = new ArrayList<>();
-        if (CollectionUtils.isNotEmpty(list)) {
-            packageReturnAcceptCarriageOrderList(list, returnList);
-        }
-        PageResult build = PageResult.build(query.getPage(), query.getPageSize(), total, returnList);
-        return HttpResult.ok(build);
-    }
-
-    public HttpResult statisticsAcceptCarriage(AcceptCarriageOrderQuery param, String unitType) {
-        //模糊匹配
-        //根据条件查询所有并排序,且分页
-        //设置模糊查询匹配规则  忽略大小写
-        // 创建条件对象
-        Criteria criteria = new Criteria();
-        // 1. 全等于
-        //判断承运还是托运企业
-        List<Long> entIds = new ArrayList<>();
-        entIds.add(LoginUserHolder.getEntId());
-        Long entId = LoginUserHolder.getEntId();
-//        Map<Long, EntCacheResDto> entMap = remoteSystemService.queryEntTreeByIds(entIds);
-        if (unitType.equals(String.valueOf(NumberConstant.ONE))) {
-            //托运
-//            criteria.and("checkTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-//            criteria.and("checkTopEntId").is(LoginUserHolder.getEntId());
-            criteria.orOperator(
-                    Criteria.where("checkTopEntId").is(entId),
-                    Criteria.where("checkEntId").is(entId));
-        } else {
-            //承运企业主键ID
-//            criteria.and("carrierTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-//            criteria.and("carrierTopEntId").is(LoginUserHolder.getEntId());
-            criteria.orOperator(
-                    Criteria.where("carrierTopEntId").is(entId),
-                    Criteria.where("carrierEntId").is(entId));
-        }
-        //装卸货地址
-        String loadCode = param.getLoadAddressCode();
-        if (StringUtils.isNotBlank(loadCode)) {
-            switch (param.getLoadAddressLevel()) {
-                case 1 -> criteria.and("loadCityCode")
-                        .regex(Pattern.compile("^" + loadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 2 -> criteria.and("loadCityCode")
-                        .regex(Pattern.compile("^" + loadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 3 -> criteria.and("loadCityCode").is(loadCode);
-            }
-        }
-        String unloadCode = param.getUnloadAddressCode();
-        if (StringUtils.isNotBlank(unloadCode)) {
-            switch (param.getUnloadAddressLevel()) {
-                case 1 -> criteria.and("unloadCityCode")
-                        .regex(Pattern.compile("^" + unloadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 2 -> criteria.and("unloadCityCode")
-                        .regex(Pattern.compile("^" + unloadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 3 -> criteria.and("unloadCityCode").is(unloadCode);
-            }
-        }
-//        if (StringUtils.isNotBlank(param.getLoadAddress())) {
-//            criteria.and("loadDetailAddress").is(param.getLoadAddress());
-//        }
-//        if (StringUtils.isNotBlank(param.getUnloadAddress())) {
-//            criteria.and("unloadDetailAddress").is(param.getUnloadAddress());
-//        }
-
-        if (StringUtils.isNotBlank(param.getStatus())) {
-            if (String.valueOf(NumberConstant.EIGHT).equals(param.getStatus())) {
-                List<String> status = new ArrayList<>();
-                status.add(LogisticsOrderEnum.REJECT_ORDER.getStatus());
-                status.add(LogisticsOrderEnum.CANCEL_ORDER.getStatus());
-                criteria.and("status").in(status);
-            } else {
-                criteria.and("status").is(param.getStatus());
-            }
-        }
-//        if (StringUtils.isNotBlank(param.getStatus())) {
-//            criteria.and("status").is(param.getStatus());
-//        }
-        criteria.and("delFlag").is(String.valueOf(NumberConstant.ZERO));
-        // 4. 日期范围
-        if (StringUtils.isNotEmpty(param.getStartDateTime())) {
-//            criteria.andOperator(Criteria.where("startTime").gte(query.getStartDateTime()).lte(query.getStartDateTime()));
-            criteria.and("startTime").gte(param.getStartDateTime()).lte(param.getStartDateTime());
-        }
-        if (StringUtils.isNotEmpty(param.getEndDateTime())) {
-//            criteria.andOperator(Criteria.where("endTime").gte(query.getEndDateTime()).lte(query.getEndDateTime()));
-            criteria.and("endTime").gte(param.getEndDateTime()).lte(param.getEndDateTime());
-        }
-        if (StringUtils.isNotEmpty(param.getCreateTime())) {
-//            criteria.andOperator(Criteria.where("createTime").gte(query.getCreateTime()).lte(query.getCreateTime()));
-            criteria.and("createTime").gte(param.getCreateTime()).lte(param.getCreateTime());
-        }
-        List<String> stringList = StringUtils.splitStrToList(param.getIds(), StringConstant.COMMA, String.class);
-        if (CollectionUtils.isNotEmpty(stringList)) {
-            criteria = Criteria.where("lOrderId").in(param.getIds());
-        }
-        //多条件模糊查询
-        Criteria c1 = new Criteria();
-        Criteria c2 = new Criteria();
-        Criteria c3 = new Criteria();
-        Criteria c4 = new Criteria();
-        Criteria c5 = new Criteria();
-        if (StringUtils.isNotBlank(param.getKeywords())) {
-            Pattern pattern = Pattern.compile("^.*" + param.getKeywords() + ".*$", Pattern.CASE_INSENSITIVE);
-            c1 = Criteria.where("firmName").regex(pattern);
-            c2 = Criteria.where("carrierFirmName").regex(pattern);
-            c3 = Criteria.where("checkFirmName").regex(pattern);
-            c4 = Criteria.where("tOrderNo").regex(pattern);
-            c5 = Criteria.where("lOrderNo").regex(pattern);
-            criteria.orOperator(c1, c2, c3, c4, c5);
-        }
-        Aggregation aggregation = Aggregation.newAggregation(
-                Aggregation.match(criteria),
-                Aggregation.group("status").count().as("total"),
-                Aggregation.project("total").and("value").previousOperation()
-        );
-        AggregationResults<TableTops> outputTypeCount = mongoTemplate.aggregate(aggregation, SckwLogisticsOrder.class, TableTops.class);
-        List<TableTops> mappedResults = outputTypeCount.getMappedResults();
-        List<TableTops> arrayList = new ArrayList<>();
-        arrayList.addAll(mappedResults);
-        /**补全数据状态不齐的情况*/
-        arrayList = packageReturnStatistics(mappedResults, arrayList);
-        // 查询结果
-        Map<String, Object> map = new HashMap<>(NumberConstant.SIXTEEN);
-        map.put("tableTop", arrayList);
-        // 查询结果
-        return HttpResult.ok(map);
-    }
-
-    public Map<String, String> getDictData(String type) {
-        Map<String, String> maps = new HashMap<>(NumberConstant.SIXTEEN);
-        List<SysDictResDto> list = remoteSystemService.queryDictByType(type);
-        if (CollectionUtils.isNotEmpty(list)) {
-            maps = list.stream().collect(Collectors.toMap(SysDictResDto::getValue, SysDictResDto::getLabel, (key1, key2) -> key2));
-        }
-        return maps;
-    }
-
-    /**
-     * 组装承运订单列表数据
-     *
-     * @param list
-     * @param returnList
-     */
-    public void packageReturnAcceptCarriageOrderList(List<SckwLogisticsOrder> list, List<AcceptCarriageOrderVo> returnList) {
-        /**计量单位*/
-        Map<String, String> unitTypeDictData = getDictData(DictTypeEnum.UNIT_TYPE.getType());
-        /**运价方式*/
-        Map<String, String> priceDictData = getDictData(DictTypeEnum.PRICE_TYPE.getType());
-        /**计费方式*/
-        Map<String, String> chargingDictData = getDictData(DictTypeEnum.CHARGING_TYPE.getType());
-        /**结算周期*/
-        Map<String, String> settlementDictData = getDictData(DictTypeEnum.SETTLEMENT_CYCLE.getType());
-        /**签约方式*/
-        Map<String, String> signingWay = getDictData(DictTypeEnum.SIGNING_TYPE.getType());
-        /**合理损耗*/
-//        Map<String, String> taxRateTypeDictData = getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
-        for (SckwLogisticsOrder logisticsOrder : list) {
-            AcceptCarriageOrderVo vo = new AcceptCarriageOrderVo();
-            vo.setAccountsCycle(logisticsOrder.getSettlementCycle() == null ?
-                    null : String.valueOf(logisticsOrder.getSettlementCycle()));
-            vo.setAppointor(logisticsOrder.getCreateByName());
-            vo.setBillingMode(logisticsOrder.getBillingMode());
-            vo.setCarrierCompanyId(String.valueOf(logisticsOrder.getCarrierEntId()));
-            vo.setCarrierCompany(logisticsOrder.getCarrierFirmName());
-            vo.setCarrierOrder(logisticsOrder.getWOrderNo());
-            vo.setCarrierPhone(logisticsOrder.getCarrierPhone());
-            vo.setCarryingCapacity(logisticsOrder.getCarryingCapacity() == null ?
-                    null : logisticsOrder.getCarryingCapacity());
-            vo.setConsignCompanyId(String.valueOf(logisticsOrder.getCheckEntId()));
-            vo.setConsignCompany(logisticsOrder.getCheckFirmName());
-            vo.setConsignContacts(logisticsOrder.getCheckContacts());
-            vo.setConsignPhone(logisticsOrder.getCheckPhone());
-            vo.setContract(logisticsOrder.getContractName());
-            vo.setDeficitAmount(logisticsOrder.getDeficitAmount() == null ?
-                    null : logisticsOrder.getDeficitAmount());
-            vo.setGoodsName(logisticsOrder.getGoodsName());
-            vo.setLoadCityName(logisticsOrder.getLoadDetailAddress());
-            vo.setLoadAddress(logisticsOrder.getLoadCityName() + logisticsOrder.getLoadDetailAddress());
-            vo.setUnloadAddress(logisticsOrder.getUnloadCityName() + logisticsOrder.getUnloadDetailAddress());
-            vo.setUnloadCityName(logisticsOrder.getUnloadDetailAddress());
-            vo.setLOrderId(String.valueOf(logisticsOrder.getLOrderId()));
-            vo.setLOrderNo(logisticsOrder.getLOrderNo());
-            vo.setLoss(logisticsOrder.getLoss() == null ?
-                    null : logisticsOrder.getLoss());
-            vo.setPrice(logisticsOrder.getPrice() == null ?
-                    null : logisticsOrder.getPrice());
-            vo.setReceiveGoodsContacts(logisticsOrder.getUnloadContacts());
-            vo.setReceiveGoodsPhone(logisticsOrder.getUnloadPhone());
-            vo.setRemark(logisticsOrder.getRemark());
-            vo.setShipmentsContacts(logisticsOrder.getLoadContacts());
-            vo.setShipmentsPhone(logisticsOrder.getLoadPhone());
-            vo.setShipmentsDateTime(logisticsOrder.getStartTime() == null ?
-                    null : logisticsOrder.getStartTime());
-            vo.setReceiveGoodsDateTime(logisticsOrder.getEndTime() == null ?
-                    null : logisticsOrder.getEndTime());
-            vo.setShipmentsPhone(logisticsOrder.getLoadPhone());
-            vo.setSigning(logisticsOrder.getContractSigningWay());
-            vo.setStatus(logisticsOrder.getStatus());
-            vo.setUnloadAddress(logisticsOrder.getUnloadDetailAddress());
-            vo.setWOrderNo(logisticsOrder.getWOrderNo());
-            vo.setCreateTime(logisticsOrder.getCreateTime() == null ?
-                    null : DateUtil.getDateTime(logisticsOrder.getCreateTime()));
-            vo.setUpdateTime(logisticsOrder.getUpdateTime() == null ?
-                    null : DateUtil.getDateTime(logisticsOrder.getUpdateTime()));
-            vo.setShipmentsUnitEntId(logisticsOrder.getShipmentsUnitEntId());
-            vo.setShipmentsUnit(logisticsOrder.getShipmentsUnit());
-            vo.setReceiveGoodsUnitEntId(logisticsOrder.getReceiveGoodsUnitEntId());
-            vo.setReceiveGoodsUnit(logisticsOrder.getReceiveGoodsUnit());
-            vo.setGoodsPrice(logisticsOrder.getGoodsPrice());
-            vo.setGoodsPriceUnit(priceDictData.get(logisticsOrder.getGoodsPriceUnit()));
-            vo.setSigningLabel(signingWay.get(logisticsOrder.getContractSigningWay()));
-//            vo.setSigningLabel(logisticsOrder.getContractSigningWay() == null ? null :
-//                    (logisticsOrder.getContractSigningWay().equals("1")?"线上签约":"线下签约"));
-            vo.setLossUnit(logisticsOrder.getLossUnit());
-            vo.setStatusLabel(LogisticsOrderEnum.getDestination(logisticsOrder.getStatus()));
-            vo.setAccountsCycleLabel(logisticsOrder.getSettlementCycle() == null ?
-                    null : settlementDictData.get(String.valueOf(logisticsOrder.getSettlementCycle())));
-            vo.setBillingModeLabel(chargingDictData.get(logisticsOrder.getBillingMode()));
-            returnList.add(vo);
-        }
-    }
-
-
-    /**
-     * 组装返回数据
-     *
-     * @param mappedResults
-     * @param arrayList
-     */
-    public List<TableTops> packageReturnStatistics(List<com.sckw.mongo.model.TableTops> mappedResults, List<TableTops> arrayList) {
-        List<String> codeList = LogisticsOrderEnum.getCodeStringList();
-        List<String> collect = mappedResults.stream().map(e -> e.getValue()).collect(Collectors.toList());
-        List<String> diffrentList = transportService.getDiffrentList(collect, codeList);
-        if (CollectionUtils.isNotEmpty(mappedResults)) {
-            if (CollectionUtils.isNotEmpty(diffrentList)) {
-                for (String s : diffrentList) {
-                    TableTops top = new TableTops();
-                    top.setValue(s);
-                    top.setTotal(NumberConstant.ZERO);
-                    arrayList.add(top);
-                }
-            }
-            for (TableTops top : arrayList) {
-                top.setName(LogisticsOrderEnum.getName(Integer.valueOf(top.getValue())));
-            }
-        } else {
-            for (LogisticsOrderEnum logisticsOrderEnum : LogisticsOrderEnum.values()) {
-                TableTops top = new TableTops();
-                top.setName(logisticsOrderEnum.getDestination());
-                top.setValue(logisticsOrderEnum.getStatus());
-                top.setTotal(NumberConstant.ZERO);
-                arrayList.add(top);
-            }
-        }
-        arrayList = arrayList.stream().sorted(Comparator.comparing(TableTops::getValue)).collect(Collectors.toList());
-        if (CollectionUtils.isNotEmpty(arrayList)) {
-            int total = 0;
-            for (TableTops tops : arrayList) {
-                if (LogisticsOrderEnum.REJECT_ORDER.getStatus().equals(tops.getValue())) {
-                    total = total + tops.getTotal();
-                }
-                if (LogisticsOrderEnum.CANCEL_ORDER.getStatus().equals(tops.getValue())) {
-                    total = total + tops.getTotal();
-                }
-            }
-            for (TableTops tops : arrayList) {
-                if (LogisticsOrderEnum.SEND_BACK.getStatus().equals(tops.getValue())) {
-                    tops.setTotal(tops.getTotal() + total);
-                }
-            }
-            Iterator iterator = arrayList.iterator();
-            while (iterator.hasNext()) {
-                TableTops tableTops = (TableTops) iterator.next();
-                if (tableTops.getValue().equals(LogisticsOrderEnum.REJECT_ORDER.getStatus())) {
-                    iterator.remove();
-                }
-                if (tableTops.getValue().equals(LogisticsOrderEnum.CANCEL_ORDER.getStatus())) {
-                    iterator.remove();
-                }
-            }
-            /**补全统计【全部字段】*/
-            Integer sum = Math.toIntExact(arrayList.stream().filter(item -> ObjectUtil.isNotEmpty(item.getTotal())).collect(Collectors.summarizingInt(item -> item.getTotal())).getSum());
-            TableTops top = new TableTops();
-            top.setName("全部");
-            top.setValue("all");
-            top.setTotal(sum);
-            arrayList.add(0, top);
-        }
-        return arrayList;
-    }
-
-    /**
-     * 承运分页详情导出
-     *
-     * @param query
-     * @param unitType
-     * @return
-     */
-    public List<AcceptCarriageOrderExcelVo> exportAcceptCarriage(AcceptCarriageOrderQuery query, String unitType) {
-        //模糊匹配
-        //根据条件查询所有并排序,且分页
-        //设置模糊查询匹配规则  忽略大小写
-        // 创建条件对象
-        Criteria criteria = new Criteria();
-        // 1. 全等于
-        Query query1 = new Query();
-        //判断承运还是托运企业
-        List<Long> entIds = new ArrayList<>();
-        entIds.add(LoginUserHolder.getEntId());
-        Long entId = LoginUserHolder.getEntId();
-//        Map<Long, EntCacheResDto> entMap = remoteSystemService.queryEntTreeByIds(entIds);
-        if (unitType.equals(String.valueOf(NumberConstant.ONE))) {
-            //托运
-//            criteria.and("checkTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-            criteria.orOperator(
-                    Criteria.where("checkTopEntId").is(entId),
-                    Criteria.where("checkEntId").is(entId));
-        } else {
-            //承运企业主键ID
-//            criteria.and("carrierTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-            criteria.orOperator(
-                    Criteria.where("carrierTopEntId").is(entId),
-                    Criteria.where("carrierEntId").is(entId));
-        }
-        criteria.and("delFlag").is(String.valueOf(NumberConstant.ZERO));
-        List<String> stringList = StringUtils.splitStrToList(query.getIds(), StringConstant.COMMA, String.class);
-        if (CollectionUtils.isEmpty(stringList)) {
-            if (StringUtils.isNotBlank(query.getLoadAddress())) {
-                criteria.and("loadDetailAddress").is(query.getLoadAddress());
-            }
-            if (StringUtils.isNotBlank(query.getUnloadAddress())) {
-                criteria.and("unloadDetailAddress").is(query.getUnloadAddress());
-            }
-            if (StringUtils.isNotBlank(query.getStatus())) {
-                if (String.valueOf(NumberConstant.EIGHT).equals(query.getStatus())) {
-                    List<String> status = new ArrayList<>();
-                    status.add(LogisticsOrderEnum.REJECT_ORDER.getStatus());
-                    status.add(LogisticsOrderEnum.CANCEL_ORDER.getStatus());
-                    criteria.and("status").in(status);
-                } else {
-                    criteria.and("status").is(query.getStatus());
-                }
-            }
-//            if (StringUtils.isNotBlank(query.getStatus())) {
-//                criteria.and("status").is(query.getStatus());
-//            }
-            // 4. 日期范围
-            if (StringUtils.isNotEmpty(query.getStartDateTime()) && StringUtils.isNotEmpty(query.getEndDateTime())) {
-                criteria.andOperator(Criteria.where("createTime").gte(query.getStartDateTime()), Criteria.where("createTime")
-                        .lte(query.getEndDateTime()));
-            }
-            //多条件模糊查询
-            Criteria c1 = new Criteria();
-            Criteria c2 = new Criteria();
-            Criteria c3 = new Criteria();
-            Criteria c4 = new Criteria();
-            Criteria c5 = new Criteria();
-            if (StringUtils.isNotBlank(query.getKeywords())) {
-                Pattern pattern = Pattern.compile("^.*" + query.getKeywords() + ".*$", Pattern.CASE_INSENSITIVE);
-                c1 = Criteria.where("firmName").regex(pattern);
-                c2 = Criteria.where("carrierFirmName").regex(pattern);
-                c3 = Criteria.where("checkFirmName").regex(pattern);
-                c4 = Criteria.where("tOrderNo").regex(pattern);
-                c5 = Criteria.where("lOrderNo").regex(pattern);
-                criteria.orOperator(c1, c2, c3, c4, c5);
-            }
-            query1.addCriteria(criteria);
-            if (CollectionUtils.isNotEmpty(stringList)) {
-                query1.addCriteria(Criteria.where("lOrderId").in(query.getIds()));
-            }
-        } else {
-            query1.addCriteria(criteria);
-            if (CollectionUtils.isNotEmpty(stringList)) {
-                query1.addCriteria(Criteria.where("lOrderId").in(query.getIds()));
-            }
-        }
-        // 执行查询
-        List<SckwLogisticsOrder> list = mongoTemplate.find(query1, SckwLogisticsOrder.class);
-        List<AcceptCarriageOrderExcelVo> returnList = new ArrayList<>();
-        if (CollectionUtils.isNotEmpty(list)) {
-            packageReturnList(list, returnList);
-        }
-        return returnList;
-    }
-
-    public void packageReturnList(List<SckwLogisticsOrder> list, List<AcceptCarriageOrderExcelVo> returnList) {
-        for (SckwLogisticsOrder logisticsOrder : list) {
-            AcceptCarriageOrderExcelVo vo = new AcceptCarriageOrderExcelVo();
-            vo.setAccountsCycle(logisticsOrder.getSettlementCycle() == null ?
-                    null : String.valueOf(logisticsOrder.getSettlementCycle()));
-            vo.setAppointor(logisticsOrder.getCreateByName());
-            vo.setBillingMode(logisticsOrder.getBillingMode());
-            vo.setCarrierCompany(logisticsOrder.getCarrierFirmName());
-            vo.setCarrierOrder(logisticsOrder.getWOrderNo());
-            vo.setCarrierPhone(logisticsOrder.getCarrierPhone());
-            vo.setCarryingCapacity(logisticsOrder.getCarryingCapacity() == null ?
-                    null : String.valueOf(logisticsOrder.getCarryingCapacity()));
-            vo.setConsignCompany(logisticsOrder.getCheckFirmName());
-            vo.setConsignContacts(logisticsOrder.getCheckContacts());
-            vo.setConsignPhone(logisticsOrder.getCheckPhone());
-            vo.setContract(logisticsOrder.getContractName());
-            vo.setDeficitAmount(logisticsOrder.getDeficitAmount() == null ?
-                    null : String.valueOf(logisticsOrder.getDeficitAmount()));
-            vo.setGoodsName(logisticsOrder.getGoodsName());
-            vo.setLoadAddress(logisticsOrder.getLoadDetailAddress());
-            vo.setUnloadAddress(logisticsOrder.getUnloadDetailAddress());
-            vo.setLOrderId(String.valueOf(logisticsOrder.getLOrderId()));
-            vo.setLOrderNo(logisticsOrder.getLOrderNo());
-            vo.setLoss(logisticsOrder.getLoss() == null ?
-                    null : String.valueOf(logisticsOrder.getLoss()));
-            vo.setPrice(logisticsOrder.getPrice() == null ?
-                    null : String.valueOf(logisticsOrder.getPrice()));
-            vo.setReceiveGoodsContacts(logisticsOrder.getUnloadContacts());
-            vo.setReceiveGoodsPhone(logisticsOrder.getUnloadPhone());
-            vo.setRemark(logisticsOrder.getRemark());
-            vo.setShipmentsContacts(logisticsOrder.getLoadContacts());
-            vo.setShipmentsPhone(logisticsOrder.getLoadPhone());
-            vo.setShipmentsDateTime(logisticsOrder.getLoadTime() == null ?
-                    null : DateUtil.getDateTime(logisticsOrder.getLoadTime()));
-            vo.setShipmentsPhone(logisticsOrder.getLoadPhone());
-            vo.setSigning(logisticsOrder.getContractSigningWay());
-            vo.setStatus(logisticsOrder.getStatus());
-            vo.setUnloadAddress(logisticsOrder.getUnloadDetailAddress());
-            vo.setWOrderNo(logisticsOrder.getWOrderNo());
-            vo.setCreateTime(logisticsOrder.getCreateTime() == null ?
-                    null : DateUtil.getDateTime(logisticsOrder.getCreateTime()));
-            vo.setUpdateTime(logisticsOrder.getUpdateTime() == null ?
-                    null : DateUtil.getDateTime(logisticsOrder.getUpdateTime()));
-            returnList.add(vo);
-        }
-    }
-}

+ 0 - 570
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwConsignService.java

@@ -1,570 +0,0 @@
-package com.sckw.report.service;
-
-import cn.hutool.core.util.ObjectUtil;
-import com.sckw.core.model.constant.NumberConstant;
-import com.sckw.core.common.enums.StringConstant;
-import com.sckw.core.common.enums.enums.DictTypeEnum;
-import com.sckw.core.model.enums.LogisticsOrderEnum;
-import com.sckw.core.model.page.PageResult;
-import com.sckw.core.utils.CollectionUtils;
-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.model.SckwLogisticsOrder;
-import com.sckw.mongo.model.TableTops;
-import com.sckw.report.service.param.ConsignOrderQuery;
-import com.sckw.report.service.vo.ConsignOrderExcelVo;
-import com.sckw.report.service.vo.ConsignOrderVo;
-import com.sckw.system.api.RemoteSystemService;
-import com.sckw.system.api.model.dto.res.EntCacheResDto;
-import com.sckw.system.api.model.dto.res.SysDictResDto;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Sort;
-import org.springframework.data.mongodb.core.MongoTemplate;
-import org.springframework.data.mongodb.core.aggregation.Aggregation;
-import org.springframework.data.mongodb.core.aggregation.AggregationResults;
-import org.springframework.data.mongodb.core.query.Criteria;
-import org.springframework.data.mongodb.core.query.Query;
-import org.springframework.stereotype.Service;
-
-import java.text.ParseException;
-import java.util.*;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-/**
- * @author lfdc
- * @description 托运service
- * @date 2023-07-24 13:07:47
- */
-@Slf4j
-@Service
-public class KwConsignService {
-
-    @Autowired
-    public MongoTemplate mongoTemplate;
-
-    @Autowired
-    public KwTransportService transportService;
-
-    @DubboReference(version = "1.0.0", group = "design", check = false)
-    RemoteSystemService remoteSystemService;
-
-
-    /**
-     * 托运订单列表查询
-     *
-     * @param query
-     * @return
-     * @throws ParseException
-     */
-    public HttpResult selectConsignOrderList(ConsignOrderQuery query, String unitType) {
-        //模糊匹配
-        //根据条件查询所有并排序,且分页
-        //设置模糊查询匹配规则  忽略大小写
-        // 创建条件对象
-        Criteria criteria = new Criteria();
-        // 1. 全等于
-        //判断承运还是托运企业
-        List<Long> entIds = new ArrayList<>();
-        entIds.add(LoginUserHolder.getEntId());
-        Long entId = LoginUserHolder.getEntId();
-        if (unitType.equals(String.valueOf(NumberConstant.ONE))) {
-            //托运
-            criteria.orOperator(
-                    Criteria.where("checkTopEntId").is(entId),
-                    Criteria.where("checkEntId").is(entId));
-        } else {
-            //承运企业主键ID
-//            criteria.and("carrierTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-            criteria.orOperator(
-                    Criteria.where("carrierTopEntId").is(entId),
-                    Criteria.where("carrierEntId").is(entId));
-        }
-        //装卸货地址
-        String loadCode = query.getLoadAddressCode();
-        if (StringUtils.isNotBlank(loadCode)) {
-            switch (query.getLoadAddressLevel()) {
-                case 1 -> criteria.and("loadCityCode")
-                        .regex(Pattern.compile("^" + loadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 2 -> criteria.and("loadCityCode")
-                        .regex(Pattern.compile("^" + loadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 3 -> criteria.and("loadCityCode").is(loadCode);
-            }
-        }
-        String unloadCode = query.getUnloadAddressCode();
-        if (StringUtils.isNotBlank(unloadCode)) {
-            switch (query.getUnloadAddressLevel()) {
-                case 1 -> criteria.and("unloadCityCode")
-                        .regex(Pattern.compile("^" + unloadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 2 -> criteria.and("unloadCityCode")
-                        .regex(Pattern.compile("^" + unloadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 3 -> criteria.and("unloadCityCode").is(unloadCode);
-            }
-        }
-//        if (StringUtils.isNotBlank(query.getLoadAddress())) {
-//            criteria.and("loadDetailAddress").is(query.getLoadAddress());
-//        }
-//        if (StringUtils.isNotBlank(query.getUnloadAddress())) {
-//            criteria.and("unloadDetailAddress").is(query.getUnloadAddress());
-//        }
-        if (StringUtils.isNotBlank(query.getStatus())) {
-            criteria.and("status").is(query.getStatus());
-        }
-        criteria.and("delFlag").is(String.valueOf(NumberConstant.ZERO));
-        // 4. 日期范围
-        if (StringUtils.isNotEmpty(query.getStartDateTime())) {
-//            criteria.andOperator(Criteria.where("startTime").gte(query.getStartDateTime()).lte(query.getStartDateTime()));
-            criteria.and("startTime").gte(query.getStartDateTime()).lte(query.getStartDateTime());
-        }
-        if (StringUtils.isNotEmpty(query.getEndDateTime())) {
-//            criteria.andOperator(Criteria.where("endTime").gte(query.getEndDateTime()).lte(query.getEndDateTime()));
-            criteria.and("endTime").gte(query.getEndDateTime()).lte(query.getEndDateTime());
-        }
-        if (StringUtils.isNotEmpty(query.getCreateTime())) {
-//            criteria.andOperator(Criteria.where("createTime").gte(query.getCreateTime()).lte(query.getCreateTime()));
-            criteria.and("createTime").gte(query.getCreateTime()).lte(query.getCreateTime());
-        }
-        //多条件模糊查询
-        Criteria c1 = new Criteria();
-        Criteria c2 = new Criteria();
-        Criteria c3 = new Criteria();
-        Criteria c4 = new Criteria();
-        Criteria c5 = new Criteria();
-        if (StringUtils.isNotBlank(query.getKeywords())) {
-            Pattern pattern = Pattern.compile("^.*" + query.getKeywords() + ".*$", Pattern.CASE_INSENSITIVE);
-            c1 = Criteria.where("firmName").regex(pattern);
-            c2 = Criteria.where("carrierFirmName").regex(pattern);
-            c3 = Criteria.where("checkFirmName").regex(pattern);
-            c4 = Criteria.where("tOrderNo").regex(pattern);
-            c5 = Criteria.where("lOrderNo").regex(pattern);
-            criteria.orOperator(c1, c2, c3, c4, c5);
-        }
-
-        Query query1 = new Query(criteria);
-        //in查询
-        List<String> stringList = StringUtils.splitStrToList(query.getIds(), StringConstant.COMMA, String.class);
-        if (CollectionUtils.isNotEmpty(stringList)) {
-            query1.addCriteria(Criteria.where("lOrderId").in(query.getIds()));
-        }
-        // 12. 总记录数
-        long total = mongoTemplate.count(query1, SckwLogisticsOrder.class);
-        // 10. 分页
-        query1.with(PageRequest.of(query.getPage() - 1, query.getPageSize(),
-                // 11. 排序list = {ArrayList@27436}  size = 3returnList = {ArrayList@27393}  size = 3
-                Sort.by(Sort.Direction.DESC, "lOrderId", "createTime")));
-        // 执行查询
-        List<SckwLogisticsOrder> list = mongoTemplate.find(query1, SckwLogisticsOrder.class);
-        List<ConsignOrderVo> returnList = new ArrayList<>();
-        if (CollectionUtils.isNotEmpty(list)) {
-            packageReturnList(list, returnList);
-        }
-        PageResult build = PageResult.build(query.getPage(), query.getPageSize(), total, returnList);
-        return HttpResult.ok(build);
-    }
-
-    /**
-     * 组装托运列表分页查询
-     *
-     * @param list
-     * @param returnList
-     */
-    public void packageReturnList(List<SckwLogisticsOrder> list, List<ConsignOrderVo> returnList) {
-        /**计量单位*/
-//    Map<String, String> unitTypeDictData = getDictData(DictTypeEnum.UNIT_TYPE.getType());
-        /**运价方式*/
-        Map<String, String> priceDictData = getDictData(DictTypeEnum.PRICE_TYPE.getType());
-        /**计费方式*/
-        Map<String, String> chargingDictData = getDictData(DictTypeEnum.CHARGING_TYPE.getType());
-        /**结算周期*/
-        Map<String, String> settlementDictData = getDictData(DictTypeEnum.SETTLEMENT_CYCLE.getType());
-        /**签约方式*/
-        Map<String, String> signingWay = getDictData(DictTypeEnum.SIGNING_TYPE.getType());
-        /**合理损耗*/
-//        Map<String, String> taxRateTypeDictData = getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
-
-        for (SckwLogisticsOrder logisticsOrder : list) {
-            ConsignOrderVo vo = new ConsignOrderVo();
-            vo.setAccountsCycle(logisticsOrder.getSettlementCycle() == null ?
-                    null : String.valueOf(logisticsOrder.getSettlementCycle()));
-            vo.setAppointor(logisticsOrder.getCreateByName());
-            vo.setBillingMode(logisticsOrder.getBillingMode());
-            vo.setCarrierCompany(logisticsOrder.getCarrierFirmName());
-            vo.setCarrierOrder(logisticsOrder.getWOrderNo());
-            vo.setCarrierPhone(logisticsOrder.getCarrierPhone());
-            vo.setCarryingCapacity(logisticsOrder.getCarryingCapacity() == null ?
-                    null : logisticsOrder.getCarryingCapacity());
-            vo.setConsignCompany(logisticsOrder.getCheckFirmName());
-            vo.setConsignContacts(logisticsOrder.getCheckContacts());
-            vo.setConsignPhone(logisticsOrder.getCheckPhone());
-            vo.setContract(logisticsOrder.getContractName());
-            vo.setDeficitAmount(logisticsOrder.getDeficitAmount() == null ?
-                    null : logisticsOrder.getDeficitAmount());
-            vo.setGoodsName(logisticsOrder.getGoodsName());
-            vo.setLoadCityName(logisticsOrder.getLoadDetailAddress());
-            vo.setLoadAddress(logisticsOrder.getLoadCityName() + logisticsOrder.getLoadDetailAddress());
-            vo.setUnloadAddress(logisticsOrder.getUnloadCityName() + logisticsOrder.getUnloadDetailAddress());
-            vo.setUnloadCityName(logisticsOrder.getUnloadDetailAddress());
-            vo.setLOrderId(String.valueOf(logisticsOrder.getLOrderId()));
-            vo.setLOrderNo(logisticsOrder.getLOrderNo());
-            vo.setLoss(logisticsOrder.getLoss() == null ?
-                    null : logisticsOrder.getLoss());
-            vo.setPrice(logisticsOrder.getPrice() == null ?
-                    null : logisticsOrder.getPrice());
-            vo.setReceiveGoodsContacts(logisticsOrder.getUnloadContacts());
-            vo.setReceiveGoodsPhone(logisticsOrder.getUnloadPhone());
-            vo.setRemark(logisticsOrder.getRemark());
-            vo.setShipmentsContacts(logisticsOrder.getLoadContacts());
-            vo.setShipmentsPhone(logisticsOrder.getLoadPhone());
-            vo.setShipmentsDateTime(logisticsOrder.getLoadTime() == null ?
-                    null : DateUtil.getDateTime(logisticsOrder.getLoadTime()));
-            vo.setShipmentsPhone(logisticsOrder.getLoadPhone());
-            vo.setSigning(logisticsOrder.getContractSigningWay());
-            vo.setStatus(logisticsOrder.getStatus());
-            vo.setUnloadAddress(logisticsOrder.getUnloadDetailAddress());
-            vo.setWOrderNo(logisticsOrder.getWOrderNo());
-            vo.setCreateTime(logisticsOrder.getCreateTime() == null ?
-                    null : DateUtil.getDateTime(logisticsOrder.getCreateTime()));
-            vo.setUpdateTime(logisticsOrder.getUpdateTime() == null ?
-                    null : DateUtil.getDateTime(logisticsOrder.getUpdateTime()));
-            vo.setShipmentsUnitEntId(logisticsOrder.getShipmentsUnitEntId());
-            vo.setShipmentsUnit(logisticsOrder.getShipmentsUnit());
-            vo.setReceiveGoodsUnitEntId(logisticsOrder.getReceiveGoodsUnitEntId());
-            vo.setReceiveGoodsUnit(logisticsOrder.getReceiveGoodsUnit());
-            vo.setGoodsPrice(logisticsOrder.getGoodsPrice());
-//            vo.setGoodsPriceUnit(logisticsOrder.getGoodsPriceUnit());
-            vo.setGoodsPriceUnit(priceDictData.get(logisticsOrder.getGoodsPriceUnit()));
-            vo.setSigningLabel(signingWay.get(logisticsOrder.getContractSigningWay()));
-//            vo.setSigningLabel(logisticsOrder.getContractSigningWay() == null ? null :
-//                    (logisticsOrder.getContractSigningWay().equals("1")?"线上签约":"线下签约"));
-            vo.setLossUnit(logisticsOrder.getLossUnit());
-            vo.setStatusLabel(LogisticsOrderEnum.getDestination(logisticsOrder.getStatus()));
-            vo.setAccountsCycleLabel(logisticsOrder.getSettlementCycle() == null ?
-                    null : settlementDictData.get(String.valueOf(logisticsOrder.getSettlementCycle())));
-            vo.setBillingModeLabel(chargingDictData.get(logisticsOrder.getBillingMode()));
-            returnList.add(vo);
-        }
-    }
-
-    public Map<String, String> getDictData(String type) {
-        Map<String, String> maps = new HashMap<>(NumberConstant.SIXTEEN);
-        List<SysDictResDto> list = remoteSystemService.queryDictByType(type);
-        if (CollectionUtils.isNotEmpty(list)) {
-            maps = list.stream().collect(Collectors.toMap(SysDictResDto::getValue, SysDictResDto::getLabel, (key1, key2) -> key2));
-        }
-        return maps;
-    }
-
-    /**
-     * 托运订单导出
-     *
-     * @param query
-     * @param unitType
-     * @return
-     */
-    public List<ConsignOrderExcelVo> exportConsign(ConsignOrderQuery query, String unitType) {
-        //模糊匹配
-        //根据条件查询所有并排序,且分页
-        //设置模糊查询匹配规则  忽略大小写
-        // 创建条件对象
-        Criteria criteria = new Criteria();
-        // 1. 全等于
-        Query query1 = new Query();
-//        if (unitType.equals(NumberConstant.ONE)) {
-//            criteria.and("checkEntId").is(LoginUserHolder.getEntId());
-//        } else {
-//            criteria.and("carrierEntId").is(LoginUserHolder.getEntId());
-//        }
-        List<Long> entIds = new ArrayList<>();
-        entIds.add(LoginUserHolder.getEntId());
-        Map<Long, EntCacheResDto> entMap = remoteSystemService.queryEntTreeByIds(entIds);
-        if (unitType.equals(NumberConstant.ONE)) {
-            //托运
-            criteria.and("checkTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-        } else {
-            //承运企业主键ID
-            criteria.and("carrierTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-        }
-        criteria.and("delFlag").is(String.valueOf(NumberConstant.ZERO));
-        List<String> stringList = StringUtils.splitStrToList(query.getIds(), StringConstant.COMMA, String.class);
-        if (CollectionUtils.isEmpty(stringList)) {
-            if (StringUtils.isNotBlank(query.getLoadAddress())) {
-                criteria.and("loadDetailAddress").is(query.getLoadAddress());
-            }
-            if (StringUtils.isNotBlank(query.getUnloadAddress())) {
-                criteria.and("unloadDetailAddress").is(query.getUnloadAddress());
-            }
-            if (StringUtils.isNotBlank(query.getStatus())) {
-                criteria.and("status").is(query.getStatus());
-            }
-            // 4. 日期范围
-            if (StringUtils.isNotEmpty(query.getStartDateTime()) && StringUtils.isNotEmpty(query.getEndDateTime())) {
-                criteria.andOperator(Criteria.where("createTime").gte(query.getStartDateTime()), Criteria.where("createTime")
-                        .lte(query.getEndDateTime()));
-            }
-            //多条件模糊查询
-            Criteria c1 = new Criteria();
-            Criteria c2 = new Criteria();
-            Criteria c3 = new Criteria();
-            Criteria c4 = new Criteria();
-            Criteria c5 = new Criteria();
-            if (StringUtils.isNotBlank(query.getKeywords())) {
-                Pattern pattern = Pattern.compile("^.*" + query.getKeywords() + ".*$", Pattern.CASE_INSENSITIVE);
-                c1 = Criteria.where("firmName").regex(pattern);
-                c2 = Criteria.where("carrierFirmName").regex(pattern);
-                c3 = Criteria.where("checkFirmName").regex(pattern);
-                c4 = Criteria.where("tOrderNo").regex(pattern);
-                c5 = Criteria.where("lOrderNo").regex(pattern);
-                criteria.orOperator(c1, c2, c3, c4, c5);
-            }
-            query1.addCriteria(criteria);
-            if (CollectionUtils.isNotEmpty(stringList)) {
-                query1.addCriteria(Criteria.where("lOrderId").in(query.getIds()));
-            }
-        } else {
-            query1.addCriteria(criteria);
-            if (CollectionUtils.isNotEmpty(stringList)) {
-                query1.addCriteria(Criteria.where("lOrderId").in(query.getIds()));
-            }
-        }
-        // 执行查询
-        List<SckwLogisticsOrder> list = mongoTemplate.find(query1, SckwLogisticsOrder.class);
-        List<ConsignOrderExcelVo> returnList = new ArrayList<>();
-        if (CollectionUtils.isNotEmpty(list)) {
-            packageReturnExcelList(list, returnList);
-        }
-        return returnList;
-    }
-
-    private void packageReturnExcelList(List<SckwLogisticsOrder> list, List<ConsignOrderExcelVo> returnList) {
-        for (SckwLogisticsOrder logisticsOrder : list) {
-            ConsignOrderExcelVo vo = new ConsignOrderExcelVo();
-            vo.setAccountsCycle(logisticsOrder.getSettlementCycle() == null ?
-                    null : String.valueOf(logisticsOrder.getSettlementCycle()));
-            vo.setAppointor(logisticsOrder.getCreateByName());
-            vo.setBillingMode(logisticsOrder.getBillingMode());
-            vo.setCarrierCompany(logisticsOrder.getCarrierFirmName());
-            vo.setCarrierOrder(logisticsOrder.getWOrderNo());
-            vo.setCarrierPhone(logisticsOrder.getCarrierPhone());
-            vo.setCarryingCapacity(logisticsOrder.getCarryingCapacity() == null ?
-                    null : String.valueOf(logisticsOrder.getCarryingCapacity()));
-            vo.setConsignCompany(logisticsOrder.getCheckFirmName());
-            vo.setConsignContacts(logisticsOrder.getCheckContacts());
-            vo.setConsignPhone(logisticsOrder.getCheckPhone());
-            vo.setContract(logisticsOrder.getContractName());
-            vo.setDeficitAmount(logisticsOrder.getDeficitAmount() == null ?
-                    null : String.valueOf(logisticsOrder.getDeficitAmount()));
-            vo.setGoodsName(logisticsOrder.getGoodsName());
-            vo.setLoadAddress(logisticsOrder.getLoadDetailAddress());
-            vo.setUnloadAddress(logisticsOrder.getUnloadDetailAddress());
-            vo.setLOrderId(String.valueOf(logisticsOrder.getLOrderId()));
-            vo.setLOrderNo(logisticsOrder.getLOrderNo());
-            vo.setLoss(logisticsOrder.getLoss() == null ?
-                    null : String.valueOf(logisticsOrder.getLoss()));
-            vo.setPrice(logisticsOrder.getPrice() == null ?
-                    null : String.valueOf(logisticsOrder.getPrice()));
-            vo.setReceiveGoodsContacts(logisticsOrder.getUnloadContacts());
-            vo.setReceiveGoodsPhone(logisticsOrder.getUnloadPhone());
-            vo.setRemark(logisticsOrder.getRemark());
-            vo.setShipmentsContacts(logisticsOrder.getLoadContacts());
-            vo.setShipmentsPhone(logisticsOrder.getLoadPhone());
-            vo.setShipmentsDateTime(logisticsOrder.getLoadTime() == null ?
-                    null : DateUtil.getDateTime(logisticsOrder.getLoadTime()));
-            vo.setShipmentsPhone(logisticsOrder.getLoadPhone());
-            vo.setSigning(logisticsOrder.getContractSigningWay());
-            vo.setStatus(logisticsOrder.getStatus());
-            vo.setUnloadAddress(logisticsOrder.getUnloadDetailAddress());
-            vo.setWOrderNo(logisticsOrder.getWOrderNo());
-            vo.setCreateTime(logisticsOrder.getCreateTime() == null ?
-                    null : DateUtil.getDateTime(logisticsOrder.getCreateTime()));
-            vo.setUpdateTime(logisticsOrder.getUpdateTime() == null ?
-                    null : DateUtil.getDateTime(logisticsOrder.getUpdateTime()));
-            returnList.add(vo);
-        }
-    }
-
-    public HttpResult statisticsConsign(ConsignOrderQuery param, String unitType) {
-        //模糊匹配
-        //根据条件查询所有并排序,且分页
-        //设置模糊查询匹配规则  忽略大小写
-        // 创建条件对象
-        Criteria criteria = new Criteria();
-        // 1. 全等于
-        //判断承运还是托运企业
-//        if (unitType.equals(NumberConstant.ONE)) {
-//            criteria.and("checkEntId").is(LoginUserHolder.getEntId());
-//        } else {
-//            criteria.and("carrierEntId").is(LoginUserHolder.getEntId());
-//        }
-        List<Long> entIds = new ArrayList<>();
-        entIds.add(LoginUserHolder.getEntId());
-        Long entId = LoginUserHolder.getEntId();
-//        Map<Long, EntCacheResDto> entMap = remoteSystemService.queryEntTreeByIds(entIds);
-        if (unitType.equals(String.valueOf(NumberConstant.ONE))) {
-            //托运
-//            criteria.and("checkTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-            criteria.orOperator(
-                    Criteria.where("checkTopEntId").is(entId),
-                    Criteria.where("checkEntId").is(entId));
-        } else {
-            //承运企业主键ID
-//            criteria.and("carrierTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-            criteria.orOperator(
-                    Criteria.where("carrierTopEntId").is(entId),
-                    Criteria.where("carrierEntId").is(entId));
-        }
-        //装卸货地址
-        String loadCode = param.getLoadAddressCode();
-        if (StringUtils.isNotBlank(loadCode)) {
-            switch (param.getLoadAddressLevel()) {
-                case 1 -> criteria.and("loadCityCode")
-                        .regex(Pattern.compile("^" + loadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 2 -> criteria.and("loadCityCode")
-                        .regex(Pattern.compile("^" + loadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 3 -> criteria.and("loadCityCode").is(loadCode);
-            }
-        }
-        String unloadCode = param.getUnloadAddressCode();
-        if (StringUtils.isNotBlank(unloadCode)) {
-            switch (param.getUnloadAddressLevel()) {
-                case 1 -> criteria.and("unloadCityCode")
-                        .regex(Pattern.compile("^" + unloadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 2 -> criteria.and("unloadCityCode")
-                        .regex(Pattern.compile("^" + unloadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 3 -> criteria.and("unloadCityCode").is(unloadCode);
-            }
-        }
-//        if (StringUtils.isNotBlank(param.getLoadAddress())) {
-//            criteria.and("loadDetailAddress").is(param.getLoadAddress());
-//        }
-//        if (StringUtils.isNotBlank(param.getUnloadAddress())) {
-//            criteria.and("unloadDetailAddress").is(param.getUnloadAddress());
-//        }
-        if (StringUtils.isNotBlank(param.getStatus())) {
-            criteria.and("status").is(param.getStatus());
-        }
-        criteria.and("delFlag").is(String.valueOf(NumberConstant.ZERO));
-        // 4. 日期范围
-        if (StringUtils.isNotEmpty(param.getStartDateTime())) {
-//            criteria.andOperator(Criteria.where("startTime").gte(query.getStartDateTime()).lte(query.getStartDateTime()));
-            criteria.and("startTime").gte(param.getStartDateTime()).lte(param.getStartDateTime());
-        }
-        if (StringUtils.isNotEmpty(param.getEndDateTime())) {
-//            criteria.andOperator(Criteria.where("endTime").gte(query.getEndDateTime()).lte(query.getEndDateTime()));
-            criteria.and("endTime").gte(param.getEndDateTime()).lte(param.getEndDateTime());
-        }
-        if (StringUtils.isNotEmpty(param.getCreateTime())) {
-//            criteria.andOperator(Criteria.where("createTime").gte(query.getCreateTime()).lte(query.getCreateTime()));
-            criteria.and("createTime").gte(param.getCreateTime()).lte(param.getCreateTime());
-        }
-        List<String> stringList = StringUtils.splitStrToList(param.getIds(), StringConstant.COMMA, String.class);
-        if (CollectionUtils.isNotEmpty(stringList)) {
-            criteria = Criteria.where("lOrderId").in(param.getIds());
-        }
-        //多条件模糊查询
-        Criteria c1 = new Criteria();
-        Criteria c2 = new Criteria();
-        Criteria c3 = new Criteria();
-        Criteria c4 = new Criteria();
-        Criteria c5 = new Criteria();
-        if (StringUtils.isNotBlank(param.getKeywords())) {
-            Pattern pattern = Pattern.compile("^.*" + param.getKeywords() + ".*$", Pattern.CASE_INSENSITIVE);
-            c1 = Criteria.where("firmName").regex(pattern);
-            c2 = Criteria.where("carrierFirmName").regex(pattern);
-            c3 = Criteria.where("checkFirmName").regex(pattern);
-            c4 = Criteria.where("tOrderNo").regex(pattern);
-            c5 = Criteria.where("lOrderNo").regex(pattern);
-            criteria.orOperator(c1, c2, c3, c4, c5);
-        }
-        Aggregation aggregation = Aggregation.newAggregation(
-                Aggregation.match(criteria),
-                Aggregation.group("status").count().as("total"),
-                Aggregation.project("total").and("value").previousOperation()
-        );
-        AggregationResults<TableTops> outputTypeCount = mongoTemplate.aggregate(aggregation, SckwLogisticsOrder.class, TableTops.class);
-        List<TableTops> mappedResults = outputTypeCount.getMappedResults();
-        List<TableTops> arrayList = new ArrayList<>();
-        arrayList.addAll(mappedResults);
-        /**补全数据状态不齐的情况*/
-        arrayList = packageReturnStatistics(mappedResults, arrayList);
-        // 查询结果
-        Map<String, Object> map = new HashMap<>(NumberConstant.SIXTEEN);
-        map.put("tableTop", arrayList);
-        return HttpResult.ok(map);
-    }
-
-
-    /**
-     * 组装返回数据
-     *
-     * @param mappedResults
-     * @param arrayList
-     */
-    private List<TableTops> packageReturnStatistics(List<TableTops> mappedResults, List<TableTops> arrayList) {
-        List<String> codeList = LogisticsOrderEnum.getCodeStringList();
-        List<String> collect = mappedResults.stream().map(e -> e.getValue()).collect(Collectors.toList());
-        List<String> diffrentList = transportService.getDiffrentList(collect, codeList);
-        if (CollectionUtils.isNotEmpty(mappedResults)) {
-            if (CollectionUtils.isNotEmpty(diffrentList)) {
-                for (String s : diffrentList) {
-                    TableTops top = new TableTops();
-                    top.setValue(s);
-                    top.setTotal(NumberConstant.ZERO);
-                    arrayList.add(top);
-                }
-            }
-            for (TableTops top : arrayList) {
-                top.setName(LogisticsOrderEnum.getName(Integer.valueOf(top.getValue())));
-            }
-        } else {
-            for (LogisticsOrderEnum logisticsOrderEnum : LogisticsOrderEnum.values()) {
-                TableTops top = new TableTops();
-                top.setName(logisticsOrderEnum.getDestination());
-                top.setValue(logisticsOrderEnum.getStatus());
-                top.setTotal(NumberConstant.ZERO);
-                arrayList.add(top);
-            }
-        }
-        arrayList = arrayList.stream().sorted(Comparator.comparing(TableTops::getValue)).collect(Collectors.toList());
-        if (CollectionUtils.isNotEmpty(arrayList)) {
-            /**已退回数据补充*/
-            int total = 0;
-            for (TableTops tops : arrayList) {
-                if (LogisticsOrderEnum.REJECT_ORDER.getStatus().equals(tops.getValue())) {
-                    total = total + tops.getTotal();
-                }
-                if (LogisticsOrderEnum.CANCEL_ORDER.getStatus().equals(tops.getValue())) {
-                    total = total + tops.getTotal();
-                }
-            }
-            for (TableTops tops : arrayList) {
-                if (LogisticsOrderEnum.SEND_BACK.getStatus().equals(tops.getValue())) {
-                    tops.setTotal(tops.getTotal() + total);
-                }
-            }
-            Iterator iterator = arrayList.iterator();
-            while (iterator.hasNext()) {
-                TableTops tableTops = (TableTops) iterator.next();
-                if (tableTops.getValue().equals(LogisticsOrderEnum.REJECT_ORDER.getStatus())) {
-                    iterator.remove();
-                }
-                if (tableTops.getValue().equals(LogisticsOrderEnum.CANCEL_ORDER.getStatus())) {
-                    iterator.remove();
-                }
-            }
-            /**补全统计【全部字段】*/
-            Integer sum = Math.toIntExact(arrayList.stream().filter(item -> ObjectUtil.isNotEmpty(item.getTotal())).collect(Collectors.summarizingInt(item -> item.getTotal())).getSum());
-            TableTops top = new TableTops();
-            top.setName("全部");
-            top.setValue("all");
-            top.setTotal(sum);
-            arrayList.add(0, top);
-        }
-        return arrayList;
-    }
-
-}

+ 0 - 118
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwFleetService.java

@@ -1,118 +0,0 @@
-package com.sckw.report.service;
-
-import com.alibaba.fastjson.JSON;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
-import com.sckw.core.model.constant.Global;
-import com.sckw.core.model.enums.EntTypeEnum;
-import com.sckw.core.model.page.PageHelperUtil;
-import com.sckw.core.model.page.PageResult;
-import com.sckw.core.utils.CollectionUtils;
-import com.sckw.core.utils.NumberUtils;
-import com.sckw.core.utils.StringUtils;
-import com.sckw.fleet.api.RemoteFleetService;
-import com.sckw.report.model.vo.KwfCapacityVo;
-import com.sckw.system.api.RemoteSystemService;
-import com.sckw.system.api.RemoteUserService;
-import com.sckw.system.api.model.dto.req.QueryEntInfoByCityCodeAndEntTypesWithPageReqDto;
-import com.sckw.system.api.model.dto.res.KwsEnterpriseResDto;
-import jakarta.servlet.http.HttpServletRequest;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.stereotype.Service;
-
-import java.util.*;
-
-/**
- * @author zk
- * @desc 车队服务
- * @date 2023/7/10 0010
- */
-@Service
-public class KwFleetService {
-
-    @DubboReference(version = "1.0.0", group = "design", check = false)
-    RemoteUserService userService;
-
-    @DubboReference(version = "1.0.0", group = "design", check = false)
-    RemoteSystemService systemService;
-
-    @DubboReference(version = "1.0.0", group = "design", check = false)
-    RemoteFleetService fleetService;
-
-    /**
-     * @param params {page:页数、pageSize:每页条数、。。。}
-     * @desc 分页查询
-     * @author zk
-     * @date 2023/9/1
-     **/
-    public PageResult capacity(HashMap<String, Object> params, HttpServletRequest request) {
-        // 参数组装
-        List<Long> entIds = new ArrayList<>();
-        Integer capacityAmountMin = null;
-        Integer capacityAmountMax = null;
-        String totalLoadStr = StringUtils.objectStr(params.get("totalLoad"));
-        String [] array = StringUtils.isNotBlank(totalLoadStr) ? totalLoadStr.split(Global.MINUS_SIGN) : null;
-        capacityAmountMin = NumberUtils.parseEmptyInteger(array != null && array.length > 0 ? array[0] : null);
-        capacityAmountMax = NumberUtils.parseEmptyInteger(array != null && array.length > 1 ? array[1] : null);
-        if (capacityAmountMin != null || capacityAmountMax != null) {
-            List<Map<String, Object>> statistics = fleetService.capacityStatistics(entIds, capacityAmountMin, capacityAmountMax);
-            statistics.forEach(e -> entIds.add(NumberUtils.parseEmptyLong(e.get("entId"))));
-            if (CollectionUtils.isEmpty(entIds)) {
-                return new PageResult();
-            }
-        }
-
-        //专场逻辑
-        String accessSpecial = request.getHeader("Access-Special");
-        //是否主平台
-        boolean mainPlatform = systemService.queryMainPlatform(accessSpecial);
-        if (!mainPlatform) {
-            List<Long> specialEntIds = systemService.queryEntIdsByCode(accessSpecial, EntTypeEnum.carrier());
-            if (CollectionUtils.isNotEmpty(entIds)) {
-                entIds.retainAll(specialEntIds);
-            }
-        }
-
-        // 企业数据查询
-        List<KwfCapacityVo> list = new ArrayList<>();
-        int page = PageResult.getPage(params);
-        int pageSize = PageResult.getPageSize(params);
-        QueryEntInfoByCityCodeAndEntTypesWithPageReqDto queryPage = new QueryEntInfoByCityCodeAndEntTypesWithPageReqDto();
-        queryPage.setPage(page);
-        queryPage.setPageSize(pageSize);
-        queryPage.setEntTypeList(new ArrayList<>(Arrays.asList(3, 4)));
-        queryPage.setCityCode(NumberUtils.parseIntV1(params.get("cityCode")));
-        queryPage.setEntName(StringUtils.objectStr(params.get("firmName")));
-        queryPage.setEntIdList(entIds);
-        PageResult pageResult = userService.queryEntInfoByCityCodeAndEntTypesWithPage(queryPage);
-        List<KwsEnterpriseResDto> ents = JSON.parseArray(JSON.toJSONString(pageResult.getList()), KwsEnterpriseResDto.class);
-        for (KwsEnterpriseResDto ent:ents) {
-            KwfCapacityVo capacity = new KwfCapacityVo();
-            capacity.setEntId(ent.getId());
-            capacity.setFirmName(ent.getFirmName());
-            capacity.setCityCode(ent.getCityCode());
-            capacity.setCityName(ent.getCityName());
-            capacity.setDetailAddress(ent.getDetailAddress());
-            capacity.setApproval(ent.getApproval());
-            capacity.setHead(ent.getHead());
-            list.add(capacity);
-            entIds.add(ent.getId());
-        }
-
-        //企业运力统计
-        List<Map<String, Object>> statistics = fleetService.capacityStatistics(entIds, capacityAmountMin, capacityAmountMax);
-        Map<Long, Map<String, Object>> entMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-        statistics.forEach(e -> entMap.put(NumberUtils.parseEmptyLong(e.get("entId")), e));
-
-        //企业运力统计查询
-        for (KwfCapacityVo capacity:list) {
-            Map<String, Object> statistic = entMap.get(capacity.getEntId());
-            capacity.setCapacityTotal(statistic != null ? NumberUtils.parseInt(statistic.get("capacityTotal")) : Global.NUMERICAL_ZERO);
-            capacity.setCapacityAmount(statistic != null ? NumberUtils.parseDouble(statistic.get("capacityAmount")) : Global.NUMERICAL_ZERO);
-        }
-        pageResult.setList(list);
-        /*PageHelper.startPage(PageResult.getPage(params), PageResult.getPageSize(params));
-        pageResult = PageHelperUtil.getPageResult(new PageInfo<>(list));*/
-        return pageResult;
-    }
-}

+ 2 - 2
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwHomeService.java

@@ -12,7 +12,7 @@ import com.sckw.contract.api.model.vo.ContractVo;
 import com.sckw.core.utils.BeanUtils;
 import com.sckw.order.api.dubbo.TradeOrderInfoService;
 import com.sckw.order.api.model.*;
-import com.sckw.report.service.vo.OperationCountVo;
+import com.sckw.report.model.vo.OperationCountVo;
 import com.sckw.report.api.model.TodoCountVo;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.transport.api.dubbo.TransportRemoteService;
@@ -42,7 +42,6 @@ public class KwHomeService {
 
     @DubboReference(version = "1.0.0", group = "design", check = false)
     private RemoteSystemService remoteSystemService;
-
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 80000)
     private RemoteContractService remoteContractService;
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 80000)
@@ -50,6 +49,7 @@ public class KwHomeService {
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 80000)
     private TransportRemoteService transportRemoteService;
 
+
     /**
      * 运营统计
      *

+ 0 - 549
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwOrderService.java

@@ -1,549 +0,0 @@
-package com.sckw.report.service;
-
-import com.sckw.core.common.enums.enums.DictTypeEnum;
-import com.sckw.core.model.constant.Global;
-import com.sckw.core.model.constant.NumberConstant;
-import com.sckw.core.model.page.PageResult;
-import com.sckw.core.model.vo.TableBottom;
-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.DateUtils;
-import com.sckw.core.utils.StringUtils;
-import com.sckw.core.web.context.LoginUserHolder;
-import com.sckw.excel.utils.DateUtil;
-import com.sckw.mongo.model.SckwTradeOrder;
-import com.sckw.report.enums.TOrderStatusEnum;
-import com.sckw.report.service.param.*;
-import com.sckw.report.service.vo.OrderListRes;
-import com.sckw.report.service.vo.TradeOrderAppStatisticVO;
-import com.sckw.system.api.RemoteSystemService;
-import com.sckw.system.api.model.dto.res.SysDictResDto;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.data.domain.Sort;
-import org.springframework.data.mongodb.core.MongoTemplate;
-import org.springframework.data.mongodb.core.aggregation.Aggregation;
-import org.springframework.data.mongodb.core.aggregation.AggregationResults;
-import org.springframework.data.mongodb.core.query.Criteria;
-import org.springframework.data.mongodb.core.query.Query;
-import org.springframework.stereotype.Service;
-
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.util.*;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-/**
- * @author zk
- * @desc 订单服务
- * @date 2023/7/10 0010
- */
-@Service
-@Slf4j
-@AllArgsConstructor
-public class KwOrderService {
-
-    private final MongoTemplate mongoTemplate;
-
-    @DubboReference(version = "1.0.0", group = "design", check = false)
-    private RemoteSystemService remoteSystemService;
-
-    /**
-     * @desc: 贸易订单详情
-     * @author: yzc
-     * @date: 2023-07-14 9:03
-     * @Param id:
-     * @return: com.sckw.mongo.model.SckwTradeOrder
-     */
-    public SckwTradeOrder tradeOrderDetail(Long id) {
-        Long entId = LoginUserHolder.getEntId();
-        Query query = new Query();
-        Criteria criteria = new Criteria();
-        criteria.andOperator(Criteria.where("_id").is(id).and("delFlag").is(0));
-        criteria.orOperator(Criteria.where("procureTopEntId").is(entId), Criteria.where("supplyTopEntId").is(entId));
-        query.addCriteria(criteria);
-        return mongoTemplate.findOne(query, SckwTradeOrder.class);
-    }
-
-    /**
-     * @desc: 贸易订单列表分页查询
-     * @author: yzc
-     * @date: 2023-07-17 18:04
-     * @Param params:
-     * @return: com.sckw.core.model.page.PageResult
-     */
-    public PageResult tradeOrderSelect(TradeOrderListSelectParam params) {
-        Criteria criteria = buildCriteria(params, false);
-        Sort sort = Sort.by(Sort.Direction.DESC, "createTime");
-        return getResult(criteria, sort, params.getPage(), params.getPageSize());
-    }
-
-    /**
-     * @desc: 获取分页结果
-     * @author: yzc
-     * @date: 2023-07-20 15:02
-     * @Param criteria:
-     * @Param sort:
-     * @Param page:
-     * @Param pageSize:
-     * @return: com.sckw.core.model.page.PageResult
-     */
-    public PageResult getResult(Criteria criteria, Sort sort, Integer page, Integer pageSize) {
-        Query query = new Query();
-        query.addCriteria(criteria);
-        long count = mongoTemplate.count(query, SckwTradeOrder.class);
-        SpringDataPageAble pageAble = new SpringDataPageAble(page, pageSize, sort);
-        query.with(pageAble);
-        List<SckwTradeOrder> list = mongoTemplate.find(query, SckwTradeOrder.class);
-        if (CollectionUtils.isEmpty(list)) {
-            return PageResult.build(page, pageSize, count, Collections.emptyList());
-        }
-        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(
-                DictTypeEnum.TORDER_STATUS.getType(), DictTypeEnum.TRADE_TYPE.getType(), DictTypeEnum.DELIVERY_TYPE.getType(),
-                DictTypeEnum.PICKUP_TYPE.getType(), DictTypeEnum.TORDER_SOURCE.getType()));
-        Map<String, SysDictResDto> unitType = remoteSystemService.queryDictMapByType(DictTypeEnum.UNIT_TYPE.getType());
-        Map<String, String> statusMap, tradeMap, deliveryMap, pickupMap, sourceMap;
-        if (CollectionUtils.isNotEmpty(dict)) {
-            statusMap = CollectionUtils.isNotEmpty(dict.get(DictTypeEnum.TORDER_STATUS.getType())) ?
-                    dict.get(DictTypeEnum.TORDER_STATUS.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            tradeMap = CollectionUtils.isNotEmpty(dict.get(DictTypeEnum.TRADE_TYPE.getType())) ?
-                    dict.get(DictTypeEnum.TRADE_TYPE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            deliveryMap = CollectionUtils.isNotEmpty(dict.get(DictTypeEnum.DELIVERY_TYPE.getType())) ?
-                    dict.get(DictTypeEnum.DELIVERY_TYPE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            pickupMap = CollectionUtils.isNotEmpty(dict.get(DictTypeEnum.PICKUP_TYPE.getType())) ?
-                    dict.get(DictTypeEnum.PICKUP_TYPE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            sourceMap = CollectionUtils.isNotEmpty(dict.get(DictTypeEnum.TORDER_SOURCE.getType())) ?
-                    dict.get(DictTypeEnum.TORDER_SOURCE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
-        } else {
-            statusMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            tradeMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            deliveryMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            pickupMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            sourceMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-        }
-        List<OrderListRes> result = new ArrayList<>();
-        list.forEach(e -> {
-            BigDecimal actualAmount = Objects.isNull(e.getActualAmount()) ? BigDecimal.ZERO : BigDecimal.valueOf(e.getActualAmount());
-            BigDecimal unitPrice = Objects.isNull(e.getUnitPrice()) ? BigDecimal.ZERO : BigDecimal.valueOf(e.getUnitPrice());
-            OrderListRes order = BeanUtils.copyProperties(e, OrderListRes.class);
-            String loadCityName = Objects.isNull(e.getLoadCityName()) ? "" : e.getLoadCityName();
-            String unloadCityName = Objects.isNull(e.getUnloadCityName()) ? "" : e.getUnloadCityName();
-            String loadDetailAddress = Objects.isNull(e.getLoadDetailAddress()) ? "" : e.getLoadDetailAddress();
-            String unloadDetailAddress = Objects.isNull(e.getUnloadDetailAddress()) ? "" : e.getUnloadDetailAddress();
-            order.setStatusLabel(statusMap.get(String.valueOf(e.getStatus())))
-                    .setTradingLabel(tradeMap.get(e.getTrading()))
-                    .setTrading(tradeMap.get(e.getTrading()))
-                    .setDeliveryTypeLabel(deliveryMap.get(e.getDeliveryType()))
-                    .setDeliveryType(deliveryMap.get(e.getDeliveryType()))
-                    .setPickupTypeLabel(pickupMap.get(e.getPickupType()))
-                    .setSourceLabel(sourceMap.get(e.getSource()))
-                    .setSource(sourceMap.get(e.getSource()))
-                    .setLoadDetailAddressInfo(loadCityName + loadDetailAddress)
-                    .setUnloadDetailAddressInfo(unloadCityName + unloadDetailAddress)
-                    .setUnitPrice(setScale(e.getUnitPrice()))
-                    .setPrice(setScale(e.getPrice()))
-                    .setUnit(e.getUnit())
-                    .setUnitLabel(unitType == null ? e.getUnit() : (unitType.get(e.getUnit()) == null ? e.getUnit() : unitType.get(e.getUnit()).getLabel()))
-                    .setAmount(setScale(e.getAmount()))
-                    .setEntrustAmount(setScale(e.getEntrustAmount()))
-                    .setActualAmount(setScale(e.getActualAmount()))
-                    .setWaitEntrustAmount(setScale(getWaitEntrustAmount(e.getAmount(), e.getEntrustAmount())))
-                    .setActualPrice(actualAmount.multiply(unitPrice).setScale(2, RoundingMode.HALF_UP));
-            result.add(order);
-        });
-        return PageResult.build(page, pageSize, count, result);
-    }
-
-
-    /**
-     * @desc: 设置两位小数
-     * @author: yzc
-     * @date: 2023-09-26 10:11
-     * @Param d:
-     * @return: java.lang.BigDecimal
-     */
-    private BigDecimal setScale(Double d) {
-        if (Objects.isNull(d) || BigDecimal.ZERO.compareTo(BigDecimal.valueOf(d)) == 0) {
-            return NumberConstant.ZERO_TWO;
-        }
-        return BigDecimal.valueOf(d).setScale(2, RoundingMode.HALF_UP);
-    }
-
-    /**
-     * @desc: 获取订单待分配运输量
-     * @author: yzc
-     * @date: 2023-08-25 10:32
-     * @Param amount:
-     * @Param entrustAmount:
-     * @return: java.math.Double
-     */
-    private Double getWaitEntrustAmount(Double amount, Double entrustAmount) {
-        if (Objects.isNull(amount) || Objects.isNull(entrustAmount)) {
-            return amount;
-        }
-        return amount - entrustAmount;
-    }
-
-    /**
-     * @desc: 组装Criteria
-     * @author: yzc
-     * @date: 2023-07-17 18:08
-     * @Param params:
-     * @Param isStatistic:
-     * @return: org.springframework.data.mongodb.core.query.Criteria
-     */
-    private Criteria buildCriteria(TradeOrderListStatisticParam params, Boolean isStatistic) {
-        Long entId = LoginUserHolder.getEntId();
-        Long userId = LoginUserHolder.getUserId();
-        String topEnt = Objects.equals(params.getOrderType(), 1) ? "procureTopEntId" : "supplyTopEntId";
-        Criteria dataPermission = getDataPermissions(params.getOrderType());
-        //订单状态
-        Criteria statusCriteria;
-        if (Objects.nonNull(params.getStatus()) && !isStatistic) {
-            statusCriteria = new Criteria().and("status").is(params.getStatus());
-            if (Objects.equals(params.getStatus(), 0)) {
-                //草稿状态只能创建订单的人能看
-                statusCriteria.and("createBy").is(userId);
-            }
-        } else {
-            //非草稿状态or草稿状态且是当前人
-            statusCriteria = new Criteria().orOperator(Criteria.where("status").ne(0),
-                    new Criteria().andOperator(Criteria.where("status").is(0),
-                            Criteria.where("createBy").is(userId)));
-        }
-        //匹配条件
-        Criteria condition = new Criteria();
-        condition.and("delFlag").is(0);
-        //日期范围
-        if (Objects.nonNull(params.getStartCreateTime()) && Objects.nonNull(params.getEndCreateTime())) {
-            condition.and("createTime").gte(params.getStartCreateTime()).lte(params.getEndCreateTime());
-        } else if (Objects.nonNull(params.getStartCreateTime())) {
-            condition.and("createTime").gte(params.getStartCreateTime());
-        } else if (Objects.nonNull(params.getEndCreateTime())) {
-            condition.and("createTime").lte(params.getEndCreateTime());
-        }
-        //装卸货地址
-        String loadCode = params.getShippingAddressCode();
-        if (StringUtils.isNotBlank(loadCode)) {
-            switch (params.getShippingAddressLevel()) {
-                case 1 -> condition.and("loadCityCode")
-                        .regex(Pattern.compile("^" + loadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 2 -> condition.and("loadCityCode")
-                        .regex(Pattern.compile("^" + loadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 3 -> condition.and("loadCityCode").is(loadCode);
-            }
-        }
-        String unloadCode = params.getUnloadingAddressCode();
-        if (StringUtils.isNotBlank(unloadCode)) {
-            switch (params.getUnloadingAddressLevel()) {
-                case 1 -> condition.and("unloadCityCode")
-                        .regex(Pattern.compile("^" + unloadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 2 -> condition.and("unloadCityCode")
-                        .regex(Pattern.compile("^" + unloadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 3 -> condition.and("unloadCityCode").is(unloadCode);
-            }
-        }
-        //提货方式
-        if (StringUtils.isNotBlank(params.getPickupType())) {
-            condition.and("pickupType").is(params.getPickupType());
-        }
-        //交易方式
-        if (StringUtils.isNotBlank(params.getTrading())) {
-            condition.and("trading").is(params.getTrading());
-        }
-        //交付类型
-        if (StringUtils.isNotBlank(params.getDeliveryType())) {
-            condition.and("deliveryType").is(params.getDeliveryType());
-        }
-        //下单方式
-        if (StringUtils.isNotBlank(params.getSource())) {
-            condition.and("source").is(params.getSource());
-        }
-        Criteria criteria = new Criteria().and(topEnt).is(entId);
-        //关键字模糊匹配
-        if (StringUtils.isNotBlank(params.getKeywords())) {
-            Pattern pattern = Pattern.compile("^.*" + params.getKeywords() + ".*$", Pattern.CASE_INSENSITIVE);
-            Criteria keywordsMatch = new Criteria().orOperator(
-                    Criteria.where("tOrderNo").regex(pattern), Criteria.where("procureFirmName").regex(pattern),
-                    Criteria.where("supplyFirmName").regex(pattern), Criteria.where("goodsName").regex(pattern));
-            criteria.andOperator(dataPermission, statusCriteria, condition, keywordsMatch);
-        } else {
-            criteria.andOperator(dataPermission, statusCriteria, condition);
-        }
-        return criteria;
-    }
-
-    /**
-     * @desc: 数据权限组装
-     * @author: yzc
-     * @date: 2023-09-08 18:02
-     * @Param orderType:
-     * @return: org.springframework.data.mongodb.core.query.Criteria
-     */
-    private Criteria getDataPermissions(Integer orderType) {
-        Long entId = LoginUserHolder.getEntId();
-        Integer isMain = LoginUserHolder.getIsMain();
-        List<Long> authUserIdList = LoginUserHolder.getAuthUserIdList();
-        //数据权限
-        String topEnt = Objects.equals(orderType, 1) ? "procureTopEntId" : "supplyTopEntId";
-        String contactsId = Objects.equals(orderType, 1) ? "procureContactsId" : "supplyContactsId";
-        Criteria criteria1, criteria2;
-        if (Objects.equals(isMain, 0)) {
-            criteria1 = new Criteria().andOperator(Criteria.where("ent_id").is(entId),
-                    Criteria.where("create_by").in(authUserIdList));
-            criteria2 = new Criteria().andOperator(Criteria.where(topEnt).is(entId),
-                    Criteria.where(contactsId).in(authUserIdList));
-        } else {
-            criteria1 = new Criteria().andOperator(Criteria.where("ent_id").is(entId));
-            criteria2 = new Criteria().andOperator(Criteria.where(topEnt).is(entId));
-        }
-        return new Criteria().orOperator(criteria1, criteria2);
-    }
-
-    /**
-     * @desc: 贸易订单列表统计查询
-     * @author: yzc
-     * @date: 2023-07-17 18:05
-     * @Param params:
-     * @return: com.sckw.core.model.vo.TableStatisticRes
-     */
-    public TableStatisticRes tradeOrderStatistic(TradeOrderListStatisticParam params) {
-        Criteria criteria = buildCriteria(params, true);
-        return getTableStatistic(criteria, TOrderStatusEnum.getSortList());
-    }
-
-    /**
-     * @desc: 列表统计
-     * @author: yzc
-     * @date: 2023-09-14 14:18
-     * @Param criteria:
-     * @Param enums:
-     * @return: com.sckw.core.model.vo.TableStatisticRes
-     */
-    public TableStatisticRes getTableStatistic(Criteria criteria, List<TOrderStatusEnum> enums) {
-        TableStatisticRes res = new TableStatisticRes();
-        Aggregation aggregation = Aggregation.newAggregation(
-                Aggregation.match(criteria),
-                Aggregation.group("status").count().as("total"),
-                Aggregation.project("total").and("value").previousOperation()
-        );
-        AggregationResults<TableTop> aggregate = mongoTemplate
-                .aggregate(aggregation, SckwTradeOrder.class, TableTop.class);
-        List<TableTop> tableTops = aggregate.getMappedResults();
-        Map<Integer, Integer> map = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-        if (CollectionUtils.isNotEmpty(tableTops)) {
-            map = tableTops.stream().collect(Collectors.toMap
-                    (TableTop::getValue, TableTop::getTotal, (k1, k2) -> k2));
-        }
-        List<TableTop> list = new ArrayList<>();
-        int count = 0;
-        for (TOrderStatusEnum e : enums) {
-            Integer value = e.getCode();
-            int total = Objects.isNull(map.get(value)) ? 0 : map.get(value);
-            TableTop tableTop = new TableTop();
-            tableTop.setName(e.getMsg()).setValue(value).setTotal(total);
-            list.add(tableTop);
-            count = count + total;
-        }
-        TableTop all = new TableTop();
-        all.setName("全部").setTotal(count);
-        list.add(0, all);
-        TableBottom tableBottom = new TableBottom();
-        tableBottom.setTotal(count);
-        res.setTableTops(list).setTableBottom(tableBottom);
-        return res;
-    }
-
-    /**
-     * @desc: app主界面贸易订单统计
-     * @author: yzc
-     * @date: 2023-08-21 17:39
-     * @Param params:
-     * @return: java.util.List<com.sckw.report.service.vo.TradeOrderAppStatisticVO>
-     */
-    public List<TradeOrderAppStatisticVO> appStatistic(TradeOrderAppStatisticParam params) {
-        Long entId = LoginUserHolder.getEntId();
-        String topEnt = Objects.equals(params.getOrderType(), 1) ? "procureTopEntId" : "supplyTopEntId";
-        List<Integer> status = Arrays.asList(1, 4, 5, 7);
-        Criteria criteria = new Criteria();
-        criteria.and(topEnt).is(entId).and("status").in(status).and("delFlag").is(0);
-        Criteria dataPermissions = getDataPermissions(params.getOrderType());
-        criteria.andOperator(dataPermissions);
-        Aggregation aggregation = Aggregation.newAggregation(
-                Aggregation.match(criteria),
-                Aggregation.group("status").count().as("total"),
-                Aggregation.project("total").and("value").previousOperation()
-        );
-        AggregationResults<TradeOrderAppStatisticVO> aggregate = mongoTemplate
-                .aggregate(aggregation, SckwTradeOrder.class, TradeOrderAppStatisticVO.class);
-        List<TradeOrderAppStatisticVO> tableTops = aggregate.getMappedResults();
-        Map<Integer, Integer> map = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-        if (CollectionUtils.isNotEmpty(tableTops)) {
-            map = tableTops.stream().collect(Collectors.toMap
-                    (TradeOrderAppStatisticVO::getValue, TradeOrderAppStatisticVO::getTotal, (k1, k2) -> k2));
-        }
-        List<TradeOrderAppStatisticVO> statistics = new ArrayList<>();
-        for (Integer e : status) {
-            int total = Objects.isNull(map.get(e)) ? 0 : map.get(e);
-            TradeOrderAppStatisticVO statistic = new TradeOrderAppStatisticVO();
-            statistic.setValue(e).setTotal(total);
-            statistics.add(statistic);
-        }
-        return statistics;
-    }
-
-    /**
-     * @desc: 贸易订单列表导出
-     * @author: yzc
-     * @date: 2023-07-17 18:05
-     * @Param params:
-     * @return: java.util.List<com.sckw.report.service.param.TradeOrderListExport>
-     */
-    public List<TradeOrderListExport> export(TradeOrderListExportParam params) {
-        Query query = new Query();
-        if (StringUtils.isNotBlank(params.getIds())) {
-            List<Long> ids = StringUtils.splitStrToList(params.getIds(), ",", Long.class);
-            Long entId = LoginUserHolder.getEntId();
-            Criteria criteria = new Criteria();
-            String topEnt = Objects.equals(params.getOrderType(), 1) ? "procureTopEntId" : "supplyTopEntId";
-            criteria.and("_id").in(ids).and(topEnt).is(entId).and("delFlag").is(0);
-            query.addCriteria(criteria);
-        } else {
-            query.addCriteria(buildCriteria(params, false));
-        }
-        query.with(Sort.by(Sort.Order.desc("createTime")));
-        return getExportResult(query);
-    }
-
-    /**
-     * @desc: 获取导出结果
-     * @author: yzc
-     * @date: 2023-09-14 14:41
-     * @Param query:
-     * @return: java.util.List<com.sckw.report.service.param.TradeOrderListExport>
-     */
-    public List<TradeOrderListExport> getExportResult(Query query) {
-        List<SckwTradeOrder> orders = mongoTemplate.find(query, SckwTradeOrder.class);
-        if (CollectionUtils.isEmpty(orders)) {
-            return Collections.emptyList();
-        }
-        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(
-                DictTypeEnum.TORDER_STATUS.getType(), DictTypeEnum.PICKUP_TYPE.getType(), DictTypeEnum.DELIVERY_TYPE.getType(),
-                DictTypeEnum.TORDER_SOURCE.getType(), DictTypeEnum.TRADE_TYPE.getType()));
-        Map<String, String> statusMap, pickupMap, deliveryMap, sourceMap, tradeMap;
-        if (CollectionUtils.isNotEmpty(dict)) {
-            statusMap = CollectionUtils.isNotEmpty(dict.get(DictTypeEnum.TORDER_STATUS.getType())) ?
-                    dict.get(DictTypeEnum.TORDER_STATUS.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            pickupMap = CollectionUtils.isNotEmpty(dict.get(DictTypeEnum.PICKUP_TYPE.getType())) ?
-                    dict.get(DictTypeEnum.PICKUP_TYPE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            deliveryMap = CollectionUtils.isNotEmpty(dict.get(DictTypeEnum.DELIVERY_TYPE.getType())) ?
-                    dict.get(DictTypeEnum.DELIVERY_TYPE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            sourceMap = CollectionUtils.isNotEmpty(dict.get(DictTypeEnum.TORDER_SOURCE.getType())) ?
-                    dict.get(DictTypeEnum.TORDER_SOURCE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            tradeMap = CollectionUtils.isNotEmpty(dict.get(DictTypeEnum.TRADE_TYPE.getType())) ?
-                    dict.get(DictTypeEnum.TRADE_TYPE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
-        } else {
-            statusMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            pickupMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            deliveryMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            sourceMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            tradeMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-        }
-        List<TradeOrderListExport> list = new ArrayList<>();
-        orders.forEach(e -> {
-            Double waitEntrustAmount = getWaitEntrustAmount(e.getAmount(), e.getEntrustAmount());
-            String loadCityName = Objects.isNull(e.getLoadCityName()) ? "" : e.getLoadCityName();
-            String loadDetailAddress = Objects.isNull(e.getLoadDetailAddress()) ? "" : e.getLoadDetailAddress();
-            String unloadCityName = Objects.isNull(e.getUnloadCityName()) ? "" : e.getUnloadCityName();
-            String unloadDetailAddress = Objects.isNull(e.getUnloadDetailAddress()) ? "" : e.getUnloadDetailAddress();
-            TradeOrderListExport export = BeanUtils.copyProperties(e, TradeOrderListExport.class);
-            export.setStatus(statusMap.get(String.valueOf(e.getStatus())))
-                    .setUnitPrice(String.valueOf(setScale(e.getUnitPrice())))
-                    .setAmount(String.valueOf(setScale(e.getAmount())))
-                    .setPrice(String.valueOf(setScale(e.getPrice())))
-                    .setEntrustAmount(String.valueOf(setScale(e.getEntrustAmount())))
-                    .setActualAmount(String.valueOf(setScale(e.getActualAmount())))
-                    .setWaitEntrustAmount(String.valueOf(setScale(waitEntrustAmount)))
-                    .setPickupType(pickupMap.get(e.getPickupType()))
-                    .setDeliveryType(deliveryMap.get(e.getDeliveryType()))
-                    .setSource(sourceMap.get(e.getSource()))
-                    .setTrading(tradeMap.get(e.getTrading()))
-                    .setLoadDetailAddressInfo(loadCityName + loadDetailAddress)
-                    .setUnloadDetailAddressInfo(unloadCityName + unloadDetailAddress)
-                    .setStartTime(Objects.isNull(e.getStartTime()) ? null : DateUtils.format(e.getStartTime(), DateUtils.DATE_PATTERN))
-                    .setEndTime(Objects.isNull(e.getEndTime()) ? null : DateUtils.format(e.getEndTime(), DateUtils.DATE_PATTERN))
-                    .setCreateTime(DateUtil.getDateTime(e.getCreateTime()));
-            list.add(export);
-        });
-        return list;
-    }
-
-    /**
-     * @desc: 贸易订单对账单分页列表查询
-     * @author: yzc
-     * @date: 2023-07-20 15:03
-     * @Param params:
-     * @return: com.sckw.core.model.page.PageResult
-     */
-    public PageResult tradeOrderStatementList(TradeOrderStatementList params) {
-        Long entId = LoginUserHolder.getEntId();
-        Criteria criteria = new Criteria();
-        String topEnt = Objects.equals(params.getOrderType(), 1) ? "procureTopEntId" : "supplyTopEntId";
-        criteria.and(topEnt).is(entId).and("status").is(TOrderStatusEnum.FINISHED.getCode())
-                .and("associateStatement").ne(1).and("delFlag").is(0);
-        //排除订单ids
-        if (StringUtils.isNotBlank(params.getExcludeIds())) {
-            List<Long> ids = StringUtils.splitStrToList(params.getExcludeIds(), ",", Long.class);
-            criteria.and("_id").nin(ids);
-        }
-        //采购企业
-        if (Objects.nonNull(params.getProcureEntId())) {
-            criteria.and("procureEntId").is(params.getProcureEntId());
-        }
-        //交易方式
-        if (StringUtils.isNotBlank(params.getTrading())) {
-            criteria.and("trading").is(params.getTrading());
-        }
-        //计划开始时间
-        if (Objects.nonNull(params.getStartTime())) {
-            criteria.and("startTime").gte(params.getStartTime());
-        }
-        //计划结束时间
-        if (Objects.nonNull(params.getEndTime())) {
-            criteria.and("endTime").lte(params.getEndTime());
-        }
-        //商品税率
-        if (Objects.nonNull(params.getGoodsTaxRate())) {
-            criteria.and("goodsTaxRate").is(params.getGoodsTaxRate());
-        }
-        //商品名称
-        if (StringUtils.isNotBlank(params.getGoodsName())) {
-            Pattern pattern = Pattern.compile("^.*" + params.getGoodsName() + ".*$", Pattern.CASE_INSENSITIVE);
-            criteria.and("goodsName").regex(pattern);
-        }
-        Sort sort = Sort.by(Sort.Direction.DESC, "createTime");
-        return getResult(criteria, sort, params.getPage(), params.getPageSize());
-    }
-
-    /**
-     * @desc: 合同关联订单列表
-     * @author: yzc
-     * @date: 2023-07-27 17:05
-     * @Param params:
-     * @return: com.sckw.core.model.page.PageResult
-     */
-    public PageResult tradeOrderContractList(TradeOrderContractParam params) {
-        Long entId = LoginUserHolder.getEntId();
-        Criteria criteria = new Criteria();
-        String topEnt = Objects.equals(params.getOrderType(), 1) ? "procureTopEntId" : "supplyTopEntId";
-        List<Long> ids = StringUtils.splitStrToList(params.getContractIds(), ",", Long.class);
-        criteria.and("contractId").in(ids).and(topEnt).is(entId).and("delFlag").is(0);
-        Sort sort = Sort.by(Sort.Direction.DESC, "contractId", "createTime");
-        return getResult(criteria, sort, params.getPage(), params.getPageSize());
-    }
-
-}

+ 0 - 250
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwOrderStatisticsService.java

@@ -1,250 +0,0 @@
-package com.sckw.report.service;
-
-import com.sckw.core.model.constant.NumberConstant;
-import com.sckw.core.common.enums.enums.DictTypeEnum;
-import com.sckw.core.model.constant.Global;
-import com.sckw.core.utils.BeanUtils;
-import com.sckw.core.utils.CollectionUtils;
-import com.sckw.core.utils.DateUtils;
-import com.sckw.core.utils.StringUtils;
-import com.sckw.core.web.context.LoginUserHolder;
-import com.sckw.mongo.model.SckwTradeOrder;
-import com.sckw.payment.api.dubbo.PaymentDubboService;
-import com.sckw.payment.api.model.dto.SettlementMoney;
-import com.sckw.product.api.dubbo.GoodsStatisticsService;
-import com.sckw.product.api.model.GoodsNumStsParam;
-import com.sckw.report.model.dto.WorkbenchOrderStsDTO;
-import com.sckw.report.model.vo.TOrderDataStsResVO;
-import com.sckw.report.model.vo.WbTOrderDataStsParam;
-import com.sckw.report.model.vo.WbTOrderDataStsResVO;
-import com.sckw.report.model.vo.WorkbenchPurchaseVO;
-import com.sckw.system.api.RemoteSystemService;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.data.domain.Sort;
-import org.springframework.data.mongodb.core.MongoTemplate;
-import org.springframework.data.mongodb.core.aggregation.Aggregation;
-import org.springframework.data.mongodb.core.aggregation.AggregationResults;
-import org.springframework.data.mongodb.core.query.Criteria;
-import org.springframework.data.mongodb.core.query.Query;
-import org.springframework.stereotype.Service;
-
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.time.LocalDateTime;
-import java.util.*;
-
-/**
- * @desc: 贸易订单统计
- * @author: yzc
- * @date: 2023-09-11 14:33
- */
-@Service
-@Slf4j
-@AllArgsConstructor
-public class KwOrderStatisticsService {
-
-    private final MongoTemplate mongoTemplate;
-
-    @DubboReference(version = "1.0.0", group = "design", check = false)
-    private GoodsStatisticsService goodsStatisticsService;
-    @DubboReference(version = "1.0.0", group = "design", check = false)
-    private PaymentDubboService paymentDubboService;
-    @DubboReference(version = "1.0.0", group = "design", check = false)
-    private RemoteSystemService remoteSystemService;
-
-
-    /**
-     * @desc: 工作台贸易订单数据统计
-     * @author: yzc
-     * @date: 2023-09-11 15:32
-     * @Param params:
-     * @return: com.sckw.report.model.vo.WbTOrderDataStsResVO
-     */
-    public WbTOrderDataStsResVO workbenchData(WbTOrderDataStsParam params) {
-        WbTOrderDataStsResVO res = new WbTOrderDataStsResVO();
-        List<TOrderDataStsResVO> list = new ArrayList<>();
-        Long entId = LoginUserHolder.getEntId();
-        String unit = params.getUnit();
-        Integer orderType = params.getOrderType();
-        Integer dateType = params.getDateType();
-        Date currentStart = DateUtils.getStartTime(dateType, LocalDateTime.now());
-        Date lastEnd = DateUtils.getLastEndTime(dateType);
-        Date lastStart = DateUtils.getStartTime(dateType, DateUtils.toLocalDateTime(lastEnd));
-        //当前数据
-        TOrderDataStsResVO currentDataSts = new TOrderDataStsResVO();
-        //商品数量
-        GoodsNumStsParam goodsNumStsParam = new GoodsNumStsParam();
-        goodsNumStsParam.setTopEntId(entId).setUnit(unit);
-        Long currentGoodsNum = goodsStatisticsService.getOnShelfGoodsNum(goodsNumStsParam);
-        //待付款金额
-        SettlementMoney settlement = Objects.equals(orderType, 1) ?
-                paymentDubboService.countPurchase(entId, dateType) : paymentDubboService.countSell(entId, dateType);
-        //订单统计
-        WorkbenchOrderStsDTO currentOrderSts = getOrderStsInfo(orderType, unit, currentStart, null);
-        BigDecimal currentAmount = BigDecimal.valueOf(currentOrderSts.getOrderAmount());
-        BigDecimal currentPrice = BigDecimal.valueOf(currentOrderSts.getOrderPrice());
-        currentDataSts.setType(NumberConstant.ONE)
-                .setGoodsNum(currentGoodsNum)
-                .setOrderAmount(currentAmount)
-                .setOrderPrice(currentPrice)
-                .setWaitCollectedPrice(new BigDecimal(settlement.getCurrent()))
-                .setNotArrivedAmount(currentAmount.subtract(BigDecimal.valueOf(currentOrderSts.getOrderActualAmount())));
-        list.add(currentDataSts);
-
-        //上周/上月数据
-        TOrderDataStsResVO lastDataSts = new TOrderDataStsResVO();
-        //商品数量
-        goodsNumStsParam.setEndDate(lastEnd);
-        Long lastGoodsNum = goodsStatisticsService.getOnShelfGoodsNum(goodsNumStsParam);
-        //订单统计
-        WorkbenchOrderStsDTO lastOrderSts = getOrderStsInfo(orderType, unit, lastStart, lastEnd);
-        BigDecimal lastAmount = BigDecimal.valueOf(lastOrderSts.getOrderAmount());
-        BigDecimal lastPrice = BigDecimal.valueOf(lastOrderSts.getOrderPrice());
-        lastDataSts.setType(NumberConstant.TWO)
-                .setGoodsNum(lastGoodsNum)
-                .setOrderAmount(lastAmount)
-                .setOrderPrice(lastPrice)
-                .setWaitCollectedPrice(new BigDecimal(settlement.getBefore()))
-                .setNotArrivedAmount(lastAmount.subtract(BigDecimal.valueOf(lastOrderSts.getOrderActualAmount())));
-        list.add(lastDataSts);
-        res.setTOrderDataStsList(list);
-        //商品数量环比
-        BigDecimal goodsNumRingRate = getRingRate(new BigDecimal(currentGoodsNum), new BigDecimal(lastGoodsNum));
-        boolean goodsNumFlag = goodsNumRingRate.compareTo(BigDecimal.ZERO) >= 0;
-        goodsNumRingRate = goodsNumRingRate.abs();
-        //订单总量环比
-        BigDecimal orderAmountRingRate = getRingRate(currentAmount, lastAmount);
-        boolean orderAmountFlag = orderAmountRingRate.compareTo(BigDecimal.ZERO) >= 0;
-        orderAmountRingRate = orderAmountRingRate.abs();
-        //订单总金额环比
-        BigDecimal orderPriceRingRate = getRingRate(currentPrice, lastPrice);
-        boolean orderPriceFlag = orderPriceRingRate.compareTo(BigDecimal.ZERO) >= 0;
-        orderPriceRingRate = orderPriceRingRate.abs();
-        //未到货量环比
-        BigDecimal notArrivedAmountRingRate = getRingRate(currentDataSts.getNotArrivedAmount(), lastDataSts.getNotArrivedAmount());
-        boolean notArrivedAmountFlag = notArrivedAmountRingRate.compareTo(BigDecimal.ZERO) >= 0;
-        notArrivedAmountRingRate = notArrivedAmountRingRate.abs();
-
-        res.setGoodsNumRingRate(goodsNumRingRate)
-                .setGoodsNumFlag(goodsNumFlag)
-                .setOrderAmountRingRate(orderAmountRingRate)
-                .setOrderAmountFlag(orderAmountFlag)
-                .setOrderPriceRingRate(orderPriceRingRate)
-                .setOrderPriceFlag(orderPriceFlag)
-                .setNotArrivedAmountRingRate(notArrivedAmountRingRate)
-                .setNotArrivedAmountFlag(notArrivedAmountFlag)
-                .setWaitCollectedPriceRingRate(new BigDecimal(settlement.getPercent().replace("%", "")))
-                .setWaitCollectedPriceFlag(Objects.equals(settlement.getFlag(), 1));
-        return res;
-    }
-
-    private BigDecimal getRingRate(BigDecimal current, BigDecimal last) {
-        BigDecimal res;
-        if (last.compareTo(BigDecimal.ZERO) == 0) {
-            res = (current.subtract(last)).compareTo(BigDecimal.ZERO) != 0 ? NumberConstant.ONE_HUNDRED : BigDecimal.ZERO;
-        } else {
-            res = (current.subtract(last)).multiply(NumberConstant.ONE_HUNDRED).divide(last, 2, RoundingMode.HALF_UP);
-        }
-        return res;
-    }
-
-    /**
-     * @desc: 获取订单统计信息
-     * @author: yzc
-     * @date: 2023-09-11 17:55
-     * @Param orderType:
-     * @Param unit:
-     * @Param start:
-     * @Param end:
-     * @return: com.sckw.report.model.dto.WorkbenchOrderStsDTO
-     */
-    private WorkbenchOrderStsDTO getOrderStsInfo(Integer orderType, String unit, Date start, Date end) {
-        WorkbenchOrderStsDTO dto = new WorkbenchOrderStsDTO();
-        Long entId = LoginUserHolder.getEntId();
-        String topEnt = Objects.equals(orderType, 1) ? "procureTopEntId" : "supplyTopEntId";
-        Criteria criteria = new Criteria();
-        criteria.and(topEnt).is(entId).and("status").nin(0, 2).and("delFlag").is(0);
-        if (StringUtils.isNotBlank(unit)) {
-            criteria.and("unit").is(unit);
-        }
-        if (Objects.nonNull(start) && Objects.nonNull(end)) {
-            criteria.and("createTime").gte(start).lte(end);
-        } else if (Objects.nonNull(start)) {
-            criteria.and("createTime").gte(start);
-        } else if (Objects.nonNull(end)) {
-            criteria.and("createTime").lte(end);
-        }
-        Aggregation aggregation = Aggregation.newAggregation(
-                Aggregation.match(criteria),
-                Aggregation.group().sum("amount").as("orderAmount")
-                        .sum("price").as("orderPrice")
-                        .sum("actualAmount").as("orderActualAmount"));
-        AggregationResults<WorkbenchOrderStsDTO> aggregate =
-                mongoTemplate.aggregate(aggregation, SckwTradeOrder.class, WorkbenchOrderStsDTO.class);
-        List<WorkbenchOrderStsDTO> mappedResults = aggregate.getMappedResults();
-        if (CollectionUtils.isEmpty(mappedResults)) {
-            return dto;
-        }
-        return mappedResults.get(0);
-    }
-
-    /**
-     * @desc: 工作台采购订单列表
-     * @author: yzc
-     * @date: 2023-09-13 19:37
-     * @return: java.util.List<com.sckw.report.model.vo.WorkbenchPurchaseVO>
-     */
-    public List<WorkbenchPurchaseVO> workbenchPurchaseList() {
-        Long entId = LoginUserHolder.getEntId();
-        Criteria criteria = new Criteria();
-        criteria.and("procureTopEntId").is(entId)
-                .and("status").nin(0, 2, 7)
-                .and("delFlag").is(0);
-        Query query = new Query();
-        query.addCriteria(criteria)
-                .with(Sort.by(Sort.Direction.DESC, "createTime"))
-                .limit(10);
-        List<SckwTradeOrder> orders = mongoTemplate.find(query, SckwTradeOrder.class);
-        if (CollectionUtils.isEmpty(orders)) {
-            return Collections.emptyList();
-        }
-        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(
-                DictTypeEnum.UNIT_TYPE.getType(), DictTypeEnum.PRODUCT_NAME_TYPE.getType()));
-        Map<String, String> unitMap, goodsNameMap;
-        if (CollectionUtils.isNotEmpty(dict)) {
-            unitMap = CollectionUtils.isNotEmpty(dict.get(DictTypeEnum.UNIT_TYPE.getType())) ?
-                    dict.get(DictTypeEnum.UNIT_TYPE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            goodsNameMap = CollectionUtils.isNotEmpty(dict.get(DictTypeEnum.PRODUCT_NAME_TYPE.getType())) ?
-                    dict.get(DictTypeEnum.PRODUCT_NAME_TYPE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
-        } else {
-            unitMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            goodsNameMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-        }
-        List<WorkbenchPurchaseVO> result = new ArrayList<>();
-        orders.forEach(e -> {
-            WorkbenchPurchaseVO vo = BeanUtils.copyProperties(e, WorkbenchPurchaseVO.class);
-            vo.setUnitLabel(unitMap.get(e.getUnit()))
-                    .setAmount(setScale(e.getAmount()))
-                    .setGoodsTypeLabel(goodsNameMap.get(e.getGoodsType()));
-            result.add(vo);
-        });
-        return result;
-    }
-
-
-    /**
-     * @desc: 设置两位小数
-     * @author: yzc
-     * @date: 2023-09-26 10:11
-     * @Param d:
-     * @return: java.lang.BigDecimal
-     */
-    private BigDecimal setScale(Double d) {
-        if (Objects.isNull(d) || BigDecimal.ZERO.compareTo(BigDecimal.valueOf(d)) == 0) {
-            return NumberConstant.ZERO_TWO;
-        }
-        return BigDecimal.valueOf(d).setScale(2, RoundingMode.HALF_UP);
-    }
-}

+ 0 - 813
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwTransportService.java

@@ -1,813 +0,0 @@
-package com.sckw.report.service;
-
-import com.sckw.core.model.constant.NumberConstant;
-import com.sckw.core.common.enums.enums.DictTypeEnum;
-import com.sckw.core.model.constant.Global;
-import com.sckw.core.model.enums.CarWaybillEnum;
-import com.sckw.core.model.enums.CarWaybillQueryEnum;
-import com.sckw.core.model.enums.LogisticsOrderEnum;
-import com.sckw.core.model.enums.TaxRateTypeEnum;
-import com.sckw.core.model.page.PageResult;
-import com.sckw.core.utils.BeanUtils;
-import com.sckw.core.utils.CollectionUtils;
-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.mongo.model.SckwLogisticsOrder;
-import com.sckw.mongo.model.SckwWaybillOrder;
-import com.sckw.mongo.model.TableTops;
-import com.sckw.report.dao.SckwLogisticsOrderRepository;
-import com.sckw.report.service.param.ContractParam;
-import com.sckw.report.service.param.WaybillOrderListExport;
-import com.sckw.report.service.param.WaybillOrderListSelect;
-import com.sckw.report.service.param.WaybillOrderQuery;
-import com.sckw.report.service.vo.CarWaybillVo;
-import com.sckw.report.service.vo.WaybillsCountVo;
-import com.sckw.system.api.RemoteSystemService;
-import com.sckw.system.api.model.dto.res.AreaTreeFrontResDto;
-import com.sckw.system.api.model.dto.res.SysDictResDto;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Sort;
-import org.springframework.data.mongodb.core.MongoTemplate;
-import org.springframework.data.mongodb.core.aggregation.Aggregation;
-import org.springframework.data.mongodb.core.aggregation.AggregationResults;
-import org.springframework.data.mongodb.core.query.Criteria;
-import org.springframework.data.mongodb.core.query.Query;
-import org.springframework.stereotype.Service;
-
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.text.ParseException;
-import java.util.*;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-/**
- * @author zk
- * @desc 运输服务
- * @date 2023/7/10 0010
- */
-@Slf4j
-@Service
-public class KwTransportService {
-
-    @Autowired
-    public SckwLogisticsOrderRepository sckwLogisticsOrderRepository;
-
-    @Autowired
-    private MongoTemplate mongoTemplate;
-
-//    @DubboReference(version = "1.0.0", group = "design", check = false)
-//    TransportDubboService transportDubboService;
-
-    @DubboReference(version = "1.0.0", group = "design", check = false)
-    RemoteSystemService remoteSystemService;
-
-    /**
-     * @param sourceList 源数据  [1]
-     * @param targetList 目标数据 [1,2,3]
-     * @Description: 获取targetList中在sourceList中不存在的项
-     * @return: List<String>    [2,3]
-     */
-    public List<String> getDiffrentList(List<String> sourceList, List<String> targetList) {
-        return targetList.stream().filter(item -> sourceList.stream().allMatch(each -> !item.equals(each))).collect(Collectors.toList());
-    }
-
-//    /**
-//     * 托运订单-承运订单(订单详情)
-//     * @param id
-//     * @return
-//     */
-//    public HttpResult getOrderDetail(Long id) {
-//        Query query = new Query();
-//        Criteria criteria = new Criteria();
-//        // 1. 全等于
-//        criteria.and("entId").is(LoginUserHolder.getEntId());
-//        criteria.and("_id").is(id);
-//        criteria.and("delFlag").is(NumberConstant.ZERO);
-//        query.addCriteria(criteria);
-//        SckwLogisticsOrder sckwLogisticsOrder = mongoTemplate.findById(id, SckwLogisticsOrder.class);
-//        return HttpResult.ok(sckwLogisticsOrder);
-//    }
-
-    /**
-     * 司机端 运单详情页面-【作废】
-     *
-     * @param id
-     * @param type
-     * @return
-     */
-    public HttpResult getWaybillDriverDetail(Long id, String type) {
-        HttpResult result = new HttpResult();
-
-        /**
-         * 当前司机端页面 页面【计划】=1;【出车】=2;【执行】=3;【完结】=4
-         * 计划:对应运单状态的[待接单]
-         * 出车:对应运单状态的[待出车]
-         * 执行:对应[已出车][到达装货地点]、[已装货]、[到达卸货地点]
-         * 完结: 对应[已卸货]、[已核单]
-         * */
-
-        List<Long> status = new ArrayList<>();
-        if (String.valueOf(NumberConstant.ONE).equals(type)) {
-            status.add(CarWaybillEnum.PENDING_ORDER.getCode().longValue());
-        } else if (String.valueOf(NumberConstant.TWO).equals(type)) {
-            status.add(CarWaybillEnum.PENDING_VEHICLE.getCode().longValue());
-        } else if (String.valueOf(NumberConstant.THREE).equals(type)) {
-            status.add(CarWaybillEnum.EXIT_COMPLETED.getCode().longValue());
-            status.add(CarWaybillEnum.WAIT_LOADING.getCode().longValue());
-            status.add(CarWaybillEnum.COMPLETION_LOADING.getCode().longValue());
-            status.add(CarWaybillEnum.WAIT_UNLOADING.getCode().longValue());
-        } else if (String.valueOf(NumberConstant.FOUR).equals(type)) {
-            status.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode().longValue());
-            status.add(CarWaybillEnum.APPROVAL_PASS.getCode().longValue());
-        } else {
-            result.setMsg("类型错误");
-            result.setCode(HttpStatus.GLOBAL_EXCEPTION_CODE);
-            return result;
-        }
-        // 创建条件对象
-        Criteria criteria = new Criteria();
-        Query query = new Query(criteria);
-        //in查询
-        if (CollectionUtils.isNotEmpty(status)) {
-            query.addCriteria(Criteria.where("_id").in(status));
-        }
-        // 执行查询
-        List<SckwWaybillOrder> all1 = mongoTemplate.findAll(SckwWaybillOrder.class);
-        return HttpResult.ok(all1);
-    }
-
-//    public List<KwtLogisticsOrderVO> transportDubboService(List<String> ids) {
-//        List<KwtLogisticsOrderVO> acceptCarriageOrderDetail = transportDubboService.getAcceptCarriageOrderDetail(ids);
-//        return acceptCarriageOrderDetail;
-//    }
-
-    /**
-     * 获取运单列表
-     *
-     * @param query
-     * @return {@link HttpResult }
-     * @author jc
-     * @date 2023/07/21
-     */
-    public HttpResult getWaybillOrders(WaybillOrderListSelect query) throws ParseException {
-        Criteria criteria = newBuildWaybillOrdersQuery(query);
-        Query queryFormat = new Query(criteria);
-        // in查询
-        List<Long> wOrderIds = StringUtils.splitStrToList(query.getIds(), ",", Long.class);
-        if (CollectionUtils.isNotEmpty(wOrderIds)) {
-            queryFormat.addCriteria(Criteria.where("wOrderId").in(wOrderIds));
-        }
-
-        // 总记录数
-        long total = mongoTemplate.count(queryFormat, SckwWaybillOrder.class);
-        queryFormat.with(PageRequest.of(query.getPage() - 1, query.getPageSize(),
-                Sort.by(Sort.Order.desc("createTime"))));
-        // 执行查询
-        List<SckwWaybillOrder> list = mongoTemplate.find(queryFormat, SckwWaybillOrder.class);
-        List<CarWaybillVo> returnList = new ArrayList<>();
-        if (CollectionUtils.isNotEmpty(list)) {
-            packageWayBillReturnList(list, returnList, query.getStatus());
-        }
-        PageResult build = PageResult.build(query.getPage(), query.getPageSize(), total, returnList);
-        return HttpResult.ok(build);
-    }
-
-    /**
-     * 构造运单关联查询条件
-     *
-     * @param query
-     * @return
-     */
-    public Criteria newBuildWaybillOrdersQuery(WaybillOrderQuery query) {
-        // 模糊匹配
-        // 根据条件查询所有并排序,且分页
-        // 设置模糊查询匹配规则  忽略大小写
-        // 创建条件对象
-        Criteria criteria = new Criteria();
-        criteria.and("entId").is(LoginUserHolder.getEntId());
-        criteria.and("delFlag").is(NumberConstant.ZERO);
-
-        // 运单创建人或有关授权用户
-        List<Long> userIds = LoginUserHolder.getAuthUserIdList();
-        criteria.and("createBy").in(userIds);
-
-        /**
-         * 【拒绝接单】、【拒绝出车】、【已撤销】状态在列表页的表头,都归类到【已作废】状态中;
-         *
-         * 【审核通过】、【核单驳回】、【修改审核】状态都归类于【单证审核】大类状态下
-         * */
-        if (StringUtils.isNotBlank(query.getStatus()) && (!"all".equals(query.getStatus()))) {
-            List<Integer> statuses = new ArrayList<>();
-            if (query.getStatus().equals(CarWaybillQueryEnum.DOCUMENT_CHECK.getStatus())) {
-                statuses.add(CarWaybillEnum.APPROVAL_IN.getCode());
-                statuses.add(CarWaybillEnum.APPROVAL_NO_PASS.getCode());
-                statuses.add(CarWaybillEnum.APPROVAL_PASS.getCode());
-                criteria.and("status").in(statuses);
-            } else if (query.getStatus().equals(String.valueOf(CarWaybillQueryEnum.ABROGATE.getCode()))) {
-                statuses.clear();
-                statuses.add(CarWaybillEnum.REJECT_ORDER.getCode());
-                statuses.add(CarWaybillEnum.REFUSE_TRAFFIC.getCode());
-                statuses.add(CarWaybillEnum.REVOKED.getCode());
-                criteria.and("status").in(statuses);
-            } else {
-                criteria.and("status").is(Integer.valueOf(query.getStatus()));
-            }
-        }
-        // 装载时间
-        if (Objects.nonNull(query.getStartLoadTime()) && Objects.nonNull(query.getEndLoadTime())) {
-            criteria.and("loadTime").gte(query.getStartLoadTime()).lte(DateUtil.offsetDay(query.getEndLoadTime(), 1));
-        } else if (Objects.nonNull(query.getStartLoadTime())) {
-            criteria.and("loadTime").gte(query.getStartLoadTime());
-        } else if (Objects.nonNull(query.getEndLoadTime())) {
-            criteria.and("loadTime").lte(DateUtil.offsetDay(query.getEndLoadTime(), 1));
-        }
-        // 派车时间
-        if (Objects.nonNull(query.getStartSendCarTime()) && Objects.nonNull(query.getEndSendCarTime())) {
-            criteria.and("sendCarTime").gte(query.getStartSendCarTime()).lte(DateUtil.offsetDay(query.getEndSendCarTime(), 1));
-        } else if (Objects.nonNull(query.getStartSendCarTime())) {
-            criteria.and("sendCarTime").gte(query.getStartSendCarTime());
-        } else if (Objects.nonNull(query.getEndSendCarTime())) {
-            criteria.and("sendCarTime").lte(DateUtil.offsetDay(query.getEndSendCarTime(), 1));
-        }
-        // 卸货时间
-        if (Objects.nonNull(query.getStartUnloadTime()) && Objects.nonNull(query.getEndUnloadTime())) {
-            criteria.and("unloadTime").gte(query.getStartUnloadTime()).lte(DateUtil.offsetDay(query.getEndUnloadTime(), 1));
-        } else if (Objects.nonNull(query.getStartUnloadTime())) {
-            criteria.and("unloadTime").gte(query.getStartUnloadTime());
-        } else if (Objects.nonNull(query.getEndUnloadTime())) {
-            criteria.and("unloadTime").lte(DateUtil.offsetDay(query.getEndUnloadTime(), 1));
-        }
-        // 装货地址
-        String loadCode = query.getLoadCityCode();
-        if (StringUtils.isNotBlank(loadCode)) {
-            switch (query.getLoadCityCodeLevel()) {
-                case 1 -> criteria.and("loadCityCode")
-                        .regex(Pattern.compile("^" + loadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 2 -> criteria.and("loadCityCode")
-                        .regex(Pattern.compile("^" + loadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 3 -> criteria.and("loadCityCode").is(loadCode);
-            }
-        }
-        // 卸货地址
-        String unloadCode = query.getUnloadCityCode();
-        if (StringUtils.isNotBlank(unloadCode)) {
-            switch (query.getUnloadCityCodeLevel()) {
-                case 1 -> criteria.and("unloadCityCode")
-                        .regex(Pattern.compile("^" + unloadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 2 -> criteria.and("unloadCityCode")
-                        .regex(Pattern.compile("^" + unloadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 3 -> criteria.and("unloadCityCode").is(unloadCode);
-            }
-        }
-        // 多条件模糊查询
-        List<Criteria> orCriteria = new ArrayList<>();
-        if (StringUtils.isNotBlank(query.getKeywords())) {
-            Pattern pattern = Pattern.compile("^.*" + query.getKeywords() + ".*$", Pattern.CASE_INSENSITIVE);
-            orCriteria.add(Criteria.where("wOrderNo").regex(pattern));
-            orCriteria.add(Criteria.where("truckNo").regex(pattern));
-            orCriteria.add(Criteria.where("driverName").regex(pattern));
-            orCriteria.add(Criteria.where("firmName").regex(pattern));
-            criteria.orOperator(orCriteria);
-        }
-        return criteria;
-    }
-
-    /**
-     * 运单管理-运单列表 top 统计
-     *
-     * @param query 查询
-     * @return {@link HttpResult }
-     * @author jc
-     * @date 2023/07/21
-     */
-    public HttpResult getWayBillStatistics(WaybillOrderQuery query) {
-        Criteria criteria = newBuildWaybillOrdersQuery(query);
-        Aggregation aggregation = Aggregation.newAggregation(
-                Aggregation.match(criteria),
-                Aggregation.group("status").count().as("total"),
-                Aggregation.project("total").and("value").previousOperation()
-        );
-        AggregationResults<TableTops> outputTypeCount = mongoTemplate.aggregate(aggregation, SckwWaybillOrder.class, TableTops.class);
-        List<TableTops> results = outputTypeCount.getMappedResults();
-        // 填充默认值
-        List<TableTops> list = new ArrayList<>();
-        TableTops topTotal = new TableTops();
-        topTotal.setName("全部");
-        topTotal.setValue("all");
-        topTotal.setTotal(0);
-
-        //已作废
-        TableTops topExpired = new TableTops();
-        topExpired.setName(CarWaybillQueryEnum.ABROGATE.getDestination());
-        topExpired.setValue(CarWaybillQueryEnum.ABROGATE.getStatus());
-        topExpired.setTotal(0);
-
-        //单据审核
-        TableTops documentCheck = new TableTops();
-        documentCheck.setName(CarWaybillQueryEnum.DOCUMENT_CHECK.getDestination());
-        documentCheck.setValue(CarWaybillQueryEnum.DOCUMENT_CHECK.getStatus());
-        documentCheck.setTotal(0);
-
-        list.addAll(results);
-        list.add(topExpired);
-        list.add(documentCheck);
-//        ArrayList<Long> expiredStatuses = new ArrayList<>();
-//        expiredStatuses.add(CarWaybillEnum.REJECT_ORDER.getCode().longValue());
-//        expiredStatuses.add(CarWaybillEnum.REFUSE_TRAFFIC.getCode().longValue());
-//        expiredStatuses.add(CarWaybillEnum.REVOKED.getCode().longValue());
-//        expiredStatuses.add(CarWaybillEnum.APPROVAL_NO_PASS.getCode().longValue());
-//        for (CarWaybillEnum status : CarWaybillEnum.values()) {
-//            boolean expiredFlag = expiredStatuses.contains(status.getCode().longValue());
-//            TableTops top = new TableTops();
-//            top.setName(status.getDestination());
-//            top.setValue(String.valueOf(status.getCode()));
-//            top.setTotal(0);
-//            if (CollectionUtils.isNotEmpty(results)) {
-//                for (TableTops result : results) {
-//                    if (StringUtils.isNotEmpty(result.getValue())
-//                            && String.valueOf(result.getValue()).equals(String.valueOf(status.getCode()))) {
-//                        if (expiredFlag) {
-//                            topExpired.setTotal(topExpired.getTotal() + result.getTotal());
-//                        } else {
-//                            top.setTotal(result.getTotal());
-//                        }
-//                        break;
-//                    }
-//                }
-//            }
-//            if (!expiredFlag) {
-//                list.add(top);
-//            }
-//        }
-        /**数据统计计算*/
-        //单证审核合并计算
-        documentCheckNumberCount(list);
-        //已作废合并计算
-        abrogateNumberCount(list);
-        /**补齐全部状态值*/
-        List<String> codeList = CarWaybillEnum.getStringCodes();
-        List<String> collect = list.stream().map(e -> e.getValue()).collect(Collectors.toList());
-        List<String> diffrentList = getDiffrentList(collect, codeList);
-        for (String s : diffrentList) {
-            TableTops top = new TableTops();
-            top.setValue(s);
-            top.setTotal(NumberConstant.ZERO);
-            top.setSort(Integer.valueOf(s));
-            list.add(top);
-        }
-        /**状态赋值翻译*/
-        for (CarWaybillEnum waybillEnum : CarWaybillEnum.values()) {
-            for (TableTops tops : list) {
-                if (waybillEnum.getStatus().equals(tops.getValue())) {
-                    tops.setName(waybillEnum.getDestination());
-                    tops.setSort(waybillEnum.getCode());
-                    continue;
-                }
-            }
-        }
-//        list.add(topExpired);
-        /**去除不展示统计字段*/
-        List<TableTops> returnList = new ArrayList<>();
-        for (TableTops tops : list) {
-            if ((!CarWaybillEnum.REFUSE_TRAFFIC.getStatus().equals(tops.getValue()))
-                    && (!CarWaybillEnum.APPROVAL_NO_PASS.getStatus().equals(tops.getValue()))
-                    && (!CarWaybillEnum.REVOKED.getStatus().equals(tops.getValue()))
-                    && (!CarWaybillEnum.REJECT_ORDER.getStatus().equals(tops.getValue()))
-                    && (!CarWaybillEnum.APPROVAL_NO_PASS.getStatus().equals(tops.getValue()))
-                    && (!CarWaybillEnum.APPROVAL_IN.getStatus().equals(tops.getValue()))
-                    && (!CarWaybillEnum.APPROVAL_PASS.getStatus().equals(tops.getValue()))
-            ) {
-                returnList.add(tops);
-            }
-        }
-        /**排序*/
-        returnList = returnList.stream().sorted(Comparator.comparing(TableTops::getSort)).collect(Collectors.toList());
-        returnList.add(0, topTotal);
-        // 总计
-        topTotal.setTotal(returnList.parallelStream().mapToInt(item -> item.getTotal()).sum());
-        // 查询结果
-        return HttpResult.ok(returnList);
-    }
-
-    /**
-     * 统计top计算
-     *
-     * @param results
-     */
-    private void documentCheckNumberCount(List<TableTops> results) {
-        if (!org.springframework.util.CollectionUtils.isEmpty(results)) {
-            //单证审核计算包含审核通过、审核更新审核中以及审核不通过
-            Integer documentCheck = 0;
-            for (TableTops result : results) {
-                //单证审核计算
-                if (CarWaybillEnum.APPROVAL_IN.getStatus().equals(result.getValue())
-                        || CarWaybillEnum.APPROVAL_NO_PASS.getStatus().equals(result.getValue())
-                        || CarWaybillEnum.APPROVAL_PASS.getStatus().equals(result.getValue())) {
-                    documentCheck = documentCheck + result.getTotal();
-                }
-            }
-            for (TableTops result : results) {
-                if (CarWaybillQueryEnum.DOCUMENT_CHECK.getStatus().equals(result.getValue())) {
-                    result.setTotal(documentCheck);
-                    result.setSort(CarWaybillQueryEnum.DOCUMENT_CHECK.getCode());
-                    break;
-                }
-            }
-        }
-    }
-
-    /**
-     * 统计top计算
-     *
-     * @param results
-     */
-    private void abrogateNumberCount(List<TableTops> results) {
-        if (!org.springframework.util.CollectionUtils.isEmpty(results)) {
-            //已作废包含本身以及拒绝出车、已撤销、拒绝接单
-            Integer orderCancellation = 0;
-            for (TableTops result : results) {
-                //已作废计算
-                if (CarWaybillEnum.REJECT_ORDER.getStatus().equals(result.getValue())
-                        || CarWaybillEnum.REVOKED.getStatus().equals(result.getValue())
-                        || CarWaybillEnum.REFUSE_TRAFFIC.getStatus().equals(result.getValue())
-                ) {
-                    orderCancellation = orderCancellation + result.getTotal();
-                }
-            }
-            for (TableTops result : results) {
-                if (CarWaybillQueryEnum.ABROGATE.getStatus().equals(result.getValue())) {
-                    result.setTotal(orderCancellation);
-                    result.setSort(CarWaybillQueryEnum.ABROGATE.getCode());
-                }
-            }
-        }
-    }
-
-    /**
-     * 运单管理-运单列表 列表统计数据项
-     *
-     * @param query 查询
-     * @return {@link HttpResult }
-     * @author jc
-     * @date 2023/07/21
-     */
-    public HttpResult wayBillTotalCount(WaybillOrderQuery query) {
-        // 统计项字段
-        Criteria criteria = newBuildWaybillOrdersQuery(query);
-        Aggregation aggregation = Aggregation.newAggregation(
-                Aggregation.match(criteria),
-                Aggregation.group("id").count().as("countTotal")
-                        .sum("entrustAmount").as("entrustTotal")
-                        .sum("loadAmount").as("loadTotal")
-                        .sum("unloadAmount").as("unloadTotal"),
-                Aggregation.project("countTotal", "entrustTotal", "loadTotal", "unloadTotal")
-        );
-        AggregationResults<WaybillsCountVo> outputTypeCount = mongoTemplate.aggregate(aggregation, SckwWaybillOrder.class, WaybillsCountVo.class);
-        List<WaybillsCountVo> results = outputTypeCount.getMappedResults();
-        return HttpResult.ok(results);
-    }
-
-    /**
-     * 运单处理运单查询结果
-     *
-     * @param list
-     * @param returnList
-     */
-    private void packageWayBillReturnList(List<SckwWaybillOrder> list, List<CarWaybillVo> returnList, String status) {
-        for (SckwWaybillOrder waybillOrder : list) {
-            CarWaybillVo vo = new CarWaybillVo();
-            vo.setWOrderNo(waybillOrder.getWOrderNo() == null ?
-                    null : waybillOrder.getWOrderNo());
-            vo.setWOrderId(waybillOrder.getWOrderId() == null ?
-                    String.valueOf(waybillOrder.get_id()) : String.valueOf(waybillOrder.getWOrderId()));
-            vo.setLOrderNo(waybillOrder.getLOrderNo() == null ?
-                    null : waybillOrder.getLOrderNo());
-            vo.setTruckNo(waybillOrder.getTruckNo());
-            vo.setDriverName(waybillOrder.getDriverName() == null ?
-                    null : String.valueOf(waybillOrder.getDriverName()));
-            vo.setType(String.valueOf(waybillOrder.getType()));
-            String typeString = "";
-            if (waybillOrder.getType().equals(NumberConstant.ONE)) {
-                typeString = "趟次";
-            }
-            if (waybillOrder.getType().equals(NumberConstant.TWO)) {
-                typeString = "循环";
-            }
-            vo.setTypeLabel(typeString);
-//            if (status.equals(String.valueOf(NumberConstant.ONE_ZERO_ZERO))) {
-//                vo.setStatus(String.valueOf(NumberConstant.ONE_ZERO_ZERO));
-//            } else {
-//                vo.setStatus(waybillOrder.getStatus() == null ?
-//                        null : String.valueOf(waybillOrder.getStatus()));
-//            }
-            vo.setStatus(waybillOrder.getStatus() == null ?
-                    null : String.valueOf(waybillOrder.getStatus()));
-            vo.setStatusLabel(CarWaybillEnum.getName(waybillOrder.getStatus()));
-            // 托量单位
-            vo.setUnit(waybillOrder.getUnit() == null ? null : waybillOrder.getUnit());
-            if (waybillOrder.getUnit() != null) {
-                Map<String, SysDictResDto> unitType = remoteSystemService.queryDictMapByType(DictTypeEnum.UNIT_TYPE.getType());
-                if (!unitType.isEmpty()) {
-                    SysDictResDto sysDict = unitType.get(waybillOrder.getUnit());
-                    vo.setUnitLabel(sysDict == null ? null : sysDict.getLabel());
-                }
-            }
-            vo.setSendCarTime(waybillOrder.getCreateTime() == null ?
-                    null : DateUtil.getDateTime(waybillOrder.getCreateTime()));
-            vo.setStartTime(waybillOrder.getStartTime() == null ?
-                    null : waybillOrder.getStartTime());
-            vo.setEndTime(waybillOrder.getEndTime() == null ?
-                    null : waybillOrder.getEndTime());
-            vo.setEntrustAmount(String.valueOf(waybillOrder.getEntrustAmount()));
-            vo.setLoadName(waybillOrder.getLoadName() == null ?
-                    null : waybillOrder.getLoadName());
-            vo.setLoadAddress((waybillOrder.getLoadCityName() == null ? "" : waybillOrder.getLoadCityName())
-                    .concat(waybillOrder.getLoadDetailAddress() == null ? "" : waybillOrder.getLoadDetailAddress()));
-            vo.setUnloadName(waybillOrder.getUnloadName() == null ?
-                    null : waybillOrder.getUnloadName());
-            vo.setUnloadAddress((waybillOrder.getUnloadCityName() == null ? "" : waybillOrder.getUnloadCityName())
-                    .concat(waybillOrder.getUnloadDetailAddress() == null ? "" : waybillOrder.getUnloadDetailAddress()));
-            vo.setLoadAmount(waybillOrder.getLoadAmount() == null ?
-                    null : String.valueOf(waybillOrder.getLoadAmount()));
-            vo.setUnloadAmount(waybillOrder.getUnloadAmount() == null ?
-                    null : String.valueOf(waybillOrder.getUnloadAmount()));
-            vo.setLoadDateTime(waybillOrder.getLoadTime() == null ?
-                    null : DateUtil.getDateTime(waybillOrder.getLoadTime()));
-            vo.setUnloadDateTime(waybillOrder.getUnloadTime() == null ?
-                    null : DateUtil.getDateTime(waybillOrder.getUnloadTime()));
-            vo.setCreateTime(waybillOrder.getCreateTime() == null ?
-                    null : DateUtil.getDateTime(waybillOrder.getCreateTime()));
-            vo.setUpdateTime(waybillOrder.getUpdateTime() == null ?
-                    null : DateUtil.getDateTime(waybillOrder.getUpdateTime()));
-            // 货损量
-            BigDecimal deficitAmount = waybillOrder.getDeficitAmount() == null ?
-                    BigDecimal.valueOf(0) : waybillOrder.getDeficitAmount();
-            vo.setDeficitAmount(String.valueOf(deficitAmount));
-            // 存在装卸货差时 计算扣亏量
-            BigDecimal deficitLossAmount = deficitLossAmount(
-                    waybillOrder.getLoadAmount(),
-                    waybillOrder.getDeficitAmount(),
-                    waybillOrder.getLoss(),
-                    waybillOrder.getLossUnit());
-            // 实际扣亏量
-            vo.setDeficitRealAmount(deficitLossAmount.setScale(2, RoundingMode.HALF_UP).toString());
-            vo.setGoodsPriceUnit(waybillOrder.getGoodsPriceUnit() == null ?
-                    null : String.valueOf(waybillOrder.getGoodsPriceUnit()));
-            returnList.add(vo);
-        }
-    }
-
-    /**
-     * 承运订单-分包托运列表数据展示
-     *
-     * @param lOrderId
-     * @param page
-     * @param pageSize
-     * @return
-     */
-    public HttpResult getSubcontractConsignment(String lOrderId, int page, int pageSize) {
-        //模糊匹配
-        //根据条件查询所有并排序,且分页
-        //设置模糊查询匹配规则  忽略大小写
-        // 创建条件对象
-        Criteria criteria = new Criteria();
-        // 1. 全等于
-//        criteria.and("entId").is(LoginUserHolder.getEntId());
-//        criteria.and("_id").is(lOrderId);
-//        criteria.and("delFlag").is(String.valueOf(NumberConstant.ZERO));
-        Query query1 = new Query(criteria);
-        //多条件模糊查询
-        Criteria c1 = new Criteria().and("carrierEntId").is(LoginUserHolder.getEntId());
-        Criteria c2 = new Criteria().and("_id").is(lOrderId);
-        Criteria c3 = new Criteria().and("delFlag").is(String.valueOf(NumberConstant.ZERO));
-        criteria.orOperator(c1, c2, c3);
-        Aggregation aggregation = Aggregation.newAggregation(
-                Aggregation.match(criteria),
-//                Aggregation.group("_id").sum().as("sum")
-                Aggregation.project("total").and("value").previousOperation()
-        );
-        query1.addCriteria(Criteria.where("pid").in(lOrderId));
-        AggregationResults<TableTops> outputTypeCount = mongoTemplate.aggregate(aggregation, SckwLogisticsOrder.class, TableTops.class);
-        List<TableTops> mappedResults = outputTypeCount.getMappedResults();
-        // 执行查询
-//        List<SckwLogisticsOrder> list = mongoTemplate.findAll(query1, SckwLogisticsOrder.class);
-////        PageResult build = PageResult.build(query.getPage(), query.getPageSize(), total, list);
-//        List<ConsignOrderVo> returnList = new ArrayList<>();
-//        if (CollectionUtils.isNotEmpty(list)) {
-//            packageReturnList(list, returnList);
-//        }
-        return null;
-    }
-
-    /**
-     * 承运合同/托运合同-根据合同id获取托运订单列表
-     *
-     * @param contractParam
-     * @return
-     */
-    public HttpResult getLogisticsOrderByContractId(ContractParam contractParam) {
-        HttpResult result = new HttpResult();
-        if (String.valueOf(NumberConstant.ONE).equals(contractParam.getContractType())) {
-            result = getLogisticsOrderContract(contractParam, "1");
-        } else if (String.valueOf(NumberConstant.TWO).equals(contractParam.getContractType())) {
-            result = getLogisticsOrderContract(contractParam, "2");
-        } else {
-            return HttpResult.error("合同类型错误");
-        }
-        return result;
-    }
-
-    private HttpResult getLogisticsOrderContract(ContractParam contractParam, String unitType) {
-        String contractIds = contractParam.getContractIds();
-        int page = contractParam.getPage();
-        int pageSize = contractParam.getPageSize();
-        //模糊匹配
-        //根据条件查询所有并排序,且分页
-        //设置模糊查询匹配规则  忽略大小写
-        // 创建条件对象
-        Criteria criteria = new Criteria();
-        Long entId = LoginUserHolder.getEntId();
-        //判断承运还是托运企业
-//        if (unitType.equals(String.valueOf(NumberConstant.ONE))) {
-//            //托运
-//            criteria.orOperator(
-//                    Criteria.where("checkTopEntId").is("177802391955968000"),
-//                    Criteria.where("checkEntId").is("177802391955968000"));
-//        } else {
-//            //承运企业主键ID
-////            criteria.and("carrierTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-//            criteria.orOperator(
-//                    Criteria.where("carrierTopEntId").is("177802391955968000"),
-//                    Criteria.where("carrierEntId").is("177802391955968000"));
-//        }
-        List<String> stringList = StringUtils.splitStrToList(contractIds, String.class);
-        criteria.and("delFlag").is(String.valueOf(NumberConstant.ZERO));
-        Query query1 = new Query(criteria);
-        // 1. 模糊查询
-        if (CollectionUtils.isNotEmpty(stringList)) {
-            query1.addCriteria(Criteria.where("contractId").in(stringList));
-        } else {
-            PageResult build = PageResult.build(page, pageSize, 0L, null);
-            return HttpResult.ok(build);
-        }
-//        if (StringUtils.isBlank(contractIds)) {
-//            return HttpResult.error("合同id为空");
-//        } else {
-//            criteria.and("contractId").is(contractIds);
-//        }
-        // 12. 总记录数
-        long total = mongoTemplate.count(query1, SckwLogisticsOrder.class);
-        // 10. 分页
-        query1.with(PageRequest.of(page - 1, pageSize, Sort.by(Sort.Direction.DESC, "contractId", "createTime")));
-        // 执行查询
-        List<SckwLogisticsOrder> list = mongoTemplate.find(query1, SckwLogisticsOrder.class);
-        //字典等数据转换
-        //计费方式
-        Map<String, SysDictResDto> chargingType = remoteSystemService.queryDictMapByType(DictTypeEnum.CHARGING_TYPE.getType());
-        //结算周期
-        Map<String, SysDictResDto> settlementCycle = remoteSystemService.queryDictMapByType(DictTypeEnum.SETTLEMENT_CYCLE.getType());
-        for (SckwLogisticsOrder logisticsOrder : list) {
-            Long settlementCycle1 = logisticsOrder.getSettlementCycle();
-            String billingMode = logisticsOrder.getBillingMode();
-            SysDictResDto sysDictResDto = chargingType.get(String.valueOf(settlementCycle1));
-            SysDictResDto sysDictResDto1 = settlementCycle.get(billingMode);
-            if (Objects.nonNull(sysDictResDto)) {
-                logisticsOrder.setSettlementCycleLabel(sysDictResDto.getLabel());
-            }
-            if (Objects.nonNull(sysDictResDto1)) {
-                logisticsOrder.setBillingModeLabel(sysDictResDto1.getLabel());
-            }
-            logisticsOrder.setStatusLabel(LogisticsOrderEnum.getDestination(logisticsOrder.getStatus()));
-//            logisticsOrder.setCreateTime(DateUtil.offsetDay(logisticsOrder.getCreateTime()))
-        }
-//        Map<String, List<SckwLogisticsOrder>> atomMap = list.stream().collect(Collectors.groupingBy(SckwLogisticsOrder::getContractId,Collectors.(
-//                        Comparator.comparing(SckwLogisticsOrder::getContractId).reversed())));
-
-        Map<String, List<SckwLogisticsOrder>> collect = list.stream().collect(Collectors.groupingBy(SckwLogisticsOrder::getContractId, Collectors.toList()));
-        List<SckwLogisticsOrder> returnList = new ArrayList<>();
-        for (List<SckwLogisticsOrder> value : collect.values()) {
-            returnList.addAll(value);
-        }
-        PageResult build = PageResult.build(page, pageSize, total, returnList);
-        return HttpResult.ok(build);
-    }
-
-    /**
-     * 运单管理-运单列表 运单地址查询接口
-     *
-     * @param type
-     * @return
-     */
-    public HttpResult getWayBillAddresses(int type) {
-        Criteria criteria = new Criteria();
-        criteria.and("entId").is(LoginUserHolder.getEntId());
-        criteria.and("delFlag").is(NumberConstant.ZERO);
-        Query query = new Query(criteria);
-        String field;
-        if (type == NumberConstant.ONE) {
-            field = "loadCityCode";
-        } else {
-            field = "unloadCityCode";
-        }
-        List<Integer> list = mongoTemplate.findDistinct(query, field, SckwWaybillOrder.class, Integer.class);
-        List<AreaTreeFrontResDto> areaTreeFrontResDtos = new ArrayList<>();
-        if (CollectionUtils.isNotEmpty(list)) {
-            areaTreeFrontResDtos = remoteSystemService.queryAreaTreeFrontByCodeList(list);
-        }
-        return HttpResult.ok(areaTreeFrontResDtos);
-    }
-
-    /**
-     * 运单列表导出
-     *
-     * @param query
-     * @return
-     */
-    public List<WaybillOrderListExport> wayBillOrderExport(WaybillOrderQuery query) {
-        Criteria criteria = newBuildWaybillOrdersQuery(query);
-        Query queryFormat = new Query(criteria);
-        List<Long> wOrderIds = StringUtils.splitStrToList(query.getIds(), ",", Long.class);
-        if (CollectionUtils.isNotEmpty(wOrderIds)) {
-            queryFormat.addCriteria(Criteria.where("wOrderId").in(wOrderIds));
-        }
-        List<SckwWaybillOrder> wOrders = mongoTemplate.find(queryFormat, SckwWaybillOrder.class);
-        List<WaybillOrderListExport> list = new ArrayList<>();
-        AtomicInteger i = new AtomicInteger(1);
-        wOrders.forEach(e -> {
-            WaybillOrderListExport export = BeanUtils.copyProperties(e, WaybillOrderListExport.class);
-            export.setSerialNumber(String.valueOf(i.getAndIncrement()))
-                    .setStatus(CarWaybillEnum.getName(e.getStatus()))
-                    .setWOrderNo(e.getWOrderNo())
-                    .setTruckNo(e.getTruckNo())
-                    .setDriverName(e.getDriverName())
-                    .setType(e.getType().equals(NumberConstant.ONE) ? "趟次" : "循环")
-                    .setSendCarTime(e.getCreateTime() == null ? null : DateUtil.getDateTime(e.getCreateTime()))
-                    .setStartTime(e.getStartTime() == null ? null : DateUtil.getDateTime(e.getStartTime()))
-                    .setEndTime(e.getEndTime() == null ? null : DateUtil.getDateTime(e.getEndTime()))
-                    .setEntrustAmount(String.valueOf(e.getEntrustAmount()))
-                    .setLoadName(e.getLoadName())
-                    .setLoadAddress((e.getLoadCityName() == null ? "" : e.getLoadCityName())
-                            .concat(e.getLoadDetailAddress() == null ? "" : e.getLoadDetailAddress()))
-                    .setUnloadName(e.getUnloadName())
-                    .setUnloadAddress((e.getUnloadCityName() == null ? "" : e.getUnloadCityName())
-                            .concat(e.getUnloadDetailAddress() == null ? "" : e.getUnloadDetailAddress()))
-                    .setLoadAmount(String.valueOf(e.getLoadAmount()))
-                    .setUnloadAmount(String.valueOf(e.getUnloadAmount()))
-                    .setDeficitAmount(String.valueOf(e.getDeficitAmount()))
-                    .setLoadDateTime(e.getLoadTime() == null ? null : DateUtil.getDateTime(e.getLoadTime()))
-                    .setUnloadDateTime(e.getUnloadTime() == null ? null : DateUtil.getDateTime(e.getUnloadTime()))
-                    .setUpdateTime(e.getUpdateTime() == null ? null : DateUtil.getDateTime(e.getUpdateTime()));
-            list.add(export);
-        });
-        return list;
-    }
-
-    /**
-     * @param loadAmount    装货量
-     * @param deficitAmount 亏吨量
-     * @param loss          合理损耗
-     * @desc 计算扣亏量
-     * @author zk
-     * @date 2023/7/27
-     **/
-    public BigDecimal deficitLossAmount(BigDecimal loadAmount, BigDecimal deficitAmount, BigDecimal loss, String lossUnit) {
-        if (loadAmount == null || deficitAmount == null) {
-            return new BigDecimal(Global.AMOUNT);
-        }
-        //亏吨<=0
-        if (deficitAmount.compareTo(new BigDecimal(Global.AMOUNT)) <= 0) {
-            return new BigDecimal(Global.AMOUNT);
-        }
-        if (StringUtils.isBlank(lossUnit)) {
-            lossUnit = String.valueOf(NumberConstant.ZERO);
-        }
-        //承运订单亏吨扣款=(承运订单亏吨量 -(承运订单装货量 * 承运订单合理损耗))* 扣亏货值
-        loss = loss == null ? new BigDecimal(Global.AMOUNT) : loss;
-        if (loss.doubleValue() > 0 && StringUtils.isNotBlank(lossUnit)) {
-            if (lossUnit.equals(String.valueOf(TaxRateTypeEnum.PERCENT.getCode()))) {
-                loss = loss.divide(new BigDecimal(TaxRateTypeEnum.PERCENT.getValue()));
-            }
-            if (lossUnit.equals(String.valueOf(TaxRateTypeEnum.MILLIMETER.getCode()))) {
-                loss = loss.divide(new BigDecimal(TaxRateTypeEnum.MILLIMETER.getValue()));
-            }
-        }
-        //扣亏量=亏吨量【合理损耗占比为空或为0】
-        if (loss.doubleValue() == Global.NUMERICAL_ZERO) {
-            return deficitAmount;
-        }
-        //扣亏量=亏吨量-合理损耗值【要求大于0,如果小于0则扣亏货量取0】
-        BigDecimal deficitLossAmount = deficitAmount.subtract(loadAmount.multiply(loss).setScale(2, RoundingMode.HALF_UP));
-        if (deficitLossAmount.doubleValue() <= 0) {
-            return new BigDecimal(Global.AMOUNT);
-        }
-        return deficitLossAmount;
-    }
-}

+ 0 - 179
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwWorkService.java

@@ -1,179 +0,0 @@
-package com.sckw.report.service;
-
-import com.sckw.contract.api.RemoteContractService;
-import com.sckw.core.model.constant.Global;
-import com.sckw.core.model.enums.CooperateTypeEnum;
-import com.sckw.core.model.enums.EntTypeEnum;
-import com.sckw.core.model.enums.SystemTypeEnum;
-import com.sckw.core.web.context.LoginUserHolder;
-import com.sckw.order.api.dubbo.TradeOrderStatisticsService;
-import com.sckw.payment.api.dubbo.PaymentDubboService;
-import com.sckw.payment.api.model.dto.LedgerCount;
-import com.sckw.report.service.vo.QueryBusinessStatisticsResVo;
-import com.sckw.system.api.RemoteSystemService;
-import com.sckw.system.api.RemoteUserService;
-import com.sckw.system.api.model.dto.res.EntCacheResDto;
-import com.sckw.transport.api.dubbo.TransportRemoteStatisticsService;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.stereotype.Service;
-
-import java.util.*;
-
-/**
- * @author czh
- * @desc 工作台
- * @date 2023/9/11
- */
-@Slf4j
-@Service
-public class KwWorkService {
-
-    @DubboReference(version = "1.0.0", group = "design", check = false,timeout = 80000)
-    private TransportRemoteStatisticsService transportStatisticsService;
-
-    @DubboReference(version = "1.0.0", group = "design", check = false,timeout = 80000)
-    private PaymentDubboService paymentDubboService;
-
-    @DubboReference(version = "1.0.0", group = "design", check = false,timeout = 80000)
-    private RemoteContractService remoteContractService;
-
-    @DubboReference(version = "1.0.0", group = "design", check = false,timeout = 800000)
-    private TradeOrderStatisticsService tradeOrderStatisticsService;
-
-    @DubboReference(version = "1.0.0", group = "design", check = false,timeout = 80000)
-    private RemoteSystemService remoteSystemService;
-
-    @DubboReference(version = "1.0.0", group = "design", check = false,timeout = 80000)
-    private RemoteUserService remoteUserService;
-
-
-    /**
-     * @return QueryBusinessStatisticsResVo
-     * @desc: 业务数据数量统计
-     * @author: czh
-     * @date: 2023/9/11
-     */
-    public List<QueryBusinessStatisticsResVo> queryBusinessStatistics() {
-        boolean isSystem = LoginUserHolder.getSystemType().equals(SystemTypeEnum.MANAGE.getCode());
-        Long entId = null;
-        String entTypes = "";
-        List<Long> enterpriseIds = new ArrayList<>();
-        if (!isSystem) {
-            EntCacheResDto entCacheResDto = remoteSystemService.queryEntCacheById(LoginUserHolder.getEntId());
-            if (Objects.isNull(entCacheResDto)) {
-                return Collections.emptyList();
-            }
-            entId = entCacheResDto.getId();
-            entTypes = entCacheResDto.getEntTypes();
-            Long userId = LoginUserHolder.getUserId();
-            enterpriseIds = remoteUserService.findEnterpriseIds(userId);
-        }else {
-            enterpriseIds = remoteUserService.findAllEnterprise();
-        }
-        //承运
-        boolean hasCarrier = entTypes.contains(String.valueOf(EntTypeEnum.LOGISTICS4.getCode())) || entTypes.contains(String.valueOf(EntTypeEnum.LOGISTICS3.getCode()));
-        //托运
-        boolean hasCheck = entTypes.contains(String.valueOf(EntTypeEnum.LOGISTICS3.getCode()));
-        //采购
-        boolean hasPurchase = entTypes.contains(String.valueOf(EntTypeEnum.PURCHASER.getCode()));
-        //供应
-        boolean hasSupplier = entTypes.contains(String.valueOf(EntTypeEnum.SUPPLIER.getCode()));
-
-        List<QueryBusinessStatisticsResVo> list = new ArrayList<>();
-        //合同部分
-        Map<Integer, Integer> contractMap = remoteContractService.queryContractValidCount(entId,enterpriseIds);
-        if (hasPurchase || isSystem) {
-            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-            queryBusinessStatisticsResVo.setType("采购合同");
-            queryBusinessStatisticsResVo.setNum(contractMap.getOrDefault(CooperateTypeEnum.PURCHASER.getCode(), Global.NUMERICAL_ZERO));
-            list.add(queryBusinessStatisticsResVo);
-        }
-
-        if (hasSupplier || isSystem) {
-            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-            queryBusinessStatisticsResVo.setType("销售合同");
-            queryBusinessStatisticsResVo.setNum(contractMap.getOrDefault(CooperateTypeEnum.SUPPLIER.getCode(), Global.NUMERICAL_ZERO));
-            list.add(queryBusinessStatisticsResVo);
-        }
-
-        if (hasCarrier || isSystem) {
-            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-            queryBusinessStatisticsResVo.setType("承运合同");
-            queryBusinessStatisticsResVo.setNum(contractMap.getOrDefault(CooperateTypeEnum.CARRIAGE.getCode(), Global.NUMERICAL_ZERO));
-            list.add(queryBusinessStatisticsResVo);
-        }
-
-        if (hasCheck || isSystem) {
-            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-            queryBusinessStatisticsResVo.setType("托运合同");
-            queryBusinessStatisticsResVo.setNum(contractMap.getOrDefault(CooperateTypeEnum.CONSIGN.getCode(), Global.NUMERICAL_ZERO));
-            list.add(queryBusinessStatisticsResVo);
-        }
-
-        //订单部分
-        Map<Integer, Integer> orderNumByTopEntId = tradeOrderStatisticsService.getOrderNumByTopEntId(entId,enterpriseIds);
-        if (hasSupplier || isSystem) {
-            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-            queryBusinessStatisticsResVo.setType("销售订单");
-            queryBusinessStatisticsResVo.setNum(orderNumByTopEntId.get(Global.NUMERICAL_TWO));
-            list.add(queryBusinessStatisticsResVo);
-        }
-
-        if (hasPurchase || isSystem) {
-            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-            queryBusinessStatisticsResVo.setType("采购订单");
-            queryBusinessStatisticsResVo.setNum(orderNumByTopEntId.get(Global.NUMERICAL_ONE));
-            list.add(queryBusinessStatisticsResVo);
-        }
-
-        //承运订单
-        Integer integer = transportStatisticsService.statisticsLogistics(entId,enterpriseIds);
-        if (hasCarrier || isSystem) {
-            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-            queryBusinessStatisticsResVo.setType("承运订单");
-            queryBusinessStatisticsResVo.setNum(Objects.isNull(integer) ? Global.NUMERICAL_ZERO : integer);
-            list.add(queryBusinessStatisticsResVo);
-        }
-
-        //托运订单
-        Integer integer1 = transportStatisticsService.statisticsLogisticsByConsign(entId,enterpriseIds);
-        if (hasCheck || isSystem) {
-            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-            queryBusinessStatisticsResVo.setType("托运订单");
-            queryBusinessStatisticsResVo.setNum(Objects.isNull(integer1) ? Global.NUMERICAL_ZERO : integer1);
-            list.add(queryBusinessStatisticsResVo);
-        }
-
-        LedgerCount ledgerCount = paymentDubboService.countLedger(entId,enterpriseIds);
-        if (hasSupplier || isSystem) {
-            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-            queryBusinessStatisticsResVo.setType("销售对账");
-            queryBusinessStatisticsResVo.setNum(Objects.isNull(ledgerCount.getSell()) ? Global.NUMERICAL_ZERO : ledgerCount.getSell());
-            list.add(queryBusinessStatisticsResVo);
-        }
-
-        if (hasPurchase || isSystem) {
-            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-            queryBusinessStatisticsResVo.setType("采购对账");
-            queryBusinessStatisticsResVo.setNum(Objects.isNull(ledgerCount.getPurchase()) ? Global.NUMERICAL_ZERO : ledgerCount.getPurchase());
-            list.add(queryBusinessStatisticsResVo);
-        }
-
-        if (hasCarrier || isSystem) {
-            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-            queryBusinessStatisticsResVo.setType("承运对账");
-            queryBusinessStatisticsResVo.setNum(Objects.isNull(ledgerCount.getCarrier()) ? Global.NUMERICAL_ZERO : ledgerCount.getCarrier());
-            list.add(queryBusinessStatisticsResVo);
-        }
-
-        if (hasCheck || isSystem) {
-            QueryBusinessStatisticsResVo queryBusinessStatisticsResVo = new QueryBusinessStatisticsResVo();
-            queryBusinessStatisticsResVo.setType("托运对账");
-            queryBusinessStatisticsResVo.setNum(Objects.isNull(ledgerCount.getShipper()) ? Global.NUMERICAL_ZERO : ledgerCount.getShipper());
-            list.add(queryBusinessStatisticsResVo);
-        }
-        return list;
-    }
-
-}

+ 16 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/impl/KwrRecordOrderService.java

@@ -0,0 +1,16 @@
+package com.sckw.report.service.impl;
+
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sckw.report.mapper.KwrRecordOrderMapper;
+import com.sckw.report.entity.KwrRecordOrder;
+/**
+* @date 2026-06-26 19:21:45
+* @author xucaiqin
+*/
+@Service
+public class KwrRecordOrderService extends ServiceImpl<KwrRecordOrderMapper, KwrRecordOrder> {
+
+}

+ 16 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/impl/KwrRecordOrderWeightService.java

@@ -0,0 +1,16 @@
+package com.sckw.report.service.impl;
+
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sckw.report.entity.KwrRecordOrderWeight;
+import com.sckw.report.mapper.KwrRecordOrderWeightMapper;
+/**
+* @date 2026-06-26 19:24:11
+* @author xucaiqin
+*/
+@Service
+public class KwrRecordOrderWeightService extends ServiceImpl<KwrRecordOrderWeightMapper, KwrRecordOrderWeight> {
+
+}

+ 0 - 228
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/operator/TradeOrderManageService.java

@@ -1,228 +0,0 @@
-package com.sckw.report.service.operator;
-
-import com.sckw.core.model.page.PageResult;
-import com.sckw.core.model.vo.TableBottom;
-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.StringUtils;
-import com.sckw.core.web.context.LoginUserHolder;
-import com.sckw.report.enums.TOrderStatusEnum;
-import com.sckw.report.model.dto.OperatorTOrderListStsConditionDTO;
-import com.sckw.report.model.vo.OperatorTOrderContractParam;
-import com.sckw.report.model.vo.OperatorTOrderExportQueryVO;
-import com.sckw.report.model.vo.OperatorTOrderListQueryVO;
-import com.sckw.report.model.vo.OperatorTOrderStsQueryVO;
-import com.sckw.report.service.KwOrderService;
-import com.sckw.report.service.param.TradeOrderListExport;
-import com.sckw.system.api.RemoteUserService;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.data.domain.Sort;
-import org.springframework.data.mongodb.core.query.Criteria;
-import org.springframework.data.mongodb.core.query.Query;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
-import java.util.regex.Pattern;
-
-/**
- * @desc: 运营端贸易订单管理相关service
- * @author: yzc
- * @date: 2023-09-14 11:23
- */
-@Service
-@Slf4j
-@AllArgsConstructor
-public class TradeOrderManageService {
-
-    private final KwOrderService kwOrderService;
-
-    @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
-    private RemoteUserService remoteUserService;
-
-
-    /**
-     * @desc: 贸易订单列表分页查询
-     * @author: yzc
-     * @date: 2023-09-14 14:24
-     * @Param params:
-     * @return: com.sckw.core.model.page.PageResult
-     */
-    public PageResult listPaging(OperatorTOrderListQueryVO params) {
-        List<Long> authEntIdList = LoginUserHolder.getAuthEntIdList();
-        if (CollectionUtils.isEmpty(authEntIdList)) {
-            List<Long> ids = remoteUserService.findEnterpriseIdsByUserIdIsMain(LoginUserHolder.getUserId());
-            if (CollectionUtils.isEmpty(ids)) {
-                return PageResult.build(params.getPage(), params.getPageSize(), 0L, Collections.emptyList());
-            }
-            authEntIdList.addAll(ids);
-        }
-        Criteria criteria = buildCriteria(BeanUtils.copyProperties(params, OperatorTOrderListStsConditionDTO.class), false, authEntIdList);
-        Sort sort = Sort.by(Sort.Direction.DESC, "createTime");
-        return kwOrderService.getResult(criteria, sort, params.getPage(), params.getPageSize());
-    }
-
-    /**
-     * @desc: 贸易订单列表统计查询
-     * @author: yzc
-     * @date: 2023-09-14 14:22
-     * @Param params:
-     * @return: com.sckw.core.model.vo.TableStatisticRes
-     */
-    public TableStatisticRes listStatistic(OperatorTOrderStsQueryVO params) {
-        List<Long> authEntIdList = LoginUserHolder.getAuthEntIdList();
-        if (CollectionUtils.isEmpty(authEntIdList)) {
-            List<Long> ids = remoteUserService.findEnterpriseIdsByUserIdIsMain(LoginUserHolder.getUserId());
-            if (CollectionUtils.isEmpty(ids)) {
-                List<TOrderStatusEnum> enums = TOrderStatusEnum.getSortList();
-                enums.remove(0);
-                List<TableTop> list = new ArrayList<>();
-                for (TOrderStatusEnum e : enums) {
-                    Integer value = e.getCode();
-                    TableTop tableTop = new TableTop();
-                    tableTop.setName(e.getMsg()).setValue(value).setTotal(0);
-                    list.add(tableTop);
-                }
-                TableTop all = new TableTop();
-                all.setName("全部").setTotal(0);
-                list.add(0, all);
-                TableBottom tableBottom = new TableBottom();
-                tableBottom.setTotal(0);
-                TableStatisticRes res = new TableStatisticRes();
-                res.setTableTops(list).setTableBottom(tableBottom);
-                return res;
-            }
-            authEntIdList.addAll(ids);
-        }
-        Criteria criteria = buildCriteria(BeanUtils.copyProperties(params, OperatorTOrderListStsConditionDTO.class), true, authEntIdList);
-        List<TOrderStatusEnum> enums = TOrderStatusEnum.getSortList();
-        enums.remove(0);
-        return kwOrderService.getTableStatistic(criteria, enums);
-    }
-
-    /**
-     * @desc: 贸易订单列表导出
-     * @author: yzc
-     * @date: 2023-09-14 14:40
-     * @Param params:
-     * @return: java.util.List<com.sckw.report.service.param.TradeOrderListExport>
-     */
-    public List<TradeOrderListExport> export(OperatorTOrderExportQueryVO params) {
-        List<Long> authEntIdList = LoginUserHolder.getAuthEntIdList();
-        if (CollectionUtils.isEmpty(authEntIdList)) {
-            List<Long> ids = remoteUserService.findEnterpriseIdsByUserIdIsMain(LoginUserHolder.getUserId());
-            if (CollectionUtils.isEmpty(ids)) {
-                List<TradeOrderListExport> exports = new ArrayList<>();
-                return exports;
-            }
-            authEntIdList.addAll(ids);
-        }
-        Query query = new Query();
-        if (StringUtils.isNotBlank(params.getIds())) {
-            List<Long> ids = StringUtils.splitStrToList(params.getIds(), ",", Long.class);
-            Criteria criteria = new Criteria();
-            criteria.and("_id").in(ids).and("delFlag").is(0);
-            query.addCriteria(criteria);
-        } else {
-            query.addCriteria(buildCriteria(BeanUtils.copyProperties(params, OperatorTOrderListStsConditionDTO.class), false,authEntIdList));
-        }
-        query.with(Sort.by(Sort.Order.desc("createTime")));
-        return kwOrderService.getExportResult(query);
-    }
-
-    /**
-     * @desc: 构建Criteria
-     * @author: yzc
-     * @date: 2023-09-14 14:25
-     * @Param params:
-     * @Param isStatistic:
-     * @return: org.springframework.data.mongodb.core.query.Criteria
-     */
-    private Criteria buildCriteria(OperatorTOrderListStsConditionDTO params, boolean isStatistic, List<Long> authEntIdList) {
-        Criteria condition = new Criteria();
-        condition.and("entId").in(authEntIdList);
-        condition.and("delFlag").is(0);
-        //状态
-        if (!isStatistic && Objects.nonNull(params.getStatus())) {
-            condition.and("status").is(params.getStatus());
-        } else {
-            condition.and("status").ne(0);
-        }
-        //装货地址
-        String loadCode = params.getShippingAddressCode();
-        if (StringUtils.isNotBlank(loadCode)) {
-            switch (params.getShippingAddressLevel()) {
-                case 1 -> condition.and("loadCityCode")
-                        .regex(Pattern.compile("^" + loadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 2 -> condition.and("loadCityCode")
-                        .regex(Pattern.compile("^" + loadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 3 -> condition.and("loadCityCode").is(loadCode);
-            }
-        }
-        //卸货地址
-        String unloadCode = params.getUnloadingAddressCode();
-        if (StringUtils.isNotBlank(unloadCode)) {
-            switch (params.getUnloadingAddressLevel()) {
-                case 1 -> condition.and("unloadCityCode")
-                        .regex(Pattern.compile("^" + unloadCode.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 2 -> condition.and("unloadCityCode")
-                        .regex(Pattern.compile("^" + unloadCode.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE));
-                case 3 -> condition.and("unloadCityCode").is(unloadCode);
-            }
-        }
-        //提货方式
-        if (StringUtils.isNotBlank(params.getPickupType())) {
-            condition.and("pickupType").is(params.getPickupType());
-        }
-        //交易方式
-        if (StringUtils.isNotBlank(params.getTrading())) {
-            condition.and("trading").is(params.getTrading());
-        }
-        //交付类型
-        if (StringUtils.isNotBlank(params.getDeliveryType())) {
-            condition.and("deliveryType").is(params.getDeliveryType());
-        }
-        //下单方式
-        if (StringUtils.isNotBlank(params.getSource())) {
-            condition.and("source").is(params.getSource());
-        }
-        //日期范围
-        if (Objects.nonNull(params.getStartCreateTime()) && Objects.nonNull(params.getEndCreateTime())) {
-            condition.and("createTime").gte(params.getStartCreateTime()).lte(params.getEndCreateTime());
-        } else if (Objects.nonNull(params.getStartCreateTime())) {
-            condition.and("createTime").gte(params.getStartCreateTime());
-        } else if (Objects.nonNull(params.getEndCreateTime())) {
-            condition.and("createTime").lte(params.getEndCreateTime());
-        }
-        //关键字模糊匹配
-        if (StringUtils.isNotBlank(params.getKeywords())) {
-            Pattern pattern = Pattern.compile("^.*" + params.getKeywords() + ".*$", Pattern.CASE_INSENSITIVE);
-            Criteria keywordsMatch = new Criteria().orOperator(
-                    Criteria.where("tOrderNo").regex(pattern), Criteria.where("procureFirmName").regex(pattern),
-                    Criteria.where("supplyFirmName").regex(pattern), Criteria.where("goodsName").regex(pattern));
-            condition.andOperator(keywordsMatch);
-        }
-        return condition;
-    }
-
-    /**
-     * @desc: 合同关联订单列表
-     * @author: yzc
-     * @date: 2023-09-14 14:52
-     * @Param params:
-     * @return: com.sckw.core.model.page.PageResult
-     */
-    public PageResult contractAssociationList(OperatorTOrderContractParam params) {
-        Criteria criteria = new Criteria();
-        List<Long> ids = StringUtils.splitStrToList(params.getContractIds(), ",", Long.class);
-        criteria.and("contractId").in(ids).and("delFlag").is(0);
-        Sort sort = Sort.by(Sort.Direction.DESC, "contractId", "createTime");
-        return kwOrderService.getResult(criteria, sort, params.getPage(), params.getPageSize());
-    }
-}

+ 0 - 10
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/AcceptCarriageOrderParam.java

@@ -1,10 +0,0 @@
-package com.sckw.report.service.param;
-
-/**
- * @author lfdc
- * @description 承运订单查询param
- * @date 2023-06-26 17:06:24
- */
-public class AcceptCarriageOrderParam {
-
-}

+ 0 - 70
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/AcceptCarriageOrderQuery.java

@@ -1,70 +0,0 @@
-package com.sckw.report.service.param;
-
-import com.sckw.core.model.page.PageRequest;
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * @author lfdc
- * @description 承运订单条件查询
- * @date 2023-06-26 17:06:25
- */
-@Data
-public class AcceptCarriageOrderQuery extends PageRequest implements Serializable {
-
-    /**
-     * 数据id-主要用于订单导出
-     */
-    private String ids;
-    /**
-     * 计费方式
-     */
-    private String billingMode;
-    /**
-     * 计划结束时间
-     */
-    private String endDateTime;
-    /**
-     * 关键字搜索
-     */
-    private String keywords;
-    /**
-     * 装货地址code
-     */
-    private String loadAddressCode;
-    /**
-     * 装货地址
-     */
-    private String loadAddress;
-    /**
-     * 装货地址等级
-     */
-    private Integer loadAddressLevel;
-    /**
-     * 计划开始时间
-     */
-    private String startDateTime;
-
-    /**
-     * 创建时间
-     */
-    private String createTime;
-
-    /**
-     * 单据状态
-     */
-    private String status;
-    /**
-     * 卸货地址code
-     */
-    private String unloadAddressCode;
-    /**
-     * 卸货地址
-     */
-    private String unloadAddress;
-    /**
-     * 卸货地址等级
-     */
-    private Integer unloadAddressLevel;
-}

+ 0 - 72
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/ConsignOrderQuery.java

@@ -1,72 +0,0 @@
-package com.sckw.report.service.param;
-
-import com.sckw.core.model.page.PageRequest;
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-import java.io.Serializable;
-
-/**
- * @author lfdc
- * @description 托运订单查询query
- * @date 2023-06-30 09:06:43
- */
-@Data
-@Accessors(chain = true)
-public class ConsignOrderQuery extends PageRequest implements Serializable {
-    /**
-     * 数据id-主要用于订单导出
-     */
-    private String ids;
-    /**
-     * 计费方式
-     */
-    private String billingMode;
-    /**
-     * 结束时间
-     */
-    private String endDateTime;
-
-    /**
-     * 创建时间
-     */
-    private String createTime;
-
-    /**
-     * 关键字搜索
-     */
-    private String keywords;
-    /**
-     * 装货地址code
-     */
-    private String loadAddressCode;
-    /**
-     * 装货地址
-     */
-    private String loadAddress;
-    /**
-     * 装货地址等级
-     */
-    private Integer loadAddressLevel;
-    /**
-     * 开始时间
-     */
-    private String startDateTime;
-    /**
-     * 单据状态
-     */
-    private String status;
-    /**
-     * 卸货地址code
-     */
-    private String unloadAddressCode;
-    /**
-     * 卸货地址
-     */
-    private String unloadAddress;
-
-    /**
-     * 卸货地址等级
-     */
-    private Integer unloadAddressLevel;
-}

+ 0 - 26
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/ContractParam.java

@@ -1,26 +0,0 @@
-package com.sckw.report.service.param;
-
-import com.sckw.core.model.page.PageRequest;
-import jakarta.validation.constraints.NotBlank;
-import lombok.Data;
-
-/**
- * @author lfdc
- * @description 合同查询列表param
- * @date 2023-08-03 13:08:51
- */
-@Data
-public class ContractParam extends PageRequest {
-
-    /**
-     * 合同id  “,”隔开
-     */
-    @NotBlank(message = "合同ids不能为空")
-    private String contractIds;
-    /**
-     * 类型 1 托运合同 2 承运合同
-     */
-    @NotBlank(message = "托运合同不能为空")
-    private String contractType;
-
-}

+ 0 - 167
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/LogisticsConsignmentParam.java

@@ -1,167 +0,0 @@
-package com.sckw.report.service.param;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-/**
- * @author lfdc
- * @description 物流托运bo
- * @date 2023-07-06 14:07:50
- */
-
-@Data
-@Accessors(chain = true)
-public class LogisticsConsignmentParam {
-    /**
-     * 分配承运量
-     */
-    private Long carryingCapacity;
-    /**
-     * 分配承运量使用的单位
-     */
-    private String carryingCapacityUnit;
-
-    /**
-     * 托运单位
-     */
-    @NotNull(message = "托运单位名称不能为空")
-    private String checkCompany;
-    /**
-     * 托运单位id
-     */
-    @NotNull(message = "托运单位id不能为空")
-    private String checkCompanyId;
-
-    /**
-     * 联系电话
-     */
-    private String checkContactPhone;
-    /**
-     * 联系人
-     */
-    private String checkContacts;
-
-    /**
-     * 合理损耗
-     */
-    private Long loss;
-    /**
-     * 合理损耗单位
-     */
-    private String lossUnit;
-
-    /**
-     * 商品价值(扣亏货值)
-     */
-    private Long goodsPrice;
-    /**
-     * 商品价值(扣亏货值)单位
-     */
-    private String goodsPriceUnit;
-    /**
-     * 承运单位
-     */
-    @NotBlank(message = "承运单位不能为空")
-    private String consignCompany;
-
-    /**
-     * 承运单位ID
-     */
-    @NotBlank(message = "承运单位ID不能为空")
-    private String consignCompanyId;
-
-    /**
-     * 联系电话
-     */
-    private String consignContactPhone;
-    /**
-     * 联系人
-     */
-    private String consignContacts;
-
-    /**
-     * 结算周期(周结、月结、季结)
-     */
-    private Long settlementCycle;
-    /**
-     * 合同
-     */
-    private String contract;
-    /**
-     * 合同id
-     */
-    private String contractId;
-    /**
-     * 合同编号
-     */
-    private String contractNo;
-
-    /**
-     * 合同名称
-     */
-    private String contractName;
-
-    /**
-     * 合同签约方式
-     */
-    @NotNull(message = "合同签约方式不能为空")
-    private String payment;
-    /**
-     * 货物名称
-     */
-    private String goodsName;
-
-    /**
-     * 货物id
-     */
-    @NotNull(message = "货物id不能为空")
-    private String goodsId;
-
-    /**
-     * skuId
-     */
-    private String skuId;
-    /**
-     * 是否全量
-     */
-    @NotNull(message = "是否全量不能为空")
-    private Boolean isFullDose;
-    /**
-     * 订单id
-     */
-    @JsonProperty("lOrderId")
-    private String lOrderId;
-    /**
-     * 订单编号
-     */
-    @JsonProperty("lOrderNo")
-    private String lOrderNo;
-    /**
-     * 运价
-     */
-    @NotNull(message = "运价不能为空")
-    private Long price;
-    /**
-     * 运价方式
-     */
-    private String priceType;
-    /**
-     * 计划收货时间
-     */
-    private String receiveGoodsDateTime;
-    /**
-     * 计划发货时间
-     */
-    private String shipmentsDateTime;
-    /**
-     * 税率
-     */
-    private Long taxRate;
-    /**
-     * 备注
-     */
-    private String remark;
-}

+ 0 - 78
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/SpringDataPageAble.java

@@ -1,78 +0,0 @@
-package com.sckw.report.service.param;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.domain.Sort;
-
-/**
- * @author yzc
- * @desc 分页请求参数
- * @date 2023/7/17 0010
- */
-@NoArgsConstructor
-@AllArgsConstructor
-@Getter
-@Setter
-public class SpringDataPageAble implements Pageable {
-
-    private Integer pageNumber = 1;
-    private Integer pageSize = 10;
-    private Sort sort;
-
-    public void setSort(Sort sort) {
-        this.sort = sort;
-    }
-
-    // 当前页面
-    @Override
-    public int getPageNumber() {
-        return this.pageNumber;
-    }
-
-    // 每一页显示的条数
-
-    @Override
-    public int getPageSize() {
-        return this.pageSize;
-    }
-
-    // 第二页所需要增加的数量
-
-    @Override
-    public long getOffset() {
-        return (long) (getPageNumber() - 1) * getPageSize();
-    }
-
-    @Override
-    public Sort getSort() {
-        return sort;
-    }
-
-    @Override
-    public Pageable next() {
-        return null;
-    }
-
-    @Override
-    public Pageable previousOrFirst() {
-        return null;
-    }
-
-    @Override
-    public Pageable first() {
-        return null;
-    }
-
-    @Override
-    public Pageable withPage(int pageNumber) {
-        return null;
-    }
-
-    @Override
-    public boolean hasPrevious() {
-        return false;
-    }
-}

+ 0 - 25
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderAppStatisticParam.java

@@ -1,25 +0,0 @@
-package com.sckw.report.service.param;
-
-import jakarta.validation.constraints.NotNull;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import org.hibernate.validator.constraints.Range;
-
-/**
- * @desc: 贸易订单app统计
- * @author: yzc
- * @date: 2023-08-21 17:21
- */
-@Getter
-@Setter
-@ToString
-public class TradeOrderAppStatisticParam {
-
-    /**
-     * 订单类型(2销售订单、1采购订单)
-     */
-    @Range(min = 1, max = 2, message = "非法订单类型")
-    @NotNull(message = "订单类型不能为空")
-    private Integer orderType;
-}

+ 0 - 28
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderContractParam.java

@@ -1,28 +0,0 @@
-package com.sckw.report.service.param;
-
-import com.sckw.core.model.page.PageRequest;
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import org.hibernate.validator.constraints.Range;
-
-/**
- * @desc: 合同关联订单列表请求参数
- * @author: yzc
- * @date: 2023-07-27 16:48
- */
-@Getter
-@Setter
-@ToString
-public class TradeOrderContractParam extends PageRequest {
-
-    @NotBlank(message = "合同ids不能为空")
-    private String contractIds;
-
-    @Range(min = 1, max = 2, message = "非法订单类型")
-    @NotNull(message = "订单类型不能为空")
-    private Integer orderType;
-
-}

+ 0 - 110
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderListExport.java

@@ -1,110 +0,0 @@
-package com.sckw.report.service.param;
-
-import com.alibaba.excel.annotation.ExcelProperty;
-import com.sckw.excel.annotation.ExcelContext;
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-/**
- * @desc: 交易列表信息导出对象
- * @author: yzc
- * @date: 2023-07-17 10:36
- */
-@Data
-@Accessors(chain = true)
-@ExcelContext(fileName = "交易列表信息", sheetName = "交易列表信息")
-public class TradeOrderListExport implements Serializable {
-    @Serial
-    private static final long serialVersionUID = -5895230502149598364L;
-
-    @ExcelProperty(value = "状态" )
-    private String status;
-
-    @ExcelProperty(value = "订单编号" )
-    private String tOrderNo;
-
-    @ExcelProperty(value = "采购单位")
-    private String procureFirmName;
-
-    @ExcelProperty(value = "销售单位")
-    private String supplyFirmName;
-
-    @ExcelProperty(value = "商品名称")
-    private String goodsName;
-
-    @ExcelProperty(value = "规格")
-    private String goodsSpec;
-
-    @ExcelProperty(value = "单价/元")
-    private String unitPrice;
-
-    @ExcelProperty(value = "订单总量")
-    private String amount;
-
-    @ExcelProperty(value = "订单金额")
-    private String price;
-
-    @ExcelProperty(value = "税率/%")
-    private String goodsTaxRate;
-
-    @ExcelProperty(value = "已分配运输量")
-    private String entrustAmount;
-
-    @ExcelProperty(value = "已履约量")
-    private String actualAmount;
-
-    @ExcelProperty(value = "待分配运输量")
-    private String waitEntrustAmount;
-
-    @ExcelProperty(value = "提货方式" )
-    private String pickupType;
-
-    @ExcelProperty(value = "交付类型" )
-    private String deliveryType;
-
-    @ExcelProperty(value = "下单方式" )
-    private String source;
-
-    @ExcelProperty(value = "支付方式")
-    private String trading;
-
-    @ExcelProperty(value = "装货地址名称")
-    private String loadName;
-
-    @ExcelProperty(value = "地址明细")
-    private String loadDetailAddressInfo;
-
-    @ExcelProperty(value = "卸货地址名称")
-    private String unloadName;
-
-    @ExcelProperty(value = "地址明细")
-    private String unloadDetailAddressInfo;
-
-    @ExcelProperty(value = "计划开始日期")
-    private String startTime;
-
-    @ExcelProperty(value = "计划结束日期")
-    private String endTime;
-
-    @ExcelProperty(value = "关联合同")
-    private String contractNo;
-
-    @ExcelProperty(value = "签约方式")
-    private String contractSigningWay;
-
-    @ExcelProperty(value = "归属项目")
-    private String projectName;
-
-    @ExcelProperty(value = "备注")
-    private String remark;
-
-    @ExcelProperty(value = "创建人")
-    private String createByName;
-
-    @ExcelProperty(value = "创建时间")
-    private String createTime;
-
-}

+ 0 - 21
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderListExportParam.java

@@ -1,21 +0,0 @@
-package com.sckw.report.service.param;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-
-/**
- * @desc: 订单列表导出请求参数
- * @author: yzc
- * @date: 2023-07-12 17:41
- */
-@Getter
-@Setter
-@ToString
-public class TradeOrderListExportParam extends TradeOrderListStatisticParam {
-
-    /**
-     * 订单ids
-     */
-    private String ids;
-}

+ 0 - 25
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderListSelectParam.java

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

+ 0 - 89
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderListStatisticParam.java

@@ -1,89 +0,0 @@
-package com.sckw.report.service.param;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import jakarta.validation.constraints.NotNull;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import org.hibernate.validator.constraints.Range;
-
-import java.util.Date;
-
-/**
- * @desc: 订单列表统计请求参数
- * @author: yzc
- * @date: 2023-07-12 17:37
- */
-@Getter
-@Setter
-@ToString
-public class TradeOrderListStatisticParam {
-
-    /**
-     * 订单类型(2销售订单、1采购订单)
-     */
-    @Range(min = 1, max = 2, message = "非法订单类型")
-    @NotNull(message = "订单类型不能为空")
-    private Integer orderType;
-    /**
-     * 订单编号、单位、商品名称(模糊匹配共用)
-     */
-    private String keywords;
-    /**
-     * 创建时间开始(yyyy-MM-dd HH:mm:ss)
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date startCreateTime;
-
-    /**
-     * 创建时间结束(yyyy-MM-dd HH:mm:ss)
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date endCreateTime;
-
-    /**
-     * 装货地址code
-     */
-    private String shippingAddressCode;
-
-    /**
-     * 装货地址等级
-     */
-    private Integer shippingAddressLevel;
-
-    /**
-     * 装货地址code
-     */
-    private String unloadingAddressCode;
-
-    /**
-     * 卸货地址等级
-     */
-    private Integer unloadingAddressLevel;
-
-    /**
-     * 交易方式(预付款、货到付款)
-     */
-    private String trading;
-
-    /**
-     * 提货方式(采方自提、供应配送)
-     */
-    private String pickupType;
-
-    /**
-     * 交付类型(签发交付、签收交付)
-     */
-    private String deliveryType;
-
-    /**
-     * 下单方式(1采购下单/2代客下单)
-     */
-    private String source;
-
-    /**
-     * 订单状态
-     */
-    private Integer status;
-
-}

+ 0 - 66
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/TradeOrderStatementList.java

@@ -1,66 +0,0 @@
-package com.sckw.report.service.param;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.sckw.core.model.page.PageRequest;
-import jakarta.validation.constraints.NotNull;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import org.hibernate.validator.constraints.Range;
-
-import java.time.LocalDate;
-
-/**
- * @desc: 贸易订单对账单列表请求参数
- * @author: yzc
- * @date: 2023-07-20 14:43
- */
-@Getter
-@Setter
-@ToString
-public class TradeOrderStatementList extends PageRequest {
-
-    /**
-     * 订单类型(1采购订单2销售订单)
-     */
-    @Range(min = 1, max = 2, message = "非法订单类型")
-    @NotNull(message = "订单类型不能为空")
-    private Integer orderType;
-
-    /**
-     * 采购单位id
-     */
-    private Long procureEntId;
-
-    /**
-     * 计划开始时间(yyyy-MM-dd)
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-    private LocalDate startTime;
-
-    /**
-     * 计划结束时间(yyyy-MM-dd)
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-    private LocalDate endTime;
-
-    /**
-     * 交易方式(预付款、货到付款)
-     */
-    private String trading;
-
-    /**
-     * 商品税率
-     */
-    private String goodsTaxRate;
-
-    /**
-     * 商品名称
-     */
-    private String goodsName;
-
-    /**
-     * 排除订单ids
-     */
-    private String excludeIds;
-}

+ 0 - 84
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderListExport.java

@@ -1,84 +0,0 @@
-package com.sckw.report.service.param;
-
-import com.alibaba.excel.annotation.ExcelProperty;
-import com.sckw.excel.annotation.ExcelContext;
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-/**
- * @author JC
- * @version 1.0
- * @desc 运单列表信息导出实体
- * @date 2023/{07}/19 10:20:44
- **/
-@Data
-@Accessors(chain = true)
-@ExcelContext(fileName = "运单列表信息", sheetName = "运单列表信息")
-public class WaybillOrderListExport implements Serializable {
-    @Serial
-    private static final long serialVersionUID = -2111424783071112237L;
-
-    @ExcelProperty(value = "序号" )
-    private String serialNumber;
-
-    @ExcelProperty(value = "运单" )
-    private String status;
-
-    @ExcelProperty(value = "运单号" )
-    private String wOrderNo;
-
-    @ExcelProperty(value = "车辆车牌" )
-    private String truckNo;
-
-    @ExcelProperty(value = "车辆司机" )
-    private String driverName;
-
-    @ExcelProperty(value = "运单类型")
-    private String type;
-
-    @ExcelProperty(value = "派车时间")
-    private String sendCarTime;
-
-    @ExcelProperty(value = "计划开始时间")
-    private String startTime;
-
-    @ExcelProperty(value = "计划结束时间")
-    private String endTime;
-
-    @ExcelProperty(value = "派车量/吨")
-    private String entrustAmount;
-
-    @ExcelProperty(value = "装货地址名称")
-    private String loadName;
-
-    @ExcelProperty(value = "装货地址明细")
-    private String loadAddress;
-
-    @ExcelProperty(value = "卸货地址名称")
-    private String unloadName;
-
-    @ExcelProperty(value = "卸货地址明细")
-    private String unloadAddress;
-
-    @ExcelProperty(value = "实装量/吨")
-    private String loadAmount;
-
-    @ExcelProperty(value = "实卸量/吨")
-    private String unloadAmount;
-
-    @ExcelProperty(value = "亏吨量/吨")
-    private String deficitAmount;
-
-    @ExcelProperty(value = "装货时间")
-    private String loadDateTime;
-
-    @ExcelProperty(value = "卸货时间")
-    private String unloadDateTime;
-
-    @ExcelProperty(value = "更新时间")
-    private String updateTime;
-
-}

+ 0 - 27
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderListSelect.java

@@ -1,27 +0,0 @@
-package com.sckw.report.service.param;
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-import java.io.Serial;
-
-/**
- * @author JC
- * @version 1.0
- * @desc 运单列表查询参数
- * @date 2023/{07}/19 10:20:44
- **/
-@Data
-@Accessors(chain = true)
-public class WaybillOrderListSelect extends WaybillOrderQuery {
-    @Serial
-    private static final long serialVersionUID = -6295422760052056637L;
-
-    /**
-     * 当前页码
-     */
-    private int page = 1;
-    /**
-     * 每页数量
-     */
-    private int pageSize = 10;
-}

+ 0 - 93
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderQuery.java

@@ -1,93 +0,0 @@
-package com.sckw.report.service.param;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import jakarta.validation.constraints.NotNull;
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-import java.io.Serial;
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * @author JC
- * @version 1.0
- * @desc 运单列表查询参数
- * @date 2023/{07}/19 10:20:44
- **/
-@Data
-@Accessors(chain = true)
-public class WaybillOrderQuery implements Serializable {
-    @Serial
-    private static final long serialVersionUID = 2807043861611224384L;
-
-    private String ids;
-    /**
-     * 派车开始时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-    private Date startSendCarTime;
-
-    /**
-     * 派车结束时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-    private Date endSendCarTime;
-
-    /**
-     * 装载开始时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-    private Date startLoadTime;
-
-    /**
-     * 装载结束时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-    private Date endLoadTime;
-
-    /**
-     * 卸载开始时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-    private Date startUnloadTime;
-
-    /**
-     * 卸载结束时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-    private Date endUnloadTime;
-
-    /**
-     * 关键字搜索
-     */
-    private String keywords;
-
-    /**
-     * 装载城市
-     */
-    private String loadCityCode;
-
-    /**
-     * 装载城市查询等级
-     */
-    private Integer loadCityCodeLevel;
-
-    /**
-     * 卸载城市
-     */
-    private String unloadCityCode;
-
-    /**
-     * 卸载城市查询等级
-     */
-    private Integer unloadCityCodeLevel;
-
-    /**
-     * 运单状态
-     */
-    @JsonProperty("status")
-    @NotNull(message = "订单状态不能为空")
-    private String status;
-}

+ 0 - 180
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/AcceptCarriageOrderExcelVo.java

@@ -1,180 +0,0 @@
-package com.sckw.report.service.vo;
-
-import com.alibaba.excel.annotation.ExcelProperty;
-import com.sckw.excel.annotation.ExcelContext;
-import lombok.Data;
-
-/**
- * @author lfdc
- * @description 承运订单导出vo
- * @date 2023-07-24 13:07:44
- */
-@Data
-@ExcelContext(fileName = "承运订单列表", sheetName = "承运订单列表")
-public class AcceptCarriageOrderExcelVo {
-    /**
-     * 结算周期
-     */
-    @ExcelProperty(value = "结算周期")
-    private String accountsCycle;
-    /**
-     * 发起人
-     */
-    @ExcelProperty(value = "发起人")
-    private String appointor;
-    /**
-     * 计费方式
-     */
-    @ExcelProperty(value = "计费方式")
-    private String billingMode;
-    /**
-     * 承运单位
-     */
-    @ExcelProperty(value = "承运单位")
-    private String carrierCompany;
-    /**
-     * 承运联系人
-     */
-    @ExcelProperty(value = "承运联系人")
-    private String carrierContacts;
-    /**
-     * 承运订单
-     */
-    @ExcelProperty(value = "承运订单")
-    private String carrierOrder;
-    /**
-     * 承运联系电话
-     */
-    @ExcelProperty(value = "承运联系电话")
-    private String carrierPhone;
-    /**
-     * 分配承运量
-     */
-    @ExcelProperty(value = "分配承运量")
-    private String carryingCapacity;
-    /**
-     * 托运单位
-     */
-    @ExcelProperty(value = "托运单位")
-    private String consignCompany;
-    /**
-     * 托运联系人
-     */
-    @ExcelProperty(value = "托运联系人")
-    private String consignContacts;
-    /**
-     * 托运联系电话
-     */
-    @ExcelProperty(value = "托运联系电话")
-    private String consignPhone;
-    /**
-     * 合同
-     */
-    @ExcelProperty(value = "合同")
-    private String contract;
-    /**
-     * 扣亏货值/元/吨
-     */
-    @ExcelProperty(value = "扣亏货值/元/吨")
-    private String deficitAmount;
-    /**
-     * 货物名称
-     */
-    @ExcelProperty(value = "货物名称")
-    private String goodsName;
-    /**
-     * 装货地点
-     */
-    @ExcelProperty(value = "装货地点")
-    private String loadAddress;
-    /**
-     * 数据库id
-     */
-    private String lOrderId;
-    /**
-     * 托运订单号
-     */
-    @ExcelProperty(value = "托运订单号")
-    private String lOrderNo;
-    /**
-     * 合理损耗
-     */
-    @ExcelProperty(value = "合理损耗")
-    private String loss;
-    /**
-     * 计划时间
-     */
-    @ExcelProperty(value = "计划时间")
-    private String plannedDateTime;
-    /**
-     * 运价
-     */
-    @ExcelProperty(value = "运价")
-    private String price;
-    /**
-     * 收货联系人
-     */
-    @ExcelProperty(value = "收货联系人")
-    private String receiveGoodsContacts;
-    /**
-     * 计划收货时间
-     */
-    @ExcelProperty(value = "计划收货时间")
-    private String receiveGoodsDateTime;
-    /**
-     * 收货电话
-     */
-    @ExcelProperty(value = "收货电话")
-    private String receiveGoodsPhone;
-    /**
-     * 备注
-     */
-    @ExcelProperty(value = "备注")
-    private String remark;
-    /**
-     * 发货联系人
-     */
-    @ExcelProperty(value = "发货联系人")
-    private String shipmentsContacts;
-    /**
-     * 计划发货时间
-     */
-    @ExcelProperty(value = "计划发货时间")
-    private String shipmentsDateTime;
-    /**
-     * 发货电话
-     */
-    @ExcelProperty(value = "发货电话")
-    private String shipmentsPhone;
-    /**
-     * 签约方式
-     */
-    @ExcelProperty(value = "签约方式")
-    private String signing;
-    /**
-     * 状态
-     */
-    @ExcelProperty(value = "状态")
-    private String status;
-    /**
-     * 卸货地点
-     */
-    @ExcelProperty(value = "卸货地点")
-    private String unloadAddress;
-    /**
-     * 关联承运订单号
-     */
-    @ExcelProperty(value = "关联承运订单号")
-    private String wOrderNo;
-    /**
-     * 创建时间
-     */
-    @ExcelProperty(value = "创建时间")
-    private String createTime;
-    /**
-     * 修改时间
-     */
-    @ExcelProperty(value = "修改时间")
-    private String updateTime;
-
-}

+ 0 - 222
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/AcceptCarriageOrderVo.java

@@ -1,222 +0,0 @@
-package com.sckw.report.service.vo;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.sckw.core.model.page.PageRequest;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-
-/**
- * @author lfdc
- * @description 承运订单VO
- * @date 2023-06-27 10:06:30
- */
-@Data
-public class AcceptCarriageOrderVo extends PageRequest {
-    /**
-     * 结算周期
-     */
-    private String accountsCycle;
-    /**
-     * 结算周期
-     */
-    private String accountsCycleLabel;
-    /**
-     * 发起人
-     */
-    private String appointor;
-    /**
-     * 计费方式
-     */
-    private String billingMode;
-
-    /**
-     * 计费方式
-     */
-    private String billingModeLabel;
-
-    /**
-     * 承运单位ID
-     */
-    private String carrierCompanyId;
-    /**
-     * 承运单位
-     */
-    private String carrierCompany;
-    /**
-     * 承运联系人
-     */
-    private String carrierContacts;
-    /**
-     * 承运订单
-     */
-    private String carrierOrder;
-    /**
-     * 承运联系电话
-     */
-    private String carrierPhone;
-    /**
-     * 分配承运量
-     */
-    private BigDecimal carryingCapacity;
-
-    /**
-     * 托运单位id
-     */
-    private String consignCompanyId;
-    /**
-     * 托运单位
-     */
-    private String consignCompany;
-    /**
-     * 托运联系人
-     */
-    private String consignContacts;
-    /**
-     * 托运联系电话
-     */
-    private String consignPhone;
-    /**
-     * 合同
-     */
-    private String contract;
-    /**
-     * 扣亏货值/元/吨
-     */
-    private BigDecimal deficitAmount;
-    /**
-     * 货物名称
-     */
-    private String goodsName;
-    /**
-     * 装货地点
-     */
-    private String loadAddress;
-    /**
-     * 装货区域名称
-     */
-    private String loadCityName;
-    /**
-     * 数据库id
-     */
-    @JsonProperty("lOrderId")
-    private String lOrderId;
-    /**
-     * 托运订单号
-     */
-    @JsonProperty("lOrderNo")
-    private String lOrderNo;
-    /**
-     * 合理损耗
-     */
-    private BigDecimal loss;
-    /**
-     * 合理损耗单位
-     */
-    private String lossUnit;
-    /**
-     * 计划时间
-     */
-    private String plannedDateTime;
-    /**
-     * 运价
-     */
-    private BigDecimal price;
-    /**
-     * 收货联系人
-     */
-    private String receiveGoodsContacts;
-    /**
-     * 计划收货时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
-    private LocalDateTime receiveGoodsDateTime;
-    /**
-     * 收货电话
-     */
-    private String receiveGoodsPhone;
-    /**
-     * 备注
-     */
-    private String remark;
-    /**
-     * 发货联系人
-     */
-    private String shipmentsContacts;
-    /**
-     * 计划发货时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
-    private LocalDateTime shipmentsDateTime;
-    /**
-     * 发货电话
-     */
-    private String shipmentsPhone;
-    /**
-     * 签约方式
-     */
-    private String signing;
-
-    /**
-     * 签约方式
-     */
-    private String signingLabel;
-    /**
-     * 状态
-     */
-    private String status;
-    /**
-     * 状态
-     */
-    private String statusLabel;
-    /**
-     * 卸货地点
-     */
-    private String unloadAddress;
-    /**
-     * 卸货区域名称
-     */
-    private String unloadCityName;
-    /**
-     * 关联承运订单号
-     */
-    @JsonProperty("wOrderNo")
-    private String wOrderNo;
-
-    private String createTime;
-
-    private String updateTime;
-
-    /**
-     * 发货单位
-     */
-    private String shipmentsUnitEntId;
-
-    /**
-     * 发货单位
-     */
-    private String shipmentsUnit;
-
-    /**
-     * 收货单位
-     */
-    private String receiveGoodsUnitEntId;
-
-    /**
-     * 收货单位
-     */
-    private String receiveGoodsUnit;
-
-    /**
-     * 商品价值(扣亏货值)
-     */
-    private BigDecimal goodsPrice;
-
-    /**
-     * 商品价值(扣亏货值)单位
-     */
-    private String goodsPriceUnit;
-
-}

+ 0 - 39
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/CarDataVo.java

@@ -1,39 +0,0 @@
-package com.sckw.report.service.vo;
-
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-/**
- * @author lfdc
- * @description 车辆信息
- * @date 2023-07-10 12:07:40
- */
-@Data
-@Accessors(chain = true)
-public class CarDataVo {
-    /**
-     * 司机姓名
-     */
-    private String driverName;
-    /**
-     * 司机电话
-     */
-    private String driverPhone;
-    private String id;
-    /**
-     * 身份证号
-     */
-    private String idCard;
-    /**
-     * 核载质量/吨
-     */
-    private String loadAmount;
-    /**
-     * 车牌号
-     */
-    private String truckNo;
-    /**
-     * 运单号
-     */
-    private String wOrderNo;
-}

+ 0 - 174
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/CarWaybillVo.java

@@ -1,174 +0,0 @@
-package com.sckw.report.service.vo;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-import java.io.Serial;
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * @author lfdc
- * @description 车辆运单
- * @date 2023-06-27 11:06:08
- */
-@Data
-@Accessors(chain = true)
-public class CarWaybillVo implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 4526063761808958350L;
-    /**
-     * 运单id
-     */
-    @JsonProperty(value="wOrderId")
-    private String wOrderId;
-
-    /**
-     * 运单号
-     */
-    @JsonProperty(value="wOrderNo")
-    private String wOrderNo;
-
-    /**
-     * 物流订单号
-     */
-    @JsonProperty(value="lOrderNo")
-    private String lOrderNo;
-
-    /**
-     * 车辆牌照
-     */
-    private String truckNo;
-
-    /**
-     * 司机
-     */
-    private String driverName;
-
-    /**
-     * 运单类型数字
-     */
-    private String type;
-
-    /**
-     * 运单类型字符
-     */
-    private String typeLabel;
-
-    /**
-     * 托量单位
-     */
-    private String unit;
-
-    /**
-     * 托量单位字符
-     */
-    private String unitLabel;
-
-    /**
-     * 运单状态
-     */
-    private String  status;
-
-    /**
-     * 运单状态字符
-     */
-    private String  statusLabel;
-
-    /**
-     * 承运车队
-     */
-    private String firmName;
-
-
-    /**
-     * 派车时间
-     */
-    private String sendCarTime;
-
-    /**
-     * 计划开始时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-    private Date startTime;
-
-    /**
-     * 计划结束时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-    private Date endTime;
-
-    /**
-     * 派单量/吨
-     */
-    private String entrustAmount;
-
-    /**
-     * 装货地点名称
-     */
-    private String loadName;
-
-    /**
-     * 装货地点
-     */
-    private String loadAddress;
-
-    /**
-     * 卸货地点点名称
-     */
-    private String unloadName;
-
-    /**
-     * 卸货地点
-     */
-    private String unloadAddress;
-
-    /**
-     * 实装量/吨
-     */
-    private String loadAmount;
-
-    /**
-     * 实卸量/吨
-     */
-    private String unloadAmount;
-
-    /**
-     * 装货时间
-     */
-    private String loadDateTime;
-
-    /**
-     * 卸货时间
-     */
-    private String unloadDateTime;
-
-    /**
-     * 亏吨重量
-     */
-    private String deficitAmount;
-
-    /**
-     * 扣亏损值(合理损耗-(实装-实卸))-单位
-     */
-    private String goodsPriceUnit;
-
-    /**
-     * 扣亏量(合理损耗-(实装-实卸))-单位
-     */
-    private String deficitRealAmount;
-
-    /**
-     * 创建时间
-     */
-    private String createTime;
-
-    /**
-     * 更新时间
-     */
-    private String updateTime;
-
-}

+ 0 - 186
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/ConsignOrderExcelVo.java

@@ -1,186 +0,0 @@
-package com.sckw.report.service.vo;
-
-import com.alibaba.excel.annotation.ExcelProperty;
-import com.sckw.core.model.constant.NumberConstant;
-import com.sckw.core.model.enums.LogisticsOrderEnum;
-import com.sckw.excel.annotation.EasyExcel;
-import com.sckw.excel.annotation.ExcelContext;
-import com.sckw.excel.config.easyexcel.ExcelConverter;
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * @author lfdc
- * @description 托运订单导出vo
- * @date 2023-07-24 13:07:40
- */
-@Data
-@ExcelContext(fileName = "托运订单列表", sheetName = "托运订单列表")
-public class ConsignOrderExcelVo implements Serializable {
-    /**
-     * 结算周期
-     */
-//    @ExcelProperty(value = "结算周期")
-    private String accountsCycle;
-    /**
-     * 发起人
-     */
-    //    @ExcelProperty(value = "发起人")
-    private String appointor;
-    /**
-     * 计费方式
-     */
-    //     @ExcelProperty(value = "计费方式")
-    private String billingMode;
-    /**
-     * 承运单位
-     */
-    //    @ExcelProperty(value = "承运单位")
-    private String carrierCompany;
-    /**
-     * 承运联系人
-     */
-    //   @ExcelProperty(value = "承运联系人")
-    private String carrierContacts;
-    /**
-     * 承运订单
-     */
-    //    @ExcelProperty(value = "承运订单")
-    private String carrierOrder;
-    /**
-     * 承运联系电话
-     */
-    //    @ExcelProperty(value = "承运联系电话")
-    private String carrierPhone;
-    /**
-     * 分配承运量
-     */
-    //   @ExcelProperty(value = "分配承运量")
-    private String carryingCapacity;
-    /**
-     * 托运单位
-     */
-    //   @ExcelProperty(value = "托运单位")
-    private String consignCompany;
-    /**
-     * 托运联系人
-     */
-    //   @ExcelProperty(value = "托运联系人")
-    private String consignContacts;
-    /**
-     * 托运联系电话
-     */
-    //    @ExcelProperty(value = "托运联系电话")
-    private String consignPhone;
-    /**
-     * 合同
-     */
-    //   @ExcelProperty(value = "合同")
-    private String contract;
-    /**
-     * 扣亏货值/元/吨
-     */
-    //    @ExcelProperty(value = "扣亏货值/元/吨")
-    private String deficitAmount;
-    /**
-     * 货物名称
-     */
-    //    @ExcelProperty(value = "货物名称")
-    private String goodsName;
-    /**
-     * 装货地点
-     */
-//    @ExcelProperty(value = "装货地点")
-    private String loadAddress;
-    /**
-     * 数据库id
-     */
-    private String lOrderId;
-    /**
-     * 托运订单号
-     */
-//    @ExcelProperty(value = "托运订单号")
-    private String lOrderNo;
-    /**
-     * 合理损耗
-     */
-    //    @ExcelProperty(value = "合理损耗")
-    private String loss;
-    /**
-     * 计划时间
-     */
-    //   @ExcelProperty(value = "计划时间")
-    private String plannedDateTime;
-    /**
-     * 运价
-     */
-    //    @ExcelProperty(value = "运价")
-    private String price;
-    /**
-     * 收货联系人
-     */
-    //   @ExcelProperty(value = "收货联系人")
-    private String receiveGoodsContacts;
-    /**
-     * 计划收货时间
-     */
-    //   @ExcelProperty(value = "计划收货时间")
-    private String receiveGoodsDateTime;
-    /**
-     * 收货电话
-     */
-    //     @ExcelProperty(value = "收货电话")
-    private String receiveGoodsPhone;
-    /**
-     * 备注
-     */
-    //     @ExcelProperty(value = "备注")
-    private String remark;
-    /**
-     * 发货联系人
-     */
-    //    @ExcelProperty(value = "发货联系人")
-    private String shipmentsContacts;
-    /**
-     * 计划发货时间
-     */
-    //    @ExcelProperty(value = "计划发货时间")
-    private String shipmentsDateTime;
-    /**
-     * 发货电话
-     */
-    //    @ExcelProperty(value = "发货电话")
-    private String shipmentsPhone;
-    /**
-     * 签约方式
-     */
-    //    @ExcelProperty(value = "签约方式")
-    private String signing;
-    /**
-     * 状态
-     */
-    @EasyExcel(type = LogisticsOrderEnum.class, status = NumberConstant.ONE, flag = false)
-    @ExcelProperty(value = "状态", converter = ExcelConverter.class)
-    private String status;
-    /**
-     * 卸货地点
-     */
-    //    @ExcelProperty(value = "卸货地点")
-    private String unloadAddress;
-    /**
-     * 关联承运订单号
-     */
-    //    @ExcelProperty(value = "关联承运订单号")
-    private String wOrderNo;
-    /**
-     * 创建时间
-     */
-    //   @ExcelProperty(value = "创建时间")
-    private String createTime;
-    /**
-     * 修改时间
-     */
-    //    @ExcelProperty(value = "修改时间")
-    private String updateTime;
-}

+ 0 - 210
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/ConsignOrderVo.java

@@ -1,210 +0,0 @@
-package com.sckw.report.service.vo;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * @author lfdc
- * @description 托运订单查询数据返回vo
- * @date 2023-07-07 09:07:06
- */
-@Data
-public class ConsignOrderVo implements Serializable {
-    /**
-     * 结算周期
-     */
-    private String accountsCycle;
-    /**
-     * 发起人
-     */
-    private String appointor;
-    /**
-     * 计费方式
-     */
-    private String billingMode;
-    /**
-     * 承运单位
-     */
-    private String carrierCompany;
-    /**
-     * 承运联系人
-     */
-    private String carrierContacts;
-    /**
-     * 承运订单
-     */
-    private String carrierOrder;
-    /**
-     * 承运联系电话
-     */
-    private String carrierPhone;
-    /**
-     * 分配承运量
-     */
-    private BigDecimal carryingCapacity;
-    /**
-     * 托运单位
-     */
-    private String consignCompany;
-    /**
-     * 托运联系人
-     */
-    private String consignContacts;
-    /**
-     * 托运联系电话
-     */
-    private String consignPhone;
-    /**
-     * 合同
-     */
-    private String contract;
-    /**
-     * 扣亏货值/元/吨
-     */
-    private BigDecimal deficitAmount;
-    /**
-     * 货物名称
-     */
-    private String goodsName;
-    /**
-     * 装货地点
-     */
-    private String loadAddress;
-    /**
-     * 数据库id
-     */
-    @JsonProperty("lOrderId")
-    private String lOrderId;
-    /**
-     * 托运订单号
-     */
-    @JsonProperty("lOrderNo")
-    private String lOrderNo;
-    /**
-     * 合理损耗
-     */
-    private BigDecimal loss;
-    /**
-     * 计划时间
-     */
-    private String plannedDateTime;
-    /**
-     * 运价
-     */
-    private BigDecimal price;
-    /**
-     * 收货联系人
-     */
-    private String receiveGoodsContacts;
-    /**
-     * 计划收货时间
-     */
-    private String receiveGoodsDateTime;
-    /**
-     * 收货电话
-     */
-    private String receiveGoodsPhone;
-    /**
-     * 备注
-     */
-    private String remark;
-    /**
-     * 发货联系人
-     */
-    private String shipmentsContacts;
-    /**
-     * 计划发货时间
-     */
-    private String shipmentsDateTime;
-    /**
-     * 发货电话
-     */
-    private String shipmentsPhone;
-    /**
-     * 签约方式
-     */
-    private String signing;
-    /**
-     * 状态
-     */
-    private String status;
-    /**
-     * 卸货地点
-     */
-    private String unloadAddress;
-    /**
-     * 卸货区域名称
-     */
-    private String unloadCityName;
-    /**
-     * 装货区域名称
-     */
-    private String loadCityName;
-    /**
-     * 关联承运订单号
-     */
-    @JsonProperty("wOrderNo")
-    private String wOrderNo;
-
-    private String createTime;
-
-    private String updateTime;
-
-    /**
-     * 发货单位
-     */
-    private String shipmentsUnitEntId;
-
-    /**
-     * 发货单位
-     */
-    private String shipmentsUnit;
-
-    /**
-     * 收货单位
-     */
-    private String receiveGoodsUnitEntId;
-
-    /**
-     * 收货单位
-     */
-    private String receiveGoodsUnit;
-
-    /**
-     * 结算周期
-     */
-    private String accountsCycleLabel;
-
-    /**
-     * 计费方式
-     */
-    private String billingModeLabel;
-
-    /**
-     * 合理损耗单位
-     */
-    private String lossUnit;
-
-    /**
-     * 签约方式
-     */
-    private String signingLabel;
-
-    /**
-     * 状态
-     */
-    private String statusLabel;
-
-    /**
-     * 商品价值(扣亏货值)
-     */
-    private BigDecimal goodsPrice;
-
-    /**
-     * 商品价值(扣亏货值)单位
-     */
-    private String goodsPriceUnit;
-}

+ 0 - 129
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/ConsignmentVo.java

@@ -1,129 +0,0 @@
-package com.sckw.report.service.vo;
-
-import lombok.Data;
-
-/**
- * @author lfdc
- * @description 分包托运vo
- * @date 2023-06-27 11:06:08
- */
-@Data
-public class ConsignmentVo {
-    /**
-     * 状态
-     */
-    private String status;
-    /**
-     * 托运订单号
-     */
-    private String consignmentNumber;
-    /**
-     * 承运单位
-     */
-    private String acceptCarriageCompany;
-
-    /**
-     * 货物名称
-     */
-    private String goodsName;
-    /**
-     * 签约方式
-     */
-    private String signing;
-    /**
-     * 分配承运量
-     */
-    private String carryingCapacity;
-    /**
-     * 装货地点
-     */
-    private String stowageAddress;
-    /**
-     * 卸货地点
-     */
-    private String unloadAddress;
-    /**
-     * 运价
-     */
-    private String freightRate;
-    /**
-     * 计费方式
-     */
-    private String billingMode;
-    /**
-     * 合理损耗
-     */
-    private String wastage;
-    /**
-     * 扣亏货值/元/吨
-     */
-    private String defectiveValue;
-    /**
-     * 结算周期
-     */
-    private String accountsCycle;
-    /**
-     * 承运联系人
-     */
-    private String acceptCarriagePerson;
-    /**
-     * 承运联系电话
-     */
-    private String acceptCarriageTel;
-    /**
-     * 托运单位
-     */
-    private String consignCompany;
-    /**
-     * 托运联系人
-     */
-    private String consignPerson;
-    /**
-     * 托运联系电话
-     */
-    private String consignTel;
-    /**
-     * 发货联系人
-     */
-    private String shipmentsPerson;
-    /**
-     * 发货电话
-     */
-    private String shipmentsTel;
-    /**
-     * 收货联系人
-     */
-    private String receiveGoodsPerson;
-    /**
-     * 收货电话
-     */
-    private String receiveGoodsTel;
-    /**
-     * 计划发货时间
-     */
-    private String shipmentsDate;
-    /**
-     * 计划收货时间
-     */
-    private String receiveGoodsDate;
-    /**
-     * 承运订单号
-     */
-    private String consignOrderId;
-    /**
-     * 合同
-     */
-    private String contract;
-    /**
-     * 备注
-     */
-    private String remark;
-    /**
-     * 发起人
-     */
-    private String planner;
-    /**
-     * 计划时间
-     */
-    private String plannedDate;
-}

+ 0 - 222
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/OrderListRes.java

@@ -1,222 +0,0 @@
-package com.sckw.report.service.vo;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import lombok.experimental.Accessors;
-
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.util.Date;
-
-/**
- * @desc: 订单列表响应参数
- * @author: yzc
- * @date: 2023-07-12 17:45
- */
-@Getter
-@Setter
-@ToString
-@Accessors(chain = true)
-public class OrderListRes {
-
-    /**
-     * 订单id
-     */
-    @JsonProperty("tOrderId")
-    private Long tOrderId;
-    /**
-     * 订单状态
-     */
-    private Integer status;
-    /**
-     * 订单状态label
-     */
-    private String statusLabel;
-    /**
-     * 订单编号
-     */
-    @JsonProperty("tOrderNo")
-    private String tOrderNo;
-    /**
-     * 采购企业主键ID
-     */
-    private Long procureEntId;
-
-    /**
-     * 采购单位
-     */
-    private String procureFirmName;
-
-    /**
-     * 销售单位主键ID
-     */
-    private Long supplyEntId;
-    /**
-     * 销售单位
-     */
-    private String supplyFirmName;
-    /**
-     * 交易方式(预付款、货到付款)
-     */
-    private String trading;
-
-    /**
-     * 交易方式label
-     */
-    private String tradingLabel;
-    /**
-     * 交付类型(签发交付、签收交付)
-     */
-    private String deliveryType;
-
-    /**
-     * 交付类型label
-     */
-    private String deliveryTypeLabel;
-    /**
-     * 提货方式(采方自提、供应配送)
-     */
-    private String pickupType;
-    /**
-     * 提货方式label
-     */
-    private String pickupTypeLabel;
-    /**
-     * 下单方式(自主下单/代客下单)
-     */
-    private String source;
-
-    /**
-     * 下单方式label
-     */
-    private String sourceLabel;
-
-    /**
-     * 合同主键
-     */
-    private Long contractId;
-
-    /**
-     * 合同编号
-     */
-    private String contractNo;
-
-    /**
-     * 合同mc
-     */
-    private String contractName;
-
-    /**
-     * 合同签约方式
-     */
-    private String contractSigningWay;
-    /**
-     * 商品id
-     */
-    private Long goodsId;
-    /**
-     * 商品名称
-     */
-    private String goodsName;
-    /**
-     * 单位(吨、方、箱、件)
-     */
-    private String goodsSpec;
-
-    private String goodsTaxRate;
-
-    /**
-     * 商品缩略图
-     */
-    private String goodsThumb;
-
-    /**
-     * 订单成交单价
-     */
-    private BigDecimal unitPrice;
-    /**
-     * 订单金额
-     */
-    private BigDecimal price;
-
-    /**
-     * 订单总量
-     */
-    private BigDecimal amount;
-    /**
-     * 已委托量
-     */
-    private BigDecimal entrustAmount;
-    /**
-     * 待委托量
-     */
-    private BigDecimal waitEntrustAmount;
-    /**
-     * 实际交付量
-     */
-    private BigDecimal actualAmount;
-
-    /**
-     * 实际订单金额
-     */
-    private BigDecimal actualPrice;
-    /**
-     * 归属项目
-     */
-    private String projectName;
-    /**
-     * 装货地点
-     */
-    private String loadName;
-
-    /**
-     * 装货详细地址=loadCityName+loadDetailAddress
-     */
-    private String loadDetailAddressInfo;
-    /**
-     * 卸货地点
-     */
-    private String unloadName;
-
-    /**
-     * 卸货详细地址=unloadCityName+unloadDetailAddress
-     */
-    private String unloadDetailAddressInfo;
-    /**
-     * 计划开始时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-    private LocalDate startTime;
-    /**
-     * 计划结束时间
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-    private LocalDate endTime;
-    /**
-     * 备注
-     */
-    private String remark;
-
-    /**
-     * 单位
-     */
-    private String unit;
-
-    /**
-     * 单位
-     */
-    private String unitLabel;
-
-    /**
-     * 创建人e
-     */
-    private String createByName;
-    /**
-     * 创建时间
-     */
-    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date createTime;
-}

+ 0 - 29
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/QueryBusinessStatisticsResVo.java

@@ -1,29 +0,0 @@
-package com.sckw.report.service.vo;
-
-import lombok.Data;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-/**
- * @author czh
- * @desc 业务统计返参
- * @date 2023/9/11
- */
-@Data
-public class QueryBusinessStatisticsResVo implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = -2006480000281228490L;
-
-    /**
-     * 类型
-     */
-    private String type;
-
-    /**
-     * 数量
-     */
-    private Integer num;
-
-}

+ 0 - 28
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/TradeOrderAppStatisticVO.java

@@ -1,28 +0,0 @@
-package com.sckw.report.service.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import lombok.experimental.Accessors;
-
-/**
- * @desc: 贸易订单主界面统计
- * @author: yzc
- * @date: 2023-08-21 17:35
- */
-@Getter
-@Setter
-@ToString
-@Accessors(chain = true)
-public class TradeOrderAppStatisticVO {
-
-    /**
-     * 状态值
-     */
-    private Integer value;
-
-    /**
-     * 统计数据
-     */
-    private Integer total;
-}

+ 0 - 31
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/WaybillsCountVo.java

@@ -1,31 +0,0 @@
-package com.sckw.report.service.vo;
-
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-/**
- * @author jc
- * @description 运单列表 统计行数据
- * @date 2023-07-10 12:07:40
- */
-@Data
-@Accessors(chain = true)
-public class WaybillsCountVo {
-    /**
-     * 总计条数
-     */
-    private String countTotal;
-    /**
-     * 总计托运量
-     */
-    private String entrustTotal;
-    /**
-     * 总计实际装载量
-     */
-    private String loadTotal;
-    /**
-     * 总计实际卸货量
-     */
-    private String unloadTotal;
-
-}

+ 148 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/task/OrderTask.java

@@ -0,0 +1,148 @@
+package com.sckw.report.task;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.NumberUtil;
+import cn.hutool.core.util.StrUtil;
+import com.sckw.core.model.enums.AddressTypeEnum;
+import com.sckw.report.entity.KwrRecordOrder;
+import com.sckw.report.entity.KwrRecordOrderWeight;
+import com.sckw.report.enums.TruckTypeEnum;
+import com.sckw.report.service.impl.KwrRecordOrderService;
+import com.sckw.report.service.impl.KwrRecordOrderWeightService;
+import com.sckw.transport.api.dubbo.TransportRemoteService;
+import com.sckw.transport.api.model.dto.ArchiveOrderDto;
+import com.sckw.transport.api.model.dto.EntDto;
+import com.sckw.transport.api.model.dto.OrderTicketDto;
+import com.sckw.transport.api.model.dto.WeighDto;
+import jakarta.annotation.Resource;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+
+/**
+ * @author xucaiqin
+ * @date 2026-06-26 19:42:30
+ */
+@Component
+public class OrderTask {
+    @DubboReference(version = "1.0.0", group = "design", check = false)
+    private TransportRemoteService transportRemoteService;
+    @Resource
+    private KwrRecordOrderService kwrRecordOrderService;
+    @Resource
+    private KwrRecordOrderWeightService kwrRecordOrderWeightService;
+
+    @Scheduled(cron = "0 0/30 * * * ?")
+    public void task() {
+        List<ArchiveOrderDto> archiveOrderDtos = transportRemoteService.queryArchiveOrder(15);
+        if (CollUtil.isNotEmpty(archiveOrderDtos)) {
+            for (ArchiveOrderDto archiveOrderDto : archiveOrderDtos) {
+                KwrRecordOrder build = this.build(archiveOrderDto);
+                kwrRecordOrderService.save(build);
+                List<KwrRecordOrderWeight> kwrRecordOrderWeight = this.build2(archiveOrderDto, build.getId());
+                kwrRecordOrderWeightService.saveBatch(kwrRecordOrderWeight);
+            }
+            transportRemoteService.saveArchiveOrder(archiveOrderDtos.stream().map(ArchiveOrderDto::getId).toList());
+        }
+    }
+
+    private List<KwrRecordOrderWeight> build2(ArchiveOrderDto archiveOrderDto, Long id) {
+        List<WeighDto> weigh = archiveOrderDto.getWeigh();
+        if (CollUtil.isNotEmpty(weigh)) {
+            return weigh.stream().map(d -> {
+                KwrRecordOrderWeight kwrRecordOrderWeight = new KwrRecordOrderWeight();
+                kwrRecordOrderWeight.setOrderId(id);
+                kwrRecordOrderWeight.setName(d.getName());
+                kwrRecordOrderWeight.setWeight(d.getWeight());
+                kwrRecordOrderWeight.setType(d.getType());
+                kwrRecordOrderWeight.setSort(0);
+                kwrRecordOrderWeight.setCreateTime(LocalDateTime.now());
+                return kwrRecordOrderWeight;
+            }).toList();
+        }
+        return new ArrayList<>();
+
+    }
+
+    private KwrRecordOrder build(ArchiveOrderDto archiveOrderDto) {
+        KwrRecordOrder kwrRecordOrder = new KwrRecordOrder();
+        kwrRecordOrder.setEntId(0L);
+        kwrRecordOrder.setTOrderNo(archiveOrderDto.getTOrderNo());
+        kwrRecordOrder.setLOrderNo(archiveOrderDto.getLOrderNo());
+        kwrRecordOrder.setWOrderNo(archiveOrderDto.getWOrderNo());
+        kwrRecordOrder.setGoodsId(archiveOrderDto.getGoodsId());
+        kwrRecordOrder.setGoodsName(archiveOrderDto.getGoodsName());
+        kwrRecordOrder.setGoodsType(archiveOrderDto.getGoodsType());
+        kwrRecordOrder.setGoodsTypeName(archiveOrderDto.getGoodsTypeName());
+        kwrRecordOrder.setGoodsSpec(archiveOrderDto.getGoodsSpec());
+        kwrRecordOrder.setGoodsSpecName(archiveOrderDto.getGoodsSpecName());
+        EntDto agt = archiveOrderDto.getAgt();
+        EntDto sup = archiveOrderDto.getSup();
+        EntDto buy = archiveOrderDto.getBuy();
+        Optional.ofNullable(agt).ifPresent(d -> {
+            kwrRecordOrder.setAgentEntId(d.getEntId());
+            kwrRecordOrder.setAgentEntName(d.getFirmName());
+        });
+        Optional.ofNullable(sup).ifPresent(d -> {
+            kwrRecordOrder.setSupEntId(d.getEntId());
+            kwrRecordOrder.setSupEntName(d.getFirmName());
+        });
+        Optional.ofNullable(buy).ifPresent(d -> {
+            kwrRecordOrder.setProEntId(d.getEntId());
+            kwrRecordOrder.setProEntName(d.getFirmName());
+        });
+        List<ArchiveOrderDto.OrderAddress> addresses = archiveOrderDto.getAddresses();
+        if (CollUtil.isNotEmpty(addresses)) {
+            for (ArchiveOrderDto.OrderAddress address : addresses) {
+                String ads = StrUtil.blankToDefault(address.getCityName(), "") + StrUtil.blankToDefault(address.getDetailAddress(), "");
+                if (Objects.equals(address.getAddressType(), AddressTypeEnum.SHIPMENT.getCode())) {
+                    kwrRecordOrder.setLoadAddress(ads);
+                } else if (Objects.equals(address.getAddressType(), AddressTypeEnum.TAKE.getCode())) {
+                    kwrRecordOrder.setUnloadAddress(ads);
+                }
+            }
+        } else {
+            kwrRecordOrder.setLoadAddress("-");
+            kwrRecordOrder.setUnloadAddress("-");
+        }
+
+        kwrRecordOrder.setWeighCount(archiveOrderDto.getWeighCount());
+
+        kwrRecordOrder.setTruckNo(archiveOrderDto.getTruckNo());
+        kwrRecordOrder.setTruckType(TruckTypeEnum.getName(archiveOrderDto.getTruckType()));
+        kwrRecordOrder.setAxes(archiveOrderDto.getAxes());
+        kwrRecordOrder.setTaskNum(archiveOrderDto.getEntrustAmount());
+
+        kwrRecordOrder.setDataType(Objects.equals(archiveOrderDto.getAgentFlag(), 1) ? 2 : 1);
+        kwrRecordOrder.setPrice(archiveOrderDto.getPrice());
+        OrderTicketDto ticket = archiveOrderDto.getTicket();
+        if (Objects.nonNull(ticket)) {
+            kwrRecordOrder.setGrossAmount(ticket.getGrossAmount());
+            kwrRecordOrder.setTareAmount(ticket.getTareAmount());
+            kwrRecordOrder.setNetAmount(ticket.getAmount());
+        } else {
+            kwrRecordOrder.setGrossAmount(new BigDecimal("0"));
+            kwrRecordOrder.setTareAmount(new BigDecimal("0"));
+            kwrRecordOrder.setNetAmount(new BigDecimal("0"));
+        }
+        if(Objects.equals(archiveOrderDto.getArchiveFlag(),1)){
+            kwrRecordOrder.setAgentAmount(NumberUtil.mul(archiveOrderDto.getPrice(), kwrRecordOrder.getNetAmount()));//todo
+        }
+        kwrRecordOrder.setAmount(NumberUtil.mul(archiveOrderDto.getGoodsPrice(), kwrRecordOrder.getNetAmount()));
+
+        kwrRecordOrder.setDriverName(archiveOrderDto.getDriverName());
+        kwrRecordOrder.setDriverPhone(archiveOrderDto.getDriverPhone());
+        kwrRecordOrder.setSuccessTime(DateUtil.toLocalDateTime(archiveOrderDto.getTaskEndTime()));
+        kwrRecordOrder.setCreateTime(LocalDateTime.now());
+
+        return kwrRecordOrder;
+    }
+}

+ 50 - 0
sckw-modules/sckw-report/src/main/resources/mapper/KwrRecordOrderMapper.xml

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sckw.report.mapper.KwrRecordOrderMapper">
+  <resultMap id="BaseResultMap" type="com.sckw.report.entity.KwrRecordOrder">
+    <!--@mbg.generated-->
+    <!--@Table kwr_record_order-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="ent_id" jdbcType="BIGINT" property="entId" />
+    <result column="t_order_no" jdbcType="VARCHAR" property="tOrderNo" />
+    <result column="l_order_no" jdbcType="VARCHAR" property="lOrderNo" />
+    <result column="w_order_no" jdbcType="VARCHAR" property="wOrderNo" />
+    <result column="goods_id" jdbcType="BIGINT" property="goodsId" />
+    <result column="goods_name" jdbcType="VARCHAR" property="goodsName" />
+    <result column="goods_type" jdbcType="VARCHAR" property="goodsType" />
+    <result column="goods_type_name" jdbcType="VARCHAR" property="goodsTypeName" />
+    <result column="goods_sepc" jdbcType="VARCHAR" property="goodsSepc" />
+    <result column="goods_sepc_name" jdbcType="VARCHAR" property="goodsSepcName" />
+    <result column="sup_ent_id" jdbcType="BIGINT" property="supEntId" />
+    <result column="sup_ent_name" jdbcType="VARCHAR" property="supEntName" />
+    <result column="pro_ent_id" jdbcType="BIGINT" property="proEntId" />
+    <result column="pro_ent_name" jdbcType="VARCHAR" property="proEntName" />
+    <result column="agent_ent_id" jdbcType="BIGINT" property="agentEntId" />
+    <result column="agent_ent_name" jdbcType="VARCHAR" property="agentEntName" />
+    <result column="load_address" jdbcType="VARCHAR" property="loadAddress" />
+    <result column="unload_address" jdbcType="VARCHAR" property="unloadAddress" />
+    <result column="truck_no" jdbcType="VARCHAR" property="truckNo" />
+    <result column="axes" jdbcType="VARCHAR" property="axes" />
+    <result column="task_num" jdbcType="DECIMAL" property="taskNum" />
+    <result column="weigh_count" jdbcType="INTEGER" property="weighCount" />
+    <result column="data_type" jdbcType="TINYINT" property="dataType" />
+    <result column="price" jdbcType="DECIMAL" property="price" />
+    <result column="agent_amount" jdbcType="DECIMAL" property="agentAmount" />
+    <result column="amount" jdbcType="DECIMAL" property="amount" />
+    <result column="gross_amount" jdbcType="DECIMAL" property="grossAmount" />
+    <result column="tare_amount" jdbcType="DECIMAL" property="tareAmount" />
+    <result column="net_amount" jdbcType="DECIMAL" property="netAmount" />
+    <result column="driver_name" jdbcType="VARCHAR" property="driverName" />
+    <result column="driver_phone" jdbcType="VARCHAR" property="driverPhone" />
+    <result column="success_time" jdbcType="TIMESTAMP" property="successTime" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, ent_id, t_order_no, l_order_no, w_order_no, goods_id, goods_name, goods_type,
+    goods_type_name, goods_sepc, goods_sepc_name, sup_ent_id, sup_ent_name, pro_ent_id,
+    pro_ent_name, agent_ent_id, agent_ent_name, load_address, unload_address, truck_no,
+    axes, task_num, weigh_count, data_type, price, agent_amount, amount, gross_amount,
+    tare_amount, net_amount, driver_name, driver_phone, success_time, create_time
+  </sql>
+</mapper>

+ 19 - 0
sckw-modules/sckw-report/src/main/resources/mapper/KwrRecordOrderWeightMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sckw.report.mapper.KwrRecordOrderWeightMapper">
+  <resultMap id="BaseResultMap" type="com.sckw.report.entity.KwrRecordOrderWeight">
+    <!--@mbg.generated-->
+    <!--@Table kwr_record_order_weight-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="order_id" jdbcType="BIGINT" property="orderId" />
+    <result column="name" jdbcType="VARCHAR" property="name" />
+    <result column="weight" jdbcType="DECIMAL" property="weight" />
+    <result column="type" jdbcType="TINYINT" property="type" />
+    <result column="sort" jdbcType="INTEGER" property="sort" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, order_id, `name`, weight, `type`, sort, create_time
+  </sql>
+</mapper>

+ 0 - 51
sckw-modules/sckw-report/src/test/java/com/sckw/report/SckwTradeOrderTest.java

@@ -1,51 +0,0 @@
-package com.sckw.report;
-
-import com.sckw.mongo.model.SckwTradeOrder;
-import com.sckw.report.dao.SckwTradeOrderRepository;
-import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author zk
- * @desc 贸易订单测试
- * @date 2023/7/8 0008
- */
-@SpringBootTest
-public class SckwTradeOrderTest {
-    @Autowired
-    SckwTradeOrderRepository tradeOrderRepository;
-
-    /**
-     * 插入单条数据
-     */
-    @Test
-    public void insertOne() {
-        SckwTradeOrder order = new SckwTradeOrder();
-        order.setTOrderId(System.currentTimeMillis());
-        order.setTOrderNo("O" + order.getTOrderId());
-        tradeOrderRepository.insert(order);
-    }
-
-    /**
-     * 插入多条数据
-     */
-    @Test
-    public void insertMany() {
-        List<SckwTradeOrder> list = new ArrayList<SckwTradeOrder>();
-        Long begtime = System.currentTimeMillis();
-        for (int i=0; i<10000; i++) {
-            SckwTradeOrder order = new SckwTradeOrder();
-            order.setTOrderId(System.currentTimeMillis() + i);
-            order.setTOrderNo("O" + order.getTOrderId());
-            list.add(order);
-        }
-        tradeOrderRepository.insert(list);
-        Long enttime = System.currentTimeMillis();
-        System.out.println("------------------"+(enttime - begtime));
-    }
-
-
-}

+ 19 - 3
sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java

@@ -1,10 +1,12 @@
 package com.sckw.system.dubbo;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.sckw.core.common.enums.enums.ErrorCodeEnum;
 import com.sckw.core.exception.BusinessPlatfromException;
 import com.sckw.core.model.constant.Global;
@@ -17,6 +19,7 @@ import com.sckw.system.api.model.dto.req.ActualDisPatchDto;
 import com.sckw.system.api.model.dto.req.SingleTripTotalTimeDto;
 import com.sckw.system.api.model.dto.res.*;
 import com.sckw.system.dao.KwsRoleDao;
+import com.sckw.system.dao.KwsWeighbridgeDao;
 import com.sckw.system.dao.SysDictDao;
 import com.sckw.system.model.*;
 import com.sckw.system.model.vo.res.FindAreaTreeResVo;
@@ -63,6 +66,8 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
     private final KwsRoleDao kwsRoleDao;
     private final KwsEntTypeRepository kwsEntTypeRepository;
     private final KwsUserRepository kwsUserRepository;
+    @Resource
+    private KwsWeighbridgeDao kwsWeighbridgeDao;
 
     /**
      * @param keys type#value,type#value
@@ -168,10 +173,10 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
 
         // 将实体对象转换为DTO对象
         List<SysDictResDto> result = BeanUtils.copyToList(sysDictList, SysDictResDto.class);
-        
+
         // 记录成功日志,包含查询到的数据数量
         log.debug("成功从数据库查询到类型为 {} 的字典数据,数量: {}", type, result.size());
-        
+
         return result;
     }
 
@@ -1144,7 +1149,7 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
 
     @Override
     public KwsUserResDto queryByAccount(String account) {
-        KwsUser kwsUser = kwsUserRepository.queryByAccount( account);
+        KwsUser kwsUser = kwsUserRepository.queryByAccount(account);
         if (kwsUser != null) {
             KwsUserResDto kwsUserResDto = new KwsUserResDto();
             BeanUtil.copyProperties(kwsUser, kwsUserResDto);
@@ -1153,6 +1158,17 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
         return null;
     }
 
+    @Override
+    public List<KwsWeighDto> queryWeigh(List<Long> list) {
+        List<KwsWeighbridge> kwsWeighbridges = kwsWeighbridgeDao.selectList(Wrappers.lambdaQuery(KwsWeighbridge.class)
+                .in(KwsWeighbridge::getId, list)
+                .eq(KwsWeighbridge::getDelFlag, 0));
+        if (CollUtil.isNotEmpty(kwsWeighbridges)) {
+            return BeanUtil.copyToList(kwsWeighbridges, KwsWeighDto.class);
+        }
+        return List.of();
+    }
+
     /**
      * 平台单趟耗时
      *

+ 172 - 13
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dubbo/TransportServiceImpl.java

@@ -3,6 +3,7 @@ package com.sckw.transport.dubbo;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.date.LocalDateTimeUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -29,12 +30,14 @@ import com.sckw.fleet.api.model.vo.RTruckVo;
 import com.sckw.manage.api.RemoteManageService;
 import com.sckw.manage.api.model.dto.res.LineFreightAddressRes;
 import com.sckw.order.api.dubbo.TradeOrderInfoService;
+import com.sckw.product.api.dubbo.GoodsInfoService;
+import com.sckw.product.api.model.GoodsDetails;
 import com.sckw.redis.constant.RedisConstant;
 import com.sckw.system.api.RemoteSystemService;
+import com.sckw.system.api.model.dto.res.KwsWeighDto;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.transport.api.dubbo.TransportRemoteService;
-import com.sckw.transport.api.model.dto.AcceptCarriageLogisticsOrderDto;
-import com.sckw.transport.api.model.dto.RWaybillOrderDto;
+import com.sckw.transport.api.model.dto.*;
 import com.sckw.transport.api.model.param.*;
 import com.sckw.transport.api.model.vo.*;
 import com.sckw.transport.dao.*;
@@ -85,7 +88,6 @@ import java.util.stream.Collectors;
 public class TransportServiceImpl implements TransportRemoteService {
 
 
-
     @DubboReference(version = "1.0.0", group = "design", check = false)
     RemoteSystemService remoteSystemService;
 
@@ -94,7 +96,8 @@ public class TransportServiceImpl implements TransportRemoteService {
 
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 6000)
     private TradeOrderInfoService tradeOrderInfoService;
-
+    @DubboReference(version = "1.0.0", group = "design", check = false)
+    private GoodsInfoService goodsInfoService;
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 6000)
     RemoteFleetService remoteFleetService;
 
@@ -124,12 +127,16 @@ public class TransportServiceImpl implements TransportRemoteService {
 
     @Autowired
     private KwtLogisticsOrderLineFreightRateMapper lineFreightRateMapper;
-
+    @Resource
+    private KwtWaybillOrderAddressMapper kwtWaybillOrderAddressMapper;
+    @Resource
+    private KwtWaybillOrderTicketMapper kwtWaybillOrderTicketMapper;
     @Autowired
     private KwtWaybillOrderTrackMapper waybillOrderTrackDao;
     @Resource
     private KwtWaybillOrderRepository waybillOrderRepository;
-
+    @Resource
+    private KwtWaybillOrderWeighbridgeMapper kwtWaybillOrderWeighbridgeMapper;
     private final KwtWaybillOrderSubtaskRepository waybillOrderSubtaskRepository;
     private final KwtLogisticsOrderRepository logisticsOrderRepository;
     private final KwtLogisticsOrderUnitRepository logisticsOrderUnitRepository;
@@ -178,7 +185,6 @@ public class TransportServiceImpl implements TransportRemoteService {
     }
 
 
-
     /**
      * 含税金额计算
      *
@@ -293,7 +299,6 @@ public class TransportServiceImpl implements TransportRemoteService {
 //    }
 
 
-
     /**
      * 根据企业id查询是否存在有未完结的物流订单
      *
@@ -354,8 +359,6 @@ public class TransportServiceImpl implements TransportRemoteService {
     }
 
 
-
-
     /**
      * @param params 参数
      * @desc 查询车辆运单
@@ -1247,11 +1250,11 @@ public class TransportServiceImpl implements TransportRemoteService {
     }
 
     @Override
-    public Long queryLogisticsCount(Long entId,Integer type) {
+    public Long queryLogisticsCount(Long entId, Integer type) {
         QueryLogisticsOrderReq queryLogisticsOrderReq = new QueryLogisticsOrderReq();
-        if(Objects.equals(type,3)){
+        if (Objects.equals(type, 3)) {
             queryLogisticsOrderReq.setCarriageCompanyId(String.valueOf(entId));
-        }else {
+        } else {
             queryLogisticsOrderReq.setConsignCompanyId(String.valueOf(entId));
         }
         OrderStatusStatisticsResp orderStatusStatisticsResp = logisticsConsignmentService.orderStatusStatistics(queryLogisticsOrderReq);
@@ -1428,4 +1431,160 @@ public class TransportServiceImpl implements TransportRemoteService {
         }).collect(Collectors.toList());
     }
 
+    @Override
+    public List<ArchiveOrderDto> queryArchiveOrder(Integer limit) {
+        List<KwtWaybillOrder> kwtWaybillOrders = kwtWaybillOrderMapper.selectList(Wrappers.lambdaQuery(KwtWaybillOrder.class)
+                .eq(KwtWaybillOrder::getArchiveFlag, 0)
+                .eq(KwtWaybillOrder::getDelFlag, 0)
+                .eq(KwtWaybillOrder::getStatus, CarWaybillV1Enum.COMPLETED.getCode())
+                .last("limit " + limit));
+        if (CollUtil.isEmpty(kwtWaybillOrders)) {
+            return new ArrayList<>();
+        }
+        List<ArchiveOrderDto> archiveOrderDtos = BeanUtil.copyToList(kwtWaybillOrders, ArchiveOrderDto.class);
+
+        List<Long> ids = new ArrayList<>();//物流运单id
+        List<Long> lids = new ArrayList<>();//物流订单id
+        List<Long> tids = new ArrayList<>();//车辆id
+        for (ArchiveOrderDto archiveOrderDto : archiveOrderDtos) {
+            ids.add(archiveOrderDto.getId());
+            lids.add(archiveOrderDto.getLOrderId());
+            tids.add(archiveOrderDto.getTruckId());
+        }
+        //物流订单
+        List<KwtLogisticsOrder> kwtLogisticsOrders = logisticsOrderMapper.selectList(Wrappers.lambdaQuery(KwtLogisticsOrder.class)
+                .select(KwtLogisticsOrder::getTOrderId, KwtLogisticsOrder::getLOrderNo, KwtLogisticsOrder::getTOrderNo)
+                .in(KwtLogisticsOrder::getId, lids));
+        Map<Long, KwtLogisticsOrder> lmap = kwtLogisticsOrders.stream().collect(Collectors.toMap(KwtLogisticsOrder::getId, Function.identity(), (a, b) -> a));
+        //商品
+        List<KwtLogisticsOrderGoods> kwtLogisticsOrderGoods = logisticsOrderGoodsMapper.selectList(Wrappers.lambdaQuery(KwtLogisticsOrderGoods.class)
+                .select(KwtLogisticsOrderGoods::getGoodsId, KwtLogisticsOrderGoods::getLOrderNo, KwtLogisticsOrderGoods::getGoodsName, KwtLogisticsOrderGoods::getGoodsType)
+                .in(KwtLogisticsOrderGoods::getLOrderId, lids));
+        Map<Long, Long> godmap = kwtLogisticsOrderGoods.stream().collect(Collectors.toMap(KwtLogisticsOrderGoods::getLOrderId, KwtLogisticsOrderGoods::getGoodsId, (a, b) -> a));
+        List<Long> goodsId = kwtLogisticsOrderGoods.stream().map(KwtLogisticsOrderGoods::getGoodsId).distinct().toList();
+        Map<Long, GoodsDetails> goodsMap = goodsInfoService.getDetailMap(goodsId);
+        //子运单
+        List<KwtWaybillOrderSubtask> kwtWaybillOrderSubtasks = waybillOrderSubtaskMapper.selectList(Wrappers.lambdaQuery(KwtWaybillOrderSubtask.class)
+                .select(KwtWaybillOrderSubtask::getWOrderId, KwtWaybillOrderSubtask::getLOrderId, KwtWaybillOrderSubtask::getWOrderNo,
+                        KwtWaybillOrderSubtask::getEntrustAmount, KwtWaybillOrderSubtask::getUnloadAmount, KwtWaybillOrderSubtask::getLoadAmount)
+                .in(KwtWaybillOrderSubtask::getWOrderId, ids));
+        Map<Long, KwtWaybillOrderSubtask> subtaskMap = kwtWaybillOrderSubtasks.stream().collect(Collectors.toMap(KwtWaybillOrderSubtask::getWOrderId, Function.identity(), (a, b) -> a));
+        //物流订单企业
+        List<KwtLogisticsOrderUnit> kwtLogisticsOrderUnits = logisticsOrderUnitMapper.selectList(Wrappers.lambdaQuery(KwtLogisticsOrderUnit.class)
+                .select(KwtLogisticsOrderUnit::getId, KwtLogisticsOrderUnit::getLOrderId, KwtLogisticsOrderUnit::getEntId,
+                        KwtLogisticsOrderUnit::getFirmName,
+                        KwtLogisticsOrderUnit::getContacts,
+                        KwtLogisticsOrderUnit::getPhone,
+                        KwtLogisticsOrderUnit::getUnitType)
+                .in(KwtLogisticsOrderUnit::getLOrderId, lids));
+        Map<Long, List<KwtLogisticsOrderUnit>> unitMap = kwtLogisticsOrderUnits.stream().collect(Collectors.groupingBy(KwtLogisticsOrderUnit::getLOrderId));
+
+        //运单地址
+        List<KwtWaybillOrderAddress> kwtWaybillOrderAddresses = kwtWaybillOrderAddressMapper.selectList(Wrappers.lambdaQuery(KwtWaybillOrderAddress.class)
+                .in(KwtWaybillOrderAddress::getWOrderId, ids));
+        Map<Long, List<KwtWaybillOrderAddress>> addressMap = kwtWaybillOrderAddresses.stream().collect(Collectors.groupingBy(KwtWaybillOrderAddress::getWOrderId));
+        //榜单
+        List<KwtWaybillOrderTicket> kwtWaybillOrderTickets = kwtWaybillOrderTicketMapper.selectList(Wrappers.lambdaQuery(KwtWaybillOrderTicket.class)
+                .in(KwtWaybillOrderTicket::getWOrderId, ids));
+        Map<Long, List<KwtWaybillOrderTicket>> ticketMap = kwtWaybillOrderTickets.stream().collect(Collectors.groupingBy(KwtWaybillOrderTicket::getWOrderId));
+        //地磅
+        List<KwtWaybillOrderWeighbridge> kwtWaybillOrderWeighbridges = kwtWaybillOrderWeighbridgeMapper.selectList(Wrappers.lambdaQuery(KwtWaybillOrderWeighbridge.class)
+                .in(KwtWaybillOrderWeighbridge::getWOrderId, ids));
+        Map<Long, List<KwtWaybillOrderWeighbridge>> weighMap = kwtWaybillOrderWeighbridges.stream().collect(Collectors.groupingBy(KwtWaybillOrderWeighbridge::getWOrderId));
+
+        //车辆
+        List<RTruckVo> truckByTruckIds = remoteFleetService.findTruckByTruckIds(tids);
+        Map<Long, RTruckVo> tMap = truckByTruckIds.stream().collect(Collectors.toMap(RTruckVo::getId, Function.identity(), (a, b) -> a));
+
+        for (ArchiveOrderDto archiveOrderDto : archiveOrderDtos) {
+            Long id = archiveOrderDto.getId();//物流运单id
+            Long lOrderId = archiveOrderDto.getLOrderId();//物流订单id
+            KwtLogisticsOrder kwtLogisticsOrder = lmap.get(lOrderId);
+            if (Objects.nonNull(kwtLogisticsOrder)) {
+                archiveOrderDto.setLOrderNo(kwtLogisticsOrder.getLOrderNo());
+                archiveOrderDto.setTOrderNo(kwtLogisticsOrder.getTOrderNo());
+                archiveOrderDto.setPrice(kwtLogisticsOrder.getPrice());
+                archiveOrderDto.setGoodsPrice(kwtLogisticsOrder.getGoodsPrice());
+            }
+
+            List<KwtWaybillOrderWeighbridge> kwtWaybillOrderWeighbridges1 = weighMap.get(id);
+            if (CollUtil.isNotEmpty(kwtWaybillOrderWeighbridges1)) {
+                archiveOrderDto.setWeighCount(kwtWaybillOrderWeighbridges1.size());
+                List<KwsWeighDto> kwsWeighDtos = remoteSystemService.queryWeigh(kwtWaybillOrderWeighbridges1.stream().map(KwtWaybillOrderWeighbridge::getWeighbridgeId).distinct().toList());
+                Map<Long, String> map = kwsWeighDtos.stream().collect(Collectors.toMap(KwsWeighDto::getId, KwsWeighDto::getWeighbridgeName));
+                archiveOrderDto.setWeigh(kwtWaybillOrderWeighbridges1.stream().map(d -> {
+                    WeighDto bean = BeanUtil.toBean(d, WeighDto.class);
+                    bean.setCreateTime(LocalDateTimeUtil.of(d.getCreateTime()));
+                    bean.setName(map.get(d.getWeighbridgeId()));
+                    return bean;
+                }).toList());
+            }
+
+            RTruckVo rTruckVo = tMap.get(archiveOrderDto.getTruckId());
+            if(Objects.nonNull(rTruckVo)){
+                archiveOrderDto.setTruckType(Integer.parseInt(rTruckVo.getTruckType()));
+                archiveOrderDto.setAxes(rTruckVo.getCarAxis());
+            }
+            KwtWaybillOrderSubtask kwtWaybillOrderSubtask = subtaskMap.get(id);
+            if (Objects.nonNull(kwtWaybillOrderSubtask)) {
+                archiveOrderDto.setEntrustAmount(kwtWaybillOrderSubtask.getEntrustAmount());
+                archiveOrderDto.setLoadAmount(kwtWaybillOrderSubtask.getLoadAmount());
+                archiveOrderDto.setUnloadAmount(kwtWaybillOrderSubtask.getUnloadAmount());
+            }
+
+            Long l = godmap.get(lOrderId);
+            if (Objects.nonNull(l)) {
+                GoodsDetails kwpGoods = goodsMap.get(l);
+                if (Objects.nonNull(kwpGoods)) {
+                    archiveOrderDto.setGoodsId(kwpGoods.getId());
+                    archiveOrderDto.setGoodsName(kwpGoods.getName());
+                    archiveOrderDto.setGoodsType(kwpGoods.getName());
+                    archiveOrderDto.setGoodsTypeName(kwpGoods.getGoodsTypeLabel());
+                    archiveOrderDto.setGoodsSpec(kwpGoods.getSpec());
+                    archiveOrderDto.setGoodsSpecName(kwpGoods.getSpecLabel());
+                }
+            }
+            List<KwtLogisticsOrderUnit> kwtLogisticsOrderUnits1 = unitMap.get(lOrderId);
+            if (CollUtil.isNotEmpty(kwtLogisticsOrderUnits1)) {
+                Map<Integer, KwtLogisticsOrderUnit> unitMap1 = kwtLogisticsOrderUnits1.stream().collect(Collectors.toMap(KwtLogisticsOrderUnit::getUnitType, Function.identity(), (a, b) -> a));
+                KwtLogisticsOrderUnit agt = unitMap1.get(4);
+                if (Objects.nonNull(agt)) {
+                    archiveOrderDto.setAgt(BeanUtil.toBean(agt, EntDto.class));
+                }
+                KwtLogisticsOrderUnit buy = unitMap1.get(5);
+                if (Objects.nonNull(buy)) {
+                    archiveOrderDto.setBuy(BeanUtil.toBean(buy, EntDto.class));
+                }
+                KwtLogisticsOrderUnit sup = unitMap1.get(6);
+                if (Objects.nonNull(sup)) {
+                    archiveOrderDto.setSup(BeanUtil.toBean(sup, EntDto.class));
+                }
+            }
+
+            List<KwtWaybillOrderTicket> kwtWaybillOrderTickets1 = ticketMap.get(id);
+            if (CollUtil.isNotEmpty(kwtWaybillOrderTickets1)) {
+                for (KwtWaybillOrderTicket kwtWaybillOrderTicket : kwtWaybillOrderTickets1) {
+                    if (Objects.equals(kwtWaybillOrderTicket.getType(), 1)) {
+                        archiveOrderDto.setTicket(BeanUtil.toBean(kwtWaybillOrderTicket, OrderTicketDto.class));
+                    }
+                }
+            }
+
+            List<KwtWaybillOrderAddress> kwtWaybillOrderAddresses1 = addressMap.get(id);
+            if (CollUtil.isNotEmpty(kwtWaybillOrderAddresses1)) {
+                List<ArchiveOrderDto.OrderAddress> list = kwtWaybillOrderAddresses1.stream().map(d -> BeanUtil.toBean(d, ArchiveOrderDto.OrderAddress.class)).toList();
+                archiveOrderDto.setAddresses(list);
+            }
+        }
+        return archiveOrderDtos;
+    }
+
+    @Override
+    public void saveArchiveOrder(List<Long> id) {
+        KwtWaybillOrder kwtWaybillOrder = new KwtWaybillOrder();
+        kwtWaybillOrder.setArchiveFlag(1);
+        kwtWaybillOrder.setUpdateTime(new Date());
+        kwtWaybillOrderMapper.update(kwtWaybillOrder, Wrappers.lambdaUpdate(KwtWaybillOrder.class).in(KwtWaybillOrder::getId, id));
+    }
+
 }

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

@@ -24,7 +24,7 @@ public class KwtLogisticsOrderUnit implements Serializable {
     private Long id;
 
     /**
-     * 交易订单id
+     * 物流订单id
      */
     private Long lOrderId;
 
@@ -92,4 +92,4 @@ public class KwtLogisticsOrderUnit implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-}
+}

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

@@ -149,6 +149,7 @@ public class KwtWaybillOrder implements Serializable {
      * 更新时间
      */
     private Date updateTime;
+    private Integer archiveFlag;
 
     /**
      * 是否删除(0未删除,1删除)