luobang 2 tahun lalu
induk
melakukan
587132bfda

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

@@ -43,4 +43,6 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     int updateOOMRemark(BigDecimal orderId);
 
+    int updateOrderStatus(BigDecimal orderIds);
+
 }

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

@@ -1,5 +1,6 @@
 package com.steerinfo.dil.mapper;
 
+import com.steerinfo.dil.model.SaleLog;
 import com.steerinfo.dil.model.TmstruckWeightResult;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import java.math.*;
@@ -165,4 +166,6 @@ public interface TmstruckWeightResultMapper extends IBaseMapper<TmstruckWeightRe
 
     Map<String,Object> queryApoInwardByOrderNo(String orderNo);
 
+    Map<String,Object> getLineName(BigDecimal lineId);
+
 }

+ 19 - 0
src/main/java/com/steerinfo/dil/service/impl/TmstruckWeightResultServiceImpl.java

@@ -224,6 +224,25 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         if(orderType == 12 || orderType == 13){
             dealWithLxOrder(map, stringObjectMap);
         }
+        //根据线路ID去判断
+        try {
+            if(oneMap.get("lineId") != null) {
+                Map<String,Object> lastLineMap = tmstruckWeightResultMapper.getLineName(DataChange.dataToBigDecimal(oneMap.get("lineId")));
+                String lastLineName = lastLineMap.get("lastLineName").toString();
+                BigDecimal segmentSqe = DataChange.dataToBigDecimal(lastLineMap.get("segmentSqe"));
+                TmstruckWeightResult tmsTruckWeightResult1  = tmstruckWeightResultMapper.selectByPrimaryKey(tmstruckWeightResult.getWeightTaskResultId());
+                if("计毛".equals(lastLineName) && tmstruckWeightResult != null && tmstruckWeightResult.getResultGrossWeight() != null
+                        && tmsTruckWeightResult1.getGrossSegmentSqe().compareTo(segmentSqe) == 0) {
+                    omstruckOrderMapper.updateOrderStatus(DataChange.dataToBigDecimal(oneMap.get("orderIds")));
+                }
+                if("计皮".equals(lastLineName) && tmstruckWeightResult != null && tmstruckWeightResult.getResultTareWeight() != null
+                        && tmsTruckWeightResult1.getTareSegmentSqe().compareTo(segmentSqe) == 0) {
+                    omstruckOrderMapper.updateOrderStatus(DataChange.dataToBigDecimal(oneMap.get("orderIds")));
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         //推送数据
         try {
             utilsService.pushMesToWebsocket((String) oneMap.get("capacityNumber"), "计量");

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

@@ -1016,4 +1016,10 @@
             RC.CAPACITY_NUMBER = #{capacityNumber}
           AND OO.order_status = 5
     </select>
+    <update id="updateOrderStatus">
+        UPDATE OMSTRUCK_ORDER OO
+        SET OO.ORDER_STATUS = 2,
+            OO.INSERT_UPDATE_REMARK = '到达路线最后一个环节,关闭运输订单'
+        WHERE OO.ORDER_ID = #{orderIds}
+    </update>
 </mapper>

+ 12 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.xml

@@ -1378,4 +1378,16 @@
         ON APO.PURCHASE_ORDER_ID = AIR.PURCHASE_ORDER_ID
         WHERE OO.ORDER_NUMBER = #{orderNo}
     </select>
+    <select id="getLineName" resultType="java.util.Map" parameterType="decimal">
+        SELECT RLK.LINK_NAME "lastLineName" ,
+               RLS.SEGMENT_SQE  "segmentSqe"
+               FROM RMS_LINE RL
+        LEFT JOIN RMS_LINE_SEGEMNT RLS
+        ON RLS.LINE_ID = RL.LINE_ID
+        LEFT JOIN RMS_LINK RLK
+        ON RLK.LINK_ID = RLS.SEGMENT_START_NODE_ID
+        where rl.line_id = #{lineId}
+        ORDER BY RLS.SEGMENT_SQE DESC
+        FETCH FIRST 1 ROW ONLY
+    </select>
 </mapper>

+ 2 - 1
src/main/resources/com/steerinfo/dil/mapper/UtilsMapper.xml

@@ -166,7 +166,8 @@
                TTR.RESULT_TOTAL_ID  "totalId",
                Rc.CAPACITY_NUMBER   "capacityNumber",
                OO.ORDER_LINE_SEQUENCE   "Sqe",
-               OO.ORDER_ID          "orderIds"
+               OO.ORDER_ID          "orderIds",
+               OO.LINE_ID           "lineId"
         from OMSTRUCK_ORDER OO
                  left join TMSTRUCK_TOTAL_RESULT TTR
                            on TTR.ORDER_ID = OO.ORDER_ID