From e64a43ef4174f9338b807d5587632f281be40b3b Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期六, 20 七月 2024 17:37:06 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java  |    5 +
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java            |   19 ++++
 src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java             |    1 
 src/main/java/com/zy/asrs/service/WrkMastExecuteService.java           |    1 
 src/main/resources/mapper/WrkMastExecuteMapper.xml                     |    6 +
 src/main/java/com/zy/asrs/task/JarBurialEscalationScheduler.java       |   52 +++++++++++++
 src/main/java/com/zy/asrs/task/handler/JarBurialEscalationHandler.java |  122 ++++++++++++++++++++++++++++++
 7 files changed, 206 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
index 8c51555..75bb7ce 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastExecuteMapper.java
@@ -30,6 +30,7 @@
 
 
     Integer getWrkMastExecuteByJarIdCount(@Param("jarId") Integer jarId);
+    Integer getWrkMastExecuteByjarReginCount(@Param("jarRegin") Integer jarId);
 
     Integer selectNoStart(@Param("jarRegin") Integer jarRegin);
     Integer selectNoStartCharge(@Param("jarRegin") Integer jarRegin);
diff --git a/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java b/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java
index aa41314..fe3dc9a 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastExecuteService.java
@@ -23,6 +23,7 @@
     List<WrkMastExecute> selectWrkMastExecuteByWrk(WrkMastExecute wrkMastExecute);
 
     Integer getWrkMastExecuteByJarIdCount(Integer jarId);
+    Integer getWrkMastExecuteByjarReginCount(Integer jarId);
 
     Integer selectNoStart(Integer jarRegin);
 
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index b07a549..1200b6c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -5278,6 +5278,10 @@
                             return false;
                         }
 
+                        if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJar.getRegion())!=0){
+                            return false;
+                        }
+
                         //闂ㄤ綔涓�  鏃�
                         //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��   Other宸﹂棬鍏抽棴
                         if (jarProtocol.isAutoing() && jarProtocol.jarErr==0
@@ -5331,6 +5335,10 @@
 
             BasJarMast basJarMastSign = basJarMastList.get(0);
             if (Cools.isEmpty(basJarMastSign)){
+                return false;
+            }
+
+            if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJarMastSign.getJarRegin())!=0){
                 return false;
             }
 //            //鍒ゆ柇灏忚溅鐘舵��
@@ -5413,6 +5421,10 @@
             if (Cools.isEmpty(basJarMastSign)){
                 return false;
             }
+
+            if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJarMastSign.getJarRegin())!=0){
+                return false;
+            }
 //            //鍒ゆ柇灏忚溅鐘舵��
 //            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),2,SteStatusType.IDLE)){
 //                return false;
@@ -5489,6 +5501,9 @@
 
             BasJarMast jarMastByJarIdMin = basJarMastService.getJarMastByJarIdMin(jarSlave.getId(),8,8);
             if (Cools.isEmpty(jarMastByJarIdMin)){
+                return false;
+            }
+            if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(jarMastByJarIdMin.getJarRegin())!=0){
                 return false;
             }
 
@@ -5577,6 +5592,10 @@
             if (Cools.isEmpty(jarMastByJarIdMin)){
                 return false;
             }
+
+            if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(jarMastByJarIdMin.getJarRegin())!=0){
+                return false;
+            }
 //
 //            //鍒ゆ柇灏忚溅鐘舵��
 //            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarOutSte().get(0).getSteNo(),3,SteStatusType.IDLE)){
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
index 67718ce..6b05400 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastExecuteServiceImpl.java
@@ -56,6 +56,11 @@
     }
 
     @Override
+    public Integer getWrkMastExecuteByjarReginCount(Integer jarId) {
+        return this.baseMapper.getWrkMastExecuteByjarReginCount(jarId);
+    }
+
+    @Override
     public Integer selectNoStart(Integer jarRegin) {
         return this.baseMapper.selectNoStart(jarRegin);
     }
diff --git a/src/main/java/com/zy/asrs/task/JarBurialEscalationScheduler.java b/src/main/java/com/zy/asrs/task/JarBurialEscalationScheduler.java
new file mode 100644
index 0000000..0ac9f54
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/JarBurialEscalationScheduler.java
@@ -0,0 +1,52 @@
+package com.zy.asrs.task;
+
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.handler.JarBurialEscalationHandler;
+import com.zy.asrs.task.handler.ScaleEscalationHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by Monkey D. Luffy on 2024.07.20
+ * 浜冲窞鐓滄槦..............浠ヤ笅.............浜冲窞鐓滄槦.............涓婁紶寮�寮忓喎鍗翠俊鍙�
+ */
+@Slf4j
+@Component
+public class JarBurialEscalationScheduler {
+
+    @Autowired
+    private JarBurialEscalationHandler jarBurialEscalationHandler;
+
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute(){//涓婁紶寮�寮忓喎鍗翠俊鍙�
+        int[] jarList =new int[]{1,2,3,4,5,6};
+        for (int jarNo : jarList){
+            try{
+                ReturnT<String> result = jarBurialEscalationHandler.start(jarNo,10,11);
+                if (result.getCode()==200){
+                    break;
+                }
+            }catch (Exception e){
+                log.error("鍐峰嵈姹狅細"+jarNo+"==銆嬩笂浼犲紑寮忓喎鍗翠俊鍙峰鐞嗗け璐ワ紝寮傚父淇℃伅锛�"+e);
+            }
+        }
+    }
+
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute2(){//涓婁紶寮�寮忓喎鍗翠俊鍙�
+        int[] jarList =new int[]{1,2,3,4,5,6};
+        for (int jarNo : jarList){
+            try{
+                ReturnT<String> result = jarBurialEscalationHandler.start(jarNo,11,12);
+                if (result.getCode()==200){
+                    break;
+                }
+            }catch (Exception e){
+                log.error("鍐峰嵈姹狅細"+jarNo+"==銆嬩笂浼犲紑寮忓喎鍗翠俊鍙峰鐞嗗け璐ワ紝寮傚父淇℃伅锛�"+e);
+            }
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/JarBurialEscalationHandler.java b/src/main/java/com/zy/asrs/task/handler/JarBurialEscalationHandler.java
new file mode 100644
index 0000000..b4aa1d6
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/JarBurialEscalationHandler.java
@@ -0,0 +1,122 @@
+package com.zy.asrs.task.handler;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.BasJarMast;
+import com.zy.asrs.service.*;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.common.utils.HttpHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by Monkey D. Luffy on 2024.07.20
+ * 浜冲窞鐓滄槦..............浠ヤ笅.............浜冲窞鐓滄槦.............涓婁紶寮�寮忓喎鍗翠俊鍙�
+ */
+@Slf4j
+@Service
+@Transactional
+public class JarBurialEscalationHandler extends AbstractHandler<String> {
+
+    private static final Integer jarMaxLoc = 6;
+
+    @Autowired
+    private ApiLogService apiLogService;
+    @Autowired
+    private BasJarMastService basJarMastService;
+
+//    @Value("${srHangJia.url}")
+    private String erpUrl = "10.10.11.100:8580";
+//    @Value("${srHangJia.reportOutPath}")
+    private String reportOutPath = "mes/wms-service/boxWeight";
+
+    public ReturnT<String> start(int jarNo,Integer souStatus,Integer endStatus) {
+        try{
+            List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList<Integer>() {{
+                add(souStatus);//纭寲瀹屾垚
+            }});
+            if (basJarMastList.size() != jarMaxLoc){
+                return FAIL;
+            } else {
+//                    ReturnT<String> result = postMesData(reportOutPath,1);
+//                    if (result.getCode()==200){
+                    Integer integer = basJarMastService.updateStatus(jarNo, souStatus, endStatus);
+                    if (basJarMastList.size()!=integer){
+                        log.error("{}鍙风~鍖栫綈纭寲瀹屾垚鍚庡紑闂ㄥ畬鎴愪慨鏀圭~鍖栨。妗堢姸鎬佺粨鏋滄暟閲忎笉涓�鑷达紒锛侊紒鏌ヨ璧勬枡鏁伴噺={}锛屾洿鏂拌繑鍥炴暟閲�={}",jarNo,basJarMastList.size(),integer);
+                        return FAIL;
+                    }
+                    return SUCCESS;
+//                    }else {
+//                        log.error("1妤肩炕杞噸閲忎俊鎭笂浼犲け璐�");
+//                    }
+            }
+        }catch (Exception e){
+            log.error("寮傚父锛侊紒锛�"+e);
+            return FAIL;
+        }
+    }
+
+    private ReturnT<String> postMesData(String erpPath,Object combParam){
+        if(combParam != null){
+            String response = "";
+            boolean success = false;
+            try {
+                response = new HttpHandler.Builder()
+                        .setUri(erpUrl)
+                        .setPath(erpPath)
+                        .setJson(JSON.toJSONString(combParam))
+                        .build()
+                        .doPost();
+                JSONObject jsonObject = JSON.parseObject(response);
+                if (jsonObject.getInteger("Code")==200) {
+                    success = true;
+                } else {
+                    log.error("1妤肩炕杞噸閲忎俊鎭笂浼犺姹傛帴鍙eけ璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}"+erpUrl+erpPath, JSON.toJSONString(combParam), response);
+                    throw new CoolException("涓婃姤mes绯荤粺澶辫触");
+                }
+            } catch (Exception e) {
+                log.error("fail", e);
+//                      TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return FAIL.setMsg(e.getMessage());
+            } finally {
+                try {
+                    // 淇濆瓨鎺ュ彛鏃ュ織
+                    apiLogService.save(
+                            "涓婃姤MES绯荤粺",
+                            erpUrl + erpPath,
+                            null,
+                            erpUrl,
+                            JSON.toJSONString(combParam),
+                            response,
+                            success
+                    );
+                } catch (Exception e) { log.error("", e); }
+            }
+        }
+        return SUCCESS;
+    }
+
+    public Integer getStaOther(Integer staNo){
+        switch (staNo){
+            case 118:
+                return 119;
+            case 119:
+                return 118;
+            case 120:
+                return 121;
+            case 121:
+                return 120;
+            default:
+                return 0;
+        }
+    }
+
+
+}
diff --git a/src/main/resources/mapper/WrkMastExecuteMapper.xml b/src/main/resources/mapper/WrkMastExecuteMapper.xml
index 46961cd..e3853a4 100644
--- a/src/main/resources/mapper/WrkMastExecuteMapper.xml
+++ b/src/main/resources/mapper/WrkMastExecuteMapper.xml
@@ -118,6 +118,12 @@
         and jar_id = #{jarId}
     </select>
 
+    <select id="getWrkMastExecuteByjarReginCount" resultType="Integer">
+        select count(1) from jar_wrk_mast_execute
+        where 1=1
+        and jar_regin = #{jarRegin}
+    </select>
+
     <select id="selectNoStart" resultType="Integer">
         select count(1) from jar_wrk_mast_execute
         where 1=1

--
Gitblit v1.9.1