From 2d03ec79e1892248b520cf097e8a58dd82a4892f Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 22 五月 2026 15:19:15 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_天津_阳光彩印' into dev_天津_阳光彩印

---
 src/main/resources/mapper/production/ProductWorkOrderMapper.xml                       |    3 +
 src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java                  |    6 +++
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |    5 +-
 src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java           |   27 ++++++++++++-
 src/main/resources/mapper/device/DeviceRepairMapper.xml                               |    5 ++
 src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml        |    2 
 src/main/java/com/ruoyi/device/pojo/DeviceRepair.java                                 |    3 +
 src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java                               |    3 +
 src/main/resources/mapper/production/ProductionProductMainMapper.xml                  |    6 ++
 src/main/resources/mapper/system/SysUserMapper.xml                                    |    8 +++
 src/main/java/com/ruoyi/project/system/domain/SysUser.java                            |   12 ++++++
 src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java                  |   19 +++++++--
 12 files changed, 87 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java b/src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java
index 92cfe8c..3fa0ab2 100644
--- a/src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java
+++ b/src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java
@@ -35,6 +35,9 @@
     @ApiModelProperty("鎶ヤ慨鍐呭")
     private String remark;
 
+    @ApiModelProperty("鎶ヤ慨椤圭洰")
+    private String repairProject;
+
     @ApiModelProperty("缁翠慨浜�")
     private String maintenanceName;
 
diff --git a/src/main/java/com/ruoyi/device/pojo/DeviceRepair.java b/src/main/java/com/ruoyi/device/pojo/DeviceRepair.java
index c556c57..7c42d0d 100644
--- a/src/main/java/com/ruoyi/device/pojo/DeviceRepair.java
+++ b/src/main/java/com/ruoyi/device/pojo/DeviceRepair.java
@@ -35,6 +35,9 @@
     @ApiModelProperty("鎶ヤ慨鍐呭")
     private String remark;
 
+    @ApiModelProperty("鎶ヤ慨椤圭洰")
+    private String repairProject;
+
     @ApiModelProperty("缁翠慨浜�")
     private String maintenanceName;
 
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
index 0c2e0b9..7481074 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
@@ -38,6 +38,18 @@
     @Excel(name = "鎶ュ簾鏁伴噺")
     private BigDecimal scrapQty = BigDecimal.ZERO;
 
+    /**
+     * 琛ヤ骇鏁伴噺
+     */
+    @Excel(name = "琛ヤ骇鏁伴噺")
+    private BigDecimal replenishQty;
+
+    /**
+     * 鍔犳斁鏁�
+     */
+    @Excel(name = "鍔犳斁鏁�")
+    private BigDecimal addQty;
+
     //浜у搧鍚嶇О
     @Excel(name = "浜у搧鍚嶇О")
     private String productName;
@@ -74,10 +86,9 @@
 
     private List<Team> teamList;
 
-    /**
-     * 琛ヤ骇鏁伴噺
-     */
-    private BigDecimal replenishQty;
+
+
+
 
     @Data
     @AllArgsConstructor
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java b/src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java
index e63ecfc..f05cdad 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java
@@ -47,4 +47,10 @@
     @TableField(value = "replenish_qty")
     private BigDecimal replenishQty;
 
+    /**
+     * 鍔犳斁鏁�
+     */
+    @TableField(value = "add_qty")
+    private BigDecimal addQty;
+
 }
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 7de2682..96e4a2e 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -200,6 +200,7 @@
         productionProductOutput.setQuantity(dto.getQuantity() != null ? dto.getQuantity() : BigDecimal.ZERO);
         productionProductOutput.setScrapQty(dto.getScrapQty() != null ? dto.getScrapQty() : BigDecimal.ZERO);
         productionProductOutput.setReplenishQty(dto.getReplenishQty());
+        productionProductOutput.setAddQty(dto.getAddQty() != null ? dto.getAddQty() : BigDecimal.ZERO);
         productionProductOutputMapper.insert(productionProductOutput);
         //鍚堟牸鏁伴噺=鎶ュ伐鏁伴噺-鎶ュ簾鏁伴噺
         BigDecimal productQty = productionProductOutput.getQuantity().subtract(productionProductOutput.getScrapQty());
@@ -211,7 +212,7 @@
             if (ObjectUtils.isNull(productWorkOrder.getActualStartTime())) {
                 productWorkOrder.setActualStartTime(LocalDate.now());//瀹為檯寮�濮嬫椂闂�
             }
-            if (productWorkOrder.getCompleteQuantity().compareTo(productWorkOrder.getPlanQuantity()) == 0) {
+            if (productWorkOrder.getCompleteQuantity().compareTo(productWorkOrder.getPlanQuantity()) >= 0) {
                 productWorkOrder.setActualEndTime(LocalDate.now());//瀹為檯缁撴潫鏃堕棿
             }
             productWorkOrder.setEndProductTime(now);
@@ -224,7 +225,7 @@
             if (productProcessRouteItem.getDragSort() == productProcessRouteItems.size()) {
                 //濡傛灉鏄渶鍚庝竴閬撳伐搴忔姤宸ヤ箣鍚庣敓浜ц鍗曞畬鎴愭暟閲�+
                 productOrder.setCompleteQuantity(productOrder.getCompleteQuantity().add(productQty));
-                if (productOrder.getCompleteQuantity().compareTo(productOrder.getQuantity()) == 0) {
+                if (productOrder.getCompleteQuantity().compareTo(productOrder.getQuantity()) >= 0) {
                     productOrder.setEndTime(now);//缁撴潫鏃堕棿
                 }
             }
diff --git a/src/main/java/com/ruoyi/project/system/domain/SysUser.java b/src/main/java/com/ruoyi/project/system/domain/SysUser.java
index ac7f535..0178de7 100644
--- a/src/main/java/com/ruoyi/project/system/domain/SysUser.java
+++ b/src/main/java/com/ruoyi/project/system/domain/SysUser.java
@@ -84,6 +84,10 @@
     @TableField(exist = false)
     private Long[] roleIds;
 
+    /** 瑙掕壊ID瀛楃涓诧紙鐢ㄤ簬SQL鎷兼帴鎺ユ敹锛� */
+    @TableField(exist = false)
+    private String roleIdsStr;
+
     /** 宀椾綅缁� */
     @TableField(exist = false)
     private Long[] postIds;
@@ -382,4 +386,12 @@
             .append("remark", getRemark())
             .toString();
     }
+
+    public String getRoleIdsStr() {
+        return roleIdsStr;
+    }
+
+    public void setRoleIdsStr(String roleIdsStr) {
+        this.roleIdsStr = roleIdsStr;
+    }
 }
diff --git a/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java b/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java
index 7773825..062c117 100644
--- a/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java
+++ b/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java
@@ -75,7 +75,19 @@
     @DataScope(deptAlias = "d", userAlias = "u")
     public List<SysUser> selectUserList(SysUser user)
     {
-        return userMapper.selectUserList(user);
+        List<SysUser> userList = userMapper.selectUserList(user);
+        // 灏嗚鑹睮D瀛楃涓茶浆鎹负鏁扮粍
+        userList.forEach(u -> {
+            if (u.getRoleIdsStr() != null && !u.getRoleIdsStr().isEmpty()) {
+                String[] strIds = u.getRoleIdsStr().split(",");
+                Long[] roleIds = new Long[strIds.length];
+                for (int i = 0; i < strIds.length; i++) {
+                    roleIds[i] = Long.parseLong(strIds[i]);
+                }
+                u.setRoleIds(roleIds);
+            }
+        });
+        return userList;
     }
 
     /**
@@ -558,7 +570,18 @@
      */
     @Override
     public List<SysUser> userListNoPage(SysUser user) {
-        return userMapper.selectUserList(user);
+        List<SysUser> userList = userMapper.selectUserList(user);
+        userList.forEach(u -> {
+            if (u.getRoleIdsStr() != null && !u.getRoleIdsStr().isEmpty()) {
+                String[] strIds = u.getRoleIdsStr().split(",");
+                Long[] roleIds = new Long[strIds.length];
+                for (int i = 0; i < strIds.length; i++) {
+                    roleIds[i] = Long.parseLong(strIds[i]);
+                }
+                u.setRoleIds(roleIds);
+            }
+        });
+        return userList;
     }
 
     /**
diff --git a/src/main/resources/mapper/device/DeviceRepairMapper.xml b/src/main/resources/mapper/device/DeviceRepairMapper.xml
index d093980..de750a8 100644
--- a/src/main/resources/mapper/device/DeviceRepairMapper.xml
+++ b/src/main/resources/mapper/device/DeviceRepairMapper.xml
@@ -11,6 +11,7 @@
                 dr.repair_time,
                 dr.repair_name,
                 dr.remark,
+                dr.repair_project,
                 dr.maintenance_name,
                 dr.maintenance_time,
                 dr.maintenance_result,
@@ -38,6 +39,9 @@
             <if test="deviceRepairDto.remark != null">
                 and dr.remark like concat('%',#{deviceRepairDto.remark},'%')
             </if>
+            <if test="deviceRepairDto.repairProject != null">
+                and dr.repair_project like concat('%',#{deviceRepairDto.repairProject},'%')
+            </if>
             <if test="deviceRepairDto.maintenanceName != null">
                 and dr.maintenance_name like concat('%',#{deviceRepairDto.maintenanceName},'%')
             </if>
@@ -56,6 +60,7 @@
                dr.repair_time,
                dr.repair_name,
                dr.remark,
+               dr.repair_project,
                dr.maintenance_name,
                dr.maintenance_time,
                dr.maintenance_result,
diff --git a/src/main/resources/mapper/production/ProductWorkOrderMapper.xml b/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
index 1823cee..6ed0d27 100644
--- a/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
@@ -39,7 +39,7 @@
                 END AS work_order_type,
             pp.device_name,
             pp.user_ids as process_user_ids,
-            t7.model as final_product_model
+            t8.product_name as final_product_model
         FROM
             product_work_order pwo
                 LEFT JOIN product_process_route_item ppri ON ppri.id = pwo.product_process_route_item_id
@@ -48,6 +48,7 @@
                 LEFT JOIN product_model pm ON pm.id = ppri.product_model_id
                 LEFT JOIN product p ON p.id = pm.product_id
                 left join product_model t7 on t7.id = po.product_model_id
+                left join product as t8 on t7.product_id = t8.id
         <where>
             <if test="c.workOrderNo != null and c.workOrderNo != ''">
                 pwo.work_order_no like concat('%', #{c.workOrderNo}, '%')
diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
index 842b872..21ad83c 100644
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -22,6 +22,7 @@
         pm.model as productModelName,
         ppo.quantity,
         ppo.scrap_qty,
+        ppo.add_qty,
         pm.unit,
         sl.sales_contract_no salesContractNo
         from
@@ -83,7 +84,10 @@
         IFNULL(
         TIMESTAMPDIFF(MINUTE, ppm.start_time, ppm.end_time),
         0
-        ) AS work_minutes
+        ) AS work_minutes,
+        ppo.add_qty,
+        ppo.scrap_qty,
+        ppo.replenish_qty
         FROM
         production_product_main ppm
         LEFT JOIN sales_ledger_production_accounting slpa ON slpa.product_main_id = ppm.id
diff --git a/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml b/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
index 87f3a21..556f6f0 100644
--- a/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
+++ b/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
@@ -22,7 +22,7 @@
         FROM
         sales_ledger_production_accounting t4
         LEFT JOIN sales_ledger T1 ON T1.id = t4.sales_ledger_id
-        left join sales_ledger_product t3 on t4.sales_ledger_product_id = t3.id and slp.type = 1
+        left join sales_ledger_product t3 on t4.sales_ledger_product_id = t3.id and t3.type = 1
         <where>
             t3.type = 1
             <if test="salesLedgerDto.schedulingUserName != null and salesLedgerDto.schedulingUserName != '' ">
diff --git a/src/main/resources/mapper/system/SysUserMapper.xml b/src/main/resources/mapper/system/SysUserMapper.xml
index e4f818a..9d799bf 100644
--- a/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/src/main/resources/mapper/system/SysUserMapper.xml
@@ -24,6 +24,7 @@
         <result property="remark"       column="remark"       />
 		<result property="deptNames"       column="dept_names"       />
 		<result property="tenantId"       column="tenant_id"       />
+		<result property="roleIdsStr"    column="role_ids_str"    />
         <association property="dept"    javaType="com.ruoyi.project.system.domain.SysDept"         resultMap="deptResult" />
         <collection  property="roles"   javaType="java.util.List"  resultMap="RoleResult" />
     </resultMap>
@@ -56,7 +57,7 @@
     </sql>
 
     <select id="selectUserList" parameterType="com.ruoyi.project.system.domain.SysUser" resultMap="SysUserResult">
-		select u.user_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,T2.dept_names from sys_user u
+		select u.user_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.tenant_id, T2.dept_names, T3.role_ids_str from sys_user u
 		left join
 		(	SELECT T1.user_id,GROUP_CONCAT(T2.dept_name SEPARATOR ', ') AS dept_names
 			FROM
@@ -69,6 +70,11 @@
 		</where>
 			GROUP BY T1.user_id
 		) T2 on T2.user_id = u.user_id
+		left join
+		(	SELECT ur.user_id, GROUP_CONCAT(ur.role_id) AS role_ids_str
+			FROM sys_user_role ur
+			GROUP BY ur.user_id
+		) T3 on T3.user_id = u.user_id
 		where u.del_flag = '0'
 		<if test="userId != null and userId != 0">
 			AND u.user_id = #{userId}

--
Gitblit v1.9.3