Commit 6063f48a by yubin

修改上角标

parent 5ae2d1ad
......@@ -9,6 +9,7 @@ import com.scpyun.platform.jilinsscgsdp.utils.DataScopeUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -50,7 +51,19 @@ public class KeyDmUserServiceImpl {
if (map == null || map.get("id") == null) {
throw new CustomException("参数缺失");
}
// 如果已存在则更新,否则插入(插入时 id 使用 sys_user.id)
// 1. 先安全获取map中的值,避免直接调用toString()导致空指针
Object isLeaveObj = map.get("is_leave");
Object leaveTimeObj = map.get("leave_time");
// 2. 安全转换为字符串,处理null情况
String isLeave = (isLeaveObj != null) ? isLeaveObj.toString() : null;
String leaveTime = (leaveTimeObj != null) ? leaveTimeObj.toString() : null;
// 3. 优化if判断:先判断isLeave是否为null,再调用equals;修正leaveTime的判断逻辑
// 若要判断leaveTime是否为"null"字符串或实际null,可补充判断
if (("1".equals(isLeave)) || (leaveTime == null || "".equals(leaveTime) || "null".equals(leaveTime))) {
map.put("leave_time", LocalDateTime.now());
}
Map<String, Object> exists = commonService.getObject(namespace + "getById", map);
if (exists == null) {
if (commonService.insert(namespace + "insert", map) != 1) {
......
......@@ -129,6 +129,32 @@
</where>
ORDER BY a.submit_time DESC
</select>
<!-- 待审核数量统计(用于快速获取 totalRecord 或计数) -->
<select id="selectPendingCount" parameterType="map" resultType="int">
SELECT COUNT(DISTINCT a.id) AS cnt
FROM jl_key_dm_leave_application a
LEFT JOIN jl_key_dm_leave_approval_record r ON r.leave_id = a.id
<where>
AND a.is_used = 1
AND r.status = 1
<!-- 支持 page.params._user.id 或直接传入 _user.id 两种情况 -->
<if test="params != null and params._user != null and params._user.id != null and params._user.id != ''">
AND r.approver_id = #{params._user.id}
</if>
<if test="_user != null and _user.id != null and _user.id != ''">
AND r.approver_id = #{_user.id}
</if>
<!-- 支持按起止时间区间查询 -->
<if test="params != null and params.params != null and params.params.start_time != null and params.params.end_time != null">
AND a.start_time &lt; #{params.params.end_time}
AND a.end_time &gt;= #{params.params.start_time}
</if>
<if test="params != null and params.params != null and params.params.status != null and params.params.status != ''">
AND a.status = #{params.params.status}
</if>
</where>
</select>
<select id="selectTransferApprovalList" parameterType="page" resultType="map">
SELECT
......
......@@ -18,6 +18,7 @@
u.mobile,
u.birthday,
u.in_work_time,
u.leave_time,
u.leader,
u.leader_name,
u.is_used,
......@@ -51,11 +52,12 @@
u.email,
u.phone,
u.mobile,
u.birthday,
u.in_work_time,
u.leader,
u.leader_name,
u.is_used,
u.birthday,
u.in_work_time,
u.leave_time,
u.leader,
u.leader_name,
u.is_used,
u.create_by,
u.create_time,
u.update_by,
......@@ -130,25 +132,26 @@
<insert id="insert" parameterType="map">
INSERT INTO jl_key_dm_user(
id, is_ext, is_leave, rc_role_id, office_id, name, gh, email, phone, mobile,
birthday, in_work_time, leader, leader_name, is_used, create_by, create_time, order_no
birthday, in_work_time, leave_time, leader, leader_name, is_used, create_by, create_time, order_no
) VALUES (
#{id},
#{is_ext},
#{is_leave},
#{rc_role_id},
#{office_id},
#{name},
#{gh},
#{email},
#{phone},
#{mobile},
#{birthday},
#{in_work_time},
#{leader},
#{leader_name},
COALESCE(#{is_used},1),
#{_user.id},
NOW(),
#{is_ext},
#{is_leave},
#{rc_role_id},
#{office_id},
#{name},
#{gh},
#{email},
#{phone},
#{mobile},
#{birthday},
#{in_work_time},
#{leave_time},
#{leader},
#{leader_name},
COALESCE(#{is_used},1),
#{_user.id},
NOW(),
#{order_no}
)
</insert>
......@@ -167,6 +170,7 @@
<if test="in_work_time != null">in_work_time = #{in_work_time},</if>
<if test="leader != null">leader = #{leader},</if>
<if test="leader_name != null">leader_name = #{leader_name},</if>
<if test="leave_time != null">leave_time = #{leave_time},</if>
update_by = #{_user.id},
update_time = NOW()
</set>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论