From 039abee6b27058ca46b1e1e82aa0b5407a5dad44 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 28 七月 2025 15:25:26 +0800 Subject: [PATCH] 优化 和修改bug --- springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/DepartmentController.java | 96 +++++++++++++++++++++++++++++++++++++---------- 1 files changed, 75 insertions(+), 21 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/DepartmentController.java b/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/DepartmentController.java index bb96718..ff121aa 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/DepartmentController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/DepartmentController.java @@ -8,6 +8,7 @@ import com.panzhihua.common.model.vos.west.SystemUserVo; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.westcommittee.model.dto.UpdateStatusDeptDto; +import com.panzhihua.westcommittee.model.entity.ComAct; import com.panzhihua.westcommittee.model.entity.Department; import com.panzhihua.westcommittee.model.entity.SystemUser; import com.panzhihua.westcommittee.service.*; @@ -16,6 +17,7 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.util.*; @@ -29,10 +31,10 @@ @RestController @RequestMapping("/department") public class DepartmentController extends BaseController { - + @Resource private IDepartmentService departmentService; - + @Resource private ISystemUserService systemUserService; @@ -100,26 +102,41 @@ @ApiOperation(value = "获取单位列表", tags = {"西区纪委后台-单位管理"}) @OperLog(operModul = "西区纪委后台",operType = 0, businessType = "获取单位列表") public R<List<Department>> getList(String name,Integer level,String code,int type){ - if(level==null){ - List<Department> list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name)); - return R.ok(list4); - }else { + SystemUserVo loginUserInfoWest = getLoginUserInfoWest(); + if(level==null){ + if(loginUserInfoWest.getSystemRoleId()>2){ + return R.ok(new ArrayList<>()); + } + level=loginUserInfoWest.getAccountLevel(); + if(level==2){ + code="510403"; + } + if(level==3){ + code = loginUserInfoWest.getStreetId(); + } + if(level==4){ + code = loginUserInfoWest.getCommunityId().toString(); + } + type=2; + } List<Department> list4=new ArrayList<>(); if(level==2 && type==1){ list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq( Department::getTier, 2)); }else if(level==2 && type==2){ list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).ge( Department::getTier, 2)); }else if(level==3 && type==1){ - list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq( Department::getTier, 3)); + list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq( Department::getTier, 3).eq(Department::getStreetId, code)); }else if(level==3 && type==2){ - list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).ge( Department::getTier, 3)); + List<Long> ids = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getStreetId, code)).stream().map(ComAct::getCommunityId).collect(Collectors.toList()); + list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq( Department::getTier, 3).eq(Department::getStreetId, code) + .or(w->w.eq(Department::getTier,4).in(Department::getCommunityId,ids))); }else if(level==4 && type==1){ - list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq( Department::getTier, 4)); + list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq( Department::getTier, 4).eq(Department::getCommunityId,code)); }else if(level==4 && type==2){ - list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).ge(Department::getTier, 4)); + list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 4).eq(Department::getCommunityId,code)); } return R.ok(list4); - } + } @@ -127,8 +144,23 @@ @ApiOperation(value = "获取单位列表1", tags = {"西区纪委后台-单位管理"}) @OperLog(operModul = "西区纪委后台",operType = 0, businessType = "获取单位列表") public R<Page<Department>> getDeptList(String name,int pageNum,int pageSize){ - Page<Department> list4 = departmentService.page(new Page<Department>(pageNum,pageSize),new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).or().eq(StringUtils.isNotEmpty(name),Department::getId,name)); - for (Department department : list4.getRecords()) { + SystemUserVo loginUserInfoWest = getLoginUserInfoWest(); + if(loginUserInfoWest.getSystemRoleId()>2){ + return R.ok(new Page<>()); + } + Integer accountLevel = loginUserInfoWest.getAccountLevel(); + Page<Department> list4 = null; + if(accountLevel==2 ){ + list4 = departmentService.page(new Page<Department>(pageNum,pageSize),new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).or().eq(StringUtils.isNotEmpty(name),Department::getId,name).ge(Department::getTier,accountLevel)); + }else if(accountLevel==3){ + String streetId = loginUserInfoWest.getStreetId(); + List<Long> ids = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getStreetId, streetId)).stream().map(ComAct::getCommunityId).collect(Collectors.toList()); + list4 = departmentService.page(new Page<Department>(pageNum,pageSize),new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).or().eq(StringUtils.isNotEmpty(name),Department::getId,name).eq(Department::getTier,accountLevel).eq(Department::getStreetId,streetId) + .or(department -> department.and(department1 -> department1.eq(Department::getTier, 4).in(Department::getCommunityId, ids)))); + }else if(accountLevel==4){ + list4 = departmentService.page(new Page<Department>(pageNum,pageSize),new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).or().eq(StringUtils.isNotEmpty(name),Department::getId,name).eq(Department::getTier,4).eq(Department::getCommunityId,loginUserInfoWest.getCommunityId())); + } + for (Department department : list4.getRecords()) { int count = systemUserService.count(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getOneDepartmentId, department.getId())); department.setUserCount(count); @@ -147,8 +179,8 @@ departmentService.save(department); return R.ok(); } - - + + @PostMapping("/edit") @ApiOperation(value = "编辑单位信息", tags = {"西区纪委后台-单位管理"}) public R edit(@RequestBody Department department){ @@ -184,9 +216,9 @@ } return R.ok(); } - - - + + + @DeleteMapping("/delete/{id}") @ApiOperation(value = "删除单位信息", tags = {"西区纪委后台-单位管理"}) public R delete(@PathVariable("id") Integer id){ @@ -213,9 +245,9 @@ departmentService.updateById(department); return R.ok(); } - - - + + + @GetMapping("/getDepartmentList/{tier}") @ApiOperation(value = "根据单位层级查询单位数据", tags = {"西区纪委后台-用户管理"}) @ApiImplicitParams({ @@ -226,4 +258,26 @@ List<Department> list = departmentService.list(new LambdaQueryWrapper<Department>().eq(Department::getTier, tier)); return R.ok(list); } + + + + @ResponseBody + @PostMapping("/importDepartment") + @ApiOperation(value = "单位导入", tags = {"西区纪委后台-单位管理"}) + public R<?> importDepartment(MultipartFile file) { + String s = file.getOriginalFilename(); + if (s == null || !("xls".equals(s.substring(s.lastIndexOf(".") + 1)) || "xlsx".equals(s.substring(s.lastIndexOf(".") + 1)))) { + return R.fail("只能上传.xls或.xlsx格式的文件"); + } + SystemUserVo loginUserInfoWest = getLoginUserInfoWest(); + String name = loginUserInfoWest.getName(); + Integer id = loginUserInfoWest.getId(); + try { + return departmentService.importDepartment(s, file,name,id); + } catch (Exception e) { + e.printStackTrace(); + } + return R.ok(); + } + } -- Gitblit v1.7.1