From aec4bd2f4bdf73395e8b509ae535d4d536327602 Mon Sep 17 00:00:00 2001 From: lSun <15893999301@qq.com> Date: Thu, 27 Feb 2025 15:15:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=B7=E5=81=87=EF=BC=8C=E5=A4=96=E5=87=BA?= =?UTF-8?q?=EF=BC=8C=E8=BD=AE=E4=BC=91=EF=BC=8C=E4=BC=91=E5=81=87=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E4=B8=8D=E8=83=BD=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lSun <15893999301@qq.com> --- .../service/LeaveReportingServiceImpl.java | 39 +++- .../mapper/holiday/HolidayMapper.xml | 166 +++++++++--------- 2 files changed, 113 insertions(+), 92 deletions(-) diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/leaveReporting/service/LeaveReportingServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/leaveReporting/service/LeaveReportingServiceImpl.java index 4312fcb..ffa71c0 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/leaveReporting/service/LeaveReportingServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/leaveReporting/service/LeaveReportingServiceImpl.java @@ -12,9 +12,11 @@ import com.bonus.common.security.utils.SecurityUtils; import com.bonus.common.security.utils.ValidatorsUtils; import com.bonus.system.api.domain.MapVo; import com.bonus.system.api.domain.SysRole; +import com.bonus.system.api.domain.SysUser; import com.bonus.system.att.entity.Holiday; import com.bonus.system.basic.domain.SysNotice; import com.bonus.system.basic.service.SysNoticeService; +import com.bonus.system.dept.dao.ProDeptRoleDao; import com.bonus.system.holiday.dao.WorkReportDao; import com.bonus.system.leaveReporting.dao.LeaveReportingDao; import com.bonus.system.leaveReporting.entity.LeaveReportingBean; @@ -51,6 +53,8 @@ public class LeaveReportingServiceImpl implements LeaveReportingService { @Resource(name = "LeaveReportingDao") private LeaveReportingDao leaveReportingDao; + @Resource(name = "ProDeptRoleDao") + private ProDeptRoleDao proDeptRoleDao; @Override @@ -95,14 +99,35 @@ public class LeaveReportingServiceImpl implements LeaveReportingService { public AjaxResult getUserList(Long id) { try { LeaveReportingBean bean = new LeaveReportingBean(); - //只能查自己部门的人 - List orgList = SecurityUtils.getLoginUser().getSysUser().getOrgList(); - if(!orgList.isEmpty()){ - ArrayList ids = new ArrayList<>(); - for (MapVo mapVo : orgList) { - ids.add(String.valueOf(mapVo.getId())); + SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); + List roleId = sysUser.getRoleList(); + //管理员与人资角色可以看到所有 + if( roleId !=null && !roleId.isEmpty()){ + if (Collections.frequency(roleId, "1")==0 && Collections.frequency(roleId, "16")==0) { + if(Collections.frequency(roleId, "15")==0){ + List orgList = sysUser.getOrgList(); + if (!orgList.isEmpty()) { + ArrayList ids = new ArrayList<>(); + for (MapVo mapVo : orgList) { + String idT = proDeptRoleDao.getOrgChildById(mapVo.getId()); + // 使用 Arrays.asList() 将数组转换为 ArrayList + ArrayList idList = new ArrayList<>(Arrays.asList(idT.split(","))); + ids.addAll(idList); + } + bean.setOrgList(ids); + } + }else{ + //只能查自己部门的人 + List orgList = SecurityUtils.getLoginUser().getSysUser().getOrgList(); + if(!orgList.isEmpty()){ + ArrayList ids = new ArrayList<>(); + for (MapVo mapVo : orgList) { + ids.add(String.valueOf(mapVo.getId())); + } + bean.setOrgList(ids); + } + } } - bean.setOrgList(ids); } bean.setId(id); List list = leaveReportingDao.getUserList(bean); diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/holiday/HolidayMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/holiday/HolidayMapper.xml index d67da57..59d5c02 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/holiday/HolidayMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/holiday/HolidayMapper.xml @@ -5,25 +5,26 @@ INSERT INTO leave_apply(user_id,user_name,org_id,org_name,leave_type,leave_reason, - leave_start_date, - - leave_start_interval, - - leave_end_date, - - leave_end_interval, - - leave_duration,examine_status,source,create_user_id,is_agree, location, host_user_id, remark,type) + leave_start_date, + + leave_start_interval, + + leave_end_date, + + leave_end_interval, + + leave_duration,examine_status,source,create_user_id,is_agree, location, host_user_id, remark,type) VALUES(#{userId},#{userName},#{orgId},#{orgName},#{leaveType},#{leaveReason}, - #{leaveStartDate}, - - #{leaveStartInterval}, - - #{leaveEndDate}, - - #{leaveEndInterval}, - - #{leaveDuration},#{examineStatus},#{source},#{createUserId}, #{isAgree}, #{location}, #{hostUserId}, #{remark}, #{type}) + #{leaveStartDate}, + + #{leaveStartInterval}, + + #{leaveEndDate}, + + #{leaveEndInterval}, + + #{leaveDuration},#{examineStatus},#{source},#{createUserId}, #{isAgree}, #{location}, #{hostUserId}, #{remark}, + #{type}) UPDATE leave_apply @@ -58,14 +59,14 @@ update leave_apply - - examine_opinion = #{examineOpinion}, - examine_user_id = #{examineUserId}, - examine_time = #{examineTime}, - - - update_user_id = #{updateUserId}, - + + examine_opinion = #{examineOpinion}, + examine_user_id = #{examineUserId}, + examine_time = #{examineTime}, + + + update_user_id = #{updateUserId}, + examine_status = #{examineStatus} where id = #{id} @@ -91,10 +92,13 @@ - update leave_apply SET is_active = '0' WHERE id = #{id} + update leave_apply + SET is_active = '0' + WHERE id = #{id} - SELECT DISTINCT la.id, @@ -138,7 +142,7 @@ and (la.user_id = #{bean.userId} or la.create_user_id = #{bean.userId} ) - and la.user_id != #{bean.userIds} + and la.user_id != #{bean.userIds} @@ -160,83 +164,73 @@ -