Przeglądaj źródła

1:承运订单数据展示新增循环单据
2:托运订单数据展示新增循环单据
3.企业app托运订单/承运订单停止接单新增循环单据展示
4.修改app运单列表不展示循环单数据

lengfaqiang 2 lat temu
rodzic
commit
84ef080f1c

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/operationManagement/ManagementLogisticsOrderController.java

@@ -66,7 +66,7 @@ public class ManagementLogisticsOrderController {
      */
     @RequestMapping(value = "/statistics", method = RequestMethod.POST)
     public HttpResult statisticsLogisticsOrder(@Valid @RequestBody ManagementLogisticsOrderQuery query) {
-        log.error("运营管理端-物流订单-top统计 查询 :{}", JSONObject.toJSONString(query));
+        log.info("运营管理端-物流订单-top统计 查询 :{}", JSONObject.toJSONString(query));
         try {
             HttpResult result = managementLogisticsOrderService.statisticsLogisticsOrder(query);
             return result;

+ 10 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/DriverListVo.java

@@ -43,6 +43,16 @@ public class DriverListVo {
      */
     private String transportStatusLabel;
 
+    /**
+     * 运力状态(0空闲/1任务中)
+     */
+    private Integer status;
+
+    /**
+     * 运力状态(0空闲/1任务中)
+     */
+    private String statusLabel;
+
     /**
      * 运输次数
      */

+ 17 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java

@@ -1094,7 +1094,9 @@ public class AcceptCarriageOrderService {
                     truck = fleetService.findTruck(collect);
                 }
             }
+            Map<String, String> dictData = commonService.getDictData(DictTypeEnum.TRUCK_TYPE.getType());
             for (DriverListVo driverListVo : list) {
+                driverListVo.setStatusLabel(CarWaybillEnum.getName(driverListVo.getStatus()));
                 if (!ObjectUtils.isEmpty(truck)) {
                     if (truck.get(driverListVo.getTruckNo()) != null) {
                         driverListVo.setTransportStatus(truck.get(driverListVo.getTruckNo()) == null ? null : truck.get(driverListVo.getTruckNo()).getBusinessStatus());
@@ -1102,8 +1104,11 @@ public class AcceptCarriageOrderService {
                     if (driverListVo.getTransportStatus() != null) {
                         driverListVo.setTransportStatusLabel((driverListVo.getTransportStatus() == 0) ? "空闲" : "任务中");
                     }
-                    driverListVo.setCarType(truck.get(driverListVo.getTruckNo()) == null ? null : truck.get(driverListVo.getTruckNo()).getTruckType());
-//                    driverListVo.setCount(truck.get(driverListVo.getTruckNo()) == null ? null : truck.get(driverListVo.getTruckNo()).getTotalComplete());
+                    String truckType = truck.get(driverListVo.getTruckNo()).getTruckType();
+                    if (StringUtils.isNotBlank(truckType)){
+//                        driverListVo.setCarType(truck.get(driverListVo.getTruckNo()) == null ? null : truck.get(driverListVo.getTruckNo()).getTruckType());
+                        driverListVo.setCarType(dictData.get(truckType));
+                    }
                 }
             }
             result.setData(list);
@@ -1115,7 +1120,12 @@ public class AcceptCarriageOrderService {
                     truck = fleetService.findTruck(collect);
                 }
             }
+            Map<String, String> dictData = commonService.getDictData(DictTypeEnum.TRUCK_TYPE.getType());
             for (DriverListVo driverListVo : list) {
+                if (driverListVo.getCirculateId().isEmpty()){
+                    driverListVo.setStatus(1);
+                    driverListVo.setStatusLabel(CarWaybillEnum.PENDING_ORDER.getDestination());
+                }
                 if (!ObjectUtils.isEmpty(truck)) {
 //                    driverListVo.setTransportStatus(truck.get(driverListVo.getTruckNo()) == null ? null : truck.get(driverListVo.getTruckNo()).getBusinessStatus());
                     if (truck.get(driverListVo.getTruckNo()) != null) {
@@ -1124,7 +1134,11 @@ public class AcceptCarriageOrderService {
                     if (driverListVo.getTransportStatus() != null) {
                         driverListVo.setTransportStatusLabel((driverListVo.getTransportStatus() == 0) ? "空闲" : "任务中");
                     }
-                    driverListVo.setCarType(truck.get(driverListVo.getTruckNo()) == null ? null : truck.get(driverListVo.getTruckNo()).getTruckType());
+                    String truckType = truck.get(driverListVo.getTruckNo()).getTruckType();
+                    if (StringUtils.isNotBlank(truckType)){
+//                        driverListVo.setCarType(truck.get(driverListVo.getTruckNo()) == null ? null : truck.get(driverListVo.getTruckNo()).getTruckType());
+                        driverListVo.setCarType(dictData.get(truckType));
+                    }
                 }
             }
             result.setData(list);

+ 75 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java

@@ -427,9 +427,12 @@ public class ConsignOrderService {
                 }
             }
         }
+        List<Long> lists = StringUtils.splitStrToList(orderDto.getIds(), Long.class);
+        getLogisticsOrderCirculate(lists, returnList);
         List<CarWaybillVO> collect = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(returnList)) {
-            collect = returnList.stream().skip((orderDto.getPage() - 1) * orderDto.getPageSize()).limit(orderDto.getPageSize()).collect(Collectors.toList());
+            collect = returnList.stream().sorted(Comparator.comparing(CarWaybillVO::getLOrderId).reversed()).collect(Collectors.toList());
+            collect = collect.stream().skip((orderDto.getPage() - 1) * orderDto.getPageSize()).limit(orderDto.getPageSize()).collect(Collectors.toList());
         }
         PageResult result = PageResult.build(orderDto.getPage(), orderDto.getPageSize(), returnList.stream().count(), collect);
         return HttpResult.ok(result);
@@ -556,6 +559,10 @@ public class ConsignOrderService {
             }
         }
         for (DriverListVo driverListVo : list) {
+            if (driverListVo.getCirculateId().isEmpty()) {
+                driverListVo.setStatus(1);
+                driverListVo.setStatusLabel(CarWaybillEnum.PENDING_ORDER.getDestination());
+            }
             List<String> objects = new ArrayList<>();
             objects.add(driverListVo.getTruckNo());
             if (!ObjectUtils.isEmpty(truck)) {
@@ -610,6 +617,7 @@ public class ConsignOrderService {
 //                .in(KwtLogisticsOrder::getId,list)
 //                .orderByDesc(KwtLogisticsOrder::getId)
 //        );
+        /**趟次数据*/
         for (Long id : list) {
             KwtLogisticsOrder order = kwtLogisticsOrderMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrder>()
                             .eq(StringUtils.isNotBlank(id), KwtLogisticsOrder::getId, id)
@@ -694,14 +702,79 @@ public class ConsignOrderService {
                 }
             }
         }
+        /**循环数据*/
+        getLogisticsOrderCirculate(list, returnList);
         List<CarWaybillVO> collect = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(returnList)) {
-            collect = returnList.stream().skip((orderDto.getPage() - 1) * orderDto.getPageSize()).limit(orderDto.getPageSize()).collect(Collectors.toList());
+            collect = returnList.stream().sorted(Comparator.comparing(CarWaybillVO::getLOrderId).reversed()).collect(Collectors.toList());
+            collect = collect.stream().skip((orderDto.getPage() - 1) * orderDto.getPageSize()).limit(orderDto.getPageSize()).collect(Collectors.toList());
         }
         PageResult result = PageResult.build(orderDto.getPage(), orderDto.getPageSize(), returnList.stream().count(), collect);
         return HttpResult.ok(result);
     }
 
+    private void getLogisticsOrderCirculate(List<Long> list, List<CarWaybillVO> returnList) {
+        for (Long lOrderId : list) {
+            KwtLogisticsOrder order = kwtLogisticsOrderMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrder>()
+                    .eq(StringUtils.isNotBlank(lOrderId), KwtLogisticsOrder::getId, lOrderId)
+            );
+            if (ObjectUtils.isEmpty(order)) {
+                continue;
+            }
+            List<KwtLogisticsOrderCirculate> logisticsOrderCirculates = kwtLogisticsOrderCirculateMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrderCirculate>()
+                    .in(KwtLogisticsOrderCirculate::getLOrderId, lOrderId)
+                    .eq(KwtLogisticsOrderCirculate::getStatus, 0)
+                    .eq(KwtLogisticsOrderCirculate::getDelFlag, 0)
+                    .isNotNull(KwtLogisticsOrderCirculate::getWOrderId)
+            );
+            if (CollectionUtils.isNotEmpty(logisticsOrderCirculates)) {
+                for (KwtLogisticsOrderCirculate circulate : logisticsOrderCirculates) {
+                    CarWaybillVO carWaybillVo = new CarWaybillVO();
+                    carWaybillVo.setLOrderNo(order.getLOrderNo());
+                    carWaybillVo.setLOrderId(String.valueOf(lOrderId));
+                    carWaybillVo.setWOrderId(circulate.getWOrderId() == null ? null : String.valueOf(circulate.getWOrderId()));
+//                    carWaybillVo.setWOrderNo();
+                    carWaybillVo.setTruckNo(circulate.getTruckNo());
+                    carWaybillVo.setStatus(CarWaybillEnum.PENDING_ORDER.getStatus());
+                    carWaybillVo.setStatusLabel(CarWaybillEnum.PENDING_ORDER.getDestination());
+                    carWaybillVo.setWaybillType(circulate.getType());
+                    carWaybillVo.setDriverName(circulate.getDriverName());
+//                    carWaybillVo.setConsignMotorcade();
+                    DecimalFormat decimalFormat = new DecimalFormat("0.00");
+                    carWaybillVo.setSendCarWeigh(circulate.getEntrustAmount() == null ? null : decimalFormat.format(circulate.getEntrustAmount()));
+                    carWaybillVo.setSendCarDate(circulate.getCreateTime() == null ? null : DateUtil.getDateTime(circulate.getCreateTime()));
+                    KwtWaybillOrderTicket loadTicket = kwtWaybillOrderTicketMapper.selectOne(new LambdaQueryWrapper<KwtWaybillOrderTicket>()
+                            .eq(StringUtils.isNotBlank(circulate.getId()), KwtWaybillOrderTicket::getWOrderId, circulate.getId())
+                            .eq(KwtWaybillOrderTicket::getType, NumberConstant.ONE));
+                    KwtWaybillOrderTicket unloadTicket = kwtWaybillOrderTicketMapper.selectOne(new LambdaQueryWrapper<KwtWaybillOrderTicket>()
+                            .eq(StringUtils.isNotBlank(circulate.getId()), KwtWaybillOrderTicket::getWOrderId, circulate.getId())
+                            .eq(KwtWaybillOrderTicket::getType, NumberConstant.TWO));
+                    if (loadTicket != null) {
+                        carWaybillVo.setLoadAmount(loadTicket.getAmount() == null ? null : String.valueOf(loadTicket.getAmount()));
+                        carWaybillVo.setLoadDateTime(loadTicket.getOperateTime() == null ? null : DateUtil.getDateTime(loadTicket.getOperateTime()));
+                    } else {
+                        carWaybillVo.setLoadAmount(null);
+                        carWaybillVo.setLoadDateTime(null);
+                    }
+                    if (unloadTicket != null) {
+                        carWaybillVo.setUnloadAmount(unloadTicket.getAmount() == null ? null : String.valueOf(unloadTicket.getAmount()));
+                        carWaybillVo.setUnloadDateTime(unloadTicket.getOperateTime() == null ? null : DateUtil.getDateTime(unloadTicket.getOperateTime()));
+                    } else {
+                        carWaybillVo.setUnloadAmount(null);
+                        carWaybillVo.setUnloadDateTime(null);
+                    }
+                    carWaybillVo.setDefectiveWeigh("0.00");
+                    carWaybillVo.setDeduct(new BigDecimal("0.00"));
+                    carWaybillVo.setLoss(order.getLoss());
+                    SysDictResDto sysDictResDto = remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.TAX_RATE_TYPE.getType(), order.getLossUnit());
+                    carWaybillVo.setLossLabel(sysDictResDto == null ? null : sysDictResDto.getLabel());
+                    carWaybillVo.setCreateTime(circulate.getCreateTime());
+                    returnList.add(carWaybillVo);
+                }
+            }
+        }
+    }
+
     /**
      * 托运订单/承运订单-获取车辆信息
      *

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java

@@ -915,7 +915,7 @@ public class WaybillManagementService {
         }
         criteria.and("lOrderId").in(lOrderIds);
 //        criteria.and("wOrderId").exists(true);
-        Criteria.where("wOrderId").ne("").ne(null);
+        criteria.and("wOrderId").ne("").ne(null);
         // 多条件模糊查询
         List<Criteria> orCriteria = new ArrayList<>();
         if (StringUtils.isNotBlank(query.getKeyword())) {

+ 4 - 2
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

@@ -554,7 +554,8 @@
         b.driver_name AS driverName,
         b.driver_phone AS driverPhone,
         b.driver_idcard AS driverIdCard,
-        b.truck_no AS truckNo
+        b.truck_no AS truckNo,
+        b.status AS status
         FROM
         kwt_waybill_order b
         LEFT JOIN kwt_logistics_order a ON b.l_order_id = a.id
@@ -787,7 +788,8 @@
         c.driver_idcard AS driverIdCard,
         c.truck_no AS truckNo,
         c.truck_id AS truckId,
-        c.total_take as count
+        c.total_take as count,
+        c.status as status,
         FROM
         kwt_logistics_order_circulate c,
         kwt_logistics_order a