From 455b965c6435b5359bb5c25f2b6810dbc06f5481 Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期五, 13 二月 2026 17:56:39 +0800
Subject: [PATCH] Merge branch 'dev_New_kthg' of http://114.132.189.42:9002/r/product-inventory-management-after into dev_New_kthg

---
 src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml                  |   89 +++++++++++++++--------------
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |    6 -
 src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java        |    2 
 src/main/java/com/ruoyi/common/enums/StockInUnQualifiedRecordTypeEnum.java            |    2 
 src/main/java/com/ruoyi/production/pojo/ProductOrder.java                             |    5 +
 src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java              |    1 
 src/main/java/com/ruoyi/project/system/domain/SysMenu.java                            |   12 ++++
 src/main/resources/mapper/production/ProductOrderMapper.xml                           |    1 
 src/main/java/com/ruoyi/production/controller/ProductOrderController.java             |    4 -
 src/main/resources/mapper/system/SysMenuMapper.xml                                    |   12 ++-
 src/main/resources/application-dev.yml                                                |    3 
 src/main/java/com/ruoyi/production/pojo/ProductProcess.java                           |    2 
 src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java              |    2 
 13 files changed, 80 insertions(+), 61 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
index dd7618a..00a53f5 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -155,7 +155,6 @@
         LambdaQueryWrapper<ApproveProcess> approveProcessLambdaQueryWrapper = new LambdaQueryWrapper<>();
         approveProcessLambdaQueryWrapper.eq(ApproveProcess::getApproveId, approveNode.getApproveProcessId())
                 .eq(ApproveProcess::getApproveDelete, 0)
-                .eq(ApproveProcess::getApproveStatus, 0)
                 .last("limit 1");
         ApproveProcess approveProcess = approveProcessMapper.selectOne(approveProcessLambdaQueryWrapper);
         if(approveProcess == null) throw new RuntimeException("瀹℃壒涓嶅瓨鍦�");
diff --git a/src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java b/src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java
index 102bcc4..20059d5 100644
--- a/src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java
+++ b/src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java
@@ -10,7 +10,7 @@
     CUSTOMIZATION_STOCK_IN("0", "鍚堟牸鑷畾涔夊叆搴�"),
     PRODUCTION_REPORT_STOCK_IN("2", "鐢熶骇鎶ュ伐-鍏ュ簱"),
     PURCHASE_STOCK_IN("7", "閲囪喘-鍏ュ簱"),
-    QUALITYINSPECT_STOCK_IN("11", "璐ㄦ-鍚堟牸鍏ュ簱"),
+    QUALITYINSPECT_STOCK_IN("6", "璐ㄦ-鍚堟牸鍏ュ簱"),
     DEFECTIVE_PASS("11", "涓嶅悎鏍�-璁╂鏀捐");
 
 
diff --git a/src/main/java/com/ruoyi/common/enums/StockInUnQualifiedRecordTypeEnum.java b/src/main/java/com/ruoyi/common/enums/StockInUnQualifiedRecordTypeEnum.java
index ab6b041..d221461 100644
--- a/src/main/java/com/ruoyi/common/enums/StockInUnQualifiedRecordTypeEnum.java
+++ b/src/main/java/com/ruoyi/common/enums/StockInUnQualifiedRecordTypeEnum.java
@@ -7,7 +7,7 @@
 public enum StockInUnQualifiedRecordTypeEnum implements BaseEnum<String> {
 
 
-    DEFECTIVE_SCRAP("5", "涓嶅悎鏍煎鐞�-鎶ュ簾"),
+    DEFECTIVE_SCRAP("4", "涓嶅悎鏍煎鐞�-鎶ュ簾"),
     PRODUCTION_SCRAP("5", "鐢熶骇鎶ュ伐-鎶ュ簾"),
     CUSTOMIZATION_UNSTOCK_IN("9", "涓嶅悎鏍艰嚜瀹氫箟鍏ュ簱"),
     QUALITYINSPECT_UNSTOCK_IN("12", "璐ㄦ-涓嶅悎鏍煎叆搴�");
diff --git a/src/main/java/com/ruoyi/production/controller/ProductOrderController.java b/src/main/java/com/ruoyi/production/controller/ProductOrderController.java
index 4cb0c68..fb8011a 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductOrderController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductOrderController.java
@@ -1,13 +1,11 @@
 package com.ruoyi.production.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.basic.pojo.Customer;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.domain.R;
 import com.ruoyi.production.dto.ProductOrderDto;
-import com.ruoyi.production.pojo.ProcessRoute;
 import com.ruoyi.production.pojo.ProductOrder;
 import com.ruoyi.production.service.ProductOrderService;
 import io.swagger.annotations.Api;
@@ -19,7 +17,7 @@
 import java.math.BigDecimal;
 import java.util.List;
 
-@RequestMapping("productOrder")
+@RequestMapping("/productOrder")
 @RestController
 @Api(tags = "鐢熶骇璁㈠崟")
 public class ProductOrderController {
diff --git a/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java b/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java
index 8cb4d91..2f43344 100644
--- a/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java
+++ b/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java
@@ -38,7 +38,6 @@
      * 宸ヨ祫
      */
     @ApiModelProperty(value = "宸ヨ祫")
-    @Excel(name = "宸ヨ祫")
     private BigDecimal wages;
 
     /**
@@ -52,7 +51,6 @@
      * 宸ユ椂瀹氶
      */
     @ApiModelProperty(value = "宸ユ椂瀹氶")
-    @Excel(name = "宸ユ椂瀹氶")
     private BigDecimal workHours;
 
     /**
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductOrder.java b/src/main/java/com/ruoyi/production/pojo/ProductOrder.java
index 5286cd3..3b04a03 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductOrder.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductOrder.java
@@ -3,7 +3,6 @@
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
-import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -101,6 +100,10 @@
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime endTime;
 
+    @ApiModelProperty(value = "鐢熶骇鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime productionDate;
 
 
 }
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductProcess.java b/src/main/java/com/ruoyi/production/pojo/ProductProcess.java
index 1462c49..78dcea0 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductProcess.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductProcess.java
@@ -46,7 +46,7 @@
     /**
      * 宸ヨ祫瀹氶
      */
-    @Excel(name = "宸ヨ祫瀹氶")
+//    @Excel(name = "宸ヨ祫瀹氶")
     private BigDecimal salaryQuota;
 
     /**
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index d5d2437..5079036 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -154,10 +154,8 @@
             productionProductInput.setQuantity(productStructureDto.getUnitQuantity().multiply(dto.getQuantity()));
             productionProductInput.setProductMainId(productionProductMain.getId());
             productionProductInputMapper.insert(productionProductInput);
-            stockUtils.substractStock(productStructureDto.getProductModelId(), productionProductInput.getQuantity(), StockOutQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode(), productionProductMain.getId());
-
-        }
-        /*鏂板鎶ュ伐浜у嚭琛�*/
+//            stockUtils.substractStock(productStructureDto.getProductModelId(), productionProductInput.getQuantity(), StockOutQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode(), productionProductMain.getId());
+        }        /*鏂板鎶ュ伐浜у嚭琛�*/
         ProductionProductOutput productionProductOutput = new ProductionProductOutput();
         productionProductOutput.setProductMainId(productionProductMain.getId());
         productionProductOutput.setProductModelId(productProcessRouteItem.getProductModelId());
diff --git a/src/main/java/com/ruoyi/project/system/domain/SysMenu.java b/src/main/java/com/ruoyi/project/system/domain/SysMenu.java
index d6e8b3a..683bdab 100644
--- a/src/main/java/com/ruoyi/project/system/domain/SysMenu.java
+++ b/src/main/java/com/ruoyi/project/system/domain/SysMenu.java
@@ -21,6 +21,14 @@
     /** 鑿滃崟ID */
     private Long menuId;
 
+    public String getAppComponent() {
+        return appComponent;
+    }
+
+    public void setAppComponent(String appComponent) {
+        this.appComponent = appComponent;
+    }
+
     /** 鑿滃崟鍚嶇О */
     private String menuName;
 
@@ -38,6 +46,9 @@
 
     /** 缁勪欢璺緞 */
     private String component;
+
+    /** APP缁勪欢璺緞 */
+    private String appComponent;
 
     /** 璺敱鍙傛暟 */
     private String query;
@@ -260,6 +271,7 @@
             .append("isFrame", getIsFrame())
             .append("IsCache", getIsCache())
             .append("menuType", getMenuType())
+            .append("appComponent", getAppComponent())
             .append("visible", getVisible())
             .append("status ", getStatus())
             .append("perms", getPerms())
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 86f7ec9..40dc00c 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -13,7 +13,8 @@
   addressEnabled: false
   # 楠岃瘉鐮佺被鍨� math 鏁板瓧璁$畻 char 瀛楃楠岃瘉
   captchaType: math
-
+  # 鍗忓悓瀹℃壒缂栧彿鍓嶇紑(閰嶇疆鏂囦欢鍚庣紑鍛藉悕)
+  approvalNumberPrefix: DEV
 # 寮�鍙戠幆澧冮厤缃�
 server:
   # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
diff --git a/src/main/resources/mapper/production/ProductOrderMapper.xml b/src/main/resources/mapper/production/ProductOrderMapper.xml
index fdcb54e..2dc774e 100644
--- a/src/main/resources/mapper/production/ProductOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductOrderMapper.xml
@@ -10,6 +10,7 @@
         <result property="salesLedgerId" column="sales_ledger_id"/>
         <result property="routeId" column="route_id"/>
         <result property="npsNo" column="nps_no"/>
+        <result property="productionDate" column="production_date"/>
         <result property="createTime" column="create_time"/>
         <result property="updateTime" column="update_time"/>
     </resultMap>
diff --git a/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
index cfd47e5..fcaba49 100644
--- a/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
+++ b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
@@ -61,65 +61,70 @@
 
     <select id="invoiceRegistrationProductPage" resultType="com.ruoyi.sales.dto.InvoiceRegistrationProductDto">
         SELECT
-            T1.id   ,
-            T1.sales_ledger_id           ,
-            T1.sales_ledger_product_id   ,
-            T1.invoice_registration_id   ,
-            T1.product_category          ,
-            T1.specification_model       ,
-            T1.unit                      ,
-            T1.quantity                  ,
-            T1.tax_rate                  ,
-            T1.tax_inclusive_unit_price  ,
-            T1.tax_inclusive_total_price ,
-            T1.tax_exclusive_total_price ,
-            T1.invoice_type              ,
-            T1.invoice_num               ,
-            T1.invoice_amount            ,
-            T1.no_invoice_num            ,
-            T1.no_invoice_amount         ,
-            T1.create_time               ,
-            T1.create_user               ,
-            T1.update_time               ,
-            T1.update_user               ,
-            T1.tenant_id,
-            T2.sales_contract_no,
-            T2.customer_contract_no,
-            T2.customer_name,
-            T3.invoice_no,
-            T3.id as invoice_ledger_id,
-            IFNULL(T3.invoice_total,0) AS invoice_total,
-            T3.invoice_person,
-            T3.invoice_date,
-            T4.invoiceFileName,
-            T2.project_name
+        T1.id ,
+        T1.sales_ledger_id ,
+        T1.sales_ledger_product_id ,
+        T1.invoice_registration_id ,
+        T1.product_category ,
+        T1.specification_model ,
+        T1.unit ,
+        T1.quantity ,
+        T1.tax_rate ,
+        T1.tax_inclusive_unit_price ,
+        T1.tax_inclusive_total_price ,
+        T1.tax_exclusive_total_price ,
+        T1.invoice_type ,
+        T1.invoice_num ,
+        T1.invoice_amount ,
+        T1.no_invoice_num ,
+        T1.no_invoice_amount ,
+        T1.create_time ,
+        T1.create_user ,
+        T1.update_time ,
+        T1.update_user ,
+        T1.tenant_id,
+        T2.sales_contract_no,
+        T2.customer_contract_no,
+        T2.customer_name,
+        T3.invoice_no,
+        T3.id as invoice_ledger_id,
+        IFNULL(T3.invoice_total,0) AS invoice_total,
+        T3.invoice_person,
+        T3.invoice_date,
+        T4.invoiceFileName,
+        T2.project_name,
+        u.nick_name as invoicePerson
         FROM invoice_registration_product T1
         LEFT JOIN sales_ledger T2 ON T1.sales_ledger_id = T2.id
+        LEFT JOIN sys_user u ON u.user_id = T1.create_user
         RIGHT JOIN invoice_ledger T3 ON T1.id = T3.invoice_registration_product_id
         LEFT JOIN (
-            SELECT
-                invoice_ledger_id,
-                GROUP_CONCAT( name ORDER BY id ASC SEPARATOR ' | ') AS invoiceFileName
-            FROM invoice_ledger_file GROUP BY invoice_ledger_id
+        SELECT
+        invoice_ledger_id,
+        GROUP_CONCAT( name ORDER BY id ASC SEPARATOR ' | ') AS invoiceFileName
+        FROM invoice_ledger_file GROUP BY invoice_ledger_id
         ) T4 ON T4.invoice_ledger_id = T3.id
         <where>
             <if test="invoiceRegistrationProductDto.searchText != null and invoiceRegistrationProductDto.searchText != '' ">
                 AND (T2.sales_contract_no LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
-                         OR
-                     T2.customer_name LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
-                     )
+                OR
+                T2.customer_name LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
+                )
             </if>
             <if test="invoiceRegistrationProductDto.invoiceDateStart != null and invoiceRegistrationProductDto.invoiceDateStart != ''">
                 AND T3.invoice_date &gt;= str_to_date(#{invoiceRegistrationProductDto.invoiceDateStart}, '%Y-%m-%d')
             </if>
             <if test="invoiceRegistrationProductDto.invoiceDateEnd != null and invoiceRegistrationProductDto.invoiceDateEnd != ''">
-                AND T3.invoice_date &lt; date_add(str_to_date(#{invoiceRegistrationProductDto.invoiceDateEnd}, '%Y-%m-%d'), interval 1 day)
+                AND T3.invoice_date &lt; date_add(str_to_date(#{invoiceRegistrationProductDto.invoiceDateEnd},
+                '%Y-%m-%d'), interval 1 day)
             </if>
             <if test="invoiceRegistrationProductDto.createTimeStart != null ">
-                AND T1.create_time &gt;= date_format(#{invoiceRegistrationProductDto.createTimeStart}, '%Y-%m-%d %H:%i:%s')
+                AND T1.create_time &gt;= date_format(#{invoiceRegistrationProductDto.createTimeStart}, '%Y-%m-%d
+                %H:%i:%s')
             </if>
             <if test="invoiceRegistrationProductDto.createTimeEnd != null ">
-                AND T1.create_time &lt;= date_format(#{invoiceRegistrationProductDto.createTimeStart}, '%Y-%m-%d %H:%i:%s')+interval 1 day
+                AND T1.create_time &lt;= date_format(#{invoiceRegistrationProductDto.createTimeStart}, '%Y-%m-%d
+                %H:%i:%s')+interval 1 day
             </if>
         </where>
         ORDER BY T1.create_time DESC
diff --git a/src/main/resources/mapper/system/SysMenuMapper.xml b/src/main/resources/mapper/system/SysMenuMapper.xml
index a3b6426..aaf0cd4 100644
--- a/src/main/resources/mapper/system/SysMenuMapper.xml
+++ b/src/main/resources/mapper/system/SysMenuMapper.xml
@@ -11,6 +11,7 @@
 		<result property="parentId"       column="parent_id"      />
 		<result property="orderNum"       column="order_num"      />
 		<result property="path"           column="path"           />
+		<result property="appComponent"   column="app_component"  />
 		<result property="component"      column="component"      />
 		<result property="query"          column="query"          />
 		<result property="routeName"      column="route_name"     />
@@ -29,7 +30,7 @@
 	</resultMap>
 
 	<sql id="selectMenuVo">
-        select menu_id, menu_name, parent_id, order_num, path, component, `query`, route_name, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time 
+        select menu_id, menu_name, parent_id, order_num, path,app_component, component, `query`, route_name, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time
 		from sys_menu
     </sql>
     
@@ -50,13 +51,13 @@
 	</select>
 	
 	<select id="selectMenuTreeAll" resultMap="SysMenuResult">
-		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
+		select distinct m.menu_id, m.parent_id, m.menu_name, m.path,m.app_component, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
 		from sys_menu m where m.menu_type in ('M', 'C') and m.status = 0
 		order by m.parent_id, m.order_num
 	</select>
 	
 	<select id="selectMenuListByUserId" parameterType="com.ruoyi.project.system.domain.SysMenu" resultMap="SysMenuResult">
-		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
+		select distinct m.menu_id, m.parent_id, m.menu_name, m.path,m.app_component, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
 		from sys_menu m
 		left join sys_role_menu rm on m.menu_id = rm.menu_id
 		left join sys_user_role ur on rm.role_id = ur.role_id
@@ -75,7 +76,7 @@
 	</select>
     
     <select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult">
-		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
+		select distinct m.menu_id, m.parent_id, m.menu_name, m.path,m.app_component, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
 		from sys_menu m
 			 left join sys_role_menu rm on m.menu_id = rm.menu_id
 			 left join sys_user_role ur on rm.role_id = ur.role_id
@@ -141,6 +142,7 @@
 			<if test="orderNum != null">order_num = #{orderNum},</if>
 			<if test="path != null and path != ''">path = #{path},</if>
 			<if test="component != null">component = #{component},</if>
+		    <if test="appComponent != null">app_component = #{appComponent},</if>
 			<if test="query != null">`query` = #{query},</if>
 			<if test="routeName != null">route_name = #{routeName},</if>
 			<if test="isFrame != null and isFrame != ''">is_frame = #{isFrame},</if>
@@ -164,6 +166,7 @@
 		<if test="menuName != null and menuName != ''">menu_name,</if>
 		<if test="orderNum != null">order_num,</if>
 		<if test="path != null and path != ''">path,</if>
+		<if test="appComponent != null and appComponent != ''">app_component,</if>
 		<if test="component != null and component != ''">component,</if>
 		<if test="query != null and query != ''">`query`,</if>
 		<if test="routeName != null">route_name,</if>
@@ -183,6 +186,7 @@
 		<if test="menuName != null and menuName != ''">#{menuName},</if>
 		<if test="orderNum != null">#{orderNum},</if>
 		<if test="path != null and path != ''">#{path},</if>
+		<if test="appComponent != null and appComponent != ''">#{appComponent},</if>
 		<if test="component != null and component != ''">#{component},</if>
 		<if test="query != null and query != ''">#{query},</if>
 		<if test="routeName != null">#{routeName},</if>

--
Gitblit v1.9.3