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/staff/StaffOnJobMapper.xml | 80 ++++++++++++++++++++++++++++++++-------
1 files changed, 65 insertions(+), 15 deletions(-)
diff --git a/src/main/resources/mapper/staff/StaffOnJobMapper.xml b/src/main/resources/mapper/staff/StaffOnJobMapper.xml
index 37811f4..fe35886 100644
--- a/src/main/resources/mapper/staff/StaffOnJobMapper.xml
+++ b/src/main/resources/mapper/staff/StaffOnJobMapper.xml
@@ -1,28 +1,78 @@
<?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.staff.mapper.StaffOnJobMapper">
- <select id="staffOnJobListPage" resultType="com.ruoyi.staff.pojo.StaffOnJob">
+ <select id="staffOnJobListPage" resultType="com.ruoyi.staff.dto.StaffOnJobDto">
SELECT
- *
+ staff_on_job.*,
+ sp.post_name as postName,
+ sd.dept_name as deptName
FROM staff_on_job
+ LEFT JOIN
+ sys_post sp ON sp.post_id = staff_on_job.sys_post_id
+ LEFT JOIN
+ sys_dept sd ON sd.dept_id = staff_on_job.sys_dept_id
where 1=1
- <if test="staffOnJob.staffState != null and staffOnJob.staffState != '' ">
- AND staff_state = #{staffOnJob.staffState}
- </if>
- <if test="staffOnJob.staffName != null and staffOnJob.staffName != '' ">
- AND staff_name LIKE CONCAT('%',#{staffOnJob.staffName},'%')
- </if>
- </select>
- <select id="staffOnJobList" resultType="com.ruoyi.staff.pojo.StaffOnJob">
- SELECT
- *
- FROM staff_on_job
- where 1=1
- <if test="staffOnJob.staffState != null and staffOnJob.staffState != '' ">
+ <if test="staffOnJob.staffState != null">
AND staff_state = #{staffOnJob.staffState}
</if>
<if test="staffOnJob.staffName != null and staffOnJob.staffName != '' ">
AND staff_name LIKE CONCAT('%',#{staffOnJob.staffName},'%')
</if>
+ <if test="staffOnJob.entryDateStart != null and staffOnJob.entryDateStart != '' ">
+ AND contract_expire_time >= DATE_FORMAT(#{staffOnJob.entryDateStart},'%Y-%m-%d')
+ </if>
+ <if test="staffOnJob.entryDateEnd != null and staffOnJob.entryDateEnd != '' ">
+ AND contract_expire_time <= DATE_FORMAT(#{staffOnJob.entryDateEnd},'%Y-%m-%d')
+ </if>
+ </select>
+ <select id="staffOnJobList" resultType="com.ruoyi.staff.dto.StaffOnJobDto">
+ SELECT
+ staff_on_job.*,
+ sp.post_name as postName,
+ sd.dept_name as deptName
+ FROM staff_on_job
+ LEFT JOIN
+ sys_post sp ON sp.post_id = staff_on_job.sys_post_id
+ LEFT JOIN
+ sys_dept sd ON sd.dept_id = staff_on_job.sys_dept_id
+ where 1=1
+ <if test="staffOnJob.staffState != null">
+ AND staff_state = #{staffOnJob.staffState}
+ </if>
+ <if test="staffOnJob.staffName != null and staffOnJob.staffName != '' ">
+ AND staff_name LIKE CONCAT('%',#{staffOnJob.staffName},'%')
+ </if>
+ </select>
+ <!-- 缁熻鎸囧畾鏃ユ湡鐨勫湪鑱屽憳宸ユ暟 -->
+ <select id="countOnJobStaffByDate" resultType="java.lang.Integer">
+ SELECT COUNT(*)
+ FROM staff_on_job
+ WHERE staff_state = 1
+ AND DATE_FORMAT(create_time, '%Y-%m-%d') <= #{date}
+ </select>
+
+ <!-- 缁熻鎸囧畾鏈堜唤鐨勬柊鍏ヨ亴鍛樺伐鏁� -->
+ <select id="countNewHireByMonth" resultType="java.lang.Integer">
+ SELECT COUNT(*)
+ FROM staff_on_job
+ WHERE staff_state = 1
+ AND DATE_FORMAT(create_time, '%Y-%m-%d') BETWEEN #{monthStart} AND #{monthEnd}
+ </select>
+
+ <select id="selectStaffByNickName" resultType="com.ruoyi.staff.pojo.StaffOnJob" parameterType="java.lang.String">
+ SELECT
+ id
+ nick_name AS staffName
+ FROM staff_on_job
+ WHERE del_flag = '0'
+ <choose>
+ <when test="staffName != null and staffName != ''">
+ AND nick_name = #{staffName}
+ </when>
+ <otherwise>
+ AND 1 = 0
+ </otherwise>
+ </choose>
+ LIMIT 1
</select>
</mapper>
--
Gitblit v1.9.3