From 961ac0196685096572ee838c68585dc8faace8d8 Mon Sep 17 00:00:00 2001 From: sfd <sun.sunshine@163.com> Date: 星期四, 08 五月 2025 17:08:47 +0800 Subject: [PATCH] Merge branch 'dev' of http://192.168.50.149:8085/r/aps-backend into dev --- aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java | 49 ++++++++++++++++++++++--------------------------- 1 files changed, 22 insertions(+), 27 deletions(-) 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 0e40df7..6181c6d 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 @@ -3,7 +3,6 @@ import java.math.BigDecimal; import java.util.*; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import com.aps.common.core.utils.DateUtils; import com.aps.common.security.utils.DictUtils; @@ -18,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.aps.core.service.IApsPlateStandardRequireService; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -69,6 +69,9 @@ @Resource IApsStandardProcessRouteLineService routeLineService; + + @Resource + IApsPlateStandardRequireBatchService requireBatchService; /** * 鏌ヨ閽i噾宸ュ崟鏍囧噯闇�姹� @@ -154,14 +157,18 @@ return apsPlateStandardRequireMapper.selectPlateSupplyGapList(apsPlateStandardRequire); } - private void generatorPlan(){ + @Transactional + @Override + public void generatorPlan(){ + /*鍒濆鍖栨暟鎹�*/ + requireBatchService.initRequireBatch(); /*瀹氫箟宸ュ巶涓哄崡閫� */ String plantCode="FORTUNA"; /*瀹氫箟涓诲崟绫诲瀷涓洪挘閲戜富鍗�*/ String mainOrderType = "閽i噾涓讳欢"; /*鐢熸垚鏂版壒娆″彿*/ - String batchNum=getBatch(); + String batchNum= requireBatchService.getNewBatchNumber(); /*鑾峰彇閽i噾涓诲崟淇℃伅*/ List<ApsPlatePlan> mainPlans = platePlanMapper.selectPlatePlanByPlantMajor(plantCode,mainOrderType); for (ApsPlatePlan mainPlan : mainPlans) { @@ -215,6 +222,8 @@ } /*鏌ユ壘搴撳瓨锛岃绠楀噣闇�姹傦紝淇濆瓨鍓╀綑搴撳瓨锛屼繚瀛樺簱瀛樻墸鍑忔槑缁�*/ BigDecimal remainderStock = BigDecimal.ZERO; + /*榛樿鍑�闇�姹備负BOM鐢ㄩ噺*/ + require.setNetRequirement(require.getBomUseAmount()); Optional<ApsMaterialStorageManagement> itemStorage = getItemStorage(plant, itemNumber); if (itemStorage.isPresent()) { ApsMaterialStorageManagement storage = itemStorage.get(); @@ -282,33 +291,19 @@ if (require.getNetRequirement().compareTo(BigDecimal.ZERO) > 0) { require.setMatchState("寰呭尮閰�"); require.setMatchMode("宸ュ崟鍖归厤"); + /*浣跨敤瀛愪欢宸ュ崟杩涜闇�姹傚尮閰�*/ + matchRequireAndSubPlan(require); } - /*浣跨敤瀛愪欢宸ュ崟杩涜闇�姹傚尮閰�*/ - matchRequireAndSubPlan(require); - allRequires.add(require); - /*褰撳墠Bom鑺傜偣澶勭悊瀹屾垚鍚庯紝澶勭悊涓嬬骇BOM*/ - List<ApsBom> bomLineList = bomLineService.selectApsBomLineList(plant, itemNumber); - if (!bomLineList.isEmpty()) { - bomLineList.forEach(line -> { - getBomRequires(plant, line, batchNum, require.getStartDate(), plan, allRequires, level + 1); - }); + if (require.getNetRequirement().compareTo(BigDecimal.ZERO) > 0) { + /*褰撳墠Bom鑺傜偣澶勭悊瀹屾垚鍚庯紝澶勭悊涓嬬骇BOM*/ + List<ApsBom> bomLineList = bomLineService.selectApsBomLineList(plant, itemNumber); + if (!bomLineList.isEmpty()) { + bomLineList.forEach(line -> { + getBomRequires(plant, line, batchNum, require.getStartDate(), plan, allRequires, level + 1); + }); + } } - } - - /** - * 鐢熸垚鏂版壒娆″彿 - * */ - private String getBatch() { - String batchNum = System.currentTimeMillis() + ""; - ApsPlateStandardRequireBatch batchBuilder = ApsPlateStandardRequireBatch.builder() - .id(IdUtil.getSnowflakeNextId()) - .batchNumber(batchNum) - .delFlag("0").build(); - batchBuilder.setCreateBy(SecurityUtils.getUsername()); - batchBuilder.setCreateTime(DateUtils.getNowDate()); - requireBatchMapper.insertApsPlateStandardRequireBatch(batchBuilder); - return batchNum; } /** * 鑾峰彇鐗╂枡搴撳瓨淇℃伅 -- Gitblit v1.9.3