From 666dddac6724361f31d640435ea23b84ca1539f9 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 12 三月 2026 17:09:42 +0800
Subject: [PATCH] fix: 移除生产计划多余字段

---
 src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java |   33 ++++++++++++++++++++++++---------
 1 files changed, 24 insertions(+), 9 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 1fa88f9..e2c41db 100644
--- a/src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java
+++ b/src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java
@@ -16,8 +16,10 @@
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.config.AliDingConfig;
 import com.ruoyi.production.pojo.ProductMaterial;
+import com.ruoyi.production.pojo.ProductMaterialSku;
 import com.ruoyi.production.pojo.ProductOrder;
 import com.ruoyi.production.service.ProductMaterialService;
+import com.ruoyi.production.service.ProductMaterialSkuService;
 import com.ruoyi.production.service.ProductOrderService;
 import com.ruoyi.productionPlan.dto.ProductionPlanDto;
 import com.ruoyi.productionPlan.dto.ProductionPlanImportDto;
@@ -70,6 +72,9 @@
 
     @Autowired
     private ProductOrderPlanMapper productOrderPlanMapper;
+
+    @Autowired
+    private ProductMaterialSkuService productMaterialSkuService;
 
     @Autowired
     private ProductMaterialService productMaterialService;
@@ -386,11 +391,11 @@
                 String materialCode = row.getString("textField_l9xo62q5");
                 // 鏍规嵁鐗╂枡缂栫爜鏌ヨ鐗╂枡淇℃伅琛紝鍏宠仈鐗╂枡ID
                 if (StringUtils.isNotEmpty(materialCode)) {
-                    LambdaQueryWrapper<ProductMaterial> queryWrapper = new LambdaQueryWrapper<>();
-                    queryWrapper.eq(ProductMaterial::getMaterialCode, materialCode);
-                    ProductMaterial productMaterial = productMaterialService.getOne(queryWrapper);
-                    if (productMaterial != null) {
-                        plan.setProductMaterialId(productMaterial.getId());
+                    LambdaQueryWrapper<ProductMaterialSku> skuQueryWrapper = new LambdaQueryWrapper<>();
+                    skuQueryWrapper.eq(ProductMaterialSku::getMaterialCode, materialCode);
+                    ProductMaterialSku sku = productMaterialSkuService.getOne(skuQueryWrapper);
+                    if (sku != null) {
+                        plan.setProductMaterialSkuId(sku.getId());
                     }
                 }
 
@@ -467,19 +472,19 @@
         //  Map (formInstanceId + materialCode)
         Map<String, ProductionPlan> existMap = new HashMap<>();
         for (ProductionPlan p : existList) {
-            String key = p.getFormInstanceId() + "_" + p.getProductMaterialId();
+            String key = p.getFormInstanceId() + "_" + p.getProductMaterialSkuId();
             existMap.put(key, p);
         }
 
         //  閬嶅巻鍚屾鏁版嵁
         for (ProductionPlan plan : list) {
-            String key = plan.getFormInstanceId() + "_" + plan.getProductMaterialId();
+            String key = plan.getFormInstanceId() + "_" + plan.getProductMaterialSkuId();
             ProductionPlan exist = existMap.get(key);
             if (exist == null) {
                 // 鏂板
                 this.save(plan);
                 affected++;
-                log.info("鏂板鏁版嵁 formInstanceId={}, materialCode={}", plan.getFormInstanceId(), plan.getProductMaterialId());
+                log.info("鏂板鏁版嵁 formInstanceId={}, materialCode={}", plan.getFormInstanceId(), plan.getProductMaterialSkuId());
             } else {
                 // 鍒ゆ柇鏄惁闇�瑕佹洿鏂�
                 if (exist.getFormModifiedTime() == null || !exist.getFormModifiedTime().equals(plan.getFormModifiedTime())) {
@@ -487,7 +492,7 @@
                     plan.setCreateTime(exist.getCreateTime());
                     this.updateById(plan);
                     affected++;
-                    log.info("鏇存柊鏁版嵁 formInstanceId={}, materialCode={}", plan.getFormInstanceId(), plan.getProductMaterialId());
+                    log.info("鏇存柊鏁版嵁 formInstanceId={}, materialCode={}", plan.getFormInstanceId(), plan.getProductMaterialSkuId());
                 }
             }
         }
@@ -541,6 +546,16 @@
             entity.setDataSourceType(2);
             entity.setDataSyncType(1);
 
+            // 鏍规嵁鐗╂枡缂栫爜濉厖鍏宠仈ID
+            if (StringUtils.isNotEmpty(dto.getMaterialCode())) {
+                LambdaQueryWrapper<ProductMaterialSku> skuQueryWrapper = new LambdaQueryWrapper<>();
+                skuQueryWrapper.eq(ProductMaterialSku::getMaterialCode, dto.getMaterialCode());
+                ProductMaterialSku sku = productMaterialSkuService.getOne(skuQueryWrapper);
+                if (sku != null) {
+                    entity.setProductMaterialSkuId(sku.getId());
+                }
+            }
+
             entityList.add(entity);
         }
         this.saveBatch(entityList);

--
Gitblit v1.9.3