From f3603d9f0eb85d2a42edbcadd0950889af2c24d2 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期一, 19 二月 2024 18:14:05 +0800
Subject: [PATCH] #库存迁移逻辑修改,从工作明细档进行处理
---
src/main/java/com/zy/asrs/entity/WrkDetlLog.java | 10 ++
src/main/resources/mapper/WrkDetlMapper.xml | 1
src/main/java/com/zy/common/model/OutLocDto.java | 65 +++++++++++++++++++++
src/main/resources/mapper/WrkDetlLogMapper.xml | 1
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 44 ++++++++++----
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 10 ++
src/main/java/com/zy/asrs/entity/WrkDetl.java | 10 ++
src/main/java/com/zy/common/web/WcsController.java | 28 ++++----
src/main/webapp/static/js/common.js | 3
9 files changed, 138 insertions(+), 34 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/WrkDetl.java b/src/main/java/com/zy/asrs/entity/WrkDetl.java
index ae755c0..826af34 100644
--- a/src/main/java/com/zy/asrs/entity/WrkDetl.java
+++ b/src/main/java/com/zy/asrs/entity/WrkDetl.java
@@ -35,12 +35,18 @@
private Date ioTime;
/**
- * 鏁伴噺
+ * 浣滀笟鏁伴噺
*/
- @ApiModelProperty(value= "鏁伴噺")
+ @ApiModelProperty(value= "浣滀笟鏁伴噺")
private Double anfme;
/**
+ * 鎬诲簱瀛�
+ */
+ @ApiModelProperty(value= "鎬诲簱瀛�")
+ private Double stock;
+
+ /**
* 鎵樼洏鏉$爜
*/
@ApiModelProperty(value= "鎵樼洏鏉$爜")
diff --git a/src/main/java/com/zy/asrs/entity/WrkDetlLog.java b/src/main/java/com/zy/asrs/entity/WrkDetlLog.java
index c283e3d..0df08e6 100644
--- a/src/main/java/com/zy/asrs/entity/WrkDetlLog.java
+++ b/src/main/java/com/zy/asrs/entity/WrkDetlLog.java
@@ -34,12 +34,18 @@
private Date ioTime;
/**
- * 鏁伴噺
+ * 浣滀笟鏁伴噺
*/
- @ApiModelProperty(value= "鏁伴噺")
+ @ApiModelProperty(value= "浣滀笟鏁伴噺")
private Double anfme;
/**
+ * 鎬诲簱瀛�
+ */
+ @ApiModelProperty(value= "鎬诲簱瀛�")
+ private Double stock;
+
+ /**
* 鎵樼洏鏉$爜
*/
@ApiModelProperty(value= "鎵樼洏鏉$爜")
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 3680f51..0a5347a 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -284,6 +284,11 @@
}
}
+ for (OutLocDto dto : dtos) {
+ dto.sortLocDetlDtos();
+ }
+
+
ArrayList<String> outerLocs = new ArrayList<>();
//妫�娴嬫槸鍚︿负娴呭簱浣�
boolean sign=false;
@@ -423,14 +428,15 @@
}
// 鐢熸垚宸ヤ綔妗f槑缁�
for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
- if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;}
+ if (detlDto.getCount()==null) {continue;}
WrkDetl wrkDetl = new WrkDetl();
wrkDetl.sync(detlDto.getLocDetl());
wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙�
wrkDetl.setWrkNo(workNo);
wrkDetl.setIoTime(now);
Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount();
- wrkDetl.setAnfme(anfme); // 鏁伴噺
+ wrkDetl.setAnfme(anfme); // 浣滀笟鏁伴噺
+ wrkDetl.setStock(detlDto.getLocDetl().getAnfme());
wrkDetl.setAppeTime(now);
wrkDetl.setAppeUser(userId);
wrkDetl.setModiTime(now);
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 6665933..84350bd 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -138,20 +138,37 @@
}
log.info("宸ヤ綔鍙凤細" + wrkMast.getWrkNo() + "锛屾墭鐩樼爜锛�" + wrkMast.getBarcode() + "锛屽伐浣滄。鏄庣粏鍒楄〃锛�" + JSON.toJSONString(wrkDetls53));
for (WrkDetl wrkDetl : wrkDetls53) {
-
- LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getSuppCode());
- if (null != locDetl) {
- log.info("宸ヤ綔鍙凤細" + wrkMast.getWrkNo() + "锛屾墭鐩樼爜锛�" + wrkMast.getBarcode() + "锛屽伐浣滄。鏄庣粏锛�" + JSON.toJSONString(wrkDetl) + "锛屽簱瀛樻槑缁嗭細" + JSON.toJSONString(locDetl));
- if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(),
- locMast.getLocNo(),
- wrkDetl.getMatnr(),
- wrkDetl.getBatch(),
- wrkDetl.getSuppCode(),
- wrkDetl.getThreeCode(),
- wrkDetl.getDeadTime())) {
- exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
- }
+ double anfme = wrkDetl.getStock() - wrkDetl.getAnfme();
+ if (anfme <= 0) {//搴撳瓨 - 浣滀笟鏁伴噺 <= 0 娓呮帀璇ユ暟鎹�
+ continue;
}
+
+ LocDetl locDetl = new LocDetl();
+ locDetl.sync(wrkDetl);
+ locDetl.setLocNo(wrkMast.getLocNo());
+ locDetl.setAnfme(anfme);
+ locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
+ locDetl.setAppeTime(now);
+ locDetl.setAppeUser(9527L);
+ locDetl.setModiTime(now);
+ locDetl.setModiUser(9527L);
+ if (!locDetlService.insert(locDetl)) {
+ exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+ }
+
+// LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getSuppCode());
+// if (null != locDetl) {
+// log.info("宸ヤ綔鍙凤細" + wrkMast.getWrkNo() + "锛屾墭鐩樼爜锛�" + wrkMast.getBarcode() + "锛屽伐浣滄。鏄庣粏锛�" + JSON.toJSONString(wrkDetl) + "锛屽簱瀛樻槑缁嗭細" + JSON.toJSONString(locDetl));
+// if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(),
+// locMast.getLocNo(),
+// wrkDetl.getMatnr(),
+// wrkDetl.getBatch(),
+// wrkDetl.getSuppCode(),
+// wrkDetl.getThreeCode(),
+// wrkDetl.getDeadTime())) {
+// exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+// }
+// }
}
// 淇敼搴撲綅鐘舵�� Q ====>> F
if (locMast.getLocSts().equals("Q")) {
@@ -273,6 +290,7 @@
if (!locMastService.updateById(sourceLoc)) {
exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
}
+ locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no",locMast.getLocNo()));
}
// 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts
locMast.setLocSts(locSts);
diff --git a/src/main/java/com/zy/common/model/OutLocDto.java b/src/main/java/com/zy/common/model/OutLocDto.java
index e75f276..3388eb6 100644
--- a/src/main/java/com/zy/common/model/OutLocDto.java
+++ b/src/main/java/com/zy/common/model/OutLocDto.java
@@ -69,4 +69,69 @@
return sameNumber == locDetls.size();
}
+ public void sortLocDetlDtos() {
+ ArrayList<LocDetlDto> list = new ArrayList<>();
+ EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
+ wrapper.eq("loc_no", locNo);
+ LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class);
+ List<LocDetl> locDetls = locDetlService.selectList(wrapper);
+ for (LocDetl locDetl : locDetls) {
+ boolean flag = true;
+ for (LocDetlDto locDetlDto : locDetlDtos) {
+ LocDetl detl = locDetlDto.getLocDetl();
+ if (!Cools.isEmpty(locDetl.getMatnr())) {
+ if (!locDetl.getMatnr().equals(detl.getMatnr())) {
+ continue;
+ }
+ }
+ if (!Cools.isEmpty(locDetl.getBatch())) {
+ if (!locDetl.getBatch().equals(detl.getBatch())) {
+ continue;
+ }
+ }
+ if (!Cools.isEmpty(locDetl.getSuppCode())) {
+ if (!locDetl.getSuppCode().equals(detl.getSuppCode())) {
+ continue;
+ }
+ }
+ flag = false;
+ break;
+ }
+
+ if (flag) {
+ LocDetlDto dto = new LocDetlDto(locDetl, 0D);
+ list.add(dto);
+ }
+ }
+
+ locDetlDtos.addAll(list);
+// ArrayList<String> matnr = new ArrayList<>();
+// ArrayList<String> batch = new ArrayList<>();
+// ArrayList<String> suppCode = new ArrayList<>();
+// for (LocDetlDto locDetlDto : locDetlDtos) {
+// LocDetl locDetl = locDetlDto.getLocDetl();
+// if (!Cools.isEmpty(locDetl.getMatnr())) {
+// matnr.add(locDetl.getMatnr());
+// }
+// if (!Cools.isEmpty(locDetl.getBatch())) {
+// batch.add(locDetl.getBatch());
+// }
+// if (!Cools.isEmpty(locDetl.getSuppCode())) {
+// suppCode.add(locDetl.getSuppCode());
+// }
+// }
+//
+// EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
+// wrapper.eq("loc_no", locNo);
+// wrapper.notIn("matnr", matnr);
+// wrapper.notIn("batch", batch);
+// wrapper.notIn("supp_code", suppCode);
+// LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class);
+// List<LocDetl> locDetls = locDetlService.selectList(wrapper);
+// for (LocDetl locDetl : locDetls) {
+// LocDetlDto dto = new LocDetlDto(locDetl, 0D);
+// locDetlDtos.add(dto);
+// }
+ }
+
}
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 3855940..53add18 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -497,21 +497,21 @@
throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
}
- Date now = new Date();
- for (LocDetl locDetl : locDetls) {
- locDetl.setLocNo(dto.getLocNo());//淇敼鐩爣搴撲綅
- locDetl.setAppeTime(now);
- locDetl.setModiTime(now);
- if (!locDetlService.insert(locDetl)) {
- throw new CoolException("搴撳瓨鏄庣粏鏇存柊澶辫触");
- }
- }
+// Date now = new Date();
+// for (LocDetl locDetl : locDetls) {
+// locDetl.setLocNo(dto.getLocNo());//淇敼鐩爣搴撲綅
+// locDetl.setAppeTime(now);
+// locDetl.setModiTime(now);
+// if (!locDetlService.insert(locDetl)) {
+// throw new CoolException("搴撳瓨鏄庣粏鏇存柊澶辫触");
+// }
+// }
- //妫�鏌ョ洰鏍囧簱浣嶏紝搴撳瓨鏄庣粏鏄惁娣诲姞鎴愬姛
- List<LocDetl> checkLocDetls = locDetlService.selectByLocNo(dto.getLocNo());
- if (checkLocDetls.isEmpty()) {
- throw new CoolException("搴撳瓨鏄庣粏杩佺Щ澶辫触");
- }
+// //妫�鏌ョ洰鏍囧簱浣嶏紝搴撳瓨鏄庣粏鏄惁娣诲姞鎴愬姛
+// List<LocDetl> checkLocDetls = locDetlService.selectByLocNo(dto.getLocNo());
+// if (checkLocDetls.isEmpty()) {
+// throw new CoolException("搴撳瓨鏄庣粏杩佺Щ澶辫触");
+// }
// //娓呯┖婧愬簱浣嶆暟鎹�
LocMast locMast1 = locMastService.selectByLoc(wrkMast.getSourceLocNo());
diff --git a/src/main/resources/mapper/WrkDetlLogMapper.xml b/src/main/resources/mapper/WrkDetlLogMapper.xml
index a4a997e..57934bc 100644
--- a/src/main/resources/mapper/WrkDetlLogMapper.xml
+++ b/src/main/resources/mapper/WrkDetlLogMapper.xml
@@ -7,6 +7,7 @@
<result column="wrk_no" property="wrkNo" />
<result column="io_time" property="ioTime" />
<result column="anfme" property="anfme" />
+ <result column="stock" property="stock" />
<result column="zpallet" property="zpallet" />
<result column="matnr" property="matnr" />
<result column="maktx" property="maktx" />
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index a9a84f2..6012632 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -7,6 +7,7 @@
<result column="wrk_no" property="wrkNo" />
<result column="io_time" property="ioTime" />
<result column="anfme" property="anfme" />
+ <result column="stock" property="stock" />
<result column="zpallet" property="zpallet" />
<result column="matnr" property="matnr" />
<result column="maktx" property="maktx" />
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index cc817a0..a6ba1da 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -229,7 +229,8 @@
,{field: 'matnr', align: 'center',title: '瀛樿揣缂栫爜',hide: true}
,{field: 'suppCode', align: 'center',title: '鏂欑鐮�', hide: false}
,{field: 'matnr', align: 'center',title: '瀛樿揣缂栫爜'}
- ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
+ ,{field: 'anfme', align: 'center',title: '浣滀笟鏁伴噺'}
+ ,{field: 'stock', align: 'center',title: '鎬诲簱瀛�'}
,{field: 'batch', align: 'center',title: '搴忓垪鐮�', width: 300, sort:true, hide: true}
,{field: 'maktx', align: 'center',title: '瀛樿揣鍚嶇О'}
,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: false}
--
Gitblit v1.9.1