From 47806d9e390ee00e1d29ad1da8c1aa908882a758 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期二, 11 八月 2026 14:43:59 +0800
Subject: [PATCH] 用河南鹤壁代码覆盖山西长治
---
src/main/resources/mapper/staff/StaffOnJobMapper.xml | 108 +++++++++++++-----------------------------------------
1 files changed, 26 insertions(+), 82 deletions(-)
diff --git a/src/main/resources/mapper/staff/StaffOnJobMapper.xml b/src/main/resources/mapper/staff/StaffOnJobMapper.xml
index 90825e3..a256ff8 100644
--- a/src/main/resources/mapper/staff/StaffOnJobMapper.xml
+++ b/src/main/resources/mapper/staff/StaffOnJobMapper.xml
@@ -3,83 +3,29 @@
<mapper namespace="com.ruoyi.staff.mapper.StaffOnJobMapper">
<select id="staffOnJobListPage" resultType="com.ruoyi.staff.dto.StaffOnJobDto">
SELECT
- staff_on_job.id,
- staff_on_job.staff_state,
- staff_on_job.staff_no,
- staff_on_job.staff_name,
- staff_on_job.sex,
- staff_on_job.native_place,
- staff_on_job.sys_post_id,
- staff_on_job.sys_dept_id,
- staff_on_job.role_id,
- staff_on_job.adress,
- staff_on_job.first_study,
- staff_on_job.profession,
- staff_on_job.identity_card,
- staff_on_job.age,
- staff_on_job.phone,
- staff_on_job.contract_term,
- staff_on_job.contract_expire_time,
- staff_on_job.trial_end_date,
- staff_on_job.trial_start_date,
- staff_on_job.sign_date,
- staff_on_job.salary_select,
- staff_on_job.pro_salary,
- staff_on_job.date_select,
- staff_on_job.remark,
- staff_on_job.create_time,
- staff_on_job.create_user,
- staff_on_job.update_time,
- staff_on_job.update_user,
- staff_on_job.tenant_id,
- staff_on_job.alias,
- staff_on_job.birth_date,
- staff_on_job.nation,
- staff_on_job.marital_status,
- staff_on_job.pro_term,
- staff_on_job.positive_date,
- staff_on_job.basic_salary,
- staff_on_job.dept_id,
- sp.post_name AS post_name,
- sd.dept_name AS dept_name,
- MIN(t1.contract_start_time) AS contract_start_time,
- MAX(t1.contract_end_time) AS contract_end_time,
- (
- SELECT GROUP_CONCAT(sec.contact_name SEPARATOR ',')
- FROM staff_emergency_contact sec
- WHERE sec.staff_on_job_id = staff_on_job.id
- ) AS emergency_contact,
- (
- SELECT GROUP_CONCAT(sec.contact_phone SEPARATOR ',')
- FROM staff_emergency_contact sec
- WHERE sec.staff_on_job_id = staff_on_job.id
- ) AS emergency_contact_phone
+ staff_on_job.*,
+ sp.post_name as postName,
+ 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
- LEFT JOIN staff_contract AS t1 ON t1.staff_on_job_id = staff_on_job.id
- <where>
- <if test="staffOnJob.staffState != null">
- AND staff_on_job.staff_state = #{staffOnJob.staffState}
- </if>
- <if test="staffOnJob.staffName != null and staffOnJob.staffName != '' ">
- AND staff_on_job.staff_name LIKE CONCAT('%',#{staffOnJob.staffName},'%')
- </if>
- <if test="staffOnJob.entryDateStart != null and staffOnJob.entryDateStart != '' ">
- AND staff_on_job.contract_expire_time >= DATE_FORMAT(#{staffOnJob.entryDateStart},'%Y-%m-%d')
- </if>
- <if test="staffOnJob.entryDateEnd != null and staffOnJob.entryDateEnd != '' ">
- AND staff_on_job.contract_expire_time <= DATE_FORMAT(#{staffOnJob.entryDateEnd},'%Y-%m-%d')
- </if>
- <if test="staffOnJob.sysDeptId != null">
- AND staff_on_job.sys_dept_id = #{staffOnJob.sysDeptId}
- </if>
- </where>
- GROUP BY staff_on_job.id
- <if test="staffOnJob.contractStartTime != null">
- HAVING MIN(t1.contract_start_time) = #{staffOnJob.contractStartTime}
+ 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}
</if>
- order by staff_on_job.create_time desc
+ <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>
+ GROUP BY staff_on_job.id
</select>
<select id="staffOnJobList" resultType="com.ruoyi.staff.dto.StaffOnJobDto">
SELECT
@@ -91,15 +37,13 @@
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>
- <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>
- </where>
- order by staff_on_job.create_time desc
+ 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">
--
Gitblit v1.9.3