From f4c288c55d08c04cd026508b358beebfcdce5fc2 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 22 五月 2026 09:29:09 +0800
Subject: [PATCH] feat(product): 添加产品型号向下复制功能并优化生产报工重量计算 - 在ProductController中新增downCopy接口实现产品型号批量复制功能 - 将ProductionProductMainDto中的bomInputQty字段重命名为inputWeight - 在ProductionProductMainServiceImpl中添加JSON解析逻辑支持从otherData中提取投入重量 - 新增resolveInputWeight、findParameterValue、findFieldValue等工具方法处理复杂参数解析 - 为ProductModelDto添加targetProductId字段用于指定复制目标 - 修复销售台账按调度员ID和姓名分组的SQL查询问题 - 优化库存服务中剩余数量计算的空值处理逻辑 - 完善生产投料数量为空时的默认值处理机制

---
 src/main/resources/mapper/device/DeviceMaintenanceMapper.xml |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 53 insertions(+), 7 deletions(-)

diff --git a/src/main/resources/mapper/device/DeviceMaintenanceMapper.xml b/src/main/resources/mapper/device/DeviceMaintenanceMapper.xml
index 2529b0a..a8cdf98 100644
--- a/src/main/resources/mapper/device/DeviceMaintenanceMapper.xml
+++ b/src/main/resources/mapper/device/DeviceMaintenanceMapper.xml
@@ -6,31 +6,77 @@
 <mapper namespace="com.ruoyi.device.mapper.DeviceMaintenanceMapper">
 
     <select id="queryPage" resultType="com.ruoyi.device.dto.DeviceMaintenanceDto">
-        select dm.*,
-               dl.device_name,
-               dl.device_model,
-        su.user_name as create_user_name
+        select dm.id,
+        dm.device_ledger_id,
+        dm.maintenance_plan_time,
+        dm.maintenance_actually_time,
+        dm.maintenance_result,
+        dm.status,
+        dm.create_time,
+        dm.update_time,
+        dm.create_user,
+        dm.update_user,
+        dm.tenant_id,
+        dm.maintenance_actually_name,
+        dm.remark,
+        dl.device_name,
+        dl.device_model,
+        su.nick_name as create_user_name
         from device_maintenance dm
         left join device_ledger dl on dm.device_ledger_id = dl.id
         left join sys_user su on dm.create_user = su.user_id
         <where>
+            1 = 1
             <if test="deviceMaintenanceDto.deviceName != null">
                 and dl.device_name like concat('%',#{deviceMaintenanceDto.deviceName},'%')
             </if>
             <if test="deviceMaintenanceDto.deviceModel != null">
                 and dl.device_model like concat('%',#{deviceMaintenanceDto.deviceModel},'%')
             </if>
+            <if test="deviceMaintenanceDto.status != null">
+                and dm.status = #{deviceMaintenanceDto.status}
+            </if>
+            <if test="deviceMaintenanceDto.maintenanceActuallyName != null">
+                and dm.maintenance_actually_name like concat('%',#{deviceMaintenanceDto.maintenanceActuallyName},'%')
+            </if>
+            <if test="deviceMaintenanceDto.maintenancePlanTime != null">
+                and dm.maintenance_plan_time like concat('%',#{deviceMaintenanceDto.maintenancePlanTime},'%')
+            </if>
+            <if test="deviceMaintenanceDto.maintenanceActuallyTime != null">
+                and dm.maintenance_actually_time like concat('%',#{deviceMaintenanceDto.maintenanceActuallyTime},'%')
+            </if>
+            <if test="deviceMaintenanceDto.maintenanceActuallyTime != null">
+                and dm.maintenance_actually_time >= str_to_date(#{deviceMaintenanceDto.maintenanceActuallyTime}, '%Y-%m-%d')
+                and dm.maintenance_actually_time &lt; date_add(str_to_date(#{deviceMaintenanceDto.maintenanceActuallyTime}, '%Y-%m-%d'), interval 1 day)
+            </if>
         </where>
     </select>
     <select id="detailById" resultType="com.ruoyi.device.dto.DeviceMaintenanceDto">
-        select dm.*,
+        select dm.id,
+               dm.device_ledger_id,
+               dm.maintenance_plan_time,
+               dm.maintenance_actually_time,
+               dm.maintenance_result,
+               dm.status,
+               dm.create_time,
+               dm.update_time,
+               dm.create_user,
+               dm.update_user,
+               dm.tenant_id,
+               dm.maintenance_actually_name,
+               dm.remark,
                dl.device_name,
                dl.device_model,
                su.user_name as create_user_name
         from device_maintenance dm
-        left join device_ledger dl on dm.device_ledger_id = dl.id
-        left join sys_user su on dm.create_user = su.user_id
+                 left join device_ledger dl on dm.device_ledger_id = dl.id
+                 left join sys_user su on dm.create_user = su.user_id
         where dm.id = #{id}
     </select>
+    <select id="list1" resultType="com.ruoyi.device.pojo.DeviceMaintenance">
+        select *
+        from device_maintenance
+        where device_ledger_id = #{id}
+    </select>
 
 </mapper>

--
Gitblit v1.9.3