From 48fd3eb0f76028005655c7bf2c5e9fdfd8394a0a Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期四, 06 三月 2025 14:42:01 +0800
Subject: [PATCH] 更改给堆垛机下发任务的次数为1

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   93 ++++++++++++++++------------------------------
 1 files changed, 32 insertions(+), 61 deletions(-)

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 1a45968..aea5740 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -109,7 +109,7 @@
     private SiteController siteController;
 
 
-    public void generateStoreWrkFile1() throws IOException, InterruptedException {
+    public synchronized void generateStoreWrkFile1() throws IOException, InterruptedException {
         try {
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
             for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -239,7 +239,9 @@
                                                 JSONObject jsonObject1 = JSON.parseObject(response);
                                                 Boolean bool = false;
                                                 if(jsonObject1.get("ReturnStatus").equals(0)){
+                                                    taskWrk.setStatus(2);//娲惧彂浠诲姟
                                                     bool = true;
+                                                    taskWrkService.updateById(taskWrk);
                                                 }
                                                 apiLogService.save("wcs寮�濮嬪叆搴撲换鍔′笂鎶ms"
                                                         , wmsUrl + TaskExecCallback
@@ -311,7 +313,7 @@
         }
     }
 
-    public void generateStoreWrkFile() throws IOException, InterruptedException {
+    public synchronized void generateStoreWrkFile() throws IOException, InterruptedException {
         try {
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
             for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -588,7 +590,7 @@
     /**
      * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
      */
-    public void crnStnToOutStn() {
+    public synchronized void crnStnToOutStn() {
         for (CrnSlave crnSlave : slaveProperties.getCrn()) {
             // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
             for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
@@ -693,7 +695,7 @@
     /**
      * 鍏ュ簱  ===>>  鍫嗗灈鏈虹珯鍒板簱浣�
      */
-    public void crnStnToLoc(CrnSlave slave, CrnProtocol crnProtocol) throws IOException {
+    public synchronized void crnStnToLoc(CrnSlave slave, CrnProtocol crnProtocol) throws IOException {
         for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) {
             List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", slave.getId()).eq("crn_stn", crnStn.getStaNo()));
             for (StaDesc staDesc : staDescs) {
@@ -738,7 +740,7 @@
 
 //                int workNo = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
 //                taskWrk.setWrkNo(workNo);//宸ヤ綔鍙�
-                taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
+//                taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
                 taskWrk.setAssignTime(new Date());//娲惧彂鏃堕棿
                 taskWrk.setWrkSts(3);//宸ヤ綔鐘舵�� 3.鍚婅溅鍏ュ簱
                 taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
@@ -778,7 +780,7 @@
      * 鍑哄簱  ===>>  搴撲綅鍒板爢鍨涙満绔�
      * 2022-06-09 TQS淇敼锛屾煡璇㈠伐浣滄。LIST锛岄亶鍘嗕笅鍙戯紝闃叉绗竴涓换鍔″牭濉炲嚭搴�
      */
-    public void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol) {
+    public synchronized void  locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol) {
         List<TaskWrk> taskWrksInitial = taskWrkMapper.selectPakOut(slave.getId(), null);
         if (taskWrksInitial.size() == 0) {
             return;
@@ -863,36 +865,6 @@
                         command.setDestinationPosZ(crnStn.getLev().shortValue());     // 鐩爣搴撲綅灞�
                         command.setCommand((short) 1);
 
-                        if(Cools.isEmpty(taskWrk.getMarkStart())||taskWrk.getMarkStart()==0){
-                            HashMap<String, Object> hashMap = new HashMap<>();
-                            hashMap.put("TaskNo",taskWrk.getTaskNo());
-                            String response = "";
-                            try {
-                                //寮�濮嬩笂鎶�,鍑哄簱浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
-                                response = new HttpHandler.Builder()
-                                        .setUri(wmsUrl)
-                                        .setPath(taskStatusFeedbackPath)
-                                        .setJson(JSON.toJSONString(hashMap))
-                                        .build()
-                                        .doPost();
-                                JSONObject jsonObject = JSON.parseObject(response);
-                                Boolean bool = false;
-                                if(jsonObject.get("ReturnStatus").equals(0)){
-                                    bool = true;
-                                    taskWrk.setMarkStart(1);
-                                }
-                                apiLogService.save("wcs寮�濮嬩换鍔′笂鎶ms"
-                                        , wmsUrl + TaskExecCallback
-                                        , null
-                                        , "127.0.0.1"
-                                        , JSON.toJSONString(hashMap)
-                                        , response
-                                        , bool
-                                );
-                            } catch (Exception e) {
-                            }
-                        }
-
                         if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, command), false)) {
                             log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(command));
                             throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
@@ -901,7 +873,6 @@
                                 // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
                                 Date now = new Date();
                                 taskWrk.setWrkSts(12);
-                                taskWrk.setStatus(2);
                                 taskWrk.setModiTime(now);
                                 if (taskWrkMapper.updateById(taskWrk) == 0) {
                                     log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
@@ -947,7 +918,7 @@
     /**
      * 搴撲綅绉昏浆
      */
-    public void locToLoc(CrnSlave slave, CrnProtocol crnProtocol) {
+    public synchronized void locToLoc(CrnSlave slave, CrnProtocol crnProtocol) {
         for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
             // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑绉诲簱宸ヤ綔妗�
             List<TaskWrk> taskWrks = taskWrkMapper.selectList(new EntityWrapper<TaskWrk>()
@@ -1094,7 +1065,7 @@
     /**
      * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
      */
-    public void storeFinished() throws InterruptedException {
+    public synchronized void storeFinished() throws InterruptedException {
         for (CrnSlave crn : slaveProperties.getCrn()) {
             // 鑾峰彇鍫嗗灈鏈轰俊鎭�
             CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
@@ -1168,7 +1139,7 @@
     /**
      * 鍫嗗灈鏈哄紓甯镐俊鎭褰�
      */
-    public void recCrnErr() {
+    public synchronized void recCrnErr() {
         Date now = new Date();
         for (CrnSlave crn : slaveProperties.getCrn()) {
             // 鑾峰彇鍫嗗灈鏈轰俊鎭�
@@ -1283,26 +1254,26 @@
         }
     }
 
-    //鑷姩娲惧彂浠诲姟
-    public void autoDistribute() {
-        Config config = configService.selectByCode("autoDistribute");
-        if (config == null) {
-            return;
-        }
-
-        if (config.getValue().equals("false")) {//鍒ゆ柇鏄惁寮�鍚嚜鍔ㄦ淳鍙戜换鍔�
-            return;
-        }
-
-        for (TaskWrk taskWrk : taskWrkService.selectReceive()) {
-
-            try {
-                taskWrkService.distribute(taskWrk.getTaskNo(), 9527L);
-            } catch (CoolException e) {
-                log.info(e.getMessage());
-            }
-        }
-    }
+//    //鑷姩娲惧彂浠诲姟
+//    public synchronized void autoDistribute() {
+//        Config config = configService.selectByCode("autoDistribute");
+//        if (config == null) {
+//            return;
+//        }
+//
+//        if (config.getValue().equals("false")) {//鍒ゆ柇鏄惁寮�鍚嚜鍔ㄦ淳鍙戜换鍔�
+//            return;
+//        }
+//
+//        for (TaskWrk taskWrk : taskWrkService.selectReceive()) {
+//
+//            try {
+//                taskWrkService.distribute(taskWrk.getTaskNo(), 9527L);
+//            } catch (CoolException e) {
+//                log.info(e.getMessage());
+//            }
+//        }
+//    }
 
     //agv鍙栨斁璐т换鍔″畬鎴�
     public synchronized void autoCompleteAGV() {
@@ -1486,7 +1457,7 @@
         int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
         taskWrk.setTaskNo(result.getTaskNo());//浠诲姟鍙�
         taskWrk.setWrkNo(workNo1);
-        taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//浠诲姟鐘舵�侊細娲惧彂
+        taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
         taskWrk.setCreateTime(now);
         taskWrk.setIoType(1);//浠诲姟绫诲瀷
         taskWrk.setIoPri(13);//浼樺厛绾�

--
Gitblit v1.9.1