From 793097dcb9fb45aa5714caf3207583a33926c0bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Wed, 31 Aug 2022 11:16:43 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B4=80=EC=84=9C=EC=84=A4=EC=A0=95=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=8F=99=EC=9E=91=EB=B0=A9?= =?UTF-8?q?=EC=8B=9D=20=EB=B3=80=EA=B2=BD.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OrganConfigController.java | 27 ++--- .../faisp/organMgt/model/OrganConfig.java | 2 + .../resources/static/js/organMgt/organMgt.js | 105 +++++++++--------- 3 files changed, 69 insertions(+), 65 deletions(-) diff --git a/src/main/java/com/dbnt/faisp/controller/OrganConfigController.java b/src/main/java/com/dbnt/faisp/controller/OrganConfigController.java index 84632992..73e9cc94 100644 --- a/src/main/java/com/dbnt/faisp/controller/OrganConfigController.java +++ b/src/main/java/com/dbnt/faisp/controller/OrganConfigController.java @@ -27,29 +27,30 @@ public class OrganConfigController { } @GetMapping("/selectOrganList") - public Map> selectOrganList(){ - List organList = codeMgtService.selectCodeMgtList("OG"); - List usedOrganList = organConfigService.selectSavedOrganList(); - List notUsedOrganList = new ArrayList<>(); - for(CodeMgt organCode: organList){ + public List selectOrganList(){ + List organCdList = codeMgtService.selectCodeMgtList("OG"); + List organConfigList = organConfigService.selectSavedOrganList(); + for(CodeMgt organCode: organCdList){ if(!organCode.getItemCd().equals("OG001")){ boolean usedFlag = false; - for(OrganConfig usedOrgan: usedOrganList){ - if(organCode.getItemCd().equals(usedOrgan.getOrganCd())){ + for(OrganConfig organConfig: organConfigList){ + if(organCode.getItemCd().equals(organConfig.getOrganCd())){ usedFlag = true; - usedOrgan.setOrganNm(organCode.getItemValue()); + organConfig.setOrganNm(organCode.getItemValue()); + organConfig.setUseState("T"); break; } } if(!usedFlag){ - notUsedOrganList.add(organCode); + OrganConfig organConfig = new OrganConfig(); + organConfig.setOrganCd(organCode.getItemCd()); + organConfig.setOrganNm(organCode.getItemValue()); + organConfig.setUseState("F"); + organConfigList.add(organConfig); } } } - Map> returnMap = new HashMap<>(); - returnMap.put("notUsedOrganList", Collections.singletonList(notUsedOrganList)); - returnMap.put("usedOrganList", Collections.singletonList(usedOrganList)); - return returnMap; + return organConfigList; } @PostMapping("/saveOrganConfig") diff --git a/src/main/java/com/dbnt/faisp/organMgt/model/OrganConfig.java b/src/main/java/com/dbnt/faisp/organMgt/model/OrganConfig.java index a9b2ea34..bf70f341 100644 --- a/src/main/java/com/dbnt/faisp/organMgt/model/OrganConfig.java +++ b/src/main/java/com/dbnt/faisp/organMgt/model/OrganConfig.java @@ -27,5 +27,7 @@ public class OrganConfig { @Transient private String organNm; + @Transient + private String useState; } diff --git a/src/main/resources/static/js/organMgt/organMgt.js b/src/main/resources/static/js/organMgt/organMgt.js index 117f5cbe..82ddfe6d 100644 --- a/src/main/resources/static/js/organMgt/organMgt.js +++ b/src/main/resources/static/js/organMgt/organMgt.js @@ -1,5 +1,4 @@ -let notUsedOrganList = []; -let usedOrganList = []; +let organList = []; let selectedMiddleOrganCd = ""; $(function (){ @@ -8,8 +7,7 @@ $(function (){ type: 'GET', dataType:"json", success: function(data){ - notUsedOrganList = data.notUsedOrganList[0]; - usedOrganList = data.usedOrganList[0]; + organList = data; setUsedOrganTr("OG001", "OGC002"); }, error:function(){ @@ -29,43 +27,38 @@ $(document).on('click', '#bottomAddBtn', function (){ $(document).on('click', '.rowDeleteBtn', function (){ const targetTr = $(this).parents('tr'); const selector = targetTr.find("select"); - usedOrganList.forEach(function (organ, idx){ - if(organ.organCd === selector.val() - || organ.parentOrgan === selector.val()){ - notUsedOrganList.push({ - itemCd: organ.organCd, - itemValue: organ.organNm - }) - usedOrganList = usedOrganList.splice(0, idx).concat(usedOrganList.splice(idx+1, usedOrganList.length)); + organList.forEach(function (organ, idx){ + if(organ.organCd === selector.val() //해당관서 + || organ.parentOrgan === selector.val()){ // 해당 지방청을 상위로 둔 관할 서 + organ.useState = "F"; } }) targetTr.remove(); }) $(document).on('change', '.organSelector', function () { - const selectedItemCd = this.value; - const selectedItemValue = this.selectedOptions[0].text; - const tbodyId = $(this).parents('tbody').id - usedOrganList.forEach(function (organ, idx){ - if(organ.organCd===selectedItemCd){ - alert("이미 등록된 관서입니다.") - return null; - } - }) - for(var i=0; i'+organ.organNm+'' + }); + if(options===''){ + alert("배정되지 않은 관서가 없습니다."); }else{ - let options = ''; - notUsedOrganList.forEach(function (organ) { - options+= '' - }); $('#'+tbody).append( '' + '' + @@ -125,16 +124,18 @@ function addTr(tbody){ function setUsedOrganTr(parentOrgan, organType){ const target = organType==="OGC002"?$("#middleTbody"):$("#bottomTbody") - usedOrganList.forEach(function (organ){ - if(organ.parentOrgan===parentOrgan && organ.organType===organType){ - target.append( - '' + - '' + - '' + - '' - ) + organList.forEach(function (organ){ + if(organ.useState === "T"){ + if(organ.parentOrgan===parentOrgan && organ.organType===organType){ + target.append( + '' + + '' + + '' + + '' + ) + } } }) } \ No newline at end of file