From 707d414c0e6a8baff3ce7affec820f0fc1a13c19 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期二, 24 二月 2026 09:06:04 +0800
Subject: [PATCH] no message
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 119 ++++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 80 insertions(+), 39 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 5731507..e87e8f8 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -29,6 +29,9 @@
import com.zy.common.properties.SlaveProperties;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
+import com.zy.system.service.impl.ConfigServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -133,6 +136,8 @@
private BasStationDetlService basStationDetlService;
@Autowired
private WorkService workService;
+ @Autowired
+ private ConfigService configService;
@Override
@Transactional
@@ -173,7 +178,9 @@
wrkMastService.insert(wrkMast);
for (OrderDetl orderDetl : param.getCombMats()) {
- Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", orderDetl.getMatnr()));
+ Mat mat = matService.selectOne(new EntityWrapper<Mat>()
+ .eq("supp_code", orderDetl.getStandby1())
+ .eq("matnr", orderDetl.getMatnr()));
if (mat == null) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鐗╂枡淇℃伅涓嶅瓨鍦細" + orderDetl.getMatnr());
}
@@ -372,6 +379,7 @@
for (CombParam.CombMat combMat : combParam.getCombMats()) {
List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>()
.eq("loc_no", combParam.getLocNo())
+ .eq(!Cools.isEmpty(combMat.getStandby1()), "supp_code", combMat.getStandby1())
.eq("matnr", combMat.getMatnr()));
if (locDetlList.isEmpty()) {
return R.error("鏈煡璇㈠埌搴撳瓨鏁版嵁");
@@ -446,7 +454,9 @@
wrkMast.setModiUser(userId);
wrkMastService.insert(wrkMast);
- Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", combMat.getMatnr()));
+ Mat mat = matService.selectOne(new EntityWrapper<Mat>()
+ .eq(!Cools.isEmpty(combMat.getStandby1()), "supp_code", combMat.getStandby1())
+ .eq("matnr", combMat.getMatnr()));
if (mat == null) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鐗╂枡淇℃伅涓嶅瓨鍦細" + combMat.getMatnr());
}
@@ -627,7 +637,7 @@
// 鏃犲崟缁勬墭
if (Cools.isEmpty(param.getOrderNo())) {
//绌烘澘缁勬墭
- if (param.getPakinType().equals("3")) {
+ if (!Cools.isEmpty(param.getPakinType()) && param.getPakinType().equals("3")) {
WaitPakin waitPakin = new WaitPakin();
waitPakin.setZpallet(param.getBarcode());
waitPakin.setIoStatus("N");
@@ -708,6 +718,7 @@
// elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3());
OrderDetlPakin detls = orderDetlPakinService.selectOne(new EntityWrapper<OrderDetlPakin>()
.eq("order_id", order.getId())
+ .eq("supp_code", elem.getStandby1())
.eq("matnr", elem.getMatnr()));
if (Objects.isNull(elem.getBoxType1())) {
throw new CoolException("鏍煎眰缂栫爜涓嶈兘涓虹┖锛侊紒");
@@ -738,9 +749,16 @@
}
});
- Set<String> matnrs = detlDtos.stream().map(DetlDto::getMatnr).collect(Collectors.toSet());
- List<Mat> mats = matService.selectList(new EntityWrapper<Mat>().in("matnr", matnrs));
- Set<Long> tagIds = mats.stream().map(Mat::getTagId).collect(Collectors.toSet());
+ List<Mat> tempMats = new ArrayList<>();
+ for (DetlDto detlDto : detlDtos) {
+ Mat mat = matService.selectOne(new EntityWrapper<Mat>()
+ .eq("matnr", detlDto.getMatnr())
+ .eq("supp_code", detlDto.getStandby1()));
+ tempMats.add(mat);
+ }
+
+// Set<String> matnrs = tempMats.stream().map(Mat::getMatnr).collect(Collectors.toSet());
+ Set<Long> tagIds = tempMats.stream().map(Mat::getTagId).collect(Collectors.toSet());
if (tagIds.size() > 1) {
throw new CoolException("缁勬墭鐗╂枡绫诲瀷涓嶄竴鑷达紝鍙湁鐩稿悓鐨勭墿鏂欏垎绫绘墠鍙互缁勬墭锛侊紒");
}
@@ -1186,6 +1204,7 @@
orderDetl.setUpdateBy(userId);
orderDetl.setUpdateTime(now);
Wrapper wrapper = new EntityWrapper<OrderDetl>().eq("order_no", orderNo)
+ .eq(!Cools.isEmpty(orderDetl.getStandby1()), "supp_code", orderDetl.getStandby1())
.eq("matnr", orderDetl.getMatnr());
if (!Cools.isEmpty(orderDetl.getBatch())) {
wrapper.eq("batch", orderDetl.getBatch());
@@ -1303,7 +1322,6 @@
.eq("area_id", basAreas.getId())
.eq("frozen", 0)
.eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type)
- // .eq("loc_no", params.getTarSite())
.orderAsc(Arrays.asList("loc_no"))
.last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
if (Objects.isNull(locCache)) {
@@ -1330,18 +1348,12 @@
if (Objects.isNull(params)) {
throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
}
- if (Objects.isNull(params.getOrderNo())) {
- throw new CoolException("鍗曞彿涓嶈兘涓虹┖锛侊紒");
- }
- OrderPakin orderPakin = orderPakinService
- .selectOne(new EntityWrapper<OrderPakin>().eq("order_no", params.getOrderNo()));
- if (Objects.isNull(orderPakin)) {
- throw new CoolException("鏁版嵁閿欒锛氬崟鎹笉瀛樺湪锛侊紒");
- }
+
List<OrderDetlPakin> detlPakins = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>()
- .eq(!Cools.isEmpty(params.getThreeCode()), "three_code", params.getThreeCode())
- .eq(!Cools.isEmpty(params.getMatnr()), "matnr", params.getMatnr())
- .eq("order_id", orderPakin.getId()));
+ .eq(!Cools.isEmpty(params.getThreeCode()), "three_code", params.getThreeCode())
+// .eq(!Cools.isEmpty(params.getMatnr()), "matnr", params.getMatnr())
+// .eq(!Cools.isEmpty(params.getOrderNo()), "order_no", params.getOrderNo())
+ );
if (Objects.isNull(detlPakins) || detlPakins.isEmpty()) {
throw new CoolException("鏁版嵁閿欒锛� 鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
}
@@ -1681,9 +1693,13 @@
if (container.getMixMax() < detlDtos.size()) {
throw new CoolException("瓒呭嚭瀹瑰櫒鏈�澶ф贩瑁呮暟閲忥紝褰撳墠瀹瑰櫒鏈�澶ф暟閲忎负锛�" + container.getMixMax() + "!!");
}
- Set<String> matnrs = detlDtos.stream().map(DetlDto::getMatnr).collect(Collectors.toSet());
- List<Mat> mats = matService.selectList(new EntityWrapper<Mat>().in("matnr", matnrs));
- Set<Long> tagIds = mats.stream().map(Mat::getTagId).collect(Collectors.toSet());
+ List<Mat> tempMats = new ArrayList<>();
+ for (DetlDto detlDto : detlDtos) {
+ Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", detlDto.getMatnr())
+ .eq("supp_code", detlDto.getStandby1()));
+ tempMats.add(mat);
+ }
+ Set<Long> tagIds = tempMats.stream().map(Mat::getTagId).collect(Collectors.toSet());
if (tagIds.size() > 1) {
throw new CoolException("缁勬墭鐗╂枡绫诲瀷涓嶄竴鑷达紝鍙湁鐩稿悓鐨勭墿鏂欏垎绫绘墠鍙互缁勬墭锛侊紒");
}
@@ -1895,7 +1911,7 @@
.eq("dev_no", basStation.getDevNo())
.eq("matnr", combMat.getMatnr())
.eq("batch", combMat.getBatch())
- .eq("standby1", combMat.getStandby1()));
+ .eq(!Cools.isEmpty(combMat.getStandby1()), "standby1", combMat.getStandby1()));
if (Cools.isEmpty(basStationDetl)) {
basStationDetl = new BasStationDetl();
Mat mat = matService.selectByMatnr(combMat.getMatnr());
@@ -1936,8 +1952,8 @@
OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectOne(new EntityWrapper<OrderDetlPakin>()
.eq("order_id", orderPakin.getId())
.eq("matnr", combMat.getMatnr())
- .eq("batch", combMat.getBatch())
- .eq("standby1", combMat.getStandby1()));
+ .eq(!Cools.isEmpty(combMat.getBatch()),"batch", combMat.getBatch())
+ .eq(!Cools.isEmpty(combMat.getStandby1()), "supp_code", combMat.getStandby1()));
if (Cools.isEmpty(orderDetlPakin)) {
throw new CoolException("妫�绱㈠崟鎹槑缁嗘暟鎹け璐�");
}
@@ -2110,17 +2126,16 @@
throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
}
} else {
- wrkMast.setWrkSts(1L);
+ wrkMast.setWrkSts(2L);
wrkMast.setIoType(10);
-
wrkMastService.updateById(wrkMast);
}
});
-
// 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y
Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
.eq("zpallet", pakin.getZpallet());
+
WaitPakin setParam = new WaitPakin();
setParam.setLocNo(locNo);
setParam.setIoStatus("Y");
@@ -2229,7 +2244,9 @@
if (container.getMixMax() > sets.size()) {
//浣欎笅鍙贩鏀剧绫�
long suplus = Math.round((container.getMixMax() - sets.size()) * 10000) / 10000;
- Mat mats = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", matnr));
+ Mat mats = matService.selectOne(new EntityWrapper<Mat>()
+ .eq("supp_code", supId)
+ .eq("matnr", matnr));
if (Objects.isNull(mats)) {
throw new CoolException("鐗╂枡涓嶅瓨鍦紒锛�");
}
@@ -2249,11 +2266,9 @@
});
});
- // 鍒ゆ柇鏍规嵁鍒嗘嫞鍑哄簱鍚�,杩橀渶瑕佸嚭澶氬皯鎵樼洏鎴栨枡绠�;濡傛灉浣欐枡澶т簬0, 鍑烘柊鎵樼洏鎴栨枡绠�
- if (totalOut.get().compareTo(0.0) > 0) {
- generateTask(locMasts, TaskIOType.MERGE_OUT.type, basDevp, userId, station);
- //TODO 缁嗗寲鍖哄垎锛屽綋鍓嶅嚭搴撴墭鐩樻槸婊¤冻鎷h揣鏁伴噺
- } else {
+ /**鏄惁浼樺厛绌烘澘鍑哄簱*/
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "OutStockOrderByEmpty"));
+ if (!Objects.isNull(config) && Boolean.parseBoolean(config.getValue())) {
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
// todo 鏍规嵁鐗╂枡绉嶇被,鍖哄垎搴撳尯绫诲瀷
.eq("loc_sts", LocStsType.LOC_STS_TYPE_D.type)
@@ -2263,12 +2278,32 @@
if (Objects.isNull(locMast)) {
throw new CoolException("鏈煡璇㈠埌鍙敤鐨勭┖鏉夸俊鎭紒锛�");
}
-
CrnTaskDetlDTO crnTaskDetlDTO = new CrnTaskDetlDTO().setLocNo(locMast.getLocNo()).setLocDetlList(locDetls);
locMasts.add(crnTaskDetlDTO);
// 绌烘澘鍑哄簱
generateTask(locMasts, TaskIOType.MERGE_OUT.type, basDevp, userId, station);
+ } else {
+ // 鍒ゆ柇鏍规嵁鍒嗘嫞鍑哄簱鍚�,杩橀渶瑕佸嚭澶氬皯鎵樼洏鎴栨枡绠�;濡傛灉浣欐枡澶т簬0, 鍑烘柊鎵樼洏鎴栨枡绠�
+ if (totalOut.get().compareTo(0.0) > 0) {
+ generateTask(locMasts, TaskIOType.MERGE_OUT.type, basDevp, userId, station);
+ //TODO 缁嗗寲鍖哄垎锛屽綋鍓嶅嚭搴撴墭鐩樻槸婊¤冻鎷h揣鏁伴噺
+ } else {
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ // todo 鏍规嵁鐗╂枡绉嶇被,鍖哄垎搴撳尯绫诲瀷
+ .eq("loc_sts", LocStsType.LOC_STS_TYPE_D.type)
+ .orderAsc(Arrays.asList("row1", "bay1", "lev1"))
+ .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
+
+ if (Objects.isNull(locMast)) {
+ throw new CoolException("鏈煡璇㈠埌鍙敤鐨勭┖鏉夸俊鎭紒锛�");
+ }
+ CrnTaskDetlDTO crnTaskDetlDTO = new CrnTaskDetlDTO().setLocNo(locMast.getLocNo()).setLocDetlList(locDetls);
+ locMasts.add(crnTaskDetlDTO);
+
+ // 绌烘澘鍑哄簱
+ generateTask(locMasts, TaskIOType.MERGE_OUT.type, basDevp, userId, station);
+ }
}
}
@@ -2505,7 +2540,6 @@
if (!taskDetlService.insert(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
-
}
for (WaitPakin pakin : pakins) {
@@ -2650,7 +2684,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
public R taskMove(CompleteParam combParam, long userId) {
- if (Objects.isNull(combParam.getWorkNo())) {
+ if (Objects.isNull(combParam.getTaskNo())) {
return R.error("浠诲姟鍙蜂笉鑳戒负绌�");
}
if (Objects.isNull(combParam.getSourceLocNo())) {
@@ -2659,26 +2693,33 @@
if (Objects.isNull(combParam.getLocNo())) {
return R.error("鐩爣搴撲綅涓嶈兘涓虹┖锛�");
}
- WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", combParam.getWorkNo()));
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", combParam.getTaskNo()));
if (Objects.isNull(wrkMast)) {
return R.error("浠诲姟妗d笉瀛樺湪锛侊紒");
}
+
+
String body = JSON.toJSONString(combParam);
boolean success = false;
String response = "";
try {
response = new HttpHandler.Builder()
- .setUri(HIKApiConstant.AGV_IP)
+ .setUri(MesConstant.WCS_URL)
.setPath(MesConstant.MOVE_LOC_TASK)
.setJson(body)
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
if (jsonObject.getInteger("code").equals(200)) {
- wrkMast.setWrkSts(12L);
+ wrkMast.setWrkSts(2L);
if (!wrkMastService.updateById(wrkMast)) {
throw new CoolException("浠诲姟鐘舵�佹洿鏂板け璐ワ紒锛�");
}
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
+ if (!Objects.isNull(locMast)) {
+ locMast.setMoveStatus(1);
+ locMastService.updateById(locMast);
+ }
success = true;
} else {
log.error("鍙戦�乤gv浠诲姟澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.WCS_URL + MesConstant.MOVE_LOC_TASK, body, response);
--
Gitblit v1.9.1