From 686a943baa3f2af685881a6ad05c2d5f4ee5214b Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 목, 09 12월 2021 14:26:53 +0900 Subject: [PATCH] 사용자 정의필드 시간기능 추가 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 52 insertions(+), 6 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 cc34278..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) { @@ -1513,6 +1537,15 @@ } + // �븯�쐞 �씠�뒋媛� 紐⑤몢 醫낅즺 泥섎━ �릺�뿀�쓣 寃쎌슦 �긽�쐞�씠�뒋�룄 �셿猷� 泥섎━ + private void setParentIssueComplete(Issue parentIssue) { + if (parentIssue != null) { + this.issueMapper.findNotCompleteByParentIssueId(parentIssue.getId()); + + } + } + + // �씠�뒋瑜� �닔�젙�븳�떎(api�슜) @Override @Transactional @@ -1520,18 +1553,31 @@ User user = this.convertToUser(issueApiForm.getToken()); IssueForm issueForm = this.convertToIssueForm(issueApiForm, user); - List<IssueVo> issueVos = this.findIssue(issueApiForm); if (issueVos != null && issueVos.size() > 0) { 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)); } - issue.add(this.modifyIssueForApi(user, issueForm, files)); + + 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); } return issue; } else { -- Gitblit v1.8.0