From ca4cb71983041c4614cc9c4a740c1be535787777 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 04 六月 2025 11:37:13 +0800
Subject: [PATCH] 1.待入库 2.正式库 3.生产加工

---
 basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java                                 |    2 
 main-business/src/main/java/com/ruoyi/business/controller/PendingInventoryController.java                     |   21 +
 main-business/src/main/resources/mapper/ProductionMapper.xml                                                  |   26 +
 main-business/src/main/java/com/ruoyi/business/controller/OfficialInventoryController.java                    |   21 +
 main-business/src/main/java/com/ruoyi/business/service/PendingInventoryService.java                           |   16 +
 main-business/src/main/java/com/ruoyi/business/controller/ProductionController.java                           |   52 +++
 main-business/src/main/java/com/ruoyi/business/controller/PurchaseRegistrationController.java                 |   38 ++
 main-business/src/main/resources/db/migration/postgresql/V20250604111200__create_table_official_inventory.sql |   43 ++
 main-business/src/main/resources/mapper/OfficialInventoryMapper.xml                                           |   35 ++
 main-business/src/main/java/com/ruoyi/business/service/OfficialInventoryService.java                          |   16 +
 main-business/src/main/java/com/ruoyi/business/dto/ProductionDto.java                                         |    8 
 main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java                                   |   75 +++++
 main-business/src/main/java/com/ruoyi/business/service/impl/ProductionServiceImpl.java                        |   63 ++++
 main-business/src/main/resources/db/migration/postgresql/V20250604101800__create_table_production.sql         |   45 +++
 basic-server/src/main/java/com/ruoyi/basic/controller/CoalQualityController.java                              |    2 
 main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java              |   46 ++
 main-business/src/main/resources/db/migration/postgresql/V20250604104500__create_table_pending_inventory.sql  |   41 ++
 main-business/src/main/resources/mapper/PendingInventoryMapper.xml                                            |   34 ++
 main-business/src/main/java/com/ruoyi/business/mapper/ProductionMapper.java                                   |   18 +
 main-business/src/main/java/com/ruoyi/business/service/impl/PendingInventoryServiceImpl.java                  |   22 +
 basic-server/src/main/java/com/ruoyi/basic/controller/SupplyController.java                                   |    2 
 main-business/src/main/java/com/ruoyi/business/service/ProductionService.java                                 |   24 +
 main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java                 |   22 +
 main-business/src/main/java/com/ruoyi/business/dto/PurchaseRegistrationDto.java                               |    8 
 main-business/src/main/java/com/ruoyi/business/mapper/PendingInventoryMapper.java                             |   18 +
 basic-server/src/main/java/com/ruoyi/basic/controller/CoalInfoController.java                                 |    2 
 main-business/src/main/java/com/ruoyi/business/service/PurchaseRegistrationService.java                       |    8 
 main-business/src/main/java/com/ruoyi/business/mapper/OfficialInventoryMapper.java                            |   18 +
 main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java                                  |   80 +++++
 main-business/src/main/java/com/ruoyi/business/entity/Production.java                                         |   85 +++++
 30 files changed, 882 insertions(+), 9 deletions(-)

diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/CoalInfoController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/CoalInfoController.java
index abc2035..18937a0 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/controller/CoalInfoController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/CoalInfoController.java
@@ -20,7 +20,7 @@
 
 @RestController
 @AllArgsConstructor
-@RequestMapping("/basic/coalInfo")
+@RequestMapping("/coalInfo")
 public class CoalInfoController {
 
     private CoalInfoService coalInfoService;
diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/CoalQualityController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/CoalQualityController.java
index 29e6ac5..dfadf62 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/controller/CoalQualityController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/CoalQualityController.java
@@ -20,7 +20,7 @@
 
 @RestController
 @AllArgsConstructor
-@RequestMapping("/basic/coalQuality")
+@RequestMapping("/coalQuality")
 public class CoalQualityController {
 
     private CoalQualityService coalQualityService;
diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java
index 3fdc4d2..3ed0e81 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java
@@ -15,7 +15,7 @@
 
 @RestController
 @AllArgsConstructor
-@RequestMapping("/basic/customer")
+@RequestMapping("/customer")
 public class CustomerController {
 
 }
diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/SupplyController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/SupplyController.java
index 2f6591f..f80b8f7 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/controller/SupplyController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/SupplyController.java
@@ -20,7 +20,7 @@
 
 @RestController
 @AllArgsConstructor
-@RequestMapping("/basic/supply")
+@RequestMapping("/supply")
 public class SupplyController {
 
     private SupplyService supplyService;
diff --git a/main-business/src/main/java/com/ruoyi/business/controller/OfficialInventoryController.java b/main-business/src/main/java/com/ruoyi/business/controller/OfficialInventoryController.java
new file mode 100644
index 0000000..dd4b2e8
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/controller/OfficialInventoryController.java
@@ -0,0 +1,21 @@
+package com.ruoyi.business.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import lombok.AllArgsConstructor;
+    import org.springframework.web.bind.annotation.RestController;
+
+/**
+* <p>
+    * 姝e紡搴撳瓨琛� 鍓嶇鎺у埗鍣�
+    * </p>
+*
+* @author ruoyi
+* @since 2025-06-04
+*/
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/business/officialInventory")
+        public class OfficialInventoryController {
+
+    }
diff --git a/main-business/src/main/java/com/ruoyi/business/controller/PendingInventoryController.java b/main-business/src/main/java/com/ruoyi/business/controller/PendingInventoryController.java
new file mode 100644
index 0000000..1aac7da
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/controller/PendingInventoryController.java
@@ -0,0 +1,21 @@
+package com.ruoyi.business.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 寰呭叆搴撹〃 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-04
+ */
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/business/pendingInventory")
+public class PendingInventoryController {
+
+}
diff --git a/main-business/src/main/java/com/ruoyi/business/controller/ProductionController.java b/main-business/src/main/java/com/ruoyi/business/controller/ProductionController.java
new file mode 100644
index 0000000..7238aff
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/controller/ProductionController.java
@@ -0,0 +1,52 @@
+package com.ruoyi.business.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.business.dto.ProductionDto;
+import com.ruoyi.business.entity.Production;
+import com.ruoyi.business.service.ProductionService;
+import com.ruoyi.common.core.domain.R;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 鐢熶骇鏄庣粏琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-04
+ */
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/production")
+public class ProductionController {
+    private ProductionService productionService;
+
+    /**
+     * 鏌ヨ
+     */
+    @GetMapping("/list")
+    public R<IPage<Production>> list(Page page, ProductionDto productionDto) {
+        IPage<Production> list = productionService.selectProductionList(page,productionDto);
+        return R.ok(list);
+    }
+
+    /**
+     * 鏂板淇敼
+     */
+    @PostMapping("/addOrEditProduction")
+    public R addOrEditProduction(@RequestBody ProductionDto productionDto) {
+        return R.ok(productionService.addOrEditProduction(productionDto));
+    }
+
+    /**
+     * 鍒犻櫎
+     */
+    @DeleteMapping("/delProduction")
+    public R remove(@RequestBody Long[] ids) {
+        return R.ok(productionService.delByIds(ids));
+    }
+
+}
diff --git a/main-business/src/main/java/com/ruoyi/business/controller/PurchaseRegistrationController.java b/main-business/src/main/java/com/ruoyi/business/controller/PurchaseRegistrationController.java
index 3962ea2..d35457e 100644
--- a/main-business/src/main/java/com/ruoyi/business/controller/PurchaseRegistrationController.java
+++ b/main-business/src/main/java/com/ruoyi/business/controller/PurchaseRegistrationController.java
@@ -1,8 +1,13 @@
 package com.ruoyi.business.controller;
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.business.dto.PurchaseRegistrationDto;
+import com.ruoyi.business.entity.PurchaseRegistration;
+import com.ruoyi.business.service.PurchaseRegistrationService;
+import com.ruoyi.common.core.domain.R;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -15,7 +20,34 @@
 
 @RestController
 @AllArgsConstructor
-@RequestMapping("/business/purchaseRegistration")
+@RequestMapping("/purchaseRegistration")
 public class PurchaseRegistrationController {
+    private PurchaseRegistrationService purchaseRegistrationService;
+
+    /**
+     * 鏌ヨ
+     */
+    @GetMapping("/list")
+    public R<IPage<PurchaseRegistration>> list(Page page, PurchaseRegistrationDto purchaseRegistrationDto) {
+        IPage<PurchaseRegistration> list = purchaseRegistrationService.selectPurchaseRegistrationList(page,purchaseRegistrationDto);
+        return R.ok(list);
+    }
+
+    /**
+     * 鏂板淇敼
+     */
+    @PostMapping("/addOrEditPR")
+    public R addOrEditSupply(@RequestBody PurchaseRegistrationDto purchaseRegistrationDto) {
+        return R.ok(purchaseRegistrationService.addOrEditPR(purchaseRegistrationDto));
+    }
+
+    /**
+     * 鍒犻櫎
+     */
+    @DeleteMapping("/delPR")
+    public R remove(@RequestBody Long[] ids) {
+        return R.ok(purchaseRegistrationService.delByIds(ids));
+    }
+
 
 }
diff --git a/main-business/src/main/java/com/ruoyi/business/dto/ProductionDto.java b/main-business/src/main/java/com/ruoyi/business/dto/ProductionDto.java
new file mode 100644
index 0000000..942be24
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/dto/ProductionDto.java
@@ -0,0 +1,8 @@
+package com.ruoyi.business.dto;
+
+import com.ruoyi.business.entity.Production;
+import lombok.Data;
+
+@Data
+public class ProductionDto extends Production {
+}
diff --git a/main-business/src/main/java/com/ruoyi/business/dto/PurchaseRegistrationDto.java b/main-business/src/main/java/com/ruoyi/business/dto/PurchaseRegistrationDto.java
new file mode 100644
index 0000000..7fb13dc
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/dto/PurchaseRegistrationDto.java
@@ -0,0 +1,8 @@
+package com.ruoyi.business.dto;
+
+import com.ruoyi.business.entity.PurchaseRegistration;
+import lombok.Data;
+
+@Data
+public class PurchaseRegistrationDto extends PurchaseRegistration {
+}
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
new file mode 100644
index 0000000..d965baf
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java
@@ -0,0 +1,80 @@
+package com.ruoyi.business.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.MyBaseEntity;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 姝e紡搴撳瓨琛� 瀹炰綋绫�
+ *
+ * @author ruoyi
+ * @date 2025-06-04
+ */
+@Data
+@TableName("official_inventory")
+public class OfficialInventory extends MyBaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 涓婚敭ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+    /**
+     * 渚涜揣鍟嗗悕绉�
+     */
+    @TableField(value = "supplier_name")
+    private String supplierName;
+    /**
+     * 鐓ょ
+     */
+    @TableField(value = "coal_type")
+    private String coalType;
+    /**
+     * 鍗曚綅
+     */
+    @TableField(value = "unit")
+    private String unit;
+    /**
+     * 搴撳瓨鏁伴噺
+     */
+    @TableField(value = "inventory_quantity")
+    private BigDecimal inventoryQuantity;
+    /**
+     * 鍗曚环锛堝惈绋庯級
+     */
+    @TableField(value = "price_including_tax")
+    private BigDecimal priceIncludingTax;
+    /**
+     * 鎬讳环锛堝惈绋庯級
+     */
+    @TableField(value = "total_price_including_tax")
+    private BigDecimal totalPriceIncludingTax;
+    /**
+     * 鎴愭湰鍗曚环
+     */
+    @TableField(value = "cost_per_unit")
+    private BigDecimal costPerUnit;
+    /**
+     * 寰呰ˉ搴�
+     */
+    @TableField(value = "pending_replenishment")
+    private BigDecimal pendingReplenishment;
+    /**
+     * 鐧昏浜篿d
+     */
+    @TableField(value = "registrant_id")
+    private String registrantId;
+    /**
+     * 鐧昏鏃ユ湡
+     */
+    @TableField(value = "registration_date")
+    private Date registrationDate;
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..943b592
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java
@@ -0,0 +1,75 @@
+package com.ruoyi.business.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.MyBaseEntity;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 寰呭叆搴撹〃 瀹炰綋绫�
+ *
+ * @author ruoyi
+ * @date 2025-06-04
+ */
+@Data
+@TableName("pending_inventory")
+public class PendingInventory extends MyBaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 涓婚敭ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+    /**
+     * 渚涜揣鍟嗗悕绉�
+     */
+    @TableField(value = "supplier_name")
+    private String supplierName;
+    /**
+     * 鐓ょ
+     */
+    @TableField(value = "coal_type")
+    private String coalType;
+    /**
+     * 鍗曚綅
+     */
+    @TableField(value = "unit")
+    private String unit;
+    /**
+     * 搴撳瓨鏁伴噺
+     */
+    @TableField(value = "inventory_quantity")
+    private BigDecimal inventoryQuantity;
+    /**
+     * 鍗曚环锛堝惈绋庯級
+     */
+    @TableField(value = "price_including_tax")
+    private BigDecimal priceIncludingTax;
+    /**
+     * 鎬讳环锛堝惈绋庯級
+     */
+    @TableField(value = "total_price_including_tax")
+    private BigDecimal totalPriceIncludingTax;
+    /**
+     * 鎴愭湰鍗曚环
+     */
+    @TableField(value = "cost_per_unit")
+    private BigDecimal costPerUnit;
+    /**
+     * 鐧昏浜�
+     */
+    @TableField(value = "registrant")
+    private String registrant;
+    /**
+     * 鐧昏鏃堕棿
+     */
+    @TableField(value = "registration_time")
+    private Date registrationTime;
+}
\ No newline at end of file
diff --git a/main-business/src/main/java/com/ruoyi/business/entity/Production.java b/main-business/src/main/java/com/ruoyi/business/entity/Production.java
new file mode 100644
index 0000000..d79ea0f
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/entity/Production.java
@@ -0,0 +1,85 @@
+package com.ruoyi.business.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.MyBaseEntity;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 鐢熶骇鏄庣粏琛� 瀹炰綋绫�
+ *
+ * @author ruoyi
+ * @date 2025-06-04
+ */
+@Data
+@TableName("production")
+public class Production extends MyBaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 涓婚敭ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+    /**
+     * 鐓ょID
+     */
+    @TableField(value = "coal_id")
+    private Long coalId;
+    /**
+     * 鐓ょ
+     */
+    @TableField(value = "coal")
+    private String coal;
+    /**
+     * 鐑��
+     */
+    @TableField(value = "calorific_value")
+    private Integer calorificValue;
+    /**
+     * 鐢熶骇鏁伴噺
+     */
+    @TableField(value = "production_quantity")
+    private Integer productionQuantity;
+    /**
+     * 浜哄伐鎴愭湰
+     */
+    @TableField(value = "labor_cost")
+    private BigDecimal laborCost;
+    /**
+     * 鑳借�楁垚鏈�
+     */
+    @TableField(value = "energy_consumption_cost")
+    private BigDecimal energyConsumptionCost;
+    /**
+     * 璁惧鎶樻棫
+     */
+    @TableField(value = "equipment_depreciation")
+    private BigDecimal equipmentDepreciation;
+    /**
+     * 閲囪喘鍗曚环
+     */
+    @TableField(value = "purchase_price")
+    private BigDecimal purchasePrice;
+    /**
+     * 鎬绘垚鏈�
+     */
+    @TableField(value = "total_cost")
+    private BigDecimal totalCost;
+    /**
+     * 鐢熶骇浜�
+     */
+    @TableField(value = "producer")
+    private String producer;
+    /**
+     * 鐢熶骇鏃ユ湡
+     */
+    @TableField(value = "production_date")
+    private Date productionDate;
+}
\ No newline at end of file
diff --git a/main-business/src/main/java/com/ruoyi/business/mapper/OfficialInventoryMapper.java b/main-business/src/main/java/com/ruoyi/business/mapper/OfficialInventoryMapper.java
new file mode 100644
index 0000000..8282d64
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/mapper/OfficialInventoryMapper.java
@@ -0,0 +1,18 @@
+package com.ruoyi.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.business.entity.OfficialInventory;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 姝e紡搴撳瓨琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-04
+ */
+@Mapper
+public interface OfficialInventoryMapper extends BaseMapper<OfficialInventory> {
+
+}
diff --git a/main-business/src/main/java/com/ruoyi/business/mapper/PendingInventoryMapper.java b/main-business/src/main/java/com/ruoyi/business/mapper/PendingInventoryMapper.java
new file mode 100644
index 0000000..44b3272
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/mapper/PendingInventoryMapper.java
@@ -0,0 +1,18 @@
+package com.ruoyi.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.business.entity.PendingInventory;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 寰呭叆搴撹〃 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-04
+ */
+@Mapper
+public interface PendingInventoryMapper extends BaseMapper<PendingInventory> {
+
+}
diff --git a/main-business/src/main/java/com/ruoyi/business/mapper/ProductionMapper.java b/main-business/src/main/java/com/ruoyi/business/mapper/ProductionMapper.java
new file mode 100644
index 0000000..6d2db6f
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/mapper/ProductionMapper.java
@@ -0,0 +1,18 @@
+package com.ruoyi.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.business.entity.Production;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 鐢熶骇鏄庣粏琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-04
+ */
+@Mapper
+public interface ProductionMapper extends BaseMapper<Production> {
+
+}
diff --git a/main-business/src/main/java/com/ruoyi/business/service/OfficialInventoryService.java b/main-business/src/main/java/com/ruoyi/business/service/OfficialInventoryService.java
new file mode 100644
index 0000000..ae1dc65
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/service/OfficialInventoryService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.business.service;
+
+import com.ruoyi.business.entity.OfficialInventory;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 姝e紡搴撳瓨琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-04
+ */
+public interface OfficialInventoryService extends IService<OfficialInventory> {
+
+}
diff --git a/main-business/src/main/java/com/ruoyi/business/service/PendingInventoryService.java b/main-business/src/main/java/com/ruoyi/business/service/PendingInventoryService.java
new file mode 100644
index 0000000..aed794e
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/service/PendingInventoryService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.business.service;
+
+import com.ruoyi.business.entity.PendingInventory;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 寰呭叆搴撹〃 鏈嶅姟绫�
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-04
+ */
+public interface PendingInventoryService extends IService<PendingInventory> {
+
+}
diff --git a/main-business/src/main/java/com/ruoyi/business/service/ProductionService.java b/main-business/src/main/java/com/ruoyi/business/service/ProductionService.java
new file mode 100644
index 0000000..7e6e7b6
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/service/ProductionService.java
@@ -0,0 +1,24 @@
+package com.ruoyi.business.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.business.dto.ProductionDto;
+import com.ruoyi.business.entity.Production;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 鐢熶骇鏄庣粏琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-04
+ */
+public interface ProductionService extends IService<Production> {
+
+    IPage<Production> selectProductionList(Page page, ProductionDto productionDto);
+
+    int addOrEditProduction(ProductionDto productionDto);
+
+    int delByIds(Long[] ids);
+}
diff --git a/main-business/src/main/java/com/ruoyi/business/service/PurchaseRegistrationService.java b/main-business/src/main/java/com/ruoyi/business/service/PurchaseRegistrationService.java
index 24aef40..910d656 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/PurchaseRegistrationService.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/PurchaseRegistrationService.java
@@ -1,5 +1,8 @@
 package com.ruoyi.business.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.business.dto.PurchaseRegistrationDto;
 import com.ruoyi.business.entity.PurchaseRegistration;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -13,4 +16,9 @@
  */
 public interface PurchaseRegistrationService extends IService<PurchaseRegistration> {
 
+    IPage<PurchaseRegistration> selectPurchaseRegistrationList(Page page, PurchaseRegistrationDto purchaseRegistrationDto);
+
+    int addOrEditPR(PurchaseRegistrationDto purchaseRegistrationDto);
+
+    int delByIds(Long[] ids);
 }
diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java
new file mode 100644
index 0000000..516da13
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java
@@ -0,0 +1,22 @@
+package com.ruoyi.business.service.impl;
+
+import com.ruoyi.business.entity.OfficialInventory;
+import com.ruoyi.business.mapper.OfficialInventoryMapper;
+import com.ruoyi.business.service.OfficialInventoryService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import lombok.RequiredArgsConstructor;
+
+/**
+ * <p>
+ * 姝e紡搴撳瓨琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-04
+ */
+@Service
+@RequiredArgsConstructor
+public class OfficialInventoryServiceImpl extends ServiceImpl<OfficialInventoryMapper, OfficialInventory> implements OfficialInventoryService {
+
+}
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
new file mode 100644
index 0000000..820e71a
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/PendingInventoryServiceImpl.java
@@ -0,0 +1,22 @@
+package com.ruoyi.business.service.impl;
+
+import com.ruoyi.business.entity.PendingInventory;
+import com.ruoyi.business.mapper.PendingInventoryMapper;
+import com.ruoyi.business.service.PendingInventoryService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import lombok.RequiredArgsConstructor;
+
+/**
+ * <p>
+ * 寰呭叆搴撹〃 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-04
+ */
+@Service
+@RequiredArgsConstructor
+public class PendingInventoryServiceImpl extends ServiceImpl<PendingInventoryMapper, PendingInventory> implements PendingInventoryService {
+
+}
diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionServiceImpl.java
new file mode 100644
index 0000000..85cec6d
--- /dev/null
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/ProductionServiceImpl.java
@@ -0,0 +1,63 @@
+package com.ruoyi.business.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.business.dto.ProductionDto;
+import com.ruoyi.business.entity.Production;
+import com.ruoyi.business.mapper.ProductionMapper;
+import com.ruoyi.business.service.ProductionService;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.Objects;
+
+/**
+ * <p>
+ * 鐢熶骇鏄庣粏琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-04
+ */
+@Service
+@RequiredArgsConstructor
+public class ProductionServiceImpl extends ServiceImpl<ProductionMapper, Production> implements ProductionService {
+
+    private ProductionMapper productionMapper;
+
+    @Override
+    public IPage<Production> selectProductionList(Page page, ProductionDto productionDto) {
+        LambdaQueryWrapper<Production> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.orderByDesc(Production::getCreateTime);
+        return productionMapper.selectPage(page, queryWrapper);
+    }
+
+    @Override
+    public int addOrEditProduction(ProductionDto productionDto) {
+        Production production = new Production();
+        BeanUtils.copyProperties(productionDto, production);
+        if (Objects.isNull(productionDto.getId())) {
+            return productionMapper.insert(production);
+        } else {
+            return productionMapper.updateById(production);
+        }
+    }
+
+    @Override
+    public int delByIds(Long[] ids) {
+        // 妫�鏌ュ弬鏁�
+        if (ids == null || ids.length == 0) {
+            return 0;
+        }
+        // 鏋勯�犳洿鏂版潯浠�
+        UpdateWrapper<Production> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.in("id", ids)
+                .set("deleted", 1);  // 璁剧疆 deleted 涓� 1 琛ㄧず宸插垹闄�
+        // 鎵ц鎵归噺閫昏緫鍒犻櫎
+        return productionMapper.update(null, updateWrapper);
+    }
+}
diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java
index d8b297a..2e87119 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java
@@ -1,11 +1,19 @@
 package com.ruoyi.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.business.dto.PurchaseRegistrationDto;
 import com.ruoyi.business.entity.PurchaseRegistration;
 import com.ruoyi.business.mapper.PurchaseRegistrationMapper;
 import com.ruoyi.business.service.PurchaseRegistrationService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
+import com.ruoyi.common.utils.bean.BeanUtils;
 import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.Objects;
 
 /**
  * <p>
@@ -19,4 +27,38 @@
 @RequiredArgsConstructor
 public class PurchaseRegistrationServiceImpl extends ServiceImpl<PurchaseRegistrationMapper, PurchaseRegistration> implements PurchaseRegistrationService {
 
+
+    private final PurchaseRegistrationMapper purchaseRegistrationMapper;
+
+    @Override
+    public IPage<PurchaseRegistration> selectPurchaseRegistrationList(Page page, PurchaseRegistrationDto purchaseRegistrationDto) {
+        LambdaQueryWrapper<PurchaseRegistration> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.orderByDesc(PurchaseRegistration::getCreateTime);
+        return purchaseRegistrationMapper.selectPage(page, queryWrapper);
+    }
+
+    @Override
+    public int addOrEditPR(PurchaseRegistrationDto purchaseRegistrationDto) {
+        PurchaseRegistration purchaseRegistration = new PurchaseRegistration();
+        BeanUtils.copyProperties(purchaseRegistrationDto,purchaseRegistration);
+        if (Objects.isNull(purchaseRegistrationDto.getId())) {
+            return purchaseRegistrationMapper.insert(purchaseRegistration);
+        } else {
+            return purchaseRegistrationMapper.updateById(purchaseRegistration);
+        }
+    }
+
+    @Override
+    public int delByIds(Long[] ids) {
+        // 妫�鏌ュ弬鏁�
+        if (ids == null || ids.length == 0) {
+            return 0;
+        }
+        // 鏋勯�犳洿鏂版潯浠�
+        UpdateWrapper<PurchaseRegistration> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.in("id", ids)
+                .set("deleted", 1);  // 璁剧疆 deleted 涓� 1 琛ㄧず宸插垹闄�
+        // 鎵ц鎵归噺閫昏緫鍒犻櫎
+        return purchaseRegistrationMapper.update(null, updateWrapper);
+    }
 }
diff --git a/main-business/src/main/resources/db/migration/postgresql/V20250604101800__create_table_production.sql b/main-business/src/main/resources/db/migration/postgresql/V20250604101800__create_table_production.sql
new file mode 100644
index 0000000..b96e9f5
--- /dev/null
+++ b/main-business/src/main/resources/db/migration/postgresql/V20250604101800__create_table_production.sql
@@ -0,0 +1,45 @@
+-- 鍒涘缓鐢熶骇鏄庣粏琛�
+CREATE TABLE production
+(
+    id                      BIGSERIAL PRIMARY KEY,                              -- 涓婚敭ID
+    coal_id                 BIGINT         NOT NULL  DEFAULT 0,                 -- 鐓ょID
+    coal                    VARCHAR(50)    NOT NULL,                            -- 鐓ょ
+    calorific_value         INT            NOT NULL,                            -- 鐑��
+    production_quantity     INT            NOT NULL,                            -- 鐢熶骇鏁伴噺
+    labor_cost              DECIMAL(10, 2) NOT NULL,                            -- 浜哄伐鎴愭湰
+    energy_consumption_cost DECIMAL(10, 2) NOT NULL,                            -- 鑳借�楁垚鏈�
+    equipment_depreciation  DECIMAL(10, 2) NOT NULL,                            -- 璁惧鎶樻棫
+    purchase_price          DECIMAL(10, 2) NOT NULL,                            -- 閲囪喘鍗曚环
+    total_cost              DECIMAL(10, 2) NOT NULL,                            -- 鎬绘垚鏈�
+    producer                VARCHAR(50),                                        -- 鐢熶骇浜�
+    production_date         DATE,                                               -- 鐢熶骇鏃ユ湡
+
+    deleted                 INT            NOT NULL  DEFAULT 0,                 -- 杞垹闄ゆ爣蹇楋細0=鏈垹闄わ紝1=宸插垹闄�
+    create_by               VARCHAR(255),                                       -- 鍒涘缓浜虹敤鎴峰悕
+    create_time             TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, -- 鍒涘缓鏃堕棿锛岄粯璁ゅ綋鍓嶆椂闂�
+    update_by               VARCHAR(255),                                       -- 鏈�鍚庢洿鏂颁汉鐢ㄦ埛鍚�
+    update_time             TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP  -- 鏈�鍚庢洿鏂版椂闂达紝榛樿褰撳墠鏃堕棿
+);
+
+-- 娣诲姞琛ㄦ敞閲�
+COMMENT ON TABLE production IS '鐢熶骇鏄庣粏琛�';
+
+-- 娣诲姞瀛楁娉ㄩ噴
+COMMENT ON COLUMN production.id IS '涓婚敭ID';
+COMMENT ON COLUMN production.coal_id IS '鐓ょID';
+COMMENT ON COLUMN production.coal IS '鐓ょ';
+COMMENT ON COLUMN production.calorific_value IS '鐑��';
+COMMENT ON COLUMN production.production_quantity IS '鐢熶骇鏁伴噺';
+COMMENT ON COLUMN production.labor_cost IS '浜哄伐鎴愭湰';
+COMMENT ON COLUMN production.energy_consumption_cost IS '鑳借�楁垚鏈�';
+COMMENT ON COLUMN production.equipment_depreciation IS '璁惧鎶樻棫';
+COMMENT ON COLUMN production.purchase_price IS '閲囪喘鍗曚环';
+COMMENT ON COLUMN production.total_cost IS '鎬绘垚鏈�';
+COMMENT ON COLUMN production.producer IS '鐢熶骇浜�';
+COMMENT ON COLUMN production.production_date IS '鐢熶骇鏃ユ湡';
+
+COMMENT ON COLUMN production.deleted IS '杞垹闄ゆ爣蹇楋紝0=鏈垹闄わ紝1=宸插垹闄�';
+COMMENT ON COLUMN production.create_by IS '鍒涘缓璇ヨ褰曠殑鐢ㄦ埛';
+COMMENT ON COLUMN production.create_time IS '璁板綍鍒涘缓鏃堕棿';
+COMMENT ON COLUMN production.update_by IS '鏈�鍚庝慨鏀硅璁板綍鐨勭敤鎴�';
+COMMENT ON COLUMN production.update_time IS '璁板綍鏈�鍚庢洿鏂版椂闂�';
\ No newline at end of file
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
new file mode 100644
index 0000000..1acb79e
--- /dev/null
+++ b/main-business/src/main/resources/db/migration/postgresql/V20250604104500__create_table_pending_inventory.sql
@@ -0,0 +1,41 @@
+-- 鍒涘缓寰呭叆搴撹〃
+CREATE TABLE pending_inventory
+(
+    id                        SERIAL PRIMARY KEY,                                 -- 涓婚敭ID
+    supplier_name             VARCHAR(255)   NOT NULL,                            -- 渚涜揣鍟嗗悕绉�
+    coal_type                 VARCHAR(50)    NOT NULL,                            -- 鐓ょ
+    unit                      VARCHAR(50)    NOT NULL,                            -- 鍗曚綅
+    inventory_quantity        DECIMAL(10, 2) NOT NULL,                            -- 搴撳瓨鏁伴噺
+    price_including_tax       DECIMAL(10, 2) NOT NULL,                            -- 鍗曚环锛堝惈绋庯級
+    total_price_including_tax DECIMAL(10, 2) NOT NULL,                            -- 鎬讳环锛堝惈绋庯級
+    cost_per_unit             DECIMAL(10, 2) NOT NULL,                            -- 鎴愭湰鍗曚环
+    registrant                VARCHAR(50)    NOT NULL,                            -- 鐧昏浜�
+    registration_time         TIMESTAMP      NOT NULL  DEFAULT CURRENT_TIMESTAMP, -- 鐧昏鏃堕棿
+
+    deleted                   INT            NOT NULL  DEFAULT 0,                 -- 杞垹闄ゆ爣蹇楋細0=鏈垹闄わ紝1=宸插垹闄�
+    create_by                 VARCHAR(255),                                       -- 鍒涘缓浜虹敤鎴峰悕
+    create_time               TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, -- 鍒涘缓鏃堕棿锛岄粯璁ゅ綋鍓嶆椂闂�
+    update_by                 VARCHAR(255),                                       -- 鏈�鍚庢洿鏂颁汉鐢ㄦ埛鍚�
+    update_time               TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP  -- 鏈�鍚庢洿鏂版椂闂达紝榛樿褰撳墠鏃堕棿
+);
+
+-- 娣诲姞琛ㄦ敞閲�
+COMMENT ON TABLE pending_inventory IS '寰呭叆搴撹〃';
+
+-- 娣诲姞瀛楁娉ㄩ噴
+COMMENT ON COLUMN pending_inventory.id IS '涓婚敭ID';
+COMMENT ON COLUMN pending_inventory.supplier_name IS '渚涜揣鍟嗗悕绉�';
+COMMENT ON COLUMN pending_inventory.coal_type IS '鐓ょ';
+COMMENT ON COLUMN pending_inventory.unit IS '鍗曚綅';
+COMMENT ON COLUMN pending_inventory.inventory_quantity IS '搴撳瓨鏁伴噺';
+COMMENT ON COLUMN pending_inventory.price_including_tax IS '鍗曚环锛堝惈绋庯級';
+COMMENT ON COLUMN pending_inventory.total_price_including_tax IS '鎬讳环锛堝惈绋庯級';
+COMMENT ON COLUMN pending_inventory.cost_per_unit IS '鎴愭湰鍗曚环';
+COMMENT ON COLUMN pending_inventory.registrant IS '鐧昏浜�';
+COMMENT ON COLUMN pending_inventory.registration_time IS '鐧昏鏃堕棿';
+
+COMMENT ON COLUMN pending_inventory.deleted IS '杞垹闄ゆ爣蹇楋紝0=鏈垹闄わ紝1=宸插垹闄�';
+COMMENT ON COLUMN pending_inventory.create_by IS '鍒涘缓璇ヨ褰曠殑鐢ㄦ埛';
+COMMENT ON COLUMN pending_inventory.create_time IS '璁板綍鍒涘缓鏃堕棿';
+COMMENT ON COLUMN pending_inventory.update_by IS '鏈�鍚庝慨鏀硅璁板綍鐨勭敤鎴�';
+COMMENT ON COLUMN pending_inventory.update_time IS '璁板綍鏈�鍚庢洿鏂版椂闂�';
\ No newline at end of file
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
new file mode 100644
index 0000000..80587a1
--- /dev/null
+++ b/main-business/src/main/resources/db/migration/postgresql/V20250604111200__create_table_official_inventory.sql
@@ -0,0 +1,43 @@
+-- 鍒涘缓姝e紡搴撹〃
+CREATE TABLE official_inventory
+(
+    id                         SERIAL PRIMARY KEY,                                 -- 涓婚敭ID
+    supplier_name              VARCHAR(255)   NOT NULL,                            -- 渚涜揣鍟嗗悕绉�
+    coal_type                  VARCHAR(50)    NOT NULL,                            -- 鐓ょ
+    unit                       VARCHAR(50)    NOT NULL,                            -- 鍗曚綅
+    inventory_quantity         DECIMAL(10, 2) NOT NULL,                            -- 搴撳瓨鏁伴噺
+    price_including_tax        DECIMAL(10, 2) NOT NULL,                            -- 鍗曚环锛堝惈绋庯級
+    total_price_including_tax  DECIMAL(10, 2) NOT NULL,                            -- 鎬讳环锛堝惈绋庯級
+    cost_per_unit              DECIMAL(10, 2) NOT NULL,                            -- 鎴愭湰鍗曚环
+    pending_replenishment      DECIMAL(10, 2) NOT NULL,                            -- 寰呰ˉ搴�
+    registrant_id              VARCHAR(50)    NOT NULL,                            -- 鐧昏浜篿d
+    registration_date          TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
+
+    deleted                    INT            NOT NULL  DEFAULT 0,                 -- 杞垹闄ゆ爣蹇楋細0=鏈垹闄わ紝1=宸插垹闄�
+    create_by                  VARCHAR(255),                                       -- 鍒涘缓浜虹敤鎴峰悕
+    create_time                TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, -- 鍒涘缓鏃堕棿锛岄粯璁ゅ綋鍓嶆椂闂�
+    update_by                  VARCHAR(255),                                       -- 鏈�鍚庢洿鏂颁汉鐢ㄦ埛鍚�
+    update_time                TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP  -- 鏈�鍚庢洿鏂版椂闂达紝榛樿褰撳墠鏃堕棿-- 鐧昏鏃ユ湡
+);
+
+-- 娣诲姞琛ㄦ敞閲�
+COMMENT ON TABLE official_inventory IS '姝e紡搴撳瓨琛�';
+
+-- 娣诲姞瀛楁娉ㄩ噴
+COMMENT ON COLUMN official_inventory.id IS '涓婚敭ID';
+COMMENT ON COLUMN official_inventory.supplier_name IS '渚涜揣鍟嗗悕绉�';
+COMMENT ON COLUMN official_inventory.coal_type IS '鐓ょ';
+COMMENT ON COLUMN official_inventory.unit IS '鍗曚綅';
+COMMENT ON COLUMN official_inventory.inventory_quantity 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.cost_per_unit IS '鎴愭湰鍗曚环';
+COMMENT ON COLUMN official_inventory.pending_replenishment IS '寰呰ˉ搴�';
+COMMENT ON COLUMN official_inventory.registrant_id IS '鐧昏浜篿d';
+COMMENT ON COLUMN official_inventory.registration_date IS '鐧昏鏃ユ湡';
+
+COMMENT ON COLUMN official_inventory.deleted IS '杞垹闄ゆ爣蹇楋紝0=鏈垹闄わ紝1=宸插垹闄�';
+COMMENT ON COLUMN official_inventory.create_by IS '鍒涘缓璇ヨ褰曠殑鐢ㄦ埛';
+COMMENT ON COLUMN official_inventory.create_time IS '璁板綍鍒涘缓鏃堕棿';
+COMMENT ON COLUMN official_inventory.update_by IS '鏈�鍚庝慨鏀硅璁板綍鐨勭敤鎴�';
+COMMENT ON COLUMN official_inventory.update_time IS '璁板綍鏈�鍚庢洿鏂版椂闂�';
\ No newline at end of file
diff --git a/main-business/src/main/resources/mapper/OfficialInventoryMapper.xml b/main-business/src/main/resources/mapper/OfficialInventoryMapper.xml
new file mode 100644
index 0000000..278bdb6
--- /dev/null
+++ b/main-business/src/main/resources/mapper/OfficialInventoryMapper.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.business.mapper.OfficialInventoryMapper">
+
+        <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+        <resultMap id="BaseResultMap" type="com.ruoyi.business.entity.OfficialInventory">
+                    <id column="id" property="id" />
+                <result column="deleted" property="deleted" />
+                <result column="create_by" property="createBy" />
+                <result column="create_time" property="createTime" />
+                <result column="update_by" property="updateBy" />
+                <result column="update_time" property="updateTime" />
+                    <result column="supplier_name" property="supplierName" />
+                    <result column="coal_type" property="coalType" />
+                    <result column="unit" property="unit" />
+                    <result column="inventory_quantity" property="inventoryQuantity" />
+                    <result column="price_including_tax" property="priceIncludingTax" />
+                    <result column="total_price_including_tax" property="totalPriceIncludingTax" />
+                    <result column="cost_per_unit" property="costPerUnit" />
+                    <result column="pending_replenishment" property="pendingReplenishment" />
+                    <result column="registrant_id" property="registrantId" />
+                    <result column="registration_date" property="registrationDate" />
+        </resultMap>
+
+        <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+        <sql id="Base_Column_List">
+                deleted,
+                create_by,
+                create_time,
+                update_by,
+                update_time,
+            id, supplier_name, coal_type, unit, inventory_quantity, price_including_tax, total_price_including_tax, cost_per_unit, pending_replenishment, registrant_id, registration_date
+        </sql>
+
+</mapper>
\ No newline at end of file
diff --git a/main-business/src/main/resources/mapper/PendingInventoryMapper.xml b/main-business/src/main/resources/mapper/PendingInventoryMapper.xml
new file mode 100644
index 0000000..dc8d8bd
--- /dev/null
+++ b/main-business/src/main/resources/mapper/PendingInventoryMapper.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.business.mapper.PendingInventoryMapper">
+
+        <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+        <resultMap id="BaseResultMap" type="com.ruoyi.business.entity.PendingInventory">
+                    <id column="id" property="id" />
+                <result column="deleted" property="deleted" />
+                <result column="create_by" property="createBy" />
+                <result column="create_time" property="createTime" />
+                <result column="update_by" property="updateBy" />
+                <result column="update_time" property="updateTime" />
+                    <result column="supplier_name" property="supplierName" />
+                    <result column="coal_type" property="coalType" />
+                    <result column="unit" property="unit" />
+                    <result column="inventory_quantity" property="inventoryQuantity" />
+                    <result column="price_including_tax" property="priceIncludingTax" />
+                    <result column="total_price_including_tax" property="totalPriceIncludingTax" />
+                    <result column="cost_per_unit" property="costPerUnit" />
+                    <result column="registrant" property="registrant" />
+                    <result column="registration_time" property="registrationTime" />
+        </resultMap>
+
+        <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+        <sql id="Base_Column_List">
+                deleted,
+                create_by,
+                create_time,
+                update_by,
+                update_time,
+            id, supplier_name, coal_type, unit, inventory_quantity, price_including_tax, total_price_including_tax, cost_per_unit, registrant, registration_time
+        </sql>
+
+</mapper>
\ No newline at end of file
diff --git a/main-business/src/main/resources/mapper/ProductionMapper.xml b/main-business/src/main/resources/mapper/ProductionMapper.xml
new file mode 100644
index 0000000..4138e85
--- /dev/null
+++ b/main-business/src/main/resources/mapper/ProductionMapper.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.business.mapper.ProductionMapper">
+
+        <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+        <resultMap id="BaseResultMap" type="com.ruoyi.business.entity.Production">
+                    <id column="id" property="id" />
+                    <result column="coal_id" property="coalId" />
+                    <result column="coal" property="coal" />
+                    <result column="calorific_value" property="calorificValue" />
+                    <result column="production_quantity" property="productionQuantity" />
+                    <result column="labor_cost" property="laborCost" />
+                    <result column="energy_consumption_cost" property="energyConsumptionCost" />
+                    <result column="equipment_depreciation" property="equipmentDepreciation" />
+                    <result column="purchase_price" property="purchasePrice" />
+                    <result column="total_cost" property="totalCost" />
+                    <result column="producer" property="producer" />
+                    <result column="production_date" property="productionDate" />
+        </resultMap>
+
+        <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+        <sql id="Base_Column_List">
+            id, coal_id, coal, calorific_value, production_quantity, labor_cost, energy_consumption_cost, equipment_depreciation, purchase_price, total_cost, producer, production_date
+        </sql>
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3