From bdb1efdc604fce543e21152b4263a9362f64389f Mon Sep 17 00:00:00 2001
From: minhee <alsdldlfrl@gmail.com>
Date: 목, 10 3월 2022 15:35:19 +0900
Subject: [PATCH] - api 이슈 추가 시 입력한 ip에 속해있는 업체정보를 가진 이슈의 하위로 입력되도록 수정 - issue_company 테이블에 ip 컬럼 추가 및 이슈 추가/수정 시 ip 대역대 항목 추가

---
 src/main/webapp/views/issue/issueAddRelation.html |  223 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 184 insertions(+), 39 deletions(-)

diff --git a/src/main/webapp/views/issue/issueAddRelation.html b/src/main/webapp/views/issue/issueAddRelation.html
index c00d990..5bf1a34 100644
--- a/src/main/webapp/views/issue/issueAddRelation.html
+++ b/src/main/webapp/views/issue/issueAddRelation.html
@@ -48,6 +48,8 @@
                                 class="highlighter-rouge">*</code></label>
                         <js-autocomplete-single data-input-name="project"
                                                 selected-model="vm.form.projects"
+                                                ng-model="vm.form.projects"
+                                                ng-change="fn.getIssueTypeOfProject()"
                                                 search="vm.projectName"
                                                 source="fn.getProjectList(vm.projectName, vm.form.projects, vm.autoCompletePage.project.page, fn.getProjectListCallBack)"
                                                 page="vm.autoCompletePage.project.page"
@@ -249,7 +251,6 @@
                                     <input type="text" class="form-control input-sm"
                                            name="input"
                                            ng-model="issueCustomField.useValues"
-                                           maxlength="100"
                                            autocomplete="off"
                                            kr-input
                                            ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
@@ -393,6 +394,7 @@
                         <js-autocomplete-single data-input-name="issueCompanyField"
                                                 selected-model="vm.form.issueCompanyFields"
                                                 search="vm.companyName"
+                                                custom-input="true"
                                                 source="fn.getIssueCompanyFieldList(vm.companyName, vm.form.issueCompanyFields, vm.autoCompletePage.companyField.page, fn.getIssueCompanyFieldListCallBack)"
                                                 page="vm.autoCompletePage.companyField.page"
                                                 total-page="vm.autoCompletePage.companyField.totalPage"
@@ -428,13 +430,11 @@
                                type="text"
                                class="form-control"
                                kr-input
-                               ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/"
                                autocomplete="off"
-                               ng-model="vm.companyTel"
-                               maxlength="20">
-                        <div ng-show="issueAddRelationForm.companyTel.$error.pattern" class="help-block form-text text-danger"
+                               ng-model="vm.companyTel">
+                        <!--<div ng-show="issueAddRelationForm.companyTel.$error.pattern" class="help-block form-text text-danger"
                              translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.
-                        </div>
+                        </div>-->
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -442,19 +442,18 @@
                         <label for="companyFieldEmailAddForm" class="issue-label"><span translate="companyField.email">�씠硫붿씪</span></label>
                         <input id="companyFieldEmailAddForm"
                                name="companyEmail"
-                               type="email"
+                               type="text"
                                class="form-control"
                                autocomplete="off"
-                               maxLength="50"
                                ng-model="vm.companyEmail"
                                kr-input
-                               ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/">
-                        <div ng-show="issueAddRelationForm.companyEmail.$error.pattern" class="help-block form-text text-danger"
+                        >
+                        <!--<div ng-show="issueAddRelationForm.companyEmail.$error.pattern" class="help-block form-text text-danger"
                              translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
-                        </div>
+                        </div>-->
                     </div>
                 </div>
-                <div class="col-lg-4">
+                <div class="col-lg-3-2">
                     <div class="form-group mgb5">
                         <label for="companyFieldUrlAddForm" class="issue-label"><span translate="companyField.url">url</span></label>
                         <input id="companyFieldUrlAddForm"
@@ -466,6 +465,48 @@
                                ng-maxlength="200"
                                ng-model="vm.companyUrl"
                                maxlength="200">
+                        <!--<div ng-show="issueAddRelationForm.companyUrl.$error.pattern" class="help-block form-text text-danger"
+                             translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>-->
+                    </div>
+                </div>
+                <div class="col-lg-2">
+                    <div class="form-group mgb5">
+                        <label for="companyFieldIpStartAddForm" class="issue-label"><span translate="companyField.ipRange">ip ���뿭��</span></label>
+                        <input id="companyFieldIpStartAddForm"
+                               name="ipStart"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               ng-pattern="/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/"
+                               placeholder="IP 二쇱냼 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎."
+                               autocomplete="off"
+                               ng-model="vm.ipStart"
+                        >
+                        <div ng-if="issueAddRelationForm.ipStart.$error.pattern" class="help-block form-text text-danger"
+                             translate="common.invalidipAdressFormat">IP二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
+                    </div>
+                </div>
+                <div class="mt-30">
+                    <label class="issue-label">~</label>
+                </div>
+                <div class="col-lg-2 mt-1">
+                    <div class="form-group mgb5">
+                        <label for="companyFieldIpEndAddForm"></label>
+                        <input id="companyFieldIpEndAddForm"
+                               name="ipEnd"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               ng-pattern="/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/"
+                               placeholder="IP 二쇱냼 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎."
+                               autocomplete="off"
+                               ng-model="vm.ipEnd"
+                        >
+                        <div ng-if="issueAddRelationForm.ipEnd.$error.pattern" class="help-block form-text text-danger"
+                             translate="common.invalidipAdressFormat">IP二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -482,6 +523,106 @@
                                maxlength="200">
                     </div>
                 </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
+                        <label class="issue-label">
+                            <span translate="companyField.companyType">湲곗뾽援щ텇</span>
+                        </label>
+                        <js-autocomplete-single data-input-name="companyType"
+                                                selected-model="vm.form.companyTypes"
+                                                ng-model="vm.form.companyType"
+                                                custom-input="false"
+                                                search="vm.form.companyType"
+                                                source="fn.getCompanyTypeCategory(vm.typeCategory.companyType, vm.form.companyType, vm.form.companyTypes, vm.autoCompletePage.companyType.page, fn.getCompanyTypeListCallBack)"
+                                                page="vm.autoCompletePage.companyType.page"
+                                                total-page="vm.autoCompletePage.companyType.totalPage"
+                                                input-disabled="false"
+                                                broad-cast="companyTypeEvent"
+                                                translation-texts="{ empty : 'common.emptyCompanyType' }"
+                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
+                        <label class="issue-label">
+                            <span translate="companyField.parentSector">�뾽醫�(��遺꾨쪟)</span>
+                        </label>
+                        <js-autocomplete-single data-input-name="parentSector"
+                                                selected-model="vm.form.parentSectors"
+                                                ng-model="vm.form.parentSector"
+                                                custom-input="false"
+                                                search="vm.form.parentSector"
+                                                source="fn.getCompanyTypeCategory(vm.typeCategory.parentSector, vm.form.parentSector, vm.form.parentSectors, vm.autoCompletePage.parentSector.page, fn.getParentSectorListCallBack)"
+                                                page="vm.autoCompletePage.parentSector.page"
+                                                total-page="vm.autoCompletePage.parentSector.totalPage"
+                                                input-disabled="false"
+                                                broad-cast="parentSectorEvent"
+                                                translation-texts="{ empty : 'common.emptyParentSector' }"
+                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
+                        <label class="issue-label">
+                            <span translate="companyField.childSector">�뾽醫�(以묐텇瑜�)</span>
+                        </label>
+                        <js-autocomplete-single data-input-name="childSector"
+                                                selected-model="vm.form.childSectors"
+                                                ng-model="vm.form.childSector"
+                                                custom-input="false"
+                                                search="vm.form.childSector"
+                                                source="fn.getCompanyChildSector(vm.form.parentSectorId, vm.form.parentSectors[0].id, vm.typeCategory.childSector, vm.form.childSector, vm.form.childSectors, vm.autoCompletePage.childSector.page, fn.getChildSectorListCallBack)"
+                                                page="vm.autoCompletePage.childSector.page"
+                                                total-page="vm.autoCompletePage.childSector.totalPage"
+                                                input-disabled="false"
+                                                broad-cast="childSectorEvent"
+                                                translation-texts="{ empty : 'common.emptyChildSector' }"
+                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
+                        <label class="issue-label">
+                            <span translate="companyField.region">吏��뿭</span>
+                        </label>
+                        <js-autocomplete-single data-input-name="region"
+                                                selected-model="vm.form.regions"
+                                                ng-model="vm.form.region"
+                                                custom-input="false"
+                                                search="vm.form.region"
+                                                source="fn.getCompanyTypeCategory(vm.typeCategory.region, vm.form.region, vm.form.regions, vm.autoCompletePage.region.page, fn.getRegionListCallBack)"
+                                                page="vm.autoCompletePage.region.page"
+                                                total-page="vm.autoCompletePage.region.totalPage"
+                                                input-disabled="false"
+                                                broad-cast="regionEvent"
+                                                translation-texts="{ empty : 'common.emptyRegion' }"
+                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+                    type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
+                        <label class="issue-label">
+                            <span translate="companyField.status">�긽�깭</span>
+                        </label>
+                        <js-autocomplete-single data-input-name="status"
+                                                selected-model="vm.form.statuses"
+                                                ng-model="vm.form.status"
+                                                custom-input="false"
+                                                search="vm.form.status"
+                                                source="fn.getCompanyTypeCategory(vm.typeCategory.status, vm.form.status, vm.form.statuses, vm.autoCompletePage.status.page, fn.getStatusListCallBack)"
+                                                page="vm.autoCompletePage.status.page"
+                                                total-page="vm.autoCompletePage.status.totalPage"
+                                                input-disabled="false"
+                                                broad-cast="statusEvent"
+                                                translation-texts="{ empty : 'common.emptyStatus' }"
+                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+                    type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                    </div>
+                </div>
             </div>
             <p></p>
             <div ng-show="fn.containsPartner('ISP')" class="row">
@@ -496,25 +637,26 @@
                 <div class="col-lg-4">
                     <div class="form-group mb10">
                         <label class="issue-label"> <span translate="ispField.name">ISP �씠由�</span> </label>
-                        <input name="ispName"
+                        <!--<input name="ispName"
                                type="text"
                                class="form-control"
                                kr-input
                                autocomplete="off"
                                ng-model="vm.ispName"
                                ng-maxlength="100"
-                               maxlength="100">
-                        <!--<js-autocomplete-single data-input-name="ispField"
+                               maxlength="100">-->
+                        <js-autocomplete-single data-input-name="ispField"
                                                 selected-model="vm.form.issueIspFields"
                                                 search="vm.ispName"
                                                 source="fn.getIssueIspFieldList(vm.ispName, vm.form.issueIspFields, vm.autoCompletePage.ispField.page, fn.getIssueIspFieldListCallBack)"
                                                 page="vm.autoCompletePage.ispField.page"
                                                 total-page="vm.autoCompletePage.ispField.totalPage"
                                                 input-disabled="false"
+                                                custom-input="true"
                                                 translation-texts="{ empty : 'common.emptyIsp' }"
                                                 broad-cast="ispFieldEvent"
                                                 extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
-                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>-->
+                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -556,13 +698,12 @@
                                type="text"
                                class="form-control"
                                kr-input
-                               ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/"
                                autocomplete="off"
                                ng-model="vm.ispTel"
-                               maxlength="20">
-                        <div ng-show="issueAddRelationForm.ispTel.$error.pattern" class="help-block form-text text-danger"
+                        >
+                        <!--<div ng-show="issueAddRelationForm.ispTel.$error.pattern" class="help-block form-text text-danger"
                              translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.
-                        </div>
+                        </div>-->
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -570,16 +711,15 @@
                         <label for="ispFieldEmailAddForm" class="issue-label"><span translate="ispField.email">�씠硫붿씪</span></label>
                         <input id="ispFieldEmailAddForm"
                                name="ispEmail"
-                               type="email"
+                               type="text"
                                class="form-control"
                                autocomplete="off"
-                               maxLength="50"
                                ng-model="vm.ispEmail"
                                kr-input
-                               ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/">
-                        <div ng-show="issueAddRelationForm.ispEmail.$error.pattern" class="help-block form-text text-danger"
+                               >
+                        <!--<div ng-show="issueAddRelationForm.ispEmail.$error.pattern" class="help-block form-text text-danger"
                              translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
-                        </div>
+                        </div>-->
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -594,6 +734,9 @@
                                ng-maxlength="200"
                                ng-model="vm.ispUrl"
                                maxlength="200">
+                        <!--<div ng-show="issueAddRelationForm.ispUrl.$error.pattern" class="help-block form-text text-danger"
+                             translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>-->
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -624,30 +767,31 @@
                 <div class="col-lg-4">
                     <div class="form-group mb10">
                         <label class="issue-label"> <span translate="hostingField.name">�샇�뒪�똿 �씠由�</span> </label>
-                        <input name="hostingName"
+                        <!--<input name="hostingName"
                                type="text"
                                class="form-control"
                                kr-input
                                autocomplete="off"
                                ng-model="vm.hostingName"
                                ng-maxlength="100"
-                               maxlength="100">
-                        <!--<js-autocomplete-single data-input-name="hostingField"
+                               maxlength="100">-->
+                        <js-autocomplete-single data-input-name="hostingField"
                                                 selected-model="vm.form.issueHostingFields"
                                                 search="vm.hostingName"
                                                 source="fn.getIssueHostingFieldList(vm.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)"
                                                 page="vm.autoCompletePage.hostingField.page"
                                                 total-page="vm.autoCompletePage.hostingField.totalPage"
                                                 input-disabled="false"
+                                                custom-input="true"
                                                 translation-texts="{ empty : 'common.emptyHosting' }"
                                                 broad-cast="hostingFieldEvent"
                                                 extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
-                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>-->
+                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                     </div>
                 </div>
                 <div class="col-lg-4">
                     <div class="form-group mb10">
-                        <label for="hostingCodeManagerAdd" class="issue-label"><span translate="hostingField.code">�떞�떦�옄</span></label>
+                        <label for="hostingCodeManagerAdd" class="issue-label"><span translate="hostingField.code">肄붾뱶</span></label>
                         <input id="hostingCodeManagerAdd"
                                name="hostingCode"
                                type="text"
@@ -684,13 +828,12 @@
                                type="text"
                                class="form-control"
                                kr-input
-                               ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/"
                                autocomplete="off"
                                ng-model="vm.hostingTel"
-                               maxlength="20">
-                        <div ng-show="issueAddRelationForm.hostingTel.$error.pattern" class="help-block form-text text-danger"
+                               >
+                        <!--<div ng-show="issueAddRelationForm.hostingTel.$error.pattern" class="help-block form-text text-danger"
                              translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.
-                        </div>
+                        </div>-->
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -698,16 +841,15 @@
                         <label for="hostingFieldEmailAdd" class="issue-label"><span translate="hostingField.email">�씠硫붿씪</span></label>
                         <input id="hostingFieldEmailAdd"
                                name="hostingEmail"
-                               type="email"
+                               type="text"
                                class="form-control"
                                autocomplete="off"
-                               maxLength="50"
                                ng-model="vm.hostingEmail"
                                kr-input
-                               ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/">
-                        <div ng-show="issueAddRelationForm.hostingEmail.$error.pattern" class="help-block form-text text-danger"
+                        >
+                        <!--<div ng-show="issueAddRelationForm.hostingEmail.$error.pattern" class="help-block form-text text-danger"
                              translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
-                        </div>
+                        </div>-->
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -722,6 +864,9 @@
                                ng-maxlength="200"
                                ng-model="vm.hostingUrl"
                                maxlength="200">
+                        <!--<div ng-show="issueAddRelationForm.hostingUrl.$error.pattern" class="help-block form-text text-danger"
+                             translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>-->
                     </div>
                 </div>
                 <div class="col-lg-4">

--
Gitblit v1.8.0