From 958714543e06c125891a6245f489a6ede5b39cd0 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期一, 23 三月 2026 14:15:16 +0800
Subject: [PATCH] 1.修复空板入库时找库存明细为空 2.新增mes查询wms具体机台工位冻结情况,
---
src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 43 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java b/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
index 37283b4..076c454 100644
--- a/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
@@ -123,9 +123,9 @@
// if (!wrkMastService.updateById(mast)) {
// throw new CoolException("浠诲姟鐘舵�佹洿鏂板け璐ワ紒锛�");
// }
- workService.backLocOperation(mast.getWrkNo() + "", mast.getAppeUser());
- return R.ok("鎺ユ敹鎴愬姛锛屾墽琛屽洖搴撲腑...");
+ return workService.backLocOperation(mast.getWrkNo() + "", mast.getAppeUser());
+
}
/**
@@ -153,7 +153,7 @@
}else if (!Objects.isNull(params.getType()) && params.getType().equals("move")) {
url = createLocMoveTask;
}
- String response;
+ String response = null;
R r = R.ok();
try {
log.info("涓嬪彂鎼繍浠诲姟缁檞cs="+JSON.toJSONString(params));
@@ -209,7 +209,7 @@
String s = Utils.convertLocFormat(params.getLocNo());
LocAroundBind bind = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>()
.eq("b_loc_no", s));
- if (!Objects.isNull(bind)&&Cools.isEmpty(wrkMast.getStaNo())) {
+ if (!Objects.isNull(bind)) {
bind.setFreeze(1);
locAroundBindService.updateById(bind);
//鍐荤粨鐩搁偦搴撲綅
@@ -233,15 +233,21 @@
}
//TODO 涓婃姤鏄惁鎴愬姛
}else {
- r =R.error();
+ String msg = jsonObject.getString("msg");
+ if (Cools.isEmpty(msg)) {
+ msg = jsonObject.getString("message");
+ }
+ r = R.error(Cools.isEmpty(msg) ? "涓嬪彂浠诲姟澶辫触" : msg);
}
} catch (IOException e) {
- throw new RuntimeException(e);
+ log.error("涓嬪彂浠诲姟缁檞cs寮傚父, request={}", JSON.toJSONString(params), e);
+ return R.error("璋冪敤WCS鎺ュ彛澶辫触锛�" + e.getMessage());
+ } catch (Exception e) {
+ log.error("瑙f瀽WCS涓嬪彂缁撴灉寮傚父, request={}, response={}", JSON.toJSONString(params), response, e);
+ return R.error("WCS杩斿洖缁撴灉寮傚父锛�" + e.getMessage());
}
return r;
}
-
-
/**
* 涓婃姤閿佸畾/閲婃斁搴撲綅淇℃伅
*
@@ -258,7 +264,7 @@
url = MesConstant.RELEASE_LOCS_URL;
}
}
- String response;
+ String response = null;
try {
response = new HttpHandler.Builder()
.setUri(MesConstant.URL)
@@ -316,10 +322,25 @@
LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>()
.eq("zpallet", mast.getBarcode())
.eq("loc_no", mast.getSourceLocNo()));
- if (Objects.isNull(locDetl)) {
+ WrkDetl mainWrkDetl = null;
+ if (Objects.isNull(locDetl) && !Cools.isEmpty(mast.getWrkCode())) {
+ mainWrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>()
+ .eq("wrk_no", mast.getWrkCode())
+ .eq("zpallet", mast.getBarcode()));
+ if (Objects.isNull(mainWrkDetl)) {
+ mainWrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>()
+ .eq("wrk_no", mast.getWrkCode()));
+ }
+ if (!Objects.isNull(mainWrkDetl)) {
+ log.info("locDetl涓虹┖锛屽洖閫�鏌ヨ涓讳换鍔℃槑缁嗭紝wrkNo={}, mainWrkNo={}, barcode={}",
+ mast.getWrkNo(), mast.getWrkCode(), mast.getBarcode());
+ }
+ }
+ if (Objects.isNull(locDetl) && Objects.isNull(mainWrkDetl)) {
throw new CoolException("鏄庣粏鏁版嵁涓嶅瓨鍦紒锛�");
}
- Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", locDetl.getMatnr()));
+ String matnrNo = Objects.isNull(locDetl) ? mainWrkDetl.getMatnr() : locDetl.getMatnr();
+ Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", matnrNo));
if (Objects.isNull(matnr)) {
throw new CoolException("鐗╂枡鍩虹淇℃伅涓嶅瓨鍦紒锛�");
}
@@ -327,9 +348,15 @@
Double val = Math.round((weight - matnr.getSafeQty()) * 10000) / 10000.0;
if (val.compareTo(0.0) > 0) {
WrkDetl wrkDetl = new WrkDetl();
- BeanUtils.copyProperties(locDetl, wrkDetl);
+ if (Objects.isNull(locDetl)) {
+ BeanUtils.copyProperties(mainWrkDetl, wrkDetl);
+ wrkDetl.setStockQty(Cools.isEmpty(mainWrkDetl.getStockQty()) ? mainWrkDetl.getAnfme() : mainWrkDetl.getStockQty());
+ wrkDetl.setZpallet(mast.getBarcode());
+ } else {
+ BeanUtils.copyProperties(locDetl, wrkDetl);
+ wrkDetl.setStockQty(locDetl.getAnfme());
+ }
wrkDetl.setWrkNo(mast.getWrkNo());
- wrkDetl.setStockQty(locDetl.getAnfme());
wrkDetl.setIoTime(new Date());
wrkDetl.setWeight(weight);
wrkDetl.setIoTime(mast.getIoTime());
@@ -395,7 +422,7 @@
}
Double realQty = Math.round((wrkDetl.getStockQty() - wrkDetl.getAnfme()) * 10000) / 10000.0;
if (!Cools.isEmpty(weight)) {
- Double val = Math.round((weight - 2.35) * 10000) / 10000.0;
+ Double val = Math.round((weight - 3) * 10000) / 10000.0;
//绉伴噸鍚庯紝璁$畻鍑虹湡瀹為暱搴�
realQty = val * matnr.getVolume();
if (realQty<matnr.getSafeQty()){
@@ -520,3 +547,5 @@
return locAround;
}
}
+
+
--
Gitblit v1.9.1