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

1、车辆循环单接单逻辑调整;

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

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

@@ -171,7 +171,7 @@ public class KwtWaybillOrderController {
      **/
     @PostMapping("/cancelSendCar")
     public HttpResult cancelSendCar(@RequestBody List<Long> ids){
-        return waybillOrderService.cancelSendCar(ids);
+        return waybillOrderService.cancelSendCarV1(ids);
     }
 
     /**

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

@@ -4,23 +4,29 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.transport.model.KwtLogisticsOrderCirculate;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
-
+import java.util.Map;
 import java.util.List;
 
 @Mapper
 public interface KwtLogisticsOrderCirculateMapper extends BaseMapper<KwtLogisticsOrderCirculate> {
-    int deleteByPrimaryKey(Long id);
 
+    /**
+     * 新增
+     * @param params 新增信息
+     * @return
+     */
     @Override
-    int insert(KwtLogisticsOrderCirculate record);
-
-    int insertSelective(KwtLogisticsOrderCirculate record);
+    int insert(KwtLogisticsOrderCirculate params);
 
-    KwtLogisticsOrderCirculate selectByPrimaryKey(Long id);
-
-    int updateByPrimaryKeySelective(KwtLogisticsOrderCirculate record);
+    /**
+     * 更新
+     * @param newId 车辆运单ID
+     * @param wOrderId 车辆运单ID
+     * @param id 循环单ID
+     * @return
+     */
+    int updateIdByKey(@Param("newId") Long newId, @Param("wOrderId") Long wOrderId, @Param("id") Long id);
 
-    int updateByPrimaryKey(KwtLogisticsOrderCirculate record);
     /**
      * 查询循环单-根据司机id单据状态-联查表
      * @param id

+ 35 - 23
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java

@@ -472,7 +472,7 @@ public class KwtWaybillOrderService {
         for (SendCarDto1 sendCarDto : params) {
             /**KwtWaybillOrder数据组装**/
             String wOrderNo = OrderGenerateSeqNoUtils.getWaybillSeqNo(RedisOrderGenerateEnum.WAYBILL_ORDER, OrderRuleEnum.WAYBILL_ORDER, logisticsOrder.getLOrderNo());
-            KwtWaybillOrder waybillOrder = this.setKwtWaybillOrder(sendCarDto,wOrderNo);
+            KwtWaybillOrder waybillOrder = this.setKwtWaybillOrder(sendCarDto, wOrderNo);
             /**数据存储**/
             if (sendCarDto.getType() == Global.NUMERICAL_ONE) {
                 for (int i = 0; i < sendCarDto.getCount(); i++) {
@@ -524,7 +524,6 @@ public class KwtWaybillOrderService {
      **/
     public void ranksSave(KwtWaybillOrder waybillOrder, KwtWaybillOrderAddress loadAddress, KwtWaybillOrderAddress unloadAddress) {
         /**车辆运单信息**/
-        waybillOrder.setId(null);
         waybillOrderDao.insert(waybillOrder);
 
         /**车辆运单地址信息**/
@@ -613,11 +612,11 @@ public class KwtWaybillOrderService {
 
     /**
      * @param sendCarDto 派车请求参数
-     * @desc 车辆运单对象赋值
+     * @desc 车辆运单对象赋值-趟次
      * @author zk
      * @date 2023/7/20
      **/
-    public KwtWaybillOrder setKwtWaybillOrder(SendCarDto1 sendCarDto,String wOrderNo) {
+    public KwtWaybillOrder setKwtWaybillOrder(SendCarDto1 sendCarDto, String wOrderNo) {
         KwtWaybillOrder waybillOrder = new KwtWaybillOrder();
         waybillOrder.setEntId(LoginUserHolder.getEntId());
         waybillOrder.setLOrderId(sendCarDto.getLOrderId());
@@ -639,6 +638,32 @@ public class KwtWaybillOrderService {
         return waybillOrder;
     }
 
+    /**
+     * @param sendCarDto 派车请求参数
+     * @desc 车辆运单对象赋值-循环
+     * @author zk
+     * @date 2023/7/20
+     **/
+    public KwtWaybillOrder setKwtWaybillOrder(KwtLogisticsOrderCirculate circulate, OperateSendCarDto params) {
+        KwtWaybillOrder waybillOrder = new KwtWaybillOrder();
+        waybillOrder.setId(circulate.getId());
+        waybillOrder.setEntId(LoginUserHolder.getEntId());
+        waybillOrder.setLOrderId(circulate.getLOrderId());
+        waybillOrder.setWOrderNo("xxxxxx");
+        waybillOrder.setType(params.getType());
+        waybillOrder.setStartTime(circulate.getStartTime());
+        waybillOrder.setEndTime(circulate.getEndTime());
+        waybillOrder.setTruckId(circulate.getTruckId());
+        waybillOrder.setTruckNo(circulate.getTruckNo());
+        waybillOrder.setDriverId(circulate.getDriverId());
+        waybillOrder.setDriverName(circulate.getDriverName());
+        waybillOrder.setDriverPhone(circulate.getDriverPhone());
+        waybillOrder.setDriverIdcard(circulate.getDriverIdcard());
+        waybillOrder.setEntrustAmount(circulate.getEntrustAmount());
+        waybillOrder.setStatus(CarWaybillEnum.PENDING_VEHICLE.getCode());
+        return waybillOrder;
+    }
+
     /**
      * @param sendCarDto     派车请求参数
      * @param logisticsOrder 承运订单
@@ -1072,21 +1097,7 @@ public class KwtWaybillOrderService {
             //卸货地址
             KwtWaybillOrderAddress unloadAddress = this.getAddress(circulate.getLOrderId(), Global.NUMERICAL_TWO, Global.NUMERICAL_ONE);
             //KwtWaybillOrder数据组装
-            KwtWaybillOrder waybillOrder = new KwtWaybillOrder();
-            waybillOrder.setEntId(LoginUserHolder.getEntId());
-            waybillOrder.setLOrderId(circulate.getLOrderId());
-            waybillOrder.setWOrderNo("xxxxxx");
-            waybillOrder.setType(params.getType());
-            waybillOrder.setStartTime(circulate.getStartTime());
-            waybillOrder.setEndTime(circulate.getEndTime());
-            waybillOrder.setTruckId(circulate.getTruckId());
-            waybillOrder.setTruckNo(circulate.getTruckNo());
-            waybillOrder.setDriverId(circulate.getDriverId());
-            waybillOrder.setDriverName(circulate.getDriverName());
-            waybillOrder.setDriverPhone(circulate.getDriverPhone());
-            waybillOrder.setDriverIdcard(circulate.getDriverIdcard());
-            waybillOrder.setEntrustAmount(circulate.getEntrustAmount());
-            waybillOrder.setStatus(CarWaybillEnum.PENDING_VEHICLE.getCode());
+            KwtWaybillOrder waybillOrder = setKwtWaybillOrder(circulate, params);
 
             /**2车辆运单存储**/
             ranksSave(waybillOrder, loadAddress, unloadAddress);
@@ -1107,8 +1118,7 @@ public class KwtWaybillOrderService {
             /**5Mongodb数据更新**/
             //1车辆订单
             SckwWaybillOrder wOrder = new SckwWaybillOrder();
-            wOrder.set_id(circulate.getId());
-            editSckwWaybillOrder(wOrder, waybillOrder, 3);
+            editSckwWaybillOrder(wOrder, waybillOrder, 2);
 
             //2承运订单
             SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
@@ -1495,8 +1505,10 @@ public class KwtWaybillOrderService {
             //循环派车信息
             KwtLogisticsOrderCirculate circulate = logisticsOrderCirculateDao.findCirculate(waybillOrder.getLOrderId(),
                     waybillOrder.getTruckId(), waybillOrder.getDriverId(), 0);
-            circulate.setWOrderId(null);
-            logisticsOrderCirculateDao.updateById(circulate);
+            /*circulate.setWOrderId(null);
+            logisticsOrderCirculateDao.updateById(circulate);*/
+            Long wOrderId = new IdWorker(Global.NUMERICAL_ONE).nextId();
+            logisticsOrderCirculateDao.updateIdByKey(wOrderId, null, circulate.getId());
         }
 
         /**6跟新司机/车辆数据

+ 2 - 25
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderCirculateMapper.xml

@@ -31,31 +31,8 @@
         `remark`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`
     </sql>
 
-    <update id="updateByPrimaryKey" parameterType="com.sckw.transport.model.KwtLogisticsOrderCirculate">
-        UPDATE kwt_logistics_order_circulate
-        <set>
-            ent_id = #{entId},
-            l_order_id = #{lOrderId},
-            w_order_id = #{wOrderId},
-            type = #{type},
-            truck_id = #{truckId},
-            truck_no = #{truckNo},
-            driver_id = #{driverId},
-            driver_name = #{driverName},
-            driver_phone = #{driverPhone},
-            driver_idcard = #{driverIdcard},
-            start_time = #{startTime},
-            end_time = #{endTime},
-            entrust_amount = #{entrustAmount},
-            remark = #{remark},
-            status = #{status},
-            create_by = #{createBy},
-            create_time = #{createTime},
-            update_by = #{updateBy},
-            update_time = #{updateTime},
-            del_flag = #{delFlag}
-        </set>
-        WHERE id = #{id}
+    <update id="updateIdByKey">
+        UPDATE kwt_logistics_order_circulate set id = #{newId}, w_order_id = #{wOrderId} WHERE id = #{id}
     </update>
 
     <select id="selectDriverOrderByStatus" resultType="java.lang.Long">