ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProblemEscalationController.java
@@ -4,6 +4,7 @@ import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.bean.BeanUtils; @@ -14,6 +15,7 @@ import com.ruoyi.system.model.TSystemBulletin; import com.ruoyi.system.query.FeedbackQuery; import com.ruoyi.system.query.ProblemEscalationQuery; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.TDictDataService; import com.ruoyi.system.service.TProblemEscalationService; import com.ruoyi.system.vo.system.FeedbackListVO; @@ -59,6 +61,9 @@ problemEscalationService.updateById(dto); return R.ok(); } @Resource private ISysUserService sysUserService; @ApiOperation(value = "详情") @GetMapping(value = "/detail") public R<ProblemEscalationDetailVO> detail(@RequestParam String id) { @@ -66,6 +71,10 @@ TProblemEscalation byId = problemEscalationService.getById(id); BeanUtils.copyProperties(byId,problemEscalationDetailVO); TDictData byId1 = dictDataService.getById(byId.getEscalationType()); SysUser sysUser = sysUserService.selectUserById(Long.valueOf(byId.getHandleId())); if (sysUser!=null){ problemEscalationDetailVO.setHandleName(sysUser.getUserName()); } problemEscalationDetailVO.setEscalationTypeName(byId1.getDataContent()); return R.ok(problemEscalationDetailVO); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSystemBulletinController.java
@@ -81,7 +81,7 @@ } @Log(title = "启用/禁用系统公告", businessType = BusinessType.OTHER) @ApiOperation(value = "启用/禁用系统公告") @DeleteMapping(value = "/editStatus") @GetMapping(value = "/editStatus") public R<Boolean> editStatus(@RequestParam String id) { TSystemBulletin byId = systemBulletinService.getById(id); if (byId.getStatus()==1){ ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TUserController.java
@@ -6,6 +6,7 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.BaseModel; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.bean.BeanUtils; @@ -13,10 +14,9 @@ import com.ruoyi.system.applet.dto.*; import com.ruoyi.system.applet.query.AppealListQuery; import com.ruoyi.system.applet.query.KnowledgeListUserQuery; import com.ruoyi.system.applet.query.LeaveListUserQuery; import com.ruoyi.system.applet.query.TaskUserListQuery; import com.ruoyi.system.applet.vo.KnowledgeVO; import com.ruoyi.system.applet.vo.TaskListAllVO; import com.ruoyi.system.applet.vo.TaskUserListVO; import com.ruoyi.system.applet.vo.*; import com.ruoyi.system.dto.KnowledgeDTO; import com.ruoyi.system.dto.TTaskAuditBatchDTO; import com.ruoyi.system.dto.TTaskAuditDTO; @@ -74,9 +74,13 @@ @Resource private ISysUserService sysUserService; @Resource private ISysRoleService roleService; @Resource private TDictDataService dictDataService; @Resource private TLeaveService leaveService; @Resource private TLeaveAuditService leaveAuditService; @Resource private TokenService tokenService; @Resource @@ -231,13 +235,7 @@ ); return R.ok(list); } @ApiOperation(value = "发起请假") @PostMapping(value = "/addLeave") public R<Boolean> addLeave(@RequestBody LeaveDTO leaveDTO) { leaveService.save(leaveDTO); // todo 生成审批记录 return R.ok(); } @Resource private TKnowledgeService knowledgeService; @@ -260,5 +258,215 @@ knowledgeService.updateById(byId); return R.ok(byId); } @ApiOperation(value = "发起请假-获取审批流程") @GetMapping(value = "/leaveAuditList") public R<LeaveAuditListVO> leaveAuditList() { LeaveAuditListVO res = new LeaveAuditListVO(); Long userId = tokenService.getLoginUser().getUserId(); SysUser user = sysUserService.selectUserById(userId); Long userRole = sysUserService.getUserRole(userId); SysRole sysRole = roleService.selectRoleById(userRole); List<SysUser> sysUsers = sysUserService.selectAllList(); SysUser auditPerson = sysUserService.selectUserById(999L); //项目负责人、部门负责人、公司成员提交由最终审批人审批; if (user.getDeptType()==2 ||sysRole.getRoleName().contains("项目负责人")||sysRole.getRoleName().contains("部门负责人")){ LeaveAuditVO tLeaveAudit = new LeaveAuditVO(); tLeaveAudit.setAvatar(auditPerson.getAvatar()); tLeaveAudit.setNickName(auditPerson.getNickName()); res.setAuditPerson(tLeaveAudit); }else if (!sysRole.getRoleName().equals("部门助理")){ // 审批人根据当前角色类型来 if (sysRole.getRoleName().contains("现场负责人")||sysRole.getRoleName().contains("组长")){ List<SysUser> collect = sysUsers.stream().filter(e -> e.getDeptType() == 1 && e.getDeptId().equals(user.getDeptId())).collect(Collectors.toList()); for (SysUser sysUser : collect) { Long userRole1 = sysUserService.getUserRole(sysUser.getUserId()); SysRole sysRole1 = roleService.selectRoleById(userRole1); if (sysRole1!=null&&sysRole1.getRoleName().equals("项目负责人")){ LeaveAuditVO tLeaveAudit = new LeaveAuditVO(); tLeaveAudit.setAvatar(sysUser.getAvatar()); tLeaveAudit.setNickName(sysUser.getNickName()); res.setAuditPerson(tLeaveAudit); } } } }else{ List<SysUser> collect = sysUsers.stream().filter(e -> e.getDeptType() == 1 && e.getDeptId().equals(user.getDeptId())).collect(Collectors.toList()); for (SysUser sysUser : collect) { Long userRole1 = sysUserService.getUserRole(sysUser.getUserId()); SysRole sysRole1 = roleService.selectRoleById(userRole1); if (sysRole1!=null&&sysRole1.getRoleName().equals("部门负责人")){ LeaveAuditVO tLeaveAudit = new LeaveAuditVO(); tLeaveAudit.setAvatar(sysUser.getAvatar()); tLeaveAudit.setNickName(sysUser.getNickName()); res.setAuditPerson(tLeaveAudit); } } } List<LeaveAuditVO> leaveAuditVOS = new ArrayList<>(); // 当前登陆人-抄送人 LeaveAuditVO leaveAuditVO1 = new LeaveAuditVO(); leaveAuditVO1.setAvatar(user.getAvatar()); leaveAuditVO1.setNickName(user.getNickName()); // 最终审核人-抄送人 LeaveAuditVO leaveAuditVO = new LeaveAuditVO(); leaveAuditVO.setAvatar(auditPerson.getAvatar()); leaveAuditVO.setNickName(auditPerson.getNickName()); leaveAuditVOS.add(leaveAuditVO); leaveAuditVOS.add(leaveAuditVO1); res.setCopyPerson(leaveAuditVOS); return R.ok(res); } @ApiOperation(value = "发起请假") @PostMapping(value = "/addLeave") public R addLeave(@RequestBody LeaveDTO leaveDTO) { Long userId = tokenService.getLoginUser().getUserId(); SysUser user = sysUserService.selectUserById(userId); Long userRole = sysUserService.getUserRole(userId); SysRole sysRole = roleService.selectRoleById(userRole); List<SysUser> sysUsers = sysUserService.selectAllList(); SysUser auditPerson = sysUserService.selectUserById(999L); leaveDTO.setAuditStatus(1); leaveService.save(leaveDTO); //项目负责人、部门负责人、公司成员提交由最终审批人审批; if (user.getDeptType()==2 ||sysRole.getRoleName().contains("项目负责人")||sysRole.getRoleName().contains("部门负责人")){ TLeaveAudit tLeaveAudit1 = new TLeaveAudit(); tLeaveAudit1.setLeaveId(leaveDTO.getId()); tLeaveAudit1.setAuditStatus(1); tLeaveAudit1.setAuditId(auditPerson.getUserId()+""); tLeaveAudit1.setAuditType(1); leaveAuditService.save(tLeaveAudit1); }else if (!sysRole.getRoleName().equals("部门助理")){ // 审批人根据当前角色类型来 if (sysRole.getRoleName().contains("现场负责人")||sysRole.getRoleName().contains("组长")){ List<SysUser> collect = sysUsers.stream().filter(e -> e.getDeptType() == 1 && e.getDeptId().equals(user.getDeptId())).collect(Collectors.toList()); for (SysUser sysUser : collect) { Long userRole1 = sysUserService.getUserRole(sysUser.getUserId()); SysRole sysRole1 = roleService.selectRoleById(userRole1); if (sysRole1!=null&&sysRole1.getRoleName().equals("项目负责人")){ TLeaveAudit tLeaveAudit1 = new TLeaveAudit(); tLeaveAudit1.setLeaveId(leaveDTO.getId()); tLeaveAudit1.setAuditStatus(1); tLeaveAudit1.setAuditId(sysUser.getUserId()+""); tLeaveAudit1.setAuditType(1); leaveAuditService.save(tLeaveAudit1); } } } }else{ List<SysUser> collect = sysUsers.stream().filter(e -> e.getDeptType() == 1 && e.getDeptId().equals(user.getDeptId())).collect(Collectors.toList()); for (SysUser sysUser : collect) { Long userRole1 = sysUserService.getUserRole(sysUser.getUserId()); SysRole sysRole1 = roleService.selectRoleById(userRole1); if (sysRole1!=null&&sysRole1.getRoleName().equals("部门负责人")){ TLeaveAudit tLeaveAudit1 = new TLeaveAudit(); tLeaveAudit1.setLeaveId(leaveDTO.getId()); tLeaveAudit1.setAuditStatus(1); tLeaveAudit1.setAuditId(sysUser.getUserId()+""); tLeaveAudit1.setAuditType(1); leaveAuditService.save(tLeaveAudit1); } } } TLeaveAudit tLeaveAudit2 = new TLeaveAudit(); tLeaveAudit2.setLeaveId(leaveDTO.getId()); tLeaveAudit2.setAuditStatus(2); tLeaveAudit2.setAuditId(user.getUserId()+","+auditPerson.getUserId()); tLeaveAudit2.setAuditType(2); tLeaveAudit2.setAuditTime(LocalDateTime.now()); leaveAuditService.save(tLeaveAudit2); return R.ok(); } @ApiOperation(value = "我的审批-我的申请") @PostMapping(value = "/leaveList") public R<PageInfo<LeaveUserListVO>> leaveList(@RequestBody LeaveListUserQuery query) { query.setUserId(tokenService.getLoginUser().getUserId()+""); return R.ok( leaveService.leaveList(query)); } @ApiOperation(value = "我的审批-详情") @GetMapping(value = "/leaveDetail") public R<LeaveUserDetailVO> leaveDetail(@RequestParam String id) { LeaveUserDetailVO leaveUserDetailVO = new LeaveUserDetailVO(); SysUser sysUser = sysUserService.selectUserById(Long.parseLong(leaveUserDetailVO.getLeavePerson())); Long userRole = sysUserService.getUserRole(sysUser.getUserId()); SysRole sysRole = roleService.selectRoleById(userRole); if (sysRole.getRoleName().contains("现场负责人")||sysRole.getRoleName().equals("组长")){ if (sysUser.getDeptType() == 1){ TProjectDept tProjectDept = projectDeptService.getById(sysUser.getDeptId()); if (!tProjectDept.getParentId().equals("0")){ TProjectDept tProjectDept1 = projectDeptService.getById(tProjectDept.getParentId()); leaveUserDetailVO.setDeptName(tProjectDept1.getProjectName()+">"+tProjectDept.getProjectName()); }else{ leaveUserDetailVO.setDeptName(tProjectDept.getProjectName()); } }else{ TDept tDept = deptService.getById(sysUser.getDeptId()); leaveUserDetailVO.setDeptName(tDept.getDeptName()); } }else if (sysRole.getRoleName().contains("项目负责人")){ TProjectDept tProjectDept = projectDeptService.getById(sysUser.getDeptId()); leaveUserDetailVO.setDeptName(tProjectDept.getProjectName()); } if (sysUser.getDeptType() == 2){ TDept byId = deptService.getById(sysUser.getDeptId()); leaveUserDetailVO.setDeptName(byId.getDeptName()); } TLeave leave = leaveService.getById(id); leaveUserDetailVO.setLeavePersonName(sysUser.getNickName()); LeaveAuditListVO leaveAuditListVO = new LeaveAuditListVO(); List<TLeaveAudit> list = leaveAuditService.list(new LambdaQueryWrapper<TLeaveAudit>() .eq(TLeaveAudit::getAuditId, leave.getId())); for (TLeaveAudit tLeaveAudit : list) { if (tLeaveAudit.getAuditType()==1){ LeaveAuditVO leaveAuditVO = new LeaveAuditVO(); SysUser sysUser1 = sysUserService.selectUserById(Long.valueOf(tLeaveAudit.getAuditId())); if (sysUser1!=null){ leaveAuditVO.setAvatar(sysUser1.getAvatar()); leaveAuditVO.setNickName(sysUser1.getNickName()); } leaveAuditVO.setCreateTime(tLeaveAudit.getAuditTime()); leaveAuditVO.setAuditStatus(tLeaveAudit.getAuditStatus()); leaveAuditListVO.setAuditPerson(leaveAuditVO); }else{ List<LeaveAuditVO> leaveAuditVOS = new ArrayList<>(); // 抄送人 LeaveAuditVO leaveAuditVO = new LeaveAuditVO(); SysUser sysUser1 = sysUserService.selectUserById(Long.valueOf(tLeaveAudit.getAuditId().split(",")[0])); leaveAuditVO.setAvatar(sysUser1.getAvatar()); leaveAuditVO.setNickName(sysUser1.getNickName()); leaveAuditVO.setCreateTime(tLeaveAudit.getCreateTime()); leaveAuditVO.setAuditStatus(tLeaveAudit.getAuditStatus()); leaveAuditVOS.add(leaveAuditVO); LeaveAuditVO leaveAuditVO1 = new LeaveAuditVO(); SysUser sysUser2 = sysUserService.selectUserById(Long.valueOf(tLeaveAudit.getAuditId().split(",")[1])); leaveAuditVO1.setAvatar(sysUser2.getAvatar()); leaveAuditVO1.setNickName(sysUser2.getNickName()); leaveAuditVO1.setCreateTime(tLeaveAudit.getCreateTime()); leaveAuditVO1.setAuditStatus(tLeaveAudit.getAuditStatus()); leaveAuditVOS.add(leaveAuditVO1); leaveAuditListVO.setCopyPerson(leaveAuditVOS); } } leaveUserDetailVO.setAudit(leaveAuditListVO); leaveUserDetailVO.setId(leave.getId()); leaveUserDetailVO.setLeavePerson(leave.getLeavePerson()); leaveUserDetailVO.setStartTime(leave.getStartTime()); leaveUserDetailVO.setEndTime(leave.getEndTime()); leaveUserDetailVO.setLeaveType(leave.getLeaveType()); leaveUserDetailVO.setLeaveDay(leave.getLeaveDay()); leaveUserDetailVO.setLeaveCause(leave.getLeaveCause()); leaveUserDetailVO.setPictures(leave.getPictures()); leaveUserDetailVO.setAuditStatus(leave.getAuditStatus()); leaveUserDetailVO.setAuditId(leave.getAuditId()); leaveUserDetailVO.setAuditTime(leave.getAuditTime()); leaveUserDetailVO.setAuditRemark(leave.getAuditRemark()); leaveUserDetailVO.setCode(leave.getCode()); return R.ok( ); } } ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java
@@ -61,6 +61,6 @@ public UserDetails createLoginUser(SysUser user) { return new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user)); return new LoginUser(user.getUserId(), Long.valueOf(user.getDeptId()), user, permissionService.getMenuPermission(user)); } } ruoyi-system/src/main/java/com/ruoyi/system/applet/query/LeaveListUserQuery.java
New file @@ -0,0 +1,22 @@ package com.ruoyi.system.applet.query; import com.ruoyi.common.core.domain.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel(value = "我审批的分页列表query") public class LeaveListUserQuery extends BasePage { @ApiModelProperty(value = "姓名") private String leavePersonName; @ApiModelProperty(value = "人员ids 前端忽略") private List<Long> userIds; @ApiModelProperty(value = "类型1=我审批的 2=我申请的") private String type; @ApiModelProperty(value = "当前登陆人id 前端忽略") private String userId; } ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/LeaveAuditListVO.java
New file @@ -0,0 +1,24 @@ package com.ruoyi.system.applet.vo; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; import java.util.List; @Data @ApiModel(value = "审批流程VO") public class LeaveAuditListVO { @ApiModelProperty(value = "审批人") private LeaveAuditVO auditPerson; @ApiModelProperty(value = "抄送人") private List<LeaveAuditVO> copyPerson; } ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/LeaveAuditVO.java
New file @@ -0,0 +1,27 @@ package com.ruoyi.system.applet.vo; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.system.model.TLeaveAudit; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; @Data @ApiModel(value = "请假审批VO") public class LeaveAuditVO { @ApiModelProperty(value = "头像") private String avatar; @ApiModelProperty(value = "名字") private String nickName; @ApiModelProperty(value = "审批时间/抄送时间") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private LocalDateTime createTime; @ApiModelProperty(value = "审批抄送状态 审核状态 1待审核 2通过 3驳回") private Integer auditStatus; } ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/LeaveUserDetailVO.java
New file @@ -0,0 +1,22 @@ package com.ruoyi.system.applet.vo; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.system.model.TLeave; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; @Data @ApiModel(value = "个人中心-我的审批/申请详情返回VO") public class LeaveUserDetailVO extends TLeave { @ApiModelProperty(value = "请假人") private String leavePersonName; @ApiModelProperty(value = "归属部门") private String deptName; @ApiModelProperty(value = "审批流程") private LeaveAuditListVO audit; } ruoyi-system/src/main/java/com/ruoyi/system/applet/vo/LeaveUserListVO.java
New file @@ -0,0 +1,21 @@ package com.ruoyi.system.applet.vo; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.system.model.TLeave; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; import java.util.List; @Data @ApiModel(value = "个人中心-我审批的分页列表返回VO") public class LeaveUserListVO extends TLeave { @ApiModelProperty(value = "请假人") private String leavePersonName; @ApiModelProperty(value = "申请时间") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private LocalDateTime createTime1; } ruoyi-system/src/main/java/com/ruoyi/system/mapper/TLeaveMapper.java
@@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.applet.query.LeaveListUserQuery; import com.ruoyi.system.applet.vo.LeaveUserListVO; import com.ruoyi.system.model.TLeave; import com.ruoyi.system.query.LeaveListQuery; import com.ruoyi.system.vo.system.LeaveListVO; @@ -20,4 +22,8 @@ public interface TLeaveMapper extends BaseMapper<TLeave> { List<LeaveListVO> pageList(@Param("query")LeaveListQuery query,@Param("pageInfo")PageInfo<LeaveListVO> pageInfo); List<LeaveUserListVO> leaveList(@Param("query")LeaveListUserQuery query, @Param("pageInfo")PageInfo<LeaveUserListVO> pageInfo); } ruoyi-system/src/main/java/com/ruoyi/system/model/TDictData.java
@@ -25,7 +25,7 @@ */ @Data @EqualsAndHashCode(callSuper = false) @TableName("t_appeal") @TableName("t_dict_data") @ApiModel(value="TAppeal对象", description="任务申诉") public class TDictData extends BaseModel { ruoyi-system/src/main/java/com/ruoyi/system/model/TLeave.java
@@ -76,6 +76,9 @@ @ApiModelProperty(value = "审核备注") @TableField("audit_remark") private String auditRemark; @ApiModelProperty(value = "审批编号") @TableField("code") private String code; } ruoyi-system/src/main/java/com/ruoyi/system/model/TLeaveAudit.java
@@ -38,7 +38,7 @@ @TableField("audit_status") private Integer auditStatus; @ApiModelProperty(value = "审批人id和抄送人id,逗号拼接") @ApiModelProperty(value = "抄送人id和审批人id,逗号拼接") @TableField("audit_id") private String auditId; ruoyi-system/src/main/java/com/ruoyi/system/model/TProblemEscalation.java
@@ -36,7 +36,7 @@ @ApiModelProperty(value = "问题类型id") @TableField("escalation_type") private Integer escalationType; private String escalationType; @ApiModelProperty(value = "上报内容") @TableField("escalation_content") ruoyi-system/src/main/java/com/ruoyi/system/service/TLeaveService.java
@@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.applet.query.LeaveListUserQuery; import com.ruoyi.system.applet.vo.LeaveUserListVO; import com.ruoyi.system.model.TLeave; import com.ruoyi.system.query.LeaveListQuery; import com.ruoyi.system.vo.system.LeaveListVO; @@ -17,4 +19,6 @@ public interface TLeaveService extends IService<TLeave> { PageInfo<LeaveListVO> pageList(LeaveListQuery query); PageInfo<LeaveUserListVO> leaveList(LeaveListUserQuery query); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TLeaveServiceImpl.java
@@ -2,7 +2,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.documents4j.api.IFileConsumer; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.system.applet.query.LeaveListUserQuery; import com.ruoyi.system.applet.vo.LeaveUserListVO; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.TDeptMapper; import com.ruoyi.system.mapper.TLeaveMapper; import com.ruoyi.system.mapper.TProjectDeptMapper; @@ -36,6 +41,8 @@ private TProjectDeptMapper projectDeptMapper; @Autowired private TDeptMapper deptMapper; @Autowired private SysUserMapper sysUserMapper; @Override public PageInfo<LeaveListVO> pageList(LeaveListQuery query) { if (StringUtils.hasLength(query.getDeptName())){ @@ -72,4 +79,25 @@ pageInfo.setRecords(list); return pageInfo; } @Override public PageInfo<LeaveUserListVO> leaveList(LeaveListUserQuery query) { List<SysUser> sysUsers = sysUserMapper.selectAllList(); if (StringUtils.hasLength(query.getLeavePersonName())){ List<Long> collect = sysUsers.stream().filter(e -> e.getNickName().contains(query.getLeavePersonName())) .map(SysUser::getUserId).collect(Collectors.toList()); query.setUserIds(collect); } PageInfo<LeaveUserListVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<LeaveUserListVO> list = this.baseMapper.leaveList(query,pageInfo); for (LeaveUserListVO leaveUserListVO : list) { SysUser sysUser = sysUsers.stream().filter(e -> (e.getUserId() + "").equals(leaveUserListVO.getLeavePerson())) .findFirst().orElse(null); if (sysUser!=null){ leaveUserListVO.setLeavePersonName(sysUser.getNickName()); } } pageInfo.setRecords(list); return pageInfo; } } ruoyi-system/src/main/java/com/ruoyi/system/vo/system/ProblemEscalationDetailVO.java
@@ -1,5 +1,6 @@ package com.ruoyi.system.vo.system; import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.system.model.TFeedback; import com.ruoyi.system.model.TProblemEscalation; import io.swagger.annotations.ApiModel; @@ -12,4 +13,6 @@ @ApiModelProperty("上报类型名称") private String escalationTypeName; @ApiModelProperty(value = "处理人名称") private String handleName; } ruoyi-system/src/main/resources/mapper/system/TLeaveMapper.xml
@@ -54,5 +54,24 @@ </foreach> </if> </select> <select id="leaveList" resultType="com.ruoyi.system.applet.vo.LeaveUserListVO"> select t1.*,t1.create_time as createTime1 from t_leave t1 where t1.disabled = = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} <if test="query.type == 1"> and t1.audit_id = #{query.userId} </if> <if test="query.type == 2"> and t1.leave_person = #{query.userId} </if> <if test="query.userIds != null and query.userIds.size()>0"> AND t1.leave_person IN <foreach collection="query.userIds" separator="," item="id" open="(" close=")"> #{id} </foreach> </if> </select> </mapper> ruoyi-system/src/main/resources/mapper/system/TProblemEscalationMapper.xml
@@ -31,8 +31,8 @@ left join sys_user t2 on t1.escalation_id = t2.user_id left join t_dict_data t3 on t1.escalation_type = t3.id where 1=1 <if test="query.feedbackContent != null and query.feedbackContent != ''"> and t1.feedback_content like concat('%',#{query.feedbackContent},'%') <if test="query.escalationContent != null and query.escalationContent != ''"> and t1.escalation_content like concat('%',#{query.escalationContent},'%') </if> and t3.data_type = 3 and t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}