소스 검색

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

shxiaoc 1 년 전
부모
커밋
09ff339254

+ 1 - 0
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -1912,6 +1912,7 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
             resultMap.put("result", "succeed");
         } catch (Exception e) {
             resultMap.put("result", "fail");
+            resultMap.put("errMsg", e.getMessage());
         }
         return resultMap;
     }

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

@@ -85,4 +85,11 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     String getAddressPlace(BigDecimal orderId);
 
+    //修改车牌号保留原排队记录
+    int updateCapacityIdByQueue(Map<String, Object> map);
+
+    int updateCapacityIdByQueueList(Map<String, Object> map);
+
+    String getPassthrough(BigDecimal resultTotalId);
+
 }

+ 22 - 3
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -2394,24 +2394,43 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                     }
 
                 }else{
+                    //查询运输订单的状态和总实绩ID
+                    Map<String, Object> orderMesMap = amsSaleOrderMapper.getOrderMes(mapValue);
+                    BigDecimal resultTotalId = DataChange.dataToBigDecimal(orderMesMap.get("resultTotalId"));
                     //将排队信息删掉
+                    // 修改车牌号后保留原排队记录2024年4月23日10:28:53
                     Map<String, Object> isSpellingMap = omstruckOrderMapper.getSteelIsSpelling(DataChange.dataToBigDecimal(mapValue.get("orderId")));
                     if(isSpellingMap != null && isSpellingMap.get("listId") != null){
+                        /**
                         int isSpelling = DataChange.dataToBigDecimal(isSpellingMap.get("isSpelling")).intValue();
                         if(isSpelling == 1 ){
                             result += omstruckOrderMapper.deleteSpellingList(isSpellingMap.get("listId"));
                         }else{
                             result += omstruckOrderMapper.deleteQueueList(isSpellingMap.get("listId"));
                         }
+                         */
+                        System.out.println("修改车牌号后保留原排队记录");
+                        //查询车辆是否放行
+                        isSpellingMap.put("insertUpdateRemark", "车辆排队中");
+                        String insertUpdateRemark = omstruckOrderMapper.getPassthrough(resultTotalId);
+                        if("OK".equals(insertUpdateRemark)){
+                            isSpellingMap.put("insertUpdateRemark", "车辆已放行");
+                        }
+                        //修改排队实绩车牌号
+                        isSpellingMap.put("capacityId", mapValue.get("capacityId"));
+                        result += omstruckOrderMapper.updateCapacityIdByQueue(isSpellingMap);
+                        int isSpelling = DataChange.dataToBigDecimal(isSpellingMap.get("isSpelling")).intValue();
+                        if(isSpelling != 1 ){
+                            result += omstruckOrderMapper.updateCapacityIdByQueueList(isSpellingMap);
+                        }
                     }
                     //若是接单之后还需要删除实绩且将状态变为4
-                    //查询运输订单的状态和总实绩ID
-                    Map<String, Object> orderMesMap = amsSaleOrderMapper.getOrderMes(mapValue);
-                    BigDecimal resultTotalId = DataChange.dataToBigDecimal(orderMesMap.get("resultTotalId"));
                     //删除排队实绩
+                    /**
                     if (resultTotalId !=null && !("".equals(resultTotalId))){
                         omstruckOrderMapper.deleteQueuingPerformance(resultTotalId);
                     }
+                     */
                     OmstruckOrder omstruckOrder = new OmstruckOrder();
                     omstruckOrder.setOrderId(DataChange.dataToBigDecimal(mapValue.get("orderId")));
                     // 设置新的运输订单号

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

@@ -1215,4 +1215,23 @@
         WHERE OO.ORDER_ID = #{orderId}
           AND OO.ORDER_TYPE = 1
     </select>
+
+    <update id="updateCapacityIdByQueue" parameterType="java.util.Map">
+        update QMS_QUEUE_RESULT t
+        set t.CAPACITY_ID = #{capacityId},
+        t.INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+        where t.RESULT_ID = #{resultId}
+    </update>
+
+    <update id="updateCapacityIdByQueueList" parameterType="java.util.Map">
+        update QMS_QUEUE_RESULT t
+        set t.CAPACITY_ID = #{capacityId}
+        where t.LIST_ID = #{listId}
+    </update>
+
+    <select id="getPassthrough" resultType="java.lang.String" parameterType="java.math.BigDecimal">
+        SELECT t.INSERT_UPDATE_REMARK
+        FROM TMSTRUCK_ENFACTORY_RESULT t
+        WHERE t.RESULT_TOTAL_ID = #{resultTotalId}
+    </select>
 </mapper>