From 79447543a3c6363fe60e12e16fc6b83b437fca83 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期二, 13 八月 2024 14:32:52 +0800
Subject: [PATCH] 出库逻辑调整
---
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java | 2 +-
src/main/java/com/zy/asrs/service/LocDetlService.java | 2 ++
src/main/resources/mapper/LocDetlMapper.xml | 10 ++++++++--
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | 6 ++++++
src/main/java/com/zy/asrs/controller/OutController.java | 13 ++++++++++---
5 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 4a08e72..ebb4acf 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -83,10 +83,17 @@
for (OrderDetl orderDetl : orderDetls) {
double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
- if (issued <= 0.0D) { continue; }
- List<LocDetl> locDetls = locDetlService.queryStock(orderDetls.get(0).getSPgNO());
+ if (issued <= 0.0D) {
+ continue;
+ }
+ List<LocDetl> locDetls;
+ if (Cools.isEmpty(orderDetls.get(0).getSPgNO())) {
+ locDetls = locDetlService.queryStockByModel(orderDetls.get(0).getModel());
+ } else {
+ locDetls = locDetlService.queryStock(orderDetls.get(0).getSPgNO());
+ }
for (LocDetl locDetl : locDetls) {
- if (locDetl.getMatnr().equals(orderDetl.getMatnr())){
+ if (locDetl.getMatnr().equals(orderDetl.getMatnr())) {
if (issued > 0) {
LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 91f71db..30da07a 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -57,7 +57,7 @@
// -------------------------------------------------
- List<LocDetl> queryStock(@Param("sPgNO")String sPgNO, @Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
+ List<LocDetl> queryStock(@Param("sPgNO")String sPgNO, @Param("model")String model, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
Double queryStockAnfme(String matnr, String batch);
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index 8bb36d3..3b298e3 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -56,6 +56,8 @@
List<LocDetl> queryStock(String sPgNO);
+ List<LocDetl> queryStockByModel(String model);
+
Double queryStockAnfme(String matnr, String batch);
List<StockVo> queryStockTotal();
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 ff7f8a8..db27d05 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -95,6 +95,12 @@
}
@Override
+ public List<LocDetl> queryStockByModel(String model) {
+ return this.baseMapper.queryStock(null, model, null, null, null);
+ }
+
+
+ @Override
public Double queryStockAnfme(String matnr, String batch) {
return this.baseMapper.queryStockAnfme(matnr, batch);
}
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 5eae566..3648cdc 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -244,12 +244,18 @@
<!-- and (a.batch IS NULL OR a.batch = '')-->
<!-- </otherwise>-->
<!-- </choose>-->
+
+ <if test="sPgNO != null and sPgNO != ''">
and a.pg_no = #{sPgNO}
+ </if>
<if test="batch != null and batch != ''">
and a.batch = #{batch}
</if>
- <if test="orderNo != null and orderNo != ''">
- and a.order_no = #{orderNo}
+<!-- <if test="orderNo != null and orderNo != ''">-->
+<!-- and a.order_no = #{orderNo}-->
+<!-- </if>-->
+ <if test="model != null and model != ''">
+ and a.model = #{model}
</if>
<if test="locNos != null and locNos.size > 0">
--
Gitblit v1.9.1