From 3ef1cf899c2bf558b934fd2c5dfdf0a970df8c43 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期五, 29 八月 2025 15:22:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/pim-jlmy' into pim-jlmy

---
 main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java
index 25dae27..d4521c4 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java
@@ -49,6 +49,8 @@
 
     private final PendingInventoryMapper pendingInventoryMapper;
 
+    private final ProductionSchedulingMapper productionSchedulingMapper;
+
     @Override
     public IPage<ProductionMasterDto> selectPMList(Page page, ProductionMasterDto productionMasterDto) {
         // 1. 鏋勫缓涓昏〃鏌ヨ鏉′欢
@@ -322,8 +324,30 @@
 
             pending.setRegistrantId(p.getProducerId());
             pending.setRegistrationDate(LocalDate.now());
+
+            pending.setCode(generateCode(p.getType()));
+            pending.setType(p.getType());
             pendingInventoryMapper.insert(pending);
         }
+    }
+
+    private String generateCode(Integer type) {
+        LocalDate now = LocalDate.now();
+        String year = now.format(DateTimeFormatter.ofPattern("yyyyMMdd"));
+        String s = "";
+        //鐢熸垚缂栫爜
+        switch (type){
+            case 1:
+                s = "CP";
+                break;
+            case 2:
+                s = "YL";
+                break;
+        }
+        // 鏌ヨ褰撳ぉ寰呭叆搴撴柊澧炴潯鏁�
+        Long count = pendingInventoryMapper.selectCount(new LambdaQueryWrapper<PendingInventory>()
+                .apply("date_trunc('day', create_time) = date_trunc('day', now())"));
+        return s + year + String.format("%03d", count + 1);
     }
 
     @Override
@@ -366,6 +390,14 @@
                     .collect(Collectors.toList());
             productionInventoryMapper.deleteBatchIds(inventoryIds);
         }
+        List<Production> productions = productionMapper.selectList(new LambdaQueryWrapper<Production>()
+                .in(Production::getProductionMasterId, idList));
+
+        // 鍒犻櫎鐢熶骇鎶ュ伐璁板綍
+        productionSchedulingMapper.delete(
+                new LambdaQueryWrapper<ProductionScheduling>()
+                        .in(ProductionScheduling::getProductionId, productions.stream().map(Production::getId).collect(Collectors.toList()))
+        );
 
         // 鍒犻櫎鐢熶骇鏄庣粏
         productionMapper.delete(
@@ -373,6 +405,7 @@
                         .in(Production::getProductionMasterId, idList)
         );
 
+
         // 5. 鍒犻櫎涓昏褰�
         return productionMasterMapper.deleteBatchIds(idList);
     }

--
Gitblit v1.9.3