Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

zengyf 2 лет назад
Родитель
Сommit
086b51bf3f

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

@@ -80,4 +80,6 @@ public interface QmsQueueListMapper extends IBaseMapper<QmsQueueList, BigDecimal
 
     int selectNodeQueueCount(Map<String, Object> mesMap);
 
+    int deleteListByCapacityId(BigDecimal capacityId);
+
 }

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

@@ -210,4 +210,6 @@ public interface QmsQueueResultMapper extends IBaseMapper<QmsQueueResult, BigDec
 
     int updateQmsResult(BigDecimal resultTotalId);
 
+    int getCarNumber();
+
 }

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

@@ -25,5 +25,6 @@ public interface QmsQueueSpellingListMapper extends IBaseMapper<QmsQueueSpelling
     int updateOOMLoadWarehouse(Map<String, Object> mesMap);
 
 
+    int deleteSpellingList(BigDecimal capacityId);
 
 }

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

@@ -73,5 +73,5 @@ public interface QueuingRulesMapper {
 
     int updateQRESULTEnsureTime(@Param("listId") BigDecimal listId);
 
-    Integer findStatus(Map<String,Object> map);
+    int findStatus(Map<String,Object> map);
 }

+ 13 - 2
src/main/java/com/steerinfo/dil/service/impl/QmsQueueListServiceImpl.java

@@ -10,6 +10,7 @@ import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.model.QmsQueueList;
 import com.steerinfo.dil.service.IQmsQueueListService;
 import com.steerinfo.framework.controller.RESTfulResult;
+import com.sun.org.apache.bcel.internal.generic.RETURN;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
@@ -121,13 +122,23 @@ public class QmsQueueListServiceImpl implements IQmsQueueListService {
             //单拼进入链表
             //判断单拼链表中是否有已存在此辆车正在排队
             if(qmsQueueListMapper.existsCapacity(mesMap.get("capacityId")) != null){
-                return 0;
+                try {
+                    qmsQueueListMapper.deleteListByCapacityId(DataChange.dataToBigDecimal(mesMap.get("capacityId")));
+                } catch (Exception e) {
+                    return 0;
+                }
+                //return 0;
             }
             return addListResult(mesMap, calculateGatepost());
         }else {
             //多拼进入排队队列
             if(qmsQueueSpellingListMapper.existsCapacity(mesMap.get("capacityId")) != null){
-                return 0;
+                try {
+                    qmsQueueSpellingListMapper.deleteSpellingList(DataChange.dataToBigDecimal(mesMap.get("capacityId")));
+                } catch (Exception e) {
+                    return 0;
+                }
+                //return 0;
             }
             return addSpellingListResult(mesMap, calculateGatepost());
         }

+ 3 - 20
src/main/java/com/steerinfo/dil/service/impl/QmsQueueResultServiceImpl.java

@@ -107,10 +107,8 @@ public class QmsQueueResultServiceImpl implements IQmsQueueResultService {
     @Override
     public int addQueueResult(String capacityNumber, String isPDA) {
         //获取传入的车牌号查找最近的运输订单号
-        Map<String, Object> mesMap = queuingRulesMapper.getOrderNumberByCapacityNumber(capacityNumber.split("_")[0]);
-        if(queuingRulesMapper.findStatus(mesMap)!=4){
-            return -4;//未审批的订单,不允许排队
-        }
+        String capacityNo = capacityNumber.substring(0,7);
+        Map<String, Object> mesMap = queuingRulesMapper.getOrderNumberByCapacityNumber(capacityNo);
         if(mesMap == null){
             judgeCancelSub(capacityNumber); //判断是否需要取消订阅
             return -1;
@@ -266,23 +264,8 @@ public class QmsQueueResultServiceImpl implements IQmsQueueResultService {
             Date date=call.getTime();
             Map<String,Object> map1=new HashMap<>();
             map1.put("oneDate",date);
-            RESTfulResult haveCarTruckNoList = amsFeign.getHaveCarTruckNoList(map1, 466, null, null, null, null, null);
-            Map<String,Object> data = (Map<String, Object>) haveCarTruckNoList.getData();
-            List<Map<String,Object>> data1 = (List<Map<String, Object>>) data.get("list");
             int SentCarNumber=0;
-            try {
-                for (int i=0;i<data1.size();i++){
-                    for (int j=i+1;j<data1.size();j++){
-                        if (data1.get(i).get("capacityNumber").equals(data1.get(j).get("capacityNumber"))){
-                            data1.remove(j);
-                            j--;
-                        }
-                    }
-                }
-                SentCarNumber=data1.size();
-            }catch (Exception e){
-                e.printStackTrace();
-            }
+            SentCarNumber = qmsQueueResultMapper.getCarNumber();
             //查询出销售钢材的进厂数(由于呼叫进厂页面的数据不止)
             int IntoFactoryNumber = qmsQueueResultMapper.getSteelOrderNum();
             //查询出销售钢材的出厂数

+ 4 - 1
src/main/resources/com/steerinfo/dil/mapper/QmsQueueListMapper.xml

@@ -643,6 +643,7 @@
   </delete>
 
 
+
   <update id="updateListEnFactory" parameterType="map">
     UPDATE QMS_QUEUE_LIST SET ENTRY_SURE_TIME = SYSDATE, DELETED = 2
     <if test="jobName != null">
@@ -767,5 +768,7 @@
     (SELECT QQL.LIST_NODE_ORDER FROM QMS_QUEUE_LIST QQL
     WHERE QQL.LIST_ID = #{listId})
   </select>
-
+  <delete id="deleteListByCapacityId" parameterType="java.math.BigDecimal">
+    DELETE FROM QMS_QUEUE_LIST QQL WHERE QQL.CAPACITY_ID = #{capacityId}
+  </delete>
 </mapper>

+ 27 - 0
src/main/resources/com/steerinfo/dil/mapper/QmsQueueResultMapper.xml

@@ -2495,4 +2495,31 @@
         SET QQR.UPDATE_TIME = sysdate
         where QQR.RESULT_TOTAL_ID = #{resultTotalId}
     </update>
+    <select id="getCarNumber" resultType="java.lang.Integer">
+        select count(*) from (SELECT distinct RCA.CAPACITY_NUMBER
+        FROM AMS_SALE_ORDER ASO
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+        LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
+        ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN RMS_CARRIER R_CARRIER
+        ON R_CARRIER.CARRIER_ID = ADSO.CARRIER_ID
+        LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+        ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN AMS_SALE_MATERIAL ASM
+        ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+        LEFT JOIN RMS_MATERIAL RM
+        ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+        LEFT JOIN OMSTRUCK_ORDER OO
+        ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        AND NVL(OO.ORDER_TYPE,0) in (0,1)
+        LEFT JOIN RMS_CAPACITY RCA
+        ON RCA.CAPACITY_ID = OO.CAPACITY_ID
+        WHERE ASO.SALE_TYPE = 1
+        AND ASO.DELETED = 0
+        and RCA.CAPACITY_NUMBER is not null
+        and ASM.SALE_MATERIAL_ID IS NOT NULL
+        and ASOM.SALE_DATE_OF_RECEIPT  > sysdate
+        and ASOM.SALE_DATE_OF_RECEIPT - 1 &lt; sysdate)
+    </select>
 </mapper>

+ 5 - 1
src/main/resources/com/steerinfo/dil/mapper/QmsQueueSpellingListMapper.xml

@@ -371,6 +371,7 @@
     DELETE FROM QMS_QUEUE_SPELLING_LIST WHERE QUEUE_RESULT_ID = #{queueResultId}
   </delete>
 
+
   <update id="updateListEnFactory" parameterType="map">
     UPDATE QMS_QUEUE_SPELLING_LIST QQSL
         SET QQSL.ENTRY_SURE_TIME = SYSDATE,DELETED = 2
@@ -392,5 +393,8 @@
      set MATERIAL_PRIORITY = #{id}
      where ORDER_ID = #{orderId} and MATERIAL_ID = #{materialId}
   </update>
-
+  <delete id="deleteSpellingList" parameterType="java.math.BigDecimal">
+    DELETE FROM QMS_QUEUE_SPELLING_LIST QQSL
+    WHERE QQSL.QUEUE_RESULT_ID IN (SELECT QQR.RESULT_ID FROM QMS_QUEUE_RESULT QQR WHERE QQR.CAPACITY_ID = #{capacityId})
+  </delete>
 </mapper>