From 8b51e6edfbc2bed52ae90bb3d186ff7bc0df5242 Mon Sep 17 00:00:00 2001 From: wulin Date: Tue, 20 Oct 2020 15:48:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E9=97=A8=E4=BA=BA=E5=91=98=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=93=9F=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/controller/DepartmentsController.java | 20 ++++++++----- .../controller/ReportResultController.java | 2 +- .../java/com/lz/modules/app/dao/StaffDao.java | 2 ++ .../lz/modules/app/dto/DepartmentsDto.java | 7 +++-- .../app/service/DepartmentsService.java | 2 +- .../lz/modules/app/service/StaffService.java | 2 ++ .../service/impl/DepartmentsServiceImpl.java | 29 +++++++++++++++---- .../app/service/impl/StaffServiceImpl.java | 5 ++++ .../{impl => }/ResultCalculateService.java | 2 +- .../service/ResultCalculateServiceImpl.java | 1 - .../controller/ResultCalculateController.java | 8 +---- .../mapper/generator/DepartmentsDao.xml | 2 +- .../resources/mapper/generator/StaffDao.xml | 10 +++++++ 13 files changed, 65 insertions(+), 27 deletions(-) rename src/main/java/com/lz/modules/flow/service/{impl => }/ResultCalculateService.java (94%) diff --git a/src/main/java/com/lz/modules/app/controller/DepartmentsController.java b/src/main/java/com/lz/modules/app/controller/DepartmentsController.java index 3036982f..959ee241 100644 --- a/src/main/java/com/lz/modules/app/controller/DepartmentsController.java +++ b/src/main/java/com/lz/modules/app/controller/DepartmentsController.java @@ -4,10 +4,7 @@ import java.util.Arrays; import java.util.List; import com.lz.modules.app.dto.DepartmentsDto; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiResponse; -import io.swagger.annotations.ApiResponses; +import io.swagger.annotations.*; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -36,14 +33,23 @@ public class DepartmentsController { */ @PostMapping("/list") // @RequiresPermissions("staff:structure:list") - @ApiOperation("获取全部有效部门树列表") - @ApiResponses({@ApiResponse(code = 200, message = "成功", response = DepartmentsDto.class)}) public List list() { - List departmentList = departmentsService.getDepartmentTree(); + List departmentList = departmentsService.getDepartmentTree(0); return departmentList; } + @GetMapping("/deplist") + // @RequiresPermissions("staff:structure:list") + @ApiOperation("获取全部有效部门树列表") + @ApiResponses({@ApiResponse(code = 200, message = "成功", response = DepartmentsDto.class)}) + public List deplist(@RequestParam @ApiParam(value = "请求类型0 请求部门不包含人员列表,1同时返回人员列表") int type) { + List departmentList = departmentsService.getDepartmentTree(1); + + return departmentList; + } + + /** * 信息 diff --git a/src/main/java/com/lz/modules/app/controller/ReportResultController.java b/src/main/java/com/lz/modules/app/controller/ReportResultController.java index 8d126368..580e8a2e 100644 --- a/src/main/java/com/lz/modules/app/controller/ReportResultController.java +++ b/src/main/java/com/lz/modules/app/controller/ReportResultController.java @@ -104,7 +104,7 @@ public class ReportResultController extends AbstractController{ public R departmentTreeByStaffId(){ Long userId = getUserId(); if(chartService.hrOrBoss(userId)){ - List data = departmentsService.getDepartmentTree(); + List data = departmentsService.getDepartmentTree(0); return R.ok().put("data",data); } if(chartService.leader(getUserId())){ diff --git a/src/main/java/com/lz/modules/app/dao/StaffDao.java b/src/main/java/com/lz/modules/app/dao/StaffDao.java index 17deb7d5..cc938077 100644 --- a/src/main/java/com/lz/modules/app/dao/StaffDao.java +++ b/src/main/java/com/lz/modules/app/dao/StaffDao.java @@ -82,4 +82,6 @@ public interface StaffDao extends BaseMapper { List getPositionByStaffIds(@Param("req") ReportListReq req, @Param("staffIds") List staffIds, @Param("page") IPage page); List selectStaffSimpleInfoByIds(@Param("ids") List ids); + + List getDepatAllStaffInfos(@Param("departmentId") String departmentId); } diff --git a/src/main/java/com/lz/modules/app/dto/DepartmentsDto.java b/src/main/java/com/lz/modules/app/dto/DepartmentsDto.java index 9a9df395..1930dfe8 100644 --- a/src/main/java/com/lz/modules/app/dto/DepartmentsDto.java +++ b/src/main/java/com/lz/modules/app/dto/DepartmentsDto.java @@ -21,12 +21,11 @@ import java.util.List; public class DepartmentsDto implements Serializable{ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "部门id", name = "id") - private Integer id; + /** * 飞书部门id */ - @ApiModelProperty(value = "钉钉,飞书部门id", name = "departmentId") + @ApiModelProperty(value = "部门id,钉钉,飞书部门id", name = "departmentId") private String departmentId; /** * 飞书上级部门id @@ -53,5 +52,7 @@ public class DepartmentsDto implements Serializable{ @TableField(exist = false) @ApiModelProperty(value = "部门id", name = "id") private List list; + @ApiModelProperty(value = "部门人员集合", name = "staffDtos") + private List staffDtos; } diff --git a/src/main/java/com/lz/modules/app/service/DepartmentsService.java b/src/main/java/com/lz/modules/app/service/DepartmentsService.java index 84b29c0d..78ad64da 100644 --- a/src/main/java/com/lz/modules/app/service/DepartmentsService.java +++ b/src/main/java/com/lz/modules/app/service/DepartmentsService.java @@ -27,7 +27,7 @@ public interface DepartmentsService extends IService { - List getDepartmentTree(); + List getDepartmentTree(int type); List selectByParentDepartmentId(String deparentId); diff --git a/src/main/java/com/lz/modules/app/service/StaffService.java b/src/main/java/com/lz/modules/app/service/StaffService.java index 3cd8461d..b9c444fb 100644 --- a/src/main/java/com/lz/modules/app/service/StaffService.java +++ b/src/main/java/com/lz/modules/app/service/StaffService.java @@ -84,5 +84,7 @@ public interface StaffService extends IService { List selectAll(); List selectStaffSimpleInfoByIds(List ids); + + List getDepatAllStaffInfos(String departmentId); } diff --git a/src/main/java/com/lz/modules/app/service/impl/DepartmentsServiceImpl.java b/src/main/java/com/lz/modules/app/service/impl/DepartmentsServiceImpl.java index f56ec600..98ecaa03 100644 --- a/src/main/java/com/lz/modules/app/service/impl/DepartmentsServiceImpl.java +++ b/src/main/java/com/lz/modules/app/service/impl/DepartmentsServiceImpl.java @@ -13,14 +13,17 @@ import com.lz.modules.app.dao.StaffDao; import com.lz.modules.app.dto.DepartmentInfos; import com.lz.modules.app.dto.DepartmentsDto; import com.lz.modules.app.dto.StaffDepartmentDto; +import com.lz.modules.app.dto.StaffDto; import com.lz.modules.app.entity.DepartmentsEntity; import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; import com.lz.modules.app.entity.StaffEntity; import com.lz.modules.app.service.DepartmentsService; +import com.lz.modules.app.service.StaffService; import com.lz.modules.job.model.responseBo.DepartmentInfosBo; import org.apache.commons.collections.CollectionUtils; import org.apache.ibatis.annotations.Param; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -37,6 +40,9 @@ public class DepartmentsServiceImpl extends ServiceImpl params) { IPage page = this.page( @@ -62,9 +68,17 @@ public class DepartmentsServiceImpl extends ServiceImpl getDepartmentTree() { + public List getDepartmentTree(int type) { List departmentsParentsList = departmentsDao.getDepartmentsByparentId("1"); - getDepartmentTreeList(departmentsParentsList); + if(type == 1){ + for (DepartmentsDto dto: departmentsParentsList + ) { + List staffDtos = staffService.getDepatAllStaffInfos(dto.getDepartmentId()); + dto.setStaffDtos(staffDtos); + } + } + + getDepartmentTreeList(departmentsParentsList, type); return departmentsParentsList; } @@ -98,12 +112,17 @@ public class DepartmentsServiceImpl extends ServiceImpl getDepartmentTreeList(List departmentList) { + private List getDepartmentTreeList(List departmentList, int type) { List DepartmentsList = Lists.newArrayList(); for (DepartmentsDto departmentsDto : departmentList) { List departmentsChirdList = departmentsDao.getDepartmentsByparentId(departmentsDto.getDepartmentId()); if (departmentsChirdList.size() > 0) { - departmentsDto.setList(getDepartmentTreeList(departmentsChirdList)); + departmentsDto.setList(getDepartmentTreeList(departmentsChirdList, type)); + } + if(type == 1){ + List staffDtos = staffService.getDepatAllStaffInfos(departmentsDto.getDepartmentId()); + departmentsDto.setStaffDtos(staffDtos); + } DepartmentsList.add(departmentsDto); } @@ -232,7 +251,7 @@ public class DepartmentsServiceImpl extends ServiceImpl getDepartmentTreeByStaffId(String staffId,boolean containSelf) { DepartmentsStaffRelateEntity departmentsStaffRelateEntity = departmentsStaffRelateDao.selectByStaffId(Long.valueOf(staffId)); List departmentsParentsList = departmentsDao.getDepartmentsByparentId(departmentsStaffRelateEntity.getDepartmentId()); - getDepartmentTreeList(departmentsParentsList); + getDepartmentTreeList(departmentsParentsList, 0); if(containSelf){ List result = new ArrayList<>(); DepartmentsDto departmentsDto = new DepartmentsDto(); diff --git a/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java b/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java index 784f951a..e59bd75e 100644 --- a/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java +++ b/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java @@ -458,6 +458,11 @@ public class StaffServiceImpl extends ServiceImpl impleme return staffDao.selectStaffSimpleInfoByIds(ids); } + @Override + public List getDepatAllStaffInfos(String departmentId){ + return staffDao.getDepatAllStaffInfos(departmentId); + } + } diff --git a/src/main/java/com/lz/modules/flow/service/impl/ResultCalculateService.java b/src/main/java/com/lz/modules/flow/service/ResultCalculateService.java similarity index 94% rename from src/main/java/com/lz/modules/flow/service/impl/ResultCalculateService.java rename to src/main/java/com/lz/modules/flow/service/ResultCalculateService.java index aff641f9..e8d130d7 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/ResultCalculateService.java +++ b/src/main/java/com/lz/modules/flow/service/ResultCalculateService.java @@ -1,4 +1,4 @@ -package com.lz.modules.flow.service.impl; +package com.lz.modules.flow.service; import com.baomidou.mybatisplus.extension.service.IService; import com.lz.modules.flow.entity.ResultCalculate; diff --git a/src/main/java/com/lz/modules/flow/service/ResultCalculateServiceImpl.java b/src/main/java/com/lz/modules/flow/service/ResultCalculateServiceImpl.java index dd03181e..bc23fd3e 100644 --- a/src/main/java/com/lz/modules/flow/service/ResultCalculateServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/ResultCalculateServiceImpl.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.lz.modules.flow.dao.ResultCalculateMapper; import com.lz.modules.flow.entity.ResultCalculate; import com.lz.modules.flow.model.ResultCalculateDto; -import com.lz.modules.flow.service.impl.ResultCalculateService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/lz/modules/performance/controller/ResultCalculateController.java b/src/main/java/com/lz/modules/performance/controller/ResultCalculateController.java index 11e8d54d..e2a27702 100644 --- a/src/main/java/com/lz/modules/performance/controller/ResultCalculateController.java +++ b/src/main/java/com/lz/modules/performance/controller/ResultCalculateController.java @@ -1,14 +1,10 @@ package com.lz.modules.performance.controller; -import com.alibaba.fastjson.JSONObject; -import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; -import com.lz.common.utils.StringUtil; -import com.lz.modules.flow.entity.FlowChart; import com.lz.modules.flow.entity.ResultCalculate; import com.lz.modules.flow.model.ResultCalculateDto; -import com.lz.modules.flow.service.impl.ResultCalculateService; +import com.lz.modules.flow.service.ResultCalculateService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; @@ -19,9 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.HashMap; import java.util.List; -import java.util.Map; @RestController @RequestMapping("/resultCalculate") diff --git a/src/main/resources/mapper/generator/DepartmentsDao.xml b/src/main/resources/mapper/generator/DepartmentsDao.xml index 17e94aae..173a17d4 100644 --- a/src/main/resources/mapper/generator/DepartmentsDao.xml +++ b/src/main/resources/mapper/generator/DepartmentsDao.xml @@ -25,7 +25,7 @@ diff --git a/src/main/resources/mapper/generator/StaffDao.xml b/src/main/resources/mapper/generator/StaffDao.xml index 1f175480..23e1cdc3 100644 --- a/src/main/resources/mapper/generator/StaffDao.xml +++ b/src/main/resources/mapper/generator/StaffDao.xml @@ -469,4 +469,14 @@ ) and occupation.staff_status=0 + +