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{
+
+}
+
+
+
+