From 429082daa99524dde4dcfbd80d1d0f6d027b117f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期六, 02 四月 2022 10:37:03 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java | 28 ++++++++++++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 2 ++
2 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java b/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
index 065f774..fda07cf 100644
--- a/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
@@ -1,7 +1,9 @@
package com.zy.asrs.entity.param;
+import com.core.common.Cools;
import lombok.Data;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -28,6 +30,32 @@
// 鍙樻洿鏁伴噺
private Double count;
+ public LocDetlAdjust(String matnr, String batch, Double count) {
+ this.matnr = matnr;
+ this.batch = batch;
+ this.count = count;
+ }
+ }
+
+ public void integrate() {
+ if (Cools.isEmpty(list)) {
+ return;
+ }
+ List<LocDetlAdjust> copyList = new ArrayList<>();
+ for (LocDetlAdjust adjust : list) {
+ boolean exit = false;
+ for (LocDetlAdjust copy : copyList) {
+ if (adjust.getMatnr().equals(copy.getMatnr()) && Cools.eq(adjust.getBatch(), copy.getBatch())) {
+ copy.setCount(copy.getCount() + adjust.getCount());
+ exit = true;
+ break;
+ }
+ }
+ if (!exit) {
+ copyList.add(new LocDetlAdjustParam.LocDetlAdjust(adjust.getMatnr(), adjust.getBatch(), adjust.getCount()));
+ }
+ }
+ list = copyList;
}
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 ec01caa..b051cbf 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -580,6 +580,7 @@
@Override
@Transactional
public void adjustLocDetl(LocDetlAdjustParam param, Long userId) {
+ param.integrate();
LocMast locMast = locMastService.selectById(param.getLocNo());
if (Cools.isEmpty(locMast)) {
throw new CoolException("搴撲綅涓嶅瓨鍦�");
@@ -654,6 +655,7 @@
Mat mat = matService.selectByMatnr(adjust.getMatnr());
LocDetl locDetl = new LocDetl();
locDetl.sync(mat);
+ locDetl.setBatch(adjust.getBatch());
locDetl.setLocNo(locMast.getLocNo());
locDetl.setAnfme(adjust.getCount()); // 鏁伴噺
locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅
--
Gitblit v1.9.1