From c9aa50fb4c0916544dd920cb1f7ea24c2346d74c Mon Sep 17 00:00:00 2001 From: caozhen <18736171426@139.com> Date: Thu, 7 Sep 2023 11:30:15 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=85=AC=E7=94=A8=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E4=BB=8Econtroller=E6=8C=AA=E5=88=B0service,=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E7=94=A8=E5=88=B0=E7=9A=84import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/controller/LawsGradeController.java | 48 +---------- .../LawsWorkingGroupController.java | 76 +---------------- .../LawsWorkingGroupUserController.java | 57 +------------ .../entity/LawsEnterpriseStandardLevel.java | 5 +- .../modules/sys/entity/LawsWorkingGroup.java | 21 ++--- .../sys/entity/LawsWorkingGroupUser.java | 23 ++--- .../sys/mapper/LawsFriendlyLinksMapper.java | 3 - .../sys/mapper/LawsWorkingGroupMapper.java | 3 - .../mapper/LawsWorkingGroupUserMapper.java | 3 - .../sys/service/ILawsGradeService.java | 11 +++ .../sys/service/ILawsWorkingGroupService.java | 19 +++++ .../service/ILawsWorkingGroupUserService.java | 6 ++ .../service/impl/LawsGradeServiceImpl.java | 59 +++++++++++++ .../impl/LawsWorkingGroupServiceImpl.java | 84 +++++++++++++++++++ .../impl/LawsWorkingGroupUserServiceImpl.java | 44 ++++++++++ 15 files changed, 257 insertions(+), 205 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsGradeController.java b/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsGradeController.java index 44d2d6b1..19da4c65 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsGradeController.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsGradeController.java @@ -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 { @Autowired private ILawsGradeService lawsGradeService; - @Autowired - private ILawsEnterpriseStandardLevelService lawsEnterpriseStandardLevelService; - @Autowired - private ISysDepartService sysDepartService; + /** * 查询 @@ -52,18 +38,7 @@ public class LawsGradeController extends JeroController> queryList() { - List grades = lawsGradeService.list(); - List standardLevels = lawsEnterpriseStandardLevelService.list(); - Map> map = standardLevels.stream().collect(Collectors.groupingBy(LawsEnterpriseStandardLevel::getGradeId)); - for (LawsGrade grade : grades) { - List levels = map.get(grade.getId()); - if (levels != null && levels.size() > 0){ - List collect = levels.stream().map(LawsEnterpriseStandardLevel::getDeptId).distinct().collect(Collectors.toList()); - List sysDepartList = sysDepartService.listByIds(collect); - String departNames = sysDepartList.stream().map(SysDepart::getDepartName).collect(Collectors.joining(",")); - grade.setDeptNames(departNames); - } - } + List grades = lawsGradeService.queryList(); return Result.OK(grades); } @@ -73,25 +48,8 @@ public class LawsGradeController extends JeroController edit(@Validated @RequestBody LawsGrade lawsGrade) { - //每次更新都删除原有的所有关联部门,重新添加 - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(LawsEnterpriseStandardLevel::getGradeId, lawsGrade.getId()); - boolean remove = lawsEnterpriseStandardLevelService.remove(wrapper); - - List levels = new ArrayList<>(); - String deptIds = lawsGrade.getDeptIds(); - String id = lawsGrade.getId(); - List 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("操作成功!"); } } diff --git a/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsWorkingGroupController.java b/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsWorkingGroupController.java index be765666..96788a10 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsWorkingGroupController.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsWorkingGroupController.java @@ -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> queryList(LawsWorkingGroup lawsWorkingGroup, HttpServletRequest req) { lawsWorkingGroup.setDelFlag("0"); List list = lawsWorkingGroupService.queryList(lawsWorkingGroup, req); - List toTree = this.convertToTree(list); + List toTree = lawsWorkingGroupService.convertToTree(list); return Result.OK(toTree); } - //对列表数据转树结构列表 - public List convertToTree(List list) { - List 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 list) { - List 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 list = lawsWorkingGroupService.realList(); - LawsWorkingGroup workingGroup = convertToTreeById(list, id); + LawsWorkingGroup workingGroup = lawsWorkingGroupService.convertToTreeById(list, id); return Result.OK(workingGroup); } - public LawsWorkingGroup convertToTreeById(List 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 list) { - List 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 ids = new ArrayList<>(); List list = lawsWorkingGroupService.realList(); - ids = this.allChildIdById(list, map.get("id"), ids); + ids = lawsWorkingGroupService.allChildIdById(list, map.get("id"), ids); if (ids.size() > 0){ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); wrapper.in(LawsWorkingGroup::getId, ids); @@ -178,13 +117,6 @@ public class LawsWorkingGroupController extends JeroController allChildIdById(List list, String id, List ids) { - List 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; - } + } diff --git a/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsWorkingGroupUserController.java b/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsWorkingGroupUserController.java index 357884ae..8461cef1 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsWorkingGroupUserController.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsWorkingGroupUserController.java @@ -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 { @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 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> queryList(LawsWorkingGroupUser lawsWorkingGroupUser, HttpServletRequest req) { lawsWorkingGroupUser.setDelFlag("0"); List list = lawsWorkingGroupUserService.queryList(lawsWorkingGroupUser, req); - this.userAssignment(list); + lawsWorkingGroupUserService.userAssignment(list); return Result.OK(list); } - /** - * 赋值姓名、工号、角色、岗位 - */ - public void userAssignment(List list){ - if (list == null || list.size() == 0){ - return; - } - List collect = list.stream().map(LawsWorkingGroupUser::getUserId).distinct().collect(Collectors.toList()); - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.in(SysUser::getId, collect); - List sysUsers = sysUserService.list(wrapper); - HashMap 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 queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysRole::getId, user.getId()); - List 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 importExcel(HttpServletRequest request, HttpServletResponse response) { diff --git a/laws-modules/src/main/java/com/jero/modules/sys/entity/LawsEnterpriseStandardLevel.java b/laws-modules/src/main/java/com/jero/modules/sys/entity/LawsEnterpriseStandardLevel.java index 41e0880a..32ed8477 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/entity/LawsEnterpriseStandardLevel.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/entity/LawsEnterpriseStandardLevel.java @@ -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 = "所属部门") diff --git a/laws-modules/src/main/java/com/jero/modules/sys/entity/LawsWorkingGroup.java b/laws-modules/src/main/java/com/jero/modules/sys/entity/LawsWorkingGroup.java index e06042b7..421467d3 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/entity/LawsWorkingGroup.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/entity/LawsWorkingGroup.java @@ -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) diff --git a/laws-modules/src/main/java/com/jero/modules/sys/entity/LawsWorkingGroupUser.java b/laws-modules/src/main/java/com/jero/modules/sys/entity/LawsWorkingGroupUser.java index 5df36c7a..7874932d 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/entity/LawsWorkingGroupUser.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/entity/LawsWorkingGroupUser.java @@ -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 = "姓名") diff --git a/laws-modules/src/main/java/com/jero/modules/sys/mapper/LawsFriendlyLinksMapper.java b/laws-modules/src/main/java/com/jero/modules/sys/mapper/LawsFriendlyLinksMapper.java index 90941358..085668f4 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/mapper/LawsFriendlyLinksMapper.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/mapper/LawsFriendlyLinksMapper.java @@ -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; diff --git a/laws-modules/src/main/java/com/jero/modules/sys/mapper/LawsWorkingGroupMapper.java b/laws-modules/src/main/java/com/jero/modules/sys/mapper/LawsWorkingGroupMapper.java index 85c073bb..dd05f6eb 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/mapper/LawsWorkingGroupMapper.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/mapper/LawsWorkingGroupMapper.java @@ -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; diff --git a/laws-modules/src/main/java/com/jero/modules/sys/mapper/LawsWorkingGroupUserMapper.java b/laws-modules/src/main/java/com/jero/modules/sys/mapper/LawsWorkingGroupUserMapper.java index 750bda85..451d97e3 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/mapper/LawsWorkingGroupUserMapper.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/mapper/LawsWorkingGroupUserMapper.java @@ -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; diff --git a/laws-modules/src/main/java/com/jero/modules/sys/service/ILawsGradeService.java b/laws-modules/src/main/java/com/jero/modules/sys/service/ILawsGradeService.java index 4db61fb4..74224db0 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/service/ILawsGradeService.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/service/ILawsGradeService.java @@ -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 { + /** + * 级别-列表查询 + */ + List queryList(); + + /** + * 编辑 + */ + void edit(LawsGrade lawsGrade); } diff --git a/laws-modules/src/main/java/com/jero/modules/sys/service/ILawsWorkingGroupService.java b/laws-modules/src/main/java/com/jero/modules/sys/service/ILawsWorkingGroupService.java index c6e80cee..a1b954ba 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/service/ILawsWorkingGroupService.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/service/ILawsWorkingGroupService.java @@ -67,4 +67,23 @@ public interface ILawsWorkingGroupService extends IService { * 查询所有未逻辑删除的数据 */ List realList(); + + /** + * 对列表数据转树结构列表(pid为空当作开始节点) + */ + List convertToTree(List list); + + /** + * 对列表数据转树结构列表(指定开始节点) + */ + LawsWorkingGroup convertToTreeById(List list, String id); + + /** + * 获取指定节点以及所有子节点ID + * @param list 所有数据集合 + * @param id 指定节点ID + * @param ids 指定节点以及所有子节点ID + * @return + */ + List allChildIdById(List list, String id, List ids); } diff --git a/laws-modules/src/main/java/com/jero/modules/sys/service/ILawsWorkingGroupUserService.java b/laws-modules/src/main/java/com/jero/modules/sys/service/ILawsWorkingGroupUserService.java index f9a18485..78958d31 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/service/ILawsWorkingGroupUserService.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/service/ILawsWorkingGroupUserService.java @@ -73,4 +73,10 @@ public interface ILawsWorkingGroupUserService extends IService list); } diff --git a/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsGradeServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsGradeServiceImpl.java index 2fd65e3f..fd310738 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsGradeServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsGradeServiceImpl.java @@ -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 implements ILawsGradeService { + @Autowired + private ILawsGradeService lawsGradeService; + @Autowired + private ILawsEnterpriseStandardLevelService lawsEnterpriseStandardLevelService; + @Autowired + private ISysDepartService sysDepartService; + + @Override + public List queryList() { + List grades = lawsGradeService.list(); + List standardLevels = lawsEnterpriseStandardLevelService.list(); + if (standardLevels == null || standardLevels.size() == 0 || grades == null || grades.size() == 0){ + return new ArrayList<>(); + } + Map> map = standardLevels.stream().collect(Collectors.groupingBy(LawsEnterpriseStandardLevel::getGradeId)); + for (LawsGrade grade : grades) { + List levels = map.get(grade.getId()); + if (levels != null && levels.size() > 0){ + List collect = levels.stream().map(LawsEnterpriseStandardLevel::getDeptId).distinct().collect(Collectors.toList()); + List 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 wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(LawsEnterpriseStandardLevel::getGradeId, lawsGrade.getId()); + lawsEnterpriseStandardLevelService.remove(wrapper); + + List levels = new ArrayList<>(); + String deptIds = lawsGrade.getDeptIds(); + String id = lawsGrade.getId(); + List 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); + } } diff --git a/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsWorkingGroupServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsWorkingGroupServiceImpl.java index 3097dffd..c6222b0e 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsWorkingGroupServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsWorkingGroupServiceImpl.java @@ -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 list = list(wrapper); return list; } + + /** + * 对列表数据转树结构列表(pid为空当作开始节点) + */ + @Override + public List convertToTree(List list) { + if (list == null || list.size() == 0){ + return new ArrayList<>(); + } + List 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 list) { + List 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 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 list) { + List 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 allChildIdById(List list, String id, List ids) { + if (list == null || list.size() == 0){ + return new ArrayList<>(); + } + List 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; + } } diff --git a/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsWorkingGroupUserServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsWorkingGroupUserServiceImpl.java index b89b2cbc..a5f63e4d 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsWorkingGroupUserServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsWorkingGroupUserServiceImpl.java @@ -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 implements ILawsWorkingGroupUserService { + @Autowired + private ISysUserService sysUserService; + @Autowired + private ISysRoleService sysRoleService; /** * 分页查询 @@ -115,4 +129,34 @@ public class LawsWorkingGroupUserServiceImpl extends ServiceImpl list){ + if (list == null || list.size() == 0){ + return; + } + List collect = list.stream().map(LawsWorkingGroupUser::getUserId).distinct().collect(Collectors.toList()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(SysUser::getId, collect); + List sysUsers = sysUserService.list(wrapper); + HashMap 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 queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysRole::getId, user.getId()); + List sysRoles = sysRoleService.list(queryWrapper); + String roleNames = sysRoles.stream().map(SysRole::getRoleName).collect(Collectors.joining(",")); + user.setUserRoleName(roleNames); + user.setUserPostName("岗位xxx"); + } + } } From 54437c59db17bd365519c0367e2197249ddd83fd Mon Sep 17 00:00:00 2001 From: caozhen <18736171426@139.com> Date: Thu, 7 Sep 2023 12:02:09 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=88=A4=E6=96=AD=E7=BA=A7=E5=88=AB-?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=97=B6=E9=80=89=E6=8B=A9id,=E7=BA=A7?= =?UTF-8?q?=E5=88=AB=E6=9F=A5=E8=AF=A2=E5=9B=9E=E6=98=BE=E9=83=A8=E9=97=A8?= =?UTF-8?q?id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/modules/sys/controller/LawsGradeController.java | 4 ++++ .../jero/modules/sys/service/impl/LawsGradeServiceImpl.java | 2 ++ 2 files changed, 6 insertions(+) diff --git a/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsGradeController.java b/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsGradeController.java index 19da4c65..b524c4de 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsGradeController.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/controller/LawsGradeController.java @@ -8,6 +8,7 @@ import com.jero.modules.sys.service.ILawsGradeService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -49,6 +50,9 @@ public class LawsGradeController extends JeroController edit(@Validated @RequestBody LawsGrade lawsGrade) { + if (StringUtils.isBlank(lawsGrade.getId())){ + return Result.error("请选择数据!"); + } lawsGradeService.edit(lawsGrade); return Result.OK("操作成功!"); } diff --git a/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsGradeServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsGradeServiceImpl.java index fd310738..08765d09 100644 --- a/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsGradeServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/sys/service/impl/LawsGradeServiceImpl.java @@ -49,7 +49,9 @@ public class LawsGradeServiceImpl extends ServiceImpl collect = levels.stream().map(LawsEnterpriseStandardLevel::getDeptId).distinct().collect(Collectors.toList()); List sysDepartList = sysDepartService.listByIds(collect); String departNames = sysDepartList.stream().map(SysDepart::getDepartName).collect(Collectors.joining(",")); + String departIds = sysDepartList.stream().map(SysDepart::getId).collect(Collectors.joining(",")); grade.setDeptNames(departNames); + grade.setDeptIds(departIds); } } return grades;