Browse Source

钢材订单修改车号时保留排队记录

shxiaoc 1 year ago
parent
commit
e48972874e

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

@@ -428,5 +428,5 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     int updatePassthrough(BigDecimal resultTotalId);
 
-    int updateTotalOrderStatus(BigDecimal resultTotalId);
+    int updateTotalOrderStatus(Map<String, Object> map);
 }

+ 14 - 4
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -12,6 +12,7 @@ import com.steerinfo.dil.util.EASCapacityTestUtil;
 import com.steerinfo.dil.util.SaleLogUtil;
 import com.steerinfo.dil.util.getRequestUtils;
 import io.swagger.models.auth.In;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.tools.ant.taskdefs.Sleep;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -1102,13 +1103,22 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         try {
             //查询排队记录
             if(orderType == 1) {
+                BigDecimal resultTotalId = DataChange.dataToBigDecimal(orderMessage.get("resultTotalId"));
+                if(resultTotalId.compareTo(BigDecimal.ZERO) <= 0){
+                    throw new Exception("总实绩ID有误" + resultTotalId.doubleValue());
+                }
                 Map<String, Object> queueMap = omstruckOrderMapper.getQueueInfo(orderMessage);
-                if(queueMap != null){
-                    BigDecimal resultTotalId = DataChange.dataToBigDecimal(orderMessage.get("resultTotalId"));
-                    omstruckOrderMapper.updateTotalOrderStatus(resultTotalId);
-                    if("车辆已放行".equals(queueMap.get("insertUpdateRemark"))) {
+                if(queueMap != null && queueMap.get("resultId") != null
+                        && StringUtils.isNotEmpty(queueMap.get("resultId").toString())){
+                    Map<String, Object> qMap = new HashMap<>();
+                    qMap.put("resultTotalId", resultTotalId);
+                    qMap.put("orderStatus", "排队中");
+                    if("车辆已放行".equals(queueMap.get("insertUpdateRemark"))
+                            || queueMap.get("queueAllowTime") != null) {
+                        qMap.put("orderStatus", "已放行");
                         omstruckOrderMapper.updatePassthrough(resultTotalId);
                     }
+                    omstruckOrderMapper.updateTotalOrderStatus(qMap);
                 }
             }
         } catch (Exception e) {

+ 10 - 8
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -4638,21 +4638,23 @@
     </select>
 
     <select id="getQueueInfo" parameterType="java.util.Map" resultType="java.util.Map">
-        select LIST_ID  "listId",
-               IS_SPELLING "isSpelling",
-               RESULT_ID    "resultId",
-               INSERT_UPDATE_REMARK  "insertUpdateRemark"
-        from QMS_QUEUE_RESULT where RESULT_TOTAL_ID = #{resultTotalId} and CAPACITY_ID = #{capacityId}
+        select qqr.LIST_ID  "listId",
+               qqr.IS_SPELLING "isSpelling",
+               qqr.RESULT_ID    "resultId",
+               qqr.INSERT_UPDATE_REMARK  "insertUpdateRemark",
+               ttr.QUEUE_ALLOW_TIME "queueAllowTime"
+        FROM TMSTRUCK_TOTAL_RESULT ttr LEFT join QMS_QUEUE_RESULT qqr ON ttr.RESULT_TOTAL_ID = qqr.RESULT_TOTAL_ID
+        where qqr.RESULT_TOTAL_ID = #{resultTotalId} and qqr.CAPACITY_ID = #{capacityId}
     </select>
 
     <update id="updatePassthrough" parameterType="java.math.BigDecimal">
-        update TMSTRUCK_ENFACTORY_RESULT t set t.INSERT_UPDATE_REMARK = "OK"
+        update TMSTRUCK_ENFACTORY_RESULT t set t.INSERT_UPDATE_REMARK = 'OK'
         where t.RESULT_TOTAL_ID = #{resultTotalId}
     </update>
 
-    <update id="updateTotalOrderStatus" parameterType="java.math.BigDecimal">
+    <update id="updateTotalOrderStatus" parameterType="java.util.Map">
         UPDATE TMSTRUCK_TOTAL_RESULT
-        SET ORDER_STATUS = '排队中'
+        SET ORDER_STATUS = #{orderStatus}
         WHERE RESULT_TOTAL_ID = #{resultTotalId}
     </update>
 </mapper>