From c38e6e64dfc68b77a6d4a549ab58fc55462f06c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Tue, 10 Jan 2023 18:35:52 +0900 Subject: [PATCH] =?UTF-8?q?=EC=88=98=EC=A0=95=EC=9A=94=EC=B2=AD=EC=82=AC?= =?UTF-8?q?=ED=95=AD=20=EC=9E=91=EC=97=85=EC=A4=91.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InternationalCrimeArrestController.java | 196 ++++++++--------- .../faisp/main/fpiMgt/sri/SriController.java | 74 ++++--- .../dbnt/faisp/main/fpiMgt/sri/model/Sri.java | 2 + .../main/fpiMgt/sri/service/SriService.java | 3 + .../main/menuMgt/service/MenuMgtService.java | 2 + .../main/organMgt/OrganConfigController.java | 24 +- .../main/organMgt/model/OrganConfig.java | 2 + .../organMgt/service/OrganConfigService.java | 34 +++ .../mybatisMapper/CrackdownStatustMapper.xml | 2 +- src/main/resources/static/css/common.css | 2 +- src/main/resources/static/js/common.js | 27 ++- .../static/js/igActivities/fpiMgt/sri/sri.js | 205 +++++++++--------- .../adminPage/authMgt/authEditModal.html | 8 +- .../common/modal/crackdownStatusModal.html | 2 +- .../templates/common/modal/menuModal.html | 2 +- .../templates/common/modal/userModal.html | 2 +- .../internationalCrimeArrestEditModal.html | 8 +- .../templates/fragments/leftMenu.html | 12 +- .../templates/police/career/careerModal.html | 9 +- .../police/education/eduEditModal.html | 46 +--- .../resources/templates/sri/sriEditModal.html | 17 +- .../resources/templates/sri/sriViewModal.html | 38 +++- 22 files changed, 354 insertions(+), 363 deletions(-) diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/InternationalCrimeArrestController.java b/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/InternationalCrimeArrestController.java index d93e5e6d..e641c293 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/InternationalCrimeArrestController.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/InternationalCrimeArrestController.java @@ -27,125 +27,99 @@ import java.util.List; @RequestMapping("/faStatistics") public class InternationalCrimeArrestController { - private final AuthMgtService authMgtService; - private final InternationalCrimeArrestService internationalCrimeArrestService; - private final CodeMgtService codeMgtService; - private final OrganConfigService organConfigService; - private final SuspectPersonInfoRepository suspectPersonInfoRepository; + private final AuthMgtService authMgtService; + private final InternationalCrimeArrestService internationalCrimeArrestService; + private final CodeMgtService codeMgtService; + private final OrganConfigService organConfigService; + private final SuspectPersonInfoRepository suspectPersonInfoRepository; - @GetMapping("/internationalCrimeArrest") - public ModelAndView internationalCrimeArrest(@AuthenticationPrincipal UserInfo loginUser,InternationalCrimeArrest internationalCrimeArrest) { - ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrest"); + @GetMapping("/internationalCrimeArrest") + public ModelAndView internationalCrimeArrest(@AuthenticationPrincipal UserInfo loginUser,InternationalCrimeArrest internationalCrimeArrest) { + ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrest"); - //메뉴권한 확인 - String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/internationalCrimeArrest").get(0).getAccessAuth(); + //메뉴권한 확인 + String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/internationalCrimeArrest").get(0).getAccessAuth(); - mav.addObject("accessAuth", accessAuth); - mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); + mav.addObject("accessAuth", accessAuth); + mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); - internationalCrimeArrest.setQueryInfo(); - List internationalCrimeArrestList = internationalCrimeArrestService.selectInternationalCrimeArrestList(internationalCrimeArrest); + internationalCrimeArrest.setQueryInfo(); + List internationalCrimeArrestList = internationalCrimeArrestService.selectInternationalCrimeArrestList(internationalCrimeArrest); - for (InternationalCrimeArrest ica:internationalCrimeArrestList) { - ica.setSuspectPersonInfoList(suspectPersonInfoRepository.findByIcaKey(ica.getIcaKey())); - } - - mav.addObject("internationalCrimeArrestList", internationalCrimeArrestList); - internationalCrimeArrest.setContentCnt(internationalCrimeArrestService.selectInternationalCrimeArrestListCnt(internationalCrimeArrest)); - internationalCrimeArrest.setPaginationInfo(); - mav.addObject("organConfigList", selectOrganList()); - mav.addObject("searchParams", internationalCrimeArrest); - return mav; + for (InternationalCrimeArrest ica:internationalCrimeArrestList) { + ica.setSuspectPersonInfoList(suspectPersonInfoRepository.findByIcaKey(ica.getIcaKey())); } - @GetMapping("/internationalCrimeArrest/internationalCrimeArrestEditModal") - public ModelAndView internationalCrimeArrestEditModal(@AuthenticationPrincipal UserInfo loginUser, InternationalCrimeArrest internationalCrimeArrest){ - ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrestEditModal"); - if(internationalCrimeArrest.getIcaKey()!=null){ - internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey()); - }else{ - internationalCrimeArrest.setWrtOrgan(loginUser.getOgCd()); - internationalCrimeArrest.setWrtNm(loginUser.getUserNm()); - internationalCrimeArrest.setWrtDt(LocalDateTime.now()); - internationalCrimeArrest.setSuspectPersonInfoList(suspectPersonInfoRepository.findByIcaKey(internationalCrimeArrest.getIcaKey())); - } - mav.addObject("organConfigList", selectOrganList()); - mav.addObject("internationalCrimeArrest", internationalCrimeArrest); - return mav; + mav.addObject("internationalCrimeArrestList", internationalCrimeArrestList); + internationalCrimeArrest.setContentCnt(internationalCrimeArrestService.selectInternationalCrimeArrestListCnt(internationalCrimeArrest)); + internationalCrimeArrest.setPaginationInfo(); + mav.addObject("organConfigList", organConfigService.selectOrganList()); + mav.addObject("searchParams", internationalCrimeArrest); + return mav; + } + + @GetMapping("/internationalCrimeArrest/internationalCrimeArrestEditModal") + public ModelAndView internationalCrimeArrestEditModal(@AuthenticationPrincipal UserInfo loginUser, InternationalCrimeArrest internationalCrimeArrest){ + ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrestEditModal"); + if(internationalCrimeArrest.getIcaKey()!=null){ + internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey()); + }else{ + internationalCrimeArrest.setWrtOrgan(loginUser.getOgCd()); + internationalCrimeArrest.setWrtNm(loginUser.getUserNm()); + internationalCrimeArrest.setWrtDt(LocalDateTime.now()); + internationalCrimeArrest.setSuspectPersonInfoList(suspectPersonInfoRepository.findByIcaKey(internationalCrimeArrest.getIcaKey())); } + mav.addObject("organConfigList", organConfigService.selectOrganList()); + mav.addObject("internationalCrimeArrest", internationalCrimeArrest); + return mav; + } + + @GetMapping("/internationalCrimeArrest/internationalCrimeArrestViewModal") + public ModelAndView internationalCrimeArrestViewModal(@AuthenticationPrincipal UserInfo loginUser, InternationalCrimeArrest internationalCrimeArrest){ + ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrestViewModal"); + internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey()); + mav.addObject("internationalCrimeArrest", internationalCrimeArrest); + mav.addObject("userSeq",loginUser.getUserSeq()); + mav.addObject("organConfigList", organConfigService.selectOrganList()); + //메뉴권한 확인 + mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/internationalCrimeArrest").get(0).getAccessAuth()); + return mav; + } + + @PostMapping("/internationalCrimeArrest/saveInternationalCrimeArrest") + public Integer saveInternationalCrimeArrest(@AuthenticationPrincipal UserInfo loginUser, + InternationalCrimeArrest internationalCrimeArrest){ + internationalCrimeArrest.setWrtUserSeq(loginUser.getUserSeq()); + return internationalCrimeArrestService.savedInternationalCrimeArrest(internationalCrimeArrest); + } + + @GetMapping("/internationalCrimeArrest/ExcelDown") + public void icaExcelDown(HttpServletResponse response, InternationalCrimeArrest internationalCrimeArrest) { + int duplicateCount = internationalCrimeArrestService.icaDuplicateCount(internationalCrimeArrest); + int rowCnt = internationalCrimeArrest.getRowCnt() + duplicateCount; + internationalCrimeArrest.setRowCnt(rowCnt); + internationalCrimeArrest.setQueryInfo(); + internationalCrimeArrest.setContentCnt(internationalCrimeArrestService.selectInternationalCrimeArrestListCnt(internationalCrimeArrest)); + internationalCrimeArrest.setPaginationInfo(); + + Excel excel = new Excel(); + String[] headers = {"ica_key", "case_num", "organ", "department", "crime_type", "violation_type", "crime_name", "occur_table", "arrest_table", "suspect_table", "sex", "age", "country", "crime_awareness_dt", "case_sent_dt", "process_result"}; + String[] headerNames = { "", "", "", "", "", "", "", "", "", "", "피의자 인적사항", "", "", "", "", ""}; + String[] headerNames2 = { "", "사건번호", "지방청", "경찰서", "범죄테마", "위반유형", "죄명", "발생원표", "검거원표", "피의자원표","성별","나이","국적","범죄인지","사건송치","신병처리"}; + String[] columnType = { "int", "String", "String", "String", "String", "String", "String", "String", "String", "String","String","String","String","String","String","String"}; + excel.setHeaders(headers); + excel.setHeaderNames(headerNames); + excel.setHeaderNames2(headerNames2); + excel.setColumnType(columnType); + excel.setSheetName("국제범죄검거현황"); + excel.setExcelFileName("국제범죄검거현황"); + List icaList = internationalCrimeArrestService.selectInternationalCrimeArrestParamList(internationalCrimeArrest); + excel.setList(icaList); + + try { + Utils.icaDownExcel(response, excel); + } catch (IOException e) { - @GetMapping("/internationalCrimeArrest/internationalCrimeArrestViewModal") - public ModelAndView internationalCrimeArrestViewModal(@AuthenticationPrincipal UserInfo loginUser, InternationalCrimeArrest internationalCrimeArrest){ - ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrestViewModal"); - internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey()); - mav.addObject("internationalCrimeArrest", internationalCrimeArrest); - mav.addObject("userSeq",loginUser.getUserSeq()); - mav.addObject("organConfigList", selectOrganList()); - //메뉴권한 확인 - mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/internationalCrimeArrest").get(0).getAccessAuth()); - return mav; - } - - @PostMapping("/internationalCrimeArrest/saveInternationalCrimeArrest") - public Integer saveInternationalCrimeArrest(@AuthenticationPrincipal UserInfo loginUser, - InternationalCrimeArrest internationalCrimeArrest){ - internationalCrimeArrest.setWrtUserSeq(loginUser.getUserSeq()); - return internationalCrimeArrestService.savedInternationalCrimeArrest(internationalCrimeArrest); - } - - @GetMapping("/internationalCrimeArrest/ExcelDown") - public void icaExcelDown(HttpServletResponse response, InternationalCrimeArrest internationalCrimeArrest) { - int duplicateCount = internationalCrimeArrestService.icaDuplicateCount(internationalCrimeArrest); - int rowCnt = internationalCrimeArrest.getRowCnt() + duplicateCount; - internationalCrimeArrest.setRowCnt(rowCnt); - internationalCrimeArrest.setQueryInfo(); - internationalCrimeArrest.setContentCnt(internationalCrimeArrestService.selectInternationalCrimeArrestListCnt(internationalCrimeArrest)); - internationalCrimeArrest.setPaginationInfo(); - - Excel excel = new Excel(); - String[] headers = {"ica_key", "case_num", "organ", "department", "crime_type", "violation_type", "crime_name", "occur_table", "arrest_table", "suspect_table", "sex", "age", "country", "crime_awareness_dt", "case_sent_dt", "process_result"}; - String[] headerNames = { "", "", "", "", "", "", "", "", "", "", "피의자 인적사항", "", "", "", "", ""}; - String[] headerNames2 = { "", "사건번호", "지방청", "경찰서", "범죄테마", "위반유형", "죄명", "발생원표", "검거원표", "피의자원표","성별","나이","국적","범죄인지","사건송치","신병처리"}; - String[] columnType = { "int", "String", "String", "String", "String", "String", "String", "String", "String", "String","String","String","String","String","String","String"}; - excel.setHeaders(headers); - excel.setHeaderNames(headerNames); - excel.setHeaderNames2(headerNames2); - excel.setColumnType(columnType); - excel.setSheetName("국제범죄검거현황"); - excel.setExcelFileName("국제범죄검거현황"); - List icaList = internationalCrimeArrestService.selectInternationalCrimeArrestParamList(internationalCrimeArrest); - excel.setList(icaList); - - try { - Utils.icaDownExcel(response, excel); - } catch (IOException e) { - - } - } - - 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 organConfig: organConfigList){ - if(organCode.getItemCd().equals(organConfig.getOrganCd())){ - usedFlag = true; - organConfig.setOrganNm(organCode.getItemValue()); - organConfig.setUseState("T"); - break; - } - } - if(!usedFlag){ - OrganConfig organConfig = new OrganConfig(); - organConfig.setOrganCd(organCode.getItemCd()); - organConfig.setOrganNm(organCode.getItemValue()); - organConfig.setUseState("F"); - organConfigList.add(organConfig); - } - } - } - return organConfigList; } + } } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/SriController.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/SriController.java index b2a27e9a..2acdc2b0 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/SriController.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/SriController.java @@ -21,7 +21,7 @@ import java.util.List; @RequiredArgsConstructor @RequestMapping("/sri") public class SriController { - + private final SriService sriService; private final AuthMgtService authMgtService; private final CodeMgtService codeMgtService; @@ -31,7 +31,7 @@ public class SriController { ModelAndView mav = new ModelAndView("sri/sriBoard"); if(sri.getActiveTab()==null){ - sri.setActiveTab("send"); + sri.setActiveTab("send"); } mav.addObject("searchUrl", "/sri/sriBoard"); String accessAuth = authMgtService.selectAccessConfigList @@ -39,25 +39,25 @@ public class SriController { mav.addObject("accessAuth", accessAuth); if(sri.getActiveTab().equals("send")){ - sri.setWrtUserSeq(loginUser.getUserSeq()); + sri.setWrtUserSeq(loginUser.getUserSeq()); }else if(sri.getActiveTab().equals("receive")){ - sri.setStatus("DST007"); - sri.setReceiveUserSeq(loginUser.getUserSeq()); + sri.setStatus("DST007"); + sri.setReceiveUserSeq(loginUser.getUserSeq()); }else if(sri.getActiveTab().equals("all") && accessAuth.equals("ACC003")){ - sri.setDownOrganCdList(loginUser.getDownOrganCdList()); + sri.setDownOrganCdList(loginUser.getDownOrganCdList()); }else if(sri.getActiveTab().equals("all")){ - sri.setActiveTab("send"); - sri.setWrtUserSeq(loginUser.getUserSeq()); + sri.setActiveTab("send"); + sri.setWrtUserSeq(loginUser.getUserSeq()); } if(accessAuth.equals("ACC003")){ mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); } - + sri.setQueryInfo(); mav.addObject("SriList", sriService.selectSriList(sri)); sri.setContentCnt(sriService.selectSriCnt(sri)); sri.setPaginationInfo(); - + mav.addObject("searchParams", sri); return mav; } @@ -66,31 +66,33 @@ public class SriController { public ModelAndView faRptEditModal(@AuthenticationPrincipal UserInfo loginUser, Sri sri){ ModelAndView mav = new ModelAndView("sri/sriEditModal"); if(sri.getFaSriKey()!=null){ - sri = sriService.selectFaSriBoard(sri.getFaSriKey(), null); + sri = sriService.selectFaSriBoard(sri.getFaSriKey(), null); }else{ - if(sri.getRefKey()!=null){ - SriReadUser readUser = new SriReadUser(); - readUser.setUserSeq(sri.getWrtUserSeq()); - readUser.setOgCd(sri.getWrtOrgan()); - readUser.setOfcCd(sri.getWrtPart()); - readUser.setTitleCd(sri.getWrtTitle()); - readUser.setUserNm(sri.getWrtUserNm()); - sri.setReadUserList(new ArrayList<>()); - sri.getReadUserList().add(readUser); - } - - sri.setWrtUserSeq(loginUser.getUserSeq()); - sri.setWrtOrgan(loginUser.getOgCd()); - sri.setWrtPart(loginUser.getOfcCd()); - sri.setWrtTitle(loginUser.getTitleCd()); - sri.setWrtUserNm(loginUser.getUserNm()); - sri.setWrtDt(LocalDateTime.now()); + if(sri.getRefKey()!=null){ + Sri originSri = sriService.selectFaSriBoard(sri.getRefKey(), null); + SriReadUser readUser = new SriReadUser(); + readUser.setUserSeq(originSri.getWrtUserSeq()); + readUser.setOgCd(originSri.getWrtOrgan()); + readUser.setOfcCd(originSri.getWrtPart()); + readUser.setTitleCd(originSri.getWrtTitle()); + readUser.setUserNm(originSri.getWrtUserNm()); + sri.setReadUserList(new ArrayList<>()); + sri.getReadUserList().add(readUser); + sri.setTitle("RE: "+originSri.getTitle()); + } + + sri.setWrtUserSeq(loginUser.getUserSeq()); + sri.setWrtOrgan(loginUser.getOgCd()); + sri.setWrtPart(loginUser.getOfcCd()); + sri.setWrtTitle(loginUser.getTitleCd()); + sri.setWrtUserNm(loginUser.getUserNm()); + sri.setWrtDt(LocalDateTime.now()); } mav.addObject("SriCategoryList", codeMgtService.selectCodeMgtList("SRI")); mav.addObject("sri", sri); return mav; } - + @PostMapping("/selectedUserTable") @ResponseBody public ModelAndView selectedUserTable(@RequestBody List userList){ @@ -98,12 +100,12 @@ public class SriController { mav.addObject("userList", userList); return mav; } - + @PostMapping("/saveSri") public Integer saveFaRpt(Sri sri, - MultipartHttpServletRequest request, - @RequestParam(value = "fileSeq", required = false) List deleteFileSeq){ - sri.setMultipartFileList(request.getMultiFileMap().get("uploadFiles")); + MultipartHttpServletRequest request, + @RequestParam(value = "fileSeq", required = false) List deleteFileSeq){ + sri.setMultipartFileList(request.getMultiFileMap().get("uploadFiles")); return sriService.saveSriBoard(sri, deleteFileSeq); } @@ -117,12 +119,12 @@ public class SriController { (loginUser.getUserSeq(), "/sri/sriBoard").get(0).getAccessAuth()); return mav; } - + @PostMapping("/sriDelete") public void sriDelete(@AuthenticationPrincipal UserInfo loginUser, @RequestBody List sri){ - sriService.sriDelete(sri); + sriService.sriDelete(sri); } - + } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/model/Sri.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/model/Sri.java index f230e826..aa8ec446 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/model/Sri.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/model/Sri.java @@ -70,6 +70,8 @@ public class Sri extends BaseModel { private List readUserList; @Transient private List multipartFileList; + @Transient + private Sri refSri; @Override public String toString() { diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/service/SriService.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/service/SriService.java index 801b55a1..91726b5b 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/service/SriService.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/sri/service/SriService.java @@ -66,6 +66,9 @@ public class SriService extends BaseService { if(sri != null){ sri.setFileList(sriFileRepository.findByFaSriKey(faSriKey)); sri.setReadUserList(sriReadUserRepository.findByFaSriKey(faSriKey)); + if(sri.getRefKey()!=null){ + sri.setRefSri(sriRepository.findById(sri.getRefKey()).orElse(null)); + } if(sri.getStatus().equals("DST007")){ for(SriReadUser readUser: sri.getReadUserList()){ if(readUser.getUserSeq().equals(userSeq)){ diff --git a/src/main/java/com/dbnt/faisp/main/menuMgt/service/MenuMgtService.java b/src/main/java/com/dbnt/faisp/main/menuMgt/service/MenuMgtService.java index 69bd2bb4..e6570f5c 100644 --- a/src/main/java/com/dbnt/faisp/main/menuMgt/service/MenuMgtService.java +++ b/src/main/java/com/dbnt/faisp/main/menuMgt/service/MenuMgtService.java @@ -120,12 +120,14 @@ public class MenuMgtService { if(cat2Cd.contains(cat1Cd)){ MenuMgt secondMenu = new MenuMgt(); List thirdMenuList = new ArrayList<>(); + secondMenu.setCat1Cd(cat1Cd); secondMenu.setCat2Cd(cat2Cd.replace(cat1Cd, "")); Iterator cat3Itr = cat3Set.iterator(); while(cat3Itr.hasNext()){ String cat3Cd = cat3Itr.next(); if(cat3Cd.contains(cat2Cd)){ MenuMgt thirdMenu = new MenuMgt(); + thirdMenu.setCat2Cd(secondMenu.getCat2Cd()); thirdMenu.setCat3Cd(cat3Cd.replace(cat2Cd, "")); for(MenuMgt accessMenu: accessMenuList){ if(accessMenu.getCat1Cd().equals(cat1Cd) diff --git a/src/main/java/com/dbnt/faisp/main/organMgt/OrganConfigController.java b/src/main/java/com/dbnt/faisp/main/organMgt/OrganConfigController.java index 5ad9f0a3..d61835c1 100644 --- a/src/main/java/com/dbnt/faisp/main/organMgt/OrganConfigController.java +++ b/src/main/java/com/dbnt/faisp/main/organMgt/OrganConfigController.java @@ -28,29 +28,7 @@ public class OrganConfigController { @GetMapping("/selectOrganList") 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 organConfig: organConfigList){ - if(organCode.getItemCd().equals(organConfig.getOrganCd())){ - usedFlag = true; - organConfig.setOrganNm(organCode.getItemValue()); - organConfig.setUseState("T"); - break; - } - } - if(!usedFlag){ - OrganConfig organConfig = new OrganConfig(); - organConfig.setOrganCd(organCode.getItemCd()); - organConfig.setOrganNm(organCode.getItemValue()); - organConfig.setUseState("F"); - organConfigList.add(organConfig); - } - } - } - return organConfigList; + return organConfigService.selectOrganList(); } @PostMapping("/saveOrganConfig") diff --git a/src/main/java/com/dbnt/faisp/main/organMgt/model/OrganConfig.java b/src/main/java/com/dbnt/faisp/main/organMgt/model/OrganConfig.java index af92db6e..2663a0a5 100644 --- a/src/main/java/com/dbnt/faisp/main/organMgt/model/OrganConfig.java +++ b/src/main/java/com/dbnt/faisp/main/organMgt/model/OrganConfig.java @@ -28,5 +28,7 @@ public class OrganConfig { private String organNm; @Transient private String useState; + @Transient + private Integer orderNum; } diff --git a/src/main/java/com/dbnt/faisp/main/organMgt/service/OrganConfigService.java b/src/main/java/com/dbnt/faisp/main/organMgt/service/OrganConfigService.java index c67d05a4..1b5834d6 100644 --- a/src/main/java/com/dbnt/faisp/main/organMgt/service/OrganConfigService.java +++ b/src/main/java/com/dbnt/faisp/main/organMgt/service/OrganConfigService.java @@ -1,18 +1,23 @@ package com.dbnt.faisp.main.organMgt.service; +import com.dbnt.faisp.main.codeMgt.model.CodeMgt; +import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; import com.dbnt.faisp.main.organMgt.mapper.OrganConfigMapper; import com.dbnt.faisp.main.organMgt.model.OrganConfig; import com.dbnt.faisp.main.organMgt.repository.OrganConfigRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.Comparator; import java.util.List; +import java.util.stream.Collectors; @Service @RequiredArgsConstructor public class OrganConfigService { private final OrganConfigRepository organConfigRepository; private final OrganConfigMapper organConfigMapper; + private final CodeMgtService codeMgtService; public List selectSavedOrganList() { return organConfigRepository.findAll(); @@ -32,4 +37,33 @@ public class OrganConfigService { upOrganList.add(ogCd); return upOrganList; } + + public List selectOrganList() { + List codeList = codeMgtService.selectCodeMgtList("OG"); + List configList = selectSavedOrganList(); + for(CodeMgt organCode: codeList){ + boolean usedFlag = false; + for(OrganConfig organConfig: configList){ + if(organCode.getItemCd().equals(organConfig.getOrganCd())){ + usedFlag = true; + organConfig.setOrganNm(organCode.getItemValue()); + organConfig.setOrderNum(organCode.getOrderNum()); + organConfig.setUseState("T"); + break; + } + } + if(!usedFlag){ + OrganConfig organConfig = new OrganConfig(); + organConfig.setOrganCd(organCode.getItemCd()); + organConfig.setOrganNm(organCode.getItemValue()); + organConfig.setOrderNum(organCode.getOrderNum()); + organConfig.setUseState("F"); + configList.add(organConfig); + } + } + configList = configList.stream() + .sorted(Comparator.comparing(OrganConfig::getOrderNum, Comparator.nullsLast(Comparator.naturalOrder()))) + .collect(Collectors.toList()); + return configList; + } } diff --git a/src/main/resources/mybatisMapper/CrackdownStatustMapper.xml b/src/main/resources/mybatisMapper/CrackdownStatustMapper.xml index 9d218154..060ecf13 100644 --- a/src/main/resources/mybatisMapper/CrackdownStatustMapper.xml +++ b/src/main/resources/mybatisMapper/CrackdownStatustMapper.xml @@ -13,7 +13,7 @@ And EXTRACT(MONTH FROM pr.wrt_dt) = #{month}::NUMERIC - AND caseNum = #{caseNum} + AND case_num = #{caseNum} AND nll = #{nll} diff --git a/src/main/resources/static/css/common.css b/src/main/resources/static/css/common.css index b00d42a6..47de7df9 100644 --- a/src/main/resources/static/css/common.css +++ b/src/main/resources/static/css/common.css @@ -95,7 +95,7 @@ -webkit-appearance: none; margin: 0; } -.mouse-hover:hover{ +.mouse-hover-clickable:hover{ cursor: pointer; } diff --git a/src/main/resources/static/js/common.js b/src/main/resources/static/js/common.js index 665c52b6..f680bf96 100644 --- a/src/main/resources/static/js/common.js +++ b/src/main/resources/static/js/common.js @@ -1,6 +1,27 @@ let files = []; let CrossEditor; +$(document).ready(function (){ + const path = location.pathname; + if(!(path.includes("/login") || path.includes("/dashboard") || + path.includes("/publicBoard") || path.includes("/myInfo"))){ + $.each($("#leftMenu").find("a"), function (idx, link){ + if(link.href.includes(location.pathname)){ + menuOpen($(link).attr("data-parent")) + } + }) + } +}) +function menuOpen(categoryCd){ + const menu = $("[data-category='"+categoryCd+"']"); + if(menu.attr("aria-expanded")==='false'){ + menu.click(); + const parent = menu.attr("data-parent") + if(parent){ + menuOpen(parent); + } + } +} function contentFade(action){ if(action === "in"){ $("#fadeDiv").show() @@ -229,8 +250,10 @@ function departmentDynamicOption(targetTagName, code, defaultOptionName='') { $(targetTagName).empty(); let option = ''; organConfigList.forEach(function (organConfig) { - if (organConfig.parentOrgan != null && organConfig.organType !== 'OGC002' && organConfig.parentOrgan === code) { - option += ''; + if(!(organConfig.organCd === "OG027" || organConfig.organCd === "OG028")){ + if (organConfig.parentOrgan != null && organConfig.organType !== 'OGC002' && organConfig.parentOrgan === code) { + option += ''; + } } }); $(targetTagName).append('' + option); diff --git a/src/main/resources/static/js/igActivities/fpiMgt/sri/sri.js b/src/main/resources/static/js/igActivities/fpiMgt/sri/sri.js index 87cfa40f..996b3fc4 100644 --- a/src/main/resources/static/js/igActivities/fpiMgt/sri/sri.js +++ b/src/main/resources/static/js/igActivities/fpiMgt/sri/sri.js @@ -15,7 +15,9 @@ $(function() { $(document).on('click', '#addSriBtn', function (){ getSriEditModal({faSriKey: null}) }) - +$(document).on('click', '#getOriginSriBtn', function (){ + getSriViewModal($(this).attr("data-fasrikey")) +}) function getSriEditModal(faSriKey){ $.ajax({ url: '/sri/sriEditModal', @@ -70,71 +72,71 @@ $(document).on('click', '#saveSriBtn', function (){ }) function saveSri(faSriState){ - if(faSriState == 'DST001'){ - if(confirm("임시저장하시겠습니까?")){ + if(faSriState === 'DST001'){ + if(confirm("임시저장하시겠습니까?")){ save(faSriState); } - + }else{ - if(contentCheck()){ + if(contentCheck()){ if(confirm("저장하시겠습니까?")){ - save(faSriState); + save(faSriState); } - } - } + } + } } function save(faSriState){ - $("#status").val(faSriState); - contentFade("in"); - const formData = new FormData($("#sriEditForm")[0]); - for(const file of files) { - if(!file.isDelete) - formData.append('uploadFiles', file, file.name); + $("#status").val(faSriState); + contentFade("in"); + const formData = new FormData($("#sriEditForm")[0]); + for(const file of files) { + if(!file.isDelete) + formData.append('uploadFiles', file, file.name); + } + formData.append('content', CrossEditor.GetBodyValue()); + $.each($(".readUserRow"), function (idx, row){ + formData.append('readUserList['+idx+'].userSeq', $(row).find('.userSeq').val()); + formData.append('readUserList['+idx+'].ogCd', $(row).find('.ogCd').val()); + formData.append('readUserList['+idx+'].ofcCd', $(row).find('.ofcCd').val()); + formData.append('readUserList['+idx+'].titleCd', $(row).find('.titleCd').val()); + formData.append('readUserList['+idx+'].userNm', $(row).find('.userNm').val()); + }); + $(".text-decoration-line-through").each(function (idx, el){ + formData.append('fileSeq', $(el).attr("data-fileseq")); + }) + $.ajax({ + type : 'POST', + data : formData, + url : "/sri/saveSri", + processData: false, + contentType: false, + success : function(result) { + if(faSriState == 'DST001'){ + alert("임시저장되었습니다."); + }else{ + alert("저장되었습니다."); } - formData.append('content', CrossEditor.GetBodyValue()); - $.each($(".readUserRow"), function (idx, row){ - formData.append('readUserList['+idx+'].userSeq', $(row).find('.userSeq').val()); - formData.append('readUserList['+idx+'].ogCd', $(row).find('.ogCd').val()); - formData.append('readUserList['+idx+'].ofcCd', $(row).find('.ofcCd').val()); - formData.append('readUserList['+idx+'].titleCd', $(row).find('.titleCd').val()); - formData.append('readUserList['+idx+'].userNm', $(row).find('.userNm').val()); - }); - $(".text-decoration-line-through").each(function (idx, el){ - formData.append('fileSeq', $(el).attr("data-fileseq")); - }) - $.ajax({ - type : 'POST', - data : formData, - url : "/sri/saveSri", - processData: false, - contentType: false, - success : function(result) { - if(faSriState == 'DST001'){ - alert("임시저장되었습니다."); - }else{ - alert("저장되었습니다."); - } - contentFade("out"); - $("#sriEditModal").modal('hide'); - getSriViewModal(result); - }, - error : function(xhr, status) { - if(faSriState == 'DST001'){ - alert("임시저장에 실패하였습니다.") - }else{ - alert("저장에 실패하였습니다.") - } - contentFade("out"); - } - }) + contentFade("out"); + $("#sriEditModal").modal('hide'); + getSriViewModal(result); + }, + error : function(xhr, status) { + if(faSriState == 'DST001'){ + alert("임시저장에 실패하였습니다.") + }else{ + alert("저장에 실패하였습니다.") + } + contentFade("out"); + } + }) } $(document).on('click', '.faSriTr', function (event){ const target = event.target; - if(!(target.className === "sriChk" ||$(target).parents("td").length>0)){ - getSriViewModal(Number($(this).find(".faSriKey").val())); - } + if(!(target.className === "sriChk" ||$(target).parents("td").length>0)){ + getSriViewModal(Number($(this).find(".faSriKey").val())); + } }) function getSriViewModal(faSriKey){ @@ -176,12 +178,7 @@ function OnInitCompleted(e){ $(document).on('click', '#reSendBtn', function (){ $("#sriViewModal").modal('hide'); const faSri = { - refKey: Number($(this).attr("data-fasrikey")), - wrtUserSeq: $("#wrtUserSeq").val(), - wrtOrgan: $("#wrtOrgan").val(), - wrtPart: $("#wrtPart").val(), - wrtTitle: $("#wrtTitle").val(), - wrtUserNm: $("#wrtUserNm").val() + refKey: Number($(this).attr("data-fasrikey")) } getSriEditModal(faSri); }) @@ -191,48 +188,48 @@ $(document).on('click', '#saveTempBtn', function (){ }) $(document).on('click', '#sriDeleteBtn', function (){ - if($('input:checkbox[name=sriChk]:checked').length < 1){ - alert("게시물을 선택해주세요"); - return false; - } - if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){ - const checkArr = []; - $('input:checkbox[name=sriChk]:checked').each(function (idx, el){ - checkArr.push({}); - const target = $(el); - checkArr[idx].faSriKey = Number(target.parents('tr').find('.faSriKey').val()); - }) - deleteSri(checkArr); + if($('input:checkbox[name=sriChk]:checked').length < 1){ + alert("게시물을 선택해주세요"); + return false; + } + if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){ + const checkArr = []; + $('input:checkbox[name=sriChk]:checked').each(function (idx, el){ + checkArr.push({}); + const target = $(el); + checkArr[idx].faSriKey = Number(target.parents('tr').find('.faSriKey').val()); + }) + deleteSri(checkArr); - } + } }) $(document).on('click', '#deleteSri', function (){ - if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){ - const checkArr = []; - checkArr.push({}); - checkArr[0].faSriKey = Number($(this).attr("data-fasrikey")); - deleteSri(checkArr); - } + if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){ + const checkArr = []; + checkArr.push({}); + checkArr[0].faSriKey = Number($(this).attr("data-fasrikey")); + deleteSri(checkArr); + } }) function deleteSri(checkArr){ - $.ajax({ - type : 'POST', - url : "/sri/sriDelete", - data : JSON.stringify(checkArr), - contentType: 'application/json', - beforeSend: function (xhr){ - xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); - }, - success : function() { - alert("삭제처리 되었습니다."); - location.reload(); - }, - error : function(xhr, status) { - alert("삭제처리에 실패하였습니다"); - } - }) + $.ajax({ + type : 'POST', + url : "/sri/sriDelete", + data : JSON.stringify(checkArr), + contentType: 'application/json', + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function() { + alert("삭제처리 되었습니다."); + location.reload(); + }, + error : function(xhr, status) { + alert("삭제처리에 실패하였습니다"); + } + }) } $(function(){ @@ -259,19 +256,23 @@ function setReadUserRowNum(){ } function contentCheck(){ - let flag = true; - if(!$("#faSriType").val()){ - alert("분류를 선택해주세요.") - flag = false; + if(!$("#refKey").val()){ + if(!$("#faSriType").val()){ + alert("분류를 선택해주세요.") + return false; + } + if(!$("#faSriEdate").val()){ + alert("제출기한을 선택해주세요.") + return false; + } } if(!$("#title").val()){ alert("제목을 입력해주세요.") - flag = false; + return false; } if($("#readUserRow").children().length===0){ alert("수신자를 입력해주세요.") - flag = false; + return false; } - flag = fileCheck(flag, files); - return flag; + return fileCheck(true, files); } \ No newline at end of file diff --git a/src/main/resources/templates/adminPage/authMgt/authEditModal.html b/src/main/resources/templates/adminPage/authMgt/authEditModal.html index bebb2585..6c405805 100644 --- a/src/main/resources/templates/adminPage/authMgt/authEditModal.html +++ b/src/main/resources/templates/adminPage/authMgt/authEditModal.html @@ -8,9 +8,9 @@ 대분류 중분류 소분류 - 해제 + 해제 - + @@ -54,9 +54,9 @@ 대분류 중분류 소분류 - 해제 + 해제 - + diff --git a/src/main/resources/templates/common/modal/crackdownStatusModal.html b/src/main/resources/templates/common/modal/crackdownStatusModal.html index b8061fcc..b8bd7dce 100644 --- a/src/main/resources/templates/common/modal/crackdownStatusModal.html +++ b/src/main/resources/templates/common/modal/crackdownStatusModal.html @@ -12,7 +12,7 @@
- +
diff --git a/src/main/resources/templates/common/modal/menuModal.html b/src/main/resources/templates/common/modal/menuModal.html index 0727ce63..57a36187 100644 --- a/src/main/resources/templates/common/modal/menuModal.html +++ b/src/main/resources/templates/common/modal/menuModal.html @@ -42,7 +42,7 @@
- +
diff --git a/src/main/resources/templates/common/modal/userModal.html b/src/main/resources/templates/common/modal/userModal.html index e41370ee..22c1bd51 100644 --- a/src/main/resources/templates/common/modal/userModal.html +++ b/src/main/resources/templates/common/modal/userModal.html @@ -33,7 +33,7 @@
- +
diff --git a/src/main/resources/templates/faStatistics/internationalCrimeArrest/internationalCrimeArrestEditModal.html b/src/main/resources/templates/faStatistics/internationalCrimeArrest/internationalCrimeArrestEditModal.html index 129a6458..a1aad7ea 100644 --- a/src/main/resources/templates/faStatistics/internationalCrimeArrest/internationalCrimeArrestEditModal.html +++ b/src/main/resources/templates/faStatistics/internationalCrimeArrest/internationalCrimeArrestEditModal.html @@ -14,19 +14,13 @@ -
- -
- -
-
-
- -
- -
-
-
- -
- -
- -
- -
-
-
- -
- -
- -
- -
- -
- -
-
-
- -
- -
+ + + + + + + +
diff --git a/src/main/resources/templates/sri/sriEditModal.html b/src/main/resources/templates/sri/sriEditModal.html index 71975ff7..443e32a4 100644 --- a/src/main/resources/templates/sri/sriEditModal.html +++ b/src/main/resources/templates/sri/sriEditModal.html @@ -14,7 +14,7 @@ - +
@@ -29,7 +29,7 @@
- +
- +
@@ -47,12 +47,7 @@
- - - - -
@@ -85,7 +80,11 @@
■ 수신자
-
+
+ + + +
no
diff --git a/src/main/resources/templates/sri/sriViewModal.html b/src/main/resources/templates/sri/sriViewModal.html index ef7e4131..ba3fe4d6 100644 --- a/src/main/resources/templates/sri/sriViewModal.html +++ b/src/main/resources/templates/sri/sriViewModal.html @@ -20,7 +20,7 @@
- +
- + + - +
- +
+ +
+
+
- + - - + +

- +
+ +
+
+ + + + +
+
@@ -128,7 +142,7 @@ - +