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

1、循环单处理逻辑调整;

zk 2 лет назад
Родитель
Сommit
11259e3725

+ 2 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderCirculateMapper.java

@@ -42,13 +42,13 @@ public interface KwtLogisticsOrderCirculateMapper extends BaseMapper<KwtLogistic
      * @param lOrderId 物流订单id
      * @param truckId 车辆ID
      * @param driverId 司机主键id
-     * @param status 循环派车状态(0正常、1失效)
+     * //@param status 循环派车状态(0正常、1失效)
      * @desc 查询物流运单装卸货地址信息
      * @author zk
      * @date 2023/7/20
      **/
     KwtLogisticsOrderCirculate findCirculate(@Param("lOrderId") Long lOrderId, @Param("truckId") Long truckId,
-                                             @Param("driverId") Long driverId, @Param("status") Integer status);
+                                             @Param("driverId") Long driverId);
 
     /**
      * @param lOrderId 物流订单id

+ 17 - 12
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java

@@ -236,7 +236,7 @@ public class KwtWaybillOrderService {
                 changeWaybillOrderCirculate(circulate.getId(), params, null);
                 wOrder.set_id(circulate.getId());
             } else {
-                circulate = logisticsOrderCirculateDao.findCirculate(waybillOrder.getLOrderId(), waybillOrder.getTruckId(), waybillOrder.getDriverId(), Global.NO);
+                circulate = logisticsOrderCirculateDao.findCirculate(waybillOrder.getLOrderId(), waybillOrder.getTruckId(), waybillOrder.getDriverId());
                 changeWaybillOrderCirculate(circulate.getId(), params, null);
             }
         }
@@ -283,7 +283,7 @@ public class KwtWaybillOrderService {
                 changeWaybillOrderCirculate(circulate.getId(), null, params);
                 wOrder.set_id(circulate.getId());
             } else {
-                circulate = logisticsOrderCirculateDao.findCirculate(waybillOrder.getLOrderId(), waybillOrder.getTruckId(), waybillOrder.getDriverId(), Global.NO);
+                circulate = logisticsOrderCirculateDao.findCirculate(waybillOrder.getLOrderId(), waybillOrder.getTruckId(), waybillOrder.getDriverId());
                 changeWaybillOrderCirculate(circulate.getId(), null, params);
             }
         }
@@ -491,12 +491,14 @@ public class KwtWaybillOrderService {
         List<SckwWaybillOrder> sckwWaybillOrders = new ArrayList();
         for (SendCarDto1 sendCarDto : params) {
             /**KwtWaybillOrder数据组装**/
-            String wOrderNo = getRedisGenerateWaybillOrderNo(RedisOrderGenerateEnum.WAYBILL_ORDER, OrderRuleEnum.WAYBILL_ORDER, logisticsOrder.getLOrderNo());
-            KwtWaybillOrder waybillOrder = this.setKwtWaybillOrder(sendCarDto, wOrderNo);
+            KwtWaybillOrder waybillOrder = this.setKwtWaybillOrder(sendCarDto);
             /**数据存储**/
             if (sendCarDto.getType() == Global.NUMERICAL_ONE) {
                 for (int i = 0; i < sendCarDto.getCount(); i++) {
                     //车辆运单存储
+                    String wOrderNo = getRedisGenerateWaybillOrderNo(RedisOrderGenerateEnum.WAYBILL_ORDER, OrderRuleEnum.WAYBILL_ORDER, logisticsOrder.getLOrderNo());
+                    waybillOrder.setId(null);
+                    waybillOrder.setWOrderNo(wOrderNo);
                     ranksSave(waybillOrder, loadAddress, unloadAddress);
 
                     /**SckwWaybillOrder数据组装**/
@@ -534,7 +536,6 @@ public class KwtWaybillOrderService {
         return HttpResult.ok(sckwWaybillOrders);
     }
 
-
     /**
      * 获取生成车辆运单单据号最大值处理
      */
@@ -569,7 +570,6 @@ public class KwtWaybillOrderService {
      **/
     public void ranksSave(KwtWaybillOrder waybillOrder, KwtWaybillOrderAddress loadAddress, KwtWaybillOrderAddress unloadAddress) {
         /**车辆运单信息**/
-        waybillOrder.setId(null);
         waybillOrderDao.insert(waybillOrder);
 
         /**车辆运单地址信息**/
@@ -597,7 +597,7 @@ public class KwtWaybillOrderService {
     public KwtLogisticsOrderCirculate circulateSave(KwtWaybillOrder waybillOrder) {
         //循环派车信息
         KwtLogisticsOrderCirculate circulate = logisticsOrderCirculateDao.findCirculate(waybillOrder.getLOrderId(),
-                waybillOrder.getTruckId(), waybillOrder.getDriverId(), 0);
+                waybillOrder.getTruckId(), waybillOrder.getDriverId());
         if (circulate == null) {
             circulate = new KwtLogisticsOrderCirculate();
             BeanUtils.copyProperties(waybillOrder, circulate);
@@ -605,8 +605,13 @@ public class KwtWaybillOrderService {
             circulate.setStatus(0);
             int count = logisticsOrderCirculateDao.insert(circulate);
             return count > 0 ? circulate : null;
+        } else {
+            BeanUtils.copyProperties(waybillOrder, circulate);
+            circulate.setWOrderId(null);
+            circulate.setStatus(0);
+            int count = logisticsOrderCirculateDao.updateById(circulate);
+            return count > 0 ? circulate : null;
         }
-        return circulate;
     }
 
     /**
@@ -662,11 +667,10 @@ public class KwtWaybillOrderService {
      * @author zk
      * @date 2023/7/20
      **/
-    public KwtWaybillOrder setKwtWaybillOrder(SendCarDto1 sendCarDto, String wOrderNo) {
+    public KwtWaybillOrder setKwtWaybillOrder(SendCarDto1 sendCarDto) {
         KwtWaybillOrder waybillOrder = new KwtWaybillOrder();
         waybillOrder.setEntId(LoginUserHolder.getEntId());
         waybillOrder.setLOrderId(sendCarDto.getLOrderId());
-        waybillOrder.setWOrderNo(wOrderNo);
         waybillOrder.setType(sendCarDto.getType());
         waybillOrder.setStartTime(sendCarDto.getLoadDateTime());
         waybillOrder.setEndTime(sendCarDto.getUnloadDateTime());
@@ -1201,6 +1205,7 @@ public class KwtWaybillOrderService {
             /**5Mongodb数据更新**/
             //1车辆订单
             SckwWaybillOrder wOrder = new SckwWaybillOrder();
+            wOrder.setWOrderNo(waybillOrder.getWOrderNo());
             editSckwWaybillOrder(wOrder, waybillOrder, 2);
 
             //2承运订单
@@ -1403,7 +1408,7 @@ public class KwtWaybillOrderService {
         if (waybillOrder.getType() == Global.NUMERICAL_TWO) {
             //循环派车信息
             KwtLogisticsOrderCirculate circulate = logisticsOrderCirculateDao.findCirculate(waybillOrder.getLOrderId(),
-                    waybillOrder.getTruckId(), waybillOrder.getDriverId(), 0);
+                    waybillOrder.getTruckId(), waybillOrder.getDriverId());
             circulate.setStatus(Global.NUMERICAL_ONE);
             logisticsOrderCirculateDao.updateById(circulate);
         }
@@ -1625,7 +1630,7 @@ public class KwtWaybillOrderService {
         if (waybillOrder.getType() == Global.NUMERICAL_TWO) {
             //循环派车信息
             KwtLogisticsOrderCirculate circulate = logisticsOrderCirculateDao.findCirculate(waybillOrder.getLOrderId(),
-                    waybillOrder.getTruckId(), waybillOrder.getDriverId(), 0);
+                    waybillOrder.getTruckId(), waybillOrder.getDriverId());
             /*circulate.setWOrderId(null);
             logisticsOrderCirculateDao.updateById(circulate);*/
             Long newId = new IdWorker(Global.NUMERICAL_ONE).nextId();

+ 0 - 1
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderCirculateMapper.xml

@@ -68,7 +68,6 @@
         and l_order_id = #{lOrderId, jdbcType=BIGINT}
         and truck_id = #{truckId, jdbcType=BIGINT}
         and driver_id = #{driverId, jdbcType=BIGINT}
-        and status = #{status, jdbcType=INTEGER}
     </select>
 
     <select id="findCirculateList" resultType="com.sckw.transport.model.KwtLogisticsOrderCirculate" >