公用方法从controller挪到service,删除没有用到的import

This commit is contained in:
caozhen
2023-09-07 11:30:15 +08:00
parent 4fa732c8cb
commit c9aa50fb4c
15 changed files with 257 additions and 205 deletions
@@ -1,30 +1,19 @@
package com.jero.modules.sys.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.modules.sys.entity.LawsEnterpriseStandardLevel;
import com.jero.modules.sys.entity.LawsGrade;
import com.jero.modules.sys.service.ILawsEnterpriseStandardLevelService;
import com.jero.modules.sys.service.ILawsGradeService;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.service.ISysDepartService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -40,10 +29,7 @@ import java.util.stream.Collectors;
public class LawsGradeController extends JeroController<LawsGrade, ILawsGradeService> {
@Autowired
private ILawsGradeService lawsGradeService;
@Autowired
private ILawsEnterpriseStandardLevelService lawsEnterpriseStandardLevelService;
@Autowired
private ISysDepartService sysDepartService;
/**
* 查询
@@ -52,18 +38,7 @@ public class LawsGradeController extends JeroController<LawsGrade, ILawsGradeSer
@ApiOperation(value="级别-列表查询", notes="级别-列表查询")
@GetMapping(value = "/list")
public Result<List<LawsGrade>> queryList() {
List<LawsGrade> grades = lawsGradeService.list();
List<LawsEnterpriseStandardLevel> standardLevels = lawsEnterpriseStandardLevelService.list();
Map<String, List<LawsEnterpriseStandardLevel>> map = standardLevels.stream().collect(Collectors.groupingBy(LawsEnterpriseStandardLevel::getGradeId));
for (LawsGrade grade : grades) {
List<LawsEnterpriseStandardLevel> levels = map.get(grade.getId());
if (levels != null && levels.size() > 0){
List<String> collect = levels.stream().map(LawsEnterpriseStandardLevel::getDeptId).distinct().collect(Collectors.toList());
List<SysDepart> sysDepartList = sysDepartService.listByIds(collect);
String departNames = sysDepartList.stream().map(SysDepart::getDepartName).collect(Collectors.joining(","));
grade.setDeptNames(departNames);
}
}
List<LawsGrade> grades = lawsGradeService.queryList();
return Result.OK(grades);
}
@@ -73,25 +48,8 @@ public class LawsGradeController extends JeroController<LawsGrade, ILawsGradeSer
@AutoLog(value = "级别-编辑")
@ApiOperation(value="级别-编辑", notes="级别-编辑")
@PostMapping(value = "/edit")
@Transactional
public Result<T> edit(@Validated @RequestBody LawsGrade lawsGrade) {
//每次更新都删除原有的所有关联部门,重新添加
LambdaQueryWrapper<LawsEnterpriseStandardLevel> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(LawsEnterpriseStandardLevel::getGradeId, lawsGrade.getId());
boolean remove = lawsEnterpriseStandardLevelService.remove(wrapper);
List<LawsEnterpriseStandardLevel> levels = new ArrayList<>();
String deptIds = lawsGrade.getDeptIds();
String id = lawsGrade.getId();
List<String> deptIdList = Arrays.stream(deptIds.split(",")).distinct().collect(Collectors.toList());
for (String deptId : deptIdList) {
LawsEnterpriseStandardLevel level = new LawsEnterpriseStandardLevel();
level.setDeptId(deptId);
level.setGradeId(id);
levels.add(level);
}
boolean saveBatch = lawsEnterpriseStandardLevelService.saveBatch(levels);
boolean update = lawsGradeService.updateById(lawsGrade);
lawsGradeService.edit(lawsGrade);
return Result.OK("操作成功!");
}
}
@@ -3,7 +3,6 @@ package com.jero.modules.sys.controller;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -45,39 +44,12 @@ public class LawsWorkingGroupController extends JeroController<LawsWorkingGroup,
public Result<List<LawsWorkingGroup>> queryList(LawsWorkingGroup lawsWorkingGroup, HttpServletRequest req) {
lawsWorkingGroup.setDelFlag("0");
List<LawsWorkingGroup> list = lawsWorkingGroupService.queryList(lawsWorkingGroup, req);
List<LawsWorkingGroup> toTree = this.convertToTree(list);
List<LawsWorkingGroup> toTree = lawsWorkingGroupService.convertToTree(list);
return Result.OK(toTree);
}
//对列表数据转树结构列表
public List<LawsWorkingGroup> convertToTree(List<LawsWorkingGroup> list) {
List<LawsWorkingGroup> treeList = new ArrayList<>();
for (LawsWorkingGroup group : list) {
if (StringUtils.isBlank(group.getPid())) {
group.setLevel(1);
addChildGroups(group, list);
treeList.add(group);
}
}
return treeList;
}
private void addChildGroups(LawsWorkingGroup parentGroup, List<LawsWorkingGroup> list) {
List<LawsWorkingGroup> childGroups = new ArrayList<>();
for (LawsWorkingGroup group : list) {
if (StringUtils.isNotBlank(group.getPid()) && parentGroup.getId().equals(group.getPid())) {
group.setLevel(parentGroup.getLevel() + 1);
addChildGroups(group, list);
childGroups.add(group);
}
}
parentGroup.setSubset(childGroups);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "内部工作组-通过id查询")
@ApiOperation(value="内部工作组-通过id查询", notes="内部工作组-通过id查询")
@@ -89,40 +61,13 @@ public class LawsWorkingGroupController extends JeroController<LawsWorkingGroup,
}
// 通过递归查找所有子节点数据
List<LawsWorkingGroup> list = lawsWorkingGroupService.realList();
LawsWorkingGroup workingGroup = convertToTreeById(list, id);
LawsWorkingGroup workingGroup = lawsWorkingGroupService.convertToTreeById(list, id);
return Result.OK(workingGroup);
}
public LawsWorkingGroup convertToTreeById(List<LawsWorkingGroup> list, String id) {
LawsWorkingGroup root = null;
for (LawsWorkingGroup group : list) {
if (group.getId().equals(id)) {
root = group;
break;
}
}
if (root == null) {
return null; // 如果没有找到指定的id,返回null
}
addChildGroupsById(root, list);
return root;
}
private void addChildGroupsById(LawsWorkingGroup parentGroup, List<LawsWorkingGroup> list) {
List<LawsWorkingGroup> childGroups = new ArrayList<>();
for (LawsWorkingGroup group : list) {
if (StringUtils.isNotBlank(group.getPid()) && parentGroup.getId().equals(group.getPid())) {
addChildGroupsById(group, list);
childGroups.add(group);
}
}
parentGroup.setSubset(childGroups);
}
/**
* 添加
*
* @param lawsWorkingGroup
* @return
*/
@AutoLog(value = "内部工作组-添加")
@ApiOperation(value="内部工作组-添加", notes="内部工作组-添加")
@@ -142,9 +87,6 @@ public class LawsWorkingGroupController extends JeroController<LawsWorkingGroup,
/**
* 编辑
*
* @param lawsWorkingGroup
* @return
*/
@AutoLog(value = "内部工作组-编辑")
@ApiOperation(value="内部工作组-编辑", notes="内部工作组-编辑")
@@ -156,9 +98,6 @@ public class LawsWorkingGroupController extends JeroController<LawsWorkingGroup,
/**
* 通过id删除
*
* @param map
* @return
*/
@AutoLog(value = "内部工作组-通过id删除")
@ApiOperation(value="内部工作组-通过id删除", notes="内部工作组-通过id删除")
@@ -169,7 +108,7 @@ public class LawsWorkingGroupController extends JeroController<LawsWorkingGroup,
}
List<String> ids = new ArrayList<>();
List<LawsWorkingGroup> list = lawsWorkingGroupService.realList();
ids = this.allChildIdById(list, map.get("id"), ids);
ids = lawsWorkingGroupService.allChildIdById(list, map.get("id"), ids);
if (ids.size() > 0){
LambdaUpdateWrapper<LawsWorkingGroup> wrapper = new LambdaUpdateWrapper<>();
wrapper.in(LawsWorkingGroup::getId, ids);
@@ -178,13 +117,6 @@ public class LawsWorkingGroupController extends JeroController<LawsWorkingGroup,
}
return Result.OK("删除成功!");
}
public List<String> allChildIdById(List<LawsWorkingGroup> list, String id, List<String> ids) {
List<String> collect = list.stream().filter(LawsWorkingGroup -> id.equals(LawsWorkingGroup.getPid())).map(LawsWorkingGroup::getId).collect(Collectors.toList());
for (String s : collect) {
allChildIdById(list, s, ids);
}
ids.add(id);
return ids;
}
}
@@ -1,19 +1,13 @@
package com.jero.modules.sys.controller;
import java.util.*;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.vo.Result;
import com.jero.modules.sys.entity.LawsWorkingGroupUser;
import com.jero.modules.sys.service.ILawsWorkingGroupUserService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.modules.system.entity.SysRole;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysRoleService;
import com.jero.modules.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.springframework.beans.factory.annotation.Autowired;
@@ -40,19 +34,10 @@ import org.apache.poi.ss.formula.functions.T;
public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGroupUser, ILawsWorkingGroupUserService> {
@Autowired
private ILawsWorkingGroupUserService lawsWorkingGroupUserService;
@Autowired
private ISysUserService sysUserService;
@Autowired
private ISysRoleService sysRoleService;
/**
* 分页列表查询
*
* @param lawsWorkingGroupUser
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "内部工作组人员关联表-分页列表查询")
@ApiOperation(value="内部工作组人员关联表-分页列表查询", notes="内部工作组人员关联表-分页列表查询")
@@ -63,7 +48,7 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
HttpServletRequest req) {
lawsWorkingGroupUser.setDelFlag("0");
IPage<LawsWorkingGroupUser> pageList = lawsWorkingGroupUserService.queryPage(lawsWorkingGroupUser, pageNo, pageSize, req);
this.userAssignment(pageList.getRecords());
lawsWorkingGroupUserService.userAssignment(pageList.getRecords());
return Result.OK(pageList);
}
@@ -76,38 +61,11 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
public Result<List<LawsWorkingGroupUser>> queryList(LawsWorkingGroupUser lawsWorkingGroupUser, HttpServletRequest req) {
lawsWorkingGroupUser.setDelFlag("0");
List<LawsWorkingGroupUser> list = lawsWorkingGroupUserService.queryList(lawsWorkingGroupUser, req);
this.userAssignment(list);
lawsWorkingGroupUserService.userAssignment(list);
return Result.OK(list);
}
/**
* 赋值姓名、工号、角色、岗位
*/
public void userAssignment(List<LawsWorkingGroupUser> list){
if (list == null || list.size() == 0){
return;
}
List<String> collect = list.stream().map(LawsWorkingGroupUser::getUserId).distinct().collect(Collectors.toList());
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SysUser::getId, collect);
List<SysUser> sysUsers = sysUserService.list(wrapper);
HashMap<String, SysUser> map = new HashMap<>();
sysUsers.forEach(user -> map.put(user.getId(), user));
for (LawsWorkingGroupUser user : list) {
SysUser sysUser = map.get(user.getId());
if (sysUser == null){
continue;
}
user.setUserName(sysUser.getRealname());
user.setUserWorkNo(sysUser.getWorkNo());
LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysRole::getId, user.getId());
List<SysRole> sysRoles = sysRoleService.list(queryWrapper);
String roleNames = sysRoles.stream().map(SysRole::getRoleName).collect(Collectors.joining(","));
user.setUserRoleName(roleNames);
user.setUserPostName("岗位xxx");
}
}
/**
* 添加
@@ -143,9 +101,6 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
/**
* 导出excel
*
* @param request
* @param lawsWorkingGroupUser
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, LawsWorkingGroupUser lawsWorkingGroupUser) {
@@ -154,10 +109,6 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<LawsWorkingGroupUser> importExcel(HttpServletRequest request, HttpServletResponse response) {
@@ -12,6 +12,7 @@ import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
@@ -49,7 +50,7 @@ public class LawsEnterpriseStandardLevel implements Serializable {
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
@@ -59,7 +60,7 @@ public class LawsEnterpriseStandardLevel implements Serializable {
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
private Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
@@ -1,6 +1,7 @@
package com.jero.modules.sys.entity;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -33,47 +34,47 @@ public class LawsWorkingGroup implements Serializable {
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
private String id;
/**父级节点*/
@ApiModelProperty(value = "父级节点")
private java.lang.String pid;
private String pid;
/**名称*/
@ApiModelProperty(value = "名称")
private java.lang.String name;
private String name;
/**层级*/
@ApiModelProperty(value = "层级")
private java.lang.Integer level;
private Integer level;
/**创建人*/
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
private Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private java.lang.String orgCode;
private String orgCode;
/**删除状态(0-正常,1-删除)*/
@ApiModelProperty(value = "删除状态(0-正常,1-删除)")
private java.lang.String delFlag;
private String delFlag;
@TableField(exist = false)
@@ -1,10 +1,7 @@
package com.jero.modules.sys.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
@@ -14,12 +11,10 @@ import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
@@ -39,45 +34,45 @@ public class LawsWorkingGroupUser implements Serializable {
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
private String id;
/**人员ID*/
@Excel(name = "人员ID", width = 15)
@ApiModelProperty(value = "人员ID")
private java.lang.String userId;
private String userId;
/**内部工作组ID*/
@Excel(name = "内部工作组ID", width = 15)
@ApiModelProperty(value = "内部工作组ID")
private java.lang.String workingGroupId;
private String workingGroupId;
/**创建人*/
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
private Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private java.lang.String orgCode;
private String orgCode;
/**删除状态(0-正常,1-删除)*/
@ApiModelProperty(value = "删除状态(0-正常,1-删除)")
private java.lang.String delFlag;
private String delFlag;
@TableField(exist = false)
@ApiModelProperty(value = "姓名")
@@ -1,8 +1,5 @@
package com.jero.modules.sys.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.sys.entity.LawsFriendlyLinks;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -1,8 +1,5 @@
package com.jero.modules.sys.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.sys.entity.LawsWorkingGroup;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -1,8 +1,5 @@
package com.jero.modules.sys.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.sys.entity.LawsWorkingGroupUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -4,6 +4,8 @@ package com.jero.modules.sys.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.sys.entity.LawsGrade;
import java.util.List;
/**
* @Description: 级别
* @Author: jero-boot
@@ -12,4 +14,13 @@ import com.jero.modules.sys.entity.LawsGrade;
*/
public interface ILawsGradeService extends IService<LawsGrade> {
/**
* 级别-列表查询
*/
List<LawsGrade> queryList();
/**
* 编辑
*/
void edit(LawsGrade lawsGrade);
}
@@ -67,4 +67,23 @@ public interface ILawsWorkingGroupService extends IService<LawsWorkingGroup> {
* 查询所有未逻辑删除的数据
*/
List<LawsWorkingGroup> realList();
/**
* 对列表数据转树结构列表(pid为空当作开始节点)
*/
List<LawsWorkingGroup> convertToTree(List<LawsWorkingGroup> list);
/**
* 对列表数据转树结构列表(指定开始节点)
*/
LawsWorkingGroup convertToTreeById(List<LawsWorkingGroup> list, String id);
/**
* 获取指定节点以及所有子节点ID
* @param list 所有数据集合
* @param id 指定节点ID
* @param ids 指定节点以及所有子节点ID
* @return
*/
List<String> allChildIdById(List<LawsWorkingGroup> list, String id, List<String> ids);
}
@@ -73,4 +73,10 @@ public interface ILawsWorkingGroupUserService extends IService<LawsWorkingGroupU
* @return
*/
LawsWorkingGroupUser queryById(String id);
/**
* 为人员赋值姓名、工号、角色、岗位
*/
public void userAssignment(List<LawsWorkingGroupUser> list);
}
@@ -1,12 +1,24 @@
package com.jero.modules.sys.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.sys.entity.LawsEnterpriseStandardLevel;
import com.jero.modules.sys.entity.LawsGrade;
import com.jero.modules.sys.mapper.LawsGradeMapper;
import com.jero.modules.sys.service.ILawsEnterpriseStandardLevelService;
import com.jero.modules.sys.service.ILawsGradeService;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.service.ISysDepartService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Description: 级别
* @Author: jero-boot
@@ -16,4 +28,51 @@ import org.springframework.stereotype.Service;
@Service
public class LawsGradeServiceImpl extends ServiceImpl<LawsGradeMapper, LawsGrade> implements ILawsGradeService {
@Autowired
private ILawsGradeService lawsGradeService;
@Autowired
private ILawsEnterpriseStandardLevelService lawsEnterpriseStandardLevelService;
@Autowired
private ISysDepartService sysDepartService;
@Override
public List<LawsGrade> queryList() {
List<LawsGrade> grades = lawsGradeService.list();
List<LawsEnterpriseStandardLevel> standardLevels = lawsEnterpriseStandardLevelService.list();
if (standardLevels == null || standardLevels.size() == 0 || grades == null || grades.size() == 0){
return new ArrayList<>();
}
Map<String, List<LawsEnterpriseStandardLevel>> map = standardLevels.stream().collect(Collectors.groupingBy(LawsEnterpriseStandardLevel::getGradeId));
for (LawsGrade grade : grades) {
List<LawsEnterpriseStandardLevel> levels = map.get(grade.getId());
if (levels != null && levels.size() > 0){
List<String> collect = levels.stream().map(LawsEnterpriseStandardLevel::getDeptId).distinct().collect(Collectors.toList());
List<SysDepart> sysDepartList = sysDepartService.listByIds(collect);
String departNames = sysDepartList.stream().map(SysDepart::getDepartName).collect(Collectors.joining(","));
grade.setDeptNames(departNames);
}
}
return grades;
}
@Override
public void edit(LawsGrade lawsGrade) {
//每次更新都删除原有的所有关联部门,重新添加
LambdaQueryWrapper<LawsEnterpriseStandardLevel> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(LawsEnterpriseStandardLevel::getGradeId, lawsGrade.getId());
lawsEnterpriseStandardLevelService.remove(wrapper);
List<LawsEnterpriseStandardLevel> levels = new ArrayList<>();
String deptIds = lawsGrade.getDeptIds();
String id = lawsGrade.getId();
List<String> deptIdList = Arrays.stream(deptIds.split(",")).distinct().collect(Collectors.toList());
for (String deptId : deptIdList) {
LawsEnterpriseStandardLevel level = new LawsEnterpriseStandardLevel();
level.setDeptId(deptId);
level.setGradeId(id);
levels.add(level);
}
lawsEnterpriseStandardLevelService.saveBatch(levels);
lawsGradeService.updateById(lawsGrade);
}
}
@@ -4,11 +4,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.modules.sys.entity.LawsWorkingGroup;
import com.jero.modules.sys.mapper.LawsWorkingGroupMapper;
import com.jero.modules.sys.service.ILawsWorkingGroupService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.jero.common.exception.JeroBootException;
import java.util.ArrayList;
import java.util.List;
import java.util.Date;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.query.QueryGenerator;
import javax.servlet.http.HttpServletRequest;
@@ -103,4 +108,83 @@ public class LawsWorkingGroupServiceImpl extends ServiceImpl<LawsWorkingGroupMap
List<LawsWorkingGroup> list = list(wrapper);
return list;
}
/**
* 对列表数据转树结构列表(pid为空当作开始节点)
*/
@Override
public List<LawsWorkingGroup> convertToTree(List<LawsWorkingGroup> list) {
if (list == null || list.size() == 0){
return new ArrayList<>();
}
List<LawsWorkingGroup> treeList = new ArrayList<>();
for (LawsWorkingGroup group : list) {
if (StringUtils.isBlank(group.getPid())) {
group.setLevel(1);
addChildGroups(group, list);
treeList.add(group);
}
}
return treeList;
}
private void addChildGroups(LawsWorkingGroup parentGroup, List<LawsWorkingGroup> list) {
List<LawsWorkingGroup> childGroups = new ArrayList<>();
for (LawsWorkingGroup group : list) {
if (StringUtils.isNotBlank(group.getPid()) && parentGroup.getId().equals(group.getPid())) {
group.setLevel(parentGroup.getLevel() + 1);
addChildGroups(group, list);
childGroups.add(group);
}
}
parentGroup.setSubset(childGroups);
}
/**
* 对列表数据转树结构列表(指定开始节点)
*/
@Override
public LawsWorkingGroup convertToTreeById(List<LawsWorkingGroup> list, String id) {
if (list == null || list.size() == 0 || StringUtils.isBlank(id)){
return null;
}
LawsWorkingGroup root = null;
for (LawsWorkingGroup group : list) {
if (group.getId().equals(id)) {
root = group;
break;
}
}
if (root == null) {
return null; // 如果没有找到指定的id,返回null
}
addChildGroupsById(root, list);
return root;
}
private void addChildGroupsById(LawsWorkingGroup parentGroup, List<LawsWorkingGroup> list) {
List<LawsWorkingGroup> childGroups = new ArrayList<>();
for (LawsWorkingGroup group : list) {
if (StringUtils.isNotBlank(group.getPid()) && parentGroup.getId().equals(group.getPid())) {
addChildGroupsById(group, list);
childGroups.add(group);
}
}
parentGroup.setSubset(childGroups);
}
/**
* 获取指定节点以及所有子节点ID
*/
@Override
public List<String> allChildIdById(List<LawsWorkingGroup> list, String id, List<String> ids) {
if (list == null || list.size() == 0){
return new ArrayList<>();
}
List<String> collect = list.stream().filter(LawsWorkingGroup -> id.equals(LawsWorkingGroup.getPid())).map(LawsWorkingGroup::getId).collect(Collectors.toList());
for (String s : collect) {
allChildIdById(list, s, ids);
}
ids.add(id);
return ids;
}
}
@@ -1,14 +1,24 @@
package com.jero.modules.sys.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.modules.sys.entity.LawsWorkingGroupUser;
import com.jero.modules.sys.mapper.LawsWorkingGroupUserMapper;
import com.jero.modules.sys.service.ILawsWorkingGroupUserService;
import com.jero.modules.system.entity.SysRole;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysRoleService;
import com.jero.modules.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.jero.common.exception.JeroBootException;
import java.util.HashMap;
import java.util.List;
import java.util.Date;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.query.QueryGenerator;
import javax.servlet.http.HttpServletRequest;
@@ -26,6 +36,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@Transactional(rollbackFor = JeroBootException.class)
public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGroupUserMapper, LawsWorkingGroupUser> implements ILawsWorkingGroupUserService {
@Autowired
private ISysUserService sysUserService;
@Autowired
private ISysRoleService sysRoleService;
/**
* 分页查询
@@ -115,4 +129,34 @@ public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGrou
public LawsWorkingGroupUser queryById(String id) {
return getById(id);
}
/**
* 为人员赋值姓名、工号、角色、岗位
*/
@Override
public void userAssignment(List<LawsWorkingGroupUser> list){
if (list == null || list.size() == 0){
return;
}
List<String> collect = list.stream().map(LawsWorkingGroupUser::getUserId).distinct().collect(Collectors.toList());
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SysUser::getId, collect);
List<SysUser> sysUsers = sysUserService.list(wrapper);
HashMap<String, SysUser> map = new HashMap<>();
sysUsers.forEach(user -> map.put(user.getId(), user));
for (LawsWorkingGroupUser user : list) {
SysUser sysUser = map.get(user.getId());
if (sysUser == null){
continue;
}
user.setUserName(sysUser.getRealname());
user.setUserWorkNo(sysUser.getWorkNo());
LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysRole::getId, user.getId());
List<SysRole> sysRoles = sysRoleService.list(queryWrapper);
String roleNames = sysRoles.stream().map(SysRole::getRoleName).collect(Collectors.joining(","));
user.setUserRoleName(roleNames);
user.setUserPostName("岗位xxx");
}
}
}