From 1c518e10a50050d383e714b581c94dea58ec4d67 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 22 五月 2026 18:01:34 +0800
Subject: [PATCH] fix(approve): 修复审批实例查询条件及流程控制问题
---
src/main/resources/mapper/staff/StaffOnJobMapper.xml | 91 ++++++++++++++++++++++++++++++++++++---------
1 files changed, 72 insertions(+), 19 deletions(-)
diff --git a/src/main/resources/mapper/staff/StaffOnJobMapper.xml b/src/main/resources/mapper/staff/StaffOnJobMapper.xml
index a256ff8..2cbd1dc 100644
--- a/src/main/resources/mapper/staff/StaffOnJobMapper.xml
+++ b/src/main/resources/mapper/staff/StaffOnJobMapper.xml
@@ -3,29 +3,82 @@
<mapper namespace="com.ruoyi.staff.mapper.StaffOnJobMapper">
<select id="staffOnJobListPage" resultType="com.ruoyi.staff.dto.StaffOnJobDto">
SELECT
- 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
+ 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
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 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 >= 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>
+ 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}
+ </if>
</select>
<select id="staffOnJobList" resultType="com.ruoyi.staff.dto.StaffOnJobDto">
SELECT
--
Gitblit v1.9.3