From d044226c45c0d1533a23cbcd99a46c5233217d24 Mon Sep 17 00:00:00 2001 From: 20918 <2091823062@qq.com> Date: Tue, 21 May 2024 15:50:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=89=E5=AF=86=E4=BA=BA=E5=91=98=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 +- .../system/count/SysTrainnumController.java | 1 + .../system/count/SysUsernumController.java | 40 +++--- ruoyi-common/pom.xml | 5 + .../common/core/domain/entity/SysPostVO.java | 126 ++++++++++++++++++ .../common/core/domain/entity/SysUser.java | 19 +++ .../java/com/ruoyi/system/domain/SysPost.java | 3 + .../ruoyi/system/mapper/SysPostMapper.java | 5 +- .../system/mapper/SysUserPostMapper.java | 5 +- .../ruoyi/system/service/ISysPostService.java | 5 +- .../system/service/SysUserPostService.java | 14 ++ .../service/impl/SysPostServiceImpl.java | 5 +- .../service/impl/SysUserPostServiceImpl.java | 23 ++++ 13 files changed, 235 insertions(+), 23 deletions(-) create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysPostVO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/SysUserPostService.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserPostServiceImpl.java diff --git a/pom.xml b/pom.xml index 06ff9d9..f5654fd 100644 --- a/pom.xml +++ b/pom.xml @@ -29,6 +29,7 @@ 2.11.0 4.1.2 2.3 + 5.6.5 @@ -183,7 +184,11 @@ ${ruoyi.version} - + + cn.hutool + hutool-all + ${hutool.version} + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/count/SysTrainnumController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/count/SysTrainnumController.java index 6b37bba..c6cac47 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/count/SysTrainnumController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/count/SysTrainnumController.java @@ -70,6 +70,7 @@ public class SysTrainnumController extends BaseController { @ResponseBody public String print(@PathVariable("trainId") Long trainId, ModelMap mmap){ TdTrain tdTrain = tdTrainService.selectTdTrainByID(trainId); + List tdTrains = tdTrainService.selectTdTrainList(tdTrain); mmap.put("train", tdTrain); return prefix + "/print"; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/count/SysUsernumController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/count/SysUsernumController.java index 5f346e1..d65ce23 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/count/SysUsernumController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/count/SysUsernumController.java @@ -1,21 +1,22 @@ package com.ruoyi.web.controller.system.count; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.core.domain.entity.SysPostVO; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.domain.SysPost; +import com.ruoyi.system.domain.SysUserPost; import com.ruoyi.system.domain.SysUserRole; -import com.ruoyi.system.service.ISysDeptService; -import com.ruoyi.system.service.ISysPostService; -import com.ruoyi.system.service.ISysRoleService; -import com.ruoyi.system.service.ISysUserService; +import com.ruoyi.system.service.*; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -23,7 +24,9 @@ import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; +import java.util.Collections; import java.util.List; +import java.util.stream.Collectors; /** * 涉密人员统计 @@ -43,6 +46,9 @@ public class SysUsernumController extends BaseController { @Autowired private ISysDeptService deptService; + @Autowired + private SysUserPostService sysUserPostService; + @RequiresPermissions("system:usernum:view") @GetMapping() public String user() @@ -96,22 +102,20 @@ public class SysUsernumController extends BaseController { @RequiresPermissions("system:usernum:detail") @GetMapping("/print/{deptId}") public String print(@PathVariable("deptId")Long deptId, SysUser user,ModelMap mmap) - { - List sysUsers = userService.selectUserList(user); - List list = new ArrayList<>(); - List sysRoles = new ArrayList<>(); - for (SysUser User : sysUsers){ - List sysUserRoles = userService.selectUserRoleByUserId(User.getUserId()); - for (SysUserRole UserRole : sysUserRoles){ - SysRole sysRole = roleService.selectRoleById(UserRole.getRoleId()); - sysRoles.add(sysRole); - } - User.setRoles(sysRoles); - if (User.getDeptId().equals(deptId)){ - list.add(User); + { + List list = userService.lambdaQuery().eq(SysUser::getDeptId, deptId) + .eq(SysUser::getDelFlag,0) + .list(); + list.forEach(sysuser -> { + List postList = sysUserPostService.lambdaQuery(). + eq(SysUserPost::getUserId, sysuser.getUserId()).list(); + List postIds = postList.stream().map(SysUserPost::getPostId).collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(postIds)){ + List sysPostList = postService.lambdaQuery().in(SysPost::getPostId, postIds).list(); + sysuser.setPosts( Convert.toList(SysPostVO.class, sysPostList)); } - } + }); mmap.put("list", list); mmap.put("dept",deptService.selectDeptById(deptId)); mmap.put("sysuser",getSysUser()); diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index 703c66c..7349c3a 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -106,6 +106,11 @@ 3.4.1 + + cn.hutool + hutool-all + + diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysPostVO.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysPostVO.java new file mode 100644 index 0000000..59d30e1 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysPostVO.java @@ -0,0 +1,126 @@ +package com.ruoyi.common.core.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; + +/** + * 岗位表 sys_post + * + * @author ruoyi + */ +public class SysPostVO extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 岗位序号 */ + @Excel(name = "岗位序号", cellType = ColumnType.NUMERIC) + private Long postId; + + /** 岗位编码 */ + @Excel(name = "岗位编码") + private String postCode; + + /** 岗位名称 */ + @Excel(name = "岗位名称") + private String postName; + + /** 岗位排序 */ + @Excel(name = "岗位排序", cellType = ColumnType.NUMERIC) + private String postSort; + + /** 状态(0正常 1停用) */ + @Excel(name = "状态", readConverterExp = "0=正常,1=停用") + private String status; + + /** 用户是否存在此岗位标识 默认不存在 */ + @TableField(exist=false) + private boolean flag = false; + + public Long getPostId() + { + return postId; + } + + public void setPostId(Long postId) + { + this.postId = postId; + } + + @NotBlank(message = "岗位编码不能为空") + @Size(min = 0, max = 64, message = "岗位编码长度不能超过64个字符") + public String getPostCode() + { + return postCode; + } + + public void setPostCode(String postCode) + { + this.postCode = postCode; + } + + @NotBlank(message = "岗位名称不能为空") + @Size(min = 0, max = 50, message = "岗位名称长度不能超过50个字符") + public String getPostName() + { + return postName; + } + + public void setPostName(String postName) + { + this.postName = postName; + } + + @NotBlank(message = "显示顺序不能为空") + public String getPostSort() + { + return postSort; + } + + public void setPostSort(String postSort) + { + this.postSort = postSort; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + public boolean isFlag() + { + return flag; + } + + public void setFlag(boolean flag) + { + this.flag = flag; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("postId", getPostId()) + .append("postCode", getPostCode()) + .append("postName", getPostName()) + .append("postSort", getPostSort()) + .append("status", getStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java index 70d07b0..a1dff80 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -5,6 +5,7 @@ import java.util.Date; import java.util.List; import javax.validation.constraints.*; +import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.ruoyi.common.annotation.DataSource; @@ -39,9 +40,11 @@ public class SysUser extends BaseEntity private Long deptId; /** 部门父ID */ + @TableField(exist=false) private Long parentId; /** 角色ID */ + @TableField(exist=false) private Long roleId; /** 登录名称 */ @@ -248,16 +251,24 @@ public class SysUser extends BaseEntity @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT), @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT) }) + @TableField(exist=false) private SysDept dept; + @TableField(exist=false) private List roles; /** 角色组 */ + @TableField(exist=false) private Long[] roleIds; /** 岗位组 */ + @TableField(exist=false) private Long[] postIds; + + @TableField(exist=false) + private List posts; + public SysUser() { @@ -528,6 +539,14 @@ public class SysUser extends BaseEntity this.enddate = enddate; } + public List getPosts() { + return posts; + } + + public void setPosts(List posts) { + this.posts = posts; + } + @Override public String toString() { return "SysUser{" + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java index a172f66..c3eb073 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java @@ -1,6 +1,8 @@ package com.ruoyi.system.domain; import javax.validation.constraints.*; + +import com.baomidou.mybatisplus.annotation.TableField; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; @@ -37,6 +39,7 @@ public class SysPost extends BaseEntity private String status; /** 用户是否存在此岗位标识 默认不存在 */ + @TableField(exist=false) private boolean flag = false; public Long getPostId() diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java index 188f335..b6b4ad1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java @@ -1,14 +1,17 @@ package com.ruoyi.system.mapper; import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.system.domain.SysPost; +import com.ruoyi.system.domain.SysUserPost; /** * 岗位信息 数据层 * * @author ruoyi */ -public interface SysPostMapper +public interface SysPostMapper extends BaseMapper { /** * 查询岗位数据集合 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java index d72ac45..270280e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java @@ -1,6 +1,9 @@ package com.ruoyi.system.mapper; import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.system.domain.SysUserPost; /** @@ -8,7 +11,7 @@ import com.ruoyi.system.domain.SysUserPost; * * @author ruoyi */ -public interface SysUserPostMapper +public interface SysUserPostMapper extends BaseMapper { /** * 通过用户ID删除用户和岗位关联 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java index 8c4f8dd..fa1a51f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java @@ -1,14 +1,17 @@ package com.ruoyi.system.service; import java.util.List; + +import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.system.domain.SysPost; +import com.ruoyi.system.domain.TdLeave; /** * 岗位信息 服务层 * * @author ruoyi */ -public interface ISysPostService +public interface ISysPostService extends IService { /** * 查询岗位信息集合 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysUserPostService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysUserPostService.java new file mode 100644 index 0000000..4a7a255 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysUserPostService.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.domain.SysUserPost; + +/** +* @author 20918 +* @description 针对表【sys_user_post(用户与岗位关联表)】的数据库操作Service +* @createDate 2024-05-21 14:59:25 +*/ +public interface SysUserPostService extends IService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java index 0bf8966..fae71be 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java @@ -1,6 +1,9 @@ package com.ruoyi.system.service.impl; import java.util.List; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.domain.SysUserPost; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.common.constant.UserConstants; @@ -18,7 +21,7 @@ import com.ruoyi.system.service.ISysPostService; * @author ruoyi */ @Service -public class SysPostServiceImpl implements ISysPostService +public class SysPostServiceImpl extends ServiceImpl implements ISysPostService { @Autowired private SysPostMapper postMapper; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserPostServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserPostServiceImpl.java new file mode 100644 index 0000000..4be46ab --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserPostServiceImpl.java @@ -0,0 +1,23 @@ +package com.ruoyi.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.domain.SysUserPost; +import com.ruoyi.system.service.SysUserPostService; +import com.ruoyi.system.mapper.SysUserPostMapper; +import org.springframework.stereotype.Service; + + +/** +* @author 20918 +* @description 针对表【sys_user_post(用户与岗位关联表)】的数据库操作Service实现 +* @createDate 2024-05-21 14:59:25 +*/ +@Service +public class SysUserPostServiceImpl extends ServiceImpl + implements SysUserPostService{ + +} + + + +