From 5ceb1fc9be10e20d1f6e59382b2d14c8034485cf Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 10 九月 2025 21:30:32 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/asrs/controller/AgvMobileController.java | 89 ++++++++++++++++++++++++++++++++++++++++----
1 files changed, 81 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 43ea61c..480ee3d 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -77,7 +77,7 @@
@RequestMapping("/pick/again/auth")
@ManagerAuth(memo = "鍐嶆鎷f枡")
public R pickAgain(@RequestBody PickParam pickParams) {
- if (pickParams == null || Cools.isEmpty(pickParams.getLocNo()) || Cools.isEmpty(pickParams.getLocNo())) {
+ if (pickParams == null) {
return R.error("缂哄皯鍙傛暟");
}
agvMobileService.pickAgain(pickParams, 1l);
@@ -157,11 +157,61 @@
}
log.info("鍚姩鍏ュ簱,{}", JSON.toJSONString(params));
// 缁勬墭
+ if (params.getBarcode().startsWith("31")) {
+ //绠卞3鍏ュ簱锛岃揣鏋朵笂鍙兘瑁呬竴绉�
+ if (!Cools.isEmpty(params.getCombParams())) {
+ if (params.getCombParams().size() > 1) {
+ return R.error("鍗婃垚鍝佺澹冲叆搴擄紝璐ф灦涓婂彧鑳借涓�绉嶇墿鏂�");
+ } else {
+ List<CombParam.CombMat> combMats = params.getCombParams().get(0).getCombMats();
+ if (!Cools.isEmpty(combMats) && combMats.size() > 1) {
+ return R.error("鍗婃垚鍝佺澹冲叆搴擄紝璐ф灦涓婂彧鑳借涓�绉嶇墿鏂�");
+ }
+ }
+
+ }
+ }
params.getCombParams().forEach(combParam -> {
agvMobileService.comb(combParam, getUserId());
});
params.setContainerType(Short.valueOf(params.getContainerCode().substring(0, 2)));
workService.emptyPlateIn(params.getDevNo(), params.getContainerCode(), params.getContainerType(), getUserId(), false);
+
+ return R.ok("鐢熸垚宸ヤ綔妗f垚鍔�");
+ }
+
+ /*
+ 鍚姩鍏ュ簱锛岀粍鎵� + 鐢熸垚宸ヤ綔妗�,涓昏鐢ㄤ簬鍚稿涓�妤肩殑鍏ュ簱
+ */
+ @PostMapping("/start/pakin/auth/v2")
+ @Synchronized
+ @Transactional
+ @ManagerAuth(memo = "鍚姩鍏ュ簱v2")
+ public R startPakinV2(@RequestBody AgvMobileStartPakin params) {
+ if (params == null) {
+ return R.error("缂哄皯鍙傛暟");
+ }
+ log.info("鍚姩鍏ュ簱v2,{}", JSON.toJSONString(params));
+ // 缁勬墭
+ if (params.getBarcode().startsWith("30")) {
+ //绠卞3鍏ュ簱锛岃揣鏋朵笂鍙兘瑁呬竴绉�
+ if (!Cools.isEmpty(params.getCombParams())) {
+ if (params.getCombParams().size() > 1) {
+ return R.error("绠卞3鍏ュ簱锛岃揣鏋朵笂鍙兘瑁呬竴绉嶇墿鏂�");
+ } else {
+ List<CombParam.CombMat> combMats = params.getCombParams().get(0).getCombMats();
+ if (!Cools.isEmpty(combMats) && combMats.size() > 1) {
+ return R.error("绠卞3鍏ュ簱锛岃揣鏋朵笂鍙兘瑁呬竴绉嶇墿鏂�");
+ }
+ }
+
+ }
+ }
+ params.getCombParams().forEach(combParam -> {
+ agvMobileService.comb(combParam, getUserId());
+ });
+ params.setContainerType(Short.valueOf(params.getContainerCode().substring(0, 2)));
+ workService.emptyPlateInV2(params.getDevNo(), params.getContainerCode(), params.getContainerType(), getUserId(), false, params.getFactory());
return R.ok("鐢熸垚宸ヤ綔妗f垚鍔�");
}
@@ -177,8 +227,11 @@
return R.error("缂哄皯鍙傛暟");
}
for (AgvMobileStartParam.Pda pda : params.getPad()) {
+ if (pda == null || Cools.isEmpty(pda.getContainerCode())) {
+ return R.error("缂哄皯瀹瑰櫒鍙傛暟");
+ }
pda.setContainerType(Short.valueOf(pda.getContainerCode().substring(0, 2)));
- workService.emptyPlateIn(pda.getDevNo(), pda.getContainerCode(), pda.getContainerType(), getUserId(), false);
+ workService.emptyPlateInV3(pda.getDevNo(), pda.getContainerCode(), pda.getContainerType(), getUserId(), false);
}
return R.ok();
@@ -376,9 +429,19 @@
if (!Cools.isEmpty(locNo)) {
listByLocNo = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
+ if (listByLocNo != null) {
+ for (AgvLocDetl agvLocDetl : listByLocNo) {
+ agvLocDetl.setCount(agvLocDetl.getAnfme());
+ }
+ }
}
- if (!Cools.isEmpty(locNo)) {
+ if (!Cools.isEmpty(containerCode)) {
listByContainerCode = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("supp_code", containerCode));
+ if (listByContainerCode != null) {
+ for (AgvLocDetl agvLocDetl : listByContainerCode) {
+ agvLocDetl.setCount(agvLocDetl.getAnfme());
+ }
+ }
}
Map<String, Object> result = new HashMap<String, Object>();
@@ -416,7 +479,7 @@
AgvLocMast agvLocMastByContainerCode = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("barcode", containerCode));
AgvLocMast agvLocMastByLocNo = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
- if (agvLocMastByLocNo==null){
+ if (agvLocMastByLocNo == null) {
return R.error("搴撲綅涓嶅瓨鍦�");
}
String barcode1 = agvLocMastByLocNo.getBarcode();
@@ -525,6 +588,7 @@
@Transactional
@ManagerAuth(memo = "璋冩嫧鍗曚换鍔′笅鍙�")
@Synchronized
+ @Deprecated //涓嶇敤浜�
public R agvLocMove(@RequestBody HashMap<String, Object> params) {
String fl = String.valueOf(params.get("floor"));
short floor = (short) Integer.parseInt(fl.substring(0, 1));
@@ -553,7 +617,7 @@
// 鏇存柊璁㈠崟
OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()));
if (orderDetl == null) {
- throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ throw new CoolException("璋冩嫧鍗曟槑缁嗕笉瀛樺湪");
}
orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme());
if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()))) {
@@ -594,14 +658,14 @@
String locNo = map.get("locNo");
String barcode = map.get("suppCode");
AgvWrkMast source_loc_no = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", locNo));
- if (!Cools.isEmpty(source_loc_no)) {
+ if (!Cools.isEmpty(source_loc_no) && source_loc_no.getWrkSts() < 204) {
throw new CoolException("褰撳墠搴撲綅宸茬敓鎴愪换鍔★紒");
}
AgvLocMast locMastS = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo).eq("loc_sts", "F"));
if (Cools.isEmpty(locMastS)) {
throw new CoolException("褰撳墠搴撲綅闈炲湪搴撶姸鎬侊紒搴撲綅鍙�=" + locNo);
}
- AgvWrkMast wrkMast = createWrkMast(ioType, 22L, locNo, "", barcode, now, getUserId(), 30, floor);
+ AgvWrkMast wrkMast = createWrkMast(ioType, 22L, locNo, "", barcode, now, getUserId(), Integer.parseInt(barcode.substring(0, 2)), floor);
// 鍚屾璋冩嫧鍗�
long flowId = snowflakeIdWorker.nextId();
List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
@@ -692,7 +756,7 @@
if (Cools.isEmpty(locMastS)) {
throw new CoolException("褰撳墠搴撲綅闈炲湪搴撶姸鎬侊紒搴撲綅鍙�=" + locNo);
}
- AgvWrkMast wrkMast = createWrkMast(114, 22L, locNo, "", barcode, now, getUserId(), 30, 1);
+ AgvWrkMast wrkMast = createWrkMast(114, 22L, locNo, "", barcode, now, getUserId(), Integer.parseInt(barcode.substring(0,2)), 1);
// 鍚屾璋冩嫧鍗�
List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
for (AgvLocDetl agvLocDetl : agvLocDetls) {
@@ -808,6 +872,15 @@
return R.ok();
}
+ @PostMapping("/hand/control/processed/v2")
+ @Transactional
+ @ManagerAuth(memo = "纭鍔犲伐瀹屾垚V2")
+ @Synchronized
+ public R processedV2(@RequestBody AgvMobileStartPakin param) {
+ agvMobileService.processedV2(param, getUserId());
+ return R.ok();
+ }
+
public static void main(String[] args) {
List<AgvLocDetl> agvLocDetls1 = new ArrayList<>();
--
Gitblit v1.9.1