From 4a82ac1bfb3e3cd04d6dd6c07aaee6c0d70df13e Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期四, 12 三月 2026 09:59:32 +0800
Subject: [PATCH] 主生产计划:产品信息改为关联查询
---
src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java | 20 +++++++-------------
1 files changed, 7 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java b/src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java
index 6025b24..1fa88f9 100644
--- a/src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java
+++ b/src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java
@@ -111,8 +111,7 @@
}
// 鏌ヨ涓荤敓浜ц鍒�
- List<ProductionPlan> plans = productionPlanMapper.selectBatchIds(productionPlanDto.getIds());
- plans.sort(Comparator.comparingLong(ProductionPlan::getId));
+ List<ProductionPlanDto> plans = productionPlanMapper.selectWithMaterialByIds(productionPlanDto.getIds());
// 鏍¢獙鏄惁瀛樺湪涓嶅悓鐨勪骇鍝佸悕绉�
String firstProductName = plans.get(0).getProductName();
@@ -121,11 +120,10 @@
}
// 鏍¢獙鏄惁瀛樺湪涓嶅悓鐨勪骇鍝佽鏍�
- String firstProductSpec = plans.get(0).getProductSpec();
- if (plans.stream().anyMatch(p -> !p.getProductSpec().equals(firstProductSpec))) {
+ String firstProductSpec = plans.get(0).getSpecification();
+ if (plans.stream().anyMatch(p -> !p.getSpecification().equals(firstProductSpec))) {
throw new BaseException("鍚堝苟澶辫触锛屽瓨鍦ㄤ笉鍚岀殑浜у搧瑙勬牸");
}
-
// 鍙犲姞鍓╀綑鏂规暟
BigDecimal totalRemainingVolume = plans.stream()
@@ -386,8 +384,6 @@
plan.setCustomerName(formData.getString("textField_lbkozohg"));
String materialCode = row.getString("textField_l9xo62q5");
- plan.setMaterialCode(materialCode);
-
// 鏍规嵁鐗╂枡缂栫爜鏌ヨ鐗╂枡淇℃伅琛紝鍏宠仈鐗╂枡ID
if (StringUtils.isNotEmpty(materialCode)) {
LambdaQueryWrapper<ProductMaterial> queryWrapper = new LambdaQueryWrapper<>();
@@ -398,8 +394,6 @@
}
}
- plan.setProductName(row.getString("textField_l9xo62q7"));
- plan.setProductSpec(row.getString("textField_l9xo62q8"));
plan.setLength(row.getInteger("numberField_lb7lgatg_value"));
plan.setWidth(row.getInteger("numberField_lb7lgath_value"));
plan.setHeight(row.getInteger("numberField_lb7lgati_value"));
@@ -473,19 +467,19 @@
// Map (formInstanceId + materialCode)
Map<String, ProductionPlan> existMap = new HashMap<>();
for (ProductionPlan p : existList) {
- String key = p.getFormInstanceId() + "_" + p.getMaterialCode();
+ String key = p.getFormInstanceId() + "_" + p.getProductMaterialId();
existMap.put(key, p);
}
// 閬嶅巻鍚屾鏁版嵁
for (ProductionPlan plan : list) {
- String key = plan.getFormInstanceId() + "_" + plan.getMaterialCode();
+ String key = plan.getFormInstanceId() + "_" + plan.getProductMaterialId();
ProductionPlan exist = existMap.get(key);
if (exist == null) {
// 鏂板
this.save(plan);
affected++;
- log.info("鏂板鏁版嵁 formInstanceId={}, materialCode={}", plan.getFormInstanceId(), plan.getMaterialCode());
+ log.info("鏂板鏁版嵁 formInstanceId={}, materialCode={}", plan.getFormInstanceId(), plan.getProductMaterialId());
} else {
// 鍒ゆ柇鏄惁闇�瑕佹洿鏂�
if (exist.getFormModifiedTime() == null || !exist.getFormModifiedTime().equals(plan.getFormModifiedTime())) {
@@ -493,7 +487,7 @@
plan.setCreateTime(exist.getCreateTime());
this.updateById(plan);
affected++;
- log.info("鏇存柊鏁版嵁 formInstanceId={}, materialCode={}", plan.getFormInstanceId(), plan.getMaterialCode());
+ log.info("鏇存柊鏁版嵁 formInstanceId={}, materialCode={}", plan.getFormInstanceId(), plan.getProductMaterialId());
}
}
}
--
Gitblit v1.9.3