Explorar el Código

Merge branch 'dev' of https://git.steerinfo.com/DAL-DAZHOU2/DAI_DAZHOU-OMS into dev

zx hace 3 años
padre
commit
049d37a01b

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

@@ -116,6 +116,11 @@ public interface OmstruckOrderSeparateMapper {
     //根据订单ID查询信息
     Map<String, Object> getOrderMesByOrderId(BigDecimal orderId);
 
+    int updateSporadicStatus(BigDecimal orderPlanId,int sporadicStatus);
+
     //查询计时进程
     List<Map<String, Object>> getTimeOrderResult(BigDecimal resultTotalId);
+
+    Integer getSporadicStatus(Object orderId);
+
 }

+ 16 - 7
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -582,12 +582,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);
@@ -803,7 +805,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"));
@@ -812,10 +814,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 { //其他状态都视为 拒绝接单
@@ -1938,15 +1944,11 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 mesMap = omstruckOrderMapper.getInwardOrderMessageToApp(map);
                 inwardType += "计重";
                 mesMap.put("inwardType", inwardType);
-                mesMap.put("shipperName","四川省达州钢铁集团有限责任公司");
-                mesMap.put("consigneeCompanyName","四川省达州钢铁集团有限责任公司");
                 break;
             case 21:
                 mesMap = omstruckOrderMapper.getInwardTimeOrderMessageToApp(map);
                 inwardType += "计时";
                 mesMap.put("inwardType", inwardType);
-                mesMap.put("shipperName","四川省达州钢铁集团有限责任公司");
-                mesMap.put("consigneeCompanyName","四川省达州钢铁集团有限责任公司");
                 break;
             case 12:
             case 13:
@@ -1990,6 +1992,13 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                     continue;
                 }
             }
+            if(orderType == 12|| orderType == 13 || orderType == 14 || orderType == 19){
+                Integer sporadicStatus = omstruckOrderSeparateMapper.getSporadicStatus(orderMesMap.get("orderId"));
+                omstruckOrderMapper.closeTruckOrder(DataChange.dataToBigDecimal(orderMesMap.get("orderId")));
+                if(sporadicStatus == 0){ // 数据为0则失效
+                    continue;
+                }
+            }
             //如果订单类型为11 当订单大于截止日期时,不显示订单
             if(orderType == 11){
                 int result = omstruckOrderSeparateMapper.getInward(orderMesMap.get("orderId"));

+ 20 - 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>
     <!--    修改运输订单已运输趟次-->
@@ -356,8 +357,11 @@
             <if test="status != null">
              and  OO.ORDER_STATUS = #{status}
            </if>
+            <if test="status == 4">
+                and  ASO.TRANS_STATUS = 1
+            </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">
@@ -516,6 +520,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",
@@ -737,6 +746,15 @@
         where OO.ORDER_ID = #{resultTotalId}
         order by TTTR.RESULT_TIME
     </select>
+    <select id="getSporadicStatus" resultType="java.lang.Integer">
+        SELECT
+            ASO.TRANS_STATUS
+        FROM
+            OMSTRUCK_ORDER OO
+        LEFT JOIN AMSTRUCK_SPORADIC_ORDER ASO
+        ON ASO.SPORADIC_ORDER_ID = OO.ORDER_PLAN_ID
+        WHERE OO.ORDER_ID = #{orderId}
+    </select>
 
     <select id="getTwoDateMes" parameterType="java.math.BigDecimal" resultType="java.util.Map">
         select