From 174dc12380c54730014e86c8897be16389fc804f Mon Sep 17 00:00:00 2001 From: 박지현 <jhpark@maprex.co.kr> Date: 월, 21 2월 2022 11:42:38 +0900 Subject: [PATCH] Merge branch 'master' of http://maprex.iptime.org:9001/r/owl-kisa --- src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java | 70 +++++++++++++++++++++++++++++++--- 1 files changed, 63 insertions(+), 7 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java index 561db3a..a000400 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java @@ -51,7 +51,13 @@ private WorkflowService workflowService; @Autowired + private WorkflowDepartmentService workflowDepartmentService; + + @Autowired private ProjectService projectService; + + @Autowired + private ProjectRoleService projectRoleService; @Autowired private WorkspaceService workspaceService; @@ -92,16 +98,16 @@ switch (projectType) { case BTS_PROJECT: - issueTypes.add(new IssueType(workspace, workflow, "�븙�꽦 �룄硫붿씤", "", "#ff5f99", 0L)); // 踰꾧렇 - issueTypes.add(new IssueType(workspace, workflow, "寃쎌쑀吏� ���쓳", "", "#3598fe", 0L)); // 媛쒖꽑 + issueTypes.add(new IssueType(workspace, workflow, "�븙�꽦 �룄硫붿씤", "", "#ff5f99", 0L, false)); // 踰꾧렇 + issueTypes.add(new IssueType(workspace, workflow, "寃쎌쑀吏� ���쓳", "", "#3598fe", 0L, false)); // 媛쒖꽑 break; case RMS_PROJECT: - issueTypes.add(new IssueType(workspace, workflow, "�쑀�룷吏� ���쓳", "", "#3bcde2", 0L)); // �슂援� �궗�빆 + issueTypes.add(new IssueType(workspace, workflow, "�쑀�룷吏� ���쓳", "", "#3bcde2", 0L, false)); // �슂援� �궗�빆 break; case TCM_PROJECT: - issueTypes.add(new IssueType(workspace, workflow, "遺꾩꽍寃곌낵 ���쓳", "", "#008ca7", 0L)); // �뀒�뒪�듃 耳��씠�뒪, �떎�뻾 �닚�꽌, �쟾�젣 議곌굔, 湲곕� 寃곌낵 + issueTypes.add(new IssueType(workspace, workflow, "遺꾩꽍寃곌낵 ���쓳", "", "#008ca7", 0L, false)); // �뀒�뒪�듃 耳��씠�뒪, �떎�뻾 �닚�꽌, �쟾�젣 議곌굔, 湲곕� 寃곌낵 break; } this.issueTypeRepository.saveAll(issueTypes); @@ -144,9 +150,33 @@ Project project = this.projectService.getProject(issueTypeForm.getProjectId()); issueType.setProject(project); + // �썙�겕�뵆濡쒖슦�쓽 �떞�떦遺��꽌�� �룞�씪�븯寃� �꽭�똿 + this.setDepartmentOfProject(project, workflow); + issueType.setUsePartner(issueTypeForm.getUsePartner()); + issueType.setInheritPartners(issueTypeForm.getInheritPartners()); + return this.issueTypeRepository.saveAndFlush(issueType); + } + + /** + * �썙�겕�뵆濡쒖슦�쓽 �떞�떦遺��꽌�� �룞�씪�븯寃� �꽭�똿 + * @param project Project + * @param workflow Workflow + */ + private void setDepartmentOfProject(Project project, Workflow workflow) { + List<WorkflowDepartment> workflowDepartments = this.workflowDepartmentService.find(workflow.getId()); + + // �빐�떦 �썙�겕�뵆濡쒖슦�쓽 �떞�떦遺��꽌媛� 議댁옱 �븷 寃쎌슦 �빐�떦 �봽濡쒖젥�듃�쓽 �떞�떦遺��꽌�뿉�룄 異붽� + if (workflowDepartments != null && workflowDepartments.size() > 0) { + ProjectRole projectRole = this.projectRoleService.findByProjectIdAndRoleType(project.getId(), ProjectRole.TYPE_DEFAULT); + + for (WorkflowDepartment workflowDepartment : workflowDepartments) { + // �봽濡쒖젥�듃 �떞�떦遺��꽌濡� 異붽� + projectRole.addDepartment(workflowDepartment.getDepartment()); + } + } } // �씠由� �쑀�슚�꽦 泥댄겕 @@ -247,9 +277,6 @@ Long totalCount = this.issueTypeMapper.count(condition); int totalPage = (int) Math.ceil((totalCount - 1) / pageable.getPageSize()) + 1; List<IssueTypeVo> issueTypeVos = ConvertUtil.convertListToListClass(results, IssueTypeVo.class); -// for (IssueTypeVo issueTypeVo : issueTypeVos) { -// -// } // �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �썙�겕�뵆濡쒖슦 �젙蹂대�� �뀑�똿�븳�떎. if (condition.getDeep() != null) { @@ -261,6 +288,7 @@ /*this.setUseIssueTypeByCompanyField(issueTypeVos); this.setUseIssueTypeByIspField(issueTypeVos); this.setUseIssueTypeByHostingField(issueTypeVos);*/ + this.setUsePartner(issueTypeVos); resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(), totalPage, totalCount)); @@ -284,6 +312,22 @@ for (IssueTypeVo issueTypeVo : issueTypeVos) { IssueType issueType = this.getIssueType(issueTypeVo.getId()); issueTypeVo.setWorkflowVo(ConvertUtil.copyProperties(issueType.getWorkflow(), WorkflowVo.class)); + } + } + + // �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �뙆�듃�꼫 �젙蹂대�� �뀑�똿�븳�떎. + private void setUsePartner(List<IssueTypeVo> issueTypeVos) { + for (IssueTypeVo issueTypeVo : issueTypeVos) { + List<UsePartnerVo> usePartnerVos = Lists.newArrayList(); + if (issueTypeVo.getUsePartners() != null) { + for (Integer usePartner : UsePartner.partners) {// 1 // 2 // 4 + UsePartnerVo usePartnerVo = UsePartner.checkUsePartner(issueTypeVo.getUsePartners(), usePartner);//3, 1 / 3, 2 / 3, 4 + if (usePartnerVo != null) { + usePartnerVos.add(usePartnerVo); + } + } + issueTypeVo.setUsePartnerVos(usePartnerVos); + } } } @@ -388,7 +432,12 @@ Project project = this.projectService.getProject(issueTypeForm.getProjectId()); issueType.setProject(project); + // �썙�겕�뵆濡쒖슦�쓽 �떞�떦遺��꽌�� �룞�씪�븯寃� �꽭�똿 + this.setDepartmentOfProject(project, workflow); + issueType.setUsePartner(issueTypeForm.getUsePartner()); + + issueType.setInheritPartners(issueTypeForm.getInheritPartners()); /*if(issueTypeForm.getCompanyId() != null){ CompanyField companyField = this.companyFieldService.getCompany(issueTypeForm.getCompanyId()); @@ -471,6 +520,13 @@ return this.issueTypeRepository.findByWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId()); } + // �썙�겕�뵆濡쒖슦 ID濡� �씠�뒋 �쑀�삎 議고쉶 + @Override + @Transactional(readOnly = true) + public List<IssueType> findByWorkflowId(Long id) { + return this.issueTypeRepository.findByWorkflowId(id); + } + // �씠�뒋 ���엯 �븘�뱶 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎. @Override @Transactional -- Gitblit v1.8.0