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/resources/db/migration/postgresql/V20250604104500__create_table_pending_inventory.sql  |    2 ++
 main-business/src/main/java/com/ruoyi/business/service/impl/PendingInventoryServiceImpl.java                  |    1 +
 main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java                                  |    5 +++++
 main-business/src/main/java/com/ruoyi/business/service/impl/ProductionMasterServiceImpl.java                  |   22 ++++++++++++++++++++++
 main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java                                   |    7 +++++++
 main-business/src/main/resources/db/migration/postgresql/V20250604111200__create_table_official_inventory.sql |    2 ++
 6 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java b/main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java
index 87ca0f8..8939038 100644
--- a/main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java
+++ b/main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java
@@ -36,6 +36,11 @@
      */
     @TableField(value = "supplier_id")
     private Long supplierId;
+    /**
+     * 缂栧彿
+     */
+    @TableField(value = "code")
+    private String code;
 
     /**
      * 鐓ゆ枡绫诲瀷 1-鎴愬搧 2-鍘熸枡
diff --git a/main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java b/main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java
index 2301eef..7144e12 100644
--- a/main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java
+++ b/main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java
@@ -44,6 +44,7 @@
      */
     @TableField(value = "supplier_name")
     private String supplierName;
+
     /**
      * 渚涜揣鍟嗗悕绉�
      */
@@ -64,6 +65,12 @@
      */
     @TableField(value = "unit")
     private String unit;
+
+    /**
+     * 缂栫爜
+     */
+    @TableField(value = "code")
+    private String code;
     /**
      * 搴撳瓨鏁伴噺
      */
diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/PendingInventoryServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/PendingInventoryServiceImpl.java
index 9d7cae6..f80834a 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/PendingInventoryServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/PendingInventoryServiceImpl.java
@@ -293,6 +293,7 @@
                 officialInventory.setRegistrantId(1L);
                 officialInventory.setType(pendingInventory.getType());
                 officialInventory.setSupplierId(pendingInventoryDto.getSupplierId());
+                officialInventory.setCode(pendingInventory.getCode());
                 officialInventoryMapper.insert(officialInventory);
             } else {
                 OfficialInventory officialInventory = officialInventoryMapper.selectById(pendingInventoryDto.getOfficialId());
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 af6ca44..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
@@ -324,10 +324,32 @@
 
             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
     @Transactional(rollbackFor = Exception.class)
     public int delByIds(Long[] ids) {
diff --git a/main-business/src/main/resources/db/migration/postgresql/V20250604104500__create_table_pending_inventory.sql b/main-business/src/main/resources/db/migration/postgresql/V20250604104500__create_table_pending_inventory.sql
index 62e3455..39b4e0d 100644
--- a/main-business/src/main/resources/db/migration/postgresql/V20250604104500__create_table_pending_inventory.sql
+++ b/main-business/src/main/resources/db/migration/postgresql/V20250604104500__create_table_pending_inventory.sql
@@ -11,6 +11,7 @@
     registration_time         TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP, -- 鐧昏鏃堕棿
     price_excluding_tax       VARCHAR(255),                           -- 鍗曚环锛堜笉鍚◣锛�
     total_price_excluding_tax VARCHAR(255),                           -- 鎬讳环锛堜笉鍚◣锛�
+    code VARCHAR(255),                           -- 缂栧彿
     registrant_id             BIGINT,                                 -- 鐧昏浜篒D
     registration_date         DATE,                                   -- 鐧昏鏃ユ湡
     supplier_id               BIGINT,                                 -- 渚涜揣鍟咺D
@@ -38,6 +39,7 @@
 COMMENT ON COLUMN pending_inventory.price_including_tax IS '鍗曚环锛堝惈绋庯級';
 COMMENT ON COLUMN pending_inventory.total_price_including_tax IS '鎬讳环锛堝惈绋庯級';
 COMMENT ON COLUMN pending_inventory.registrant IS '鐧昏浜�';
+COMMENT ON COLUMN pending_inventory.code IS '缂栧彿';
 COMMENT ON COLUMN pending_inventory.type IS '鐓ゆ枡绫诲瀷 1-鎴愬搧 2-鍘熸枡';
 COMMENT ON COLUMN pending_inventory.registration_time IS '鐧昏鏃堕棿';
 COMMENT ON COLUMN pending_inventory.price_excluding_tax IS '鍗曚环锛堜笉鍚◣锛�';
diff --git a/main-business/src/main/resources/db/migration/postgresql/V20250604111200__create_table_official_inventory.sql b/main-business/src/main/resources/db/migration/postgresql/V20250604111200__create_table_official_inventory.sql
index 739f7ec..20f560e 100644
--- a/main-business/src/main/resources/db/migration/postgresql/V20250604111200__create_table_official_inventory.sql
+++ b/main-business/src/main/resources/db/migration/postgresql/V20250604111200__create_table_official_inventory.sql
@@ -16,6 +16,7 @@
     pending_id                BIGINT,                            -- 寰呭叆搴搃d
     coal_plan_id               BIGINT,                                 -- 鐓よ川鏂规id
     merge_id                  VARCHAR(255),                      -- 鍚堝苟id
+    code                  VARCHAR(255),                      -- 缂栧彿
     registration_date         TIMESTAMP WITHOUT TIME ZONE,
 
     deleted                   INT            NOT NULL DEFAULT 0, -- 杞垹闄ゆ爣蹇楋細0=鏈垹闄わ紝1=宸插垹闄�
@@ -34,6 +35,7 @@
 COMMENT ON COLUMN official_inventory.coal_id IS '鐓ょid';
 COMMENT ON COLUMN official_inventory.unit IS '鍗曚綅';
 COMMENT ON COLUMN official_inventory.inventory_quantity IS '搴撳瓨鏁伴噺';
+COMMENT ON COLUMN official_inventory.code IS '缂栧彿';
 COMMENT ON COLUMN official_inventory.price_including_tax IS '鍗曚环锛堝惈绋庯級';
 COMMENT ON COLUMN official_inventory.total_price_including_tax IS '鎬讳环锛堝惈绋庯級';
 COMMENT ON COLUMN official_inventory.pending_replenishment IS '寰呰ˉ搴�';

--
Gitblit v1.9.3