|
@@ -10,10 +10,14 @@ import com.persagy.fm.department.model.vo.ManagerVO;
|
|
import com.persagy.fm.department.model.vo.ResponseDepartmentItemVO;
|
|
import com.persagy.fm.department.model.vo.ResponseDepartmentItemVO;
|
|
import com.persagy.fm.department.model.vo.ResponseDepartmentListItemVO;
|
|
import com.persagy.fm.department.model.vo.ResponseDepartmentListItemVO;
|
|
import com.persagy.fm.department.model.vo.ResponseDepartmentTreeItemVO;
|
|
import com.persagy.fm.department.model.vo.ResponseDepartmentTreeItemVO;
|
|
|
|
+import com.persagy.fm.department.service.IDepTranslator;
|
|
import com.persagy.fm.department.service.IDepTreeService;
|
|
import com.persagy.fm.department.service.IDepTreeService;
|
|
import com.persagy.fm.department.service.IDepartmentService;
|
|
import com.persagy.fm.department.service.IDepartmentService;
|
|
import com.persagy.fm.department.utils.DepDataUtil;
|
|
import com.persagy.fm.department.utils.DepDataUtil;
|
|
|
|
+import com.persagy.fm.depproject.model.DepProject;
|
|
|
|
+import com.persagy.fm.depproject.model.dto.QueryDepProjectDTO;
|
|
import com.persagy.fm.depproject.service.IDepProjectService;
|
|
import com.persagy.fm.depproject.service.IDepProjectService;
|
|
|
|
+import com.persagy.fm.person.service.IPersonService;
|
|
import com.persagy.fm.saas.project.model.vo.ProjectTreeItemVO;
|
|
import com.persagy.fm.saas.project.model.vo.ProjectTreeItemVO;
|
|
import com.persagy.fm.translate.model.Trans;
|
|
import com.persagy.fm.translate.model.Trans;
|
|
import com.persagy.fm.translate.model.TransType;
|
|
import com.persagy.fm.translate.model.TransType;
|
|
@@ -53,6 +57,8 @@ public class DepartmentController {
|
|
private IDepTreeService depTreeService;
|
|
private IDepTreeService depTreeService;
|
|
@Autowired
|
|
@Autowired
|
|
private IDepProjectService depProjectService;
|
|
private IDepProjectService depProjectService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IDepTranslator depTranslator;
|
|
|
|
|
|
@ApiOperation(value = "创建部门")
|
|
@ApiOperation(value = "创建部门")
|
|
@PostMapping("/create")
|
|
@PostMapping("/create")
|
|
@@ -64,42 +70,24 @@ public class DepartmentController {
|
|
|
|
|
|
@ApiOperation(value = "部门详情")
|
|
@ApiOperation(value = "部门详情")
|
|
@PostMapping("/get")
|
|
@PostMapping("/get")
|
|
- // TODO: 2021/3/24 使用翻译器
|
|
|
|
-// @Transes({
|
|
|
|
-// @Trans(source = "personNameTranslator",
|
|
|
|
-// type = TransType.SERVICE, batch = true,
|
|
|
|
-// parameter = "managerIds", target = "managerObjs"),
|
|
|
|
-//// @Trans(source = "com.persagy.fm.person.service.IPersonTransBatchHandler",
|
|
|
|
-//// type = TransType.SERVICE, result = "name", batch = true,
|
|
|
|
-//// condition = "id", parameter = "projectIds", target = "projectsShowName")
|
|
|
|
-// })
|
|
|
|
|
|
+ @Trans(type = TransType.DB, source = "department", parameter = "parentId", target = "parentShowName")
|
|
public CommonResult<ResponseDepartmentItemVO> queryDepartmentDetail(
|
|
public CommonResult<ResponseDepartmentItemVO> queryDepartmentDetail(
|
|
@Valid @RequestBody QueryDepartmentDetailDTO queryDepartmentDetailDTO) {
|
|
@Valid @RequestBody QueryDepartmentDetailDTO queryDepartmentDetailDTO) {
|
|
Department department = departmentService.queryDepartmentDetail(queryDepartmentDetailDTO.getId());
|
|
Department department = departmentService.queryDepartmentDetail(queryDepartmentDetailDTO.getId());
|
|
ResponseDepartmentItemVO responseDepartmentItemVO = ConvertDepartmentTool.INSTANCE.convert2ResponseItemDTO(department);
|
|
ResponseDepartmentItemVO responseDepartmentItemVO = ConvertDepartmentTool.INSTANCE.convert2ResponseItemDTO(department);
|
|
- List<ManagerVO> test = test(department.getManagers());
|
|
|
|
- responseDepartmentItemVO.setManagerObjs(test);
|
|
|
|
|
|
+ // 给部门负责人赋值
|
|
|
|
+ String managers = department.getManagers();
|
|
|
|
+ responseDepartmentItemVO.setManagers(depTranslator.getManagerVOList(managers));
|
|
|
|
+ // 给项目赋值
|
|
|
|
+ QueryDepProjectDTO queryDepProjectDTO = new QueryDepProjectDTO();
|
|
|
|
+ queryDepProjectDTO.setDepId(department.getId());
|
|
|
|
+ List<DepProject> depProjectList = depProjectService.queryDepProjectList(queryDepProjectDTO);
|
|
|
|
+ List<String> projectIds = depProjectList.stream().
|
|
|
|
+ map(DepProject::getProjectId).collect(Collectors.toList());
|
|
|
|
+ responseDepartmentItemVO.setProjects(depTranslator.getProjectVOList(projectIds));
|
|
return ResultHelper.single(responseDepartmentItemVO);
|
|
return ResultHelper.single(responseDepartmentItemVO);
|
|
}
|
|
}
|
|
|
|
|
|
- @Trans(source = "personNameTranslator",
|
|
|
|
- type = TransType.SERVICE, batch = true,
|
|
|
|
- parameter = "id", target = "name")
|
|
|
|
- private List<ManagerVO> test(String manager) {
|
|
|
|
- String[] ids = manager.split(",");
|
|
|
|
- if (ids.length == 0) {
|
|
|
|
- return null;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- List<ManagerVO> result = Lists.newArrayList();
|
|
|
|
- for (String id : ids) {
|
|
|
|
- ManagerVO managerVO = new ManagerVO();
|
|
|
|
- managerVO.setId(Long.valueOf(id));
|
|
|
|
- result.add(managerVO);
|
|
|
|
- }
|
|
|
|
- return result;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
@ApiOperation(value = "更新部门")
|
|
@ApiOperation(value = "更新部门")
|
|
@PostMapping("/update")
|
|
@PostMapping("/update")
|
|
public CommonResult<FmResponseUpsertVO> updateDepartment(
|
|
public CommonResult<FmResponseUpsertVO> updateDepartment(
|