Просмотр исходного кода

修改采购订单/销售订单-获取托运订单列表数据
修改采购订单-获取车辆信息

lengfaqiang 2 лет назад
Родитель
Сommit
110153369d

+ 1 - 1
sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/model/OrderDetailRes.java

@@ -108,7 +108,7 @@ public class OrderDetailRes implements Serializable {
     private BigDecimal actualAmount;
 
     /**
-     * 订单创建来源类型(采购下单/销售代客下单)
+     * 订单创建来源类型(1采购下单/2销售代客下单)
      */
     private String source;
 

+ 2 - 2
sckw-modules/sckw-contract/src/main/resources/bootstrap-dev.yml

@@ -5,7 +5,7 @@ spring:
         # 服务注册地址
         server-addr: 10.10.10.230:8848
         # 命名空间
-        namespace: sckw-service-platform-dev
+        namespace: sckw_lfdc
         # 共享配置
         group: sckw-service-platform
       config:
@@ -14,7 +14,7 @@ spring:
         # 配置文件格式
         file-extension: yaml
         # 命名空间
-        namespace: sckw-service-platform-dev
+        namespace: sckw_lfdc
         # 共享配置
         group: sckw-service-platform
         #可以读多个配置文件  需要在同一个命名空间下面可以是不同的组

+ 1 - 1
sckw-modules/sckw-contract/src/main/resources/bootstrap.yml

@@ -5,7 +5,7 @@ spring:
   application:
     name: sckw-contract
   profiles:
-    active: @profiles.active@
+    active: dev
   main:
     allow-bean-definition-overriding: true
     allow-circular-references: true

+ 2 - 2
sckw-modules/sckw-order/src/main/resources/bootstrap-dev.yml

@@ -5,7 +5,7 @@ spring:
         # 服务注册地址
         server-addr: 10.10.10.230:8848
         # 命名空间
-        namespace: sckw-service-platform-dev
+        namespace: sckw_lfdc
         # 共享配置
         group: sckw-service-platform
       config:
@@ -14,7 +14,7 @@ spring:
         # 配置文件格式
         file-extension: yaml
         # 命名空间
-        namespace: sckw-service-platform-dev
+        namespace: sckw_lfdc
         # 共享配置
         group: sckw-service-platform
         #可以读多个配置文件  需要在同一个命名空间下面可以是不同的组

+ 2 - 2
sckw-modules/sckw-product/src/main/resources/bootstrap-dev.yml

@@ -5,7 +5,7 @@ spring:
         # 服务注册地址
         server-addr: 10.10.10.230:8848
         # 命名空间
-        namespace: sckw-service-platform-dev
+        namespace: sckw_lfdc
         # 共享配置
         group: sckw-service-platform
       config:
@@ -14,7 +14,7 @@ spring:
         # 配置文件格式
         file-extension: yaml
         # 命名空间
-        namespace: sckw-service-platform-dev
+        namespace: sckw_lfdc
         # 共享配置
         group: sckw-service-platform
         #可以读多个配置文件  需要在同一个命名空间下面可以是不同的组

+ 9 - 9
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/LogisticsConsignmentController.java

@@ -54,16 +54,16 @@ public class LogisticsConsignmentController {
     /**
      * 采购订单-托运订单列表-销售订单id
      *
-     * @param id 销售订单id
+     * @param ids 销售订单id
      * @return
      */
     @RequestMapping(value = "/purchaseLogisticsOrder", method = RequestMethod.GET)
-    public HttpResult purchaseLogisticsOrder(@RequestParam("id") @NotBlank(message = "单据id不能为空") String id,
+    public HttpResult purchaseLogisticsOrder(@RequestParam("ids") @NotBlank(message = "单据id不能为空") String ids,
                                              @RequestParam("page") @NotNull(message = "当前页不能为空") int page,
                                              @RequestParam("pageSize") @NotNull(message = "每页条数不能为空") int pageSize) {
-        log.info("采购订单-托运订单列表 传递参数信息:{}", id);
+        log.info("采购订单-托运订单列表 传递参数信息:{}", ids);
         try {
-            return logisticsConsignmentService.logisticsOrder(id, page, pageSize, "1");
+            return logisticsConsignmentService.logisticsOrder(ids, page, pageSize, "1");
         } catch (Exception e) {
             log.error("采购订单-托运订单列表 error :{}", e.getMessage(), e);
             return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
@@ -108,21 +108,21 @@ public class LogisticsConsignmentController {
     }
 
     /**
-     * 采购订单-车辆详情-销售订单id
+     * 采购订单-车辆信息-销售订单id
      *
-     * @param id       销售订单id
+     * @param ids       销售订单ids
      * @param page
      * @param pageSize
      * @return
      */
     @Validated
     @RequestMapping(value = "/purchaseLogisticsCar", method = RequestMethod.GET)
-    public HttpResult purchaseLogisticsCar(@RequestParam("id") @NotBlank(message = "单据id不能为空") String id,
+    public HttpResult purchaseLogisticsCar(@RequestParam("ids") @NotBlank(message = "单据id不能为空") String ids,
                                            @RequestParam("page") @NotNull(message = "当前页不能为空") int page,
                                            @RequestParam("pageSize") @NotNull(message = "每页条数不能为空") int pageSize) {
-        log.info("采购订单-车辆详情 传递参数信息:{}", id);
+        log.info("采购订单-车辆详情 传递参数信息:{}", ids);
         try {
-            return logisticsConsignmentService.purchaseLogisticsCar(id, page, pageSize);
+            return logisticsConsignmentService.purchaseLogisticsCar(ids, page, pageSize);
         } catch (Exception e) {
             log.error("采购订单-车辆详情 error :{}", e.getMessage(), e);
             return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());

+ 12 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderMapper.java

@@ -48,13 +48,24 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
 
     /**
      * 销售订单-采购订单-托运详情
-     *
      * @param id
+     * @param page
+     * @param pageSize
+     * @param type
      * @return
      */
     List<com.sckw.transport.model.dto.LogisticsOrderDTO> selectOrderList(@Param("id") String id, @Param("page") int page,
                                                                          @Param("pageSize") int pageSize,@Param("type") String type);
 
+    /**
+     * 销售订单-采购订单-托运详情
+     *
+     * @param id
+     * @param type
+     * @return
+     */
+    List<com.sckw.transport.model.dto.LogisticsOrderDTO> selectOrderListNotPage(@Param("id") String id, @Param("type") String type);
+
     /**
      * 销售订单-采购订单-托运列表-数据统计
      *

+ 7 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtWaybillOrderMapper.java

@@ -107,4 +107,11 @@ public interface KwtWaybillOrderMapper extends BaseMapper<KwtWaybillOrder> {
      * @date 2023/8/1
      **/
     List<WaybillOrderDriverVo> findOtherWaybillOrderByDriver(Map params);
+
+    /**
+     *
+     * @param id
+     * @return
+     */
+    List<OrderCarDTO> selectWaybillOrderCarListNotPage(@Param("id") String id);
 }

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

@@ -536,28 +536,77 @@ public class LogisticsConsignmentService {
     }
 
     /**
-     * 销售订单-采购订单-获取托运订单数据
+     * 采购订单-获取托运订单数据
      *
-     * @param id       销售订单id
+     * @param ids      销售订单ids
      * @param page     当前页
      * @param pageSize 每页条数
      * @param type     属于采购(1)还是销售(2)
      * @return
      */
-    public HttpResult logisticsOrder(String id, Integer page, Integer pageSize, String type) {
+    public HttpResult logisticsOrder(String ids, Integer page, Integer pageSize, String type) {
         HttpResult httpResult = new HttpResult();
         if (String.valueOf(NumberConstant.ONE).equals(type)) {
             //采购
-            httpResult = logisticsOrderList(id, page, pageSize, type);
+            httpResult = logisticsOrderList(ids, page, pageSize, type);
         } else if (String.valueOf(NumberConstant.TWO).equals(type)) {
             //销售
-            httpResult = logisticsOrderList(id, page, pageSize, type);
+            httpResult = logisticsSellOrderList(ids, page, pageSize, type);
         } else {
             return HttpResult.error("单据类型错误");
         }
         return httpResult;
     }
 
+    /**
+     * 销售订单-获取托运订单数据
+     *
+     * @param ids
+     * @param page
+     * @param pageSize
+     * @param type
+     * @return
+     */
+    private HttpResult logisticsSellOrderList(String ids, Integer page, Integer pageSize, String type) {
+        List<String> stringList = StringUtils.splitStrToList(ids, String.class);
+        if (CollectionUtils.isEmpty(stringList)) {
+            return HttpResult.ok();
+        }
+        List<LogisticsOrderDTO> returnList = new ArrayList<>();
+        for (String id : stringList) {
+            OrderDetailRes orderDetailRes = tradeOrderInfoService.getOrderDetailById(Long.parseLong(id));
+            /**
+             * 1销售展示是供应配送  0采购展示是采购自提
+             * 根据提货方式(1供应配送/0采购自提)
+             * 决定托运数据是否展示
+             *
+             */
+            boolean flag = false;
+            if (String.valueOf(NumberConstant.ONE).equals(orderDetailRes.getPickupType())) {
+                flag = true;
+            }
+            List<LogisticsOrderDTO> list = new ArrayList<>();
+            if (flag) {
+                /**数据展示*/
+                list = kwtLogisticsOrderMapper.selectOrderListNotPage(id, type);
+                if (CollectionUtils.isNotEmpty(list)) {
+                    for (LogisticsOrderDTO logisticsOrderDTO : list) {
+                        logisticsOrderDTO.setStatus(LogisticsOrderEnum.getDestination(logisticsOrderDTO.getStatus()));
+                    }
+                    returnList.addAll(list);
+                }
+            }
+        }
+        /**基于多个传递数据查询->手动分页*/
+        List<LogisticsOrderDTO> subList = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(returnList)) {
+            subList = returnList.stream().skip((page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
+        }
+
+        PageResult build = PageResult.build(page, pageSize, returnList.stream().count(), subList);
+        return HttpResult.ok(build);
+    }
+
     /**
      * 采购订单/销售订单-托运订单列表-下方数据统计
      *
@@ -601,37 +650,49 @@ public class LogisticsConsignmentService {
     }
 
     /**
-     * 销售订单-采购订单-获取托运订单数据
+     * 采购订单-获取托运订单数据
      *
-     * @param id       销售订单id
+     * @param ids      销售订单id
      * @param page     当前页
      * @param pageSize 每页条数
      * @param type     属于采购(1)还是销售(2)
      * @return
      */
-    private HttpResult logisticsOrderList(String id, Integer page, Integer pageSize, String type) {
-        OrderDetailRes orderDetailRes = tradeOrderInfoService.getOrderDetailById(Long.parseLong(id));
-        /**根据下单方式(代客下单/自主下单)决定托运数据是否展示*/
-        boolean flag = false;
-        if (String.valueOf(NumberConstant.ONE).equals(orderDetailRes.getSource())) {
-            flag = true;
-        } else if (String.valueOf(NumberConstant.TWO).equals(orderDetailRes.getSource())) {
-            flag = true;
-        } else {
-            throw new RuntimeException("获取贸易订单下单方式异常!");
+    private HttpResult logisticsOrderList(String ids, Integer page, Integer pageSize, String type) {
+        List<String> stringList = StringUtils.splitStrToList(ids, String.class);
+        if (CollectionUtils.isEmpty(stringList)) {
+            return HttpResult.ok();
         }
-        List<LogisticsOrderDTO> list = new ArrayList<>();
-        PageResult build = PageResult.build(page, pageSize, 0L, list);
-        if (flag) {
-            /**数据展示*/
-            Long count = getLogisticsOrderCount(id, type);
-            Integer newPage = page - 1;
-            list = getLogisticsOrderData(id, newPage, pageSize, type);
-            for (LogisticsOrderDTO logisticsOrderDTO : list) {
-                logisticsOrderDTO.setStatus(LogisticsOrderEnum.getDestination(logisticsOrderDTO.getStatus()));
+        List<LogisticsOrderDTO> returnList = new ArrayList<>();
+        for (String id : stringList) {
+            OrderDetailRes orderDetailRes = tradeOrderInfoService.getOrderDetailById(Long.parseLong(id));
+            /**
+             * 1销售展示是供应配送  0采购展示是采购自提
+             * 根据提货方式(1供应配送/0采购自提)
+             * 决定托运数据是否展示
+             *
+             */
+            boolean flag = false;
+            if (String.valueOf(NumberConstant.ZERO).equals(orderDetailRes.getPickupType())) {
+                flag = true;
             }
-            build = PageResult.build(page, pageSize, count, list);
+            List<LogisticsOrderDTO> list = new ArrayList<>();
+            if (flag) {
+                /**数据展示*/
+                list = kwtLogisticsOrderMapper.selectOrderListNotPage(id, type);
+                if (CollectionUtils.isNotEmpty(list)) {
+                    for (LogisticsOrderDTO logisticsOrderDTO : list) {
+                        logisticsOrderDTO.setStatus(LogisticsOrderEnum.getDestination(logisticsOrderDTO.getStatus()));
+                    }
+                    returnList.addAll(list);
+                }
+            }
+        }
+        List<LogisticsOrderDTO> subList = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(returnList)) {
+            subList = returnList.stream().skip((page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
         }
+        PageResult build = PageResult.build(page, pageSize, returnList.stream().count(), subList);
         return HttpResult.ok(build);
     }
 
@@ -647,19 +708,59 @@ public class LogisticsConsignmentService {
         return list;
     }
 
+//    /**
+//     * 采购订单获取车辆信息
+//     *
+//     * @param id
+//     * @param page
+//     * @param pageSize
+//     * @return
+//     */
+//    public HttpResult purchaseLogisticsCar(String id, Integer page, Integer pageSize) {
+//        Long count = getLogisticsCarDataCount(id);
+//        Integer newPage = page - 1;
+//        List<OrderCarDTO> list = getLogisticsCarData(id, newPage, pageSize);
+//        PageResult build = PageResult.build(page, pageSize, count, list);
+//        return HttpResult.ok(build);
+//    }
+
+
     /**
      * 采购订单获取车辆信息
      *
-     * @param id
+     * @param ids
      * @param page
      * @param pageSize
      * @return
      */
-    public HttpResult purchaseLogisticsCar(String id, Integer page, Integer pageSize) {
-        Long count = getLogisticsCarDataCount(id);
-        Integer newPage = page - 1;
-        List<OrderCarDTO> list = getLogisticsCarData(id, newPage, pageSize);
-        PageResult build = PageResult.build(page, pageSize, count, list);
+    public HttpResult purchaseLogisticsCar(String ids, Integer page, Integer pageSize) {
+        List<String> stringList = StringUtils.splitStrToList(ids, String.class);
+        if (CollectionUtils.isEmpty(stringList)) {
+            return HttpResult.ok();
+        }
+        List<OrderCarDTO> returnList = new ArrayList<>();
+        for (String id : stringList) {
+            List<OrderCarDTO> list = waybillOrderMapper.selectWaybillOrderCarListNotPage(id);
+            List<String> collect = list.stream().map(OrderCarDTO::getTruckNo).collect(Collectors.toList());
+            Map<String, RTruckVo> truck = remoteFleetService.findTruck(collect);
+            for (OrderCarDTO orderCarDTO : list) {
+//            orderCarDTO.setDriverId(String.valueOf(orderCarDTO.getDriverId()));
+//            orderCarDTO.setDriverName(orderCarDTO.getDriverName());
+//            orderCarDTO.setDriverPhone(orderCarDTO.getDriverPhone());
+//            orderCarDTO.setDriverCard(orderCarDTO.getDriverCard());
+                orderCarDTO.setLoadAmount(truck.get(orderCarDTO.getTruckNo()) == null ?
+                        null : (truck.get(orderCarDTO.getTruckNo()).getActualWeight() == null ?
+                        null : (String.valueOf(truck.get(orderCarDTO.getTruckNo()).getActualWeight()))));
+            }
+            if (CollectionUtils.isNotEmpty(list)) {
+                returnList.addAll(list);
+            }
+        }
+        List<OrderCarDTO> subList = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(returnList)) {
+            subList = returnList.stream().skip((page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
+        }
+        PageResult build = PageResult.build(page, pageSize, returnList.stream().count(), subList);
         return HttpResult.ok(build);
     }
 

+ 25 - 0
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

@@ -71,6 +71,31 @@
           AND a.t_order_id = #{id,jdbcType=VARCHAR} limit #{page}
             , #{pageSize}
     </select>
+
+    <select id="selectOrderListNotPage" resultType="com.sckw.transport.model.dto.LogisticsOrderDTO">
+        SELECT a.id          as lOrderId,
+               a.l_order_no  as lOrderNo,
+               b.`status`    as `status`,
+               a.t_order_id  as tOrderId,
+               a.t_order_no  as tOrderNo,
+               a.payment     as payment,
+               a.amount,
+               a.price,
+               a.loss,
+               a.goods_price as goodsPrice,
+               c.firm_name   as comanyName,
+               c.contacts,
+               c.phone,
+               a.create_by   as createBy,
+               a.create_time as createTime
+        FROM kwt_logistics_order a
+                 LEFT JOIN kwt_logistics_order_track b ON a.id = b.l_order_id and a.`status` = b.`status`
+                 LEFT JOIN kwt_logistics_order_unit c ON a.id = c.l_order_id AND c.unit_type = #{type}
+        WHERE a.del_flag = '0'
+          AND b.del_flag = '0'
+          AND a.t_order_id = #{id,jdbcType=VARCHAR}
+        order by createTime desc
+    </select>
     <select id="selectOrderCount" resultType="java.lang.Long">
         SELECT count(a.id)
         FROM kwt_logistics_order a

+ 18 - 1
sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderMapper.xml

@@ -342,5 +342,22 @@
             and LEFT(wo.create_time, 7) = #{month, jdbcType=TIMESTAMP}
         </if>
     </select>
-
+    <select id="selectWaybillOrderCarListNotPage" resultType="com.sckw.transport.model.dto.OrderCarDTO">
+        SELECT a.id            as wOrderId,
+               a.w_order_no    as wOrderNo,
+               a.driver_id     as driverId,
+               a.driver_name   as driverName,
+               a.driver_phone  as driverPhone,
+               a.driver_idcard as driverCard,
+               a.truck_no      as truckNo,
+               a.l_order_id    as lOrderId,
+               b.l_order_no    as lOrderNo,
+               b.t_order_id    as tOrderId,
+               b.t_order_no    as tOrderNo
+        FROM kwt_waybill_order a
+                 LEFT JOIN kwt_logistics_order b ON a.l_order_id = b.id
+        WHERE a.del_flag = '0'
+          and b.del_flag = '0'
+          and b.t_order_id = #{id,jdbcType=VARCHAR}
+    </select>
 </mapper>