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 |   91 +++++++++------------------------------------
 1 files changed, 19 insertions(+), 72 deletions(-)

diff --git a/src/main/resources/mapper/staff/StaffOnJobMapper.xml b/src/main/resources/mapper/staff/StaffOnJobMapper.xml
index 2cbd1dc..a256ff8 100644
--- a/src/main/resources/mapper/staff/StaffOnJobMapper.xml
+++ b/src/main/resources/mapper/staff/StaffOnJobMapper.xml
@@ -3,82 +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 &gt;= DATE_FORMAT(#{staffOnJob.entryDateStart},'%Y-%m-%d')
-            </if>
-            <if test="staffOnJob.entryDateEnd != null and staffOnJob.entryDateEnd != '' ">
-                AND staff_on_job.contract_expire_time &lt;= 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>
+        <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 &gt;= DATE_FORMAT(#{staffOnJob.entryDateStart},'%Y-%m-%d')
+        </if>
+        <if test="staffOnJob.entryDateEnd != null and staffOnJob.entryDateEnd != '' ">
+            AND contract_expire_time &lt;= 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

--
Gitblit v1.9.3