From 612b5a21417f3c8dcaed84c1c0691dc883088f61 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 금, 18 2월 2022 18:04:14 +0900 Subject: [PATCH] 이슈 컬럼 정렬 진행 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 87 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 85 insertions(+), 2 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java index ba2f863..0e8375e 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -47,9 +47,7 @@ import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.*; -import java.util.regex.Pattern; import static kr.wisestone.owl.domain.enumType.CustomFieldType.*; @@ -1276,6 +1274,9 @@ private void setMapToIssueVo(List<Map<String, Object>> results, List<IssueVo> issueVos, IssueCondition issueCondition, User user) { for (Map<String, Object> result : results) { IssueVo issueVo = ConvertUtil.convertMapToClass(result, IssueVo.class); + if (MapUtil.getString(result, "inheritPartners") != null && MapUtil.getString(result, "inheritPartners").equals("1")) { + issueVo.setInheritPartners(true); + } issueVos.add(issueVo); issueCondition.addIssueIds(String.valueOf(issueVo.getId())); } @@ -2127,6 +2128,15 @@ // HOSTING �젙蹂� ���옣 this.issueHostingService.modifyIssueHostingField(issue, issueForm, detectIssueChange); + // �뙆�듃�꼫�젙蹂� �븯�쐞�씠�뒋 �긽�냽 + List<Issue> downIssues = this.issueRepository.findByParentIssueId(issue.getId()); + if (issueForm.getInheritYn() != null && issueForm.getInheritYn() + && downIssues != null && downIssues.size() > 0) { + for (Issue downIssue : downIssues) { + this.inheritPartners(downIssue, issue); + } + } + // �씠�뒋 �씠�젰 �벑濡� if (!StringUtils.isEmpty(detectIssueChange.toString())) { this.issueHistoryService.addIssueHistory(issue, user, IssueHistoryType.MODIFY, detectIssueChange.toString()); @@ -2838,8 +2848,16 @@ for (IssueVo issueVo : issueVos) { for (Map<String, Object> issueCustomFieldValue : issueCustomFieldValues) { + int count = 0; + Map<String, Object> useValues = new HashMap<>(); + if (issueVo.getId().equals(MapUtil.getLong(issueCustomFieldValue, "issueId"))) { IssueCustomFieldValueVo issueCustomFieldValueVo = new IssueCustomFieldValueVo(); + + useValues.put("useValue"+count, MapUtil.getString(issueCustomFieldValue, "useValue")); + useValues.put("customFieldId", MapUtil.getLong(issueCustomFieldValue, "customFieldId")); + issueCustomFieldValueVo.setUseValues(useValues); + issueCustomFieldValueVo.setUseValue(MapUtil.getString(issueCustomFieldValue, "useValue")); CustomFieldVo customFieldVo = new CustomFieldVo(); @@ -3166,6 +3184,11 @@ } issue = this.issueRepository.saveAndFlush(issue); + + if (issueForm.getInheritYn() != null && issueForm.getInheritYn() && issue.getParentIssue() != null) { + // �긽�쐞�씠�뒋�쓽 �뙆�듃�꼫 �젙蹂� �긽�냽 + this.inheritPartners(issue, issue.getParentIssue()); + } saveIssueForm.setId(issue.getId()); @@ -4153,11 +4176,71 @@ this.issueHistoryService.detectDownIssues(IssueHistoryType.DELETE, issue, sb); issue.setParentIssue(null); } + + if (issueDownForm.getInheritYn() != null && issueDownForm.getInheritYn() && issue.getParentIssue() != null) { + // �긽�쐞�씠�뒋�쓽 �뙆�듃�꼫 �젙蹂� �긽�냽諛쏄린 + issue = this.inheritPartners(issue, parentIssue); + } + this.issueHistoryService.addIssueHistory(parentIssue, IssueHistoryType.MODIFY, sb.toString()); //parentIssue = myIssue(湲곕줉�� �쁽�옱 �긽�꽭�럹�씠吏��뿉 �빐�빞�븯�땲源�) this.issueRepository.saveAndFlush(issue); } } + /** + * �긽�쐞�씠�뒋�쓽 �뙆�듃�꼫 �젙蹂� �긽�냽諛쏄린 + * @param issue Issue + * @param parentIssue Issue + * @return Issue + */ + private Issue inheritPartners(Issue issue, Issue parentIssue) { + if (parentIssue != null) { + if (parentIssue.getIssueType().getInheritPartners()) { + IssueCompany issueCompany = new IssueCompany(); + IssueIsp issueIsp = new IssueIsp(); + IssueHosting issueHosting = new IssueHosting(); + + if (parentIssue.getIssueCompanies() != null && parentIssue.getIssueCompanies().size() > 0) { + issue.getIssueCompanies().clear(); + issue.getIssueCompanies().addAll(parentIssue.getIssueCompanies()); + Iterator<IssueCompany> itrCompany = issue.getIssueCompanies().iterator(); + ConvertUtil.copyProperties(itrCompany.next(), issueCompany, "id"); + issueCompany.setIssue(issue); + issueCompany.setCompanyField(parentIssue.getIssueCompanies().iterator().next().getCompanyField()); + this.issueCompanyRepository.saveAndFlush(issueCompany); + } else { + this.issueCompanyRepository.deleteByIssueId(issue.getId()); + this.issueCompanyRepository.flush(); + } + if (parentIssue.getIssueIspFields() != null && parentIssue.getIssueIspFields().size() > 0) { + issue.getIssueIspFields().clear(); + issue.getIssueIspFields().addAll(parentIssue.getIssueIspFields()); + Iterator<IssueIsp> itrIsp = issue.getIssueIspFields().iterator(); + ConvertUtil.copyProperties(itrIsp.next(), issueIsp, "id"); + issueIsp.setIssue(issue); + issueIsp.setIspField(parentIssue.getIssueIspFields().iterator().next().getIspField()); + this.issueIspRepository.saveAndFlush(issueIsp); + } else { + this.issueIspRepository.deleteByIssueId(issue.getId()); + this.issueIspRepository.flush(); + } + if (parentIssue.getIssueHostingFields() != null && parentIssue.getIssueHostingFields().size() > 0) { + issue.getIssueHostingFields().clear(); + issue.getIssueHostingFields().addAll(parentIssue.getIssueHostingFields()); + Iterator<IssueHosting> itrHosting = issue.getIssueHostingFields().iterator(); + ConvertUtil.copyProperties(itrHosting.next(), issueHosting, "id"); + issueHosting.setIssue(issue); + issueHosting.setHostingField(parentIssue.getIssueHostingFields().iterator().next().getHostingField()); + this.issueHostingRepository.saveAndFlush(issueHosting); + } else { + this.issueHostingRepository.deleteByIssueId(issue.getId()); + this.issueHostingRepository.flush(); + } + } + } + return issue; + } + @Override public void findPartner(Map<String, Object> resJsonData, Map<String, Object> params) { Long issueTypeId = MapUtil.getLong(params, "issueTypeId"); -- Gitblit v1.8.0