From 261950c3d8e20fb94141c03b37a2872f75477831 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 금, 14 1월 2022 21:07:15 +0900
Subject: [PATCH] Merge branch 'master' of http://192.168.0.28:9001/r/owl-kisa

---
 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java |   46 ++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 38 insertions(+), 8 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 fe45e8d..4ec7642 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -212,6 +212,9 @@
     @Autowired
     private IssueRelationMapper issueRelationMapper;
 
+    @Autowired
+    private WorkflowTransitionService workflowTransitionService;
+
     @Override
     protected JpaRepository<Issue, Long> getRepository() {
         return this.issueRepository;
@@ -262,6 +265,9 @@
             }
         } else if (issueApiForm.getIssueStatusId() == null){
             throw new ApiParameterException(this.messageAccessor.getMessage(MsgConstants.API_ISSUE_STATUS_NOT_EXIST));
+        } else if (!this.workflowTransitionService.contains(issueApiForm.getIssueStatusId(), workflow.getId())) {
+            //�씠�뒋 �긽�깭 �쑀�슚�꽦 �솗�씤
+            throw new ApiParameterException(this.messageAccessor.getMessage(MsgConstants.API_ISSUE_STATUS_NOT_EXIST_IN_WORKFLOW));
         }
 
         // �봽濡쒖젥�듃 �엯�젰
@@ -1521,7 +1527,7 @@
 
                 case "02": //  �봽濡쒖젥�듃, �씠�뒋 �쑀�삎, �씠�뒋 �긽�깭,  �슦�꽑�닚�쐞, 以묒슂�룄, �떞�떦�옄, 泥⑤��뙆�씪, �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂�, �뙎湲�, 湲곕줉�쓣 �뀑�똿�븳�떎.
                     this.setIssueDetail(issueVo, issue, user);    //  �씠�뒋 �긽�꽭 �젙蹂대�� �뀑�똿�븳�떎.
-                    this.setIssueTableConfigs(issue, issueVo);
+                    this.setIssueTableConfigs(issue, issueVo, issueCondition);
                     issueVo.setProjectVo(ConvertUtil.copyProperties(issue.getProject(), ProjectVo.class));
                     break;
             }
@@ -1533,8 +1539,9 @@
     }
 
     // �뀒�씠釉� �꽕�젙 �뀑�똿
-    private void setIssueTableConfigs(Issue issue, IssueVo issueVo) {
-        Long IssueTypeId = issue.getIssueType().getId();
+    private void setIssueTableConfigs(Issue issue, IssueVo issueVo, IssueCondition issueCondition) {
+        //Long IssueTypeId = issue.getIssueType().getId();
+        Long IssueTypeId = issueCondition.getIssueTypeId();
 
         for (int tableConfigType : IssueTableConfig.IssueTableTypes) {
             if (tableConfigType != IssueTableConfig.ISSUE_TABLE_TYPE_MAIN) {
@@ -1585,6 +1592,9 @@
                 this.setIssueCustomFields(downIssue, downIssueVo);   // �궗�슜�옄�젙�쓽�븘�뱶 �젙蹂� �꽭�똿
                 this.setIssueHistory(downIssue, downIssueVo);   //  �씠�뒋 湲곕줉 �젙蹂� �뀑�똿
                 this.setIssueComments(downIssue, downIssueVo);  //  �뙎湲� �젙蹂� �뀑�똿
+                this.setIssueCompanyField(downIssue, downIssueVo);  //�뾽泥� �젙蹂� �꽭�똿
+                this.setIssueIspField(downIssue, downIssueVo);  //ISP �젙蹂� �꽭�똿
+                this.setIssueHostingField(downIssue, downIssueVo);  //HOSTING �젙蹂� �꽭�똿
 
                 downIssueVo.setModifyPermissionCheck(issueVo.getModifyPermissionCheck());
 
@@ -1701,6 +1711,25 @@
                 this.setRegister(relationIssue, relIssueVo); // �벑濡앹옄
                 this.setIssueDepartment(relationIssue, relIssueVo);  //  �떞�떦遺��꽌 �젙蹂� �뀑�똿
                 this.setIssueCustomFields(relationIssue, relIssueVo);   // �궗�슜�옄�젙�쓽�븘�뱶 �젙蹂� �꽭�똿
+
+                Set<IssueCompany> issueCompanies = relationIssue.getIssueCompanies();
+                Iterator<IssueCompany> itrCompany = issueCompanies.iterator();
+                while (itrCompany.hasNext()) {
+                    issueRelationVo.addIssueCompanyVo(ConvertUtil.copyProperties(itrCompany.next(), IssueCompanyVo.class));
+                }
+
+                Set<IssueIsp> issueIsps = relationIssue.getIssueIspFields();
+                Iterator<IssueIsp> itrIsp = issueIsps.iterator();
+                while (itrIsp.hasNext()) {
+                    issueRelationVo.addIssueIspVo(ConvertUtil.copyProperties(itrIsp.next(), IssueIspVo.class));
+                }
+
+                Set<IssueHosting> issueHostings = relationIssue.getIssueHostingFields();
+                Iterator<IssueHosting> itrHosting = issueHostings.iterator();
+                while (itrHosting.hasNext()) {
+                    issueRelationVo.addIssueHostingVo(ConvertUtil.copyProperties(itrHosting.next(), IssueHostingVo.class));
+                }
+
                 issueVo.addIssueRelationVo(issueRelationVo);
             }
         } else {
@@ -1833,6 +1862,7 @@
             issueCustomFieldValueCondition.setUseValue(concatUseValue);
             issueCustomFieldValueCondition.setUseValues(userValues);
             issueCustomFieldValueCondition.setIssueTypeId(issueApiform.getIssueTypeId());
+            issueCustomFieldValueCondition.setIssueStatusType("CLOSE");
             List<Map<String, Object>> results = this.issueMapper.findByCustomFieldValue(issueCustomFieldValueCondition);
             if (results != null && results.size() > 0) {
                 for (Map<String, Object> result : results) {
@@ -2798,23 +2828,23 @@
             CompanyField companyField = issueCompany.getCompanyField();
             if (companyField != null) {
                 issueCompanyVo.setCompanyId(issueCompany.getCompanyField().getId());
-                if (issueCompany.getCompanyTypeId() != null) {
+                if (issueCompany.getCompanyTypeId() != null && issueCompany.getCompanyTypeId() != -1) {
                     CompanyFieldCategory companyType = this.companyFieldCategoryService.find(issueCompany.getCompanyTypeId());
                     issueCompanyVo.setCompanyTypeName(companyType.getUseValue());
                 }
-                if (issueCompany.getParentSectorId() != null) {
+                if (issueCompany.getParentSectorId() != null && issueCompany.getParentSectorId() != -1) {
                     CompanyFieldCategory parentSector = this.companyFieldCategoryService.find(issueCompany.getParentSectorId());
                     issueCompanyVo.setParentSectorName(parentSector.getUseValue());
                 }
-                if (issueCompany.getChildSectorId() != null) {
+                if (issueCompany.getChildSectorId() != null && issueCompany.getChildSectorId() != -1) {
                     CompanyFieldCategory childSector = this.companyFieldCategoryService.find(issueCompany.getChildSectorId());
                     issueCompanyVo.setChildSectorName(childSector.getUseValue());
                 }
-                if (issueCompany.getRegionId() != null) {
+                if (issueCompany.getRegionId() != null && issueCompany.getRegionId() != -1) {
                     CompanyFieldCategory region = this.companyFieldCategoryService.find(issueCompany.getRegionId());
                     issueCompanyVo.setRegionName(region.getUseValue());
                 }
-                if (issueCompany.getStatusId() != null) {
+                if (issueCompany.getStatusId() != null && issueCompany.getStatusId() != -1) {
                     CompanyFieldCategory status = this.companyFieldCategoryService.find(issueCompany.getStatusId());
                     issueCompanyVo.setStatusName(status.getUseValue());
                 }

--
Gitblit v1.8.0