From 7f5a60560f298a04ade7f454c7dc935d32e0c6b4 Mon Sep 17 00:00:00 2001 From: TaehunPark Date: Mon, 19 Sep 2022 14:36:29 +0900 Subject: [PATCH] =?UTF-8?q?fix:=EB=AF=BC=EA=B0=84=ED=86=B5=EC=97=AD?= =?UTF-8?q?=EC=9D=B8=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../translator/TranslatorController.java | 90 ++++++++------ src/main/java/com/dbnt/faisp/util/Utils.java | 87 ++++++++++++++ .../mybatisMapper/TranslatorMapper.xml | 3 +- .../static/js/translator/translator.js | 112 +++++++++--------- .../templates/translator/translator.html | 14 +-- .../translator/translatorEditModal.html | 6 +- .../translator/translatorStatisticsLang.html | 4 +- 7 files changed, 207 insertions(+), 109 deletions(-) diff --git a/src/main/java/com/dbnt/faisp/translator/TranslatorController.java b/src/main/java/com/dbnt/faisp/translator/TranslatorController.java index f6966fe0..2a972775 100644 --- a/src/main/java/com/dbnt/faisp/translator/TranslatorController.java +++ b/src/main/java/com/dbnt/faisp/translator/TranslatorController.java @@ -31,8 +31,8 @@ public class TranslatorController { private final AuthMgtService authMgtService; private final TranslatorService translatorSevice; private final OrganConfigService organConfigService; - - + + @GetMapping("/info") public ModelAndView translatorInfo(@AuthenticationPrincipal UserInfo loginUser,Translator translator,HttpServletResponse response) { ModelAndView mav = new ModelAndView("translator/translator"); @@ -42,23 +42,23 @@ public class TranslatorController { translator.setOrganCdList(organConfigService.selectOrganListWhereUserOgCd(loginUser.getOgCd())); //엑셀다운 if(translator.getExcel() != null && translator.getExcel().equals("Y")){ - String[] headers = { "translator_key", "ogdp1", "tr_lang", "tr_career", "tr_name", "tr_age", "tr_nny", "tr_edu", "tr_cft", "dml_yn", "apt_dt", "tr_phone"}; - String[] headerNames = { "연번", "관서명", "언어", "경력", "성명", "나이", "국적", "학력", "자격증", "해촉", "위촉일", "연락처" }; - String[] columnType = { "String", "String", "String", "String", "String", "String", "String", "String", "String", "String", "String", "String"}; - String sheetName = "민간 통역인 현황"; - String excelFileName = "민간 통역인 현황"; - List translatorInfoList= translatorSevice.selectTranslatorListEx(translator); + String[] headers = { "translator_key", "ogdp1", "tr_lang", "tr_career", "tr_name", "tr_age", "tr_nny", "tr_edu", "tr_cft", "dml_yn", "apt_dt", "tr_phone"}; + String[] headerNames = { "연번", "관서명", "언어", "경력", "성명", "나이", "국적", "학력", "자격증", "해촉", "위촉일", "연락처" }; + String[] columnType = { "String", "String", "String", "String", "String", "String", "String", "String", "String", "String", "String", "String"}; + String sheetName = "민간 통역인 현황"; + String excelFileName = "민간 통역인 현황"; + List translatorInfoList= translatorSevice.selectTranslatorListEx(translator); - try { - Utils.listToExcel(translatorInfoList, response, headers, headerNames, columnType, sheetName, excelFileName); - } catch (IOException e) { - - } - return null; + try { + Utils.listToExcel(translatorInfoList, response, headers, headerNames, columnType, sheetName, excelFileName); + } catch (IOException e) { + + } + return null; } //메뉴권한 확인 String accessAuth = authMgtService.selectAccessConfigList(params).get(0).getAccessAuth(); - + mav.addObject("mgtOrganList", loginUser.getOrganCdList()); mav.addObject("accessAuth", accessAuth); translator.setQueryInfo(); @@ -68,14 +68,14 @@ public class TranslatorController { mav.addObject("searchParams", translator); return mav; } - + @PostMapping("/insertTranslatorInfo") public String insertTranslatorInfo(@AuthenticationPrincipal UserInfo loginUser,Translator translator) { - translator.setWrtNm(loginUser.getUserId()); - translator.setWrtOrgan(loginUser.getOgCd()); + translator.setWrtNm(loginUser.getUserId()); + translator.setWrtOrgan(loginUser.getOgCd()); return translatorSevice.insertTranslatorInfo(translator); } - + @GetMapping("/translatorEditModal") public ModelAndView translatorEditModal(@AuthenticationPrincipal UserInfo loginUser,Translator translator){ ModelAndView mav = new ModelAndView("translator/translatorEditModal"); @@ -88,28 +88,28 @@ public class TranslatorController { mav.addObject("accessAuth", accessAuth); return mav; } - + @PostMapping("/updateTranslatorInfo") public void updatetranslatorInfo(@AuthenticationPrincipal UserInfo loginUser,Translator translator) { - translator.setWrtNm(loginUser.getUserId()); - translator.setWrtOrgan(loginUser.getOgCd()); - translatorSevice.updatetranslatorInfo(translator); + translator.setWrtNm(loginUser.getUserId()); + translator.setWrtOrgan(loginUser.getOgCd()); + translatorSevice.updatetranslatorInfo(translator); } - + @GetMapping("/revisionHistory") public ModelAndView revisionHistory(Translator translator){ ModelAndView mav = new ModelAndView("translator/translatorHistory"); mav.addObject("HistoryList", translatorSevice.selectHistoryList(translator)); return mav; } - + @GetMapping("/HistoryView") @ResponseBody public Translator HistoryView(Translator translator){ return translatorSevice.HistoryView(translator); } - + @GetMapping("/careerView") public ModelAndView careerView(@AuthenticationPrincipal UserInfo loginUser,TranslatorCrr translatorCrr){ ModelAndView mav = new ModelAndView("translator/translatorCareerModal"); @@ -124,34 +124,34 @@ public class TranslatorController { mav.addObject("accessAuth", accessAuth); return mav; } - + @GetMapping("/careerInsertPage") public ModelAndView careerInsertPage(TranslatorCrr translatorCrr){ ModelAndView mav = new ModelAndView("translator/translatorCareerInsert"); mav.addObject("trKey", translatorCrr.getTranslatorKey()); return mav; } - + @PostMapping("/insertTranslatorCareer") @ResponseBody public int insertTranslatorCareer(@RequestBody List translatorCrr){ - int trKey = translatorSevice.insertTranslatorCareer(translatorCrr); + int trKey = translatorSevice.insertTranslatorCareer(translatorCrr); return trKey; } - + @PostMapping("/deleteCareer") @ResponseBody public int deleteCareer(@RequestBody TranslatorCrr translatorCrr) { - int trKey = translatorSevice.deleteCareer(translatorCrr); + int trKey = translatorSevice.deleteCareer(translatorCrr); return trKey; } - + @PostMapping("/deleteTranslatorInfo") @ResponseBody public void deleteTranslatorInfo(@RequestBody int trKey) { - translatorSevice.deleteTranslatorInfo(trKey); + translatorSevice.deleteTranslatorInfo(trKey); } - + @GetMapping("/statisticsLang") public ModelAndView statisticsLang() { ModelAndView mav = new ModelAndView("translator/translatorStatisticsLang"); @@ -159,8 +159,26 @@ public class TranslatorController { mav.addObject("total", translatorSevice.selectStatisticsLangTotal()); return mav; } + + @GetMapping("/statisticsExcelDown") + public void statisticsExcelDown(HttpServletResponse response) { + ParamMap total =translatorSevice.selectStatisticsLangTotal(); + String[] headers = { "rownum", "lang", "cnt_total", "cnt_center", "cnt_west", "cnt_south", "cnt_east", "cnt_jeju"}; + String[] headerNames = { "어권별 구분", "", "총계", "중부청", "서해청", "남해청", "동해청", "제주청"}; + String[] headerNames2 = { "연번", "계", ""+total.getInt("total_total")+"", ""+total.getInt("total_center")+"", ""+total.getInt("total_west")+"", ""+total.getInt("total_south")+"", ""+total.getInt("total_east")+"", ""+total.getInt("total_jeju")+""}; + String[] columnType = { "int", "String", "int", "int", "int", "int", "int", "int"}; + String sheetName = "어권별 현황 통계"; + String excelFileName = "어권별 현황 통계"; + List translatorInfoList= translatorSevice.selectStatisticsLangCnt(); - - + try { + Utils.downExcel(translatorInfoList, response, headers, headerNames,headerNames2, columnType, sheetName, excelFileName); + } catch (IOException e) { + + } + } + + + } diff --git a/src/main/java/com/dbnt/faisp/util/Utils.java b/src/main/java/com/dbnt/faisp/util/Utils.java index 7c0abc35..fac20757 100644 --- a/src/main/java/com/dbnt/faisp/util/Utils.java +++ b/src/main/java/com/dbnt/faisp/util/Utils.java @@ -37,6 +37,7 @@ import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.usermodel.XSSFDataFormat; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -186,6 +187,92 @@ public class Utils { } + public static void downExcel(List list, HttpServletResponse response, String[] headers, String[] headerNames,String[] headerNames2, String[] columnType, String sheetName, String excelFileName) throws IOException { + if(Utils.isNotEmpty(list)) { + // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. + XSSFWorkbook wb = new XSSFWorkbook(); + Sheet sheet = wb.createSheet(sheetName); + Row headerRow = sheet.createRow(0); + Row headerRow2 = sheet.createRow(1); + CellStyle cellStyle1 = wb.createCellStyle(); //쉼표들어간 숫자 양식 + CellStyle cellStyle2 = wb.createCellStyle(); //숫자양식 + CellStyle headerStyle = wb.createCellStyle(); //숫자양식 + CellStyle headerStyle2 = wb.createCellStyle(); + + XSSFDataFormat format = wb.createDataFormat(); + cellStyle1.setDataFormat(format.getFormat("#,##0")); + cellStyle2.setDataFormat(format.getFormat("#,##0")); + cellStyle2.setAlignment(HorizontalAlignment.CENTER); + headerStyle2.setAlignment(HorizontalAlignment.CENTER); + headerStyle.setAlignment(HorizontalAlignment.CENTER); + headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); + headerStyle.setFillForegroundColor((short)3); + headerStyle.setFillForegroundColor(IndexedColors.LIME.getIndex()); + + //로우그리기 + for(int i=0; i"); + out.write(""); + out.write(""); + out.write(""); + out.write(""); + out.write(""); + + out.flush(); + out.close(); + } + + } + diff --git a/src/main/resources/mybatisMapper/TranslatorMapper.xml b/src/main/resources/mybatisMapper/TranslatorMapper.xml index f1acb2af..c19ff1af 100644 --- a/src/main/resources/mybatisMapper/TranslatorMapper.xml +++ b/src/main/resources/mybatisMapper/TranslatorMapper.xml @@ -170,7 +170,8 @@ + + + - -

경력사항

-
-
- -
-
+