Merge remote-tracking branch 'origin/master'

This commit is contained in:
2023-09-07 13:44:58 +08:00
15 changed files with 262 additions and 204 deletions
@@ -1,30 +1,20 @@
package com.jero.modules.sys.controller; 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.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController; 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.entity.LawsGrade;
import com.jero.modules.sys.service.ILawsEnterpriseStandardLevelService;
import com.jero.modules.sys.service.ILawsGradeService; 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.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T; import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired; 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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
@@ -40,10 +30,7 @@ import java.util.stream.Collectors;
public class LawsGradeController extends JeroController<LawsGrade, ILawsGradeService> { public class LawsGradeController extends JeroController<LawsGrade, ILawsGradeService> {
@Autowired @Autowired
private ILawsGradeService lawsGradeService; private ILawsGradeService lawsGradeService;
@Autowired
private ILawsEnterpriseStandardLevelService lawsEnterpriseStandardLevelService;
@Autowired
private ISysDepartService sysDepartService;
/** /**
* 查询 * 查询
@@ -52,18 +39,7 @@ public class LawsGradeController extends JeroController<LawsGrade, ILawsGradeSer
@ApiOperation(value="级别-列表查询", notes="级别-列表查询") @ApiOperation(value="级别-列表查询", notes="级别-列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public Result<List<LawsGrade>> queryList() { public Result<List<LawsGrade>> queryList() {
List<LawsGrade> grades = lawsGradeService.list(); List<LawsGrade> grades = lawsGradeService.queryList();
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);
}
}
return Result.OK(grades); return Result.OK(grades);
} }
@@ -73,25 +49,11 @@ public class LawsGradeController extends JeroController<LawsGrade, ILawsGradeSer
@AutoLog(value = "级别-编辑") @AutoLog(value = "级别-编辑")
@ApiOperation(value="级别-编辑", notes="级别-编辑") @ApiOperation(value="级别-编辑", notes="级别-编辑")
@PostMapping(value = "/edit") @PostMapping(value = "/edit")
@Transactional
public Result<T> edit(@Validated @RequestBody LawsGrade lawsGrade) { public Result<T> edit(@Validated @RequestBody LawsGrade lawsGrade) {
//每次更新都删除原有的所有关联部门,重新添加 if (StringUtils.isBlank(lawsGrade.getId())){
LambdaQueryWrapper<LawsEnterpriseStandardLevel> wrapper = new LambdaQueryWrapper<>(); return Result.error("请选择数据!");
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); lawsGradeService.edit(lawsGrade);
boolean update = lawsGradeService.updateById(lawsGrade);
return Result.OK("操作成功!"); return Result.OK("操作成功!");
} }
} }
@@ -3,7 +3,6 @@ package com.jero.modules.sys.controller;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 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) { public Result<List<LawsWorkingGroup>> queryList(LawsWorkingGroup lawsWorkingGroup, HttpServletRequest req) {
lawsWorkingGroup.setDelFlag("0"); lawsWorkingGroup.setDelFlag("0");
List<LawsWorkingGroup> list = lawsWorkingGroupService.queryList(lawsWorkingGroup, req); List<LawsWorkingGroup> list = lawsWorkingGroupService.queryList(lawsWorkingGroup, req);
List<LawsWorkingGroup> toTree = this.convertToTree(list); List<LawsWorkingGroup> toTree = lawsWorkingGroupService.convertToTree(list);
return Result.OK(toTree); 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查询 * 通过id查询
*
* @param id
* @return
*/ */
@AutoLog(value = "内部工作组-通过id查询") @AutoLog(value = "内部工作组-通过id查询")
@ApiOperation(value="内部工作组-通过id查询", notes="内部工作组-通过id查询") @ApiOperation(value="内部工作组-通过id查询", notes="内部工作组-通过id查询")
@@ -89,40 +61,13 @@ public class LawsWorkingGroupController extends JeroController<LawsWorkingGroup,
} }
// 通过递归查找所有子节点数据 // 通过递归查找所有子节点数据
List<LawsWorkingGroup> list = lawsWorkingGroupService.realList(); List<LawsWorkingGroup> list = lawsWorkingGroupService.realList();
LawsWorkingGroup workingGroup = convertToTreeById(list, id); LawsWorkingGroup workingGroup = lawsWorkingGroupService.convertToTreeById(list, id);
return Result.OK(workingGroup); 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 = "内部工作组-添加") @AutoLog(value = "内部工作组-添加")
@ApiOperation(value="内部工作组-添加", notes="内部工作组-添加") @ApiOperation(value="内部工作组-添加", notes="内部工作组-添加")
@@ -142,9 +87,6 @@ public class LawsWorkingGroupController extends JeroController<LawsWorkingGroup,
/** /**
* 编辑 * 编辑
*
* @param lawsWorkingGroup
* @return
*/ */
@AutoLog(value = "内部工作组-编辑") @AutoLog(value = "内部工作组-编辑")
@ApiOperation(value="内部工作组-编辑", notes="内部工作组-编辑") @ApiOperation(value="内部工作组-编辑", notes="内部工作组-编辑")
@@ -156,9 +98,6 @@ public class LawsWorkingGroupController extends JeroController<LawsWorkingGroup,
/** /**
* 通过id删除 * 通过id删除
*
* @param map
* @return
*/ */
@AutoLog(value = "内部工作组-通过id删除") @AutoLog(value = "内部工作组-通过id删除")
@ApiOperation(value="内部工作组-通过id删除", notes="内部工作组-通过id删除") @ApiOperation(value="内部工作组-通过id删除", notes="内部工作组-通过id删除")
@@ -169,7 +108,7 @@ public class LawsWorkingGroupController extends JeroController<LawsWorkingGroup,
} }
List<String> ids = new ArrayList<>(); List<String> ids = new ArrayList<>();
List<LawsWorkingGroup> list = lawsWorkingGroupService.realList(); 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){ if (ids.size() > 0){
LambdaUpdateWrapper<LawsWorkingGroup> wrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<LawsWorkingGroup> wrapper = new LambdaUpdateWrapper<>();
wrapper.in(LawsWorkingGroup::getId, ids); wrapper.in(LawsWorkingGroup::getId, ids);
@@ -178,13 +117,6 @@ public class LawsWorkingGroupController extends JeroController<LawsWorkingGroup,
} }
return Result.OK("删除成功!"); 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; package com.jero.modules.sys.controller;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.modules.sys.entity.LawsWorkingGroupUser; import com.jero.modules.sys.entity.LawsWorkingGroupUser;
import com.jero.modules.sys.service.ILawsWorkingGroupUserService; import com.jero.modules.sys.service.ILawsWorkingGroupUserService;
import com.baomidou.mybatisplus.core.metadata.IPage; 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 lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
import org.springframework.beans.factory.annotation.Autowired; 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> { public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGroupUser, ILawsWorkingGroupUserService> {
@Autowired @Autowired
private ILawsWorkingGroupUserService lawsWorkingGroupUserService; private ILawsWorkingGroupUserService lawsWorkingGroupUserService;
@Autowired
private ISysUserService sysUserService;
@Autowired
private ISysRoleService sysRoleService;
/** /**
* 分页列表查询 * 分页列表查询
*
* @param lawsWorkingGroupUser
* @param pageNo
* @param pageSize
* @param req
* @return
*/ */
@AutoLog(value = "内部工作组人员关联表-分页列表查询") @AutoLog(value = "内部工作组人员关联表-分页列表查询")
@ApiOperation(value="内部工作组人员关联表-分页列表查询", notes="内部工作组人员关联表-分页列表查询") @ApiOperation(value="内部工作组人员关联表-分页列表查询", notes="内部工作组人员关联表-分页列表查询")
@@ -63,7 +48,7 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
HttpServletRequest req) { HttpServletRequest req) {
lawsWorkingGroupUser.setDelFlag("0"); lawsWorkingGroupUser.setDelFlag("0");
IPage<LawsWorkingGroupUser> pageList = lawsWorkingGroupUserService.queryPage(lawsWorkingGroupUser, pageNo, pageSize, req); IPage<LawsWorkingGroupUser> pageList = lawsWorkingGroupUserService.queryPage(lawsWorkingGroupUser, pageNo, pageSize, req);
this.userAssignment(pageList.getRecords()); lawsWorkingGroupUserService.userAssignment(pageList.getRecords());
return Result.OK(pageList); return Result.OK(pageList);
} }
@@ -76,38 +61,11 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
public Result<List<LawsWorkingGroupUser>> queryList(LawsWorkingGroupUser lawsWorkingGroupUser, HttpServletRequest req) { public Result<List<LawsWorkingGroupUser>> queryList(LawsWorkingGroupUser lawsWorkingGroupUser, HttpServletRequest req) {
lawsWorkingGroupUser.setDelFlag("0"); lawsWorkingGroupUser.setDelFlag("0");
List<LawsWorkingGroupUser> list = lawsWorkingGroupUserService.queryList(lawsWorkingGroupUser, req); List<LawsWorkingGroupUser> list = lawsWorkingGroupUserService.queryList(lawsWorkingGroupUser, req);
this.userAssignment(list); lawsWorkingGroupUserService.userAssignment(list);
return Result.OK(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 * 导出excel
*
* @param request
* @param lawsWorkingGroupUser
*/ */
@RequestMapping(value = "/exportXls") @RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, LawsWorkingGroupUser lawsWorkingGroupUser) { public ModelAndView exportXls(HttpServletRequest request, LawsWorkingGroupUser lawsWorkingGroupUser) {
@@ -154,10 +109,6 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
/** /**
* 通过excel导入数据 * 通过excel导入数据
*
* @param request
* @param response
* @return
*/ */
@RequestMapping(value = "/importExcel", method = RequestMethod.POST) @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<LawsWorkingGroupUser> importExcel(HttpServletRequest request, HttpServletResponse response) { public Result<LawsWorkingGroupUser> importExcel(HttpServletRequest request, HttpServletResponse response) {
@@ -12,6 +12,7 @@ import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable; 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") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期") @ApiModelProperty(value = "创建日期")
private java.util.Date createTime; private Date createTime;
/**更新人*/ /**更新人*/
@ApiModelProperty(value = "更新人") @ApiModelProperty(value = "更新人")
@@ -59,7 +60,7 @@ public class LawsEnterpriseStandardLevel implements Serializable {
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期") @ApiModelProperty(value = "更新日期")
private java.util.Date updateTime; private Date updateTime;
/**所属部门*/ /**所属部门*/
@ApiModelProperty(value = "所属部门") @ApiModelProperty(value = "所属部门")
@@ -1,6 +1,7 @@
package com.jero.modules.sys.entity; package com.jero.modules.sys.entity;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
@@ -33,47 +34,47 @@ public class LawsWorkingGroup implements Serializable {
/**主键*/ /**主键*/
@TableId(type = IdType.ASSIGN_ID) @TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键") @ApiModelProperty(value = "主键")
private java.lang.String id; private String id;
/**父级节点*/ /**父级节点*/
@ApiModelProperty(value = "父级节点") @ApiModelProperty(value = "父级节点")
private java.lang.String pid; private String pid;
/**名称*/ /**名称*/
@ApiModelProperty(value = "名称") @ApiModelProperty(value = "名称")
private java.lang.String name; private String name;
/**层级*/ /**层级*/
@ApiModelProperty(value = "层级") @ApiModelProperty(value = "层级")
private java.lang.Integer level; private Integer level;
/**创建人*/ /**创建人*/
@ApiModelProperty(value = "创建人") @ApiModelProperty(value = "创建人")
private java.lang.String createBy; private String createBy;
/**创建日期*/ /**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期") @ApiModelProperty(value = "创建日期")
private java.util.Date createTime; private Date createTime;
/**更新人*/ /**更新人*/
@ApiModelProperty(value = "更新人") @ApiModelProperty(value = "更新人")
private java.lang.String updateBy; private String updateBy;
/**更新日期*/ /**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期") @ApiModelProperty(value = "更新日期")
private java.util.Date updateTime; private Date updateTime;
/**所属部门*/ /**所属部门*/
@ApiModelProperty(value = "所属部门") @ApiModelProperty(value = "所属部门")
private java.lang.String orgCode; private String orgCode;
/**删除状态(0-正常,1-删除)*/ /**删除状态(0-正常,1-删除)*/
@ApiModelProperty(value = "删除状态(0-正常,1-删除)") @ApiModelProperty(value = "删除状态(0-正常,1-删除)")
private java.lang.String delFlag; private String delFlag;
@TableField(exist = false) @TableField(exist = false)
@@ -1,10 +1,7 @@
package com.jero.modules.sys.entity; package com.jero.modules.sys.entity;
import java.io.Serializable; import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date; import java.util.Date;
import java.math.BigDecimal;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
@@ -14,12 +11,10 @@ import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecgframework.poi.excel.annotation.Excel;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; 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) @TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键") @ApiModelProperty(value = "主键")
private java.lang.String id; private String id;
/**人员ID*/ /**人员ID*/
@Excel(name = "人员ID", width = 15) @Excel(name = "人员ID", width = 15)
@ApiModelProperty(value = "人员ID") @ApiModelProperty(value = "人员ID")
private java.lang.String userId; private String userId;
/**内部工作组ID*/ /**内部工作组ID*/
@Excel(name = "内部工作组ID", width = 15) @Excel(name = "内部工作组ID", width = 15)
@ApiModelProperty(value = "内部工作组ID") @ApiModelProperty(value = "内部工作组ID")
private java.lang.String workingGroupId; private String workingGroupId;
/**创建人*/ /**创建人*/
@ApiModelProperty(value = "创建人") @ApiModelProperty(value = "创建人")
private java.lang.String createBy; private String createBy;
/**创建日期*/ /**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期") @ApiModelProperty(value = "创建日期")
private java.util.Date createTime; private Date createTime;
/**更新人*/ /**更新人*/
@ApiModelProperty(value = "更新人") @ApiModelProperty(value = "更新人")
private java.lang.String updateBy; private String updateBy;
/**更新日期*/ /**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期") @ApiModelProperty(value = "更新日期")
private java.util.Date updateTime; private Date updateTime;
/**所属部门*/ /**所属部门*/
@ApiModelProperty(value = "所属部门") @ApiModelProperty(value = "所属部门")
private java.lang.String orgCode; private String orgCode;
/**删除状态(0-正常,1-删除)*/ /**删除状态(0-正常,1-删除)*/
@ApiModelProperty(value = "删除状态(0-正常,1-删除)") @ApiModelProperty(value = "删除状态(0-正常,1-删除)")
private java.lang.String delFlag; private String delFlag;
@TableField(exist = false) @TableField(exist = false)
@ApiModelProperty(value = "姓名") @ApiModelProperty(value = "姓名")
@@ -1,8 +1,5 @@
package com.jero.modules.sys.mapper; 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.jero.modules.sys.entity.LawsFriendlyLinks;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -1,8 +1,5 @@
package com.jero.modules.sys.mapper; 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.jero.modules.sys.entity.LawsWorkingGroup;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -1,8 +1,5 @@
package com.jero.modules.sys.mapper; 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.jero.modules.sys.entity.LawsWorkingGroupUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.sys.entity.LawsGrade; import com.jero.modules.sys.entity.LawsGrade;
import java.util.List;
/** /**
* @Description: 级别 * @Description: 级别
* @Author: jero-boot * @Author: jero-boot
@@ -12,4 +14,13 @@ import com.jero.modules.sys.entity.LawsGrade;
*/ */
public interface ILawsGradeService extends IService<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(); 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 * @return
*/ */
LawsWorkingGroupUser queryById(String id); LawsWorkingGroupUser queryById(String id);
/**
* 为人员赋值姓名、工号、角色、岗位
*/
public void userAssignment(List<LawsWorkingGroupUser> list);
} }
@@ -1,12 +1,24 @@
package com.jero.modules.sys.service.impl; 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.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.entity.LawsGrade;
import com.jero.modules.sys.mapper.LawsGradeMapper; 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.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 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: 级别 * @Description: 级别
* @Author: jero-boot * @Author: jero-boot
@@ -16,4 +28,53 @@ import org.springframework.stereotype.Service;
@Service @Service
public class LawsGradeServiceImpl extends ServiceImpl<LawsGradeMapper, LawsGrade> implements ILawsGradeService { 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(","));
String departIds = sysDepartList.stream().map(SysDepart::getId).collect(Collectors.joining(","));
grade.setDeptNames(departNames);
grade.setDeptIds(departIds);
}
}
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.entity.LawsWorkingGroup;
import com.jero.modules.sys.mapper.LawsWorkingGroupMapper; import com.jero.modules.sys.mapper.LawsWorkingGroupMapper;
import com.jero.modules.sys.service.ILawsWorkingGroupService; import com.jero.modules.sys.service.ILawsWorkingGroupService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Date; import java.util.Date;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.query.QueryGenerator;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@@ -103,4 +108,83 @@ public class LawsWorkingGroupServiceImpl extends ServiceImpl<LawsWorkingGroupMap
List<LawsWorkingGroup> list = list(wrapper); List<LawsWorkingGroup> list = list(wrapper);
return list; 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; 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.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.modules.sys.entity.LawsWorkingGroupUser; import com.jero.modules.sys.entity.LawsWorkingGroupUser;
import com.jero.modules.sys.mapper.LawsWorkingGroupUserMapper; import com.jero.modules.sys.mapper.LawsWorkingGroupUserMapper;
import com.jero.modules.sys.service.ILawsWorkingGroupUserService; 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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Date; import java.util.Date;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.query.QueryGenerator;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@@ -26,6 +36,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@Transactional(rollbackFor = JeroBootException.class) @Transactional(rollbackFor = JeroBootException.class)
public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGroupUserMapper, LawsWorkingGroupUser> implements ILawsWorkingGroupUserService { 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) { public LawsWorkingGroupUser queryById(String id) {
return getById(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");
}
}
} }