From 57a806f094f9381db544a12eab0e1b32585c0898 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Thu, 16 Mar 2023 18:52:42 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9B=94=EA=B0=84=EA=B3=84=ED=9A=8D=20?= =?UTF-8?q?=EB=A6=AC=ED=8F=AC=ED=8C=85=ED=88=B4=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dbnt/faisp/config/BaseController.java | 20 +- .../fpiMgt/affairPlan/PlanController.java | 15 + src/main/java/com/dbnt/faisp/util/Utils.java | 1942 +++++++++-------- src/main/resources/application-dev.properties | 1 + .../resources/application-test1.properties | 1 + .../resources/application-test2.properties | 1 + .../resources/application-was1.properties | 1 + .../resources/application-was2.properties | 1 + .../js/igActivities/fpiMgt/plan/planMgt.js | 78 +- .../fpiMgt/affairPlan/planEditModal.html | 4 +- .../fpiMgt/affairPlan/planViewModal.html | 14 +- .../resources/templates/layout/layout.html | 122 +- 12 files changed, 1147 insertions(+), 1053 deletions(-) diff --git a/src/main/java/com/dbnt/faisp/config/BaseController.java b/src/main/java/com/dbnt/faisp/config/BaseController.java index fc109ad7..be0a0207 100644 --- a/src/main/java/com/dbnt/faisp/config/BaseController.java +++ b/src/main/java/com/dbnt/faisp/config/BaseController.java @@ -17,6 +17,7 @@ import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; import com.dbnt.faisp.main.userInfo.service.UserAlarmService; import com.dbnt.faisp.main.userInfo.service.UserInfoService; +import com.dbnt.faisp.util.Utils; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.GetMapping; @@ -131,22 +132,11 @@ public class BaseController { session.setAttribute("userSeq", loginUser.getUserSeq()); session.setAttribute("userOrgan", loginUser.getOgCd()); String belongValue = ""; - belongValue += searchCodeValue(loginUser.getOgCd(), codeMap.get("OG")); - belongValue += searchCodeValue(loginUser.getOfcCd(), codeMap.get(loginUser.getOgCd())); - belongValue += searchCodeValue(loginUser.getTitleCd(), codeMap.get("JT")); + belongValue += Utils.searchCodeValue(loginUser.getOgCd(), codeMap.get("OG")); + belongValue += Utils.searchCodeValue(loginUser.getOfcCd(), codeMap.get(loginUser.getOgCd())); + belongValue += Utils.searchCodeValue(loginUser.getTitleCd(), codeMap.get("JT")); belongValue += loginUser.getUserNm()+"("+loginUser.getUserId()+")"; session.setAttribute("belongValue", belongValue); } - private String searchCodeValue(String itemCd, List codeList){ - if(itemCd==null){ - return ""; - }else{ - for(CodeMgt code: codeList){ - if(itemCd.equals(code.getItemCd())){ - return code.getItemValue()+" "; - } - } - } - return ""; - } + } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/affairPlan/PlanController.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/affairPlan/PlanController.java index 3725c8d3..d02527ae 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/affairPlan/PlanController.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/affairPlan/PlanController.java @@ -1,18 +1,22 @@ package com.dbnt.faisp.main.fpiMgt.affairPlan; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; +import com.dbnt.faisp.main.codeMgt.model.CodeMgt; import com.dbnt.faisp.main.fpiMgt.affairPlan.model.PlanApprv; import com.dbnt.faisp.main.fpiMgt.affairPlan.model.PlanBoard; import com.dbnt.faisp.main.fpiMgt.affairPlan.service.PlanService; import com.dbnt.faisp.main.userInfo.model.UserInfo; +import com.dbnt.faisp.util.Utils; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpSession; import java.time.LocalDateTime; import java.util.List; +import java.util.Map; @RestController @RequiredArgsConstructor @@ -176,6 +180,7 @@ public class PlanController { // 첩보수집활동 > 외사경찰 견문관리 planBoard = planService.selectPlanBoard(planBoard.getPlanKey()); mav.addObject("plan", planBoard); mav.addObject("userSeq",loginUser.getUserSeq()); + mav.addObject("lineSeparator", '\n'); //메뉴권한 확인 mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getAccessAuth()); mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/affairPlan/planMgt").get(0).getApprovalAuth()); @@ -201,4 +206,14 @@ public class PlanController { // 첩보수집활동 > 외사경찰 견문관리 apprv.setSaveDt(LocalDateTime.now()); return planService.planStateChange(apprv); } + + @GetMapping("/planBoardJson") + public PlanBoard planBoardJson(PlanBoard planBoard, HttpSession session){ + planBoard = planService.selectPlanBoard(planBoard.getPlanKey()); + Map> codeMap = (Map>) session.getAttribute("commonCode"); + planBoard.setWrtPart(Utils.searchCodeValue(planBoard.getWrtPart(), codeMap.get(planBoard.getWrtOrgan()))); + planBoard.setWrtOrgan(Utils.searchCodeValue(planBoard.getWrtOrgan(), codeMap.get("OG"))); + planBoard.setWrtUserGrd(Utils.searchCodeValue(planBoard.getWrtUserGrd(), codeMap.get("JT"))); + return planBoard; + } } diff --git a/src/main/java/com/dbnt/faisp/util/Utils.java b/src/main/java/com/dbnt/faisp/util/Utils.java index 2ea08384..f4ff230d 100644 --- a/src/main/java/com/dbnt/faisp/util/Utils.java +++ b/src/main/java/com/dbnt/faisp/util/Utils.java @@ -38,1028 +38,1028 @@ import org.springframework.beans.BeanWrapperImpl; public class Utils { - - public static boolean isEmpty(final Object obj) { - return !isNotEmpty(obj); - } - public static boolean isNotEmpty(final Object obj) { - if(null == obj) return false; - else { - if(obj instanceof String) return "".equals(obj) ? false : true; - else if(obj instanceof List) return !((List)obj).isEmpty(); - else if(obj instanceof Map) return !((Map)obj).isEmpty(); + public static boolean isEmpty(final Object obj) { + return !isNotEmpty(obj); + } + + public static boolean isNotEmpty(final Object obj) { + if(null == obj) return false; + else { + if(obj instanceof String) return "".equals(obj) ? false : true; + else if(obj instanceof List) return !((List)obj).isEmpty(); + else if(obj instanceof Map) return !((Map)obj).isEmpty(); // else if(obj instanceof Object[]) return 0 == Array.getLength(obj) ? false : true; - else if(obj instanceof Integer) return !(null == obj); - else if(obj instanceof Long) return !(null == obj); - else return false; - } - } - - public static String getTimeStampString(final String format) { - return getTimeStampString(new Date(), format); + else if(obj instanceof Integer) return !(null == obj); + else if(obj instanceof Long) return !(null == obj); + else return false; } - - public static String getTimeStampString(final Date date) { - return getTimeStampString(date, "yyyyMMddHHmmss"); - } - - public static String getTimeStampString(final Date date, final String format){ - java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat (format, java.util.Locale.KOREA); - return formatter.format(date); + } + + public static String getTimeStampString(final String format) { + return getTimeStampString(new Date(), format); + } + + public static String getTimeStampString(final Date date) { + return getTimeStampString(date, "yyyyMMddHHmmss"); + } + + public static String getTimeStampString(final Date date, final String format){ + java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat (format, java.util.Locale.KOREA); + return formatter.format(date); + } + + public static String getTimeStampString(String date, final String format) { + try { + if(null == date || "".equals(date)) return ""; + + Date d = null; + date= date.replaceAll("-", ""); + + switch(date.length()) { + case 14: break; + case 12: date += "00"; break; + case 10: date += "0000"; break; + case 8: date += "000000"; break; + case 6: date += "01000000"; break; + case 4: date += "0101000000"; break; + default: return ""; + } + + java.text.SimpleDateFormat tmpFormat = new java.text.SimpleDateFormat("yyyyMMddHHmmss", java.util.Locale.KOREA); + + if("".equals(date)) d = new Date(); + else { + tmpFormat.setLenient(true); + d = tmpFormat.parse(date); + } + + return getTimeStampString(d, format); + } catch(Exception e) { + e.printStackTrace(); + return ""; } - - public static String getTimeStampString(String date, final String format) { - try { - if(null == date || "".equals(date)) return ""; - - Date d = null; - date= date.replaceAll("-", ""); - - switch(date.length()) { - case 14: break; - case 12: date += "00"; break; - case 10: date += "0000"; break; - case 8: date += "000000"; break; - case 6: date += "01000000"; break; - case 4: date += "0101000000"; break; - default: return ""; - } - - java.text.SimpleDateFormat tmpFormat = new java.text.SimpleDateFormat("yyyyMMddHHmmss", java.util.Locale.KOREA); + } - if("".equals(date)) d = new Date(); - else { - tmpFormat.setLenient(true); - d = tmpFormat.parse(date); - } - - return getTimeStampString(d, format); - } catch(Exception e) { - e.printStackTrace(); - return ""; - } + public static String getFileExtention(final String filename) { + if(null == filename || "".equals(filename)) return ""; + + return -1 < filename.lastIndexOf(".") ? filename.substring(filename.lastIndexOf(".") + 1).toLowerCase() : ""; + } + + public static String generationSaveName() { + try { + Thread.sleep(100); + } catch (InterruptedException e) { + e.printStackTrace(); } - - public static String getFileExtention(final String filename) { - if(null == filename || "".equals(filename)) return ""; - - return -1 < filename.lastIndexOf(".") ? filename.substring(filename.lastIndexOf(".") + 1).toLowerCase() : ""; + return Utils.getTimeStampString("yyyyMMdd_HHmmss_SSS"); + } + + public static void listToExcel(List list, HttpServletResponse response, String[] headers, String[] headerNames, 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); + CellStyle cellStyle1 = wb.createCellStyle(); //쉼표들어간 숫자 양식 + CellStyle cellStyle2 = wb.createCellStyle(); //숫자양식 + CellStyle headerStyle = wb.createCellStyle(); //숫자양식 + + XSSFDataFormat format = wb.createDataFormat(); + cellStyle1.setDataFormat(format.getFormat("#,##0")); + cellStyle2.setDataFormat(format.getFormat("#")); + headerStyle.setAlignment(HorizontalAlignment.CENTER); + headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); + headerStyle.setFillForegroundColor((short)3); + headerStyle.setFillForegroundColor(IndexedColors.LIME.getIndex()); + + for(int i=0; i list, HttpServletResponse response, String[] headers, String[] headerNames, 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); - CellStyle cellStyle1 = wb.createCellStyle(); //쉼표들어간 숫자 양식 - CellStyle cellStyle2 = wb.createCellStyle(); //숫자양식 - CellStyle headerStyle = wb.createCellStyle(); //숫자양식 - - XSSFDataFormat format = wb.createDataFormat(); - cellStyle1.setDataFormat(format.getFormat("#,##0")); - cellStyle2.setDataFormat(format.getFormat("#")); - headerStyle.setAlignment(HorizontalAlignment.CENTER); - headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle.setFillForegroundColor((short)3); - headerStyle.setFillForegroundColor(IndexedColors.LIME.getIndex()); - - for(int i=0; i 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 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(); - if(columnType[j].equalsIgnoreCase("Int")) { - cell.setCellValue(rowData.getInt(headers[j])); - cell.setCellStyle(cellStyle2); - } else if(columnType[j].equalsIgnoreCase("String")) { - cell.setCellValue(rowData.getString(headers[j])); - } else { - cell.setCellValue(rowData.getString(headers[j])); - } - } - } - - //헤더 - for(int j=0; j 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(); - CellStyle headerStyle3 = wb.createCellStyle(); - - XSSFDataFormat format = wb.createDataFormat(); - cellStyle1.setDataFormat(format.getFormat("#,##0")); - cellStyle2.setDataFormat(format.getFormat("#,##0")); - cellStyle2.setAlignment(HorizontalAlignment.CENTER); - headerStyle2.setBorderTop(BorderStyle.THIN); - headerStyle2.setBorderBottom(BorderStyle.THIN); - headerStyle2.setBorderLeft(BorderStyle.THIN); - headerStyle2.setBorderRight(BorderStyle.THIN); - headerStyle2.setAlignment(HorizontalAlignment.CENTER); - headerStyle2.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle2.setFillForegroundColor((short)3); - headerStyle2.setFillForegroundColor(IndexedColors.LIME.getIndex()); - headerStyle.setAlignment(HorizontalAlignment.CENTER); - headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle.setFillForegroundColor((short)3); - headerStyle.setFillForegroundColor(IndexedColors.LIME.getIndex()); - headerStyle3.setBorderTop(BorderStyle.THIN); - headerStyle3.setBorderBottom(BorderStyle.THIN); - headerStyle3.setBorderLeft(BorderStyle.THIN); - headerStyle3.setBorderRight(BorderStyle.THIN); - headerStyle3.setAlignment(HorizontalAlignment.CENTER); - headerStyle3.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle3.setFillForegroundColor((short)3); - headerStyle3.setFillForegroundColor(IndexedColors.LIME.getIndex()); - - - //로우그리기 - for(int i=0; i partInfoList, HttpServletResponse response, String[] headers, - String[] headerNames,String[] headerNames2,String[] headerNames3, String[] columnType, String sheetName, String excelFileName) throws IOException { - if(Utils.isNotEmpty(partInfoList)) { - // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. - XSSFWorkbook wb = new XSSFWorkbook(); - Sheet sheet = wb.createSheet(sheetName); - Row headerRow = sheet.createRow(0); - Row headerRow2 = sheet.createRow(1); - Row headerRow3 = sheet.createRow(2); - CellStyle cellStyle1 = wb.createCellStyle(); //쉼표들어간 숫자 양식 - CellStyle cellStyle2 = wb.createCellStyle(); //숫자양식 - CellStyle headerStyle = wb.createCellStyle(); //숫자양식 - CellStyle headerStyle2 = wb.createCellStyle(); - CellStyle headerStyle3 = wb.createCellStyle(); - - XSSFDataFormat format = wb.createDataFormat(); - cellStyle1.setAlignment(HorizontalAlignment.CENTER); - cellStyle2.setDataFormat(format.getFormat("#,##0")); - cellStyle2.setAlignment(HorizontalAlignment.CENTER); - headerStyle2.setBorderTop(BorderStyle.THIN); - headerStyle2.setBorderBottom(BorderStyle.THIN); - headerStyle2.setBorderLeft(BorderStyle.THIN); - headerStyle2.setBorderRight(BorderStyle.THIN); - headerStyle2.setAlignment(HorizontalAlignment.CENTER); - headerStyle2.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle2.setFillForegroundColor((short)3); - headerStyle2.setFillForegroundColor(IndexedColors.LIME.getIndex()); - headerStyle.setAlignment(HorizontalAlignment.CENTER); - headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle.setFillForegroundColor((short)3); - headerStyle.setFillForegroundColor(IndexedColors.LIME.getIndex()); - headerStyle3.setBorderTop(BorderStyle.THIN); - headerStyle3.setBorderBottom(BorderStyle.THIN); - headerStyle3.setBorderLeft(BorderStyle.THIN); - headerStyle3.setBorderRight(BorderStyle.THIN); - headerStyle3.setAlignment(HorizontalAlignment.CENTER); - headerStyle3.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle3.setFillForegroundColor((short)3); - headerStyle3.setFillForegroundColor(IndexedColors.LIME.getIndex()); - - //로우그리기 - for(int i=0; i partWorkList, List pwtList, HttpServletResponse response, String[] headers, + public static void downEquipStatusExcel(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(); + CellStyle headerStyle3 = wb.createCellStyle(); + + XSSFDataFormat format = wb.createDataFormat(); + cellStyle1.setDataFormat(format.getFormat("#,##0")); + cellStyle2.setDataFormat(format.getFormat("#,##0")); + cellStyle2.setAlignment(HorizontalAlignment.CENTER); + headerStyle2.setBorderTop(BorderStyle.THIN); + headerStyle2.setBorderBottom(BorderStyle.THIN); + headerStyle2.setBorderLeft(BorderStyle.THIN); + headerStyle2.setBorderRight(BorderStyle.THIN); + headerStyle2.setAlignment(HorizontalAlignment.CENTER); + headerStyle2.setFillPattern(FillPatternType.SOLID_FOREGROUND); + headerStyle2.setFillForegroundColor((short)3); + headerStyle2.setFillForegroundColor(IndexedColors.LIME.getIndex()); + headerStyle.setAlignment(HorizontalAlignment.CENTER); + headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); + headerStyle.setFillForegroundColor((short)3); + headerStyle.setFillForegroundColor(IndexedColors.LIME.getIndex()); + headerStyle3.setBorderTop(BorderStyle.THIN); + headerStyle3.setBorderBottom(BorderStyle.THIN); + headerStyle3.setBorderLeft(BorderStyle.THIN); + headerStyle3.setBorderRight(BorderStyle.THIN); + headerStyle3.setAlignment(HorizontalAlignment.CENTER); + headerStyle3.setFillPattern(FillPatternType.SOLID_FOREGROUND); + headerStyle3.setFillForegroundColor((short)3); + headerStyle3.setFillForegroundColor(IndexedColors.LIME.getIndex()); + + + //로우그리기 + for(int i=0; i partInfoList, HttpServletResponse response, String[] headers, + String[] headerNames,String[] headerNames2,String[] headerNames3, String[] columnType, String sheetName, String excelFileName) throws IOException { + if(Utils.isNotEmpty(partInfoList)) { + // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. + XSSFWorkbook wb = new XSSFWorkbook(); + Sheet sheet = wb.createSheet(sheetName); + Row headerRow = sheet.createRow(0); + Row headerRow2 = sheet.createRow(1); + Row headerRow3 = sheet.createRow(2); + CellStyle cellStyle1 = wb.createCellStyle(); //쉼표들어간 숫자 양식 + CellStyle cellStyle2 = wb.createCellStyle(); //숫자양식 + CellStyle headerStyle = wb.createCellStyle(); //숫자양식 + CellStyle headerStyle2 = wb.createCellStyle(); + CellStyle headerStyle3 = wb.createCellStyle(); + + XSSFDataFormat format = wb.createDataFormat(); + cellStyle1.setAlignment(HorizontalAlignment.CENTER); + cellStyle2.setDataFormat(format.getFormat("#,##0")); + cellStyle2.setAlignment(HorizontalAlignment.CENTER); + headerStyle2.setBorderTop(BorderStyle.THIN); + headerStyle2.setBorderBottom(BorderStyle.THIN); + headerStyle2.setBorderLeft(BorderStyle.THIN); + headerStyle2.setBorderRight(BorderStyle.THIN); + headerStyle2.setAlignment(HorizontalAlignment.CENTER); + headerStyle2.setFillPattern(FillPatternType.SOLID_FOREGROUND); + headerStyle2.setFillForegroundColor((short)3); + headerStyle2.setFillForegroundColor(IndexedColors.LIME.getIndex()); + headerStyle.setAlignment(HorizontalAlignment.CENTER); + headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); + headerStyle.setFillForegroundColor((short)3); + headerStyle.setFillForegroundColor(IndexedColors.LIME.getIndex()); + headerStyle3.setBorderTop(BorderStyle.THIN); + headerStyle3.setBorderBottom(BorderStyle.THIN); + headerStyle3.setBorderLeft(BorderStyle.THIN); + headerStyle3.setBorderRight(BorderStyle.THIN); + headerStyle3.setAlignment(HorizontalAlignment.CENTER); + headerStyle3.setFillPattern(FillPatternType.SOLID_FOREGROUND); + headerStyle3.setFillForegroundColor((short)3); + headerStyle3.setFillForegroundColor(IndexedColors.LIME.getIndex()); + + //로우그리기 + for(int i=0; i partWorkList, List pwtList, HttpServletResponse response, String[] headers, String[] headerNames, String[] headerNames2, String[] columnType, String sheetName, String excelFileName) throws IOException { - if(Utils.isNotEmpty(partWorkList)) { - // 메모리에 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(); - CellStyle headerStyle3 = wb.createCellStyle(); - - XSSFDataFormat format = wb.createDataFormat(); - cellStyle1.setAlignment(HorizontalAlignment.CENTER); - cellStyle2.setDataFormat(format.getFormat("#,##0")); - cellStyle2.setAlignment(HorizontalAlignment.CENTER); - headerStyle2.setBorderTop(BorderStyle.THIN); - headerStyle2.setBorderBottom(BorderStyle.THIN); - headerStyle2.setBorderLeft(BorderStyle.THIN); - headerStyle2.setBorderRight(BorderStyle.THIN); - headerStyle2.setAlignment(HorizontalAlignment.CENTER); - headerStyle2.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle2.setFillForegroundColor((short)3); - headerStyle2.setFillForegroundColor(IndexedColors.LIME.getIndex()); - headerStyle.setAlignment(HorizontalAlignment.CENTER); - headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle.setFillForegroundColor((short)3); - headerStyle.setFillForegroundColor(IndexedColors.LIME.getIndex()); - headerStyle3.setBorderTop(BorderStyle.THIN); - headerStyle3.setBorderBottom(BorderStyle.THIN); - headerStyle3.setBorderLeft(BorderStyle.THIN); - headerStyle3.setBorderRight(BorderStyle.THIN); - headerStyle3.setAlignment(HorizontalAlignment.CENTER); - headerStyle3.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle3.setFillForegroundColor((short)3); - headerStyle3.setFillForegroundColor(IndexedColors.LIME.getIndex()); - //로우그리기 - for(int i=0; i cellPhoneList, HttpServletResponse response, - String[] headers, String[] headerNames, String[] columnType, String sheetName, String excelFileName) throws IOException { - if(Utils.isNotEmpty(cellPhoneList)) { - // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. - XSSFWorkbook wb = new XSSFWorkbook(); - Sheet sheet = wb.createSheet(sheetName); - Row headerRow = sheet.createRow(0); - CellStyle cellStyle1 = wb.createCellStyle(); //쉼표들어간 숫자 양식 - CellStyle cellStyle2 = wb.createCellStyle(); //숫자양식 - CellStyle headerStyle = wb.createCellStyle(); //숫자양식 - CellStyle headerStyle2 = wb.createCellStyle(); - CellStyle headerStyle3 = wb.createCellStyle(); - - XSSFDataFormat format = wb.createDataFormat(); - cellStyle1.setAlignment(HorizontalAlignment.CENTER); - cellStyle2.setDataFormat(format.getFormat("#,##0")); - cellStyle2.setAlignment(HorizontalAlignment.CENTER); - headerStyle2.setBorderTop(BorderStyle.THIN); - headerStyle2.setBorderBottom(BorderStyle.THIN); - headerStyle2.setBorderLeft(BorderStyle.THIN); - headerStyle2.setBorderRight(BorderStyle.THIN); - headerStyle2.setAlignment(HorizontalAlignment.CENTER); - headerStyle2.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle2.setFillForegroundColor((short)3); - headerStyle2.setFillForegroundColor(IndexedColors.LIME.getIndex()); - headerStyle.setAlignment(HorizontalAlignment.CENTER); - headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle.setFillForegroundColor((short)3); - headerStyle.setFillForegroundColor(IndexedColors.LIME.getIndex()); - headerStyle3.setBorderTop(BorderStyle.THIN); - headerStyle3.setBorderBottom(BorderStyle.THIN); - headerStyle3.setBorderLeft(BorderStyle.THIN); - headerStyle3.setBorderRight(BorderStyle.THIN); - headerStyle3.setAlignment(HorizontalAlignment.CENTER); - headerStyle3.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle3.setFillForegroundColor((short)3); - headerStyle3.setFillForegroundColor(IndexedColors.LIME.getIndex()); - //로우그리기 - for(int i=0; i useExcelList, HttpServletResponse response, String[] headers, - String[] headerNames, String[] columnType, String sheetName, String excelFileName) throws IOException { - if(Utils.isNotEmpty(useExcelList)) { - // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. - XSSFWorkbook wb = new XSSFWorkbook(); - Sheet sheet = wb.createSheet(sheetName); - Row headerRow = sheet.createRow(0); - CellStyle cellStyle1 = wb.createCellStyle(); //쉼표들어간 숫자 양식 - CellStyle cellStyle2 = wb.createCellStyle(); //숫자양식 - CellStyle headerStyle = wb.createCellStyle(); //숫자양식 - CellStyle headerStyle2 = wb.createCellStyle(); - CellStyle headerStyle3 = wb.createCellStyle(); - - XSSFDataFormat format = wb.createDataFormat(); - cellStyle1.setAlignment(HorizontalAlignment.CENTER); - cellStyle2.setDataFormat(format.getFormat("#,##0")); - cellStyle2.setAlignment(HorizontalAlignment.CENTER); - headerStyle2.setBorderTop(BorderStyle.THIN); - headerStyle2.setBorderBottom(BorderStyle.THIN); - headerStyle2.setBorderLeft(BorderStyle.THIN); - headerStyle2.setBorderRight(BorderStyle.THIN); - headerStyle2.setAlignment(HorizontalAlignment.CENTER); - headerStyle2.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle2.setFillForegroundColor((short)3); - headerStyle2.setFillForegroundColor(IndexedColors.LIME.getIndex()); - headerStyle.setAlignment(HorizontalAlignment.CENTER); - headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle.setFillForegroundColor((short)3); - headerStyle.setFillForegroundColor(IndexedColors.LIME.getIndex()); - headerStyle3.setBorderTop(BorderStyle.THIN); - headerStyle3.setBorderBottom(BorderStyle.THIN); - headerStyle3.setBorderLeft(BorderStyle.THIN); - headerStyle3.setBorderRight(BorderStyle.THIN); - headerStyle3.setAlignment(HorizontalAlignment.CENTER); - headerStyle3.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle3.setFillForegroundColor((short)3); - headerStyle3.setFillForegroundColor(IndexedColors.LIME.getIndex()); - //로우그리기 - for(int i=0; i cellPhoneList, HttpServletResponse response, + String[] headers, String[] headerNames, String[] columnType, String sheetName, String excelFileName) throws IOException { + if(Utils.isNotEmpty(cellPhoneList)) { + // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. + XSSFWorkbook wb = new XSSFWorkbook(); + Sheet sheet = wb.createSheet(sheetName); + Row headerRow = sheet.createRow(0); + CellStyle cellStyle1 = wb.createCellStyle(); //쉼표들어간 숫자 양식 + CellStyle cellStyle2 = wb.createCellStyle(); //숫자양식 + CellStyle headerStyle = wb.createCellStyle(); //숫자양식 + CellStyle headerStyle2 = wb.createCellStyle(); + CellStyle headerStyle3 = wb.createCellStyle(); - // 헤더 생성 - createHeader(excel, excel.getHeaderNames(), excel.getHeaderStyle(), 0); + XSSFDataFormat format = wb.createDataFormat(); + cellStyle1.setAlignment(HorizontalAlignment.CENTER); + cellStyle2.setDataFormat(format.getFormat("#,##0")); + cellStyle2.setAlignment(HorizontalAlignment.CENTER); + headerStyle2.setBorderTop(BorderStyle.THIN); + headerStyle2.setBorderBottom(BorderStyle.THIN); + headerStyle2.setBorderLeft(BorderStyle.THIN); + headerStyle2.setBorderRight(BorderStyle.THIN); + headerStyle2.setAlignment(HorizontalAlignment.CENTER); + headerStyle2.setFillPattern(FillPatternType.SOLID_FOREGROUND); + headerStyle2.setFillForegroundColor((short)3); + headerStyle2.setFillForegroundColor(IndexedColors.LIME.getIndex()); + headerStyle.setAlignment(HorizontalAlignment.CENTER); + headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); + headerStyle.setFillForegroundColor((short)3); + headerStyle.setFillForegroundColor(IndexedColors.LIME.getIndex()); + headerStyle3.setBorderTop(BorderStyle.THIN); + headerStyle3.setBorderBottom(BorderStyle.THIN); + headerStyle3.setBorderLeft(BorderStyle.THIN); + headerStyle3.setBorderRight(BorderStyle.THIN); + headerStyle3.setAlignment(HorizontalAlignment.CENTER); + headerStyle3.setFillPattern(FillPatternType.SOLID_FOREGROUND); + headerStyle3.setFillForegroundColor((short)3); + headerStyle3.setFillForegroundColor(IndexedColors.LIME.getIndex()); + //로우그리기 + for(int i=0; i"); - out.write(""); - out.write(""); - out.write(""); - out.write(""); - out.write(""); + //헤더 + for(int j=0; j 0) { - excel.setHeaderRow(excel.getSheet().createRow(index)); - for(int j=0; j< headerNames.length; j++) { - Cell cell = excel.getHeaderRow().createCell(j); - cell.setCellValue(headerNames[j]); - cell.setCellStyle(headerStyle); - excel.getSheet().autoSizeColumn(j); - excel.getSheet().setColumnWidth(j, (excel.getSheet().getColumnWidth(j)) + 1024); - } - } - } + } - private static void rowCreate(Excel excel, int rownum, int startIndex, int endIndex){ - int mergeCount = 1; - boolean mergeCheck = false; + public static void useListToExcel(List useExcelList, HttpServletResponse response, String[] headers, + String[] headerNames, String[] columnType, String sheetName, String excelFileName) throws IOException { + if(Utils.isNotEmpty(useExcelList)) { + // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. + XSSFWorkbook wb = new XSSFWorkbook(); + Sheet sheet = wb.createSheet(sheetName); + Row headerRow = sheet.createRow(0); + CellStyle cellStyle1 = wb.createCellStyle(); //쉼표들어간 숫자 양식 + CellStyle cellStyle2 = wb.createCellStyle(); //숫자양식 + CellStyle headerStyle = wb.createCellStyle(); //숫자양식 + CellStyle headerStyle2 = wb.createCellStyle(); + CellStyle headerStyle3 = wb.createCellStyle(); - for(int i=0; i 0 && j > 0) { - if (rowData.get(excel.getHeaders()[0]).equals(excel.getList().get(i-1).get(excel.getHeaders()[0])) && !(j >= startIndex && j <= endIndex)) { - if (i < excel.getList().size()-1 && rowData.get(excel.getHeaders()[0]).equals(excel.getList().get(i+1).get(excel.getHeaders()[0]))) { - mergeCheck = true; - } else { - excel.getSheet().addMergedRegion(new CellRangeAddress(i+rownum-mergeCount, i+rownum, j, j)); - mergeCheck = false; - } - } - } + } - if(excel.getColumnType()[j].equalsIgnoreCase("Money")) { - cell.setCellValue(rowData.getInt(excel.getHeaders()[j])); - cell.setCellStyle(excel.getCellStyle1()); - } else if(excel.getColumnType()[j].equalsIgnoreCase("Int")) { - cell.setCellValue(rowData.getInt(excel.getHeaders()[j])); - cell.setCellStyle(excel.getCellStyle2()); - } else if(excel.getColumnType()[j].equalsIgnoreCase("String")) { - cell.setCellValue(rowData.getString(excel.getHeaders()[j])); - } else { - cell.setCellValue(rowData.getString(excel.getHeaders()[j])); - } - } - } - } + //헤더 + for(int j=0; j ipShipList, HttpServletResponse response, String[] headers, - String[] headerNames, String[] columnType, String sheetName, String excelFileName) throws IOException { - DecimalFormat formatter3 = new DecimalFormat("#,##0.####"); - if(Utils.isNotEmpty(ipShipList)) { - // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. - XSSFWorkbook wb = new XSSFWorkbook(); - Sheet sheet = wb.createSheet(sheetName); - Row headerRow = sheet.createRow(0); - CellStyle cellStyle1 = wb.createCellStyle(); //쉼표들어간 숫자 양식 - CellStyle cellStyle2 = wb.createCellStyle(); - CellStyle cellStyle3 = wb.createCellStyle();//숫자양식 - CellStyle headerStyle = wb.createCellStyle(); //숫자양식 - - XSSFDataFormat format = wb.createDataFormat(); - cellStyle1.setDataFormat(format.getFormat("#,##0")); - cellStyle2.setDataFormat(format.getFormat("#,##0")); - cellStyle3.setWrapText(true); - cellStyle1.setAlignment(HorizontalAlignment.CENTER); - cellStyle2.setAlignment(HorizontalAlignment.CENTER); - cellStyle3.setAlignment(HorizontalAlignment.CENTER); - headerStyle.setAlignment(HorizontalAlignment.CENTER); - headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle.setFillForegroundColor((short)3); - headerStyle.setFillForegroundColor(IndexedColors.LIME.getIndex()); - headerStyle.setWrapText(true); - - //로우그리기 - for(int i=0; i emptyNames = new HashSet<>(); - for(java.beans.PropertyDescriptor pd : pds) { - Object srcValue = src.getPropertyValue(pd.getName()); - if (srcValue == null) emptyNames.add(pd.getName()); - } - String[] result = new String[emptyNames.size()]; - return emptyNames.toArray(result); - } + XSSFDataFormat format = wb.createDataFormat(); + excel.getCellStyle1().setDataFormat(format.getFormat("#,##0")); + excel.getCellStyle2().setDataFormat(format.getFormat("#")); + excel.getHeaderStyle().setAlignment(HorizontalAlignment.CENTER); + excel.getHeaderStyle().setFillPattern(FillPatternType.SOLID_FOREGROUND); + excel.getHeaderStyle().setFillForegroundColor((short)3); + excel.getHeaderStyle().setFillForegroundColor(IndexedColors.LIME.getIndex()); - public static void policelistToExcel(List policeList, HttpServletResponse response, String[] headers, - String[] headerNames, String[] columnType, String sheetName, String excelFileName) throws IOException { - if(Utils.isNotEmpty(policeList)) { - // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. - XSSFWorkbook wb = new XSSFWorkbook(); - Sheet sheet = wb.createSheet(sheetName); - Row headerRow = sheet.createRow(0); - CellStyle cellStyle1 = wb.createCellStyle(); //쉼표들어간 숫자 양식 - CellStyle cellStyle2 = wb.createCellStyle(); //숫자양식 - CellStyle headerStyle3 = wb.createCellStyle(); - - XSSFDataFormat format = wb.createDataFormat(); - cellStyle1.setAlignment(HorizontalAlignment.CENTER); - cellStyle2.setDataFormat(format.getFormat("#,##0")); - cellStyle2.setAlignment(HorizontalAlignment.CENTER); - headerStyle3.setBorderTop(BorderStyle.THIN); - headerStyle3.setBorderBottom(BorderStyle.THIN); - headerStyle3.setBorderLeft(BorderStyle.THIN); - headerStyle3.setBorderRight(BorderStyle.THIN); - headerStyle3.setAlignment(HorizontalAlignment.CENTER); - headerStyle3.setFillPattern(FillPatternType.SOLID_FOREGROUND); - headerStyle3.setFillForegroundColor((short)3); - headerStyle3.setFillForegroundColor(IndexedColors.LIME.getIndex()); - headerStyle3.setWrapText(true); - //로우그리기 - for(int i=0; i"); + out.write(""); + out.write(""); + out.write(""); + out.write(""); + out.write(""); + + out.flush(); + out.close(); + } + + private static void excelNameHangulBrokenPrevention(HttpServletResponse response, XSSFWorkbook wb, Excel excel) throws IOException { + excel.setOutputFileName(new String(excel.getExcelFileName().getBytes("KSC5601"), "8859_1")); + response.setHeader("Set-Cookie", "fileDownload=true; path=/"); + response.setHeader("Content-Disposition", String.format("attachment; filename=\""+excel.getOutputFileName()+"_"+Utils.getTimeStampString("yyyyMMdd_HHmm")+".xlsx\"")); + + wb.write(response.getOutputStream()); + wb.close(); + } + + private static void createHeader(Excel excel, String[] headerNames, CellStyle headerStyle, int index) { + if (headerNames.length > 0) { + excel.setHeaderRow(excel.getSheet().createRow(index)); + for(int j=0; j< headerNames.length; j++) { + Cell cell = excel.getHeaderRow().createCell(j); + cell.setCellValue(headerNames[j]); + cell.setCellStyle(headerStyle); + excel.getSheet().autoSizeColumn(j); + excel.getSheet().setColumnWidth(j, (excel.getSheet().getColumnWidth(j)) + 1024); + } + } + } + + private static void rowCreate(Excel excel, int rownum, int startIndex, int endIndex){ + int mergeCount = 1; + boolean mergeCheck = false; + + for(int i=0; i 0 && j > 0) { + if (rowData.get(excel.getHeaders()[0]).equals(excel.getList().get(i-1).get(excel.getHeaders()[0])) && !(j >= startIndex && j <= endIndex)) { + if (i < excel.getList().size()-1 && rowData.get(excel.getHeaders()[0]).equals(excel.getList().get(i+1).get(excel.getHeaders()[0]))) { + mergeCheck = true; + } else { + excel.getSheet().addMergedRegion(new CellRangeAddress(i+rownum-mergeCount, i+rownum, j, j)); + mergeCheck = false; + } + } + } + + if(excel.getColumnType()[j].equalsIgnoreCase("Money")) { + cell.setCellValue(rowData.getInt(excel.getHeaders()[j])); + cell.setCellStyle(excel.getCellStyle1()); + } else if(excel.getColumnType()[j].equalsIgnoreCase("Int")) { + cell.setCellValue(rowData.getInt(excel.getHeaders()[j])); + cell.setCellStyle(excel.getCellStyle2()); + } else if(excel.getColumnType()[j].equalsIgnoreCase("String")) { + cell.setCellValue(rowData.getString(excel.getHeaders()[j])); + } else { + cell.setCellValue(rowData.getString(excel.getHeaders()[j])); + } + } + } + } + + public static void ipShipDownExcel(List ipShipList, HttpServletResponse response, String[] headers, + String[] headerNames, String[] columnType, String sheetName, String excelFileName) throws IOException { + DecimalFormat formatter3 = new DecimalFormat("#,##0.####"); + if(Utils.isNotEmpty(ipShipList)) { + // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. + XSSFWorkbook wb = new XSSFWorkbook(); + Sheet sheet = wb.createSheet(sheetName); + Row headerRow = sheet.createRow(0); + CellStyle cellStyle1 = wb.createCellStyle(); //쉼표들어간 숫자 양식 + CellStyle cellStyle2 = wb.createCellStyle(); + CellStyle cellStyle3 = wb.createCellStyle();//숫자양식 + CellStyle headerStyle = wb.createCellStyle(); //숫자양식 + + XSSFDataFormat format = wb.createDataFormat(); + cellStyle1.setDataFormat(format.getFormat("#,##0")); + cellStyle2.setDataFormat(format.getFormat("#,##0")); + cellStyle3.setWrapText(true); + cellStyle1.setAlignment(HorizontalAlignment.CENTER); + cellStyle2.setAlignment(HorizontalAlignment.CENTER); + cellStyle3.setAlignment(HorizontalAlignment.CENTER); + headerStyle.setAlignment(HorizontalAlignment.CENTER); + headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); + headerStyle.setFillForegroundColor((short)3); + headerStyle.setFillForegroundColor(IndexedColors.LIME.getIndex()); + headerStyle.setWrapText(true); + + //로우그리기 + for(int i=0; i emptyNames = new HashSet<>(); + for(java.beans.PropertyDescriptor pd : pds) { + Object srcValue = src.getPropertyValue(pd.getName()); + if (srcValue == null) emptyNames.add(pd.getName()); + } + String[] result = new String[emptyNames.size()]; + return emptyNames.toArray(result); + } + + public static void policelistToExcel(List policeList, HttpServletResponse response, String[] headers, + String[] headerNames, String[] columnType, String sheetName, String excelFileName) throws IOException { + if(Utils.isNotEmpty(policeList)) { + // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. + XSSFWorkbook wb = new XSSFWorkbook(); + Sheet sheet = wb.createSheet(sheetName); + Row headerRow = sheet.createRow(0); + CellStyle cellStyle1 = wb.createCellStyle(); //쉼표들어간 숫자 양식 + CellStyle cellStyle2 = wb.createCellStyle(); //숫자양식 + CellStyle headerStyle3 = wb.createCellStyle(); + + XSSFDataFormat format = wb.createDataFormat(); + cellStyle1.setAlignment(HorizontalAlignment.CENTER); + cellStyle2.setDataFormat(format.getFormat("#,##0")); + cellStyle2.setAlignment(HorizontalAlignment.CENTER); + headerStyle3.setBorderTop(BorderStyle.THIN); + headerStyle3.setBorderBottom(BorderStyle.THIN); + headerStyle3.setBorderLeft(BorderStyle.THIN); + headerStyle3.setBorderRight(BorderStyle.THIN); + headerStyle3.setAlignment(HorizontalAlignment.CENTER); + headerStyle3.setFillPattern(FillPatternType.SOLID_FOREGROUND); + headerStyle3.setFillForegroundColor((short)3); + headerStyle3.setFillForegroundColor(IndexedColors.LIME.getIndex()); + headerStyle3.setWrapText(true); + //로우그리기 + for(int i=0; i codeList){ + if(itemCd==null){ + return ""; + }else{ + for(CodeMgt code: codeList){ + if(itemCd.equals(code.getItemCd())){ + return code.getItemValue()+" "; + } + } + } + return ""; + } } diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index f0c309b8..934d2dc9 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -9,6 +9,7 @@ spring.servlet.multipart.max-file-size=200MB spring.servlet.multipart.max-request-size=500MB site.domain=http://localhost:8080 +clipReport.print.url=http://118.219.150.34:50570/ClipReport5 #file file.dir.publicBoard=/publicBoard diff --git a/src/main/resources/application-test1.properties b/src/main/resources/application-test1.properties index f489a466..d370ccb9 100644 --- a/src/main/resources/application-test1.properties +++ b/src/main/resources/application-test1.properties @@ -18,6 +18,7 @@ spring.servlet.multipart.max-file-size=200MB spring.servlet.multipart.max-request-size=500MB site.domain=http://118.219.150.34:50580 +clipReport.print.url=http://118.219.150.34:50570/ClipReport5 #file file.dir.publicBoard=/publicBoard diff --git a/src/main/resources/application-test2.properties b/src/main/resources/application-test2.properties index 1c61924f..ed3a12b8 100644 --- a/src/main/resources/application-test2.properties +++ b/src/main/resources/application-test2.properties @@ -18,6 +18,7 @@ spring.servlet.multipart.max-file-size=200MB spring.servlet.multipart.max-request-size=500MB site.domain=http://118.219.150.34:50580 +clipReport.print.url=http://118.219.150.34:50570/ClipReport5 #file file.dir.publicBoard=/publicBoard diff --git a/src/main/resources/application-was1.properties b/src/main/resources/application-was1.properties index 943d27a3..6e20a51a 100644 --- a/src/main/resources/application-was1.properties +++ b/src/main/resources/application-was1.properties @@ -14,6 +14,7 @@ spring.servlet.multipart.max-file-size=200MB spring.servlet.multipart.max-request-size=500MB site.domain=10.187.58.12 +clipReport.print.url=http://118.219.150.34:50570/ClipReport5 #file file.dir.publicBoard=/publicBoard diff --git a/src/main/resources/application-was2.properties b/src/main/resources/application-was2.properties index f46ecd6d..60302373 100644 --- a/src/main/resources/application-was2.properties +++ b/src/main/resources/application-was2.properties @@ -14,6 +14,7 @@ spring.servlet.multipart.max-file-size=200MB spring.servlet.multipart.max-request-size=500MB site.domain=10.187.58.12 +clipReport.print.url=http://118.219.150.34:50570/ClipReport5 #file file.dir.publicBoard=/publicBoard diff --git a/src/main/resources/static/js/igActivities/fpiMgt/plan/planMgt.js b/src/main/resources/static/js/igActivities/fpiMgt/plan/planMgt.js index b122e1cb..c75328a0 100644 --- a/src/main/resources/static/js/igActivities/fpiMgt/plan/planMgt.js +++ b/src/main/resources/static/js/igActivities/fpiMgt/plan/planMgt.js @@ -40,8 +40,8 @@ $(document).on('click', '#planAddBtn', function (){ $(document).on('click', '#detailPlanAddBtn', function (){ const detailPlanDiv = $("#detailPlanDiv"); - detailPlanDiv.append(""); - const lastAppendTextarea = detailPlanDiv.children()[detailPlanDiv.children().length-1]; + detailPlanDiv.append(""); + /*const lastAppendTextarea = detailPlanDiv.children()[detailPlanDiv.children().length-1]; $(lastAppendTextarea).summernote({ lang:'ko-KR', height: 120, @@ -53,7 +53,7 @@ $(document).on('click', '#detailPlanAddBtn', function (){ ['para', ['ul', 'ol', 'paragraph']], ['table', ['table']] ] - }); + });*/ }) $(document).on('click', '#savePlanBtn', function (){ @@ -101,6 +101,74 @@ $(document).on('click', '.apprvBtn', function (){ } }) +$(document).on('click', '#printBtn', function (){ + + $.ajax({ + url: '/affairPlan/planBoardJson', + type: 'GET', + data: {planKey: $(this).attr('data-plankey')}, + dataType:"json", + success: function(data){ + const plan = {}; + plan.contentTitle = data.contentTitle; + plan.planDt = data.planDt; + plan.wrtOrgan = data.wrtOrgan; + plan.wrtPart = data.wrtPart; + plan.wrtUserGrd = data.wrtUserGrd; + plan.wrtUserNm = data.wrtUserNm; + for(let i=0; i사업개요 및 추진계획
- + - +
diff --git a/src/main/resources/templates/igActivities/fpiMgt/affairPlan/planViewModal.html b/src/main/resources/templates/igActivities/fpiMgt/affairPlan/planViewModal.html index a242937c..b0bd8a08 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/affairPlan/planViewModal.html +++ b/src/main/resources/templates/igActivities/fpiMgt/affairPlan/planViewModal.html @@ -40,8 +40,7 @@
- +

@@ -50,8 +49,7 @@
- +
@@ -62,7 +60,7 @@
-
+
@@ -166,6 +164,12 @@