From e15efbe0bcb1b5e5ea21f0c937635746a3143321 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 29 六月 2026 10:08:12 +0800
Subject: [PATCH] 1.大屏接口增加空指针防护
---
src/main/resources/mapper/staff/PersonalShiftMapper.xml | 34 ++++++++++++++++++++++++++--------
1 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/src/main/resources/mapper/staff/PersonalShiftMapper.xml b/src/main/resources/mapper/staff/PersonalShiftMapper.xml
index d8ddb1d..9ece2d1 100644
--- a/src/main/resources/mapper/staff/PersonalShiftMapper.xml
+++ b/src/main/resources/mapper/staff/PersonalShiftMapper.xml
@@ -12,28 +12,28 @@
<result column="work_time" property="workTime" />
</resultMap>
<select id="performanceShiftPage" resultType="com.ruoyi.staff.dto.PerformanceShiftMapDto">
- SELECT
+ SELECT
u.staff_name name,
- GROUP_CONCAT(s.work_time, '锛�', IFNULL(palc.shift, ''), '锛�', s.id order by s.work_time SEPARATOR ';') AS shift_time,
- u.id user_id
+ GROUP_CONCAT(s.work_time, '锛�', IFNULL(palc.shift, ''), '锛�', s.id ORDER BY s.work_time SEPARATOR ';') AS shift_time,
+ u.id user_id
FROM personal_shift s
LEFT JOIN staff_on_job u ON u.id = s.staff_on_job_id
LEFT JOIN personal_attendance_location_config palc ON palc.id = s.personal_attendance_location_config_id
<where>
- <if test="sysDeptId != null and sysDeptId != ''">
+ <if test="sysDeptId != null and sysDeptId != ''">
and u.sys_dept_id = #{sysDeptId}
</if>
<if test="time != null and time != ''">
- and DATE_FORMAT(s.work_time, '%Y-%m') = DATE_FORMAT(#{time}, '%Y-%m' )
+ and DATE_FORMAT(s.work_time, '%Y-%m') = DATE_FORMAT(#{time}, '%Y-%m')
</if>
<if test="userName != null and userName != ''">
and u.staff_name like concat('%', #{userName}, '%')
</if>
</where>
- GROUP BY u.id
- order by s.create_time
+ GROUP BY u.id, u.staff_name
+ ORDER BY MAX(s.create_time) desc
</select>
-
+
<select id="performanceShiftYear" resultType="java.util.Map">
SELECT
u.staff_name name,
@@ -103,4 +103,22 @@
order by s.create_time
</select>
+ <!-- 鏌ヨ鍛樺伐鐨勮鍋囦俊鎭紙浠巃pproval_instance鐨刦orm_config瑙f瀽锛� -->
+ <!-- 鍏宠仈璺緞: staff_on_job.staff_no = sys_user.user_name, sys_user.user_id = approval_instance.applicant_id -->
+ <select id="selectStaffHolidayDates" resultType="java.util.Map">
+ SELECT
+ soj.id AS staff_id,
+ ai.form_config
+ FROM staff_on_job soj
+ INNER JOIN sys_user su ON su.user_name = soj.staff_no
+ INNER JOIN approval_instance ai ON ai.applicant_id = su.user_id
+ WHERE soj.id IN
+ <foreach collection="staffIds" item="staffId" open="(" separator="," close=")">
+ #{staffId}
+ </foreach>
+ AND ai.business_type IN (14, 19)
+ AND ai.status = 'APPROVED'
+ AND ai.deleted = 0
+ </select>
+
</mapper>
--
Gitblit v1.9.3