From bca069bc5858219548fc5e1bcfc659e4758f3576 Mon Sep 17 00:00:00 2001
From: zzgtfwq <zzgtfwq>
Date: 星期二, 03 三月 2026 14:45:54 +0800
Subject: [PATCH] #26-03-10-00
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 25 +-------
src/main/java/com/zy/common/config/AdminInterceptor.java | 2
src/main/java/com/zy/core/MainProcess.java | 2
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 112 ++++++++++++++++++++++++++++++------
src/main/resources/application.yml | 1
5 files changed, 98 insertions(+), 44 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 2356ae6..5a824d9 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -278,27 +278,8 @@
JSONObject jsonObject = JSON.parseObject(response);
if (jsonObject != null && jsonObject.getInteger("code") != null && jsonObject.getInteger("code") == 200) {
log.info("鍏ュ簱浠诲姟鐢宠鎴愬姛锛岀瓑寰匴MS涓嬪彂浠诲姟銆傛潯鐮侊細{}锛岀珯鐐癸細{}", barcode, inSta.getStaNo());
- staProtocol.setStaNo((short)0);
- staProtocol.setWorkNo(0);//璁剧疆涓�9998绛夊緟涓婁綅鏈轰笅鍙戜换鍔�/9997鏄┖鏉垮叆搴撳垽鏂紝寰呬笅鍙戞椂涔熷啓鍏�9998
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- if (!result) {
- LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
- throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
- }
- Thread.sleep(300);
- StaProtocol staProtocol2 = devpThread.getStation().get(inSta.getStaNo());
- if (staProtocol2 == null) {
- continue;
- } else {
- staProtocol2 = staProtocol2.clone();
- }
- staProtocol2.setStaNo(inSta.getStaNo().shortValue());
- staProtocol2.setWorkNo(9998);//璁剧疆涓�9998绛夊緟涓婁綅鏈轰笅鍙戜换鍔�/9997鏄┖鏉垮叆搴撳垽鏂紝寰呬笅鍙戞椂涔熷啓鍏�9998
- boolean result2 = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol2));
- if (!result2) {
- LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
- throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
- }
+ devpThread.setPakMk(staProtocol.getSiteId(), false,9998);
+
} else {
// // 鑾峰彇宸ヤ綔鍙�
@@ -457,7 +438,7 @@
// // 鍏ュ嚭搴撴ā寮忓垽鏂�
// if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
- if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) {
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() ) {
// WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
WrkMast wrkMast = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"7");
if (wrkMast == null) {
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 63d454f..e2922d6 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -3,14 +3,14 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.core.exception.CoolException;
import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkLastno;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.param.TaskCreateParam;
import com.zy.asrs.entity.param.TaskStatusFeedbackParam;
-import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.OpenService;
-import com.zy.asrs.service.WrkDetlService;
-import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.service.*;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
import com.zy.core.cache.MessageQueue;
@@ -44,7 +44,10 @@
@Autowired
private ApiLogService apiLogService;
-
+ @Autowired
+ private WrkLastnoService wrkLastnoService;
+ @Autowired
+ private RowLastnoService rowLastnoService;
@Autowired
private CommonService commonService;
@@ -112,7 +115,45 @@
}
return false;
}
+ /**
+ * 鐢熸垚宸ヤ綔鍙�
+ *
+ * @param wrkMk
+ * @return workNo(宸ヤ綔鍙�)
+ */
+ public int getWorkNo(Integer wrkMk) {
+ WrkLastno wrkLastno = wrkLastnoService.selectById(wrkMk);
+ if (Cools.isEmpty(wrkLastno)) {
+ throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
+ }
+ int workNo = wrkLastno.getWrkNo();
+ int sNo = wrkLastno.getSNo();
+ int eNo = wrkLastno.getENo();
+ workNo = workNo >= eNo ? sNo : workNo + 1;
+ while (true) {
+ WrkMast wrkMast = wrkMastService.selectById(workNo);
+ if (null != wrkMast) {
+ workNo = workNo >= eNo ? sNo : workNo + 1;
+ } else {
+ break;
+ }
+ }
+ // 淇敼搴忓彿璁板綍
+ if (workNo > 0) {
+ wrkLastno.setWrkNo(workNo);
+ wrkLastnoService.updateById(wrkLastno);
+ }
+ // 妫�楠�
+ if (workNo == 0) {
+ throw new CoolException("鐢熸垚宸ヤ綔鍙峰け璐ワ紝璇疯仈绯荤鐞嗗憳");
+ } else {
+ if (wrkMastService.selectById(workNo) != null) {
+ throw new CoolException("鐢熸垚宸ヤ綔鍙�" + workNo + "鍦ㄥ伐浣滄。涓凡瀛樺湪");
+ }
+ }
+ return workNo;
+ }
@Override
@Transactional(rollbackFor = Exception.class)
public boolean taskCreate(TaskCreateParam param) {
@@ -124,21 +165,22 @@
//21锛氭嫞閫夊嚭搴� 22锛氭嫞閫夊叆搴�
//31锛氱洏鐐瑰嚭搴� 32锛氱洏鐐瑰叆搴�
switch (param.getIoType()){
- case 1: Inbound = false;break;
- case 2 : Inbound = true;break;
- case 3: Inbound = false;break;
+ case 1: Inbound = false;ioType = 101;break;
+ case 2 : Inbound = true;ioType = 1;break;
+ case 3: Inbound = false;ioType = 11;break;
case 11: Inbound = false;ioType = 110;break;
- case 12: Inbound = true;break;
+ case 12: Inbound = true;ioType = 10;break;
case 21: Inbound = false;ioType = 103;break;
- case 22: Inbound = true;break;
+ case 22: Inbound = true;ioType = 53;break;
case 31: Inbound = false;ioType = 107;break;
- case 32: Inbound = true;break;
+ case 32: Inbound = true;ioType = 57;break;
}
// 2. 淇濆瓨WrkMast
WrkMast wrkMast = new WrkMast();
-
+ int workNo = getWorkNo(0);
if(param.getIoType() == 2 || param.getIoType() == 12){
- wrkMast.setWrkNo(Integer.valueOf(param.getTaskNo()));
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setUserNo(param.getTaskNo());
wrkMast.setIoType(param.getIoType() != 2?10:1);
wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
wrkMast.setBarcode(param.getBarcode());
@@ -150,7 +192,8 @@
}else if(param.getIoType() == 22 || param.getIoType() == 32){
wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode",param.getBarcode()));
wrkMast.setWrkSts(param.getIoType() != 32 ? 53L: 57L);
- wrkMast.setWrkNo(Integer.valueOf(param.getTaskNo()));
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setUserNo(param.getTaskNo());
wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
wrkMast.setBarcode(param.getBarcode());
wrkMast.setMemo(param.getMemo());
@@ -159,7 +202,8 @@
wrkMast.setLocNo(param.getTargetLocNo());
wrkMast.setSourceLocNo(param.getSourceLocNo());
}else if(param.getIoType() == 3){
- wrkMast.setWrkNo(Integer.valueOf(param.getTaskNo()));
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setUserNo(param.getTaskNo());
wrkMast.setIoType(11);
wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 12.0);
wrkMast.setBarcode(param.getBarcode());
@@ -169,7 +213,8 @@
wrkMast.setLocNo(param.getTargetLocNo());
wrkMast.setSourceLocNo(param.getSourceLocNo());
}else{
- wrkMast.setWrkNo(Integer.valueOf(param.getTaskNo()));
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setUserNo(param.getTaskNo());
wrkMast.setIoType(ioType);
wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
wrkMast.setBarcode(param.getBarcode());
@@ -185,11 +230,39 @@
}else{
wrkMast.setWrkSts(11L);
}
+ String locNo = null;
+ if(param.getSourceLocNo() != null){
+ locNo = param.getSourceLocNo();
+ }
+ if(param.getTargetLocNo() !=null){
+ locNo = param.getTargetLocNo();
+ }
+// 鍙栧墠涓や綅
+ int rowNo = Integer.parseInt(locNo.substring(0, 2));
+
+ int crnNo;
+
+ if (rowNo >= 1 && rowNo <= 4) {
+ crnNo = 1;
+ } else if (rowNo >= 5 && rowNo <= 8) {
+ crnNo = 2;
+ } else if (rowNo >= 9 && rowNo <= 10) {
+ crnNo = 3;
+ } else if (rowNo >= 11 && rowNo <= 14) {
+ crnNo = 4;
+ } else {
+ throw new IllegalArgumentException("鎺掑彿瓒呭嚭鑼冨洿: " + rowNo);
+ }
+
+ wrkMast.setCrnNo(crnNo);
wrkMast.setModiTime(new Date());
wrkMast.setAppeTime(new Date());
wrkMast.setWrkDate(new Date());
-
- wrkMastService.insert(wrkMast);
+ if(param.getIoType() == 22 || param.getIoType() == 32){
+ wrkMastService.updateById(wrkMast);
+ }else{
+ wrkMastService.insert(wrkMast);
+ }
// 3. 淇濆瓨WrkDetl
if (param.getDetlList() != null && !param.getDetlList().isEmpty()) {
@@ -225,8 +298,7 @@
}
return true;
- } catch (Exception e) {
- log.error("浠诲姟涓嬪彂寮傚父", e);
+ } catch (Exception e) { log.error("浠诲姟涓嬪彂寮傚父", e);
try {
apiLogService.save("浠诲姟涓嬪彂",
"/taskCreate",
diff --git a/src/main/java/com/zy/common/config/AdminInterceptor.java b/src/main/java/com/zy/common/config/AdminInterceptor.java
index cd7bdef..ac45067 100644
--- a/src/main/java/com/zy/common/config/AdminInterceptor.java
+++ b/src/main/java/com/zy/common/config/AdminInterceptor.java
@@ -51,7 +51,7 @@
if ("OPTIONS".equalsIgnoreCase(request.getMethod())) {
// System.out.println("鉁� 鏀捐 OPTIONS 棰勬璇锋眰");
// 鎵嬪姩璁剧疆 CORS 澶�
- response.setHeader("Access-Control-Allow-Origin", "http://10.10.10.250:8080");
+ response.setHeader("Access-Control-Allow-Origin", "http://127.0.0.1:8080");
response.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
response.setHeader("Access-Control-Allow-Headers", "Content-Type, Access-Token, token");
response.setHeader("Access-Control-Allow-Credentials", "true");
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 89d0bce..5b9255f 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -58,7 +58,7 @@
// continue;
// }
//鐩樼偣鎷f枡鍐嶅叆搴�
- mainService.stnToCrnStnPick();
+// mainService.stnToCrnStnPick();
// 鍏ュ簱 ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
mainService.generateStoreWrkFile(); // 缁勬墭
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 2d1c309..c928101 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -40,6 +40,7 @@
wms:
rgvOpen: false
url: 127.0.0.1:8080/zzgtasrs
+ urlWMS: 127.0.0.1:8056/actionapi/HighAsRs
comb: mobile/combAuto/wcs/auth
#License鐩稿叧閰嶇疆
--
Gitblit v1.9.1