From bc48a855d98e360042a7e2fff5594a91a82578c6 Mon Sep 17 00:00:00 2001
From: taisheng <taisheng@qq.com>
Date: 星期四, 24 七月 2025 16:16:33 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/TaskLogScheduler.java        |    3 +
 src/main/java/com/zy/asrs/controller/ConsoleController.java |   46 +++++++++++++++
 src/main/java/com/zy/asrs/controller/OpenController.java    |   45 +++++++++++++++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |    2 
 src/main/webapp/views/index.html                            |   45 +++++++++++++++
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |    1 
 src/main/resources/application.yml                          |    3 
 7 files changed, 144 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index d56f44d..40b4242 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -38,6 +38,8 @@
 import com.zy.core.thread.BarcodeThread;
 import com.zy.core.thread.ScaleThread;
 import com.zy.core.thread.SiemensCrnThread;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -70,6 +72,8 @@
     private DeviceErrorService deviceErrorService;
     @Autowired
     private BasCrnpService basCrnpService;
+    @Autowired
+    private ConfigService configService;
 
     @PostMapping("/system/running/status")
     @ManagerAuth(memo = "绯荤粺杩愯鐘舵��")
@@ -96,6 +100,48 @@
         return R.ok().add(Cools.add("status", SystemProperties.WCS_RUNNING_STATUS.get()));
     }
 
+    @GetMapping("/switchDemo")
+    public R switchDemo() {
+        //鍒囨崲婕旂ず妯″紡
+        Config demoEnableConfig = configService.selectByCode("demoEnable");
+        if(demoEnableConfig == null){
+            return R.error("婕旂ず妯″紡鍙傛暟涓嶅瓨鍦�");
+        }
+
+        HashMap<String, Object> map = new HashMap<>();
+        if (demoEnableConfig.getValue().equals("true")) {
+            //寮�鍚姸鎬侊紝鍙樻洿鍏抽棴
+            demoEnableConfig.setValue("false");
+            configService.updateById(demoEnableConfig);
+
+            map.put("status", false);
+        }else {
+            //鍏抽棴鐘舵�侊紝鍙樻洿寮�鍚�
+            demoEnableConfig.setValue("true");
+            configService.updateById(demoEnableConfig);
+
+            map.put("status", true);
+        }
+        return R.ok().add(map);
+    }
+
+    @GetMapping("/getDemoStatus")
+    public R getDemoStatus() {
+        //鍒囨崲婕旂ず妯″紡
+        Config demoEnableConfig = configService.selectByCode("demoEnable");
+        if(demoEnableConfig == null){
+            return R.error("婕旂ず妯″紡鍙傛暟涓嶅瓨鍦�");
+        }
+
+        HashMap<String, Object> map = new HashMap<>();
+        boolean status = false;
+        if(demoEnableConfig.getValue().equals("true")){
+            status = true;
+        }
+        map.put("status", status);
+        return R.ok().add(map);
+    }
+
     /****************************************************************/
     /************************** 瀹炴椂鏁版嵁 ******************************/
     /****************************************************************/
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index a2632f0..d41633b 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -12,9 +12,11 @@
 import com.zy.asrs.entity.param.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.Utils;
+import com.zy.common.utils.HttpHandler;
 import com.zy.common.web.BaseController;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
@@ -48,6 +50,11 @@
     @Autowired
     private BasCrnErrorService basCrnErrorService;
 
+    @Value("${agv.url}")
+    private String agvUrl;
+    @Value("${agv.bindPodAndBerth}")
+    private String bindPodAndBerth;
+
     private static final boolean auth = true;
 
     public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{
@@ -65,8 +72,46 @@
             return R.error("浠诲姟涓嶅瓨鍦�");
         }
 
+        if (taskWrk.getTargetPoint().equals("0900601")) {
+            HashMap<String, Object> requestParam = new HashMap<>();
+
+            int nextInt = new Random().nextInt(100);
+            requestParam.put("reqCode", taskWrk.getTaskNo() + "-" + nextInt);
+            requestParam.put("podCode", param.get("podCode"));
+            requestParam.put("positionCode", taskWrk.getTargetPoint());
+            requestParam.put("indBind", 0);
+
+            String response = null;
+            boolean requestStatus = false;
+            try {
+                log.info("WCS瑙g粦AGV璐ф灦={}", taskWrk);
+                response = new HttpHandler.Builder()
+                        .setUri(agvUrl)
+                        .setPath(bindPodAndBerth)
+                        .setJson(JSON.toJSONString(requestParam))
+                        .build()
+                        .doPost();
+                JSONObject jsonObject = JSON.parseObject(response);
+                if (jsonObject.get("code").equals("0")) {
+                    requestStatus = true;
+                }
+            } catch (Exception e) {
+                log.error("WCS娲惧彂浠诲姟缁橝GV澶辫触{},杩斿洖鍊�={}", taskWrk, response);
+            } finally {
+                apiLogService.save("WCS娲惧彂浠诲姟缁橝GV"
+                        , agvUrl + bindPodAndBerth
+                        , null
+                        , "127.0.0.1"
+                        , JSON.toJSONString(requestParam)
+                        , response
+                        , requestStatus
+                );
+            }
+        }
+
         taskWrk.setStatus(TaskStatusType.COMPLETE.id);
         taskWrk.setModiTime(new Date());
+        taskWrk.setBarcode(param.get("podCode").toString());
         taskWrkService.updateById(taskWrk);
         return R.ok();
     }
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 c90a68e..618adbf 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -198,6 +198,7 @@
         taskWrk.setIoPri(100);//浼樺厛绾�
         taskWrk.setStartPoint(locMast1.getLocNo());
         taskWrk.setTargetPoint("101");//缁堢偣
+        taskWrk.setBarcode(locMast1.getBarcode());
         boolean result = taskWrkService.insert(taskWrk);
 
         locMast1.setLocSts("R");
@@ -257,6 +258,7 @@
         taskWrk.setOriginStartPoint("1");
         taskWrk.setOriginTargetPoint(String.valueOf(Utils.getLev(locMast1.getLocNo())));
         taskWrk.setTargetPoint(locMast1.getLocNo());//缁堢偣
+        taskWrk.setBarcode(locMast.getBarcode());
         boolean result = taskWrkService.insert(taskWrk);
 
         locMast1.setLocSts("S");
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index f25de8e..b382e51 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -127,6 +127,7 @@
         taskWrk.setIoType(4);//AGV鎼繍
         taskWrk.setStartPoint(param.getOriginPoint());//鍙栬揣鐐�
         taskWrk.setTargetPoint(param.getTargetPoint());//鏀捐揣鐐�
+        taskWrk.setBarcode(startLocMast.getBarcode());
 
         boolean insert = taskWrkService.insert(taskWrk);
         if (!insert) {
diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
index c54e0fb..b119d10 100644
--- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -122,6 +122,7 @@
                     //鏇存柊婧愬簱浣嶇姸鎬佷负鍦ㄥ簱
                     LocMast locMast = locMastService.selectByLocNo("0900601");
                     locMast.setLocSts("F");
+                    locMast.setBarcode(taskWrk.getBarcode());
                     locMastService.updateById(locMast);
                 }
 
@@ -144,6 +145,7 @@
                 //鏇存柊婧愬簱鐘舵�佷负鍦ㄥ簱
                 LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getStartPoint());
                 locMast2.setLocSts("F");
+                locMast2.setBarcode(taskWrk.getBarcode());
                 locMastService.updateById(locMast2);
 
                 taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿
@@ -153,6 +155,7 @@
                 //鏇存柊婧愬簱浣嶇姸鎬佷负鍦ㄥ簱
                 LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
                 locMast.setLocSts("F");
+                locMast.setBarcode(taskWrk.getBarcode());
                 locMastService.updateById(locMast);
 
                 //鏇存柊鐩爣搴撶姸鎬佷负绌哄簱浣�
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index db67086..694b07b 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -72,4 +72,5 @@
 
 agv:
   url: 10.10.20.160:8181
-  applyTask: /rcms/services/rest/hikRpcService/genAgvSchedulingTask
\ No newline at end of file
+  applyTask: /rcms/services/rest/hikRpcService/genAgvSchedulingTask
+  bindPodAndBerth: /rcms/services/rest/hikRpcService/bindPodAndBerth
\ No newline at end of file
diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html
index ee9c0c7..7a90cad 100644
--- a/src/main/webapp/views/index.html
+++ b/src/main/webapp/views/index.html
@@ -43,6 +43,9 @@
 <!--      <li class="layui-nav-item" lay-unselect>-->
 <!--        <a ew-event="note" title="渚跨"><i class="layui-icon layui-icon-note"></i></a>-->
 <!--      </li>-->
+      <li class="layui-nav-item" lay-unselect id="demoButton">
+        <div style="color: red;" id="demoText">婕旂ず妯″紡-宸插叧闂�</div>
+      </li>
       <li class="layui-nav-item" lay-unselect id="licenseShow" style="display: none;user-select: none;">
         <div style="color: red;">璁稿彲璇佹湁鏁堟湡锛�<span id="licenseDays">29</span>澶�</div>
       </li>
@@ -121,6 +124,48 @@
     }
 
     $.ajax({
+      url: baseUrl + "/console/getDemoStatus",
+      headers: {'token': localStorage.getItem('token')},
+      method: 'GET',
+      success: function (res) {
+        if (res.code === 200) {
+          let data = res.data;
+          if (data.status) {
+            $("#demoText").text("婕旂ず妯″紡-杩愯涓�")
+          }else {
+            $("#demoText").text("婕旂ず妯″紡-宸插叧闂�")
+          }
+        } else if (res.code === 403) {
+          top.location.href = baseUrl + "/login";
+        } else {
+          layer.msg(res.msg, {icon: 2});
+        }
+      }
+    });
+
+    $("#demoButton").on("click",() => {
+      $.ajax({
+        url: baseUrl + "/console/switchDemo",
+        headers: {'token': localStorage.getItem('token')},
+        method: 'GET',
+        success: function (res) {
+          if (res.code === 200) {
+            let data = res.data;
+            if (data.status) {
+              $("#demoText").text("婕旂ず妯″紡-杩愯涓�")
+            }else {
+              $("#demoText").text("婕旂ず妯″紡-宸插叧闂�")
+            }
+          } else if (res.code === 403) {
+            top.location.href = baseUrl + "/login";
+          } else {
+            layer.msg(res.msg, {icon: 2});
+          }
+        }
+      });
+    })
+
+    $.ajax({
       url: baseUrl + "/menu/auth",
       headers: {'token': localStorage.getItem('token')},
       method: 'POST',

--
Gitblit v1.9.1