From 9167025bb8fe2f1b2c9b3d446a372c7cba16ef63 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 15 十二月 2023 17:39:01 +0800
Subject: [PATCH] #
---
 src/main/java/com/zy/asrs/controller/SiteController.java    |   88 ++++++++++++++++++++++
 src/main/java/com/zy/core/thread/SiemensCrnThread.java      |    2 
 src/main/webapp/views/deviceOperate/devpOperate.html        |   53 +++++++-----
 src/main/java/com/zy/asrs/controller/OpenController.java    |   27 ++++--
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   33 +++++++
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   13 ++
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |    7 -
 7 files changed, 179 insertions(+), 44 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index da56835..b0d3edb 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -185,12 +185,12 @@
         }
 
         Map<String,Integer> map = new HashMap<>();
-        map.put("J-1101",102);map.put("J-1102",101);
-        map.put("J-1103",106);map.put("J-1104",105);
-        map.put("J-1105",110);map.put("J-1106",109);
-        map.put("J-1107",114);map.put("J-1108",113);
-        map.put("J-1109",118);map.put("J-1110",117);
-        map.put("J-1111",122);map.put("J-1112",121);
+        map.put("J-1102",102);map.put("J-1101",101);
+        map.put("J-1103",105);map.put("J-1104",106);
+        map.put("J-1105",109);map.put("J-1106",110);
+        map.put("J-1107",113);map.put("J-1108",114);
+        map.put("J-1109",117);map.put("J-1110",118);
+        map.put("J-1111",121);map.put("J-1112",122);
         map.put("H-1102",300);map.put("H-1101",305);
         map.put("G-1102",400);map.put("G-1101",405);
 //        StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
@@ -269,10 +269,21 @@
                 StaDesc staDesc = new StaDesc();
                 if (param.getTaskType().equals("CK") && param.getTargetWharf().contains("J")){
                     staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
-                            .eq("crn_no", param.getTaskTunnel()).eq("type_no",2).lt("crn_stn", 200));
+                            .eq("crn_no",param.getTaskTunnel())
+                            .eq("type_no",2)
+                            .lt("stn_no",200));
+                }else if (param.getTaskType().equals("CK") && param.getTargetWharf().contains("H")){
+                    staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+                            .eq("crn_no",param.getTaskTunnel())
+                            .eq("type_no",2)
+                            .lt("stn_no",400)
+                            .gt("stn_no",200));
                 }else {
                     staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
-                            .eq("crn_no", param.getTaskTunnel()).eq("type_no",2).ge("crn_stn", 200));
+                            .eq("crn_no",param.getTaskTunnel())
+                            .eq("type_no",2)
+                            .lt("stn_no",500)
+                            .ge("stn_no",400));
                 }
                 param.setTargetLocationCode(staDesc.getStnNo().toString());
 
diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index 1305824..45efdff 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -232,6 +232,94 @@
         }
         return R.error("鏇存柊澶辫触");
     }
+    @PostMapping("/detl/out")
+    @ManagerAuth(memo = "淇敼绔欑偣鏁版嵁")
+    public R siteDetlout(@RequestParam Integer devNo,
+                            @RequestParam Short workNo,
+                            @RequestParam Short staNo,
+                            @RequestParam(required = false) String pakMk,
+                            @RequestParam(required = false) Boolean inEnable,
+                            @RequestParam(required = false) Boolean outEnable
+    ) {
+        BasDevp basDevp = basDevpService.selectById(devNo);
+        if (basDevp == null) {
+            return R.error("绔欑偣涓嶅瓨鍦�");
+        }
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+            Map<Integer, StaProtocol> station = devpThread.getStation();
+            for (Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
+                if (devNo.equals(entry.getKey())) {
+                    StaProtocol staProtocol = entry.getValue();
+                    if (staProtocol == null) {
+                        continue;
+                    } else {
+                        staProtocol = staProtocol.clone();
+                    }
+                    if (pakMk != null) {
+                        staProtocol.setPakMk(pakMk.equals("Y"));
+                    }
+                    if (inEnable != null) {
+                        staProtocol.setInEnable(inEnable);
+                        basDevp.setInEnable(inEnable ? "Y" : "N");
+                    }
+                    if (outEnable != null) {
+                        staProtocol.setOutEnable(outEnable);
+                        basDevp.setOutEnable(outEnable ? "Y" : "N");
+                    }
+                    staProtocol.setWorkNo((short) 0);
+                    staProtocol.setStaNo((short) 0);
+                    basDevpService.updateById(basDevp);
+                    boolean result = CommandUtils.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol), false);
+                    if (result) {
+                        return R.ok();
+                    } else {
+                        return R.error("涓嬪彂鍛戒护澶辫触");
+                    }
+                }
+            }
+        }
+        return R.error("鏇存柊澶辫触");
+    }
+    @PostMapping("/detl/in")
+    @ManagerAuth(memo = "淇敼绔欑偣鏁版嵁")
+    public R siteDetlint(@RequestParam Integer devNo,
+                         @RequestParam Short workNo,
+                         @RequestParam Short staNo,
+                         @RequestParam(required = false) String pakMk,
+                         @RequestParam(required = false) Boolean inEnable,
+                         @RequestParam(required = false) Boolean outEnable
+    ) {
+        BasDevp basDevp = basDevpService.selectById(devNo);
+        if (basDevp == null) {
+            return R.error("绔欑偣涓嶅瓨鍦�");
+        }
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            // 閬嶅巻鍏ュ簱鍙�
+            for (DevpSlave.Sta inSta : devp.getInSta()) {
+                if (!devNo.equals(inSta.getBackSta()) ){
+                    continue;
+                }
+                // 鑾峰彇鍏ュ簱绔欎俊鎭�
+                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                StaProtocol staProtocol = devpThread.getStation().get(inSta.getBackSta());
+                if (staProtocol == null) {
+                    continue;
+                } else {
+                    staProtocol = staProtocol.clone();
+                }
+                staProtocol.setWorkNo((short) 9999);
+                staProtocol.setStaNo(inSta.getStaNo().shortValue());
+                boolean result = CommandUtils.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol), false);
+                if (result) {
+                    return R.ok();
+                } else {
+                    return R.error("涓嬪彂鍛戒护澶辫触");
+                }
+            }
+        }
+        return R.error("鏇存柊澶辫触");
+    }
 
     public List<PlcErrorTableVo> staPlcErr(Map.Entry<Integer, StaProtocol> entry){
         List<PlcErrorTableVo> list = new ArrayList<>();
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 d46d702..18d1323 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -89,6 +89,9 @@
     @Autowired
     private StaDescService staDescService;
 
+    @Autowired
+    private ApiLogService apiLogService;
+
     @Value("${wms.url}")
     private String wmsUrl;
     @Value("${wms.movePath}")
@@ -194,10 +197,10 @@
                             StaDesc staDesc = new StaDesc();
                             if (devp.getId() <= 1){
                                 staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
-                                        .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).lt("crn_stn", 200));
+                                        .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).lt("stn_no", 200));
                             }else {
                                 staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
-                                        .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).ge("crn_stn", 200));
+                                        .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).lt("stn_no", 400).ge("stn_no", 250));
                             }
                             staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
                             staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
@@ -223,6 +226,14 @@
                                 log.error("wms閫氳澶辫触,"+e.getMessage());
                                 continue;
                             }
+                            apiLogService.save("wms璇锋眰鍏ュ簱璐т綅鎺ュ彛"
+                                    ,wmsUrl+"wcsManager/wcsInterface/inboundTaskApply"
+                                    ,null
+                                    ,"127.0.0.1"
+                                    ,JSON.toJSONString(toWmsDTO)
+                                    ,response
+                                    ,true
+                            );
                             JSONObject jsonObject = JSON.parseObject(response);
                             if (jsonObject.getInteger("code").equals(200)) {
                                 GetWmsDto getWmsDto = JSON.parseObject(jsonObject.get("data").toString(), GetWmsDto.class);
@@ -720,7 +731,15 @@
 
                 //鑾峰彇鎸囦护ID
                 Integer commandId = crnProtocol.getCommandId();
-                CommandInfo commandInfo = commandInfoService.selectById(commandId);
+                CommandInfo commandInfo = new CommandInfo();
+                if (Cools.isEmpty(commandId)){
+                    commandInfo = commandInfoService.selectOne(new EntityWrapper<CommandInfo>()
+                            .eq("wrk_no",crnProtocol.getTaskNo())
+                            .eq("device","Crn"));
+                }else {
+                    commandInfo = commandInfoService.selectById(commandId);
+                }
+
                 if (commandInfo == null) {
                     //鎸囦护涓嶅瓨鍦�
                     continue;
@@ -1023,6 +1042,14 @@
         }catch (Exception e){
             log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛澶辫触");
         }
+        apiLogService.save("鍫嗗灈鏈哄紑濮嬭繍琛�"
+                ,wmsUrl+"wcsManager/wcsInterface/taskStatusFeedback"
+                ,null
+                ,"127.0.0.1"
+                ,JSON.toJSONString(taskOverToWms)
+                ,response
+                ,true
+        );
         return response;
     }
 
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 4347bc1..2438af2 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -150,7 +150,7 @@
                 ,wmsUrl+"wcsManager/wcsInterface/inboundTaskApply"
                 ,null
                 ,"127.0.0.1"
-                ,JSON.toJSONString(param)
+                ,JSON.toJSONString(toWmsDTO)
                 ,response
                 ,true
         );
@@ -175,12 +175,19 @@
                 staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
                         .eq("crn_no",data.getTaskTunnel())
                         .eq("type_no",1)
-                        .lt("crn_stn",200));
+                        .lt("stn_no",200));
+            }else if (param.getWharfSource().contains("H")){
+                staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+                        .eq("crn_no",data.getTaskTunnel())
+                        .eq("type_no",1)
+                        .lt("stn_no",400)
+                        .gt("stn_no",200));
             }else {
                 staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
                         .eq("crn_no",data.getTaskTunnel())
                         .eq("type_no",1)
-                        .ge("crn_stn",200));
+                        .lt("stn_no",500)
+                        .ge("stn_no",400));
             }
             map1.put("taskTunnel", staDesc.getStnDesc());
             //map1.put("taskTunnel", "J-1104");
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 17a80b2..53a5c34 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -275,7 +275,7 @@
 
                     CrnCommand crnCommand = new CrnCommand();
                     crnCommand.setAckFinish((short)1);
-                    if (write(crnCommand)) {
+                    if (write2(crnCommand)) {
                         resetFlag = false;
                     }
                 }
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 668c8e3..392847d 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -670,13 +670,6 @@
                 staProtocol.setPakMk(true);
             }
 
-            //鏇存柊浠诲姟姝ュ簭
-            TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
-            TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo().intValue());
-            if (taskWrk != null) {
-                taskWrk.setCommandStep(taskWrk.getCommandStep() + 1);//鏇存柊鎸囦护姝ュ簭
-                taskWrkService.updateById(taskWrk);
-            }
         }
 
     }
diff --git a/src/main/webapp/views/deviceOperate/devpOperate.html b/src/main/webapp/views/deviceOperate/devpOperate.html
index 785df61..8dd7e98 100644
--- a/src/main/webapp/views/deviceOperate/devpOperate.html
+++ b/src/main/webapp/views/deviceOperate/devpOperate.html
@@ -54,7 +54,9 @@
 							</el-form-item>
 						</el-form>
 						<div>
-							<el-button @click="requestOperate('put')" type="primary">鏇存柊</el-button>
+							<el-button @click="requestOperate('update')" type="primary">鏇存柊</el-button>
+							<el-button @click="requestOperate('out')" type="warning">鍙栬揣瀹屾垚</el-button>
+							<el-button @click="requestOperate('in')" type="warning">鏀捐揣瀹屾垚</el-button>
 						</div>
 					</div>
 				</el-card>
@@ -158,29 +160,36 @@
 						}
 					});
 				},
-				requestOperate() {
+				requestOperate(method) {
 					let that = this
-					$.ajax({
-						url: baseUrl + "/site/detl/update",
-						headers: {
-							'token': localStorage.getItem('token')
-						},
-						data: this.formParam,
-						method: 'POST',
-						success: function (res) {
-							if (res.code == 200) {
-								that.$message({
-									message: res.msg,
-									type: 'success'
-								});
-							} else {
-								that.$message({
-									message: res.msg,
-									type: 'error'
-								});
+					that.$confirm('姝ゆ搷浣滃瓨鍦ㄩ闄╋紝鏄惁缁х画','鎻愮ず',{
+						confirmButtonText: '纭畾',
+						cancelButtonText: '鍙栨秷',
+						type: 'warning'
+					}).then(()=>{
+						$.ajax({
+							url: baseUrl + "/site/detl/"+method,
+							headers: {
+								'token': localStorage.getItem('token')
+							},
+							data: this.formParam,
+							method: 'POST',
+							success: function (res) {
+								if (res.code == 200) {
+									that.$message({
+										message: res.msg,
+										type: 'success'
+									});
+								} else {
+									that.$message({
+										message: res.msg,
+										type: 'error'
+									});
+								}
 							}
-						}
-					});
+						});
+					})
+
 				}
 			}
 		})
--
Gitblit v1.9.1