From 6c8a21903e81177987778fe2ca5809f87a418182 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期六, 14 六月 2025 10:20:01 +0800
Subject: [PATCH] #
---
src/main/resources/mapper/asrs/WrkDetlMapper.xml | 10 ++++++++++
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java | 2 ++
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | 21 ++++++++++++++++++++-
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | 3 +++
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 19 +++++++------------
5 files changed, 42 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
index e10e894..6199670 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -18,6 +18,8 @@
int updateAnfme(@Param("anfme")Double anfme, @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch);
+ int updateWeight(@Param("weight")Double weight, @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch);
+
List<WrkDetl> selectAndLogByOrderNo(String orderNo);
int updateInspect( @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch);
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index 95627ac..456e2b5 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -77,6 +77,9 @@
//杞崲鍏崇郴
String origin = mat.getOrigin();
+ if (Cools.isEmpty(origin)) {
+ return true;
+ }
String[] split = origin.split("/");
//杈呭崟浣�
Double weight = (anfme / Double.parseDouble(split[1])) / Double.parseDouble(split[0]);
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 d251b85..8449098 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -838,26 +838,21 @@
if (!wrkDetlService.insert(wrkDetl)) {
throw new CoolException("娣诲姞" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿浠诲姟鏄庣粏澶辫触");
}
+ }
+ List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ for (WrkDetl wrkDetl : wrkDetls1) {
+ LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme());
+ locDetlAdjusts.add(locDetlAdjust);
+
String locNo = Cools.isEmpty(wrkMast.getLocNo()) ? wrkMast.getSourceLocNo() : wrkMast.getLocNo();
List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("loc_no", locNo));
for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
if (wrkDetl.getMatnr().equals(checkOrderDetl.getMatnr()) && Cools.eq(wrkDetl.getBatch(), checkOrderDetl.getBatch())) {
checkOrderDetl.setCheckAnfme(wrkDetl.getAnfme());
checkOrderDetl.setStatus("2");
- } else {
- InventoryCheckOrderDetl newDetl = new InventoryCheckOrderDetl();
- Synchro.Copy(wrkDetl, newDetl);
- newDetl.setAnfme(0D);
- newDetl.setCheckAnfme(wrkDetl.getAnfme());
- newDetl.setOrderNo(checkOrderDetl.getOrderNo());
- newDetl.setStatus("2");
+ inventoryCheckOrderDetlService.updateById(checkOrderDetl);
}
}
- }
- List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
- for (WrkDetl wrkDetl : wrkDetls1) {
- LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme());
- locDetlAdjusts.add(locDetlAdjust);
}
// 淇敼鐩樼偣浠诲姟涓绘。鐘舵��
wrkMast.setFullPlt(wrkDetls1.size() != 0 ? "Y" : "N");
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
index 3eaaa7a..e18a416 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -61,7 +61,26 @@
if (anfme <= 0) {
return this.baseMapper.deleteItem(wrkNo, matnr, batch) > 0;
} else {
- return baseMapper.updateAnfme(anfme, wrkNo, matnr, batch) > 0;
+ boolean result = baseMapper.updateAnfme(anfme, wrkNo, matnr, batch) > 0;
+ if (!result) {
+ return false;
+ }
+
+ //鏇存柊杈呮枡
+ Mat mat = matService.selectByMatnr(matnr);
+ if (mat == null) {
+ return false;
+ }
+
+ //杞崲鍏崇郴
+ String origin = mat.getOrigin();
+ if (Cools.isEmpty(origin)) {
+ return true;
+ }
+ String[] split = origin.split("/");
+ //杈呭崟浣�
+ Double weight = (anfme / Double.parseDouble(split[1])) / Double.parseDouble(split[0]);
+ return baseMapper.updateWeight(weight, wrkNo, matnr, batch) > 0;
}
}
diff --git a/src/main/resources/mapper/asrs/WrkDetlMapper.xml b/src/main/resources/mapper/asrs/WrkDetlMapper.xml
index feb11ec..219f91b 100644
--- a/src/main/resources/mapper/asrs/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/asrs/WrkDetlMapper.xml
@@ -87,6 +87,16 @@
<include refid="batchSeq"></include>
</update>
+ <update id="updateWeight">
+ update asr_wrk_detl
+ set weight = #{weight}
+ , modi_time = getdate()
+ where 1=1
+ and wrk_no = #{wrkNo}
+ and matnr = #{matnr}
+ <include refid="batchSeq"></include>
+ </update>
+
<select id="selectAndLogByOrderNo" resultMap="BaseResultMap">
select awd.*
from asr_wrk_detl awd
--
Gitblit v1.9.1