From 9f955be440cad5e6b868800ff0a0acd17c0a3004 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 목, 13 1월 2022 15:30:35 +0900 Subject: [PATCH] - issue_company 테이블에 컬럼 추가 및 'tel' 컬럼 사이즈 변경 - 이슈 추가,수정 시 업체 추가된 항목들 추가 - 하위이슈 페이징 오류 수정 --- src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java | 50 ++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 44 insertions(+), 6 deletions(-) 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 94e0681..4eca191 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,12 +44,13 @@ // �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �뾽泥� 媛믪쓣 �뾽�뜲�씠�듃�븳�떎. @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); - if (param != null) { + if (param != null && param.get("companyId") != null && param.get("companyId") != "") { CompanyField companyField = this.companyFieldService.getCompany(MapUtil.getLong(param, "companyId")); //companyId 媛��졇�삤湲� Set<IssueCompany> issueCompanies = issue.getIssueCompanies(); @@ -56,27 +59,62 @@ 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); issueCompany.setName(MapUtil.getString(param, "name")); issueCompany.setEmail(MapUtil.getString(param, "email")); + issueCompany.setUrl(MapUtil.getString(param, "url")); issueCompany.setManager(MapUtil.getString(param, "manager")); issueCompany.setTel(MapUtil.getString(param, "tel")); issueCompany.setMemo(MapUtil.getString(param, "memo")); + issueCompany.setCompanyTypeId(MapUtil.getLong(param, "companyTypeId")); + issueCompany.setParentSectorId(MapUtil.getLong(param, "parentSectorId")); + issueCompany.setChildSectorId(MapUtil.getLong(param, "childSectorId")); + issueCompany.setRegionId(MapUtil.getLong(param, "regionId")); + issueCompany.setStatusId(MapUtil.getLong(param, "statusId")); } else { //異붽� �븷 寃쎌슦 issueCompany = ConvertUtil.convertMapToClass(param, IssueCompany.class); issueCompany.setIssue(issue); - issueCompany.setCompanyField(companyField); + if (companyField != null) { + issueCompany.setCompanyField(companyField); + } // 異붽� �씠�젰 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()); + companyFieldForm.setCompanyTypeName(issueForm.getCompanyTypeName()); + companyFieldForm.setParentSectorName(issueForm.getParentSectorName()); + companyFieldForm.setChildSectorName(issueForm.getChildSectorName()); + companyFieldForm.setRegionName(issueForm.getRegionName()); + companyFieldForm.setStatusName(issueForm.getStatusName()); + + 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); } } } -- Gitblit v1.8.0