From e09e5a4e03338f21e389ce4604462b3d953699cd Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期五, 09 五月 2025 11:49:06 +0800
Subject: [PATCH] 钣金需求匹配-完善需求信息
---
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml | 3 ++-
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java | 15 ++++++++++-----
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanMapper.java | 2 +-
3 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanMapper.java
index f354088..a456135 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanMapper.java
@@ -77,7 +77,7 @@
/**
* 鑾峰彇鏈尮閰嶇殑瀛愯鍒�
* */
- ApsPlatePlan selectUnMatchPlateSubPlan(String plant);
+ ApsPlatePlan selectUnMatchPlateSubPlan(String plant,String itemNumber);
/**
* 鏇存柊瀛愯鍒掓湭鍖归厤鏁伴噺
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java
index dad6a55..e27bd1e 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java
@@ -348,39 +348,44 @@
private void matchRequireAndSubPlan(ApsPlateStandardRequire require) {
BigDecimal netRequirement = require.getNetRequirement();
+ require.setMatchMode("宸ュ崟鍖归厤");
if (netRequirement.compareTo(BigDecimal.ZERO) > 0) {
- ApsPlatePlan platePlan = apsPlatePlanMapper.selectUnMatchPlateSubPlan(require.getOrgCode());
+ ApsPlatePlan platePlan = apsPlatePlanMapper.selectUnMatchPlateSubPlan(require.getOrgCode(), require.getBomLineCode());
/*瀛愪欢宸ュ崟鐨勬湭鍖归厤鏁伴噺 浣滀负褰撳墠鐨勫簱瀛�*/
while (platePlan != null && netRequirement.compareTo(BigDecimal.ZERO) > 0) {
BigDecimal stock = platePlan.getUnmatchedQuantity();
if (netRequirement.compareTo(stock) < 0) {
/* 搴撳瓨鏁伴噺 澶т簬 鍑�闇�姹傛暟閲�*/
/* 鍑�闇�姹傛暟閲�=0 锛屽瓙浠跺伐鍗曟湭鍖归厤鏁伴噺= 搴撳瓨-鍑�闇�姹�*/
- require.setNetRequirement(netRequirement);
BigDecimal subtract = stock.subtract(netRequirement);
bomOrderDetailService.savePlastPlanAndBomOrderDetail(require, platePlan, subtract, stock, netRequirement);
netRequirement = BigDecimal.ZERO;
+ require.setMatchState("宸插尮閰�");
+ require.setUnmatchedDemandAmount(netRequirement);
/*鍑�闇�姹傚凡缁忚婊¤冻锛屼笉闇�瑕佺户缁尮閰�*/
} else if (netRequirement.compareTo(stock) == 0) {
/*鍑�闇�姹傛暟閲� == 搴撳瓨鏁伴噺*/
- require.setNetRequirement(netRequirement);
+
BigDecimal subtract = BigDecimal.ZERO;
bomOrderDetailService.savePlastPlanAndBomOrderDetail(require, platePlan, subtract, stock, netRequirement);
netRequirement = BigDecimal.ZERO;
+ require.setMatchState("宸插尮閰�");
+ require.setUnmatchedDemandAmount(netRequirement);
/*鍑�闇�姹傚凡缁忚婊¤冻锛屼笉闇�瑕佺户缁尮閰�*/
}
if (netRequirement.compareTo(stock) > 0) {
/*闇�姹傚ぇ浜庡簱瀛�*/
/*鍑�闇�姹� 琚儴鍒嗘弧瓒� */
BigDecimal rest = netRequirement.subtract(stock);
- require.setNetRequirement(rest);
require.setMatchState("鍖归厤涓�");
/*宸ュ崟 鏈尮閰嶆暟閲忎负0 鍏ㄩ儴鐢ㄤ簬鍖归厤闇�姹�*/
bomOrderDetailService.savePlastPlanAndBomOrderDetail(require, platePlan, BigDecimal.ZERO, stock, netRequirement);
/*鍑�闇�姹傛湭琚弧瓒筹紝闇�瑕佺户缁尮閰�*/
- platePlan = apsPlatePlanMapper.selectUnMatchPlateSubPlan(require.getOrgCode());
+ platePlan = apsPlatePlanMapper.selectUnMatchPlateSubPlan(require.getOrgCode(), require.getBomLineCode());
+ /*鍓╀綑鍑�闇�姹�*/
netRequirement = rest;
+ require.setUnmatchedDemandAmount(netRequirement);
}
}
}
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml
index 98edeba..7d407f4 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml
@@ -287,7 +287,8 @@
unmatched_quantity,version
from aps_plate_plan
where del_flag='0' and professional_affiliation !='0' and unmatched_quantity > 0
- <if test="plant != null and plan !='' "> and plant = #{plant}</if>
+ <if test="plant != null and plant !='' "> and plant = #{plant}</if>
+ <if test="itemNumber != null and itemNumber !='' "> and item_number = #{itemNumber}</if>
order by document_number asc,id asc
limit 1
</select>
--
Gitblit v1.9.3