OWL ITS + 탐지시스템(인터넷 진흥원)
박지현
2022-03-07 398a4927e195755bd6a46be99337efd8dacc3dc2
src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java
@@ -556,11 +556,12 @@
    // 업체 정보 변경 정보를 기록한다.
    @Override
    @Transactional
    public void detectIssueCompany(IssueHistoryType type, Map<String, Object> param, CompanyFieldForm companyFieldForm, IssueCompany issueCompany, StringBuilder description) {
        Long companyFieldId = 0L;
        Long id = 0L;
        String name = "";
        /*String manager = "";
        String manager = "";
        String tel = "";
        String email = "";
        String memo = "";
@@ -573,81 +574,93 @@
        String parentSectorName = "";
        String childSectorName = "";
        String regionName = "";
        String statusName = "";*/
        String statusName = "";
        if (param != null) {
            id = MapUtil.getLong(param, "companyId");
            name = MapUtil.getString(param, "name");
            /*manager = MapUtil.getString(param, "manager");
            manager = MapUtil.getString(param, "manager");
            tel = MapUtil.getString(param, "tel");
            email = MapUtil.getString(param, "email");
            memo = MapUtil.getString(param, "memo");
            companyTypeId = MapUtil.getLong(param, "companyTypeId");
            parentSectorId = MapUtil.getLong(param, "parentSectorId");
            childSectorId = MapUtil.getLong(param, "childSectorId");
            regionId = MapUtil.getLong(param, "regionId");
            statusId = MapUtil.getLong(param, "statusId");
            companyTypeName = MapUtil.getString(param, "companyTypeName");
            parentSectorName = MapUtil.getString(param, "parentSectorName");
            childSectorName = MapUtil.getString(param, "childSectorName");
            regionName = MapUtil.getString(param, "regionName");
            statusName = MapUtil.getString(param, "statusName");*/
            statusName = MapUtil.getString(param, "statusName");
        }else if(companyFieldForm != null) {
            id = companyFieldForm.getId();
            name = companyFieldForm.getName();
            /*manager = companyFieldForm.getManager();
            manager = companyFieldForm.getManager();
            tel = companyFieldForm.getTel();
            email = companyFieldForm.getEmail();
            memo = companyFieldForm.getMemo();
            companyTypeId = companyFieldForm.getCompanyTypeId();
            parentSectorId = companyFieldForm.getParentSectorId();
            childSectorId = companyFieldForm.getChildSectorId();
            regionId = companyFieldForm.getRegionId();
            statusId = companyFieldForm.getStatusId();
            companyTypeName = companyFieldForm.getCompanyTypeName();
            parentSectorName = companyFieldForm.getParentSectorName();
            childSectorName = companyFieldForm.getChildSectorName();
            regionName = companyFieldForm.getRegionName();
            statusName = companyFieldForm.getStatusName();*/
            statusName = companyFieldForm.getStatusName();
        }
        if (issueCompany.getCompanyField() != null && issueCompany.getCompanyField().getId() != null) {
            companyFieldId = issueCompany.getCompanyField().getId();
        }
        if (type == IssueHistoryType.ADD) { //추가 할 경우
        if (type == IssueHistoryType.ADD && issueCompany.getCompanyField() != null) { //추가 할 경우
            description.append("<span translate=\"issue.issueCompanyAddHistory\">업체 정보가 추가되었습니다. </span>");
            description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + issueCompany.getCompanyField().getName() + "</span>");
        } else if (type == IssueHistoryType.MODIFY) { //수정 할 경우
            if (id != null && !companyFieldId.equals(id)) {
                description.append("<span translate=\"issue.issueCompanyModifyHistory\">업체 정보가 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + name + "</span>");
            } else {
                if (companyFieldId.equals(id) && manager != null && (issueCompany.getManager() == null || !issueCompany.getManager().equals(manager))) {
                    description.append("<span translate=\"issue.issueCompanyModifyManagerHistory\">&nbsp;>&nbsp;업체 정보의 담당자가 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + manager + "</span>");
                }
                if (companyFieldId.equals(id) && tel != null && (issueCompany.getTel() == null || !issueCompany.getTel().equals(tel))) {
                    description.append("<span translate=\"issue.issueCompanyModifyTelHistory\">&nbsp;>&nbsp;업체 정보의 전화번호가 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + tel + "</span>");
                }
                if (companyFieldId.equals(id) && email != null && (issueCompany.getEmail() == null || !issueCompany.getEmail().equals(email))) {
                    description.append("<span translate=\"issue.issueCompanyModifyEmailHistory\">&nbsp;>&nbsp;업체 정보의 이메일이 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + email + "</span>");
                }
                if (companyFieldId.equals(id) && memo != null && (issueCompany.getMemo() == null || !issueCompany.getMemo().equals(memo))) {
                    description.append("<span translate=\"issue.issueCompanyModifyMemoHistory\">&nbsp;>&nbsp;업체 정보의 비고가 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + memo + "</span>");
                }
                if (companyFieldId.equals(id) && companyTypeName != null && (issueCompany.getCompanyTypeId() == null || !issueCompany.getCompanyTypeId().equals(companyTypeId))) {
                    description.append("<span translate=\"issue.issueCompanyModifyCompanyTypeHistory\">&nbsp;>&nbsp;업체 정보의 기업구분이 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + companyTypeName + "</span>");
                }
                if (companyFieldId.equals(id) && parentSectorName != null && (issueCompany.getParentSectorId() == null || !issueCompany.getParentSectorId().equals(parentSectorId))) {
                    description.append("<span translate=\"issue.issueCompanyModifyParentSectorHistory\">&nbsp;>&nbsp;업체 정보의 업종(대분류)이 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + parentSectorName + "</span>");
                }
                if (companyFieldId.equals(id) && childSectorName != null && (issueCompany.getChildSectorId() == null || !issueCompany.getChildSectorId().equals(childSectorId))) {
                    description.append("<span translate=\"issue.issueCompanyModifyChildSectorHistory\">&nbsp;>&nbsp;업체 정보의 업종(중분류)이 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + childSectorName + "</span>");
                }
                if (companyFieldId.equals(id) && statusName != null && (issueCompany.getStatusId() == null || !issueCompany.getStatusId().equals(statusId))) {
                    description.append("<span translate=\"issue.issueCompanyModifyStatusHistory\">&nbsp;>&nbsp;업체 정보의 상태가 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + statusName + "</span>");
                }
                if (companyFieldId.equals(id) && regionName != null && (issueCompany.getRegionId() == null || !issueCompany.getRegionId().equals(regionId))) {
                    description.append("<span translate=\"issue.issueCompanyModifyRegionHistory\">&nbsp;>&nbsp;업체 정보의 지역이 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + regionName + "</span>");
                }
            }
            /*if (companyFieldId.equals(id) && manager != null && (issueCompany.getManager() == null || !issueCompany.getManager().equals(manager))) {
                description.append("<span translate=\"issue.issueCompanyModifyManagerHistory\">&nbsp;>&nbsp;업체 정보의 담당자가 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + manager + "</span>");
            }
            if (companyFieldId.equals(id) && tel != null && (issueCompany.getTel() == null || !issueCompany.getTel().equals(tel))) {
                description.append("<span translate=\"issue.issueCompanyModifyTelHistory\">&nbsp;>&nbsp;업체 정보의 전화번호가 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + tel + "</span>");
            }
            if (companyFieldId.equals(id) && email != null && (issueCompany.getEmail() == null || !issueCompany.getEmail().equals(email))) {
                description.append("<span translate=\"issue.issueCompanyModifyEmailHistory\">&nbsp;>&nbsp;업체 정보의 이메일이 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + email + "</span>");
            }
            if (companyFieldId.equals(id) && memo != null && (issueCompany.getMemo() == null || !issueCompany.getMemo().equals(memo))) {
                description.append("<span translate=\"issue.issueCompanyModifyMemoHistory\">&nbsp;>&nbsp;업체 정보의 비고가 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + memo + "</span>");
            }
            if (companyFieldId.equals(id) && companyTypeName != null && (issueCompany.getCompanyTypeId() == null || !issueCompany.getCompanyTypeId().equals(companyTypeId))) {
                description.append("<span translate=\"issue.issueCompanyModifyCompanyTypeHistory\">&nbsp;>&nbsp;업체 정보의 기업구분이 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + companyTypeName + "</span>");
            }
            if (companyFieldId.equals(id) && parentSectorName != null && (issueCompany.getParentSectorId() == null || !issueCompany.getParentSectorId().equals(parentSectorId))) {
                description.append("<span translate=\"issue.issueCompanyModifyParentSectorHistory\">&nbsp;>&nbsp;업체 정보의 업종(대분류)이 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + parentSectorName + "</span>");
            }
            if (companyFieldId.equals(id) && childSectorName != null && (issueCompany.getChildSectorId() == null || !issueCompany.getChildSectorId().equals(childSectorId))) {
                description.append("<span translate=\"issue.issueCompanyModifyChildSectorHistory\">&nbsp;>&nbsp;업체 정보의 업종(중분류)이 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + childSectorName + "</span>");
            }
            if (companyFieldId.equals(id) && statusName != null && (issueCompany.getStatusId() == null || !issueCompany.getStatusId().equals(statusId))) {
                description.append("<span translate=\"issue.issueCompanyModifyStatusHistory\">&nbsp;>&nbsp;업체 정보의 상태가 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + statusName + "</span>");
            }
            if (companyFieldId.equals(id) && regionName != null && (issueCompany.getRegionId() == null || !issueCompany.getRegionId().equals(regionId))) {
                description.append("<span translate=\"issue.issueCompanyModifyRegionHistory\">&nbsp;>&nbsp;업체 정보의 지역이 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + regionName + "</span>");
            }*/
        } else {
            description.append("<span translate=\"issue.issueCompanyRemoveHistory\">업체 정보가 삭제되었습니다. " + issueCompany.getCompanyField().getName() + "</span>");
            description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + issueCompany.getCompanyField().getName() + "</span>");
@@ -667,17 +680,17 @@
        if (param != null) {
            id = MapUtil.getLong(param, "ispId");
            name = MapUtil.getString(param, "name");
            /*manager = MapUtil.getString(param, "manager");
            manager = MapUtil.getString(param, "manager");
            tel = MapUtil.getString(param, "tel");
            email = MapUtil.getString(param, "email");
            memo = MapUtil.getString(param, "memo");*/
            memo = MapUtil.getString(param, "memo");
        }else if(ispFieldForm != null) {
            id = ispFieldForm.getId();
            name = ispFieldForm.getName();
            /*manager = ispFieldForm.getManager();
            manager = ispFieldForm.getManager();
            tel = ispFieldForm.getTel();
            email = ispFieldForm.getEmail();
            memo = ispFieldForm.getMemo();*/
            memo = ispFieldForm.getMemo();
        }
        if (issueIsp.getIspField() != null && issueIsp.getIspField().getId() != null) {
@@ -691,23 +704,24 @@
            if (id != null && !ispFieldId.equals(id)) { //수정 할 경우
                description.append("<span translate=\"issue.issueIspModifyHistory\">ISP 정보가 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + name + "</span>");
            } else {
                if (ispFieldId.equals(id) && manager != null && (issueIsp.getManager() == null || !issueIsp.getManager().equals(manager))) {
                    description.append("<span translate=\"issue.issueIspModifyManagerHistory\">ISP 정보의 담당자가 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + manager + "</span>");
                }
                if (ispFieldId.equals(id) && tel != null && (issueIsp.getTel() == null || !issueIsp.getTel().equals(tel))) {
                    description.append("<span translate=\"issue.issueIspModifyTelHistory\">ISP 정보의 전화번호가 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + tel + "</span>");
                }
                if (ispFieldId.equals(id) && email != null && (issueIsp.getEmail() == null || !issueIsp.getEmail().equals(email))) {
                    description.append("<span translate=\"issue.issueIspModifyEmailHistory\">ISP 정보의 이메일이 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + email + "</span>");
                }
                if (ispFieldId.equals(id) && memo != null && (issueIsp.getMemo() == null || !issueIsp.getMemo().equals(memo))) {
                    description.append("<span translate=\"issue.issueIspModifyMemoHistory\">ISP 정보의 비고가 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + memo + "</span>");
                }
            }
            /*if (ispFieldId.equals(id) && manager != null && (issueIsp.getManager() == null || !issueIsp.getManager().equals(manager))) {
                description.append("<span translate=\"issue.issueIspModifyManagerHistory\">ISP 정보의 담당자가 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + manager + "</span>");
            }
            if (ispFieldId.equals(id) && tel != null && (issueIsp.getTel() == null || !issueIsp.getTel().equals(tel))) {
                description.append("<span translate=\"issue.issueIspModifyTelHistory\">ISP 정보의 전화번호가 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + tel + "</span>");
            }
            if (ispFieldId.equals(id) && email != null && (issueIsp.getEmail() == null || !issueIsp.getEmail().equals(email))) {
                description.append("<span translate=\"issue.issueIspModifyEmailHistory\">ISP 정보의 이메일이 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + email + "</span>");
            }
            if (ispFieldId.equals(id) && memo != null && (issueIsp.getMemo() == null || !issueIsp.getMemo().equals(memo))) {
                description.append("<span translate=\"issue.issueIspModifyMemoHistory\">ISP 정보의 비고가 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + memo + "</span>");
            }*/
        } else {
            description.append("<span translate=\"issue.issueIspRemoveHistory\">ISP 정보가 삭제되었습니다. " + issueIsp.getIspField().getName() + "</span>");
            description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + issueIsp.getIspField().getName() + "</span>");
@@ -727,17 +741,17 @@
        if (param != null) {
            id = MapUtil.getLong(param, "hostingId");
            name = MapUtil.getString(param, "name");
            /*manager = MapUtil.getString(param, "manager");
            manager = MapUtil.getString(param, "manager");
            tel = MapUtil.getString(param, "tel");
            email = MapUtil.getString(param, "email");
            memo = MapUtil.getString(param, "memo");*/
            memo = MapUtil.getString(param, "memo");
        }else if(hostingFieldForm != null) {
            id = hostingFieldForm.getId();
            name = hostingFieldForm.getName();
            /*manager = hostingFieldForm.getManager();
            manager = hostingFieldForm.getManager();
            tel = hostingFieldForm.getTel();
            email = hostingFieldForm.getEmail();
            memo = hostingFieldForm.getMemo();*/
            memo = hostingFieldForm.getMemo();
        }
        if (issueHosting.getHostingField() != null && issueHosting.getHostingField().getId() != null) {
@@ -751,23 +765,24 @@
            if(id != null && !hostingFieldId.equals(id)){ //수정 할 경우
                description.append("<span translate=\"issue.issueHostingModifyHistory\">호스팅 정보가 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + name + "</span>");
            } else {
                if(hostingFieldId.equals(id) && manager != null && (issueHosting.getManager() == null || !issueHosting.getManager().equals(manager))){
                    description.append("<span translate=\"issue.issueHostingModifyManagerHistory\">호스팅 정보의 담당자가 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + manager + "</span>");
                }
                if(hostingFieldId.equals(id) && tel != null && (issueHosting.getTel() == null || !issueHosting.getTel().equals(tel))){
                    description.append("<span translate=\"issue.issueHostingModifyTelHistory\">호스팅 정보의 전화번호가 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + tel + "</span>");
                }
                if(hostingFieldId.equals(id) && email != null && (issueHosting.getEmail() == null || !issueHosting.getEmail().equals(email))){
                    description.append("<span translate=\"issue.issueHostingModifyEmailHistory\">호스팅 정보의 이메일이 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + email + "</span>");
                }
                if(hostingFieldId.equals(id) && memo != null && (issueHosting.getMemo() == null || !issueHosting.getMemo().equals(memo))){
                    description.append("<span translate=\"issue.issueHostingModifyMemoHistory\">호스팅 정보의 비고가 변경되었습니다. </span>");
                    description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + memo + "</span>");
                }
            }
            /*if(hostingFieldId.equals(id) && manager != null && (issueHosting.getManager() == null || !issueHosting.getManager().equals(manager))){
                description.append("<span translate=\"issue.issueHostingModifyManagerHistory\">호스팅 정보의 담당자가 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + manager + "</span>");
            }
            if(hostingFieldId.equals(id) && tel != null && (issueHosting.getTel() == null || !issueHosting.getTel().equals(tel))){
                description.append("<span translate=\"issue.issueHostingModifyTelHistory\">호스팅 정보의 전화번호가 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + tel + "</span>");
            }
            if(hostingFieldId.equals(id) && email != null && (issueHosting.getEmail() == null || !issueHosting.getEmail().equals(email))){
                description.append("<span translate=\"issue.issueHostingModifyEmailHistory\">호스팅 정보의 이메일이 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + email + "</span>");
            }
            if(hostingFieldId.equals(id) && memo != null && (issueHosting.getMemo() == null || !issueHosting.getMemo().equals(memo))){
                description.append("<span translate=\"issue.issueHostingModifyMemoHistory\">호스팅 정보의 비고가 변경되었습니다. </span>");
                description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + memo + "</span>");
            }*/
        } else {
            description.append("<span translate=\"issue.issueHostingRemoveHistory\">호스팅 정보가 삭제되었습니다. " + issueHosting.getHostingField().getName() + "</span>");
            description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + issueHosting.getHostingField().getName() + "</span>");
@@ -948,6 +963,12 @@
            switch (customField.getCustomFieldType()) {
                case INPUT :
                case SINGLE_SELECT :
                case NUMBER :
                case DATETIME :
                case IP_ADDRESS :
                case EMAIL :
                case SITE :
                case TEL :
                    boolean existIssueCustomFieldValue = false;
                    for (IssueCustomFieldValue savedIssueCustomFieldValue : issue.getIssueCustomFieldValues()) {