From 50e5164f1dc957eba4494bda01171afdc86d5782 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 10 七月 2024 08:27:06 +0800
Subject: [PATCH] 入库托盘有任务则写组托信号
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 63 ++++++++++++++++++++++++++-----
1 files changed, 53 insertions(+), 10 deletions(-)
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 a62fc32..0c3966e 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -22,14 +22,15 @@
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.properties.SlaveProperties;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
-import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.*;
+@Slf4j
@Service
public class OpenServiceImpl implements OpenService {
@@ -94,11 +95,13 @@
taskWrk.setIoPri(param.getTaskPriority());//浼樺厛绾�
taskWrk.setBarcode(param.getBarcode());//鏉$爜
taskWrk.setCrnNo(param.getCrn());
+ String stats = "";
if(param.getIoType() == 1){
taskWrk.setWrkSts(1);
if (!Cools.isEmpty(param.getTargetPoint())) {
taskWrk.setTargetPoint(Utils.getWcsLocNo(param.getTargetPoint()));//缁堢偣
taskWrk.setOriginTargetPoint(param.getTargetPoint());
+ stats = "S";
}
} else if (param.getIoType() == 2) {
@@ -106,6 +109,7 @@
if (!Cools.isEmpty(param.getStartPoint())) {
taskWrk.setStartPoint(Utils.getWcsLocNo(param.getStartPoint()));//璧风偣
taskWrk.setOriginStartPoint(param.getStartPoint());
+ stats = "R";
}
taskWrk.setTargetPoint(param.getTargetPoint());
}else if (param.getIoType() == 3){
@@ -113,6 +117,7 @@
if (!Cools.isEmpty(param.getStartPoint())) {
taskWrk.setStartPoint(Utils.getWcsLocNo(param.getStartPoint()));//璧风偣
taskWrk.setOriginStartPoint(param.getStartPoint());
+ stats = "R";
}
}
@@ -121,6 +126,12 @@
if (!Cools.isEmpty(param.getMemo())) {
taskWrk.setMemo(param.getMemo());//澶囨敞
}
+
+ // 鏇存柊搴撲綅鐘舵��
+ String wcsLocNo = Utils.getWcsLocNo(param.getStartPoint());
+ LocMast locMast = locMastService.selectByLocNo(wcsLocNo);
+ locMast.setLocSts(stats);
+ locMastService.updateById(locMast);
if (!taskWrkService.insert(taskWrk)) {
return R.error("鍒涘缓浠诲姟澶辫触");
@@ -138,6 +149,11 @@
list = getInEnableRoadway();
}else {
list = getInEnableRoadway2();
+ }
+
+ if (Cools.isEmpty(list)){
+ log.warn("鏃犲彲鍏ュ贩閬擄紝璇风◢鍚庡啀璇�");
+ return R.error("鏃犲彲鍏ュ贩閬�");
}
@@ -162,7 +178,7 @@
JSONObject jsonObject = JSON.parseObject(response);
- apiLogService.save("wms璇锋眰鍏ュ簱鐮佸ご鎺ュ彛"
+ apiLogService.save("璇锋眰鍏ュ簱鐮佸ご鎺ュ彛"
,wmsUrl+"wcsManager/wcsInterface/inboundTaskApply"
,null
,"127.0.0.1"
@@ -213,13 +229,13 @@
}
@Override
- public void getAgvTaskOver(TaskOverParam param) {
+ public R getAgvTaskOver(TaskOverParam param) {
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
for (DevpSlave devp : slaveProperties.getDevp()) {
StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
.eq("stn_desc", param.getWharfCode()));
if (Cools.isEmpty(staDesc)){
- throw new RuntimeException("鏈煡璇㈠埌绔欑偣淇℃伅");
+ throw new CoolException("鏈煡璇㈠埌绔欑偣淇℃伅");
}
// 鑾峰彇鍏ュ簱绔欎俊鎭�
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
@@ -237,10 +253,13 @@
staProtocol.setStaNo((short)0);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol));
if (result) {
-
+ return R.ok("鍙栬揣瀹屾垚");
} else {
- throw new RuntimeException("agv杩斿洖瀹屾垚鍚庯紝鍛戒护涓嬪彂澶辫触");
+ throw new CoolException("agv杩斿洖瀹屾垚鍚庯紝鍛戒护涓嬪彂澶辫触");
}
+ }else {
+ return R.error("鍙栬揣绔欑偣鐘舵�佹湁璇�,鏈夌墿淇″彿锛�"+staProtocol.isLoading()
+ +",杞﹁締淇″彿锛�"+staProtocol.isCar()+",宸ヤ綔鍙凤細"+staProtocol.getWorkNo());
}
}else {
for (DevpSlave.Sta inSta : devp.getInSta()) {
@@ -252,16 +271,20 @@
staProtocol.setStaNo(inSta.getStaNo().shortValue());
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol));
if (result) {
-
+ return R.ok("鏀捐揣瀹屾垚");
} else {
- throw new RuntimeException("agv杩斿洖瀹屾垚鍚庯紝鍛戒护涓嬪彂澶辫触");
+ throw new CoolException("agv杩斿洖瀹屾垚鍚庯紝鍛戒护涓嬪彂澶辫触");
}
+ }else {
+ return R.error("鏀捐揣绔欑偣鐘舵�佹湁璇�,鏈夌墿淇″彿锛�"+staProtocol.isLoading()
+ +",杞﹁締淇″彿锛�"+staProtocol.isCar()+",宸ヤ綔鍙凤細"+staProtocol.getWorkNo());
}
}
}
}
}
+ return R.ok();
}
@@ -289,8 +312,18 @@
staProtocol = staProtocol.clone();
}
Short workNo = staProtocol.getWorkNo();
- if (workNo == 0 && !staProtocol.isLoading()){
+ if (workNo == 0 && !staProtocol.isLoading() && staProtocol.isAutoing()){
if (Cools.isEmpty( map.get(inSta.getStaNo()))){
+ continue;
+ }
+ BasCrnp crnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", map.get(inSta.getStaNo())));
+ if (Cools.isEmpty(crnp)){
+ continue;
+ }
+ if (crnp.getInEnable().equals("N")){
+ continue;
+ }
+ if (crnp.getCrnSts()!=3){
continue;
}
list.add( map.get(inSta.getStaNo()));
@@ -325,10 +358,20 @@
staProtocol = staProtocol.clone();
}
Short workNo = staProtocol.getWorkNo();
- if (workNo == 0 && !staProtocol.isLoading()){
+ if (workNo == 0 && !staProtocol.isLoading() && staProtocol.isAutoing()){
if (Cools.isEmpty( map.get(inSta.getStaNo()))){
continue;
}
+ BasCrnp crnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", map.get(inSta.getStaNo())));
+ if (Cools.isEmpty(crnp)){
+ continue;
+ }
+ if (crnp.getInEnable().equals("N")){
+ continue;
+ }
+ if (crnp.getCrnSts()!=3){
+ continue;
+ }
list.add( map.get(inSta.getStaNo()));
}
}
--
Gitblit v1.9.1