src/main/java/kr/wisestone/owl/domain/HostingField.java
@@ -1,9 +1,6 @@ package kr.wisestone.owl.domain; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.*; import java.io.Serializable; @Entity @@ -77,4 +74,5 @@ public void setMemo(String memo) { this.memo = memo; } } src/main/java/kr/wisestone/owl/domain/IspField.java
@@ -1,9 +1,6 @@ package kr.wisestone.owl.domain; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.*; import java.io.Serializable; @Entity @@ -77,4 +74,5 @@ public void setMemo(String memo) { this.memo = memo; } } } src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java
@@ -44,19 +44,27 @@ Map<String, Object> param = issueCompanyFields.get(0); if (param != null) { IssueCompany newIssueCompany = ConvertUtil.convertMapToClass(param, IssueCompany.class); newIssueCompany.setIssue(issue); CompanyField companyField = this.companyFieldService.getCompany(MapUtil.getLong(param, "companyId")); newIssueCompany.setCompanyField(companyField); Set<IssueCompany> issueCompanies = issue.getIssueCompanies(); if (issueCompanies != null && issueCompanies.size() > 0) { IssueCompany oldIssueCompany = issueCompanies.iterator().next(); ConvertUtil.copyProperties(newIssueCompany, oldIssueCompany); IssueCompany issueCompany = issueCompanies.iterator().next(); issueCompany.setCompanyField(companyField); issueCompany.setName(MapUtil.getString(param, "name")); issueCompany.setEmail(MapUtil.getString(param, "email")); issueCompany.setManager(MapUtil.getString(param, "manager")); issueCompany.setTel(MapUtil.getString(param, "tel")); issueCompany.setMemo(MapUtil.getString(param, "memo")); this.issueCompanyRepository.saveAndFlush(issueCompany); } else { IssueCompany newIssueCompany = ConvertUtil.convertMapToClass(param, IssueCompany.class); newIssueCompany.setIssue(issue); newIssueCompany.setCompanyField(companyField); this.issueCompanyRepository.saveAndFlush(newIssueCompany); } this.issueCompanyRepository.saveAndFlush(newIssueCompany); } } } src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java
@@ -46,18 +46,29 @@ Map<String, Object> param = issueIspFields.get(0); if (param != null) { IssueHosting newIssueHosting = ConvertUtil.convertMapToClass(param, IssueHosting.class); newIssueHosting.setIssue(issue); HostingField hostingField = this.hostingFieldService.getHosting(MapUtil.getLong(param, "hostingId")); newIssueHosting.setHostingField(hostingField); Set<IssueHosting> issueHostings = issue.getIssueHostingFields(); if (issueHostings != null && issueHostings.size() > 0) { IssueHosting oldIssueHosting = issueHostings.iterator().next(); ConvertUtil.copyProperties(newIssueHosting, oldIssueHosting); if (issueHostings != null && issueHostings.size() >0){ IssueHosting issueHosting = issueHostings.iterator().next(); issueHosting.setHostingField(hostingField); issueHosting.setName(MapUtil.getString(param, "name")); issueHosting.setEmail(MapUtil.getString(param, "email")); issueHosting.setCode(MapUtil.getString(param, "code")); issueHosting.setManager(MapUtil.getString(param, "manager")); issueHosting.setTel(MapUtil.getString(param, "tel")); issueHosting.setMemo(MapUtil.getString(param, "memo")); this.issueHostingRepository.saveAndFlush(issueHosting); }else{ IssueHosting newIssueHosting = ConvertUtil.convertMapToClass(param, IssueHosting.class); newIssueHosting.setIssue(issue); newIssueHosting.setHostingField(hostingField); this.issueHostingRepository.saveAndFlush(newIssueHosting); } this.issueHostingRepository.saveAndFlush(newIssueHosting); } } } src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java
@@ -44,18 +44,29 @@ Map<String, Object> param = issueIspFields.get(0); if (param != null) { IssueIsp newIssueIsp = ConvertUtil.convertMapToClass(param, IssueIsp.class); newIssueIsp.setIssue(issue); IspField ispField = this.ispFieldService.getIsp(MapUtil.getLong(param, "ispId")); newIssueIsp.setIspField(ispField); Set<IssueIsp> issueIsps = issue.getIssueIspFields(); if (issueIsps != null && issueIsps.size() > 0) { IssueIsp oldIssueIsp = issueIsps.iterator().next(); ConvertUtil.copyProperties(newIssueIsp, oldIssueIsp); } IssueIsp issueIsp = issueIsps.iterator().next(); this.issueIspRepository.saveAndFlush(newIssueIsp); issueIsp.setIspField(ispField); issueIsp.setName(MapUtil.getString(param, "name")); issueIsp.setEmail(MapUtil.getString(param, "email")); issueIsp.setCode(MapUtil.getString(param, "code")); issueIsp.setManager(MapUtil.getString(param, "manager")); issueIsp.setTel(MapUtil.getString(param, "tel")); issueIsp.setMemo(MapUtil.getString(param, "memo")); this.issueIspRepository.saveAndFlush(issueIsp); } else { IssueIsp newIssueIsp = ConvertUtil.convertMapToClass(param, IssueIsp.class); newIssueIsp.setIssue(issue); newIssueIsp.setIspField(ispField); this.issueIspRepository.saveAndFlush(newIssueIsp); } } } } src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -1628,8 +1628,12 @@ List<IssueCompanyVo> issueCompanyVos = Lists.newArrayList(); for(IssueCompany issueCompany : issue.getIssueCompanies()){ IssueCompanyVo issueCompanyVo = ConvertUtil.copyProperties(issueCompany.getCompanyField(), IssueCompanyVo.class); IssueCompanyVo issueCompanyVo = ConvertUtil.copyProperties(issueCompany, IssueCompanyVo.class); issueCompanyVo.setId(issueCompany.getId()); CompanyField companyField = issueCompany.getCompanyField(); if (companyField != null) { issueCompanyVo.setCompanyId(issueCompany.getCompanyField().getId()); } issueCompanyVos.add(issueCompanyVo); } issueVo.setIssueCompanyVos(issueCompanyVos); @@ -1640,7 +1644,7 @@ List<IssueIspVo> issueIspVos = Lists.newArrayList(); for(IssueIsp issueIsp : issue.getIssueIspFields()){ IssueIspVo issueIspVo = ConvertUtil.copyProperties(issueIsp.getIspField(), IssueIspVo.class); IssueIspVo issueIspVo = ConvertUtil.copyProperties(issueIsp, IssueIspVo.class); issueIspVo.setId(issueIsp.getId()); issueIspVos.add(issueIspVo); } @@ -1652,7 +1656,7 @@ List<IssueHostingVo> issueHostingVos = Lists.newArrayList(); for(IssueHosting issueHosting : issue.getIssueHostingFields()){ IssueHostingVo issueHostingVo = ConvertUtil.copyProperties(issueHosting.getHostingField(), IssueHostingVo.class); IssueHostingVo issueHostingVo = ConvertUtil.copyProperties(issueHosting, IssueHostingVo.class); issueHostingVo.setId(issueHosting.getId()); issueHostingVos.add(issueHostingVo); } src/main/java/kr/wisestone/owl/vo/IssueCompanyVo.java
@@ -5,6 +5,7 @@ */ public class IssueCompanyVo extends BaseVo{ private Long id; private Long companyId; private String name; private String manager; private String tel; @@ -21,6 +22,14 @@ this.id = id; } public Long getCompanyId() { return companyId; } public void setCompanyId(Long companyId) { this.companyId = companyId; } public String getName() { return name; } src/main/java/kr/wisestone/owl/vo/IssueHostingVo.java
@@ -5,6 +5,7 @@ */ public class IssueHostingVo extends BaseVo{ private Long id; private Long hostingId; private String name; private String code; private String manager; @@ -22,6 +23,14 @@ this.id = id; } public Long getHostingId() { return hostingId; } public void setHostingId(Long hostingId) { this.hostingId = hostingId; } public String getName() { return name; } src/main/java/kr/wisestone/owl/vo/IssueIspVo.java
@@ -5,6 +5,7 @@ */ public class IssueIspVo extends BaseVo{ private Long id; private Long ispId; private String name; private String code; private String manager; @@ -23,6 +24,14 @@ this.id = id; } public Long getIspId() { return ispId; } public void setIspId(Long ispId) { this.ispId = ispId; } public String getName() { return name; } src/main/webapp/scripts/app/issue/issueAdd.controller.js
@@ -76,6 +76,9 @@ hostingTel : "", // 호스팅 전화번호 hostingEmail : "", // 호스팅 이메일 hostingMemo : "", // 호스팅 비고 companyId : -1, ispId : -1, hostingId : -1, autoCompletePage : { user : { page : 0, @@ -387,7 +390,7 @@ priorityId : $scope.vm.form.priorityId, // 우선순위 아이디 severityId : $scope.vm.form.severityId, // 중요도 아이디 companyId : (function () { // 업체 아이디 var companyId = ""; var companyId = -1; if ($scope.vm.form.issueCompanyFields.length > 0) { companyId = $scope.vm.form.issueCompanyFields[0].id; } @@ -395,7 +398,7 @@ })(), ispId : (function () { // ISP 아이디 var ispId = ""; var ispId = -1; if ($scope.vm.form.issueIspFields.length > 0) { ispId = $scope.vm.form.issueIspFields[0].id; } @@ -403,7 +406,7 @@ })(), hostingId : (function () { // Hosting 아이디 var hostingId = ""; var hostingId = -1; if ($scope.vm.form.issueHostingFields.length > 0) { hostingId = $scope.vm.form.issueHostingFields[0].id; } @@ -447,31 +450,62 @@ issueCompanyFields : (function () { var issueCompanyFields = []; if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){ var companyField = $scope.vm.form.issueCompanyFields[0]; var companyField = $scope.vm.form.issueCompanyFields[0]; companyField.companyId = companyField.id; companyField.id = null; issueCompanyFields.push(companyField); issueCompanyFields.push({ id : companyField.id, companyId : $scope.vm.companyId, name : $scope.vm.companyName, manager : $scope.vm.companyManager, tel : $scope.vm.companyTel, email :$scope.vm.companyEmail, memo : $scope.vm.companyMemo }); } return issueCompanyFields; })(), issueIspFields : (function () { var issueIspFields = []; if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){ var ispField = $scope.vm.form.issueIspFields[0]; var ispField = $scope.vm.form.issueIspFields[0]; ispField.ispId = ispField.id; ispField.id = null; issueIspFields.push(ispField); issueIspFields[0] = { id : ispField.id, ispId : $scope.vm.ispId, name : $scope.vm.ispName, code : $scope.vm.ispCode, manager : $scope.vm.ispManager, tel : $scope.vm.ispTel, email :$scope.vm.ispEmail, memo : $scope.vm.ispMemo }; } return issueIspFields; })(), issueHostingFields : (function () { var issueHostingFields = []; if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){ var hostingField = $scope.vm.form.issueHostingFields[0]; hostingField.hostingId = hostingField.id; hostingField.id = null; issueHostingFields.push(hostingField); var hostingField = $scope.vm.form.issueHostingFields[0]; issueHostingFields[0] = { id : hostingField.id, hostingId : $scope.vm.hostingId, name : $scope.vm.hostingName, code : $scope.vm.hostingCode, manager : $scope.vm.hostingManager, tel : $scope.vm.hostingTel, email :$scope.vm.hostingEmail, memo : $scope.vm.hostingMemo }; } return issueHostingFields; })(), src/main/webapp/scripts/app/issue/issueModify.controller.js
@@ -67,18 +67,21 @@ projectName : "", // 프로젝트 명 검색 userName : "", // 사용자 검색 departmentName : "", // 부서명 검색 companyId : -1, companyName : "", // 업체명 검색 companyCode : "", // 업체 코드 companyManager : "", // 업체 담당자 companyTel : "", // 업체 전화번호 companyEmail : "", // 업체 이메일 companyMemo : "", // 업체 비고 ispId : -1, ispName : "", // ISP 명 ispCode : "", // ISP 코드 ispManager : "", // ISP 담당자 ispTel : "", // ISP 전화번호 ispEmail : "", // ISP 이메일 ispMemo : "", // ISP 비고 hostingId : -1, hostingName : "", // 호스팅명 검색 hostingManager : "", // 호스팅 담당자 hostingTel : "", // 호스팅 전화번호 @@ -346,6 +349,7 @@ // 업체정보 결과 값 Event 처리(set) $scope.$on("companyFieldEvent", function (event, result) { $scope.vm.companyId = result[0].id; $scope.vm.companyName = result[0].name; $scope.vm.companyManager = result[0].manager; $scope.vm.companyTel = result[0].tel; $scope.vm.companyEmail = result[0].email; @@ -355,6 +359,8 @@ // ISP정보 결과 값 Event 처리(set) $scope.$on("ispFieldEvent", function (event, result) { $scope.vm.ispId = result[0].id; $scope.vm.ispName = result[0].name; $scope.vm.ispCode = result[0].code; $scope.vm.ispManager = result[0].manager; $scope.vm.ispTel = result[0].tel; @@ -364,6 +370,8 @@ // 호스팅정보 결과 값 Event 처리(set) $scope.$on("hostingFieldEvent", function (event, result) { $scope.vm.hostingId = result[0].id; $scope.vm.hostingName = result[0].name; $scope.vm.hostingCode = result[0].code; $scope.vm.hostingManager = result[0].manager; $scope.vm.hostingTel = result[0].tel; @@ -387,38 +395,116 @@ return projectId; })(), companyId : (function () { // 프로젝트 아이디 var companyId = ""; issueTypeId : $scope.vm.form.issueTypeId, // 이슈 유형 아이디 priorityId : $scope.vm.form.priorityId, // 우선순위 아이디 severityId : $scope.vm.form.severityId, // 중요도 아이디 issueStatusId : $scope.vm.form.issueStatusId, // 이슈 상태 아이디 companyId : (function () { var companyId = -1; if ($scope.vm.form.issueCompanyFields.length > 0) { companyId = $scope.vm.form.issueCompanyFields[0].id; } return companyId; })(), }), ispId : (function () { var ispId = ""; var ispId = -1; if ($scope.vm.form.issueIspFields.length > 0) { ispId = $scope.vm.form.issueIspFields[0].id; } return ispId; })(), }), hostingId : (function () { var hostingId = ""; var hostingId = -1; if ($scope.vm.form.issueHostingFields.length > 0) { hostingId = $scope.vm.form.issueHostingFields[0].id; } return hostingId; }), issueCompanyFields : (function () { var issueCompanyFields = []; if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){ var companyField = $scope.vm.form.issueCompanyFields[0]; issueCompanyFields.push({ id : companyField.id, companyId : $scope.vm.companyId, name : $scope.vm.companyName, manager : $scope.vm.companyManager, tel : $scope.vm.companyTel, email :$scope.vm.companyEmail, memo : $scope.vm.companyMemo }); } return issueCompanyFields; })(), issueTypeId : $scope.vm.form.issueTypeId, // 이슈 유형 아이디 priorityId : $scope.vm.form.priorityId, // 우선순위 아이디 severityId : $scope.vm.form.severityId, // 중요도 아이디 issueStatusId : $scope.vm.form.issueStatusId, // 이슈 상태 아이디 issueIspFields : (function () { var issueIspFields = []; if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){ var ispField = $scope.vm.form.issueIspFields[0]; issueIspFields.push({ id : ispField.id, ispId : $scope.vm.ispId, code : $scope.vm.ispCode, name : $scope.vm.ispName, manager : $scope.vm.ispManager, tel : $scope.vm.ispTel, email :$scope.vm.ispEmail, memo : $scope.vm.ispMemo }); } return issueIspFields; })(), issueHostingFields : (function () { var issueHostingFields = []; if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){ var hostingField = $scope.vm.form.issueHostingFields[0]; issueHostingFields.push({ id : hostingField.id, hostingId : $scope.vm.hostingId, name : $scope.vm.hostingName, code : $scope.vm.hostingCode, manager : $scope.vm.hostingManager, tel : $scope.vm.hostingTel, email :$scope.vm.hostingEmail, memo : $scope.vm.hostingMemo }); } return issueHostingFields; })(), ispName : $scope.vm.ispName, ispCode : $scope.vm.ispCode, ispManager : $scope.vm.ispManager, ispTel : $scope.vm.ispTel, ispEmail : $scope.vm.ispEmail, ispMemo : $scope.vm.ispMemo, hostingName : $scope.vm.hostingName, hostingCode : $scope.vm.hostingCode, hostingManager : $scope.vm.hostingManager, hostingTel : $scope.vm.hostingTel, hostingEmail : $scope.vm.hostingEmail, hostingMemo : $scope.vm.hostingMemo, userIds : (function () { var userIds = []; @@ -451,39 +537,6 @@ return attachedFileIds; })(), startCompleteDateRange : $scope.vm.form.startCompleteDateRange, issueCompanyFields : (function () { var issueCompanyFields = []; var companyField = $scope.vm.form.issueCompanyFields; issueCompanyFields.companyId = companyField.id; //companyField.id = null; issueCompanyFields.push(companyField); return issueCompanyFields; })(), issueIspFields : (function () { var issueIspFields = []; var ispField = $scope.vm.form.issueIspFields; issueIspFields.ispId = ispField.id; ispField.id = null; issueIspFields.push(ispField); return issueIspFields; })(), issueHostingFields : (function () { var issueHostingFields = []; var hostingField = $scope.vm.form.issueHostingFields; issueHostingFields.hostingId = hostingField.id; hostingField.id = null; issueHostingFields.push(hostingField); return issueHostingFields; })(), issueCustomFields : (function () { // 이슈에서 사용되는 사용자 정의 필드 var issueCustomFields = []; @@ -715,33 +768,41 @@ $scope.vm.form.users = result.data.data.userVos; $scope.vm.form.departments = result.data.data.departmentVos; $scope.vm.form.files = result.data.data.attachedFileVos; // issueVo 에 get & set 설정값 설정 ex)issueCompanyVos $scope.vm.form.issueCompanyFields = result.data.data.issueCompanyVos[0]; var issueCompanyFieldValue = result.data.data.issueCompanyVos[0]; $scope.vm.companyName = issueCompanyFieldValue.name; $scope.vm.companyManager = issueCompanyFieldValue.manager; $scope.vm.companyTel = issueCompanyFieldValue.tel; $scope.vm.companyEmail = issueCompanyFieldValue.email; $scope.vm.companyMemo = issueCompanyFieldValue.memo; // $scope.vm.form.issueIspFields = result.data.data.issueIspVos[0] var issueIspFieldValue = result.data.data.issueIspVos[0]; $scope.vm.ispName = issueIspFieldValue.name; $scope.vm.ispCode = issueIspFieldValue.code; $scope.vm.ispManager = issueIspFieldValue.manager; $scope.vm.ispTel = issueIspFieldValue.tel; $scope.vm.ispEmail = issueIspFieldValue.email; $scope.vm.ispMemo = issueIspFieldValue.memo; // $scope.vm.form.issueHostingFields = result.data.data.issueHostingVos[0]; var issueHostingFieldValue = result.data.data.issueHostingVos[0]; $scope.vm.hostingName = issueHostingFieldValue.name; $scope.vm.hostingCode = issueHostingFieldValue.code; $scope.vm.hostingManager = issueHostingFieldValue.manager; $scope.vm.hostingTel = issueHostingFieldValue.tel; $scope.vm.hostingEmail = issueHostingFieldValue.email; $scope.vm.hostingMemo = issueHostingFieldValue.memo; // if (result.data.data.issueCompanyVos != null && result.data.data.issueCompanyVos.length > 0) { $scope.vm.form.issueCompanyFields = result.data.data.issueCompanyVos; var issueCompanyFieldValue = result.data.data.issueCompanyVos[0]; $scope.vm.companyId = issueCompanyFieldValue.id; $scope.vm.companyName = issueCompanyFieldValue.name; $scope.vm.companyManager = issueCompanyFieldValue.manager; $scope.vm.companyTel = issueCompanyFieldValue.tel; $scope.vm.companyEmail = issueCompanyFieldValue.email; $scope.vm.companyMemo = issueCompanyFieldValue.memo; } if (result.data.data.issueIspVos != null && result.data.data.issueIspVos.length > 0) { $scope.vm.form.issueIspFields = result.data.data.issueIspVos; var issueIspFieldValue = result.data.data.issueIspVos[0]; $scope.vm.ispId = issueIspFieldValue.id; $scope.vm.ispName = issueIspFieldValue.name; $scope.vm.ispCode = issueIspFieldValue.code; $scope.vm.ispManager = issueIspFieldValue.manager; $scope.vm.ispTel = issueIspFieldValue.tel; $scope.vm.ispEmail = issueIspFieldValue.email; $scope.vm.ispMemo = issueIspFieldValue.memo; } if (result.data.data.issueHostingVos != null && result.data.data.issueHostingVos.length > 0) { $scope.vm.form.issueHostingFields = result.data.data.issueHostingVos; var issueHostingFieldValue = result.data.data.issueHostingVos[0]; $scope.vm.hostingId = issueHostingFieldValue.id; $scope.vm.hostingName = issueHostingFieldValue.name; $scope.vm.hostingCode = issueHostingFieldValue.code; $scope.vm.hostingManager = issueHostingFieldValue.manager; $scope.vm.hostingTel = issueHostingFieldValue.tel; $scope.vm.hostingEmail = issueHostingFieldValue.email; $scope.vm.hostingMemo = issueHostingFieldValue.memo; } if ($rootScope.isDefined(result.data.data.startDate)) { $scope.vm.form.startCompleteDateRange = result.data.data.startDate + " ~ " + result.data.data.completeDate; } src/main/webapp/views/issue/issueModify.html
@@ -607,4 +607,6 @@ ng-disabled="fn.formCheck(issueAddForm.$invalid)" ng-click="fn.formSubmit()"><span translate="common.save">저장</span> </button> </div> </div>