fix:78364
This commit is contained in:
+93
-21
@@ -1,31 +1,36 @@
|
||||
package com.jero.modules.sys.controller;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
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.constant.CommonConstant;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.modules.sys.entity.LawsWorkingGroup;
|
||||
import com.jero.modules.sys.service.ILawsWorkingGroupService;
|
||||
import com.jero.modules.sys.service.ILawsWorkingGroupUserService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
/**
|
||||
/**
|
||||
* @Description: 内部工作组
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-09-06
|
||||
@@ -38,6 +43,10 @@ import org.apache.poi.ss.formula.functions.T;
|
||||
public class LawsWorkingGroupController extends JeroController<LawsWorkingGroup, ILawsWorkingGroupService> {
|
||||
@Autowired
|
||||
private ILawsWorkingGroupService lawsWorkingGroupService;
|
||||
@Resource
|
||||
private ILawsWorkingGroupUserService lawsWorkingGroupUserService;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询
|
||||
@@ -97,29 +106,66 @@ public class LawsWorkingGroupController extends JeroController<LawsWorkingGroup,
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加工作组
|
||||
*/
|
||||
@AutoLog(value = "内部工作组-添加工作组")
|
||||
@ApiOperation(value="内部工作组-添加工作组", notes="内部工作组-添加工作组")
|
||||
@PostMapping(value = "/addWorkGroup")
|
||||
public Result<T> addWorkGroup(@Validated @RequestBody LawsWorkingGroup lawsWorkingGroup) {
|
||||
// 校验是否有权限
|
||||
lawsWorkingGroupUserService.checkAuth(lawsWorkingGroup.getPid());
|
||||
String pid = lawsWorkingGroup.getPid();
|
||||
if (StringUtils.isNotBlank(pid)){
|
||||
LawsWorkingGroup workingGroup = lawsWorkingGroupService.queryById(pid);
|
||||
if(workingGroup.getLevel() == 1 && StringUtils.isBlank(lawsWorkingGroup.getUserId())){
|
||||
throw new JeroBootException("管理权限不能为空");
|
||||
}
|
||||
lawsWorkingGroup.setLevel(workingGroup.getLevel() + 1);
|
||||
}else {
|
||||
lawsWorkingGroup.setLevel(1);
|
||||
}
|
||||
lawsWorkingGroup.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
|
||||
lawsWorkingGroupService.add(lawsWorkingGroup);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑工作组
|
||||
*/
|
||||
@AutoLog(value = "内部工作组-编辑工作组")
|
||||
@ApiOperation(value="内部工作组-编辑工作组", notes="内部工作组-编辑工作组")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<T> edit(@Validated @RequestBody LawsWorkingGroup lawsWorkingGroup) {
|
||||
// 校验是否有权限
|
||||
lawsWorkingGroupUserService.checkAuth(lawsWorkingGroup.getId());
|
||||
lawsWorkingGroupService.editById(lawsWorkingGroup);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*/
|
||||
@RequiresPermissions("sys:innerWorkingGroup:tree:edit")
|
||||
@AutoLog(value = "内部工作组-编辑")
|
||||
@ApiOperation(value="内部工作组-编辑", notes="内部工作组-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<T> edit(@Validated @RequestBody LawsWorkingGroup lawsWorkingGroup) {
|
||||
@PostMapping(value = "/editWorkGroup")
|
||||
public Result<T> editWorkGroup(@Validated @RequestBody LawsWorkingGroup lawsWorkingGroup) {
|
||||
lawsWorkingGroupService.editById(lawsWorkingGroup);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
* 通过id删除工作组
|
||||
*/
|
||||
@RequiresPermissions("sys:innerWorkingGroup:tree:delete")
|
||||
@AutoLog(value = "内部工作组-通过id删除")
|
||||
@ApiOperation(value="内部工作组-通过id删除", notes="内部工作组-通过id删除")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<T> delete(@RequestBody Map<String, String> map) {
|
||||
@AutoLog(value = "内部工作组-通过id删除工作组")
|
||||
@ApiOperation(value="内部工作组-通过id删除工作组", notes="内部工作组-通过id删除工作组")
|
||||
@PostMapping(value = "/deleteWorkGroup")
|
||||
public Result<T> deleteWorkGroup(@RequestBody Map<String, String> map) {
|
||||
if(!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))){
|
||||
throw new JeroBootException(ResultCommon.PLEASE_SELECT_DATA);
|
||||
}
|
||||
lawsWorkingGroupUserService.checkAuth(map.get("id"));
|
||||
//不能删除根节点
|
||||
LawsWorkingGroup group = lawsWorkingGroupService.getById(map.get("id"));
|
||||
if (StringUtils.isBlank(group.getPid())){
|
||||
@@ -137,5 +183,31 @@ public class LawsWorkingGroupController extends JeroController<LawsWorkingGroup,
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*/
|
||||
@RequiresPermissions("sys:innerWorkingGroup:tree:delete")
|
||||
@AutoLog(value = "内部工作组-通过id删除")
|
||||
@ApiOperation(value="内部工作组-通过id删除", notes="内部工作组-通过id删除")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<T> delete(@RequestBody Map<String, String> map) {
|
||||
if(!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))){
|
||||
throw new JeroBootException(ResultCommon.PLEASE_SELECT_DATA);
|
||||
}
|
||||
//不能删除根节点
|
||||
LawsWorkingGroup group = lawsWorkingGroupService.getById(map.get("id"));
|
||||
if (StringUtils.isBlank(group.getPid())){
|
||||
throw new JeroBootException(ResultCommon.THE_TOPLEVEL_GROUP_CANNOT_BE_DELETED);
|
||||
}
|
||||
List<String> ids = new ArrayList<>();
|
||||
List<LawsWorkingGroup> list = lawsWorkingGroupService.realList();
|
||||
ids = lawsWorkingGroupService.allChildIdById(list, map.get("id"), ids);
|
||||
if (ids.size() > 0){
|
||||
LambdaUpdateWrapper<LawsWorkingGroup> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.in(LawsWorkingGroup::getId, ids);
|
||||
wrapper.set(LawsWorkingGroup::getDelFlag, CommonConstant.DEL_FLAG_1.toString());
|
||||
lawsWorkingGroupService.update(wrapper);
|
||||
}
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
}
|
||||
|
||||
+6
-7
@@ -176,15 +176,15 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
|
||||
lawsWorkingGroupUserService.checkAuth(workingGroupId);
|
||||
|
||||
// 上传文件名格式不正确
|
||||
if (fileName.lastIndexOf(".") != -1 && !".xlsx".equals(fileName.substring(fileName.lastIndexOf(".")))) {
|
||||
throw new JeroBootException(ResultCommon.PLEASE_USE_A_FILE_WITH_THE_SUFFIX_XLSX);
|
||||
if (fileName.lastIndexOf(".") != -1 && !".xls".equals(fileName.substring(fileName.lastIndexOf(".")))) {
|
||||
throw new JeroBootException(ResultCommon.PLEASE_USE_A_FILE_WITH_THE_SUFFIX_XLS);
|
||||
}
|
||||
boolean b;
|
||||
try {
|
||||
b = ImportExcelUtil.checkTemplateTitle(file, LawsWorkingGroupUserImport.class, 0, 0);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new JeroBootException(ResultCommon.PLEASE_USE_A_FILE_WITH_THE_SUFFIX_XLSX);
|
||||
throw new JeroBootException(ResultCommon.PLEASE_USE_A_FILE_WITH_THE_SUFFIX_XLS);
|
||||
}
|
||||
// 校验excel 字段是否正确
|
||||
if (!b) {
|
||||
@@ -259,7 +259,7 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
|
||||
return MessageUtils.getMessage(ResultCommon.THE_JOB_NUMBER_CANNOT_BE_EMPTY_EXPORT, (i + 2));
|
||||
}
|
||||
if (StringUtils.isBlank(realname)) {
|
||||
return "第(" + (i + 2) + ")行,姓名不能为空";
|
||||
return MessageUtils.getMessage(ResultCommon.THE_REAL_NAME_CANNOT_BE_EMPTY_EXPORT, (i + 2));
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(listSysUser)){
|
||||
String finalUsername = username;
|
||||
@@ -269,7 +269,7 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
|
||||
}
|
||||
username = op.get().getId();
|
||||
if(!Objects.equals(op.get().getRealname(),realname)){
|
||||
return "第(" + (i + 2) + ")行,姓名与工号不匹配";
|
||||
return MessageUtils.getMessage(ResultCommon.THE_REAL_NAME_AND_JOB_NUMBER_MISMATCH_EXPORT, (i + 2));
|
||||
}
|
||||
}
|
||||
if (!existingWorkNos.add(username)) {
|
||||
@@ -293,8 +293,7 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
|
||||
mv.addObject(FILE_NAME, title);
|
||||
mv.addObject(CLASS, LawsWorkingGroupUserImport.class);
|
||||
ExportParams exportParams = new ExportParams(null, title);
|
||||
// 导出xlsx
|
||||
exportParams.setType(ExcelType.XSSF);
|
||||
// 导出xls
|
||||
mv.addObject(PARAMS, exportParams);
|
||||
mv.addObject(NormalExcelConstants.DATA_LIST, new ArrayList<T>());
|
||||
return mv;
|
||||
|
||||
+2
-6
@@ -176,15 +176,11 @@ public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGrou
|
||||
if(Objects.isNull(lawsWorkingGroup)){
|
||||
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
|
||||
}
|
||||
LawsWorkingGroup lawsWorkingGroupPid = lawsWorkingGroupService.queryById(lawsWorkingGroup.getPid());
|
||||
if(Objects.isNull(lawsWorkingGroupPid)){
|
||||
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
|
||||
}
|
||||
if(!Objects.equals(lawsWorkingGroupPid.getLevel(),2)){
|
||||
if(!Objects.equals(lawsWorkingGroup.getLevel(),2) && !Objects.equals(lawsWorkingGroup.getLevel(),3)){
|
||||
throw new JeroBootException(ResultCommon.HORIZONTAL_TRANSGRESSION);
|
||||
}
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(!Objects.equals(lawsWorkingGroupPid.getUserId(),loginUser.getId())){
|
||||
if(!Objects.equals(lawsWorkingGroup.getUserId(),loginUser.getId())){
|
||||
throw new JeroBootException(ResultCommon.HORIZONTAL_TRANSGRESSION);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user