From 1a3f7d044c7ec44b17256ea99a7005e5ad1d9d63 Mon Sep 17 00:00:00 2001
From: ytfl <ytfl@qq.com>
Date: 星期二, 19 八月 2025 18:59:36 +0800
Subject: [PATCH] #自动获取电视机配置信息
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 111 +++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 87 insertions(+), 24 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 b59c721..ef9d076 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -233,6 +233,12 @@
.eq("loc_no", dto.getLocNo()));
short staNo = dto.getStaNo().shortValue();
+
+ int sourceStaNo = dto.getSourceStaNo();
+ if (sourceStaNo == 1007) {
+ staNo = 2002;
+ }
+
if (inSta.getStaNo() == 1002) {
staNo = 2002;
}
@@ -742,6 +748,12 @@
// continue;
// }
+ //鍫嗗灈鏈哄洖鍘熺偣浠诲姟涓�
+ Object object = redisUtil.get(RedisConstantType.CRN_MOVE_LOCK + crn.getId());
+ if (object != null) {
+ continue;
+ }
+
// 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
&& crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
@@ -809,7 +821,7 @@
continue;
}
- Object object = redisUtil.get(RedisConstantType.CRN_MOVE_LOCK);
+ Object object = redisUtil.get(RedisConstantType.CRN_MOVE_LOCK + crn.getId());
if (object != null) {
continue;
}
@@ -841,7 +853,7 @@
News.error("鍫嗗灈鏈虹Щ鍔ㄥ懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnProtocol.getCrnNo(), JSON.toJSON(crnCommand));
}
crnThread.setBackHpFlag(true);
- redisUtil.set(RedisConstantType.CRN_MOVE_LOCK + crn.getId(), "lock", 60);
+ redisUtil.set(RedisConstantType.CRN_MOVE_LOCK + crn.getId(), "lock", 10);
try {
Thread.sleep(500);
} catch (Exception e) {
@@ -881,7 +893,7 @@
continue;
}
- Object object = redisUtil.get(RedisConstantType.CRN_MOVE_LOCK);
+ Object object = redisUtil.get(RedisConstantType.CRN_MOVE_LOCK + crn.getId());
if (object != null) {
continue;
}
@@ -913,7 +925,7 @@
News.error("鍫嗗灈鏈虹Щ鍔ㄥ懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnProtocol.getCrnNo(), JSON.toJSON(crnCommand));
}
crnThread.setBackHpFlag(true);
- redisUtil.set(RedisConstantType.CRN_MOVE_LOCK + crn.getId(), "lock", 60);
+ redisUtil.set(RedisConstantType.CRN_MOVE_LOCK + crn.getId(), "lock", 10);
try {
Thread.sleep(500);
} catch (Exception e) {
@@ -1201,8 +1213,7 @@
// continue;
}
// 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
- if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
- && staProtocol.getWorkNo() == 0) {
+ if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")) {
//鏍规嵁鍙傛暟鍒ゆ柇鏄惁鏍¢獙鍙嚭淇″彿
String crnOutVerifyOut = "Y";
@@ -1214,6 +1225,10 @@
if (crnOutVerifyOut.equals("Y")) {
if (!staProtocol.isOutEnable()) {
+ continue;
+ }
+
+ if (staProtocol.getWorkNo() > 0) {
continue;
}
}
@@ -1529,7 +1544,7 @@
if (wrkMastMapper.updateById(wrkMast) == 0) {
News.error("" + mark + " - 3" + " - 5" + " - 銆愬簱浣嶇Щ杞�� 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
}
- crnProtocol.setLastIo("O");
+ crnProtocol.setLastIo("I");
}
News.infoNoLog("" + mark + " - 3" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂锛氬簱浣嶇Щ杞畬鎴�");
@@ -1635,6 +1650,7 @@
if (crnProtocol.getTaskNo() == 9999) {
// 鍫嗗灈鏈哄浣�
crnThread.setResetFlag(true);
+ redisUtil.set(RedisConstantType.CRN_MOVE_LOCK + crn.getId(), "lock", 8);//闃叉鍥炲師鐐瑰悗涓嬪彂鎸囦护杩囧揩
continue;
}
@@ -1890,9 +1906,13 @@
if (jsonObject.getInteger("code").equals(200)) {
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_no", dto.getLocNo()));
+
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
staProtocol.setWorkNo(dto.getWorkNo().shortValue());
staProtocol.setStaNo(dto.getStaNo().shortValue());
+ staProtocol.setPalletSize(locMast.getLocType2());
devpThread.setPakMk(staProtocol.getSiteId(), false);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
@@ -2000,7 +2020,7 @@
wrkMast1.setIoType(3); // 鍏ュ嚭搴撶姸鎬侊細3.绔欏埌绔�
wrkMast1.setIoPri(13D); // 浼樺厛绾�
wrkMast1.setSourceStaNo(emptyInSta.getStaNo());
- wrkMast1.setStaNo(1007);
+ wrkMast1.setStaNo(1004);
wrkMast1.setBarcode(barcode);
// 鎿嶄綔浜哄憳鏁版嵁
wrkMast1.setAppeTime(new Date());
@@ -2013,6 +2033,7 @@
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
staProtocol.setWorkNo((short) workNo);
staProtocol.setStaNo((short) 2003);
+ staProtocol.setPalletSize((short) 1);
devpThread.setPakMk(staProtocol.getSiteId(), false);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
@@ -2119,22 +2140,64 @@
// }catch (Exception e){
// log.error("宸ヤ綔妗f鏄庣粏杈撳叆鐢佃鏈哄け璐�1锛氬紓甯镐俊鎭�==銆�"+e);
// }
- wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(
- wrkDetl.getMatnr()
- , wrkDetl.getMaktx()
- , wrkDetl.getAnfme()
- , wrkDetl.getWeight()
- , wrkDetl.getStockNum()
- , wrkDetl.getStockNum2()
- , wrkDetl.getSpecs()
- , wrkDetl.getSku()
- , wrkDetl.getZpallet()
- , wrkDetl.getModel()
- , wrkDetl.getSupp()
- , wrkDetl.getKpCstmrName()
- , wrkDetl.getOrderNo()
- , wrkDetl.getCstateid$()
- )));
+
+ if (!wrkDetls.isEmpty()) {
+ WrkDetl wrkDetl = wrkDetls.get(0);
+ double anfme = 0D;
+ double weight = 0D;
+ for (WrkDetl detl : wrkDetls) {
+ anfme += detl.getAnfme();
+ weight += detl.getWeight();
+ wrkDetl.setAnfme(anfme);
+ wrkDetl.setWeight(weight);
+ }
+
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+ .eq("loc_no", wrkMast.getSourceLocNo()));
+ double totalAnfme = 0D;
+ double totalWeight = 0D;
+ for (LocDetl locDetl : locDetls) {
+ totalAnfme += locDetl.getAnfme();
+ totalWeight += locDetl.getWeight();
+ }
+ wrkDetl.setStockNum(totalAnfme);
+ wrkDetl.setStockNum2(totalWeight);
+
+ ledCommand.getMatDtos().add(new MatDto(
+ wrkDetl.getMatnr()
+ , wrkDetl.getMaktx()
+ , wrkDetl.getAnfme()
+ , wrkDetl.getWeight()
+ , wrkDetl.getStockNum()
+ , wrkDetl.getStockNum2()
+ , wrkDetl.getSpecs()
+ , wrkDetl.getSku()
+ , wrkDetl.getZpallet()
+ , wrkDetl.getModel()
+ , wrkDetl.getSupp()
+ , wrkDetl.getKpCstmrName()
+ , wrkDetl.getOrderNo()
+ , wrkDetl.getCstateid$()
+ ));
+
+// wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(
+// wrkDetl.getMatnr()
+// , wrkDetl.getMaktx()
+// , wrkDetl.getAnfme()
+// , wrkDetl.getWeight()
+// , wrkDetl.getStockNum()
+// , wrkDetl.getStockNum2()
+// , wrkDetl.getSpecs()
+// , wrkDetl.getSku()
+// , wrkDetl.getZpallet()
+// , wrkDetl.getModel()
+// , wrkDetl.getSupp()
+// , wrkDetl.getKpCstmrName()
+// , wrkDetl.getOrderNo()
+// , wrkDetl.getCstateid$()
+// )));
+ }
+
}
commands.add(ledCommand);
}
--
Gitblit v1.9.1