From 95a8a2bd5b418980860fcaac6a6f5293e9cd65f2 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 27 十一月 2023 16:44:37 +0800
Subject: [PATCH] #console 下发输送线和堆垛机命令

---
 src/main/java/com/zy/asrs/controller/SiteController.java    |    6 +-
 src/main/java/com/zy/asrs/controller/ConsoleController.java |   10 +++
 src/main/webapp/views/realtimeWatch/console.html            |  106 +++++++++++++++++++++++++++++++----
 src/main/java/com/zy/asrs/domain/vo/CrnDetailVo.java        |    6 ++
 4 files changed, 112 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index 6a5eb26..d56f44d 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -17,6 +17,7 @@
 import com.zy.asrs.mapper.BasCrnErrorMapper;
 import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.mapper.ReportQueryMapper;
+import com.zy.asrs.service.BasCrnpService;
 import com.zy.asrs.service.BasDevpService;
 import com.zy.asrs.service.DeviceErrorService;
 import com.zy.asrs.service.WrkMastService;
@@ -67,6 +68,8 @@
     private ReportQueryMapper reportQueryMapper;
     @Autowired
     private DeviceErrorService deviceErrorService;
+    @Autowired
+    private BasCrnpService basCrnpService;
 
     @PostMapping("/system/running/status")
     @ManagerAuth(memo = "绯荤粺杩愯鐘舵��")
@@ -310,6 +313,11 @@
         CrnDetailVo vo = new CrnDetailVo();
         for (CrnSlave crnSlave : slaveProperties.getCrn()) {
             if (crnSlave.getId().equals(crnNo)) {
+                BasCrnp basCrnp = basCrnpService.selectById(crnNo);
+                if (basCrnp == null) {
+                    return R.error("鏁版嵁搴撶淮鎶ゅ紓甯�");
+                }
+
                 SiemensCrnThread crnThread = (SiemensCrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId());
                 CrnProtocol crnProtocol = crnThread.getCrnProtocol();
                 vo.setCrnNo(crnNo);
@@ -334,6 +342,8 @@
                         vo.setError("");    // todo
                     }
                 }
+                vo.setInEnable(basCrnp.getInEnable());//鍙叆
+                vo.setOutEnable(basCrnp.getOutEnable());//鍙嚭
                 return R.ok().add(vo);
             }
         }
diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index 9c28099..90caa8f 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -198,9 +198,9 @@
     public R siteDetlUpdate(@RequestParam Integer devNo,
                             @RequestParam Short workNo,
                             @RequestParam Short staNo,
-                            @RequestParam String pakMk,
-                            @RequestParam Boolean inEnable,
-                            @RequestParam Boolean outEnable
+                            @RequestParam(required = false) String pakMk,
+                            @RequestParam(required = false) Boolean inEnable,
+                            @RequestParam(required = false) Boolean outEnable
     ) {
         BasDevp basDevp = basDevpService.selectById(devNo);
         if (basDevp == null) {
diff --git a/src/main/java/com/zy/asrs/domain/vo/CrnDetailVo.java b/src/main/java/com/zy/asrs/domain/vo/CrnDetailVo.java
index 434cedc..54ad575 100644
--- a/src/main/java/com/zy/asrs/domain/vo/CrnDetailVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/CrnDetailVo.java
@@ -39,4 +39,10 @@
     // 寮傚父
     private String error = "";
 
+    // 鍙叆
+    private String inEnable = "";
+
+    // 鍙嚭
+    private String outEnable = "";
+
 }
diff --git a/src/main/webapp/views/realtimeWatch/console.html b/src/main/webapp/views/realtimeWatch/console.html
index ebca8ce..fbbfd6a 100644
--- a/src/main/webapp/views/realtimeWatch/console.html
+++ b/src/main/webapp/views/realtimeWatch/console.html
@@ -7,9 +7,6 @@
     <link rel="stylesheet" href="../../static/wms/layui/css/layui.css" media="all">
     <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all">
     <link rel="stylesheet" href="../../static/wms/css/common.css" media="all">
-
-<!--    <script src="../../static/wcs/js/jquery/jquery-3.3.1.min.js"></script>-->
-<!--    <script src="../../static/wcs/js/layer/layer.js"></script>-->
     <script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script>
     <script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script>
     <script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script>
@@ -136,7 +133,7 @@
                         <span>鍫嗗灈鏈哄彿锛�</span>
                     </div>
                     <div class="form-item-input">
-                        <input type="text" name="crnNo" value="">
+                        <input type="text" name="crnNo" value="" id="crnNo">
                     </div>
                 </div>
                 <!-- 宸ヤ綔鍙� -->
@@ -220,6 +217,14 @@
                         <input type="text" name="error" value="">
                     </div>
                 </div>
+                <!-- 鎿嶄綔鎸夐挳 -->
+                <div class="form-item" style="display: flex;">
+                    <div class="form-item-input">
+                        <div>鍏ュ簱锛氬紑<input type="radio" name="pakIn" id="pakInY" value="1"> 鍏�<input type="radio" name="pakIn" id="pakInN" value="0"/></div>
+                        <div>鍑哄簱锛氬紑<input type="radio" name="pakOut" id="pakOutY" value="1"> 鍏�<input type="radio" name="pakOut" id="pakOutN" value="0"/></div>
+                    </div>
+                    <div><a id="crnCommand" class="layui-btn">涓嬪彂鍛戒护</a></div>
+                </div>
             </form>
         </div>
         <!-- 杈撻�佽澶囧脊绐� -->
@@ -236,7 +241,7 @@
                         <span>璁惧鍙凤細</span>
                     </div>
                     <div class="form-item-input">
-                        <input type="text" name="siteId" value="">
+                        <input type="text" name="siteId" value="" id="devpSiteId">
                     </div>
                 </div>
                 <!-- 宸ヤ綔鍙� -->
@@ -245,7 +250,7 @@
                         <span>宸ヤ綔鍙凤細</span>
                     </div>
                     <div class="form-item-input">
-                        <input type="text" name="workNo" value="">
+                        <input type="text" name="workNo" value="" id="devpWorkNo">
                     </div>
                 </div>
                 <!-- 宸ヤ綔鐘舵�� -->
@@ -317,7 +322,7 @@
                         <span>鐩爣绔欙細</span>
                     </div>
                     <div class="form-item-input">
-                        <input type="text" name="staNo" value="">
+                        <input type="text" name="staNo" value="" id="devpStaNo">
                     </div>
                 </div>
                 <!-- 婧愬簱浣� -->
@@ -338,7 +343,10 @@
                         <input type="text" name="locNo" value="">
                     </div>
                 </div>
-
+                <!-- 鎿嶄綔鎸夐挳 -->
+                <div class="form-item">
+                    <a id="devpCommand" class="layui-btn">涓嬪彂鍛戒护</a>
+                </div>
             </form>
         </div>
     </div>
@@ -448,12 +456,27 @@
             },
             method: 'post',
             success: function (res) {
+                console.log(res)
                 for (var val in res.data) {
-                    var find = $("#crnWindow").find(":input[name='" + val + "']");
-                    if (find[0].type === 'text') {
-                        find.val(res.data[val]);
-                    } else if (find[0].type === 'checkbox') {
-                        find.attr("checked", res.data[val] === 'Y');
+                    if (val === "inEnable") {
+                        if (res.data[val] === 'Y') {
+                            $("#pakInY").prop("checked", true);
+                        }else{
+                            $("#pakInN").prop("checked", true);
+                        }
+                    }else if (val === "outEnable") {
+                        if (res.data[val] === 'Y') {
+                            $("#pakOutY").prop("checked", true);
+                        }else{
+                            $("#pakOutN").prop("checked", true);
+                        }
+                    }else {
+                        var find = $("#crnWindow").find(":input[name='" + val + "']");
+                        if (find[0].type === 'text') {
+                            find.val(res.data[val]);
+                        } else if (find[0].type === 'checkbox') {
+                            find.attr("checked", res.data[val] === 'Y');
+                        }
                     }
                 }
             }
@@ -763,5 +786,62 @@
         $("#site-" + id).animate({top: targetTop + 'px'}, 1000);
     }
 
+    //涓嬪彂杈撻�佺嚎鍛戒护
+    $("#devpCommand").on("click", () => {
+        let siteId = $("#devpSiteId").val()//璁惧id
+        let wrkNo = $("#devpWorkNo").val()//宸ヤ綔鍙�
+        let staNo = $("#devpStaNo").val()//鐩爣绔�
+
+        $.ajax({
+            url: baseUrl+"/site/detl/update",
+            headers: {'token': localStorage.getItem('token')},
+            data: {
+                devNo: siteId,
+                workNo: wrkNo,
+                staNo: staNo,
+            },
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200){
+                    layer.msg("涓嬪彂鎴愬姛",{icon: 1,});
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                }else {
+                    layer.msg(res.msg, {icon: 2});
+                }
+            }
+        })
+    });
+
+    //涓嬪彂鍫嗗灈鏈哄懡浠�
+    $("#crnCommand").on("click", () => {
+        let crnNo = $("#crnNo").val()//璁惧id
+        var pakIn = $('input[name="pakIn"]:checked').val();
+        var pakOut = $('input[name="pakOut"]:checked').val();
+
+        console.log(pakIn,pakOut)
+
+        $.ajax({
+            url: baseUrl + "/basCrnp/update/auth",
+            headers: {
+                'token': localStorage.getItem('token')
+            },
+            data: {
+                crnNo: crnNo,
+                inEnable: pakIn == 1 ? "Y" : "N",
+                outEnable: pakOut == 1 ? "Y" : "N"
+            },
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200){
+                    layer.msg("涓嬪彂鎴愬姛",{icon: 1,});
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                }else {
+                    layer.msg(res.msg, {icon: 2});
+                }
+            }
+        });
+    });
 
 </script>
\ No newline at end of file

--
Gitblit v1.9.1