From 257766aa7e8a88b2b371fc6f8f52751af7d84eda Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 수, 08 12월 2021 21:54:40 +0900 Subject: [PATCH] 연관 ,하위 이슈 요청 횟수 수정 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 42 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 37 insertions(+), 5 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 7109bd0..8e77478 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -60,6 +60,9 @@ private ProjectService projectService; @Autowired + private IssueTableConfigService issueTableConfigService; + + @Autowired private IssueStatusService issueStatusService; @Autowired @@ -1226,6 +1229,7 @@ case "02": // �봽濡쒖젥�듃, �씠�뒋 �쑀�삎, �씠�뒋 �긽�깭, �슦�꽑�닚�쐞, 以묒슂�룄, �떞�떦�옄, 泥⑤��뙆�씪, �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂�, �뙎湲�, 湲곕줉�쓣 �뀑�똿�븳�떎. this.setIssueDetail(issueVo, issue); // �씠�뒋 �긽�꽭 �젙蹂대�� �뀑�똿�븳�떎. + this.setIssueTableConfigs(issue, issueVo); issueVo.setProjectVo(ConvertUtil.copyProperties(issue.getProject(), ProjectVo.class)); break; } @@ -1236,6 +1240,26 @@ resJsonData.put(Constants.RES_KEY_CONTENTS, issueVo); } + + // �뀒�씠釉� �꽕�젙 �뀑�똿 + private void setIssueTableConfigs(Issue issue, IssueVo issueVo) { + Long IssueTypeId = issue.getIssueType().getId(); + + for (int tableConfigType : IssueTableConfig.IssueTableTypes) { + if (tableConfigType != IssueTableConfig.ISSUE_TABLE_TYPE_MAIN) { + issueVo.addIssueTableConfigVo(createIssueTableConfigVo(IssueTypeId, tableConfigType)); + } + } + } + + private IssueTableConfigVo createIssueTableConfigVo(Long issueTypeId, int tableConfigType) { + IssueTableConfig issueTableConfig = this.issueTableConfigService.findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(issueTypeId, tableConfigType); + if (issueTableConfig != null) { + return ConvertUtil.copyProperties(issueTableConfig, IssueTableConfigVo.class); + } + return new IssueTableConfigVo(); + } + // �븯�쐞 �씠�뒋 �젙蹂대�� �뀑�똿�븳�떎 private void setDownIssues(Issue issue, IssueVo issueVo) { @@ -1534,15 +1558,23 @@ List<Issue> issue = Lists.newArrayList(); for (IssueVo issueVo : issueVos) { IssueVo parentIssueVo = issueVo.getParentIssueVo(); - if (parentIssueVo != null) { - issueForm.setId(parentIssueVo.getId()); - } else { - issueForm.setId(issueVo.getId()); - } + issueForm.setId(issueVo.getId()); + + // �옄�룞 醫낅즺 �긽�깭 �꽕�젙�씠 �릺�뼱 �엳吏� �븡�쑝硫� �삤瑜섎컻�깮 Issue modifyIssue = this.modifyIssueForApi(user, issueForm, files); Issue parentIssue = modifyIssue.getParentIssue(); + IssueType issueType = modifyIssue.getIssueType(); + IssueStatus issueStatus = issueType.getIssueStatus(); + if (issueStatus == null) { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_COMPLETE_ISSUE_STATUS_NOT_EXIST)); + } + if (parentIssue != null) { List<Map<String, Object>> results = this.issueMapper.findNotCompleteByParentIssueId(parentIssue.getId()); + // �븯�쐞 �씪媛먯씠 紐⑤몢 醫낅즺 �긽�깭�씪�븣 �긽�쐞 �씪媛먮룄 醫낅즺 泥섎━ + if (results == null || results.size() == 0) { + parentIssue.setIssueStatus(issueType.getIssueStatus()); + } } issue.add(modifyIssue); -- Gitblit v1.8.0