feat: 内部工作组相关变更

This commit is contained in:
2024-08-23 10:31:20 +08:00
parent b8d882d7d3
commit c1447510c0
3 changed files with 43 additions and 32 deletions
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.constant.CommonConstant; import com.jero.common.constant.CommonConstant;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
@@ -12,7 +13,6 @@ import com.jero.common.system.base.controller.JeroController;
import com.jero.common.util.ImportExcelUtil; import com.jero.common.util.ImportExcelUtil;
import com.jero.common.util.IntekeyUtils; import com.jero.common.util.IntekeyUtils;
import com.jero.common.util.MessageUtils; import com.jero.common.util.MessageUtils;
import com.jero.common.api.vo.ResultCommon;
import com.jero.modules.sys.entity.LawsWorkingGroupUser; import com.jero.modules.sys.entity.LawsWorkingGroupUser;
import com.jero.modules.sys.entity.LawsWorkingGroupUserImport; import com.jero.modules.sys.entity.LawsWorkingGroupUserImport;
import com.jero.modules.sys.service.ILawsWorkingGroupUserService; import com.jero.modules.sys.service.ILawsWorkingGroupUserService;
@@ -29,7 +29,6 @@ import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@@ -61,7 +60,6 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
private ISysUserService sysUserService; private ISysUserService sysUserService;
/** /**
* 分页列表查询 * 分页列表查询
*/ */
@@ -156,7 +154,7 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
throw new JeroBootException(ResultCommon.PLEASE_SELECT_DATA); throw new JeroBootException(ResultCommon.PLEASE_SELECT_DATA);
} }
LawsWorkingGroupUser lawsWorkingGroupUser = lawsWorkingGroupUserService.getById(map.get("id")); LawsWorkingGroupUser lawsWorkingGroupUser = lawsWorkingGroupUserService.getById(map.get("id"));
if(Objects.isNull(lawsWorkingGroupUser)){ if (Objects.isNull(lawsWorkingGroupUser)) {
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND); throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
} }
// 校验是否有权限 // 校验是否有权限
@@ -226,9 +224,9 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
all.add(lawsWorkingGroupUser); all.add(lawsWorkingGroupUser);
} }
//校验导入正确性,msg是错误信息 //校验导入正确性,msg是错误信息
List<String> msg = importExcelCheck(all,workingGroupId); List<String> msg = importExcelCheck(all, workingGroupId);
if (!CollectionUtils.isEmpty(msg)) { if (!CollectionUtils.isEmpty(msg)) {
return Result.error(MessageUtils.getMessage(ResultCommon.ERROR),msg); return Result.error(MessageUtils.getMessage(ResultCommon.ERROR), msg);
} }
for (LawsWorkingGroupUser groupUser : all) { for (LawsWorkingGroupUser groupUser : all) {
String username = groupUser.getUsername(); String username = groupUser.getUsername();
@@ -249,21 +247,25 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
@ApiOperationSupport(order = 6) @ApiOperationSupport(order = 6)
@ApiOperation(value = "内部工作组人员关联表-导出", notes = "内部工作组人员关联表-导出") @ApiOperation(value = "内部工作组人员关联表-导出", notes = "内部工作组人员关联表-导出")
@GetMapping(value = "/export") @GetMapping(value = "/export")
public ModelAndView template(@RequestParam(required = false) String workingGroupId, @RequestParam(required = false) String realname, @RequestParam(required = false) String username, @RequestParam(required = false) String userRoleName, @RequestParam(required = false) String userPostName, HttpServletRequest request) { public ModelAndView template(@RequestParam(required = false) String workingGroupId,
return lawsWorkingGroupUserService.export(workingGroupId,realname,username,userRoleName,userPostName, request); @RequestParam(required = false) String realname,
@RequestParam(required = false) String username,
@RequestParam(required = false) String userRoleName,
@RequestParam(required = false) String userPostName, HttpServletRequest request) {
return lawsWorkingGroupUserService.export(workingGroupId, realname, username, userRoleName, userPostName, request);
} }
/** /**
* 导入数据校验错误信息 * 导入数据校验错误信息
*/ */
public List<String> importExcelCheck(List<LawsWorkingGroupUser> all,String workingGroupId) { public List<String> importExcelCheck(List<LawsWorkingGroupUser> all, String workingGroupId) {
return validateWorkNo(all,workingGroupId); return validateWorkNo(all, workingGroupId);
} }
private List<String> validateWorkNo(List<LawsWorkingGroupUser> all,String workingGroupId) { private List<String> validateWorkNo(List<LawsWorkingGroupUser> all, String workingGroupId) {
List<SysUser> listSysUser = sysUserService.list(); List<SysUser> listSysUser = sysUserService.list();
LambdaQueryWrapper<LawsWorkingGroupUser> queryLawsWorkingGroupUser = new LambdaQueryWrapper<>(); LambdaQueryWrapper<LawsWorkingGroupUser> queryLawsWorkingGroupUser = new LambdaQueryWrapper<>();
queryLawsWorkingGroupUser.eq(LawsWorkingGroupUser::getWorkingGroupId,workingGroupId); queryLawsWorkingGroupUser.eq(LawsWorkingGroupUser::getWorkingGroupId, workingGroupId);
Set<String> existingWorkNos = lawsWorkingGroupUserService.list(queryLawsWorkingGroupUser).stream().map(LawsWorkingGroupUser::getUserId).collect(Collectors.toSet()); Set<String> existingWorkNos = lawsWorkingGroupUserService.list(queryLawsWorkingGroupUser).stream().map(LawsWorkingGroupUser::getUserId).collect(Collectors.toSet());
return IntStream.range(0, all.size()) return IntStream.range(0, all.size())
.mapToObj(i -> { .mapToObj(i -> {
@@ -276,14 +278,14 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
if (StringUtils.isBlank(realname)) { if (StringUtils.isBlank(realname)) {
return MessageUtils.getMessage(ResultCommon.THE_REAL_NAME_CANNOT_BE_EMPTY_EXPORT, (i + 2)); return MessageUtils.getMessage(ResultCommon.THE_REAL_NAME_CANNOT_BE_EMPTY_EXPORT, (i + 2));
} }
if(!CollectionUtils.isEmpty(listSysUser)){ if (!CollectionUtils.isEmpty(listSysUser)) {
String finalUsername = username; String finalUsername = username;
Optional<SysUser> op = listSysUser.stream().filter(o->Objects.equals(o.getUsername(), finalUsername)).findFirst(); Optional<SysUser> op = listSysUser.stream().filter(o -> Objects.equals(o.getUsername(), finalUsername)).findFirst();
if(!op.isPresent()){ if (!op.isPresent()) {
return MessageUtils.getMessage(ResultCommon.JOB_NUMBER_DOES_NOT_EXIST_EXPORT, (i + 2)); return MessageUtils.getMessage(ResultCommon.JOB_NUMBER_DOES_NOT_EXIST_EXPORT, (i + 2));
} }
username = op.get().getId(); username = op.get().getId();
if(!Objects.equals(op.get().getRealname(),realname)){ if (!Objects.equals(op.get().getRealname(), realname)) {
return MessageUtils.getMessage(ResultCommon.THE_REAL_NAME_AND_JOB_NUMBER_MISMATCH_EXPORT, (i + 2)); return MessageUtils.getMessage(ResultCommon.THE_REAL_NAME_AND_JOB_NUMBER_MISMATCH_EXPORT, (i + 2));
} }
} }
@@ -1,18 +1,18 @@
package com.jero.modules.sys.entity; package com.jero.modules.sys.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/** /**
* @Description: 内部工作组人员关联表 * @Description: 内部工作组人员关联表
@@ -90,6 +90,10 @@ public class LawsWorkingGroupUser implements Serializable {
@Excel(name = "岗位",width = 15) @Excel(name = "岗位",width = 15)
private String userPostName; private String userPostName;
@TableField(exist = false)
@ApiModelProperty(value = "1领导 2成员")
private String searchType;
@TableField(exist = false) @TableField(exist = false)
@ApiModelProperty(value = "姓名工号通用查询字段") @ApiModelProperty(value = "姓名工号通用查询字段")
private String realnameOrUsername; private String realnameOrUsername;
@@ -75,7 +75,7 @@ public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGrou
String userPostName = lawsWorkingGroupUser.getUserPostName(); String userPostName = lawsWorkingGroupUser.getUserPostName();
String workingGroupId = lawsWorkingGroupUser.getWorkingGroupId(); String workingGroupId = lawsWorkingGroupUser.getWorkingGroupId();
QueryWrapper<LawsWorkingGroupUser> wrapper = getWrapper(realname, userName, userRoleName, userPostName, workingGroupId); QueryWrapper<LawsWorkingGroupUser> wrapper = getWrapper(realname, userName, userRoleName, userPostName, workingGroupId, lawsWorkingGroupUser.getSearchType());
if (StringUtils.isNotBlank(lawsWorkingGroupUser.getRealnameOrUsername())) { if (StringUtils.isNotBlank(lawsWorkingGroupUser.getRealnameOrUsername())) {
QueryWrapper<SysUser> userWrapper = new QueryWrapper<>(); QueryWrapper<SysUser> userWrapper = new QueryWrapper<>();
userWrapper.like("realname", lawsWorkingGroupUser.getRealnameOrUsername()) userWrapper.like("realname", lawsWorkingGroupUser.getRealnameOrUsername())
@@ -91,13 +91,18 @@ public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGrou
} }
@NotNull @NotNull
private QueryWrapper<LawsWorkingGroupUser> getWrapper(String realname, String userName, String userRoleName, String userPostName, String workingGroupId) { private QueryWrapper<LawsWorkingGroupUser> getWrapper(String realname, String userName, String userRoleName, String userPostName, String workingGroupId, String searchType) {
List<String> workingGroupIds = getWorkingGroupIds(workingGroupId);
QueryWrapper<LawsWorkingGroupUser> wrapper = new QueryWrapper<>(); QueryWrapper<LawsWorkingGroupUser> wrapper = new QueryWrapper<>();
wrapper.select("user_id","max(working_group_id) as working_group_id","max(id) as id"); wrapper.select("user_id","max(working_group_id) as working_group_id","max(id) as id");
if(!CollectionUtils.isEmpty(workingGroupIds)){ if (searchType == null || searchType.equals("2")) {
wrapper.in("working_group_id", workingGroupIds); List<String> workingGroupIds = getWorkingGroupIds(workingGroupId);
if(!CollectionUtils.isEmpty(workingGroupIds)){
wrapper.in("working_group_id", workingGroupIds);
}
} else {
wrapper.eq("working_group_id", workingGroupId);
} }
if (!StringUtils.isAllBlank(realname, userName, userRoleName, userPostName)){ if (!StringUtils.isAllBlank(realname, userName, userRoleName, userPostName)){
List<String> ids = lawsWorkingGroupUserSearch(realname, userName, userRoleName, userPostName); List<String> ids = lawsWorkingGroupUserSearch(realname, userName, userRoleName, userPostName);
if (CollectionUtils.isEmpty(ids)){ if (CollectionUtils.isEmpty(ids)){
@@ -204,7 +209,7 @@ public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGrou
//获取数据,分为三种情况:1、选中ID;2、没选ID且选了姓名、工号、角色、岗位四个筛选框;3、没选ID且没选四个筛选框 //获取数据,分为三种情况:1、选中ID;2、没选ID且选了姓名、工号、角色、岗位四个筛选框;3、没选ID且没选四个筛选框
List<LawsWorkingGroupUser> dos; List<LawsWorkingGroupUser> dos;
QueryWrapper<LawsWorkingGroupUser> wrapper = getWrapper(realname, userName, userRoleName, userPostName, workingGroupId); QueryWrapper<LawsWorkingGroupUser> wrapper = getWrapper(realname, userName, userRoleName, userPostName, workingGroupId, null);
//获取选中数据 //获取选中数据
String selections = request.getParameter("selections"); String selections = request.getParameter("selections");