From 916a3cbabe4e50062fce61ff6f2f5d46c05dfbd1 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 목, 17 3월 2022 17:47:45 +0900 Subject: [PATCH] - api로 이슈 추가 시 url/ip로 업체 찾는 코드 수정 --- src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java | 68 ++++++++++++++++++++++++++-------- 1 files changed, 52 insertions(+), 16 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java index 344147e..67d7586 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java @@ -2,13 +2,11 @@ import kr.wisestone.owl.domain.*; import kr.wisestone.owl.mapper.DepartmentMapper; -import kr.wisestone.owl.repository.WorkflowDepartmentRepository; +import kr.wisestone.owl.repository.UserDepartmentRepository; import kr.wisestone.owl.service.*; -import kr.wisestone.owl.util.CommonUtil; import kr.wisestone.owl.web.condition.DepartmentCondition; import kr.wisestone.owl.web.condition.UserCondition; import kr.wisestone.owl.web.form.DepartmentForm; -import kr.wisestone.owl.web.form.UserDepartmentForm; import org.jsoup.Jsoup; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,22 +41,25 @@ private DepartmentRepository departmentRepository; @Autowired + private UserDepartmentService userDepartmentService; + + @Autowired private DepartmentMapper departmentMapper; @Autowired private DepartmentService departmentService; @Autowired - private UserDepartmentService userDepartmentService; + private WorkflowDepartmentService workflowDepartmentService; @Autowired private ProjectRoleDepartmentService projectRoleDepartmentService; @Autowired - private ProjectRoleService projectRoleService; + private IssueDepartmentService issueDepartmentService; @Autowired - private WorkflowDepartmentRepository workflowDepartmentRepository; + private ProjectRoleService projectRoleService; @Autowired private IssueTypeService issueTypeService; @@ -127,11 +128,28 @@ } for (Long id : departmentForm.getRemoveIds()) { - if (!this.departmentService.countInDepartment(id)) { - this.departmentRepository.deleteById(id); - } else { + if (this.departmentService.countInDepartment(id)) { + // �궗�슜�옄媛� 遺��꽌�뿉 �냽�빐 �엳�뒗吏� 泥댄겕 throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_ALREADY_IN_USE)); + + } else if (this.workflowDepartmentService.usingDepartment(id)) { + // �썙�겕�뵆濡쒖슦�뿉�꽌 �빐�떦 遺��꽌瑜� �궗�슜�븯怨� �엳�뒗吏� 泥댄겕 + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_ALREADY_IN_USE_IN_WORKFLOW)); + + } else if (this.projectRoleDepartmentService.usingDepartment(id)) { + // �봽濡쒖젥�듃�쓽 �떞�떦遺��꽌�씤吏� 泥댄겕 + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_ALREADY_IN_USE_IN_PROJECT)); + + } else if (this.issueDepartmentService.usingDepartment(id)) { + // �씠�뒋�쓽 �떞�떦遺��꽌濡� �릺�뼱�엳�뒗吏� 泥댄겕 + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_ALREADY_IN_USE_IN_ISSUE)); + + } else { + this.departmentRepository.deleteById(id); } } this.departmentRepository.flush(); @@ -167,24 +185,37 @@ @Override @Transactional(readOnly = true) public void findWorkflowDepartment(Map<String, Object> resJsonData, DepartmentCondition departmentCondition) { + List<DepartmentVo> departmentVos = findWorkflowDepartment(departmentCondition.getIssueTypeId()); + resJsonData.put(Constants.RES_KEY_CONTENTS, departmentVos); + } - IssueType issueType = this.issueTypeService.getIssueType(departmentCondition.getIssueTypeId()); - Long workflowId = issueType.getWorkflow().getId(); - List<WorkflowDepartment> workflowDepartmentList = this.workflowDepartmentRepository.findByWorkflowId(workflowId); + // �썙�겕�뵆濡쒖슦�뿉 �냽�빐�엳�뒗 遺��꽌 紐⑸줉 議고쉶 + @Override + @Transactional(readOnly = true) + public List<DepartmentVo> findWorkflowDepartment(Long issueTypeId) { + List<WorkflowDepartment> workflowDepartmentList = this.findWorkflowDepartmentByIssueTypeId(issueTypeId); List<DepartmentVo> departmentVos = Lists.newArrayList(); - //List<Long> workflowDepartmentIds = Lists.newArrayList(); if(workflowDepartmentList != null && workflowDepartmentList.size()>0){ for(WorkflowDepartment workflowDepartment : workflowDepartmentList){ DepartmentVo departmentVo = ConvertUtil.copyProperties(workflowDepartment.getDepartment(), DepartmentVo.class); departmentVo.setByName(departmentVo.getDepartmentName()); - //workflowDepartmentIds.add(workflowDepartment.getDepartment().getId()); departmentVos.add(departmentVo); } - resJsonData.put(Constants.RES_KEY_CONTENTS, departmentVos); } + return departmentVos; } + // �씠�뒋 �쑀�삎(�썙�겕�뵆濡쒖슦)�뿉 �엳�뒗 �떞�떦遺��꽌 議고쉶 + private List<WorkflowDepartment> findWorkflowDepartmentByIssueTypeId(Long issueTypeId) { + Long workflowId = this.getWorkflowId(issueTypeId); + return this.workflowDepartmentService.find(workflowId); + } + + private Long getWorkflowId(Long issueTypeId) { + IssueType issueType = this.issueTypeService.getIssueType(issueTypeId); + return issueType.getWorkflow().getId(); + } // 遺��꽌 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎. @Override @@ -226,7 +257,12 @@ @Override public boolean countInDepartment(Long id) { - return this.departmentMapper.countInDepartment(id) > 0; + boolean result = false; + List<UserDepartment> usingDepartments = this.userDepartmentService.findByDepartmentId(id); + if(usingDepartments != null && usingDepartments.size() > 0){ + result = true; + } + return result; } // DepartmentVos �뜲�씠�꽣瑜� �뿊���뿉�꽌 �몴�떆�븷 �닔 �엳�뒗 �뜲�씠�꽣濡� 蹂�寃쏀븳�떎. -- Gitblit v1.8.0