Commit 4830f5a8 by yubin

请假

parent 23a63d0a
......@@ -232,5 +232,9 @@ public class KeyDmUserCategoryServiceImpl {
}
}
@ApiOperation(value = "获取人员权限配置列表", desc = "从字典获取权限并关联用户")
public List<Map<String, Object>> selectOrgPermission(Map<String, Object> map) {
if (map == null) map = new HashMap<>();
return commonService.findList(namespace + "selectOrgPermission", map);
}
}
......@@ -5,7 +5,15 @@
<select id="selectApprovalRecords" parameterType="map" resultType="map">
SELECT id,leave_id,node_index,node_type,approver_id,approver_name,approver_result,approver_time,status,comment,transfer_to_id,transfer_to_name,transfer_reason
FROM jl_key_dm_leave_approval_record
WHERE leave_id = #{id}
WHERE leave_id = #{leave_id} and
status != 0
ORDER BY approver_time ASC
</select>
<select id="selectById" parameterType="map" resultType="map">
SELECT id,leave_id,node_index,node_type,approver_id,approver_name,approver_result,approver_time,status,comment,transfer_to_id,transfer_to_name,transfer_reason
FROM jl_key_dm_leave_approval_record
WHERE id = #{id}
ORDER BY approver_time ASC
</select>
......@@ -13,51 +21,118 @@
INSERT INTO jl_key_dm_leave_approval_record(
id,leave_id,node_index,node_type,approver_id,approver_name,approver_result,approver_time,status,comment,transfer_to_id,transfer_to_name,transfer_reason,is_used,create_by,create_time,order_no
) VALUES (
#{id},#{leave_id},#{node_index},#{node_type},#{approver_id},#{approver_name},#{approver_result},#{approver_time},#{status},#{comment},#{transfer_to_id},#{transfer_to_name},#{transfer_reason},1,#{_user.id},NOW(),#{order_no}
#{id},#{leave_id},#{node_index},#{node_type},#{approver_id},#{approver_name},#{approver_result},NOW(),#{status},#{comment},#{transfer_to_id},#{transfer_to_name},#{transfer_reason},1,#{_user.id},NOW(),#{order_no}
)
</insert>
<select id="selectApprovalHistory" parameterType="page" resultType="map">
SELECT a.*, l.user_name, l.leave_type_name, l.start_time, l.end_time
FROM jl_key_dm_leave_approval_record a
LEFT JOIN jl_key_dm_leave_application l ON l.id = a.leave_id
SELECT a.*
FROM jl_key_dm_leave_application a
LEFT JOIN jl_key_dm_leave_approval_record r ON a.id = r.leave_id
<where>
AND a.is_used = 1
a.is_used = 1
AND (
(r.node_type = 1
<if test="params._user.id != null and params._user.id != ''">
AND r.approver_id = #{params._user.id}
</if>
)
OR
(r.node_type = 1 AND r.transfer_to_id = #{params._user.id})
)
<if test="params.approver_name != null and params.approver_name != ''">
AND a.approver_name LIKE CONCAT('%', #{params.approver_name}, '%')
</if>
<if test="params._user.id != null and params._user.id != ''">
AND a.approver_id = #{params._user.id}
<!-- 支持按起止时间区间查询(来自 params.params.start_time / params.params.end_time):返回与区间有交集的请假记录 -->
<if test="params.params != null and params.params.start_time != null and params.params.start_time != '' and params.params.end_time != null and params.params.end_time != ''">
AND a.start_time &lt; #{params.params.end_time}
AND a.end_time &gt;= #{params.params.start_time}
</if>
<!-- 支持按状态过滤(来自 params.params.status) -->
<if test="params.params != null and params.params.status != null and params.params.status != ''">
AND a.status = #{params.params.status}
</if>
</where>
ORDER BY a.approver_time DESC
ORDER BY FIELD(a.status, 1) DESC, a.submit_time DESC
</select>
<update id="submit" parameterType="map">
UPDATE jl_key_dm_leave_approval_record
SET status = 1,update_by = #{_user.id}, update_time = NOW()
WHERE leave_id = #{id}
WHERE id = #{id}
</update>
<!-- 撤回:仅限审核中状态撤回,设置 status=0 -->
<!-- 撤回:仅限待审批状态(status=1)撤回,设置 status=0 -->
<update id="revoke" parameterType="map">
UPDATE jl_key_dm_leave_approval_record
SET status = 0, update_by = #{_user.id}, update_time = NOW()
WHERE leave_id = #{id} AND status = 1
WHERE id = #{id} AND status = 1
</update>
<!-- 审批通过:设置 status=9, op_result=1, approval_complete_time -->
<update id="approve" parameterType="map">
UPDATE jl_key_dm_leave_approval_record
SET status = 2, approval_complete_time = NOW(), update_by = #{_user.id}, update_time = NOW(),approver_result = 1
WHERE leave_id = #{id}
SET status = 2, approver_time = NOW(), update_by = #{_user.id}, update_time = NOW(),approver_result = 1
WHERE id = #{id}
</update>
<!-- 驳回:设置 status=-1, op_result=-1, back_reason -->
<update id="reject" parameterType="map">
UPDATE jl_key_dm_leave_approval_record
SET status = 2, back_reason = #{comment}, approval_complete_time = NOW(), update_by = #{_user.id}, update_time = NOW(),approver_result = -1
WHERE leave_id = #{id}
SET status = 2, approver_time = NOW(), update_by = #{_user.id}, update_time = NOW(),approver_result = -1
WHERE id = #{id}
</update>
<update id="update" parameterType="map">
UPDATE jl_key_dm_leave_approval_record
SET
update_by = #{_user.id},
update_time = NOW()
<!-- 条件判断:approver_id 非空时才更新 -->
<if test="approver_id != null">
,approver_id = #{approver_id}
</if>
<!-- 条件判断:approver_name 非空时才更新 -->
<if test="approver_name != null">
,approver_name = #{approver_name}
</if>
<!-- 条件判断:status 非空时才更新 -->
<if test="status != null">
,status = #{status}
</if>
<!-- 条件判断:approver_result 非空时才更新 -->
<if test="approver_result != null">
,approver_result = #{approver_result}
</if>
<!-- 条件判断:comment 非空时才更新 -->
<if test="comment != null">
,comment = #{comment}
</if>
WHERE
id = #{id}
</update>
<update id="transferApproval" parameterType="map">
UPDATE jl_key_dm_leave_approval_record
SET
status = 2,
approver_result = 0,
update_by = #{_user.id},
update_time = NOW()
<!-- 条件判断:approver_id 非空时才更新 -->
<if test="approver_id != null and approver_id != ''">
,transfer_to_id = #{approver_id}
</if>
<!-- 条件判断:approver_name 非空时才更新 -->
<if test="approver_name != null and approver_name != ''">
,transfer_to_name = #{approver_name}
</if>
<!-- 条件判断:comment 非空时才更新 -->
<if test="comment != null and comment != ''">
,transfer_reason = #{comment}
</if>
WHERE
id = #{id}
</update>
</mapper>
......
......@@ -84,6 +84,14 @@
ORDER BY order_no ASC, create_time DESC
</select>
<select id="selectLeaveTypeById" parameterType="String" resultType="String">
SELECT
type_name
FROM jl_key_dm_leave_type
where id = #{id}
ORDER BY order_no ASC, create_time DESC
</select>
<select id="findLeaveTypeList" parameterType="map" resultType="map">
SELECT
id,
......@@ -459,6 +467,44 @@
update_time = NOW()
WHERE id = #{id}
</update>
<select id="selectOrgPermission" parameterType="map" resultType="map">
SELECT
u.id,
u.is_ext,
u.is_leave,
u.rc_role_id,
u.office_id,
u.name,
u.gh,
u.email,
u.phone,
u.mobile,
u.birthday,
u.in_work_time,
u.leader,
u.leader_name,
u.is_used,
u.create_by,
u.create_time,
u.update_by,
u.update_time,
u.order_no
FROM jl_key_dm_permission_user p
left join jl_key_dm_user u on p.user_id = u.id
<where>
AND is_used = 1
<if test="_user.company_id != null and _user.company_id != ''">
AND u.office_id = #{_user.company_id}
</if>
<if test="_user.id != null and _user.id != ''">
AND u.id != #{_user.id}
</if>
<if test="permissionType != null and permissionType != ''">
AND p.permission_code = #{permissionType}
</if>
</where>
ORDER BY order_no ASC, create_time DESC
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论