From abc451e52a9ded8a18238d6903539fb310c1b256 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期四, 08 五月 2025 16:18:17 +0800
Subject: [PATCH] 增加初始化钣金计划数据接口
---
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java | 28 +++-----
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomStockDetailMapper.java | 2
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsMaterialStorageManagementMapper.java | 5 +
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanMapper.java | 5 +
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBomOrderDetailServiceImpl.java | 4 +
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireMapper.xml | 3 +
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBatchMapper.java | 5 +
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBatchMapper.xml | 6 ++
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml | 5 +
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomOrderDetailMapper.java | 2
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBatchServiceImpl.java | 57 ++++++++++++++++++
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomOrderDetailMapper.xml | 4 +
aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateStandardRequireBatchService.java | 6 ++
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireMapper.java | 2
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireErrorMapper.xml | 3 +
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomStockDetailMapper.xml | 4 +
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireErrorMapper.java | 2
aps-modules/aps-core/src/main/resources/mapper/core/ApsMaterialStorageManagementMapper.xml | 6 ++
18 files changed, 130 insertions(+), 19 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsMaterialStorageManagementMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsMaterialStorageManagementMapper.java
index dcfe594..33794ce 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsMaterialStorageManagementMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsMaterialStorageManagementMapper.java
@@ -64,4 +64,9 @@
int updateMaterialStorageByVersion(BigDecimal remainderStock, Integer version);
+
+ /**
+ * 鍒濆鍖栧墿浣欏簱瀛樻暟閲�
+ * */
+ int initRemainderStock();
}
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 96ce218..f354088 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
@@ -83,4 +83,9 @@
* 鏇存柊瀛愯鍒掓湭鍖归厤鏁伴噺
* */
int updatePlanUnMatchQtyByVersion(ApsPlatePlan plan);
+
+ /**
+ * 鍒濆鍖� 瀛愪欢宸ュ崟鐨� 鏈尮閰嶆暟閲�
+ * */
+ int initUnMatchQty();
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBatchMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBatchMapper.java
index e71c7d8..99c7704 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBatchMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBatchMapper.java
@@ -60,4 +60,9 @@
* @return 缁撴灉
*/
public int deleteApsPlateStandardRequireBatchByIds(Long[] ids);
+
+ /**
+ * 鍙栧嚭涓婁竴鎵规淇℃伅
+ * */
+ ApsPlateStandardRequireBatch selectLastRequireBatch();
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomOrderDetailMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomOrderDetailMapper.java
index 60d4690..9960819 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomOrderDetailMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomOrderDetailMapper.java
@@ -61,4 +61,6 @@
* @return 缁撴灉
*/
public int deleteApsPlateStandardRequireBomOrderDetailByIds(Long[] ids);
+
+ int deleteLastPatch(String batchNumber);
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomStockDetailMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomStockDetailMapper.java
index 0413500..9dcb767 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomStockDetailMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomStockDetailMapper.java
@@ -60,4 +60,6 @@
* @return 缁撴灉
*/
public int deleteApsPlateStandardRequireBomStockDetailByIds(Long[] ids);
+
+ int deleteLastPatch(String batchNumber);
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireErrorMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireErrorMapper.java
index 12f5b30..6d7a2d1 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireErrorMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireErrorMapper.java
@@ -60,4 +60,6 @@
* @return 缁撴灉
*/
public int deleteApsPlateStandardRequireErrorByIds(Long[] ids);
+
+ int deleteLastPatch(String batchNumber);
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireMapper.java
index dfdd85f..a42d1f8 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireMapper.java
@@ -71,4 +71,6 @@
public List<ApsPlateStandardRequire> selectPlateSupplyGapList(ApsPlateStandardRequire apsPlateStandardRequire);
int batchInsert(List<ApsPlateStandardRequire> requireList);
+
+ int deleteLastPatch(String batchNumber);
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateStandardRequireBatchService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateStandardRequireBatchService.java
index ba3ff13..ac0b987 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateStandardRequireBatchService.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateStandardRequireBatchService.java
@@ -2,6 +2,7 @@
import java.util.List;
import com.aps.core.domain.ApsPlateStandardRequireBatch;
+import org.springframework.transaction.annotation.Transactional;
/**
* 閽i噾璁″垝鏍囧噯闇�姹傝鍒掓壒娆¤〃Service鎺ュ彛
@@ -58,4 +59,9 @@
* @return 缁撴灉
*/
public int deleteApsPlateStandardRequireBatchById(Long id);
+
+ String getNewBatchNumber();
+
+ @Transactional
+ void initRequireBatch();
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBatchServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBatchServiceImpl.java
index a0552a7..47f26f1 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBatchServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBatchServiceImpl.java
@@ -1,12 +1,17 @@
package com.aps.core.service.impl;
import java.util.List;
+
+import cn.hutool.core.util.IdUtil;
import com.aps.common.core.utils.DateUtils;
+import com.aps.common.security.utils.SecurityUtils;
+import com.aps.core.mapper.*;
+import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import com.aps.core.mapper.ApsPlateStandardRequireBatchMapper;
import com.aps.core.domain.ApsPlateStandardRequireBatch;
import com.aps.core.service.IApsPlateStandardRequireBatchService;
+import org.springframework.transaction.annotation.Transactional;
/**
* 閽i噾璁″垝鏍囧噯闇�姹傝鍒掓壒娆¤〃Service涓氬姟灞傚鐞�
@@ -19,6 +24,25 @@
{
@Autowired
private ApsPlateStandardRequireBatchMapper apsPlateStandardRequireBatchMapper;
+
+ @Resource
+ ApsMaterialStorageManagementMapper apsMaterialStorageManagementMapper;
+
+ @Resource
+ ApsPlatePlanMapper apsPlatePlanMapper;
+
+ @Resource
+ ApsPlateStandardRequireMapper apsPlateStandardRequireMapper;
+
+ @Resource
+ ApsPlateStandardRequireBomOrderDetailMapper apsPlateStandardRequireBomOrderDetailMapper;
+
+ @Resource
+ ApsPlateStandardRequireBomStockDetailMapper apsPlateStandardRequireBomStockDetailMapper;
+
+ @Resource
+ ApsPlateStandardRequireErrorMapper apsPlateStandardRequireErrorMapper;
+
/**
* 鏌ヨ閽i噾璁″垝鏍囧噯闇�姹傝鍒掓壒娆¤〃
@@ -93,4 +117,35 @@
{
return apsPlateStandardRequireBatchMapper.deleteApsPlateStandardRequireBatchById(id);
}
+
+ /**
+ * 鐢熸垚鏂版壒娆″彿
+ * */
+ @Override
+ public String getNewBatchNumber() {
+ String batchNum = String.valueOf(IdUtil.getSnowflakeNextId()) ;
+ ApsPlateStandardRequireBatch batchBuilder = ApsPlateStandardRequireBatch.builder()
+ .id(IdUtil.getSnowflakeNextId())
+ .batchNumber(batchNum)
+ .delFlag("0").build();
+ batchBuilder.setCreateBy(SecurityUtils.getUsername());
+ batchBuilder.setCreateTime(DateUtils.getNowDate());
+ apsPlateStandardRequireBatchMapper.insertApsPlateStandardRequireBatch(batchBuilder);
+ return batchNum;
+ }
+
+ @Transactional
+ @Override
+ public void initRequireBatch() {
+ ApsPlateStandardRequireBatch batch=apsPlateStandardRequireBatchMapper.selectLastRequireBatch();
+ if (batch!=null){
+ String batchNumber = batch.getBatchNumber();
+ apsPlateStandardRequireMapper.deleteLastPatch(batchNumber);
+ apsPlateStandardRequireBomOrderDetailMapper.deleteLastPatch(batchNumber);
+ apsPlateStandardRequireBomStockDetailMapper.deleteLastPatch(batchNumber);
+ apsPlateStandardRequireErrorMapper.deleteLastPatch(batchNumber);
+ apsPlatePlanMapper.initUnMatchQty();
+ apsMaterialStorageManagementMapper.initRemainderStock();
+ }
+ }
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBomOrderDetailServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBomOrderDetailServiceImpl.java
index e82eee2..bc6c7b0 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBomOrderDetailServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBomOrderDetailServiceImpl.java
@@ -115,7 +115,9 @@
.docNo(platePlan.getDocumentNumber())
.beforeProdAmount(stock)
.deductionAmount(netRequirement)
- .afterProdAmount(subtract).build();
+ .afterProdAmount(subtract)
+ .batchNumber(require.getBatchNumber())
+ .build();
apsPlateStandardRequireBomOrderDetailMapper.insertApsPlateStandardRequireBomOrderDetail(bomOrderDetail);
}
}
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..b33d4d7 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
@@ -18,6 +18,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 +70,9 @@
@Resource
IApsStandardProcessRouteLineService routeLineService;
+
+ @Resource
+ IApsPlateStandardRequireBatchService requireBatchService;
/**
* 鏌ヨ閽i噾宸ュ崟鏍囧噯闇�姹�
@@ -154,14 +158,17 @@
return apsPlateStandardRequireMapper.selectPlateSupplyGapList(apsPlateStandardRequire);
}
- private void generatorPlan(){
+ @Transactional
+ 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();
@@ -294,21 +303,6 @@
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;
}
/**
* 鑾峰彇鐗╂枡搴撳瓨淇℃伅
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsMaterialStorageManagementMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsMaterialStorageManagementMapper.xml
index 747cd2a..2d391a7 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsMaterialStorageManagementMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsMaterialStorageManagementMapper.xml
@@ -98,4 +98,10 @@
set remainder_stock=#{remainderStock},version=version+1
where id=#{id} and version=#{version}
</update>
+
+ <update id="initRemainderStock">
+ update aps_material_storage_management
+ set remainder_stock=num,version=0
+ where 1=1
+ </update>
</mapper>
\ No newline at end of file
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 fccc5a1..99f4e68 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
@@ -306,4 +306,9 @@
</if>
</select>
+ <update id="initUnMatchQty" >
+ update aps_plate_plan
+ set unmatched_quantity=production_quantity, version=0
+ where del_flag='0' and professional_affiliation !='0'
+ </update>
</mapper>
\ No newline at end of file
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBatchMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBatchMapper.xml
index 40b6aeb..7b8f502 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBatchMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBatchMapper.xml
@@ -75,4 +75,10 @@
#{id}
</foreach>
</delete>
+
+ <select id="selectLastRequireBatch" parameterType="Long" resultMap="ApsPlateStandardRequireBatchResult">
+ <include refid="selectApsPlateStandardRequireBatchVo"/>
+ order by create_time desc,id desc
+ limit 1
+ </select>
</mapper>
\ No newline at end of file
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomOrderDetailMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomOrderDetailMapper.xml
index 149e3fc..5d6ac40 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomOrderDetailMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomOrderDetailMapper.xml
@@ -125,4 +125,8 @@
#{id}
</foreach>
</delete>
+
+ <update id="deleteLastPatch" parameterType="String">
+ update aps_plate_standard_require_bom_order_detail set del_flag = '1' where batch_number = #{batchNumber}
+ </update>
</mapper>
\ No newline at end of file
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomStockDetailMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomStockDetailMapper.xml
index e94a2cd..552802d 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomStockDetailMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomStockDetailMapper.xml
@@ -118,4 +118,8 @@
#{id}
</foreach>
</delete>
+
+ <update id="deleteLastPatch" parameterType="String">
+ update aps_plate_standard_require_bom_stock_detail set del_flag = '1' where batch_number = #{batchNumber}
+ </update>
</mapper>
\ No newline at end of file
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireErrorMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireErrorMapper.xml
index 3899980..a59df7c 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireErrorMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireErrorMapper.xml
@@ -100,4 +100,7 @@
#{id}
</foreach>
</delete>
+ <update id="deleteLastPatch" parameterType="String">
+ update aps_plate_standard_require_error set del_flag = '1' where batch_number = #{batchNumber}
+ </update>
</mapper>
\ No newline at end of file
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireMapper.xml
index ba9c463..3721c3b 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireMapper.xml
@@ -216,4 +216,7 @@
)
</foreach>
</insert>
+ <update id="deleteLastPatch" parameterType="String">
+ update aps_plate_standard_require set del_flag = '1' where batch_number = #{batchNumber}
+ </update>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3