Explorar o código

一车多趟修改

luobang %!s(int64=3) %!d(string=hai) anos
pai
achega
66fa5f3678

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

@@ -136,4 +136,7 @@ public interface OmstruckOrderSeparateMapper {
 
     //根据订单ID查询信息
     Map<String, Object> getOrderMesByOrderId(BigDecimal orderId);
+
+    int updateSporadicStatus(BigDecimal orderPlanId,int sporadicStatus);
+
 }

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

@@ -678,5 +678,4 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
     public List<Map<String, Object>> getPauseTimeTaskDetail(Integer orderId) {
         return omstruckOrderMapper.getPauseTimeTaskDetail(orderId);
     }
-
 }

+ 9 - 3
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -572,12 +572,14 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         result += omstruckOrderMapper.deleteUnloadResult(resultTotalId);
         result += omstruckOrderMapper.deleteLoadResult(resultTotalId);
         result += omstruckOrderMapper.deleteLeaveResult(resultTotalId);
-        if(orderType == 15 || orderType == 16 || orderType == 19){
+        if(orderType == 12 || orderType == 13 || orderType == 14 || orderType == 19){
             Map<String, Object> sporadicOrderTimes = omstruckOrderMapper.getSporadicOrderTimes(orderId);
             BigDecimal orderTimes =(BigDecimal)sporadicOrderTimes.get("orderTimes");
             BigDecimal transTimes = (BigDecimal)sporadicOrderTimes.get("transTimes");
             //更新趟次
             omstruckOrderSeparateService.updateTimes(orderPlanId,orderTimes.intValue()+1);
+            //更新状态
+            omstruckOrderSeparateMapper.updateSporadicStatus(orderPlanId,1);
             //更新已运输趟次
             if (transTimes.intValue()>0) {
                 omstruckOrderSeparateMapper.updateTranTimes(orderPlanId, transTimes.intValue() - 1);
@@ -793,7 +795,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 omstruckOrderSeparateService.addAllSonResult(orderMessage);
             }
             //判断订单是否是一车多单
-            if (orderType ==15 || orderType ==16 || orderType ==19) {
+            if (orderType ==12 || orderType ==13 || orderType ==14 || orderType ==19) {
                 //通过订单查询趟次
                 Map<String, Object> sporadicOrderTimes = omstruckOrderMapper.getSporadicOrderTimes(orderId);
                 BigDecimal orderTimes = DataChange.dataToBigDecimal(sporadicOrderTimes.get("orderTimes"));
@@ -802,10 +804,14 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 //生成作业实绩之后、更改订单数量
                 if (orderMessage.containsKey("orderPlanId") && orderTimes.intValue() > 0) {
                     int state =0;
+                    //如果运输趟次,接完之后将变成0
+                    if(orderTimes.intValue() == 1){
+                        //修改零星订单运输状态
+                        state +=omstruckOrderSeparateMapper.updateSporadicStatus(DataChange.dataToBigDecimal(orderMessage.get("orderPlanId")),0);
+                    }
                     state+=omstruckOrderSeparateService.updateTimes(new BigDecimal(orderMessage.get("orderPlanId").toString()), orderTimes.intValue() - 1);
                     //接收订单以后已运输订单趟次+1
                     state+=omstruckOrderSeparateMapper.updateTranTimes(DataChange.dataToBigDecimal(orderMessage.get("orderPlanId").toString()),transTimes.intValue()+1);
-                    System.out.println(state);
                 }
             }
         } else { //其他状态都视为 拒绝接单

+ 8 - 2
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.xml

@@ -49,7 +49,8 @@
     </update>
 <!--    修改运输订单趟次-->
     <update id="updateTimes">
-        update AMSTRUCK_SPORADIC_ORDER  set sporadic_order_times =#{times}
+        update AMSTRUCK_SPORADIC_ORDER ASO
+        set sporadic_order_times =#{times}
         where sporadic_order_id= #{orderPlanId}
     </update>
     <!--    修改运输订单已运输趟次-->
@@ -425,7 +426,7 @@
              and  OO.ORDER_STATUS = #{status}
            </if>
             <if test="type == 1">
-                and OO.ORDER_TYPE in (12, 13 ,14)
+                and OO.ORDER_TYPE in (12, 13 ,14,19)
                 and OO.CAPACITY_ID IS NOT NULL
             </if>
             <if test="carrierId != null">
@@ -584,6 +585,11 @@
         </if>
         where oo.ORDER_ID = #{orderId}
     </update>
+    <update id="updateSporadicStatus">
+        update AMSTRUCK_SPORADIC_ORDER ASO
+        SET ASO.TRANS_STATUS = #{sporadicStatus}
+        WHERE ASO.SPORADIC_ORDER_ID = #{orderPlanId}
+    </update>
     <!--  通过装卸工SSOID查询装过的订单信息  -->
     <select id="getAllLoaderLoadingOrder" parameterType="map" resultType="java.util.Map">
         select OO.ORDER_ID  "orderId",