From d635a99e20e207b40b16b8536c02a0b74df63c61 Mon Sep 17 00:00:00 2001
From: zzgtfwq <zzgtfwq>
Date: 星期一, 23 三月 2026 14:19:10 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/RgvThread.java | 1
src/main/java/com/zy/asrs/controller/OpenController.java | 13 +-
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 98 +++++++++---------------
src/main/java/com/zy/asrs/controller/MonitorController.java | 8 +-
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 2
src/main/resources/mapper/WrkMastMapper.xml | 4
src/main/java/com/zy/core/MainProcess.java | 2
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 80 +++++++++-----------
src/main/resources/license.lic | 0
9 files changed, 91 insertions(+), 117 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index 84604dd..5d5cb49 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -215,7 +215,7 @@
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "绌�");
- map1.put("value", 11200-used);
+ map1.put("value", 8064-used);
pie.add(map1);
Map<String, Object> map2 = new HashMap<>();
@@ -231,15 +231,15 @@
// 搴撲綅浣跨敤鐜�
- double usedDivides = Arith.divides(3, used, 11200);
+ double usedDivides = Arith.divides(3, used, 8064);
double usedPr = Arith.multiplys(1, usedDivides, 100);
return R.ok(
Cools.add("pie", pie)
.add("stockCunt", locUseRate.getFqty())
- .add("emptyCount", 11200-used)
+ .add("emptyCount", 8064-used)
.add("noneCount", locUseRate.getXqty())
- .add("total", 11200)
+ .add("total", 8064)
.add("used", used)
.add("usedPr", usedPr)
);
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 35b839a..0fa8928 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -195,12 +195,13 @@
if (Cools.isEmpty(param.getBarcode())) {
return R.error("瀹瑰櫒缂栫爜[barcode]涓嶈兘涓虹┖");
}
- if (Cools.isEmpty(param.getStartPoint())) {
- return R.error("璧风偣[startPoint]涓嶈兘涓虹┖");
- }
- if (Cools.isEmpty(param.getTargetPoint())) {
- return R.error("鐩爣鐐筟targetPoint]涓嶈兘涓虹┖");
- }
+
+// if (Cools.isEmpty(param.getStartPoint())) {
+// return R.error("璧风偣[startPoint]涓嶈兘涓虹┖");
+// }
+// if (Cools.isEmpty(param.getTargetPoint())) {
+// return R.error("鐩爣鐐筟targetPoint]涓嶈兘涓虹┖");
+// }
try {
boolean result = openService.taskCreate(param);
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 0132f30..3887b95 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -31,7 +31,7 @@
WrkMast selectPakInStep1(@Param("sourceStaNo")Integer sourceStaNo, @Param("barcode")String barcode);
WrkMast selectPakInStep5(@Param("staNo")Integer staNo,@Param("sheetNo")String sheetNo);
-
+ WrkMast selectPakInStep6(@Param("barcode")String barcode);
/**
* 鏌ヨ鍚屼竴鍙板爢鍨涙満涓嬫墍鏈夊嚭搴撲换鍔�
* @param crnNo
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 f89c275..d5f5afb 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -414,19 +414,18 @@
// 閬嶅巻鎷f枡鍏ュ簱鍙�
for (DevpSlave.Sta pickSta : devp.getPickSta()) {
// // 鑾峰彇鏉$爜鎵弿浠俊鎭�
-// BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
-// if (barcodeThread == null) {
-// continue;
-// }
-// String barcode = barcodeThread.getBarcode();
-// if(!Cools.isEmpty(barcode)) {
-// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
-// if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
-// continue;
-// }
-// } else {
-// continue;
-// }
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
+ if (barcodeThread == null) {
+ continue;
+ }
+ String barcode = barcodeThread.getBarcode();
+ if(!Cools.isEmpty(barcode)) {
+ if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+ continue;
+ }
+ } else {
+ continue;
+ }
// 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
@@ -440,9 +439,9 @@
// // 鍏ュ嚭搴撴ā寮忓垽鏂�
// 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() && staProtocol.getWorkNo() == 9998) {
// WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
- WrkMast wrkMast = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"7");
+ WrkMast wrkMast = wrkMastMapper.selectPakInStep6(barcode);
if (wrkMast == null) {
// 鏃犳嫞鏂欐暟鎹�
continue;
@@ -455,59 +454,38 @@
// 鑾峰彇搴撲綅鍙�
try {
SearchLocParam param = new SearchLocParam();
+ Integer staNo = wrkMast.getSourceStaNo();
param.setBarcode(wrkMast.getBarcode());
param.setIoType(wrkMast.getIoType());
param.setSourceStaNo(pickSta.getStaNo()); //浣滀笟绔欑偣
param.setLocType1((short)1);
- String response = "";
- log.info("鍏ュ簱浣滀笟绔�"+pickSta.getStaNo()+"鐩樼偣鍐嶅叆搴撲换鍔¤姹俉MS===>>鍙傛暟锛�" + param);
- try {
- response = new HttpHandler.Builder()
- .setUri(wmsUrl)
- .setPath("/rpc/pakin2/loc/v1")
- .setJson(JSON.toJSONString(param))
- .setTimeout(15, TimeUnit.SECONDS)
- .build()
- .doPost();
- } catch(Exception e){
- log.error("鍏ュ簱浣滀笟绔�"+pickSta.getStaNo()+"鐩樼偣鍐嶅叆搴撲换鍔¤姹俉MS===>>鍙傛暟锛�" + param);
- log.error("stnToCrnStnPick2===>>鐩樼偣鏌ュ簱浣嶅叆搴撴帴鍙eけ璐�", e);
- e.printStackTrace();
- continue;
+ wrkMast.setIoType(wrkMast.getIoType() - 50);
+ wrkMast.setWrkSts(2L);
+ wrkMast.setSourceStaNo(wrkMast.getStaNo()-1);
+ wrkMast.setStaNo(staNo - 2);
+ wrkMast.setLocNo(wrkMast.getSourceLocNo());
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",wrkMast.getLocNo()));
+ if(locMast.getLocSts().equals("P")){
+ locMast.setLocSts("Q");
+ locMastService.updateById(locMast);
}
- log.info("鍏ュ簱浣滀笟绔�"+pickSta.getStaNo()+"鐩樼偣鍐嶅叆搴撲换鍔¤姹俉MS===>>鍙傛暟锛�" + param);
- log.info("鍏ュ簱浣滀笟绔�"+pickSta.getStaNo()+"涓嬪彂鐩樼偣鍐嶅叆搴撲换鍔¤姹俉MS杩斿洖缁撴灉===>>" + response);
- if(response.equals("")) {
- continue;
- }
- JSONObject jsonObject = JSON.parseObject(response);
-// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
- Integer code = jsonObject.getInteger("code");
- if (code == 200) {
- StartupDto dto = jsonObject.getObject("data", StartupDto.class);
- if (Cools.isEmpty(dto) || Cools.isEmpty(dto.getStaNo())) {
- log.error("浠诲姟鍙�"+wrkMast.getWrkNo()+"鐩樼偣鍐嶅叆搴撴煡璇㈠簱浣嶅け璐�===>>" + jsonObject.toJSONString());
- } else {
- log.info("浠诲姟鍙�"+wrkMast.getWrkNo()+"鐩樼偣鍐嶅叆搴撴煡璇㈠簱浣嶆垚鍔�===>>" + jsonObject.toJSONString());
- try {
- // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
- staProtocol.setWorkNo(wrkMast.getWrkNo());
- staProtocol.setStaNo(dto.getStaNo().shortValue());
- devpThread.setPakMk(staProtocol.getSiteId(), false,1096);
+ if (wrkMastService.updateById(wrkMast)) {
+ try {
+ // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
+ staProtocol.setWorkNo(wrkMast.getWrkNo());
+ staProtocol.setStaNo((short)(wrkMast.getSourceStaNo() - 1));
+ devpThread.setPakMk(staProtocol.getSiteId(), false,9998);
// ledThread.errorReset();
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- if (!result) {
- log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
- }
- log.info("浠诲姟鍙�"+wrkMast.getWrkNo()+"鐩樼偣/鎷f枡鍐嶅叆搴撲换鍔′笅鍙戞垚鍔�===>>" + staProtocol);
- } catch (Exception e) {
- log.error("鐩樼偣鍐嶅叆搴撳け璐�===>>" + e);
- e.printStackTrace();
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result) {
+ log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
}
+ log.info("浠诲姟鍙�"+wrkMast.getWrkNo()+"鐩樼偣/鎷f枡鍐嶅叆搴撲换鍔′笅鍙戞垚鍔�===>>" + staProtocol);
+ } catch (Exception e) {
+ log.error("鐩樼偣鍐嶅叆搴撳け璐�===>>" + e);
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
- } else {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin2/loc/v1", JSON.toJSONString(param), response);
}
} catch (Exception e) {
log.error("stnToCrnStnPick2===>>fail", e);
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 cec7994..d07afd0 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -180,52 +180,44 @@
// 2. 淇濆瓨WrkMast
WrkMast wrkMast = new WrkMast();
int workNo = getWorkNo(0);
- if(param.getIoType() == 2 || param.getIoType() == 12){
- 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());
- wrkMast.setMemo(param.getMemo());
- wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
- wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
- wrkMast.setLocNo(param.getTargetLocNo());
- wrkMast.setSourceLocNo(param.getSourceLocNo());
- }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(workNo);
- wrkMast.setUserNo(param.getTaskNo());
- wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
- wrkMast.setBarcode(param.getBarcode());
- wrkMast.setMemo(param.getMemo());
- wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
- wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
- wrkMast.setLocNo(param.getTargetLocNo());
- wrkMast.setSourceLocNo(param.getSourceLocNo());
- }else if(param.getIoType() == 3){
- wrkMast.setWrkNo(workNo);
- wrkMast.setUserNo(param.getTaskNo());
+
+ Integer sourceStaNo = (param.getStartPoint() == null || param.getStartPoint().isEmpty())
+ ? null : Integer.valueOf(param.getStartPoint());
+
+ Integer targetStaNo = (param.getTargetPoint() == null || param.getTargetPoint().isEmpty())
+ ? null : Integer.valueOf(param.getTargetPoint());
+
+ if (param.getIoType() == 2 || param.getIoType() == 12) {
+
+ wrkMast.setIoType(param.getIoType() != 2 ? 10 : 1);
+
+ } 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);
+
+ } else if (param.getIoType() == 3) {
+ wrkMast.setEmptyMk("N");
wrkMast.setIoType(11);
- wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 12.0);
- wrkMast.setBarcode(param.getBarcode());
- wrkMast.setMemo(param.getMemo());
- wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
- wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
- wrkMast.setLocNo(param.getTargetLocNo());
- wrkMast.setSourceLocNo(param.getSourceLocNo());
- }else{
- wrkMast.setWrkNo(workNo);
- wrkMast.setUserNo(param.getTaskNo());
+
+ } else {
+
wrkMast.setIoType(ioType);
- wrkMast.setIoPri(param.getTaskPriority() != null ? param.getTaskPriority().doubleValue() : 11.0);
- wrkMast.setBarcode(param.getBarcode());
- wrkMast.setMemo(param.getMemo());
- wrkMast.setSourceStaNo(Integer.valueOf(param.getStartPoint()));
- wrkMast.setStaNo(Integer.valueOf(param.getTargetPoint()));
- wrkMast.setLocNo(param.getTargetLocNo());
- wrkMast.setSourceLocNo(param.getSourceLocNo());
}
+
+ /* 鍏叡瀛楁 */
+ 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());
+ wrkMast.setSourceStaNo(sourceStaNo);
+ wrkMast.setStaNo(targetStaNo);
+ wrkMast.setLocNo(param.getTargetLocNo());
+ wrkMast.setSourceLocNo(param.getSourceLocNo());
if(Inbound){
wrkMast.setWrkSts(2L);
@@ -268,7 +260,7 @@
}
// 3. 淇濆瓨WrkDetl
- if (param.getDetlList() != null && !param.getDetlList().isEmpty()) {
+ if (param.getDetlList() != null && !param.getDetlList().isEmpty() && param.getIoType()!=3) {
for (TaskCreateParam.Detl detl : param.getDetlList()) {
WrkDetl wrkDetl = new WrkDetl();
wrkDetl.setWrkNo(wrkMast.getWrkNo());
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 5b9255f..89d0bce 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/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 0eb2902..9b34b35 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -415,6 +415,7 @@
RgvErrCache.updateRgvErr(slave.getId(),errorRgv);
break;
}
+ Thread.sleep(1000);
}
if (taskProtocol.getTargetPosition()<=rgvProtocol.getRgvPos()+50
&& taskProtocol.getTargetPosition()>=rgvProtocol.getRgvPos()-50){
diff --git a/src/main/resources/license.lic b/src/main/resources/license.lic
index 9d26a95..3be34d8 100644
--- a/src/main/resources/license.lic
+++ b/src/main/resources/license.lic
Binary files differ
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 55e863a..f0c02d2 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -119,7 +119,9 @@
<select id="selectPakInStep5" resultMap="BaseResultMap">
select top 1 * from dbo.asr_wrk_mast where sta_no=#{staNo} and wrk_sts = 14 and io_type>100 and sheet_no!=#{sheetNo}
</select>
-
+ <select id="selectPakInStep6" resultMap="BaseResultMap">
+ select top 1 * from dbo.asr_wrk_mast where barcode=#{barcode} and wrk_sts = 14
+ </select>
<select id="selectPakInStep12" resultMap="BaseResultMap">
select * from dbo.asr_wrk_mast where wrk_sts=2 and crn_no=#{crnNo} and (io_type=1 or io_type=10 or io_type=53 or io_type=54 or io_type=57) order by io_pri desc,io_time,wrk_no ASC
</select>
--
Gitblit v1.9.1