From b72f7719cb2427912b1fba6f3abb117ffd49de49 Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 금, 24 12월 2021 16:10:24 +0900 Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 42 +++++--- src/main/resources/mybatis/query-template/userWorkspace-template.xml | 3 src/main/java/kr/wisestone/owl/service/IssueHistoryService.java | 6 src/main/resources/mybatis/query-template/issue-template.xml | 5 src/main/java/kr/wisestone/owl/constant/MsgConstants.java | 2 src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties | 5 src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java | 34 +++++- src/main/java/kr/wisestone/owl/service/IssueCompanyService.java | 3 src/main/java/kr/wisestone/owl/service/IssueHostingService.java | 3 src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java | 10 + src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java | 30 +++++ src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js | 19 +-- src/main/java/kr/wisestone/owl/vo/UserWorkspaceVo.java | 9 + src/main/java/kr/wisestone/owl/service/IssueIspService.java | 3 src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java | 10 + src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java | 31 +++++ src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js | 31 +++-- src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java | 27 ++++- 18 files changed, 195 insertions(+), 78 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java index 6ed48e3..5a278a0 100644 --- a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java +++ b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java @@ -232,9 +232,11 @@ public static final String COMPANYFIELD_USED_URL = "COMPANYFIELD_USED_URL"; // URL�씠 �씠誘� �궗�슜�릺怨� �엳�뒿�땲�떎. public static final String HOSTING_NOT_EXIST = "HOSTING_NOT_EXIST"; // �샇�뒪�똿�씠 議댁옱�븯吏� �븡�뒿�땲�떎. + public static final String HOSTING_CODE_NOT_ENTER = "HOSTING_CODE_NOT_ENTER"; // �샇�뒪�똿�쓽 肄붾뱶�뒗 �븘�닔 �엯�젰 媛믪엯�땲�떎. public static final String HOSTING_REMOVE_NOT_SELECT = "HOSTING_REMOVE_NOT_SELECT"; // �궘�젣�븷 �샇�뒪�똿�씠 �꽑�깮�릺吏� �븡�븯�뒿�땲�떎. public static final String ISP_NOT_EXIST = "ISP_NOT_EXIST"; // ISP媛� 議댁옱�븯吏� �븡�뒿�땲�떎. + public static final String ISP_CODE_NOT_ENTER = "ISP_CODE_NOT_ENTER"; // ISP�쓽 肄붾뱶�뒗 �븘�닔 �엯�젰 媛믪엯�땲�떎. public static final String ISP_REMOVE_NOT_SELECT = "ISP_REMOVE_NOT_SELECT"; // �궘�젣�븷 ISP媛� �꽑�깮�릺吏� �븡�븯�뒿�땲�떎. public static final String PROJECT_NOT_INCLUDE_DEPARTMENT = "PROJECT_NOT_INCLUDE_DEPARTMENT"; // �꽑�깮�븳 遺��꽌 以� �봽濡쒖젥�듃�뿉 李몄뿬�븯怨� �엳吏� �븡�� 遺��꽌媛� �엳�뒿�땲�떎. diff --git a/src/main/java/kr/wisestone/owl/service/IssueCompanyService.java b/src/main/java/kr/wisestone/owl/service/IssueCompanyService.java index 1739482..a1c68ae 100644 --- a/src/main/java/kr/wisestone/owl/service/IssueCompanyService.java +++ b/src/main/java/kr/wisestone/owl/service/IssueCompanyService.java @@ -3,13 +3,14 @@ import kr.wisestone.owl.domain.Issue; import kr.wisestone.owl.domain.IssueCompany; import kr.wisestone.owl.web.condition.IssueCondition; +import kr.wisestone.owl.web.form.IssueForm; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; import java.util.Map; public interface IssueCompanyService extends AbstractService<IssueCompany, Long, JpaRepository<IssueCompany, Long>>{ - void modifyIssueCompanyField(Issue issue, List<Map<String, Object>> issueCompanyField); + void modifyIssueCompanyField(Issue issue, IssueForm issueForm); List<Map<String, Object>> findInIssueIds(IssueCondition issueCondition); } diff --git a/src/main/java/kr/wisestone/owl/service/IssueHistoryService.java b/src/main/java/kr/wisestone/owl/service/IssueHistoryService.java index 4c1cc74..3855b9f 100644 --- a/src/main/java/kr/wisestone/owl/service/IssueHistoryService.java +++ b/src/main/java/kr/wisestone/owl/service/IssueHistoryService.java @@ -63,11 +63,11 @@ void detectSendIssueMail(IssueHistoryType type, IssueForm issueForm, StringBuilder description); void detectSendIssueMail(IssueHistoryType type, List<String> sendMails, StringBuilder description); - void detectIssueCompany(IssueHistoryType type, Map<String, Object> param, IssueCompany issueCompany, StringBuilder description); + void detectIssueCompany(IssueHistoryType type, Map<String, Object> param, CompanyField companyField, IssueCompany issueCompany, StringBuilder description); - void detectIssueIsp(IssueHistoryType type, Map<String, Object> param, IssueIsp issueIsp, StringBuilder description); + void detectIssueIsp(IssueHistoryType type, Map<String, Object> param, IspField ispField, IssueIsp issueIsp, StringBuilder description); - void detectIssueHosting(IssueHistoryType type, Map<String, Object> param, IssueHosting issueHosting, StringBuilder description); + void detectIssueHosting(IssueHistoryType type, Map<String, Object> param, HostingField hostingField, IssueHosting issueHosting, StringBuilder description); void recodeRemoveCustomFieldOptionValue(CustomField customField, String oldValue, String newValue, StringBuilder description); diff --git a/src/main/java/kr/wisestone/owl/service/IssueHostingService.java b/src/main/java/kr/wisestone/owl/service/IssueHostingService.java index d62ec59..dad3358 100644 --- a/src/main/java/kr/wisestone/owl/service/IssueHostingService.java +++ b/src/main/java/kr/wisestone/owl/service/IssueHostingService.java @@ -3,13 +3,14 @@ import kr.wisestone.owl.domain.Issue; import kr.wisestone.owl.domain.IssueHosting; import kr.wisestone.owl.web.condition.IssueCondition; +import kr.wisestone.owl.web.form.IssueForm; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; import java.util.Map; public interface IssueHostingService extends AbstractService<IssueHosting, Long, JpaRepository<IssueHosting, Long>>{ - void modifyIssueHostingField(Issue issue, List<Map<String, Object>> issueHostingField); + void modifyIssueHostingField(Issue issue, IssueForm issueForm); List<Map<String, Object>> findInIssueIds(IssueCondition issueCondition); } diff --git a/src/main/java/kr/wisestone/owl/service/IssueIspService.java b/src/main/java/kr/wisestone/owl/service/IssueIspService.java index 071ff49..531aaf3 100644 --- a/src/main/java/kr/wisestone/owl/service/IssueIspService.java +++ b/src/main/java/kr/wisestone/owl/service/IssueIspService.java @@ -3,13 +3,14 @@ import kr.wisestone.owl.domain.Issue; import kr.wisestone.owl.domain.IssueIsp; import kr.wisestone.owl.web.condition.IssueCondition; +import kr.wisestone.owl.web.form.IssueForm; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; import java.util.Map; public interface IssueIspService extends AbstractService<IssueIsp, Long, JpaRepository<IssueIsp, Long>>{ - void modifyIssueIspField(Issue issue, List<Map<String, Object>> issueIspField); + void modifyIssueIspField(Issue issue, IssueForm issueForm); List<Map<String, Object>> findInIssueIds(IssueCondition issueCondition); } diff --git a/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java index 26f8d67..d2038a4 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java @@ -58,9 +58,13 @@ // Hosting 異붽� @Override public HostingField add(HostingFieldForm HostingFieldForm) { - HostingField HostingField = ConvertUtil.copyProperties(HostingFieldForm, HostingField.class); - hostingFieldRepository.saveAndFlush(HostingField); - return HostingField; + HostingField hostingField = ConvertUtil.copyProperties(HostingFieldForm, HostingField.class); + if (hostingField.getCode() != null && !hostingField.getCode().equals("")) { + hostingFieldRepository.saveAndFlush(hostingField); + } else { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.HOSTING_CODE_NOT_ENTER)); + } + return hostingField; } // Hosting 紐⑸줉�쓣 媛��졇�삩�떎. diff --git a/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java index 2893698..054459d 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java @@ -58,9 +58,13 @@ // Isp 異붽� @Override public IspField add(IspFieldForm IspFieldForm) { - IspField IspField = ConvertUtil.copyProperties(IspFieldForm, IspField.class); - ispFieldRepository.saveAndFlush(IspField); - return IspField; + IspField ispField = ConvertUtil.copyProperties(IspFieldForm, IspField.class); + if (ispField.getCode() != null && !ispField.getCode().equals("")) { + ispFieldRepository.saveAndFlush(ispField); + } else { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.ISP_CODE_NOT_ENTER)); + } + return ispField; } // Isp 紐⑸줉�쓣 媛��졇�삩�떎. diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java index 54e03d3..a3d2ed5 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java @@ -8,6 +8,8 @@ import kr.wisestone.owl.util.ConvertUtil; import kr.wisestone.owl.util.MapUtil; import kr.wisestone.owl.web.condition.IssueCondition; +import kr.wisestone.owl.web.form.CompanyFieldForm; +import kr.wisestone.owl.web.form.IssueForm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -42,8 +44,9 @@ // �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �뾽泥� 媛믪쓣 �뾽�뜲�씠�듃�븳�떎. @Override @Transactional - public void modifyIssueCompanyField(Issue issue, List<Map<String, Object>> issueCompanyFields) { + public void modifyIssueCompanyField(Issue issue, IssueForm issueForm) { if (issue != null) { + List<Map<String, Object>> issueCompanyFields = issueForm.getIssueCompanyFields(); if (issueCompanyFields != null && issueCompanyFields.size() > 0) { Map<String, Object> param = issueCompanyFields.get(0); @@ -56,7 +59,7 @@ issueCompany = issueCompanies.iterator().next(); // 蹂�寃� �씠�젰 StringBuilder sb = new StringBuilder(); - issueHistoryService.detectIssueCompany(IssueHistoryType.MODIFY, param, issueCompany, sb); + issueHistoryService.detectIssueCompany(IssueHistoryType.MODIFY, param, null, issueCompany, sb); issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString()); issueCompany.setCompanyField(companyField); @@ -74,13 +77,34 @@ } // 異붽� �씠�젰 StringBuilder sb = new StringBuilder(); - issueHistoryService.detectIssueCompany(IssueHistoryType.ADD, param, issueCompany, sb); + issueHistoryService.detectIssueCompany(IssueHistoryType.ADD, param, null, issueCompany, sb); issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString()); } this.issueCompanyRepository.saveAndFlush(issueCompany); } else { this.issueCompanyRepository.deleteById(MapUtil.getLong(param, "id")); } + } else if(issueForm.getCompanyName() != null && !issueForm.getCompanyName().equals("")) { //�뾽泥댁젙蹂� 吏곸젒 異붽� + CompanyFieldForm companyFieldForm = new CompanyFieldForm(); + companyFieldForm.setName(issueForm.getCompanyName()); + companyFieldForm.setEmail(issueForm.getCompanyEmail()); + companyFieldForm.setUrl(issueForm.getCompanyUrl()); + companyFieldForm.setManager(issueForm.getCompanyManager()); + companyFieldForm.setTel(issueForm.getCompanyTel()); + companyFieldForm.setMemo(issueForm.getCompanyMemo()); + + CompanyField companyField = this.companyFieldService.addCompany(companyFieldForm); + + IssueCompany issueCompany = ConvertUtil.copyProperties(companyFieldForm, IssueCompany.class); + issueCompany.setIssue(issue); + if (companyField != null) { + issueCompany.setCompanyField(companyField); + } + // 異붽� �씠�젰 + StringBuilder sb = new StringBuilder(); + issueHistoryService.detectIssueCompany(IssueHistoryType.ADD, null, companyField, issueCompany, sb); + issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString()); + this.issueCompanyRepository.saveAndFlush(issueCompany); } } } diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java index 3a5ad54..3f9f4ec 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java @@ -554,8 +554,13 @@ // �뾽泥� �젙蹂� 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. @Override - public void detectIssueCompany(IssueHistoryType type, Map<String, Object> param, IssueCompany issueCompany, StringBuilder description) { - Long id = MapUtil.getLong(param, "companyId"); + public void detectIssueCompany(IssueHistoryType type, Map<String, Object> param, CompanyField companyField, IssueCompany issueCompany, StringBuilder description) { + Long id = 0L; + if (param != null) { + id = MapUtil.getLong(param, "companyId"); + }else if(companyField != null) { + id = companyField.getId(); + } Long companyFieldId = issueCompany.getCompanyField().getId(); if (type == IssueHistoryType.ADD) { //異붽� �븷 寃쎌슦 @@ -590,8 +595,13 @@ // ISP �젙蹂� 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. @Override - public void detectIssueIsp(IssueHistoryType type, Map<String, Object> param, IssueIsp issueIsp, StringBuilder description) { - Long id = MapUtil.getLong(param, "companyId"); + public void detectIssueIsp(IssueHistoryType type, Map<String, Object> param, IspField ispField, IssueIsp issueIsp, StringBuilder description) { + Long id = 0L; + if (param != null) { + id = MapUtil.getLong(param, "companyId"); + } else if(ispField != null) { + id = ispField.getId(); + } Long ispFieldId = issueIsp.getIspField().getId(); if (type == IssueHistoryType.ADD) { @@ -626,8 +636,13 @@ // �샇�뒪�똿 �젙蹂� 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. @Override - public void detectIssueHosting(IssueHistoryType type, Map<String, Object> param, IssueHosting issueHosting, StringBuilder description) { - Long id = MapUtil.getLong(param, "companyId"); + public void detectIssueHosting(IssueHistoryType type, Map<String, Object> param, HostingField hostingField, IssueHosting issueHosting, StringBuilder description) { + Long id = 0L; + if (param != null) { + id = MapUtil.getLong(param, "companyId"); + }else if(hostingField != null) { + id = hostingField.getId(); + } Long hostingFieldId = issueHosting.getHostingField().getId(); if (type == IssueHistoryType.ADD) { diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java index 8bd2b6c..0817429 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java @@ -10,6 +10,8 @@ import kr.wisestone.owl.util.MapUtil; import kr.wisestone.owl.vo.IssueHostingVo; import kr.wisestone.owl.web.condition.IssueCondition; +import kr.wisestone.owl.web.form.HostingFieldForm; +import kr.wisestone.owl.web.form.IssueForm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -44,10 +46,11 @@ // �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �뾽泥� 媛믪쓣 �뾽�뜲�씠�듃�븳�떎. @Override @Transactional - public void modifyIssueHostingField(Issue issue, List<Map<String, Object>> issueIspFields) { + public void modifyIssueHostingField(Issue issue, IssueForm issueForm) { if (issue != null) { - if (issueIspFields != null && issueIspFields.size() > 0) { - Map<String, Object> param = issueIspFields.get(0); + List<Map<String, Object>> issueHostingFields = issueForm.getIssueHostingFields(); + if (issueHostingFields != null && issueHostingFields.size() > 0) { + Map<String, Object> param = issueHostingFields.get(0); if (param != null && param.get("hostingId") != null && param.get("hostingId") != "") { HostingField hostingField = this.hostingFieldService.getHosting(MapUtil.getLong(param, "hostingId")); @@ -59,7 +62,7 @@ issueHosting = issueHostings.iterator().next(); // 蹂�寃� �씠�젰 StringBuilder sb = new StringBuilder(); - issueHistoryService.detectIssueHosting(IssueHistoryType.MODIFY, param, issueHosting, sb); + issueHistoryService.detectIssueHosting(IssueHistoryType.MODIFY, param, null, issueHosting, sb); issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString()); issueHosting.setHostingField(hostingField); @@ -78,13 +81,34 @@ } // 異붽� �씠�젰 StringBuilder sb = new StringBuilder(); - issueHistoryService.detectIssueHosting(IssueHistoryType.ADD, param, issueHosting, sb); + issueHistoryService.detectIssueHosting(IssueHistoryType.ADD, param, null, issueHosting, sb); issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString()); } this.issueHostingRepository.saveAndFlush(issueHosting); }else { this.issueHostingRepository.deleteById(MapUtil.getLong(param, "id")); } + } else if(issueForm.getHostingName() != null && !issueForm.getHostingName().equals("")) { + HostingFieldForm hostingFieldForm = new HostingFieldForm(); + hostingFieldForm.setName(issueForm.getHostingName()); + hostingFieldForm.setCode(issueForm.getHostingCode()); + hostingFieldForm.setEmail(issueForm.getHostingEmail()); + hostingFieldForm.setUrl(issueForm.getHostingUrl()); + hostingFieldForm.setManager(issueForm.getHostingManager()); + hostingFieldForm.setTel(issueForm.getHostingTel()); + hostingFieldForm.setMemo(issueForm.getHostingMemo()); + + HostingField hostingField = this.hostingFieldService.add(hostingFieldForm); + IssueHosting issueHosting = ConvertUtil.copyProperties(hostingFieldForm, IssueHosting.class); + issueHosting.setIssue(issue); + if (hostingField != null) { + issueHosting.setHostingField(hostingField); + } + // 異붽� �씠�젰 + StringBuilder sb = new StringBuilder(); + issueHistoryService.detectIssueHosting(IssueHistoryType.ADD, null, hostingField, issueHosting, sb); + issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString()); + this.issueHostingRepository.saveAndFlush(issueHosting); } } } diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java index 7ea2290..c5203db 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java @@ -8,6 +8,8 @@ import kr.wisestone.owl.util.ConvertUtil; import kr.wisestone.owl.util.MapUtil; import kr.wisestone.owl.web.condition.IssueCondition; +import kr.wisestone.owl.web.form.IspFieldForm; +import kr.wisestone.owl.web.form.IssueForm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -42,8 +44,9 @@ // �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �뾽泥� 媛믪쓣 �뾽�뜲�씠�듃�븳�떎. @Override @Transactional - public void modifyIssueIspField(Issue issue, List<Map<String, Object>> issueIspFields) { + public void modifyIssueIspField(Issue issue, IssueForm issueForm) { if (issue != null) { + List<Map<String, Object>> issueIspFields = issueForm.getIssueIspFields(); if (issueIspFields != null && issueIspFields.size() > 0) { Map<String, Object> param = issueIspFields.get(0); @@ -52,12 +55,11 @@ Set<IssueIsp> issueIsps = issue.getIssueIspFields(); IssueIsp issueIsp = new IssueIsp(); - if (issueIsps != null && issueIsps.size() > 0) {//�닔�젙 �븷 寃쎌슦 issueIsp = issueIsps.iterator().next(); // 蹂�寃� �씠�젰 StringBuilder sb = new StringBuilder(); - issueHistoryService.detectIssueIsp(IssueHistoryType.MODIFY, param, issueIsp, sb); + issueHistoryService.detectIssueIsp(IssueHistoryType.MODIFY, param, null, issueIsp, sb); issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString()); issueIsp.setIspField(ispField); @@ -76,13 +78,34 @@ } // 異붽� �씠�젰 StringBuilder sb = new StringBuilder(); - issueHistoryService.detectIssueIsp(IssueHistoryType.ADD, param, issueIsp, sb); + issueHistoryService.detectIssueIsp(IssueHistoryType.ADD, param, null, issueIsp, sb); issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString()); } this.issueIspRepository.saveAndFlush(issueIsp); }else { this.issueIspRepository.deleteById(MapUtil.getLong(param, "id")); } + } else if(issueForm.getIspName() != null && !issueForm.getIspName().equals("")) { + IspFieldForm ispFieldForm = new IspFieldForm(); + ispFieldForm.setName(issueForm.getIspName()); + ispFieldForm.setCode(issueForm.getIspCode()); + ispFieldForm.setEmail(issueForm.getIspEmail()); + ispFieldForm.setUrl(issueForm.getIspUrl()); + ispFieldForm.setManager(issueForm.getIspManager()); + ispFieldForm.setTel(issueForm.getIspTel()); + ispFieldForm.setMemo(issueForm.getIspMemo()); + + IspField ispField = this.ispFieldService.add(ispFieldForm); + IssueIsp issueIsp = ConvertUtil.copyProperties(ispFieldForm, IssueIsp.class); + issueIsp.setIssue(issue); + if (ispField != null) { + issueIsp.setIspField(ispField); + } + // 異붽� �씠�젰 + StringBuilder sb = new StringBuilder(); + issueHistoryService.detectIssueIsp(IssueHistoryType.ADD, null, ispField, issueIsp, sb); + issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString()); + this.issueIspRepository.saveAndFlush(issueIsp); } } } 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 2485611..5c2d587 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -493,11 +493,11 @@ // �떞�떦遺��꽌 吏��젙 this.issueDepartmentService.modifyIssueDepartment(issue, user, project.getWorkspace(), issueForm.getDepartmentIds()); // �뾽泥� �젙蹂� ���옣 - this.issueCompanyService.modifyIssueCompanyField(issue, issueForm.getIssueCompanyFields()); + this.issueCompanyService.modifyIssueCompanyField(issue, issueForm); // ISP �젙蹂� ���옣 - this.issueIspService.modifyIssueIspField(issue, issueForm.getIssueIspFields()); + this.issueIspService.modifyIssueIspField(issue, issueForm); // HOSTING �젙蹂� ���옣 - this.issueHostingService.modifyIssueHostingField(issue, issueForm.getIssueHostingFields()); + this.issueHostingService.modifyIssueHostingField(issue, issueForm); // 泥⑤� �뙆�씪 ���옣 @@ -587,11 +587,11 @@ // �떞�떦遺��꽌 吏��젙 this.issueDepartmentService.modifyIssueDepartment(issue, user, project.getWorkspace(), issueForm.getDepartmentIds()); // �뾽泥� �젙蹂� ���옣 - this.issueCompanyService.modifyIssueCompanyField(issue, issueForm.getIssueCompanyFields()); + this.issueCompanyService.modifyIssueCompanyField(issue, issueForm); // ISP �젙蹂� ���옣 - this.issueIspService.modifyIssueIspField(issue, issueForm.getIssueIspFields()); + this.issueIspService.modifyIssueIspField(issue, issueForm); // HOSTING �젙蹂� ���옣 - this.issueHostingService.modifyIssueHostingField(issue, issueForm.getIssueHostingFields()); + this.issueHostingService.modifyIssueHostingField(issue, issueForm); // 泥⑤� �뙆�씪 ���옣 // multipartFile �쓣 file Map List 媛앹껜濡� 蹂�寃쏀븳�떎. @@ -664,11 +664,11 @@ // �떞�떦遺��꽌 吏��젙 this.issueDepartmentService.modifyIssueDepartment(issue, user, project.getWorkspace(), issueForm.getDepartmentIds()); // �뾽泥� �젙蹂� ���옣 - this.issueCompanyService.modifyIssueCompanyField(issue, issueForm.getIssueCompanyFields()); + this.issueCompanyService.modifyIssueCompanyField(issue, issueForm); // ISP �젙蹂� ���옣 - this.issueIspService.modifyIssueIspField(issue, issueForm.getIssueIspFields()); + this.issueIspService.modifyIssueIspField(issue, issueForm); // HOSTING �젙蹂� ���옣 - this.issueHostingService.modifyIssueHostingField(issue, issueForm.getIssueHostingFields()); + this.issueHostingService.modifyIssueHostingField(issue, issueForm); // 泥⑤� �뙆�씪 ���옣 // multipartFile �쓣 file Map List 媛앹껜濡� 蹂�寃쏀븳�떎. @@ -1756,6 +1756,9 @@ String comma = ","; if (issueCustomFieldValueForms.size() > 0) { + IssueCustomFieldValueFormComparator comp = new IssueCustomFieldValueFormComparator(); + Collections.sort(issueCustomFieldValueForms, comp); + String concatUseValue = ""; for (int i = 0; i < issueCustomFieldValueForms.size(); i++) { IssueCustomFieldValueForm issueCustomFieldValueForm = issueCustomFieldValueForms.get(i); @@ -1802,6 +1805,7 @@ List<Issue> issues = Lists.newArrayList(); for (Issue issueVo : issue) { issueForm.setId(issueVo.getId()); + issueForm.setTitle(issueVo.getTitle()); // �옄�룞 醫낅즺 �긽�깭 �꽕�젙�씠 �릺�뼱 �엳吏� �븡�쑝硫� �삤瑜섎컻�깮 Issue modifyIssue = this.modifyIssueForApi(user, issueForm, files); @@ -1993,11 +1997,11 @@ log.info(ElasticSearchUtil.makeUserActiveHistoryMessage(userVo, ElasticSearchConstants.ISSUE_MODIFY)); // �뾽泥� �젙蹂� ���옣 - this.issueCompanyService.modifyIssueCompanyField(issue, issueForm.getIssueCompanyFields()); + this.issueCompanyService.modifyIssueCompanyField(issue, issueForm); // ISP �젙蹂� ���옣 - this.issueIspService.modifyIssueIspField(issue, issueForm.getIssueIspFields()); + this.issueIspService.modifyIssueIspField(issue, issueForm); // HOSTING �젙蹂� ���옣 - this.issueHostingService.modifyIssueHostingField(issue, issueForm.getIssueHostingFields()); + this.issueHostingService.modifyIssueHostingField(issue, issueForm); return issue; } @@ -3226,15 +3230,21 @@ break;*/ case 6: // �떞�떦遺��꽌瑜� IssueForm �뿉 ���옣�븳�떎. - this.setIssueFormDepartment(cell, departmentMaps, issueForm, project); + if (cell != null) { + this.setIssueFormDepartment(cell, departmentMaps, issueForm, project); + } break; case 7: // �떆�옉�씪�쓣 IssueForm �뿉 ���옣�븳�떎. - this.setIssueFormPeriod(cell, issueForm, true, rowIndex); + if (cell != null) { + this.setIssueFormPeriod(cell, issueForm, true, rowIndex); + } break; case 8: // 醫낅즺�씪�쓣 IssueForm �뿉 ���옣�븳�떎. - this.setIssueFormPeriod(cell, issueForm, false, rowIndex); + if (cell != null) { + this.setIssueFormPeriod(cell, issueForm, false, rowIndex); + } break; default: // 9踰� 遺��꽣�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶. �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂대�� IssueForm �뿉 ���옣�븳�떎. @@ -3438,7 +3448,7 @@ } } - // �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂대�� IssueForm �뿉 ���옣�븳�떎. + // �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂대�� IssueForm �뿉 ���옣�븳�떎.- private void setIssueFormCustomFieldValue(Cell cell, Map<String, CustomField> customFieldMaps, IssueForm issueForm, String customFieldName, int rowIndex) { if (cell != null) { String cellValue = CommonUtil.convertExcelStringToCell(cell); diff --git a/src/main/java/kr/wisestone/owl/vo/UserWorkspaceVo.java b/src/main/java/kr/wisestone/owl/vo/UserWorkspaceVo.java index 779aeb8..3b14f5b 100644 --- a/src/main/java/kr/wisestone/owl/vo/UserWorkspaceVo.java +++ b/src/main/java/kr/wisestone/owl/vo/UserWorkspaceVo.java @@ -16,6 +16,7 @@ private Long levelId; private Long departmentId; private Long userId; + private String managerYn; private List<DepartmentVo> departmentVos = Lists.newArrayList(); @@ -92,4 +93,12 @@ public void setUserId(Long userId) { this.userId = userId; } + + public String getManagerYn() { + return managerYn; + } + + public void setManagerYn(String managerYn) { + this.managerYn = managerYn; + } } diff --git a/src/main/resources/mybatis/query-template/issue-template.xml b/src/main/resources/mybatis/query-template/issue-template.xml index 32d6e66..d54d7e2 100644 --- a/src/main/resources/mybatis/query-template/issue-template.xml +++ b/src/main/resources/mybatis/query-template/issue-template.xml @@ -1096,14 +1096,13 @@ issue.id as id, issue.title as title, customFieldValue.customFieldType AS customFieldType, - GROUP_CONCAT(customFieldValue.useValue) AS concatUseValue + GROUP_CONCAT(customFieldValue.useValue ORDER BY customFieldValue.customFieldId ASC) AS concatUseValue FROM issue issue FORCE INDEX(reverseIndex) INNER JOIN issue_status as issStatus ON issue.issue_status_id = issStatus.id LEFT OUTER JOIN ( SELECT cf.id AS customFieldId, cf.custom_field_type AS customFieldType, issue_custom.use_value AS useValue, issue_custom.issue_id AS issueId FROM issue_custom_field_value issue_custom - INNER JOIN custom_field cf ON cf.id = issue_custom.custom_field_id - ORDER BY issue_custom.id ASC) customFieldValue ON customFieldValue.issueId = issue.id + INNER JOIN custom_field cf ON cf.id = issue_custom.custom_field_id) customFieldValue ON customFieldValue.issueId = issue.id WHERE issStatus.issue_status_type != 'CLOSE' AND issue.issue_type_id = #{issueTypeId} GROUP BY issue.id diff --git a/src/main/resources/mybatis/query-template/userWorkspace-template.xml b/src/main/resources/mybatis/query-template/userWorkspace-template.xml index e62cbbc..93d56a1 100644 --- a/src/main/resources/mybatis/query-template/userWorkspace-template.xml +++ b/src/main/resources/mybatis/query-template/userWorkspace-template.xml @@ -10,6 +10,7 @@ u.name as userName, u.account as account, u.level_id as levelId, + uw.manager_yn as managerYn, CASE WHEN uw.use_yn = 'Y' THEN 'true' ELSE 'false' END as useYn FROM user_workspace uw @@ -17,7 +18,6 @@ INNER JOIN workspace w on uw.workspace_id = w.id WHERE 1=1 AND w.id = #{workspaceId} - AND uw.manager_yn = 'N' <if test="name != '' and name != null"> AND u.name like CONCAT('%',#{name},'%') </if> @@ -58,7 +58,6 @@ INNER JOIN workspace w on uw.workspace_id = w.id WHERE 1=1 AND w.id = #{workspaceId} - AND uw.manager_yn = 'N' <if test="name != '' and name != null"> AND u.name like CONCAT('%',#{name},'%') </if> diff --git a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties index d26b1a2..221cca9 100644 --- a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties +++ b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties @@ -210,4 +210,7 @@ COMPANY_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uC5C5\uCCB4\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. COMPANYFIELD_NOT_EXIST = \uC5C5\uCCB4\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. COMPANYFIELD_NOT_URL = URL\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. -COMPANYFIELD_USED_URL = URL\uC774 \uC774\uBBF8 \uC0AC\uC6A9\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4. \ No newline at end of file +COMPANYFIELD_USED_URL = URL\uC774 \uC774\uBBF8 \uC0AC\uC6A9\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4. + +HOSTING_CODE_NOT_ENTER = \uD638\uC2A4\uD305\uC758 \uCF54\uB4DC\uB294 \uD544\uC218 \uC785\uB825 \uAC12\uC785\uB2C8\uB2E4. +ISP_CODE_NOT_ENTER = ISP\uC758 \uCF54\uB4DC\uB294 \uD544\uC218 \uC785\uB825 \uAC12\uC785\uB2C8\uB2E4. \ No newline at end of file diff --git a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js index 00bcb51..87d40cf 100644 --- a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js +++ b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js @@ -151,17 +151,18 @@ case "USE_DEPARTMENT_LIST" : makeTag += "<ul class='ul-not-comma'>"; - - if(scope.data.departmentVos != null && scope.data.departmentVos.length == 0){ //�냽�빐�엳�뒗 遺��꽌媛� �뾾�쓣 寃쎌슦 - makeTag += "<div style='cursor: pointer; color: #0066ff' ng-click='event.modifyUserDepartments(data.id, data.userId)'>遺��꽌瑜� �꽑�깮�빐 二쇱꽭�슂.</div>"; - }else{ - makeTag += "<div style='cursor: pointer; color: #0066ff' ng-click='event.modifyUserDepartments(data.id, data.userId)'>"; - angular.forEach(scope.data.departmentVos, function (departments) { - makeTag += "<li>" + departments.departmentName + "</li>"; - }); - makeTag += "</div>"; + if (scope.data.managerYn !== 'Y'){ + if(scope.data.departmentVos != null && scope.data.departmentVos.length == 0){ //�냽�빐�엳�뒗 遺��꽌媛� �뾾�쓣 寃쎌슦 + makeTag += "<div style='cursor: pointer; color: #0066ff' ng-click='event.modifyUserDepartments(data.id, data.userId)'>遺��꽌瑜� �꽑�깮�빐 二쇱꽭�슂.</div>"; + }else{ + makeTag += "<div style='cursor: pointer; color: #0066ff' ng-click='event.modifyUserDepartments(data.id, data.userId)'>"; + angular.forEach(scope.data.departmentVos, function (departments) { + makeTag += "<li>" + departments.departmentName + "</li>"; + }); + makeTag += "</div>"; + } + makeTag += "</ul>"; } - makeTag += "</ul>"; break; case "WORKFLOW_DEPARTMENT_LIST" : @@ -623,11 +624,17 @@ case "LEVEL_OPTION" : //makeTag += "<select class='form-control input-sm' ng-model='data.levels[0].id' ng-options='levelName.id as levelName.levelName for levelName in data.levels' ></select>"; - makeTag +="<select class='form-control input-sm' ng-model='data.levelId' ng-change='event.modifyUserWorkspace(data)'><option ng-repeat='level in data.levels' ng-value='level.fieldKey'>{{::level.fieldValue}}</option></select>"; + if (scope.data.managerYn === 'Y'){ + makeTag +="<span>理쒓퀬愿�由ъ옄</span>"; + } else { + makeTag +="<select class='form-control input-sm' ng-model='data.levelId' ng-change='event.modifyUserWorkspace(data)'><option ng-repeat='level in data.levels' ng-value='level.fieldKey'>{{::level.fieldValue}}</option></select>"; + } break; case "WORKSPACE_USE_YN" : - makeTag += "<label class='switch'><input type='checkbox' ng-model='data.useYn' ng-click='event.modifyUserWorkspace(data)'><span class='slider round'></span></label>"; + if (scope.data.managerYn !== 'Y'){ + makeTag += "<label class='switch'><input type='checkbox' ng-model='data.useYn' ng-click='event.modifyUserWorkspace(data)'><span class='slider round'></span></label>"; + } break; case "COMPANYFIELD_MODIFY" : diff --git a/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js b/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js index 16e8fd0..a9f1527 100644 --- a/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js +++ b/src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js @@ -27,7 +27,7 @@ account : "", // �씠硫붿씪 statuses : [], // �긽�깭 - Y, N levels : [], // �벑湲� - departments: [] // 遺��꽌 + departments: [], // 遺��꽌 }; $scope.vm.options = { @@ -45,6 +45,7 @@ selectedPageRowCount : String(10) }; + $scope.vm.managerYn = false; $scope.vm.levels = []; $scope.vm.departments = []; $scope.vm.tableConfigs = []; @@ -176,23 +177,13 @@ var idx = 0; angular.forEach($scope.vm.responseData.data, function (data) { - // data.levelId = $scope.vm.levels[idx].fieldKey; - //data.department = $scope.vm.departments[idx]; - + if (data.managerYn === "Y") { + $scope.vm.managerYn = true; + } data.levels = []; data.departments = []; data.levels = $scope.vm.levels.slice(); data.departments = $scope.vm.departments.slice(); - /*if(result.data.data[idx].departmentId == null){ - data.departments = $scope.vm.departments.slice(); - data.departments.unshift({ - fieldKey : 'd', - fieldValue : '遺��꽌瑜� �꽑�깮 �븯�꽭�슂.' - }); - result.data.data[idx].departmentId = 'd'; - } else{ - data.departments = $scope.vm.departments.slice(); - }*/ idx++; }); } -- Gitblit v1.8.0