Tiroble il y a 3 ans
Parent
commit
32a3d4669d

+ 1 - 1
pom.xml

@@ -109,7 +109,7 @@
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
-                        <param>OMSTRUCK_ORDER_MATERIAL</param>
+                        <param>Omstruck_Order</param>
 <!--                    <param>TMSTRAIN_WEIGHT_RESULT</param>-->
                     </tables>
                 </configuration>

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -259,4 +259,6 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     BigDecimal getCarrierIdBySSO(String carrierSsoId);
 
     List<Map<String, Object>> getOrderMaterialList(BigDecimal orderId);
+    //通过订单查询趟次
+    Integer getSporadicOrderTimes(BigDecimal orderId);
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.java

@@ -2,6 +2,7 @@ package com.steerinfo.dil.mapper;
 
 import com.steerinfo.dil.model.OmstruckOrder;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -73,4 +74,6 @@ public interface OmstruckOrderSeparateMapper {
 
     // 查询销售订单的物资件数或重量
     List<Map<String, Object>> getWeightOrNumber(BigDecimal saleOrderMaterialId);
+
+    int updateTimes(@Param("orderPlanId") BigDecimal orderPlanId, @Param("times")int times);
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/service/IOmstruckOrderSeparateService.java

@@ -2,6 +2,7 @@ package com.steerinfo.dil.service;
 
 import com.steerinfo.dil.model.OmstruckOrder;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
@@ -20,4 +21,6 @@ public interface IOmstruckOrderSeparateService {
     List<Map<String,Object>> getUnloadOrderMaterial(Map<String, Object> map);
     // 承运商销售分派运输订单给司机
     Integer addSaleTruckOrder(Map<String, Object> mapValue);
+    //更改趟次
+    int updateTimes(BigDecimal orderPlanId, int i);
 }

+ 5 - 0
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderSeparateServiceImpl.java

@@ -393,4 +393,9 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         pushMesToWebsocket(orderIdMap);
         return result;
     }
+
+    @Override
+    public int updateTimes(BigDecimal orderPlanId, int times) {
+        return omstruckOrderSeparateMapper.updateTimes(orderPlanId,times);
+    }
 }

+ 13 - 1
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -545,7 +545,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
      */
     @Override
     @Transactional
-    public int driverReceiveOrRefuse(Map<String, Object> map) {
+    public synchronized int driverReceiveOrRefuse(Map<String, Object> map) {
         BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
         OmstruckOrder omstruckOrder = new OmstruckOrder();
         if((Integer) map.get("orderReceiveStatus") == 1){
@@ -558,6 +558,18 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             //通过订单ID查询信息
             Map<String, Object> orderMessage = omstruckOrderSeparateMapper.getOrderMessagge(orderId);
             omstruckOrderSeparateService.addAllSonResult(orderMessage);
+            //判断订单是否是一车多单
+
+            BigDecimal orderType= (BigDecimal) orderMessage.get("orderType");
+            if (orderType.equals(15)||orderType.equals(16)){
+                //通过订单查询趟次
+               Integer sporadicOrderTimes  =omstruckOrderMapper.getSporadicOrderTimes(orderId);
+                //生成作业实绩之后、更改订单数量
+                if (orderMessage.containsKey("orderPlanId")&&sporadicOrderTimes>0){
+                    int state= omstruckOrderSeparateService.updateTimes(new BigDecimal(orderMessage.get("orderPlanId").toString()),sporadicOrderTimes-1);
+                }
+
+            }
         }else { //其他状态都视为 拒绝接单
             omstruckOrder.setOrderStatus(new BigDecimal(6));
             //添加拒绝原因

+ 6 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -2926,4 +2926,10 @@
         ON RM.MATERIAL_ID = OOM.MATERIAL_ID
         WHERE OOM.ORDER_ID = #{orderId}
     </select>
+    <select id="getSporadicOrderTimes" resultType="java.lang.Integer">
+         select aso.sporadic_order_times from OMSTRUCK_ORDER oo
+            left join  AMSTRUCK_SPORADIC_ORDER  aso
+            on oo.ORDER_PLAN_ID=aso.sporadic_order_id
+            where oo.order_id= #{orderId}
+    </select>
 </mapper>

+ 6 - 1
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.xml

@@ -47,7 +47,12 @@
         set OO.ORDER_STATUS = #{orderStatus}
         where OO.ORDER_ID = #{orderId}
     </update>
-
+<!--    修改运输订单趟次-->
+    <update id="updateTimes">
+        update AMSTRUCK_SPORADIC_ORDER  set sporadic_order_times =#{times}
+        where sporadic_order_id= #{orderPlanId}
+    </update>
+    
     <!-- 得到运单id -->
     <select id="getOrderIdByTotalId" parameterType="DECIMAL" resultType="DECIMAL">
         SELECT TTR.ORDER_ID AS "orderId"