From f13285d0a045936d006031c697dfeda6f455d42f Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期六, 09 五月 2026 17:39:11 +0800
Subject: [PATCH] fix:1.合同续签续签后出现两条信息
---
src/main/resources/mapper/staff/StaffOnJobMapper.xml | 50 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 42 insertions(+), 8 deletions(-)
diff --git a/src/main/resources/mapper/staff/StaffOnJobMapper.xml b/src/main/resources/mapper/staff/StaffOnJobMapper.xml
index a43bb37..a256ff8 100644
--- a/src/main/resources/mapper/staff/StaffOnJobMapper.xml
+++ b/src/main/resources/mapper/staff/StaffOnJobMapper.xml
@@ -5,15 +5,16 @@
SELECT
staff_on_job.*,
sp.post_name as postName,
- sd.dept_name as deptName
+ sd.dept_name as deptName,
+ MIN(t1.contract_start_time) as contract_start_time, -- 鍙栨渶鏃╁悎鍚屽紑濮嬫椂闂�
+ MAX(t1.contract_end_time) as contract_end_time
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
+ 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
+ LEFT JOIN staff_contract as t1 ON t1.staff_on_job_id = staff_on_job.id
+ WHERE 1=1
<if test="staffOnJob.staffState != null">
- AND staff_state = #{staffOnJob.staffState}
+ AND staff_state = #{staffOnJob.staffState}
</if>
<if test="staffOnJob.staffName != null and staffOnJob.staffName != '' ">
AND staff_name LIKE CONCAT('%',#{staffOnJob.staffName},'%')
@@ -22,8 +23,9 @@
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')
+ AND contract_expire_time <= DATE_FORMAT(#{staffOnJob.entryDateEnd},'%Y-%m-%d')
</if>
+ GROUP BY staff_on_job.id
</select>
<select id="staffOnJobList" resultType="com.ruoyi.staff.dto.StaffOnJobDto">
SELECT
@@ -43,4 +45,36 @@
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