jhleem / egov star

임종호 임종호 2022-02-10 @17

공통코드
Index: base3.10/src/main/java/froala/editor/utils/view/ExcelDownloadView.java =================================================================== --- base3.10/src/main/java/froala/editor/utils/view/ExcelDownloadView.java (nonexistent) +++ base3.10/src/main/java/froala/editor/utils/view/ExcelDownloadView.java (revision 17) @@ -0,0 +1,64 @@ +package froala.editor.utils.view; + +import java.io.IOException; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.Calendar; +import java.util.Map; + +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.web.servlet.view.AbstractView; + +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import froala.editor.utils.ExcelUtil; + +/** + * + * @since 2020. 6. 16. + * @author 손희문 + * <PRE> + * ----------------------- + * 개정이력 + * 2020. 6. 16. 손희문 : 최초작성 + * </PRE> + */ +public class ExcelDownloadView extends AbstractView { + + @Override + protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, + HttpServletResponse response) throws EgovBizException, IOException { + ExcelUtil excel = (ExcelUtil) model.get("excel"); + String fileName = (String) model.get("fileName"); + + Calendar cal = Calendar.getInstance(); + //현재 년도, 월, 일 + int year = cal.get(Calendar.YEAR); + int month = cal.get(Calendar.MONTH) + 1; + int date = cal.get(Calendar.DATE); + String curDate = year + "." + month + "." + date; + + // 쿠키로 다운로드 완료 시점 확인 + Cookie cookie = new Cookie("fileDownloadToken", "TRUE"); + cookie.setPath("/"); + cookie.setSecure(true); + response.addCookie(cookie); + + // 입력된 내용 파일로 쓰기 + response.setContentType("Application/Msexcel"); + response.setHeader("Content-Disposition", "ATTachment; Filename=" + URLEncoder.encode(fileName+ "_" + curDate, "UTF-8") + ".xlsx"); + + //response.setContentType("application/download;charset=utf-8"); + //response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\";"); + //response.setHeader("Content-Transfer-Encoding", "binary"); + + OutputStream fileOut = response.getOutputStream(); + excel.write(fileOut); + fileOut.close(); + + response.getOutputStream().flush(); + response.getOutputStream().close(); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/froala/editor/utils/view/ExcelDownloadView.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/utils/ExcelUtil.java =================================================================== --- base3.10/src/main/java/froala/editor/utils/ExcelUtil.java (nonexistent) +++ base3.10/src/main/java/froala/editor/utils/ExcelUtil.java (revision 17) @@ -0,0 +1,639 @@ +package froala.editor.utils; + +import java.awt.font.FontRenderContext; +import java.awt.font.LineBreakMeasurer; +import java.awt.font.TextAttribute; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.text.AttributedString; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.apache.poi.openxml4j.opc.OPCPackage; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.DateUtil; +import org.apache.poi.ss.usermodel.Font; +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.ShapeTypes; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFCellStyle; +import org.apache.poi.xssf.usermodel.XSSFClientAnchor; +import org.apache.poi.xssf.usermodel.XSSFColor; +import org.apache.poi.xssf.usermodel.XSSFDrawing; +import org.apache.poi.xssf.usermodel.XSSFFont; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFSimpleShape; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class ExcelUtil { + private static final Logger LOGGER = LoggerFactory.getLogger(ExcelUtil.class); + + private XSSFSheet sheet; + private int rowIndex = 0; + private int maxCols = 0; + private XSSFWorkbook workbook; + private int offsetCol = 0; + + public ExcelUtil(String sheetName) { + workbook = new XSSFWorkbook(); + sheet = workbook.createSheet(sheetName); + } + + public void setOffset(int col, int row) { + offsetCol = col; + rowIndex = row; + } + + public void addRow(List<String> rows) { + addRow(null, (short) 0, rows); + } + + public void addRow(String backgroundColor, List<String> rows) { + addRow(backgroundColor, (short) 0, rows); + } + + public int getRowIndex() { + return rowIndex; + } + + public void setCellWidth(int cellnum, int width) { + sheet.setColumnWidth(cellnum, width); + } + + public void setCell(int cellnum, int rownum, XSSFCellStyle cellStyle, String cellValue) { + XSSFRow row = sheet.getRow(rownum); + if (row == null) { + row = sheet.createRow(rownum); + } + + XSSFCell cell = row.getCell(cellnum); + if (cell == null) { + cell = row.createCell(cellnum, XSSFCell.CELL_TYPE_STRING); + } + cell.setCellStyle(cellStyle); + cell.setCellValue(cellValue); + } + + public void addRow(String backgroundColor, short boldweight, List<String> cellStrings) { + XSSFRow header = sheet.createRow(rowIndex++); + int cellIndex = offsetCol; + for (String value : cellStrings) { + XSSFCell cell = header.createCell(cellIndex++, XSSFCell.CELL_TYPE_STRING); + cell.setCellValue(value); + if( backgroundColor != null ) { + cell.setCellStyle(createCellStyle(backgroundColor, boldweight)); + } + } + if (maxCols < cellIndex) { + maxCols = cellIndex; + } + } + + public void appendRow(int cellnum, int rownum, String backgroundColor, short boldweight, List<String> cellStrings) { + XSSFRow header = sheet.getRow(rownum); + if(header == null) { + rowIndex = rownum; + header = sheet.createRow(rowIndex++); + } + int cellIndex = cellnum; + for (String value : cellStrings) { + XSSFCell cell = header.createCell(cellIndex++, XSSFCell.CELL_TYPE_STRING); + cell.setCellValue(value); + cell.setCellStyle(createCellStyle(backgroundColor, boldweight)); + } + if (maxCols < cellIndex) { + maxCols = cellIndex; + } + } + + public void addRow(List<Map<String, String>> style, List<String> cellStrings) { + XSSFRow header = sheet.createRow(rowIndex++); + int cellIndex = offsetCol; + for (String value : cellStrings) { + int index = cellIndex - offsetCol; + XSSFCell cell = header.createCell(cellIndex++, XSSFCell.CELL_TYPE_STRING); + cell.setCellValue(value); + String backgroundColor = null; + short boldweight = 0; + if (style.size() > index) { + Map<String, String> styleMap = style.get(index); + backgroundColor = styleMap.get("backgroundColor"); + if (styleMap.containsKey("boldweight")) { + boldweight = Short.parseShort(styleMap.get("boldweight")); + } + } + cell.setCellStyle(createCellStyle(backgroundColor, boldweight)); + } + + if (maxCols < cellIndex) { + maxCols = cellIndex; + } + } + + public XSSFCellStyle createCellStyle(String backgroundColor, short boldweight) { + XSSFCellStyle cellStyle = sheet.getWorkbook().createCellStyle(); + cellStyle.setAlignment(HorizontalAlignment.CENTER); + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + if (backgroundColor != null) { + cellStyle.setFillForegroundColor(new XSSFColor(hexToByteArray(backgroundColor))); + cellStyle.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND); + } + setSolidBorder(cellStyle); + + if (boldweight != 0) { + Font headerFont = this.sheet.getWorkbook().createFont(); + headerFont.setBoldweight(boldweight); + cellStyle.setFont(headerFont); + } + + return cellStyle; + } + + public void setFontHeight(int cellnum, int rownum, int height) { + sheet.getRow(rownum).getCell(cellnum).getCellStyle().getFont().setFontHeight(height); + } + + public void setCellAlignment(int cellnum, int rownum, HorizontalAlignment align) { + sheet.getRow(rownum).getCell(cellnum).getCellStyle().setAlignment(align); + } + + public void setCellVerticalAlignment(int cellnum, int rownum, VerticalAlignment align) { + sheet.getRow(rownum).getCell(cellnum).getCellStyle().setVerticalAlignment(align); + } + + public void setCellWrapText(int cellnum, int rownum, boolean b) { + XSSFRow row = sheet.getRow(rownum); + XSSFCellStyle rowStyle = row.getRowStyle(); + if (rowStyle == null) { + XSSFCellStyle cellStyle = sheet.getWorkbook().createCellStyle(); + cellStyle.setWrapText(b); + row.setRowStyle(cellStyle); + } else { + rowStyle.setWrapText(b); + } + row.getCell(cellnum).getCellStyle().setWrapText(b); + } + + // hex to byte[] + public byte[] hexToByteArray(String hex) { + if (hex == null || hex.length() == 0) { + return null; + } + + byte[] ba = new byte[hex.length() / 2]; + for (int i = 0; i < ba.length; i++) { + ba[i] = (byte) Integer.parseInt(hex.substring(2 * i, 2 * i + 2), 16); + } + return ba; + } + + public void setSolidBorder(XSSFCellStyle cellStyle) { + cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); + cellStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex()); + cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex()); + cellStyle.setRightBorderColor(IndexedColors.BLACK.getIndex()); + cellStyle.setBorderBottom(CellStyle.BORDER_THIN); + cellStyle.setBorderTop(CellStyle.BORDER_THIN); + cellStyle.setBorderRight(CellStyle.BORDER_THIN); + cellStyle.setBorderLeft(CellStyle.BORDER_THIN); + } + + public void write(OutputStream outputStream) throws IOException { + // adjust column width to fit the content + for (int i = 0; i < maxCols; i++) { + sheet.autoSizeColumn(i); + sheet.setColumnWidth(i, Math.min(255 * 256, sheet.getColumnWidth(i) + 1500)); + } + + for (int i = 0; i < offsetCol; i++) { + setCellWidth(i, 900); + } + this.sheet.getWorkbook().write(outputStream); +// this.workbook.close(); + } + + public void merge(int firstCol, int firstRow, int lastCol, int lastRow) { + // 셀 병합 + sheet.addMergedRegion(new CellRangeAddress(firstRow, lastRow, firstCol, lastCol)); // 병합 + } + + public void drawRect(int rownum, int scolnum, int ecolnum, int dx1, int dx2) { + XSSFDrawing patriarch = sheet.createDrawingPatriarch(); + XSSFClientAnchor a = new XSSFClientAnchor(); + a.setCol1(scolnum); + a.setRow1(rownum); + a.setDx1(pxToEmu(dx1)); + a.setDy1(pxToEmu(5)); + a.setDx2(pxToEmu(dx2)); + a.setDy2(pxToEmu(-5)); + a.setRow2(rownum + 1); + a.setCol2(ecolnum); + + XSSFSimpleShape shape1 = patriarch.createSimpleShape(a); + shape1.setShapeType(ShapeTypes.RECT); + int red = 0, green = 0, blue = 0; + red = Integer.parseInt("f0", 16); + green = Integer.parseInt("ad", 16); + blue = Integer.parseInt("4e", 16); + shape1.setLineStyleColor(red, green, blue); + shape1.setFillColor(red, green, blue); + } + + public static int pxToEmu(int px) { + return (int) Math.round(((double) px) * 72 * 20 * 635 / 96); // assume + // 96dpi + } + + public static int emuToPx(int emu) { + return (int) Math.round(((double) emu) * 96 / 72 / 20 / 635); // assume + // 96dpi + } + + public float getDefaultRowHeightInPoints() { + return this.sheet.getDefaultRowHeightInPoints(); + } + + public void setRowHeightInPoints(int rownum, float height) { + sheet.getRow(rownum).setHeightInPoints(height); + } + + public float getRowHeightInPoints(int rownum) { + return sheet.getRow(rownum).getHeightInPoints(); + } + + /** + * ROW 높이 자동 조절 + * + * @param rownum + * @param cellValue + */ + public void setAutoRowFit(int cellnum, int rownum) { + XSSFRow row = sheet.getRow(rownum); + XSSFCell cell = row.getCell(cellnum); + XSSFFont cellFont = cell.getCellStyle().getFont(); + int fontStyle = java.awt.Font.PLAIN; + if (cellFont.getBold()) + fontStyle = java.awt.Font.BOLD; + if (cellFont.getItalic()) + fontStyle = java.awt.Font.ITALIC; + + java.awt.Font currFont = new java.awt.Font(cellFont.getFontName(), fontStyle, cellFont.getFontHeightInPoints()); + + String cellText = cell.getStringCellValue(); + AttributedString attrStr = new AttributedString(cellText); + attrStr.addAttribute(TextAttribute.FONT, currFont); + + // Use LineBreakMeasurer to count number of lines needed for the text + // + FontRenderContext frc = new FontRenderContext(null, true, true); + LineBreakMeasurer measurer = new LineBreakMeasurer(attrStr.getIterator(), frc); + int nextPos = 0; + int lineCnt = 1; + float columnWidthInPx = sheet.getColumnWidth(cellnum); + while (measurer.getPosition() < cellText.length()) { + nextPos = measurer.nextOffset(columnWidthInPx); + lineCnt++; + measurer.setPosition(nextPos); + } + int fromIndex = -1; + while ((fromIndex = cellText.indexOf("\n", fromIndex + 1)) >= 0) { + lineCnt++; + } + if (lineCnt > 1) { + row.setHeightInPoints(sheet.getDefaultRowHeightInPoints() * lineCnt * /* fudge factor */ 1.1f); + } + } + + public static List<List<String>> readExcel(File file) throws IOException, InvalidFormatException { + List<List<String>> resultList = null; + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + resultList = readExcel(fis, file.getName(), 0, null); + } catch (IOException | InvalidFormatException e) { + LOGGER.error("ERROR! excel read error!!"); + return null; + } finally { + fis.close(); + } + return resultList; + } + + public static List<List<String>> readExcel(File file, int sheetAt) throws IOException, InvalidFormatException { + List<List<String>> resultList = null; + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + resultList = readExcel(fis, file.getName(), sheetAt, null); + } catch (IOException | InvalidFormatException e) { + LOGGER.error("ERROR! excel read error!!"); + return null; + } finally { + fis.close(); + } + return resultList; + } + + public static List<List<String>> readExcel(File file, int sheetAt, Integer requiredIndex) throws IOException, InvalidFormatException { + List<List<String>> resultList = null; + FileInputStream fis = null; + try { + fis = new FileInputStream(file); + resultList = readExcel(fis, file.getName(), sheetAt, requiredIndex); + } catch (IOException | InvalidFormatException e) { + LOGGER.error("ERROR! excel read error!!"); + return null; + } finally { + fis.close(); + } + return resultList; + } + + public static List<List<String>> readExcel(InputStream is) throws IOException, InvalidFormatException { + List<List<String>> resultList = null; + try { + resultList = readExcel(is, "xlsx", 0, null); + } catch (IOException | InvalidFormatException e) { + LOGGER.error("ERROR! excel read error!!"); + return null; + } + return resultList; + } + + private static Workbook getWorkbook(InputStream inputStream, String fileName) throws IOException { + Workbook workbook = null; + + if (fileName.endsWith("xlsx")) { + workbook = new XSSFWorkbook(inputStream); + } else if (fileName.endsWith("xls")) { + workbook = new HSSFWorkbook(inputStream); + } else { + throw new IllegalArgumentException("The specified file is not Excel file"); + } + + return workbook; + } + + public static List<List<String>> readExcel(InputStream is, String fileName, int sheetAt, Integer requiredIndex) + throws IOException, InvalidFormatException { + List<List<String>> resultList = new ArrayList<>(); + // 파일을 읽기위해 엑셀파일을 가져온다 + Workbook workbook = getWorkbook(is, fileName); + int rowindex = 0; + int columnindex = 0; + // 시트 수 (첫번째에만 존재하므로 0을 준다) + // 만약 각 시트를 읽기위해서는 FOR문을 한번더 돌려준다 + Sheet sheet = workbook.getSheetAt(sheetAt); + // 병합 셀 조회 후 병합해제 + String cellVal=""; + + for (int i = 0; i < sheet.getNumMergedRegions(); i++) { + CellRangeAddress mergedRegion = sheet.getMergedRegion(i); + int colIndex = mergedRegion.getFirstColumn(); + int firstRowIndex = mergedRegion.getFirstRow(); + int lastRowIndex = mergedRegion.getLastRow(); + if(colIndex==0){ + cellVal = sheet.getRow(firstRowIndex).getCell(colIndex).getStringCellValue(); + } + for (int j = firstRowIndex; j < lastRowIndex+1; j++) { + Cell inputCell = sheet.getRow(j).getCell(0); + inputCell.setCellValue(cellVal); + } + } + // 행의 수 + int rows = sheet.getPhysicalNumberOfRows(); +// int rows = sheet.getLastRowNum(); + int rowCnt = 0; + for (rowindex = 0; rowindex < rows; rowindex++) { + // 행을 읽는다 + Row row = sheet.getRow(rowindex); + if (row != null) { + // 필수로 값이 있어야 하는 Cell 체크. + if (requiredIndex != null) { + Cell requiredCell = row.getCell(requiredIndex); + String requiredValue = ""; + switch (requiredCell.getCellType()) { + case Cell.CELL_TYPE_BLANK: + requiredValue = requiredCell.getBooleanCellValue() + ""; + break; + default: + requiredValue = "true"; + break; + } + + if ("false".equals(requiredValue)) { + break; +// continue; + } + +// Cell requiredCell = row.getCell((short)0x1); +// if (requiredCell == null) { +// continue; +// } + } + + resultList.add(new ArrayList<String>()); + + // 셀의 수 +// int cells = row.getPhysicalNumberOfCells(); + int cells = row.getLastCellNum(); + for (columnindex = 0; columnindex <= cells; columnindex++) { + // 셀값을 읽는다 + Cell cell = row.getCell(columnindex); + String value = ""; + // 셀이 빈값일경우를 위한 널체크 + if (rowindex == 0 && cell == null) { + continue; + } + + if (cell != null) { + // 타입별로 내용 읽기 + switch (cell.getCellType()) { + case Cell.CELL_TYPE_FORMULA: + value = cell.getCellFormula(); + break; + case Cell.CELL_TYPE_NUMERIC: + value = String.format("%1$,.0f", cell.getNumericCellValue()); + break; + case Cell.CELL_TYPE_STRING: + value = cell.getStringCellValue() + ""; + break; + case Cell.CELL_TYPE_BLANK: + value = cell.getBooleanCellValue() + ""; + break; + case Cell.CELL_TYPE_ERROR: + value = cell.getErrorCellValue() + ""; + break; + } + } + + if ("false".equals(value)) { + value = ""; + } + + resultList.get(rowCnt).add(value); + } + } + rowCnt++; + } +// workbook.; + return resultList; + } + + public static List<List<String>> readFormulaExcel(File file, int sheetAt) + throws IOException, InvalidFormatException { + List<List<String>> resultList = null; + FileInputStream fis = null; + OPCPackage opcPackage = null; + Workbook workbook = null; + try { + resultList = new ArrayList<List<String>>(); + // 파일을 읽기위해 엑셀파일을 가져온다 + if (file.getName().endsWith("xlsx")) { + opcPackage = OPCPackage.open(file); + workbook = new XSSFWorkbook(opcPackage); + } else if (file.getName().endsWith("xls")) { + fis = new FileInputStream(file); + workbook = new HSSFWorkbook(fis); + } + + int rowindex = 0; + int columnindex = 0; + // 시트 수 (첫번째에만 존재하므로 0을 준다) + // 만약 각 시트를 읽기위해서는 FOR문을 한번더 돌려준다 + Sheet sheet = workbook.getSheetAt(sheetAt); + // 행의 수 + int rows = sheet.getPhysicalNumberOfRows(); + int rowCnt = 0; + for (rowindex = 0; rowindex < rows; rowindex++) { + // 행을 읽는다 + Row row = sheet.getRow(rowindex); + if (row != null) { + resultList.add(new ArrayList<String>()); + // 셀의 수 + int cells = row.getLastCellNum(); + for (columnindex = 0; columnindex < cells; columnindex++) { + // 셀값을 읽는다 + Cell cell = row.getCell(columnindex); + String value = ""; + // 셀이 빈값일경우를 위한 널체크 + if (rowindex == 0 && cell == null) { + continue; + } + if (cell != null) { + // 타입별로 내용 읽기 + switch (cell.getCellType()) { + case Cell.CELL_TYPE_FORMULA: + // 수식결과형태만 조회 + // 값 처리 과정은 속도가 너무 느림 + int cellType = cell.getCachedFormulaResultType(); + switch(cellType) { + case Cell.CELL_TYPE_NUMERIC: + //날짜인지 아닌지 구분 + if( DateUtil.isCellDateFormatted( cell)) { + Date date = cell.getDateCellValue(); + value = new SimpleDateFormat("yyyy-MM-dd").format(date); + }else { + if(cell.getNumericCellValue() == (long) cell.getNumericCellValue()) { + value = String.format("%d",(long)cell.getNumericCellValue()); + }else { + //CP별 가중치는 서식 백분율 값 들어가있음 + if(sheetAt == 4) { + value = String.format("%.3f",cell.getNumericCellValue()*100); + }else { + value = String.format("%.3f",cell.getNumericCellValue()); + } + } + } + break; + case Cell.CELL_TYPE_STRING: + value = cell.getStringCellValue() + ""; + break; + case Cell.CELL_TYPE_BLANK: + value = cell.getBooleanCellValue() + ""; + break; + case Cell.CELL_TYPE_ERROR: + value = cell.getErrorCellValue() + ""; + break; + } + break; + case Cell.CELL_TYPE_NUMERIC: + //날짜인지 아닌지 구분 + if( DateUtil.isCellDateFormatted( cell)) { + Date date = cell.getDateCellValue(); + value = new SimpleDateFormat("yyyy-MM-dd").format(date); + }else { + if(cell.getNumericCellValue() == (long) cell.getNumericCellValue()) { + value = String.format("%d",(long)cell.getNumericCellValue()); + }else { + //CP별 가중치는 서식 백분율 값 들어가있음 + if(sheetAt == 4) { + value = String.format("%.3f",cell.getNumericCellValue()*100); + }else { + value = String.format("%.3f",cell.getNumericCellValue()); + } + } + } + break; + case Cell.CELL_TYPE_STRING: + value = cell.getStringCellValue() + ""; + break; + case Cell.CELL_TYPE_BLANK: + value = cell.getBooleanCellValue() + ""; + break; + case Cell.CELL_TYPE_ERROR: + value = cell.getErrorCellValue() + ""; + break; + } + } + if ("false".equals(value)) { + value = ""; + } + resultList.get(rowCnt).add(value); + } + } + rowCnt++; + } + } catch (IOException e) { + LOGGER.error("ERROR! excel read error!!"); + return null; + } finally { + if (file.getName().endsWith("xlsx")) { + opcPackage.close(); + } else if (file.getName().endsWith("xls")) { + fis.close(); + } + } + return resultList; + } + + /** + * 엑셀 출력 시, valueof null 일 때, 빈값으로 값 치환 + * @Author : 이다솜 + * @Date : 2021. 10. 6. + * @Method Name : stingValueOf + * @return : String + */ + public String stringValueOf(Object object) { + return object == null ? "" : String.valueOf(object); + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/froala/editor/utils/ExcelUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/CmmnDetailCode.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/CmmnDetailCode.java (revision 16) +++ base3.10/src/main/java/egovframework/com/cmm/service/CmmnDetailCode.java (revision 17) @@ -2,6 +2,8 @@ import java.io.Serializable; +import egovframework.com.cmm.CustomDefaultVO; + /** * 공통상세코드 모델 클래스 * @author 공통서비스 개발팀 이중호 @@ -19,7 +21,7 @@ * * </pre> */ -public class CmmnDetailCode implements Serializable { +public class CmmnDetailCode extends CustomDefaultVO implements Serializable { private static final long serialVersionUID = 1L; Index: base3.10/src/main/java/egovframework/com/sym/ccm/cca/web/EgovCcmCmmnCodeManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cca/web/EgovCcmCmmnCodeManageController.java (revision 16) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cca/web/EgovCcmCmmnCodeManageController.java (revision 17) @@ -21,8 +21,10 @@ import egovframework.com.sym.ccm.cca.service.EgovCcmCmmnCodeManageService; import egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO; import egovframework.com.sym.ccm.ccc.service.EgovCcmCmmnClCodeManageService; +import egovframework.rte.fdl.cmmn.exception.EgovBizException; import egovframework.rte.fdl.property.EgovPropertyService; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import froala.editor.utils.view.ExcelDownloadView; /** * @@ -64,8 +66,6 @@ @Autowired private DefaultBeanValidator beanValidator; - - /** * 공통분류코드 목록을 조회한다. * @@ -99,7 +99,7 @@ paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); - return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeList"; + return ".adminLayout/공통코드/com/sym/ccm/cca/EgovCcmCmmnCodeList"; } /** @@ -112,13 +112,13 @@ * @throws Exception */ @RequestMapping(value = "/sym/ccm/cca/SelectCcmCmmnCodeDetail.do") - public String selectCmmnCodeDetail(@ModelAttribute("loginVO") LoginVO loginVO, CmmnCodeVO cmmnCodeVO, ModelMap model) throws Exception { + public String selectCmmnCodeDetail(@ModelAttribute("loginVO") LoginVO loginVO, @ModelAttribute("searchVO") CmmnCodeVO cmmnCodeVO, ModelMap model) throws Exception { CmmnCodeVO vo = cmmnCodeManageService.selectCmmnCodeDetail(cmmnCodeVO); model.addAttribute("result", vo); - return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeDetail"; + return ".adminLayout/공통코드/com/sym/ccm/cca/EgovCcmCmmnCodeDetail"; } /** @@ -138,7 +138,7 @@ model.addAttribute("clCodeList", CmmnCodeList); - return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeRegist"; + return ".adminLayout/공통코드/com/sym/ccm/cca/EgovCcmCmmnCodeRegist"; } /** @@ -166,7 +166,7 @@ List<?> CmmnCodeList = cmmnClCodeManageService.selectCmmnClCodeList(searchVO); model.addAttribute("clCodeList", CmmnCodeList); - return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeRegist"; + return ".adminLayout/공통코드/com/sym/ccm/cca/EgovCcmCmmnCodeRegist"; } if(cmmnCode.getCodeId() != null){ @@ -178,14 +178,14 @@ List<?> CmmnCodeList = cmmnClCodeManageService.selectCmmnClCodeList(searchVO); model.addAttribute("clCodeList", CmmnCodeList); - return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeRegist"; + return ".adminLayout/공통코드/com/sym/ccm/cca/EgovCcmCmmnCodeRegist"; } } cmmnCodeVO.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); - cmmnCodeManageService.insertCmmnCode(cmmnCodeVO); + cmmnCodeManageService.insertCmmnCode(cmmnCodeVO); - return "forward:/sym/ccm/cca/SelectCcmCmmnCodeList.do"; + return "redirect:/sym/ccm/cca/SelectCcmCmmnCodeList.do"; } /** @@ -203,11 +203,11 @@ LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); - cmmnCodeVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); - cmmnCodeManageService.deleteCmmnCode(cmmnCodeVO); + cmmnCodeVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + cmmnCodeManageService.deleteCmmnCode(cmmnCodeVO); - return "forward:/sym/ccm/cca/SelectCcmCmmnCodeList.do"; - } + return "redirect:/sym/ccm/cca/SelectCcmCmmnCodeList.do"; + } /** * 공통코드 수정을 위한 수정페이지로 이동한다. @@ -218,14 +218,14 @@ * @throws Exception */ @RequestMapping("/sym/ccm/cca/UpdateCcmCmmnCodeView.do") - public String updateCmmnCodeView(@ModelAttribute("cmmnCodeVO") CmmnCodeVO cmmnCodeVO, ModelMap model) + public String updateCmmnCodeView(@ModelAttribute("searchVO") CmmnCodeVO cmmnCodeVO, ModelMap model) throws Exception { CmmnCode result = cmmnCodeManageService.selectCmmnCodeDetail(cmmnCodeVO); model.addAttribute("cmmnCodeVO", result); - return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeUpdt"; + return ".adminLayout/공통코드/com/sym/ccm/cca/EgovCcmCmmnCodeUpdt"; } /** @@ -249,14 +249,29 @@ CmmnCode result = cmmnCodeManageService.selectCmmnCodeDetail(cmmnCode); model.addAttribute("cmmnCodeVO", result); - return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeUpdt"; + return ".adminLayout/공통코드/com/sym/ccm/cca/EgovCcmCmmnCodeUpdt"; } cmmnCodeVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); cmmnCodeManageService.updateCmmnCode(cmmnCodeVO); - return "forward:/sym/ccm/cca/SelectCcmCmmnCodeList.do"; + return "redirect:/sym/ccm/cca/SelectCcmCmmnCodeList.do?" + cmmnCode.searchParam(3); } - + /** + * 공통코드 엑셀 다운로드 + * @Author : 이다솜 + * @Date : 2021. 10. 5. + * @Method Name : selectSymCcmCcaDownloadExcel + * @return : String + */ + @RequestMapping(value="/sym/ccm/cca/downloadExcel.do") + public ExcelDownloadView selectSymCcmCcaDownloadExcel(@ModelAttribute("loginVO") LoginVO loginVO, @ModelAttribute("searchVO") CmmnCodeVO searchVO + , ModelMap model) throws EgovBizException { + + model.addAttribute("fileName","공통코드 정보현황"); + model.addAttribute("excel", cmmnCodeManageService.selectSymCcmCcaDownloadExcel(searchVO)); + + return new ExcelDownloadView(); + } } \ No newline at end of file Index: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/impl/CmmnCodeManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/impl/CmmnCodeManageDAO.java (revision 16) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/impl/CmmnCodeManageDAO.java (revision 17) @@ -2,11 +2,13 @@ import java.util.List; +import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Repository; import egovframework.com.cmm.service.impl.EgovComAbstractDAO; import egovframework.com.sym.ccm.cca.service.CmmnCode; import egovframework.com.sym.ccm.cca.service.CmmnCodeVO; +import egovframework.rte.psl.dataaccess.util.EgovMap; /** * @@ -84,4 +86,14 @@ delete("CmmnCodeManage.deleteCmmnCode", cmmnCode); } + /** + * 공통코드 엑셀 다운로드 + * @Author : 이다솜 + * @Date : 2021. 10. 8. + * @Method Name : selectSymCcmCcaDownloadExcel + * @return : List<CmmnCodeVO> + */ + public List<EgovMap> selectSymCcmCcaDownloadExcel(CmmnCodeVO searchVO) throws DataAccessException { + return selectList("CmmnCodeManage.selectSymCcmCcaDownloadExcel", searchVO); + } } Index: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/impl/EgovCcmCmmnCodeManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/impl/EgovCcmCmmnCodeManageServiceImpl.java (revision 16) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/impl/EgovCcmCmmnCodeManageServiceImpl.java (revision 17) @@ -1,15 +1,20 @@ package egovframework.com.sym.ccm.cca.service.impl; +import java.util.Arrays; import java.util.List; import javax.annotation.Resource; +import org.apache.poi.ss.usermodel.Font; import org.springframework.stereotype.Service; import egovframework.com.sym.ccm.cca.service.CmmnCode; import egovframework.com.sym.ccm.cca.service.CmmnCodeVO; import egovframework.com.sym.ccm.cca.service.EgovCcmCmmnCodeManageService; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import egovframework.rte.psl.dataaccess.util.EgovMap; +import froala.editor.utils.ExcelUtil; /** * @@ -84,5 +89,38 @@ public void deleteCmmnCode(CmmnCode cmmnCode) throws Exception { cmmnCodeManageDAO.deleteCmmnCode(cmmnCode); } + + /** + * 공통코드 엑셀 다운로드 + * @throws Exception + */ + @Override + public ExcelUtil selectSymCcmCcaDownloadExcel(CmmnCodeVO searchVO) throws EgovBizException { + List<EgovMap> list = cmmnCodeManageDAO.selectSymCcmCcaDownloadExcel(searchVO); + ExcelUtil excel = new ExcelUtil("공통코드관리 목록"); + excel.setOffset(0, 0);//시작위치 + excel.addRow("f8f8f8", Font.BOLDWEIGHT_BOLD, + Arrays.asList("번호", "분류코드명", "코드ID", "코드ID명", "코드ID설명", "사용여부")); -} + int index=1; + if(list != null) { + for (int i=0; i<list.size(); i++) { + String useAt; + if (excel.stringValueOf(list.get(i).get("useAt")).equals("Y")) { + useAt = "사용"; + } else { + useAt = "미사용"; + } + excel.addRow(Arrays.asList(Integer.toString(index) + , excel.stringValueOf(list.get(i).get("clCodeNm")) + , excel.stringValueOf(list.get(i).get("codeId")) + , excel.stringValueOf(list.get(i).get("codeIdNm")) + , excel.stringValueOf(list.get(i).get("codeIdDc")) + , useAt + )); + index++; + } + } + return excel; + } +} \ No newline at end of file Index: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/CmmnCode.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/CmmnCode.java (revision 16) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/CmmnCode.java (revision 17) @@ -2,6 +2,8 @@ import java.io.Serializable; +import egovframework.com.cmm.CustomDefaultVO; + /** * 공통코드 모델 클래스 * @author 공통서비스 개발팀 이중호 @@ -19,7 +21,7 @@ * </pre> */ -public class CmmnCode implements Serializable { +public class CmmnCode extends CustomDefaultVO implements Serializable { private static final long serialVersionUID = 638950577710720796L; Index: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/EgovCcmCmmnCodeManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/EgovCcmCmmnCodeManageService.java (revision 16) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/EgovCcmCmmnCodeManageService.java (revision 17) @@ -2,6 +2,9 @@ import java.util.List; +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import froala.editor.utils.ExcelUtil; + /** * * 공통코드에 관한 서비스 인터페이스 클래스를 정의한다 @@ -68,5 +71,15 @@ * @throws Exception */ void deleteCmmnCode(CmmnCode cmmnCode) throws Exception; + + /** + * 공통코드 엑셀 다운로드 + * @Author : 이다솜 + * @Date : 2021. 10. 8. + * @Method Name : selectSymCcmCcaDownloadExcel + * @return : Object + * @throws Exception + */ + public ExcelUtil selectSymCcmCcaDownloadExcel(CmmnCodeVO searchVO) throws EgovBizException; } Index: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/CmmnCodeVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/CmmnCodeVO.java (revision 16) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/CmmnCodeVO.java (revision 17) @@ -24,175 +24,4 @@ private static final long serialVersionUID = -4184057693049713450L; - /** 검색조건 */ - private String searchCondition = ""; - - /** 검색Keyword */ - private String searchKeyword = ""; - - /** 검색사용여부 */ - private String searchUseYn = ""; - - /** 현재페이지 */ - private int pageIndex = 1; - - /** 페이지갯수 */ - private int pageUnit = 10; - - /** 페이지사이즈 */ - private int pageSize = 10; - - /** firstIndex */ - private int firstIndex = 1; - - /** lastIndex */ - private int lastIndex = 1; - - /** recordCountPerPage */ - private int recordCountPerPage = 10; - - /** - * searchCondition attribute 를 리턴한다. - * @return String - */ - public String getSearchCondition() { - return searchCondition; - } - - /** - * searchCondition attribute 값을 설정한다. - * @param searchCondition String - */ - public void setSearchCondition(String searchCondition) { - this.searchCondition = searchCondition; - } - - /** - * searchKeyword attribute 를 리턴한다. - * @return String - */ - public String getSearchKeyword() { - return searchKeyword; - } - - /** - * searchKeyword attribute 값을 설정한다. - * @param searchKeyword String - */ - public void setSearchKeyword(String searchKeyword) { - this.searchKeyword = searchKeyword; - } - - /** - * searchUseYn attribute 를 리턴한다. - * @return String - */ - public String getSearchUseYn() { - return searchUseYn; - } - - /** - * searchUseYn attribute 값을 설정한다. - * @param searchUseYn String - */ - public void setSearchUseYn(String searchUseYn) { - this.searchUseYn = searchUseYn; - } - - /** - * pageIndex attribute 를 리턴한다. - * @return int - */ - public int getPageIndex() { - return pageIndex; - } - - /** - * pageIndex attribute 값을 설정한다. - * @param pageIndex int - */ - public void setPageIndex(int pageIndex) { - this.pageIndex = pageIndex; - } - - /** - * pageUnit attribute 를 리턴한다. - * @return int - */ - public int getPageUnit() { - return pageUnit; - } - - /** - * pageUnit attribute 값을 설정한다. - * @param pageUnit int - */ - public void setPageUnit(int pageUnit) { - this.pageUnit = pageUnit; - } - - /** - * pageSize attribute 를 리턴한다. - * @return int - */ - public int getPageSize() { - return pageSize; - } - - /** - * pageSize attribute 값을 설정한다. - * @param pageSize int - */ - public void setPageSize(int pageSize) { - this.pageSize = pageSize; - } - - /** - * firstIndex attribute 를 리턴한다. - * @return int - */ - public int getFirstIndex() { - return firstIndex; - } - - /** - * firstIndex attribute 값을 설정한다. - * @param firstIndex int - */ - public void setFirstIndex(int firstIndex) { - this.firstIndex = firstIndex; - } - - /** - * lastIndex attribute 를 리턴한다. - * @return int - */ - public int getLastIndex() { - return lastIndex; - } - - /** - * lastIndex attribute 값을 설정한다. - * @param lastIndex int - */ - public void setLastIndex(int lastIndex) { - this.lastIndex = lastIndex; - } - - /** - * recordCountPerPage attribute 를 리턴한다. - * @return int - */ - public int getRecordCountPerPage() { - return recordCountPerPage; - } - - /** - * recordCountPerPage attribute 값을 설정한다. - * @param recordCountPerPage int - */ - public void setRecordCountPerPage(int recordCountPerPage) { - this.recordCountPerPage = recordCountPerPage; - } - } Index: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/web/EgovCcmCmmnClCodeManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/ccc/web/EgovCcmCmmnClCodeManageController.java (revision 16) +++ base3.10/src/main/java/egovframework/com/sym/ccm/ccc/web/EgovCcmCmmnClCodeManageController.java (revision 17) @@ -93,7 +93,6 @@ paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); -// return "egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeList"; return ".adminLayout/공통분류코드/com/sym/ccm/ccc/EgovCcmCmmnClCodeList"; } @@ -107,7 +106,7 @@ * @throws Exception */ @RequestMapping(value = "/sym/ccm/ccc/SelectCcmCmmnClCodeDetail.do") - public String selectCmmnClCodeDetail(@ModelAttribute("loginVO") LoginVO loginVO, CmmnClCodeVO cmmnClCodeVO, + public String selectCmmnClCodeDetail(@ModelAttribute("loginVO") LoginVO loginVO, @ModelAttribute("searchVO") CmmnClCodeVO cmmnClCodeVO, ModelMap model) throws Exception { CmmnClCode vo = cmmnClCodeManageService.selectCmmnClCodeDetail(cmmnClCodeVO); @@ -164,9 +163,9 @@ } cmmnClCodeVO.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); - cmmnClCodeManageService.insertCmmnClCode(cmmnClCodeVO); + cmmnClCodeManageService.insertCmmnClCode(cmmnClCodeVO); - return "forward:/sym/ccm/ccc/SelectCcmCmmnClCodeList.do"; + return "redirect:/sym/ccm/ccc/SelectCcmCmmnClCodeList.do"; } /** @@ -187,7 +186,7 @@ cmmnClCodeVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); cmmnClCodeManageService.deleteCmmnClCode(cmmnClCodeVO); - return "forward:/sym/ccm/ccc/SelectCcmCmmnClCodeList.do"; + return "redirect:/sym/ccm/ccc/SelectCcmCmmnClCodeList.do"; } /** @@ -236,7 +235,7 @@ cmmnClCodeVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); cmmnClCodeManageService.updateCmmnClCode(cmmnClCodeVO); - return "forward:/sym/ccm/ccc/SelectCcmCmmnClCodeList.do"; + return "redirect:/sym/ccm/ccc/SelectCcmCmmnClCodeList.do?" + cmmnClCode.searchParam(3); } } \ No newline at end of file Index: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/CmmnClCodeVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/CmmnClCodeVO.java (revision 16) +++ base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/CmmnClCodeVO.java (revision 17) @@ -23,176 +23,4 @@ private static final long serialVersionUID = 442842373959722378L; - /** 검색조건 */ - private String searchCondition = ""; - - /** 검색Keyword */ - private String searchKeyword = ""; - - /** 검색사용여부 */ - private String searchUseYn = ""; - - /** 현재페이지 */ - private int pageIndex = 1; - - /** 페이지갯수 */ - private int pageUnit = 10; - - /** 페이지사이즈 */ - private int pageSize = 10; - - /** firstIndex */ - private int firstIndex = 1; - - /** lastIndex */ - private int lastIndex = 1; - - /** recordCountPerPage */ - private int recordCountPerPage = 10; - - /** - * searchCondition attribute 를 리턴한다. - * @return String - */ - public String getSearchCondition() { - return searchCondition; - } - - /** - * searchCondition attribute 값을 설정한다. - * @param searchCondition String - */ - public void setSearchCondition(String searchCondition) { - this.searchCondition = searchCondition; - } - - /** - * searchKeyword attribute 를 리턴한다. - * @return String - */ - public String getSearchKeyword() { - return searchKeyword; - } - - /** - * searchKeyword attribute 값을 설정한다. - * @param searchKeyword String - */ - public void setSearchKeyword(String searchKeyword) { - this.searchKeyword = searchKeyword; - } - - /** - * searchUseYn attribute 를 리턴한다. - * @return String - */ - public String getSearchUseYn() { - return searchUseYn; - } - - /** - * searchUseYn attribute 값을 설정한다. - * @param searchUseYn String - */ - public void setSearchUseYn(String searchUseYn) { - this.searchUseYn = searchUseYn; - } - - /** - * pageIndex attribute 를 리턴한다. - * @return int - */ - public int getPageIndex() { - return pageIndex; - } - - /** - * pageIndex attribute 값을 설정한다. - * @param pageIndex int - */ - public void setPageIndex(int pageIndex) { - this.pageIndex = pageIndex; - } - - /** - * pageUnit attribute 를 리턴한다. - * @return int - */ - public int getPageUnit() { - return pageUnit; - } - - /** - * pageUnit attribute 값을 설정한다. - * @param pageUnit int - */ - public void setPageUnit(int pageUnit) { - this.pageUnit = pageUnit; - } - - /** - * pageSize attribute 를 리턴한다. - * @return int - */ - public int getPageSize() { - return pageSize; - } - - /** - * pageSize attribute 값을 설정한다. - * @param pageSize int - */ - public void setPageSize(int pageSize) { - this.pageSize = pageSize; - } - - /** - * firstIndex attribute 를 리턴한다. - * @return int - */ - public int getFirstIndex() { - return firstIndex; - } - - /** - * firstIndex attribute 값을 설정한다. - * @param firstIndex int - */ - public void setFirstIndex(int firstIndex) { - this.firstIndex = firstIndex; - } - - /** - * lastIndex attribute 를 리턴한다. - * @return int - */ - public int getLastIndex() { - return lastIndex; - } - - /** - * lastIndex attribute 값을 설정한다. - * @param lastIndex int - */ - public void setLastIndex(int lastIndex) { - this.lastIndex = lastIndex; - } - - /** - * recordCountPerPage attribute 를 리턴한다. - * @return int - */ - public int getRecordCountPerPage() { - return recordCountPerPage; - } - - /** - * recordCountPerPage attribute 값을 설정한다. - * @param recordCountPerPage int - */ - public void setRecordCountPerPage(int recordCountPerPage) { - this.recordCountPerPage = recordCountPerPage; - } - - } Index: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/CmmnClCode.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/CmmnClCode.java (revision 16) +++ base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/CmmnClCode.java (revision 17) @@ -2,6 +2,8 @@ import java.io.Serializable; +import egovframework.com.cmm.CustomDefaultVO; + /** * 공통분류코드 모델 클래스 * @author 공통서비스 개발팀 이중호 @@ -18,7 +20,7 @@ * * </pre> */ -public class CmmnClCode implements Serializable { +public class CmmnClCode extends CustomDefaultVO implements Serializable { private static final long serialVersionUID = 4861619118930452502L; Index: base3.10/src/main/java/egovframework/com/sym/ccm/cde/web/EgovCcmCmmnDetailCodeManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cde/web/EgovCcmCmmnDetailCodeManageController.java (revision 16) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cde/web/EgovCcmCmmnDetailCodeManageController.java (revision 17) @@ -25,9 +25,11 @@ import egovframework.com.sym.ccm.ccc.service.EgovCcmCmmnClCodeManageService; import egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO; import egovframework.com.sym.ccm.cde.service.EgovCcmCmmnDetailCodeManageService; +import egovframework.rte.fdl.cmmn.exception.EgovBizException; import egovframework.rte.fdl.property.EgovPropertyService; import egovframework.rte.psl.dataaccess.util.EgovMap; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import froala.editor.utils.view.ExcelDownloadView; /** * @@ -107,7 +109,7 @@ paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); - return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeList"; + return ".adminLayout/공통상세코드/com/sym/ccm/cde/EgovCcmCmmnDetailCodeList"; } /** @@ -120,12 +122,12 @@ */ @RequestMapping(value="/sym/ccm/cde/SelectCcmCmmnDetailCodeDetail.do") public String selectCmmnDetailCodeDetail (@ModelAttribute("loginVO") LoginVO loginVO - , CmmnDetailCodeVO cmmnDetailCodeVO, ModelMap model + , @ModelAttribute("searchVO") CmmnDetailCodeVO cmmnDetailCodeVO, ModelMap model ) throws Exception { CmmnDetailCode vo = cmmnDetailCodeManageService.selectCmmnDetailCodeDetail(cmmnDetailCodeVO); model.addAttribute("result", vo); - return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail"; + return ".adminLayout/공통상세코드/com/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail"; } /** @@ -133,7 +135,7 @@ * @param loginVO * @param cmmnDetailCodeVO * @param model - * @return "forward:/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do" + * @return "redirect:/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do" * @throws Exception */ @RequestMapping(value="/sym/ccm/cde/RemoveCcmCmmnDetailCode.do") @@ -143,7 +145,7 @@ ) throws Exception { cmmnDetailCodeManageService.deleteCmmnDetailCode(cmmnDetailCodeVO); - return "forward:/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do"; + return "redirect:/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do"; } /** @@ -183,7 +185,7 @@ } - return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist"; + return ".adminLayout/공통상세코드/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist"; } /** @@ -203,7 +205,8 @@ LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); CmmnClCodeVO searchClCodeVO = new CmmnClCodeVO(); - + searchClCodeVO.setFirstIndex(0); + beanValidator.validate(cmmnDetailCodeVO, bindingResult); if (bindingResult.hasErrors()) { @@ -211,7 +214,15 @@ List<?> CmmnClCodeList = cmmnClCodeManageService.selectCmmnClCodeList(searchClCodeVO); model.addAttribute("clCodeList", CmmnClCodeList); - return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist"; + CmmnCodeVO searchCodeVO = new CmmnCodeVO(); + searchCodeVO.setRecordCountPerPage(999999); + searchCodeVO.setFirstIndex(0); + searchCodeVO.setSearchCondition("clCode"); + searchCodeVO.setSearchKeyword(cmmnDetailCodeVO.getClCode()); + List<?> CmmnCodeList = cmmnCodeManageService.selectCmmnCodeList(searchCodeVO); + model.addAttribute("codeList", CmmnCodeList); + + return ".adminLayout/공통상세코드/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist"; } if(cmmnDetailCodeVO.getCodeId() != null){ @@ -222,15 +233,23 @@ List<?> CmmnClCodeList = cmmnClCodeManageService.selectCmmnClCodeList(searchClCodeVO); model.addAttribute("clCodeList", CmmnClCodeList); + + CmmnCodeVO searchCodeVO = new CmmnCodeVO(); + searchCodeVO.setRecordCountPerPage(999999); + searchCodeVO.setFirstIndex(0); + searchCodeVO.setSearchCondition("clCode"); + searchCodeVO.setSearchKeyword(cmmnDetailCodeVO.getClCode()); + List<?> CmmnCodeList = cmmnCodeManageService.selectCmmnCodeList(searchCodeVO); + model.addAttribute("codeList", CmmnCodeList); - return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist"; + return ".adminLayout/공통상세코드/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist"; } } cmmnDetailCodeVO.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); cmmnDetailCodeManageService.insertCmmnDetailCode(cmmnDetailCodeVO); - return "forward:/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do"; + return "redirect:/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do"; } /** @@ -243,13 +262,13 @@ */ @RequestMapping("/sym/ccm/cde/UpdateCcmCmmnDetailCodeView.do") public String updateCmmnDetailCodeView(@ModelAttribute("loginVO") LoginVO loginVO, - @ModelAttribute("cmmnDetailCodeVO") CmmnDetailCodeVO cmmnDetailCodeVO, ModelMap model) + @ModelAttribute("searchVO") CmmnDetailCodeVO cmmnDetailCodeVO, ModelMap model) throws Exception { CmmnDetailCode result = cmmnDetailCodeManageService.selectCmmnDetailCodeDetail(cmmnDetailCodeVO); model.addAttribute("cmmnDetailCodeVO", result); - return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt"; + return ".adminLayout/공통상세코드/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt"; } /** @@ -261,7 +280,7 @@ * @throws Exception */ @RequestMapping("/sym/ccm/cde/UpdateCcmCmmnDetailCode.do") - public String updateCmmnDetailCode(@ModelAttribute("cmmnDetailCodeVO") CmmnDetailCodeVO cmmnDetailCodeVO, ModelMap model, BindingResult bindingResult ) + public String updateCmmnDetailCode(@ModelAttribute("searchVO") CmmnDetailCodeVO cmmnDetailCodeVO, ModelMap model, BindingResult bindingResult ) throws Exception { LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); @@ -269,18 +288,31 @@ beanValidator.validate(cmmnDetailCodeVO, bindingResult); if (bindingResult.hasErrors()){ - CmmnDetailCode result = cmmnDetailCodeManageService.selectCmmnDetailCodeDetail(cmmnDetailCodeVO); - model.addAttribute("cmmnDetailCodeVO", result); + CmmnDetailCode result = cmmnDetailCodeManageService.selectCmmnDetailCodeDetail(cmmnDetailCodeVO); + model.addAttribute("cmmnDetailCodeVO", result); - return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt"; + return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt"; } cmmnDetailCodeVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); cmmnDetailCodeManageService.updateCmmnDetailCode(cmmnDetailCodeVO); - return "forward:/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do"; + return "redirect:/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do?" + cmmnDetailCodeVO.searchParam(3); } - - -} + /** + * 공통코드 상세 엑셀 다운로드 + * @Author : 이다솜 + * @Date : 2021. 10. 5. + * @Method Name : selectSymCcmCdeDownloadExcel + * @return : String + */ + @RequestMapping(value="/sym/ccm/cde/downloadExcel.do") + public ExcelDownloadView selectSymCcmCdeDownloadExcel(@ModelAttribute("loginVO") LoginVO loginVO, @ModelAttribute("searchVO") CmmnDetailCodeVO searchVO + , ModelMap model) throws EgovBizException { + model.addAttribute("fileName","공통코드상세 정보현황"); + model.addAttribute("excel", cmmnDetailCodeManageService.selectSymCcmCdeDownloadExcel(searchVO)); + + return new ExcelDownloadView(); + } +} \ No newline at end of file Index: base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/impl/CmmnDetailCodeManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/impl/CmmnDetailCodeManageDAO.java (revision 16) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/impl/CmmnDetailCodeManageDAO.java (revision 17) @@ -2,11 +2,13 @@ import java.util.List; +import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Repository; import egovframework.com.cmm.service.CmmnDetailCode; import egovframework.com.cmm.service.impl.EgovComAbstractDAO; import egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO; +import egovframework.rte.psl.dataaccess.util.EgovMap; /** * @@ -84,7 +86,16 @@ */ public void updateCmmnDetailCode(CmmnDetailCodeVO cmmnDetailCodeVO) throws Exception{ insert("CmmnDetailCodeManage.updateCmmnDetailCode", cmmnDetailCodeVO); - } + /** + * 공통코드 상세 엑셀 다운로드 + * @Author : 이다솜 + * @Date : 2021. 10. 8. + * @Method Name : selectSymCcmCdeDownloadExcel + * @return : List<EgovMap> + */ + public List<EgovMap> selectSymCcmCdeDownloadExcel(CmmnDetailCodeVO searchVO) throws DataAccessException { + return selectList("CmmnDetailCodeManage.selectSymCcmCdeDownloadExcel", searchVO); + } } Index: base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/impl/EgovCcmCmmnDetailCodeManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/impl/EgovCcmCmmnDetailCodeManageServiceImpl.java (revision 16) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/impl/EgovCcmCmmnDetailCodeManageServiceImpl.java (revision 17) @@ -1,15 +1,20 @@ package egovframework.com.sym.ccm.cde.service.impl; +import java.util.Arrays; import java.util.List; import javax.annotation.Resource; +import org.apache.poi.ss.usermodel.Font; import org.springframework.stereotype.Service; import egovframework.com.cmm.service.CmmnDetailCode; import egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO; import egovframework.com.sym.ccm.cde.service.EgovCcmCmmnDetailCodeManageService; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import egovframework.rte.psl.dataaccess.util.EgovMap; +import froala.editor.utils.ExcelUtil; /** * @@ -88,4 +93,37 @@ } + /** + * 공통코드 상세 엑셀 다운로드 + */ + @Override + public ExcelUtil selectSymCcmCdeDownloadExcel(CmmnDetailCodeVO searchVO) throws EgovBizException { + List<EgovMap> list = cmmnDetailCodeManageDAO.selectSymCcmCdeDownloadExcel(searchVO); + ExcelUtil excel = new ExcelUtil("공통코드상세 관리 목록"); + excel.setOffset(0, 0);//시작위치 + excel.addRow("f8f8f8", Font.BOLDWEIGHT_BOLD, + Arrays.asList("번호", "코드ID", "코드ID명", "상세코드", "상세코드명", "상세코드설명", "사용여부")); + + int index=1; + if(list != null) { + for (int i=0; i<list.size(); i++) { + String useAt; + if (excel.stringValueOf(list.get(i).get("useAt")).equals("Y")) { + useAt = "사용"; + } else { + useAt = "미사용"; + } + excel.addRow(Arrays.asList(Integer.toString(index) + , excel.stringValueOf(list.get(i).get("codeId")) + , excel.stringValueOf(list.get(i).get("codeIdNm")) + , excel.stringValueOf(list.get(i).get("code")) + , excel.stringValueOf(list.get(i).get("codeNm")) + , excel.stringValueOf(list.get(i).get("codeDc")) + , useAt + )); + index++; + } + } + return excel; + } } Index: base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/EgovCcmCmmnDetailCodeManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/EgovCcmCmmnDetailCodeManageService.java (revision 16) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/EgovCcmCmmnDetailCodeManageService.java (revision 17) @@ -4,6 +4,8 @@ import egovframework.com.cmm.service.CmmnDetailCode; import egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO; +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import froala.editor.utils.ExcelUtil; /** * @@ -68,6 +70,12 @@ */ void updateCmmnDetailCode(CmmnDetailCodeVO cmmnDetailCodeVO) throws Exception; - - + /** + * 공통코드 상세 엑셀 다운로드 + * @Author : 이다솜 + * @Date : 2021. 10. 8. + * @Method Name : selectSymCcmCdeDownloadExcel + * @return : ExcelUtil + */ + public ExcelUtil selectSymCcmCdeDownloadExcel(CmmnDetailCodeVO searchVO) throws EgovBizException; } Index: base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/CmmnDetailCodeVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/CmmnDetailCodeVO.java (revision 16) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/CmmnDetailCodeVO.java (revision 17) @@ -26,174 +26,4 @@ private static final long serialVersionUID = 9137280036724974467L; - /** 검색조건 */ - private String searchCondition = ""; - - /** 검색Keyword */ - private String searchKeyword = ""; - - /** 검색사용여부 */ - private String searchUseYn = ""; - - /** 현재페이지 */ - private int pageIndex = 1; - - /** 페이지갯수 */ - private int pageUnit = 10; - - /** 페이지사이즈 */ - private int pageSize = 10; - - /** firstIndex */ - private int firstIndex = 1; - - /** lastIndex */ - private int lastIndex = 1; - - /** recordCountPerPage */ - private int recordCountPerPage = 10; - - /** - * searchCondition attribute 를 리턴한다. - * @return String - */ - public String getSearchCondition() { - return searchCondition; - } - - /** - * searchCondition attribute 값을 설정한다. - * @param searchCondition String - */ - public void setSearchCondition(String searchCondition) { - this.searchCondition = searchCondition; - } - - /** - * searchKeyword attribute 를 리턴한다. - * @return String - */ - public String getSearchKeyword() { - return searchKeyword; - } - - /** - * searchKeyword attribute 값을 설정한다. - * @param searchKeyword String - */ - public void setSearchKeyword(String searchKeyword) { - this.searchKeyword = searchKeyword; - } - - /** - * searchUseYn attribute 를 리턴한다. - * @return String - */ - public String getSearchUseYn() { - return searchUseYn; - } - - /** - * searchUseYn attribute 값을 설정한다. - * @param searchUseYn String - */ - public void setSearchUseYn(String searchUseYn) { - this.searchUseYn = searchUseYn; - } - - /** - * pageIndex attribute 를 리턴한다. - * @return int - */ - public int getPageIndex() { - return pageIndex; - } - - /** - * pageIndex attribute 값을 설정한다. - * @param pageIndex int - */ - public void setPageIndex(int pageIndex) { - this.pageIndex = pageIndex; - } - - /** - * pageUnit attribute 를 리턴한다. - * @return int - */ - public int getPageUnit() { - return pageUnit; - } - - /** - * pageUnit attribute 값을 설정한다. - * @param pageUnit int - */ - public void setPageUnit(int pageUnit) { - this.pageUnit = pageUnit; - } - - /** - * pageSize attribute 를 리턴한다. - * @return int - */ - public int getPageSize() { - return pageSize; - } - - /** - * pageSize attribute 값을 설정한다. - * @param pageSize int - */ - public void setPageSize(int pageSize) { - this.pageSize = pageSize; - } - - /** - * firstIndex attribute 를 리턴한다. - * @return int - */ - public int getFirstIndex() { - return firstIndex; - } - - /** - * firstIndex attribute 값을 설정한다. - * @param firstIndex int - */ - public void setFirstIndex(int firstIndex) { - this.firstIndex = firstIndex; - } - - /** - * lastIndex attribute 를 리턴한다. - * @return int - */ - public int getLastIndex() { - return lastIndex; - } - - /** - * lastIndex attribute 값을 설정한다. - * @param lastIndex int - */ - public void setLastIndex(int lastIndex) { - this.lastIndex = lastIndex; - } - - /** - * recordCountPerPage attribute 를 리턴한다. - * @return int - */ - public int getRecordCountPerPage() { - return recordCountPerPage; - } - - /** - * recordCountPerPage attribute 값을 설정한다. - * @param recordCountPerPage int - */ - public void setRecordCountPerPage(int recordCountPerPage) { - this.recordCountPerPage = recordCountPerPage; - } } Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_postgres.xml (revision 16) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_postgres.xml (revision 17) @@ -18,6 +18,9 @@ WHERE A.CL_CODE = B.CL_CODE ]]> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'0')"> <![CDATA[ AND + (A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') OR A.CODE_ID_NM LIKE CONCAT ('%', #{searchKeyword},'%')) ]]> + </if> <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'1')"> <![CDATA[ AND A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> </if> @@ -40,7 +43,9 @@ , COMTCCMMNCLCODE B WHERE A.CL_CODE = B.CL_CODE ]]> - + <if test="searchCondition == 0"> <![CDATA[ AND + (A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') OR A.CODE_ID_NM LIKE CONCAT ('%', #{searchKeyword},'%')) ]]> + </if> <if test="searchCondition == 1"> <![CDATA[ AND CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> </if> @@ -117,5 +122,31 @@ </delete> - + <select id="selectSymCcmCcaDownloadExcel" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.rte.psl.dataaccess.util.EgovMap"> + <![CDATA[ + SELECT B.CL_CODE_NM + , A.CODE_ID + , A.CODE_ID_NM + , A.USE_AT + , A.CODE_ID_DC + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + ]]> + <if test="searchCondition == 0"> <![CDATA[ AND + (A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') OR A.CODE_ID_NM LIKE CONCAT ('%', #{searchKeyword},'%')) ]]> + </if> + <if test='searchCondition == "1"'>AND + <![CDATA[A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%')]]> + </if> + <if test='searchCondition == "2"'>AND + <![CDATA[A.CODE_ID_NM LIKE CONCAT ('%', #{searchKeyword},'%')]]> + </if> + <if test='searchCondition == "clCode"'>AND + <![CDATA[A.CL_CODE LIKE CONCAT ('%', #{searchKeyword},'%')]]> + </if> + <if test='searchCondition == "clCode"'>AND + <![CDATA[A.USE_AT = 'Y']]> + </if> + </select> </mapper> \ No newline at end of file Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_postgres.xml (revision 16) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_postgres.xml (revision 17) @@ -16,7 +16,11 @@ FROM COMTCCMMNCLCODE WHERE 1 = 1 ]]> - + <if test='searchCondition == "0"'>AND + <![CDATA[CL_CODE LIKE CONCAT ('%', #{searchKeyword},'%')]]> + OR + <![CDATA[CL_CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%')]]> + </if> <if test="searchCondition == 1"> <![CDATA[ AND CL_CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> </if> @@ -36,7 +40,11 @@ FROM COMTCCMMNCLCODE WHERE 1 = 1 ]]> - + <if test='searchCondition == "0"'>AND + <![CDATA[CL_CODE LIKE CONCAT ('%', #{searchKeyword},'%')]]> + OR + <![CDATA[CL_CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%')]]> + </if> <if test="searchCondition == 1"> <![CDATA[ AND CL_CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> </if> Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_postgres.xml (revision 16) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_postgres.xml (revision 17) @@ -19,7 +19,11 @@ WHERE B.USE_AT = 'Y' AND A.CODE_ID = B.CODE_ID ]]> - + <if test="searchCondition == 0">AND + <![CDATA[ (A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') + OR A.CODE LIKE CONCAT ('%', #{searchKeyword},'%') + OR A.CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%')) ]]> + </if> <if test="searchCondition == 1"> <![CDATA[ AND A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> </if> @@ -41,7 +45,11 @@ WHERE B.USE_AT = 'Y' AND A.CODE_ID = B.CODE_ID ]]> - + <if test="searchCondition == 0">AND + <![CDATA[ (A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') + OR A.CODE LIKE CONCAT ('%', #{searchKeyword},'%') + OR A.CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%')) ]]> + </if> <if test="searchCondition == 1"> <![CDATA[ AND A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> </if> @@ -129,4 +137,33 @@ </delete> + <select id="selectSymCcmCdeDownloadExcel" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.rte.psl.dataaccess.util.EgovMap"> + <![CDATA[ + SELECT A.CODE_ID + , B.CODE_ID_NM + , A.CODE + , A.CODE_NM + , A.USE_AT + , A.CODE_DC + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + ]]> + <if test="searchCondition == 0">AND + <![CDATA[ (A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') + OR A.CODE LIKE CONCAT ('%', #{searchKeyword},'%') + OR A.CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%')) ]]> + </if> + <if test="searchCondition == 1">AND + <![CDATA[A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%')]]> + </if> + <if test="searchCondition == 2">AND + <![CDATA[A.CODE LIKE CONCAT ('%', #{searchKeyword},'%')]]> + </if> + <if test="searchCondition == 3">AND + <![CDATA[A.CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%')]]> + </if> + ORDER BY A.LAST_UPDT_PNTTM DESC + </select> </mapper> \ No newline at end of file Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeUpdt.jsp (revision 16) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeUpdt.jsp (revision 17) @@ -22,18 +22,15 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> <c:set var="pageTitle"><spring:message code="comSymCcmCca.cmmnCodeVO.title"/></c:set> -<!DOCTYPE html> -<html> -<head> -<title>${pageTitle } <spring:message code="title.update" /></title> -<meta http-equiv="content-type" content="text/html; charset=utf-8"> -<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> <script type="text/javascript" src="<c:url value="/validator.do"/>"></script> <validator:javascript formName="cmmnCodeVO" staticJavascript="false" xhtml="true" cdata="false"/> <script type="text/javascript"> /* ******************************************************** * 초기화 ******************************************************** */ +$(function() { + fn_egov_init(); +}) function fn_egov_init(){ // 첫 입력란에 포커스.. document.getElementById("cmmnCodeVO").codeIdNm.focus(); @@ -59,92 +56,99 @@ cmmnCodeVO.submit(); } </script> -</head> -<body onLoad="fn_egov_init();"> - <!-- 상단타이틀 --> +<div class="board_header"> + <h3>${pageTitle } + <spring:message code="title.update" /> + </h3> +</div> <form:form commandName="cmmnCodeVO" action="${pageContext.request.contextPath}/sym/ccm/cca/UpdateCcmCmmnCode.do" method="post" onSubmit="fn_egov_updt_code(document.forms[0]); return false;"> -<div class="wTableFrm"> - <h2>${pageTitle} <spring:message code="title.update" /></h2> - <!-- 수정폼 --> - <table class="wTable" summary="<spring:message code="common.summary.update" arguments="${pageTitle}" />"> - <caption>${pageTitle} <spring:message code="title.update" /></caption> - <colgroup> - <col style="width: 20%;"><col style="width: ;"> - </colgroup> - <tbody> - <!-- 입력 --> - <c:set var="inputTxt"><spring:message code="input.input" /></c:set> - <c:set var="inputYes"><spring:message code="input.yes" /></c:set> - <c:set var="inputNo"><spring:message code="input.no" /></c:set> - - <!-- 분류코드명 --> - <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.clCodeNm"/> </c:set> - <tr> - <th><label for="clCode">${title} <span class="pilsu">*</span></label></th> - <td class="left"> - <form:input path="clCode" type="hidden"/> - <form:input path="clCodeNm" title="${title} ${inputTxt}" size="70" maxlength="70" readonly="true" /> - <div><form:errors path="clCode" cssClass="error" /></div> - </td> - </tr> - - <!-- 코드ID --> - <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeId"/> </c:set> - <tr> - <th><label for="codeId">${title} <span class="pilsu">*</span></label></th> - <td class="left"> - <form:input path="codeId" title="${title} ${inputTxt}" size="70" maxlength="70" readonly="true" /> - <div><form:errors path="codeId" cssClass="error" /></div> - </td> - </tr> - - <!-- 코드ID명 --> - <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm"/> </c:set> - <tr> - <th><label for="codeIdNm">${title} <span class="pilsu">*</span></label></th> - <td class="left"> - <form:input path="codeIdNm" title="${title} ${inputTxt}" size="70" maxlength="70" /> - <div><form:errors path="codeIdNm" cssClass="error" /></div> - </td> - </tr> - - <!-- 코드ID설명 --> - <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdDc"/> </c:set> - <tr> - <th><label for="codeIdDc">${title } <span class="pilsu">*</span></label></th> - <td class="nopd"> - <form:textarea path="codeIdDc" title="${title} ${inputTxt}" cols="300" rows="20" /> - <div><form:errors path="codeIdDc" cssClass="error" /></div> - </td> - </tr> - - <!-- 사용여부 --> - <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.useAt"/> </c:set> - <tr> - <th><label for="useAt">${title } <span class="pilsu">*</span></label></th> - <td class="left"> - <form:select path="useAt" title="${title} ${inputTxt }" cssClass="txt"> - <form:option value="Y" label=" ${inputYes}"/> - <form:option value="N" label=" ${inputNo}"/> - </form:select> - <div><form:errors path="useAt" cssClass="error" /></div> - </td> - </tr> - - </tbody> - </table> - + <div class="board_body"> + <p class="must_text"><em>*</em>는 필수 입력사항입니다.</p> + <table class="table_write" summary="<spring:message code="common.summary.update" arguments="${pageTitle}" />"> + <caption>코드관리 - 분류코드명, 코드ID, 코드ID명, 코드ID설명, 사용여부로 구성</caption> + <colgroup> + <col style="width: 20%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputYes"><spring:message code="input.yes" /></c:set> + <c:set var="inputNo"><spring:message code="input.no" /></c:set> + + <!-- 분류코드명 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.clCodeNm"/> </c:set> + <tr> + <th scope="row" class="must"><label for="clCode">${title}</label></th> + <td class="left"> + <form:input path="clCode" type="hidden"/> + <form:input path="clCodeNm" title="${title} ${inputTxt}" size="70" maxlength="70" readonly="true" cssClass="width100p inputText"/> + <div><form:errors path="clCode" cssClass="error" /></div> + </td> + </tr> + + <!-- 코드ID --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeId"/> </c:set> + <tr> + <th scope="row" class="must"><label for="codeId">${title}</label></th> + <td class="left"> + <form:input path="codeId" title="${title} ${inputTxt}" size="70" maxlength="70" readonly="true" cssClass="width100p inputText"/> + <div><form:errors path="codeId" cssClass="error" /></div> + </td> + </tr> + + <!-- 코드ID명 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm"/> </c:set> + <tr> + <th scope="row" class="must"><label for="codeIdNm">${title}</label></th> + <td class="left"> + <form:input path="codeIdNm" title="${title} ${inputTxt}" size="70" maxlength="70" cssClass="width100p inputText"/> + <div><form:errors path="codeIdNm" cssClass="error" /></div> + </td> + </tr> + + <!-- 코드ID설명 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdDc"/> </c:set> + <tr> + <th scope="row" class="must"><label for="codeIdDc">${title }</label></th> + <td class="nopd"> + <form:textarea path="codeIdDc" title="${title} ${inputTxt}" cols="300" rows="20" cssClass="textArea width100p"/> + <div><form:errors path="codeIdDc" cssClass="error" /></div> + </td> + </tr> + + <!-- 사용여부 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.useAt"/> </c:set> + <tr> + <th scope="row" class="must"><label for="useAt">${title }</label></th> + <td class="left"> + <form:select path="useAt" title="${title} ${inputTxt }" cssClass="selectText"> + <form:option value="Y" label=" ${inputYes}"/> + <form:option value="N" label=" ${inputNo}"/> + </form:select> + <div><form:errors path="useAt" cssClass="error" /></div> + </td> + </tr> + </tbody> + </table> + </div> <!-- 하단 버튼 --> - <div class="btn"> - <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="button.update" /> <spring:message code="input.button" />" /> - <a href="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeList.do' />" class="btn_s" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a> - </div><div style="clear:both;"></div> + <div class="board_footer"> + <div class="fl bottom_wrap"> + <button class="btn_s" type="button" onclick="fn_egov_inqire_code(); return false;" title="<spring:message code="button.list" /> <spring:message code="input.button" />"> + <spring:message code="button.list" /> + </button> + </div> + <div class="fr bottom_wrap"> + <button class="btn_s" type="button" onclick="fn_egov_updt_code(document.forms[0]); return false;" title="<spring:message code="button.save" /> <spring:message code="input.button" />"> + <spring:message code="button.save" /> + </button> + </div> + </div> -</div> -</form:form> - -</body> -</html> \ No newline at end of file + <input name="searchCondition" type="hidden" value="<c:out value='${searchVO.searchCondition}'/>"> + <input name="searchKeyword" type="hidden" value="<c:out value='${searchVO.searchKeyword}'/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> +</form:form> \ No newline at end of file Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeList.jsp (revision 16) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeList.jsp (revision 17) @@ -21,21 +21,17 @@ <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> <c:set var="pageTitle"><spring:message code="comSymCcmCca.cmmnCodeVO.title"/></c:set> -<!DOCTYPE html> -<html> -<head> -<title>${pageTitle} <spring:message code="title.list" /></title> -<meta http-equiv="content-type" content="text/html; charset=utf-8"> -<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> <script type="text/javascript"> /********************************************************* * 초기화 ******************************************************** */ +$(function() { + fn_egov_init(); +}) function fn_egov_init(){ // 첫 입력란에 포커스.. document.CcmCodeForm.searchCondition.focus(); } - /********************************************************* * 페이징 처리 함수 ******************************************************** */ @@ -49,6 +45,7 @@ ******************************************************** */ function fn_egov_search_code(){ document.CcmCodeForm.pageIndex.value = 1; + document.CcmCodeForm.action = "<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeList.do'/>"; document.CcmCodeForm.submit(); } /* ******************************************************** @@ -60,84 +57,90 @@ document.CcmCodeForm.action = "<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeDetail.do'/>"; document.CcmCodeForm.submit(); } +/* ******************************************************** + * 등록화면 처리 함수 + ******************************************************** */ +function fn_egov_regist_code() { + location.href = "<c:url value='/sym/ccm/cca/RegistCcmCmmnCodeView.do' />"; +} +/* ******************************************************** + * 엑셀다운로드 + ******************************************************** */ +function fnDownloadExcel() { + document.CcmCodeForm.action = '<c:url value="/sym/ccm/cca/downloadExcel.do" />'; + document.CcmCodeForm.submit(); +} </script> -</head> -<body onload="fn_egov_init()"> -<form name="CcmCodeForm" action="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeList.do'/>" method="post" onSubmit="fn_egov_search_code(); return false;"> -<div class="board"> - <h1>${pageTitle} <spring:message code="title.list" /></h1> - +<form name="CcmCodeForm" action="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeList.do'/>" method="post" onSubmit="fn_egov_search_code(); return false;"> <!-- 검색영역 --> - <!-- 검색조건선택 --> - <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> - <ul> - <li> - <select name="searchCondition" title="<spring:message code="title.searchCondition" />"> - <%-- <option <c:if test="${searchVO.searchCondition == ''}">selected="selected"</c:if>><spring:message code="input.select" /></option><!-- 선택하세요 --> --%> - <option selected value=''><spring:message code="input.select" /></option><!-- 선택하세요 --> - <option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if> ><spring:message code="comSymCcmCca.cmmnCodeVO.codeId" /></option><!-- 코드ID --> - <option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if> ><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm" /></option><!-- 코드ID명 --> - </select> - </li> - <!-- 검색키워드 및 조회버튼 --> - <li> - <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="155" > - <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /> - <span class="btn_b"><a href="<c:url value='/sym/ccm/cca/RegistCcmCmmnCodeView.do' />" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span> - </li> - </ul> - </div> - + <div class="board_header"> + <h3>${pageTitle } <spring:message code="title.list"/></h3> + <!-- 검색구역 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <select class="select" name="searchCondition" title="<spring:message code="title.searchCondition" /> <spring:message code="input.cSelect" />"> + <option selected value="0"><spring:message code="title.all" /></option> + <option value='1' <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if>><spring:message code="comSymCcmCca.cmmnCodeVO.codeId" /></option><!-- 코드ID --> + <option value='2' <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if>><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm" /></option><!-- 코드ID명 --> + </select> + <!-- 검색키워드 및 조회버튼 --> + <input class="inputText" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="35" placeholder="검색어를 입력하세요"> + <button type="button" class="btn_board" style="margin-left:3px;" onclick="fn_egov_search_code(); return false;"><spring:message code="button.inquire" /></button> + </div> + </div> <!-- 목록영역 --> - <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> - <caption>${pageTitle}<spring:message code="title.list" /></caption> - <colgroup> - <col style="width: 9%;"> - <col style="width: 40%;"> - <col style="width: 13%;"> - <col style="width: 40%;"> - <col style="width: 13%;"> - </colgroup> - <thead> - <tr> - <th><spring:message code="table.num" /></th><!-- 번호 --> - <th><spring:message code="comSymCcmCca.cmmnCodeVO.clCodeNm" /></th><!-- 분류코드명 --> - <th class="board_th_link"><spring:message code="comSymCcmCca.cmmnCodeVO.codeId" /></th><!-- 코드ID --> - <th><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm"/></th><!-- 코드ID --> - <th><spring:message code="comSymCcmCca.cmmnCodeVO.useAt" /></th><!-- 사용여부 --> - </tr> - </thead> - <tbody class="ov"> - <c:if test="${fn:length(resultList) == 0}"> - <tr> - <td colspan="5"><spring:message code="common.nodata.msg" /></td> - </tr> - </c:if> - <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> - <tr> - <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> - <td><c:out value='${resultInfo.clCodeNm}'/></td> - <td><a href="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeDetail.do'/>?codeId=${resultInfo.codeId}" onClick="fn_egov_inquire_codedetail('<c:out value="${resultInfo.codeId}"/>');return false;"><c:out value='${fn:substring(resultInfo.codeId, 0, 40)}'/></a></td> - <td><a href="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeDetail.do'/>?codeId=${resultInfo.codeId}" onClick="fn_egov_inquire_codedetail('<c:out value="${resultInfo.codeId}"/>');return false;"><c:out value='${fn:substring(resultInfo.codeIdNm, 0, 40)}'/></a></td> - <td><c:out value='${resultInfo.useAt}'/></td> - </tr> - </c:forEach> - </tbody> - </table> - - <!-- paging navigation --> - <div class="pagination"> - <ul> - <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/> - </ul> + <div class="board_body"> + <div class="board_infomation flex between itemC"> + <p>총 : <span>${paginationInfo.totalRecordCount}</span>건, 쪽번호 : <span>${paginationInfo.currentPageNo }</span> / <span>${paginationInfo.totalPageCount }</span></p> + <button type="button" class="btn_s bgWhite btn_excel" onclick="fnDownloadExcel(); return false;"> 엑셀다운로드</button> + </div> + <table class="table_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>코드관리 - 번호, 분류명, 코드ID, 코드ID명, 사용여부로 구성</caption> + <colgroup> + <col style="width: 9%;"> + <col style="width: 40%;"> + <col style="width: 13%;"> + <col style="width: 40%;"> + <col style="width: 13%;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th><spring:message code="comSymCcmCca.cmmnCodeVO.clCodeNm" /></th><!-- 분류코드명 --> + <th class="board_th_link"><spring:message code="comSymCcmCca.cmmnCodeVO.codeId" /></th><!-- 코드ID --> + <th><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm"/></th><!-- 코드ID --> + <th><spring:message code="comSymCcmCca.cmmnCodeVO.useAt" /></th><!-- 사용여부 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="5"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value='${resultInfo.clCodeNm}'/></td> + <td><a href="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeDetail.do'/>?codeId=${resultInfo.codeId}" onClick="fn_egov_inquire_codedetail('<c:out value="${resultInfo.codeId}"/>');return false;"><c:out value='${fn:substring(resultInfo.codeId, 0, 40)}'/></a></td> + <td><a href="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeDetail.do'/>?codeId=${resultInfo.codeId}" onClick="fn_egov_inquire_codedetail('<c:out value="${resultInfo.codeId}"/>');return false;"><c:out value='${fn:substring(resultInfo.codeIdNm, 0, 40)}'/></a></td> + <td><c:out value='${resultInfo.useAt}'/></td> + </tr> + </c:forEach> + </tbody> + </table> </div> - -</div> - -<input name="codeId" type="hidden" value=""> -<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <div class="board_footer"> + <!-- paging navigation --> + <div class="page" role="group" aria-label="..."> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="admin" jsFunction="fn_egov_select_linkPage" /> + </ul> + </div> + <div class="bottom_wrap fr"> + <button type="button" onclick="fn_egov_regist_code(); return false;" class="btn_s"><spring:message code="button.create" /></button> + </div> + </div> + <input name="codeId" type="hidden" value=""> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> </form> - -</body> -</html> \ No newline at end of file Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeDetail.jsp (revision 16) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeDetail.jsp (revision 17) @@ -22,12 +22,6 @@ <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%pageContext.setAttribute("crlf", "\r\n"); %> <c:set var="pageTitle"><spring:message code="comSymCcmCca.cmmnCodeVO.title"/></c:set> -<!DOCTYPE html> -<html> -<head> -<title>${pageTitle} <spring:message code="title.detail" /></title> -<meta http-equiv="content-type" content="text/html; charset=utf-8"> -<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> <script type="text/javascript"> /* ******************************************************** * 삭제처리 @@ -40,65 +34,93 @@ document.CcmCodeForm.submit(); } } +/* ******************************************************** + * 수정화면 처리 + ******************************************************** */ + function fn_egov_update_code(codeId){ + // 수정하기 위한 키값을 셋팅 + document.CcmCodeForm.codeId.value = codeId; + document.CcmCodeForm.action = "<c:url value='/sym/ccm/cca/UpdateCcmCmmnCodeView.do'/>"; + document.CcmCodeForm.submit(); +} +/* ******************************************************** + * 목록화면 처리 + ******************************************************** */ + function fn_egov_list_code(){ + document.CcmCodeForm.codeId.value = ''; + document.CcmCodeForm.action = "<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeList.do'/>"; + document.CcmCodeForm.submit(); +} </script> -</head> -<body> - -<form name="CcmCodeForm" action="<c:url value='/sym/ccm/cca/UpdateCcmCmmnCodeView.do'/>" method="post"> -<div class="wTableFrm"> <!-- 타이틀 --> - <h2>${pageTitle} <spring:message code="title.detail" /></h2> - - <!-- 상세조회 --> - <table class="wTable" summary="<spring:message code="common.summary.inqire" arguments="${pageTitle}" />"> - <caption>${pageTitle} <spring:message code="title.detail" /></caption> - <colgroup> - <col style="width: 20%;"> - <col style="width: ;"> - </colgroup> - <tbody> - <!-- 분류코드명 --> - <tr> - <th><spring:message code="comSymCcmCca.cmmnCodeVO.clCodeNm" /></th> - <td class="left"><c:out value="${result.clCodeNm}"/></td> - </tr> - <!-- 코드ID --> - <tr> - <th><spring:message code="comSymCcmCca.cmmnCodeVO.codeId" /></th> - <td class="left"><c:out value="${result.codeId}"/></td> - </tr> - <!-- 코드ID명 --> - <tr> - <th><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm" /></th> - <td class="left"><c:out value="${result.codeIdNm}"/></td> - </tr> - <!-- 코드ID설명 --> - <tr> - <th class="vtop"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdDc" /></th> - <td class="cnt"> - <c:out value="${fn:replace(result.codeIdDc , crlf , '<br/>')}" escapeXml="false" /> - </td> - </tr> - <!-- 사용여부 --> - <tr> - <th><spring:message code="comSymCcmCca.cmmnCodeVO.useAt" /></th> - <td class="left"><c:out value="${result.useAt}"/></td> - </tr> - - - </tbody> - </table> + <div class="board_header"> + <h3>${pageTitle } + <spring:message code="title.detail" /> + </h3> + </div> +<form name="CcmCodeForm" action="<c:url value='/sym/ccm/cca/UpdateCcmCmmnCodeView.do'/>" method="post"> + <div class="board_body"> + <!-- 상세조회 --> + <table class="table_write" summary="<spring:message code="common.summary.inqire" arguments="${pageTitle}" />"> + <caption>코드관리 - 분류코드명, 코드ID, 코드ID명, 코드ID설명, 사용여부로 구성</caption> + <colgroup> + <col style="width: 20%;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 분류코드명 --> + <tr> + <th scope="row"><spring:message code="comSymCcmCca.cmmnCodeVO.clCodeNm" /></th> + <td class="left"><c:out value="${result.clCodeNm}"/></td> + </tr> + <!-- 코드ID --> + <tr> + <th scope="row"><spring:message code="comSymCcmCca.cmmnCodeVO.codeId" /></th> + <td class="left"><c:out value="${result.codeId}"/></td> + </tr> + <!-- 코드ID명 --> + <tr> + <th scope="row"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm" /></th> + <td class="left"><c:out value="${result.codeIdNm}"/></td> + </tr> + <!-- 코드ID설명 --> + <tr> + <th scope="row"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdDc" /></th> + <td class="cnt"> + <c:out value="${fn:replace(result.codeIdDc , crlf , '<br/>')}" escapeXml="false" /> + </td> + </tr> + <!-- 사용여부 --> + <tr> + <th scope="row"><spring:message code="comSymCcmCca.cmmnCodeVO.useAt" /></th> + <td class="left"><c:out value="${result.useAt}"/></td> + </tr> + </tbody> + </table> + </div> <!-- 하단 버튼 --> - <div class="btn"> - <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="title.update" /> <spring:message code="input.button" />" /> - <span class="btn_s"><a href="<c:url value='/sym/ccm/cca/RemoveCcmCmmnCode.do?codeId=${result.codeId}' />" onClick="fn_egov_delete_code('<c:out value="${result.codeId}"/>'); return false;" title="<spring:message code="title.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></a></span> - <span class="btn_s"><a href="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeList.do' />" title="<spring:message code="title.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> - </div><div style="clear:both;"></div> - -</div> - -<input name="codeId" type="hidden" value="<c:out value="${result.codeId}" />"> + <div class="board_footer"> + <div class="fl bottom_wrap"> + <!-- 목록 --> + <button class="btn_s" type="button" onclick="fn_egov_list_code(); return false;" title="<spring:message code="button.list" /> <spring:message code="input.button" />"> + <spring:message code="button.list" /> + </button> + </div> + <div class="fr bottom_wrap"> + <!-- 삭제 --> + <c:if test="${result.useAt == 'Y'}"> + <button class="btn_s" type="button" onclick="fn_egov_delete_code('<c:out value="${result.codeId}"/>'); return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"> + <spring:message code="button.delete" /> + </button> + </c:if> + <!-- 수정 --> + <button class="btn_s" type="button" onclick="fn_egov_update_code('<c:out value="${result.codeId}"/>'); return false;" title="<spring:message code="button.update" /> <spring:message code="input.button" />"> + <spring:message code="button.update" /> + </button> + </div> + </div> + <input name="codeId" type="hidden" value="<c:out value="${result.codeId}" />"> + <input name="searchCondition" type="hidden" value="<c:out value='${searchVO.searchCondition}'/>"> + <input name="searchKeyword" type="hidden" value="<c:out value='${searchVO.searchKeyword}'/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> </form> - -</body> -</html> Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeRegist.jsp (revision 16) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeRegist.jsp (revision 17) @@ -24,23 +24,18 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> <c:set var="pageTitle"><spring:message code="comSymCcmCca.cmmnCodeVO.title"/></c:set> -<!DOCTYPE html> -<html> -<head> -<title>${pageTitle} <spring:message code="title.create" /></title> -<meta http-equiv="content-type" content="text/html; charset=utf-8"> -<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> <script type="text/javascript" src="<c:url value="/validator.do"/>"></script> <validator:javascript formName="cmmnCodeVO" staticJavascript="false" xhtml="true" cdata="false"/> <script type="text/javascript"> /* ******************************************************** * 초기화 ******************************************************** */ +$(function() { + fn_egov_init(); +}) function fn_egov_init(){ - // 첫 입력란에 포커스 document.getElementById("cmmnCodeVO").codeId.focus(); - } /* ******************************************************** * 목록 으로 가기 @@ -61,107 +56,98 @@ } } } - -/* ******************************************************** -* 서버 처리 후 메세지 화면에 보여주기 -******************************************************** */ -function fncShowMessg(){ - if("<c:out value='${message}'/>" != ''){ - alert("<c:out value='${message}'/>"); - } -} - </script> - -</head> -<body onLoad="fn_egov_init(); fncShowMessg();"> - +<!-- 타이틀 --> +<div class="board_header"> + <h3>${pageTitle } + <spring:message code="title.create" /> + </h3> +</div> <form:form commandName="cmmnCodeVO" action="${pageContext.request.contextPath}/sym/ccm/cca/RegistCcmCmmnCode.do" method="post" onSubmit="fn_egov_regist_code(document.forms[0]); return false;"> -<div class="wTableFrm"> - <!-- 타이틀 --> - <h2>${pageTitle} <spring:message code="title.create" /></h2> - - <!-- 등록폼 --> - <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> - <caption>${pageTitle } <spring:message code="title.create" /></caption> - <colgroup> - <col style="width: 20%;"><col style="width: ;"> - </colgroup> - <tbody> - <!-- 입력/선택 --> - <c:set var="inputTxt"><spring:message code="input.input" /></c:set> - <c:set var="inputSelect"><spring:message code="input.select"/></c:set> - <c:set var="inputYes"><spring:message code="input.yes" /></c:set> - <c:set var="inputNo"><spring:message code="input.no" /></c:set> - <!-- 분류코드명 --> - <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.clCodeNm"/> </c:set> - <tr> - <th><label for="clCode">${title} <span class="pilsu">*</span></label></th> - <td class="left"> - <form:select path="clCode" title="${title} ${inputSelect }" > + <div class="board_body"> + <!-- 등록폼 --> + <p class="must_text"><em>*</em>는 필수 입력사항입니다.</p> + <table class="table_write" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>코드관리 - 분류코드, 코드ID, 코드ID명, 코드ID설명, 사용여부로 구성</caption> + <colgroup> + <col style="width: 20%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력/선택 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputSelect"><spring:message code="input.select"/></c:set> + <c:set var="inputYes"><spring:message code="input.yes" /></c:set> + <c:set var="inputNo"><spring:message code="input.no" /></c:set> + <!-- 분류코드명 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.clCodeNm"/> </c:set> + <tr> + <th scope="row" class="must"><label for="clCode">${title}</label></th> + <td class="left"> + <form:select path="clCode" title="${title} ${inputSelect }" cssClass="selectText width300"> <form:option value="" label="${inputSelect}"/> <form:options items="${clCodeList}" itemValue="clCode" itemLabel="clCodeNm"/> - </form:select> - <div><form:errors path="clCode" cssClass="error" /></div> - </td> - </tr> - - <!-- 코드ID --> - <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeId"/> </c:set> - <tr> - <th><label for="codeId">${title} <span class="pilsu">*</span></label></th> - <td class="left"> - <form:input path="codeId" title="${title} ${inputTxt}" size="70" maxlength="70" /> - <div><form:errors path="codeId" cssClass="error" /></div> - </td> - </tr> - - <!-- 코드ID명 --> - <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm"/> </c:set> - <tr> - <th><label for="codeIdNm">${title} <span class="pilsu">*</span></label></th> - <td class="left"> - <form:input path="codeIdNm" title="${title} ${inputTxt}" size="70" maxlength="70" /> - <div><form:errors path="codeIdNm" cssClass="error" /></div> - </td> - </tr> + </form:select> + <div><form:errors path="clCode" cssClass="error" /></div> + </td> + </tr> + + <!-- 코드ID --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeId"/> </c:set> + <tr> + <th scope="row" class="must"><label for="codeId">${title}</label></th> + <td class="left"> + <form:input path="codeId" title="${title} ${inputTxt}" size="70" maxlength="70" cssClass="width100p inputText"/> + <div><form:errors path="codeId" cssClass="error" /></div> + </td> + </tr> - <!-- 코드ID설명 --> - <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdDc"/> </c:set> - <tr> - <th><label for="codeIdDc">${title } <span class="pilsu">*</span></label></th> - <td class="nopd"> - <form:textarea path="codeIdDc" title="${title} ${inputTxt}" cols="300" rows="20" /> - <div><form:errors path="codeIdDc" cssClass="error" /></div> - </td> - </tr> - - <!-- 사용여부 --> - <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.useAt"/> </c:set> - <tr> - <th>${title } <span class="pilsu">*</span></th> - <td class="left"> - <form:select path="useAt" title="${title} ${inputTxt }" cssClass="txt"> - <form:option value="Y" label=" ${inputYes}"/> - <form:option value="N" label=" ${inputNo}"/> - </form:select> - <div><form:errors path="useAt" cssClass="error" /></div> - </td> - </tr> - - </tbody> - </table> - + <!-- 코드ID명 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm"/> </c:set> + <tr> + <th scope="row" class="must"><label for="codeIdNm">${title}</label></th> + <td class="left"> + <form:input path="codeIdNm" title="${title} ${inputTxt}" size="70" maxlength="70" cssClass="width100p inputText"/> + <div><form:errors path="codeIdNm" cssClass="error" /></div> + </td> + </tr> + + <!-- 코드ID설명 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdDc"/> </c:set> + <tr> + <th scope="row" class="must"><label for="codeIdDc">${title }</label></th> + <td class="nopd"> + <form:textarea path="codeIdDc" title="${title} ${inputTxt}" cols="300" rows="20" cssClass="textArea width100p"/> + <div><form:errors path="codeIdDc" cssClass="error" /></div> + </td> + </tr> + + <!-- 사용여부 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.useAt"/> </c:set> + <tr> + <th scope="row" class="must">${title }</th> + <td class="left"> + <form:select path="useAt" title="${title} ${inputTxt }" cssClass="selectText"> + <form:option value="Y" label=" ${inputYes}"/> + <form:option value="N" label=" ${inputNo}"/> + </form:select> + <div><form:errors path="useAt" cssClass="error" /></div> + </td> + </tr> + </tbody> + </table> + </div> <!-- 하단 버튼 --> - <div class="btn"> - <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /> - <span class="btn_s"><a href="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeList.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> - </div><div style="clear:both;"></div> - -</div> - -<input name="cmd" type="hidden" value="<c:out value='save'/>"> + <div class="board_footer"> + <div class="fl bottom_wrap"> + <button class="btn_s" type="button" onclick="fn_egov_list_code(); return false;" title="<spring:message code="button.list" /> <spring:message code="input.button" />"> + <spring:message code="button.list" /> + </button> + </div> + <div class="fr bottom_wrap"> + <button class="btn_s" type="button" onclick="fn_egov_regist_code(document.forms[0]); return false;" title="<spring:message code="button.create" /> <spring:message code="input.button" />"> + <spring:message code="button.create" /> + </button> + </div> + </div> + <input name="cmd" type="hidden" value="<c:out value='save'/>"> </form:form> - -</body> -</html> Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.jsp (revision 16) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.jsp (revision 17) @@ -32,7 +32,7 @@ * 초기화 ******************************************************** */ $(function() { - fn_egov_init(); fncShowMessg(); + fn_egov_init(); }) function fn_egov_init(){ // 첫 입력란에 포커스 @@ -58,25 +58,16 @@ } } } -/* ******************************************************** -* 서버 처리 후 메세지 화면에 보여주기 -******************************************************** */ -function fncShowMessg(){ - if("<c:out value='${message}'/>" != ''){ - alert("<c:out value='${message}'/>"); - } -} - </script> +<!-- 타이틀 --> +<div class="board_header"> + <h3>${pageTitle } + <spring:message code="title.create" /> + </h3> +</div> <form:form commandName="cmmnClCodeVO" action="${pageContext.request.contextPath}/sym/ccm/ccc/RegistCcmCmmnClCode.do" method="post" onSubmit="fn_egov_regist_code(document.forms[0]); return false;"> - <!-- 타이틀 --> - <div class="board_header"> - <h3>${pageTitle } - <spring:message code="title.create" /> - </h3> - </div> <!-- 등록폼 --> <div class="board_body"> @@ -117,7 +108,7 @@ <!-- 분류코드설명 --> <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeDc"/> </c:set> <tr> - <th scope="row"><label for="clCodeDc">${title }</label></th> + <th scope="row" class="must"><label for="clCodeDc">${title }</label></th> <td class="left"> <form:textarea path="clCodeDc" title="${title} ${inputTxt}" cols="300" rows="20" cssClass="textArea width100p"/> <div><form:errors path="clCodeDc" cssClass="error" /></div> Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeUpdt.jsp (revision 16) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeUpdt.jsp (revision 17) @@ -22,18 +22,15 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> <c:set var="pageTitle"><spring:message code="comSymCcmCcc.cmmnClCodeVO.title"/></c:set> -<!DOCTYPE html> -<html> -<head> -<title>${pageTitle } <spring:message code="title.update" /></title> -<meta http-equiv="content-type" content="text/html; charset=utf-8"> -<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> <script type="text/javascript" src="<c:url value="/validator.do"/>"></script> <validator:javascript formName="cmmnClCodeVO" staticJavascript="false" xhtml="true" cdata="false"/> <script type="text/javascript"> /* ******************************************************** * 초기화 ******************************************************** */ +$(function() { + fn_egov_init(); +}) function fn_egov_init(){ // 첫 입력란에 포커스.. document.getElementById("cmmnClCodeVO").clCodeNm.focus(); @@ -58,79 +55,87 @@ cmmnClCodeVO.submit(); } </script> -</head> -<body onLoad="fn_egov_init();"> <!-- 상단타이틀 --> +<div class="board_header"> + <h3>${pageTitle } + <spring:message code="title.update" /> + </h3> +</div> <form:form commandName="cmmnClCodeVO" action="${pageContext.request.contextPath}/sym/ccm/ccc/UpdateCcmCmmnClCode.do" method="post" onSubmit="fn_egov_updt_code(document.forms[0]); return false;"> -<div class="wTableFrm"> - <h2>${pageTitle} <spring:message code="title.update" /></h2> - <!-- 수정폼 --> - <table class="wTable" summary="<spring:message code="common.summary.update" arguments="${pageTitle}" />"> - <caption>${pageTitle} <spring:message code="title.update" /></caption> - <colgroup> - <col style="width: 20%;"><col style="width: ;"> - </colgroup> - <tbody> - <!-- 입력 --> - <c:set var="inputTxt"><spring:message code="input.input" /></c:set> - <c:set var="inputYes"><spring:message code="input.yes" /></c:set> - <c:set var="inputNo"><spring:message code="input.no" /></c:set> - - <!-- 분류코드 --> - <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCode"/> </c:set> - <tr> - <th><label for="clCode">${title} <span class="pilsu">*</span></label></th> - <td class="left"> - <form:input path="clCode" title="${title} ${inputTxt}" size="70" maxlength="70" readonly="true" /> - <div><form:errors path="clCode" cssClass="error" /></div> - </td> - </tr> - <!-- 분류코드명 --> - <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeNm"/> </c:set> - <tr> - <th><label for="clCodeNm">${title} <span class="pilsu">*</span></label></th> - <td class="left"> - <form:input path="clCodeNm" title="${title} ${inputTxt}" size="70" maxlength="70" /> - <div><form:errors path="clCodeNm" cssClass="error" /></div> - </td> - </tr> - - <!-- 분류코드설명 --> - <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeDc"/> </c:set> - <tr> - <th><label for="clCodeDc">${title } <span class="pilsu">*</span></label></th> - <td class="nopd"> - <form:textarea path="clCodeDc" title="${title} ${inputTxt}" cols="300" rows="20" /> - <div><form:errors path="clCodeDc" cssClass="error" /></div> - </td> - </tr> - - <!-- 사용여부 --> - <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.useAt"/> </c:set> - <tr> - <th><label for="useAt">${title } <span class="pilsu">*</span></label></th> - <td class="left"> - <form:select path="useAt" title="${title} ${inputTxt }" cssClass="txt"> - <form:option value="Y" label=" ${inputYes}"/> - <form:option value="N" label=" ${inputNo}"/> - </form:select> - <div><form:errors path="useAt" cssClass="error" /></div> - </td> - </tr> - - </tbody> - </table> - + <div class="board_body"> + <p class="must_text"><em>*</em>는 필수 입력사항입니다.</p> + <table class="table_write" summary="<spring:message code="common.summary.update" arguments="${pageTitle}" />"> + <caption>코드관리 - 분류코드, 분류코드명, 분류코드설명, 사용여부로 구성</caption> + <colgroup> + <col style="width: 20%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputYes"><spring:message code="input.yes" /></c:set> + <c:set var="inputNo"><spring:message code="input.no" /></c:set> + + <!-- 분류코드 --> + <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCode"/> </c:set> + <tr> + <th scope="row" class="must"><label for="clCode">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="clCode" title="${title} ${inputTxt}" size="70" maxlength="70" readonly="true" cssClass="width100p inputText"/> + <div><form:errors path="clCode" cssClass="error" /></div> + </td> + </tr> + <!-- 분류코드명 --> + <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeNm"/> </c:set> + <tr> + <th scope="row" class="must"><label for="clCodeNm">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="clCodeNm" title="${title} ${inputTxt}" size="70" maxlength="70" cssClass="width100p inputText"/> + <div><form:errors path="clCodeNm" cssClass="error" /></div> + </td> + </tr> + + <!-- 분류코드설명 --> + <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeDc"/> </c:set> + <tr> + <th scope="row" class="must"><label for="clCodeDc">${title }</label></th> + <td class="nopd"> + <form:textarea path="clCodeDc" title="${title} ${inputTxt}" cols="300" rows="20" cssClass="width100p textArea"/> + <div><form:errors path="clCodeDc" cssClass="error" /></div> + </td> + </tr> + + <!-- 사용여부 --> + <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.useAt"/> </c:set> + <tr> + <th scope="row" class="must"><label for="useAt">${title }</label></th> + <td class="left"> + <form:select path="useAt" title="${title} ${inputTxt }" cssClass="selectText"> + <form:option value="Y" label=" ${inputYes}"/> + <form:option value="N" label=" ${inputNo}"/> + </form:select> + <div><form:errors path="useAt" cssClass="error" /></div> + </td> + </tr> + + </tbody> + </table> + </div> <!-- 하단 버튼 --> - <div class="btn"> - <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="button.update" /> <spring:message code="input.button" />" /> - <a href="<c:url value='/sym/ccm/ccc/SelectCcmCmmnClCodeList.do' />" class="btn_s" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a> - </div><div style="clear:both;"></div> - -</div> -</form:form> - -</body> -</html> \ No newline at end of file + <div class="board_footer"> + <div class="fl bottom_wrap"> + <button class="btn_s" type="button" onclick="fn_egov_inqire_code(); return false;" title="<spring:message code="button.list" /> <spring:message code="input.button" />"> + <spring:message code="button.list" /> + </button> + </div> + <div class="fr bottom_wrap"> + <button class="btn_s" type="button" onclick="fn_egov_updt_code(document.forms[0]); return false;" title="<spring:message code="button.update" /> <spring:message code="input.button" />"> + <spring:message code="button.update" /> + </button> + </div> + </div> + <input name="searchCondition" type="hidden" value="<c:out value='${searchVO.searchCondition}'/>"> + <input name="searchKeyword" type="hidden" value="<c:out value='${searchVO.searchKeyword}'/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> +</form:form> \ No newline at end of file Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeList.jsp (revision 16) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeList.jsp (revision 17) @@ -46,6 +46,7 @@ ******************************************************** */ function fn_egov_search_code(){ document.CcmClCodeForm.pageIndex.value = 1; + document.CcmClCodeForm.action = "<c:url value='/sym/ccm/ccc/SelectCcmCmmnClCodeList.do'/>"; document.CcmClCodeForm.submit(); } /* ******************************************************** @@ -126,7 +127,7 @@ <!-- paging navigation --> <div class="page" role="group" aria-label="..."> <ul> - <ui:pagination paginationInfo="${paginationInfo}" type="admin" jsFunction="linkPage" /> + <ui:pagination paginationInfo="${paginationInfo}" type="admin" jsFunction="fn_egov_select_linkPage" /> </ul> </div> <div class="bottom_wrap fr"> Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeDetail.jsp (revision 16) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeDetail.jsp (revision 17) @@ -22,78 +22,102 @@ <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%pageContext.setAttribute("crlf", "\r\n"); %> <c:set var="pageTitle"><spring:message code="comSymCcmCcc.cmmnClCodeVO.title"/></c:set> -<!DOCTYPE html> -<html> -<head> -<title>${pageTitle} <spring:message code="title.detail" /></title> -<meta http-equiv="content-type" content="text/html; charset=utf-8"> -<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> <script type="text/javascript"> /* ******************************************************** - * 삭제처리 + * 목록 으로 가기 + ******************************************************** */ +function fnList(){ + var varForm = document.getElementById("Form"); + varForm.action = "<c:url value='/sym/ccm/ccc/SelectCcmCmmnClCodeList.do' />"; + varForm.clCode.value = ""; + varForm.submit(); +} +/* ******************************************************** + * 수정화면으로 바로가기 ******************************************************** */ - function fn_egov_delete_code(clCode){ - if(confirm("<spring:message code="common.delete.msg" />")){ - // Delete하기 위한 키값을 셋팅 - document.CcmClCodeForm.clCode.value = clCode; - document.CcmClCodeForm.action = "<c:url value='/sym/ccm/ccc/RemoveCcmCmmnClCode.do'/>"; - document.CcmClCodeForm.submit(); - } -} +function fnModify(){ + var varForm = document.getElementById("Form"); + varForm.action = "<c:url value='/sym/ccm/ccc/UpdateCcmCmmnClCodeView.do'/>"; + varForm.clCode.value = "${result.clCode}"; + varForm.submit(); +} +/* ******************************************************** + * 삭제 처리 함수 + ******************************************************** */ +function fnDelete(){ + if (confirm("<spring:message code="common.delete.msg" />")) { + var varForm = document.getElementById("Form"); + varForm.action = "<c:url value='/sym/ccm/ccc/RemoveCcmCmmnClCode.do'/>"; + varForm.clCode.value = "${result.clCode}"; + varForm.submit(); + } +} </script> -</head> -<body> -<form name="CcmClCodeForm" action="<c:url value='/sym/ccm/ccc/UpdateCcmCmmnClCodeView.do'/>" method="post"> -<div class="wTableFrm"> - <!-- 타이틀 --> - <h2>${pageTitle} <spring:message code="title.detail" /></h2> - - <!-- 상세조회 --> - <table class="wTable" summary="<spring:message code="common.summary.inqire" arguments="${pageTitle}" />"> - <caption>${pageTitle} <spring:message code="title.detail" /></caption> - <colgroup> - <col style="width: 20%;"> - <col style="width: ;"> - </colgroup> - <tbody> - <!-- 분류코드 --> - <tr> - <th><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCode" /></th> - <td class="left"><c:out value="${result.clCode}"/></td> - </tr> - <!-- 분류코드명 --> - <tr> - <th><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeNm" /></th> - <td class="left"><c:out value="${result.clCodeNm}"/></td> - </tr> - <!-- 분류코드설명 --> - <tr> - <th class="vtop"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeDc" /></th> - <td class="cnt"> - <c:out value="${fn:replace(result.clCodeDc , crlf , '<br/>')}" escapeXml="false" /> - </td> - </tr> - <!-- 사용여부 --> - <tr> - <th><spring:message code="comSymCcmCcc.cmmnClCodeVO.useAt" /></th> - <td class="left"><c:out value="${result.useAt}"/></td> - </tr> - - - </tbody> +<!-- 타이틀 --> +<div class="board_header"> + <h3>${pageTitle } + <spring:message code="title.detail" /> + </h3> +</div> +<div class="board_body"> + <table class="table_write"> + <caption>코드관리 - 분류코드, 분류코드명, 분류코드설명, 사용여부로 구성</caption> + <colgroup> + <col style="width:20%;"> + <col style="width:80%;"> + </colgroup> + <tbody> + <!-- 분류코드 --> + <tr> + <th scope="row"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCode" /></th> + <td class="left">${result.clCode}</td> + </tr> + <!-- 분류코드명 --> + <tr> + <th scope="row"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeNm" /></th> + <td class="left">${result.clCodeNm}</td> + </tr> + <!-- 분류코드 설명 --> + <tr> + <th scope="row"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeDc" /></th> + <td class="left">${result.clCodeDc}</td> + </tr> + <!-- 사용여부 --> + <tr> + <th scope="row"><spring:message code="comSymCcmCcc.cmmnClCodeVO.useAt" /></th> + <td class="left"> + <c:out value="${result.useAt}"/> + </td> + </tr> + </tbody> </table> - <!-- 하단 버튼 --> - <div class="btn"> - <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="title.update" /> <spring:message code="input.button" />" /> - <span class="btn_s"><a href="<c:url value='/sym/ccm/ccc/RemoveCcmCmmnClCode.do?clCode=${result.clCode}' />" onClick="fn_egov_delete_code('<c:out value="${result.clCode}"/>'); return false;" title="<spring:message code="title.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></a></span> - <span class="btn_s"><a href="<c:url value='/sym/ccm/ccc/SelectCcmCmmnClCodeList.do' />" title="<spring:message code="title.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> - </div><div style="clear:both;"></div> - </div> - -<input name="clCode" type="hidden" value="<c:out value="${result.clCode}" />"> -</form> - -</body> -</html> +<!-- 하단 버튼 --> +<div class="board_footer"> + <div class="fl bottom_wrap"> + <!-- 목록 --> + <button type="button" class="btn_s" onclick="fnList(); return false;" title="<spring:message code="button.list" /> <spring:message code="input.button" />"> + <spring:message code="button.list" /> + </button> + </div> + <div class="fr bottom_wrap"> + <!-- 삭제 --> + <c:if test="${result.useAt == 'Y'}"> + <button type="button" class="btn_s" onclick="fnDelete(); return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"> + <spring:message code="button.delete" /> + </button> + </c:if> + <!-- 수정 --> + <button type="button" class="btn_s" onclick="fnModify(); return false;" title="<spring:message code="button.update" /> <spring:message code="input.button" />"> + <spring:message code="button.update" /> + </button> + </div> +</div> +<form name="Form" id="Form" method="post" action=""> + <input name="clCode" type="hidden"> + <input type="submit" style="display:none"> + <input name="searchCondition" type="hidden" value="<c:out value='${searchVO.searchCondition}'/>"> + <input name="searchKeyword" type="hidden" value="<c:out value='${searchVO.searchKeyword}'/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> +</form> \ No newline at end of file Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt.jsp (revision 16) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt.jsp (revision 17) @@ -22,18 +22,15 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> <c:set var="pageTitle"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.title"/></c:set> -<!DOCTYPE html> -<html> -<head> -<title>${pageTitle} <spring:message code="title.update" /></title> -<meta http-equiv="content-type" content="text/html; charset=utf-8"> -<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> <script type="text/javascript" src="<c:url value="/validator.do"/>"></script> <validator:javascript formName="cmmnDetailCodeVO" staticJavascript="false" xhtml="true" cdata="false"/> <script type="text/javascript"> /* ******************************************************** * 초기화 ******************************************************** */ +$(function() { + fn_egov_init(); +}) function fn_egov_init(){ // 첫 입력란에 포커스.. document.getElementById("cmmnDetailCodeVO").codeNm.focus(); @@ -55,97 +52,108 @@ * 목록 으로 가기 ******************************************************** */ function fn_egov_inqire_code() { - document.CcmDeCodeForm.action = "<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do'/>"; - document.CcmDeCodeForm.submit(); + cmmnDetailCodeVO.action = "<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do' />"; + cmmnDetailCodeVO.submit(); } </script> -</head> -<body onLoad="fn_egov_init();"> - <!-- 상단타이틀 --> +<div class="board_header"> + <h3>${pageTitle} + <spring:message code="title.update" /> + </h3> +</div> <form:form commandName="cmmnDetailCodeVO" action="${pageContext.request.contextPath}/sym/ccm/cde/UpdateCcmCmmnDetailCode.do" method="post" onSubmit="fn_egov_updt_code(document.forms[0]); return false;"> -<div class="wTableFrm"> - <h2>${pageTitle} <spring:message code="title.update" /></h2> - <!-- 수정폼 --> - <table class="wTable" summary="<spring:message code="common.summary.update" arguments="${pageTitle}" />"> - <caption>${pageTitle} <spring:message code="title.update" /></caption> - <colgroup> - <col style="width: 20%;"><col style="width: ;"> - </colgroup> - <tbody> - <!-- 입력 --> - <c:set var="inputTxt"><spring:message code="input.input" /></c:set> - <c:set var="inputSelect"><spring:message code="input.select"/></c:set> - <c:set var="inputYes"><spring:message code="input.yes" /></c:set> - <c:set var="inputNo"><spring:message code="input.no" /></c:set> - - <!-- 코드ID --> - <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeId"/> </c:set> - <tr> - <th><label for="codeId">${title} <span class="pilsu">*</span></label></th> - <td class="left"> - <form:input path="codeId" title="${title} ${inputSelect}" readonly="true"/> - <div><form:errors path="codeId" cssClass="error" /></div> - - </td> - </tr> - - <!-- 상세코드 --> - <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code"/> </c:set> - <tr> - <th><label for="code">${title} <span class="pilsu">*</span></label></th> - <td class="left"> - <form:input path="code" title="${title} ${inputTxt}" size="70" maxlength="70" readonly="true" /> - <div><form:errors path="code" cssClass="error" /></div> - </td> - </tr> - - <!-- 상세코드명 --> - <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm"/> </c:set> - <tr> - <th><label for="codeNm">${title} <span class="pilsu">*</span></label></th> - <td class="left"> - <form:input path="codeNm" title="${title} ${inputTxt}" size="70" maxlength="70" /> - <div><form:errors path="codeNm" cssClass="error" /></div> - </td> - </tr> - - <!-- 상세코드설명 --> - <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeDc"/> </c:set> - <tr> - <th><label for="codeDc">${title } <span class="pilsu">*</span></label></th> - <td class="nopd"> - <form:textarea path="codeDc" title="${title} ${inputTxt}" cols="300" rows="20" /> - <div><form:errors path="codeDc" cssClass="error" /></div> - </td> - </tr> - - <!-- 사용여부 --> - <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.useAt"/> </c:set> - <tr> - <th><label for="useAt">${title } <span class="pilsu">*</span></label></th> - <td class="left"> - <form:select path="useAt" title="${title} ${inputTxt }" cssClass="txt"> - <form:option value="Y" label=" ${inputYes}"/> - <form:option value="N" label=" ${inputNo}"/> - </form:select> - <div><form:errors path="useAt" cssClass="error" /></div> - </td> - </tr> - - </tbody> - </table> - + <div class="board_body"> + <p class="must_text"> + <em>*</em>는 필수 입력사항입니다. + </p> + <table class="table_write" summary="<spring:message code="common.summary.update" arguments="${pageTitle}" />"> + <caption>코드관리 - 코드ID명, 코드, 코드명, 코드설명, 사용여부로 구성</caption> + <colgroup> + <col style="width: 20%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputSelect"><spring:message code="input.select"/></c:set> + <c:set var="inputYes"><spring:message code="input.yes" /></c:set> + <c:set var="inputNo"><spring:message code="input.no" /></c:set> + + <!-- 코드ID --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeId"/> </c:set> + <tr> + <th scope="row" class="must"><label for="codeId">${title}</label></th> + <td class="left"> + <form:input path="codeId" title="${title} ${inputSelect}" readonly="true" cssClass="inputText width100p"/> + <div><form:errors path="codeId" cssClass="error" /></div> + + </td> + </tr> + + <!-- 상세코드 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code"/> </c:set> + <tr> + <th scope="row" class="must"><label for="code">${title}</label></th> + <td class="left"> + <form:input path="code" title="${title} ${inputTxt}" size="70" maxlength="70" readonly="true" cssClass="inputText width100p"/> + <div><form:errors path="code" cssClass="error" /></div> + </td> + </tr> + + <!-- 상세코드명 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm"/> </c:set> + <tr> + <th scope="row" class="must"><label for="codeNm">${title}</label></th> + <td class="left"> + <form:input path="codeNm" title="${title} ${inputTxt}" size="70" maxlength="70" cssClass="inputText width100p"/> + <div><form:errors path="codeNm" cssClass="error" /></div> + </td> + </tr> + + <!-- 상세코드설명 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeDc"/> </c:set> + <tr> + <th scope="row" class="must"><label for="codeDc">${title }</label></th> + <td class="nopd"> + <form:textarea path="codeDc" title="${title} ${inputTxt}" cols="300" rows="20" cssClass="textArea width100p height100" /> + <div><form:errors path="codeDc" cssClass="error" /></div> + </td> + </tr> + + <!-- 사용여부 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.useAt"/> </c:set> + <tr> + <th scope="row" class="must"><label for="useAt">${title }</label></th> + <td class="left"> + <form:select path="useAt" title="${title} ${inputTxt }" cssClass="selectText"> + <form:option value="Y" label=" ${inputYes}"/> + <form:option value="N" label=" ${inputNo}"/> + </form:select> + <div><form:errors path="useAt" cssClass="error" /></div> + </td> + </tr> + </tbody> + </table> + </div> <!-- 하단 버튼 --> - <div class="btn"> - <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="button.update" /> <spring:message code="input.button" />" /> - <a href="<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do' />" class="btn_s" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a> - </div><div style="clear:both;"></div> - -</div> + <div class="board_footer"> + <!-- 하단 버튼 --> + <div class="bottom_wrap fl"> + <!-- 목록 --> + <button class="btn_s" type="button" onclick="fn_egov_inqire_code(); return false;" title="<spring:message code="button.list" /> <spring:message code="input.button" />"> + <spring:message code="button.list" /> + </button> + </div> + <div class="bottom_wrap fr"> + <!-- 수정 --> + <button class="btn_s" type="submit" title="<spring:message code="button.update" /> <spring:message code="input.button" />"> + <spring:message code="button.update" /> + </button> + </div> + </div> + <input name="searchCondition" type="hidden" value="<c:out value='${searchVO.searchCondition}'/>"> + <input name="searchKeyword" type="hidden" value="<c:out value='${searchVO.searchKeyword}'/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> </form:form> - -</body> -</html> \ No newline at end of file Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeList.jsp (revision 16) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeList.jsp (revision 17) @@ -21,16 +21,13 @@ <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> <c:set var="pageTitle"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.title"/></c:set> -<!DOCTYPE html> -<html> -<head> -<title>${pageTitle} <spring:message code="title.list" /></title> -<meta http-equiv="content-type" content="text/html; charset=utf-8"> -<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> <script type="text/javascript"> /********************************************************* * 초기화 ******************************************************** */ +$(function() { + fn_egov_init(); +}) function fn_egov_init(){ // 첫 입력란에 포커스.. document.CcmDeCodeForm.searchCondition.focus(); @@ -49,10 +46,11 @@ ******************************************************** */ function fn_egov_search_code(){ document.CcmDeCodeForm.pageIndex.value = 1; + document.CcmDeCodeForm.action = "<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do'/>"; document.CcmDeCodeForm.submit(); } /* ******************************************************** - * 상세회면 처리 함수 + * 상세화면 처리 함수 ******************************************************** */ function fn_egov_inquire_codedetail(codeId, code) { // 사이트 키값(siteId) 셋팅. @@ -61,85 +59,100 @@ document.CcmDeCodeForm.action = "<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeDetail.do'/>"; document.CcmDeCodeForm.submit(); } +/* ******************************************************** + * 등록화면 처리 함수 + ******************************************************** */ +function fn_egov_regist_codedetail() { + document.CcmDeCodeForm.action = "<c:url value='/sym/ccm/cde/RegistCcmCmmnDetailCodeView.do'/>"; + document.CcmDeCodeForm.submit(); +} +/* ******************************************************** + * 엑셀다운로드 + ******************************************************** */ +function fnDownloadExcel() { + document.CcmDeCodeForm.action = '<c:url value="/sym/ccm/cde/downloadExcel.do" />'; + document.CcmDeCodeForm.submit(); +} </script> -</head> -<body onload="fn_egov_init()"> -<form name="CcmDeCodeForm" action="<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do'/>" method="post" onSubmit="fn_egov_search_code(); return false;"> -<div class="board"> - <h1>${pageTitle} <spring:message code="title.list" /></h1> - - <!-- 검색영역 --> - <!-- 검색조건선택 --> - <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> - <ul> - <li> - <select name="searchCondition" title="<spring:message code="title.searchCondition" />"> - <option selected value=''><spring:message code="input.select" /></option><!-- 선택하세요 --> - <option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if> ><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeId" /></option><!-- 코드ID --> - <option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if> ><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code" /></option><!-- 코드ID --> - <option value="3" <c:if test="${searchVO.searchCondition == '3'}">selected="selected"</c:if> ><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm" /></option><!-- 코드명 --> - </select> - </li> +<form name="CcmDeCodeForm" action="<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do'/>" method="post" onSubmit="fn_egov_search_code(); return false;"> + <div class="board_header"> + <h3> + <c:out value="${pageTitle}" /> + <spring:message code="title.list" /> + </h3> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <select name="searchCondition" id="searchCondition" class="select fl" title="<spring:message code="comUssUmt.userManageSsearch.searchConditioTitle" />"> + <option selected value="0"><spring:message code="title.all" /></option> + <option value='1' <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if>><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeId" /></option><!-- 코드ID --> + <option value='2' <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if>><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code" /></option><!-- 코드 --> + <option value='3' <c:if test="${searchVO.searchCondition == '3'}">selected="selected"</c:if>><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm" /></option> + </select> <!-- 검색키워드 및 조회버튼 --> - <li> - <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="155" > - <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /> - <span class="btn_b"><a href="<c:url value='/sym/ccm/cde/RegistCcmCmmnDetailCodeView.do' />" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span> - </li> - </ul> + <input class="inputText" name="searchKeyword" type="text" size="35" placeholder="검색어를 입력하세요" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="255"> + <button type="button" class="btn_board" onclick="fn_egov_search_code(); return false;" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />"> + <spring:message code="button.inquire" /> + </button> + </div> </div> - - <!-- 목록영역 --> - <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> - <caption>${pageTitle}<spring:message code="title.list" /></caption> - <colgroup> - <col style="width: 9%;"> - <col style="width: 40%;"> - <col style="width: 13%;"> - <col style="width: 40%;"> - <col style="width: 13%;"> - </colgroup> - <thead> - <tr> - <th><spring:message code="table.num" /></th><!-- 번호 --> - <th><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeId" /></th><!-- 코드ID --> - <th class="board_th_link"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code" /></th><!-- 코드 --> - <th><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm"/></th><!-- 코드명 --> - <th><spring:message code="comSymCcmCde.cmmnDetailCodeVO.useAt" /></th><!-- 사용여부 --> - </tr> - </thead> - <tbody class="ov"> - <c:if test="${fn:length(resultList) == 0}"> - <tr> - <td colspan="5"><spring:message code="common.nodata.msg" /></td> - </tr> - </c:if> - <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> - <tr> - <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> - <td><c:out value='${resultInfo.codeId}'/></td> - <td><c:out value='${resultInfo.code}'/></td> - <td><a href="<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeDetail.do'/>?codeId=${resultInfo.codeId}&amp;code=${resultInfo.code}" onClick="fn_egov_inquire_codedetail('<c:out value="${resultInfo.codeId}"/>','<c:out value="${resultInfo.code}"/>');return false;"><c:out value='${fn:substring(resultInfo.codeNm, 0, 40)}'/></a></td> - <td><c:out value='${resultInfo.useAt}'/></td> - </tr> - </c:forEach> - </tbody> - </table> - - <!-- paging navigation --> - <div class="pagination"> - <ul> - <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/> - </ul> + <div class="board_body"> + <div class="board_infomation flex between itemC"> + <p> + 총 : <span>${paginationInfo.totalRecordCount}</span>건, 쪽번호 : <span>${paginationInfo.currentPageNo }</span> / <span>${paginationInfo.totalPageCount }</span> + </p> + <button type="button" class="btn_s bgWhite btn_excel" onclick="fnDownloadExcel(); return false;"> 엑셀다운로드</button> + </div> + <!-- 목록영역 --> + <table class="table_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>코드관리 - 번호, 코드ID, 코드ID명, 코드, 코드명, 사용여부로 구성</caption> + <colgroup> + <col style="width: 9%;"> + <col style="width: 40%;"> + <col style="width: 13%;"> + <col style="width: 40%;"> + <col style="width: 13%;"> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="table.num" /></th><!-- 번호 --> + <th scope="col"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeId" /></th><!-- 코드ID --> + <th scope="col"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code" /></th><!-- 코드 --> + <th scope="col"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm"/></th><!-- 코드명 --> + <th scope="col"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.useAt" /></th><!-- 사용여부 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="5"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value='${resultInfo.codeId}'/></td> + <td><c:out value='${resultInfo.code}'/></td> + <td><a href="<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeDetail.do'/>?codeId=${resultInfo.codeId}&amp;code=${resultInfo.code}" onClick="fn_egov_inquire_codedetail('<c:out value="${resultInfo.codeId}"/>','<c:out value="${resultInfo.code}"/>');return false;"><c:out value='${fn:substring(resultInfo.codeNm, 0, 40)}'/></a></td> + <td><c:out value='${resultInfo.useAt}'/></td> + </tr> + </c:forEach> + </tbody> + </table> </div> - -</div> - -<input name="codeId" type="hidden" value=""> -<input name="code" type="hidden" value=""> -<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <div class="board_footer"> + <!-- paging navigation --> + <div class="page" role="group" aria-label="..."> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="admin" jsFunction="fn_egov_select_linkPage" /> + </ul> + </div> + <div class="bottom_wrap fr"> + <button type="button" class="btn_s" onClick="fn_egov_regist_codedetail(document.forms[0]); return false;" title="<spring:message code="button.create" /> <spring:message code="input.button" />"> + <spring:message code="button.create" /> + </button> + </div> + </div> + <input name="codeId" type="hidden" value=""> + <input name="code" type="hidden" value=""> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> </form> - -</body> -</html> \ No newline at end of file Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail.jsp (revision 16) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail.jsp (revision 17) @@ -22,12 +22,6 @@ <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%pageContext.setAttribute("crlf", "\r\n"); %> <c:set var="pageTitle"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.title"/></c:set> -<!DOCTYPE html> -<html> -<head> -<title>${pageTitle} <spring:message code="title.detail" /></title> -<meta http-equiv="content-type" content="text/html; charset=utf-8"> -<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> <script type="text/javascript"> /* ******************************************************** * 삭제처리 @@ -41,66 +35,85 @@ document.CcmDeCodeForm.submit(); } } +/* ******************************************************** + * 목록처리 + ******************************************************** */ + function fn_egov_inquire_list(){ + document.CcmDeCodeForm.action = "<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do' />"; + document.CcmDeCodeForm.submit(); +} </script> -</head> -<body> - +<!-- 타이틀 --> +<div class="board_header"> + <h3>${pageTitle} + <spring:message code="title.detail" /> + </h3> +</div> <form name="CcmDeCodeForm" action="<c:url value='/sym/ccm/cde/UpdateCcmCmmnDetailCodeView.do'/>" method="post"> -<div class="wTableFrm"> - <!-- 타이틀 --> - <h2>${pageTitle} <spring:message code="title.detail" /></h2> - <!-- 상세조회 --> - <table class="wTable" summary="<spring:message code="common.summary.inqire" arguments="${pageTitle}" />"> - <caption>${pageTitle} <spring:message code="title.detail" /></caption> - <colgroup> - <col style="width: 20%;"> - <col style="width: ;"> - </colgroup> - <tbody> - <!-- 코드ID명 --> - <tr> - <th><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeIdNm" /></th> - <td class="left"><c:out value="${result.codeIdNm}"/></td> - </tr> - <!-- 상세코드 --> - <tr> - <th><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code" /></th> - <td class="left"><c:out value="${result.code}"/></td> - </tr> - <!-- 상세코드명 --> - <tr> - <th><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm" /></th> - <td class="left"><c:out value="${result.codeNm}"/></td> - </tr> - <!-- 상세코드설명 --> - <tr> - <th class="vtop"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeDc" /></th> - <td class="cnt"> - <c:out value="${fn:replace(result.codeDc , crlf , '<br/>')}" escapeXml="false" /> - </td> - </tr> - <!-- 사용여부 --> - <tr> - <th><spring:message code="comSymCcmCde.cmmnDetailCodeVO.useAt" /></th> - <td class="left"><c:out value="${result.useAt}"/></td> - </tr> - - - </tbody> - </table> + <div class="board_body"> + <table class="table_write" summary="<spring:message code="common.summary.inqire" arguments="${pageTitle}" />"> + <caption>코드관리 - 코드ID명, 코드, 코드명, 코드설명, 사용여부로 구성</caption> + <colgroup> + <col style="width: 20%;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 코드ID명 --> + <tr> + <th scope="row"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeIdNm" /></th> + <td class="left"><c:out value="${result.codeIdNm}"/></td> + </tr> + <!-- 상세코드 --> + <tr> + <th scope="row"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code" /></th> + <td class="left"><c:out value="${result.code}"/></td> + </tr> + <!-- 상세코드명 --> + <tr> + <th scope="row"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm" /></th> + <td class="left"><c:out value="${result.codeNm}"/></td> + </tr> + <!-- 상세코드설명 --> + <tr> + <th scope="row"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeDc" /></th> + <td class="cnt"> + <c:out value="${fn:replace(result.codeDc , crlf , '<br/>')}" escapeXml="false" /> + </td> + </tr> + <!-- 사용여부 --> + <tr> + <th scope="row"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.useAt" /></th> + <td class="left"><c:out value="${result.useAt}"/></td> + </tr> + </tbody> + </table> + </div> <!-- 하단 버튼 --> - <div class="btn"> - <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="title.update" /> <spring:message code="input.button" />" /> - <span class="btn_s"><a href="<c:url value='/sym/ccm/cde/RemoveCcmCmmnDetailCode.do?codeId=${result.codeId}&amp;code=${result.code}' />" onClick="fn_egov_delete_code('<c:out value="${result.codeId}"/>','<c:out value="${result.code}"/>'); return false;" title="<spring:message code="title.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></a></span> - <span class="btn_s"><a href="<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do' />" title="<spring:message code="title.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> - </div><div style="clear:both;"></div> - -</div> + <div class="board_footer"> + <div class="bottom_wrap fl"> + <!-- 목록 --> + <button type="button" class="btn_s" onclick="fn_egov_inquire_list(document.forms[0]); return false;" title="<spring:message code="title.list" /> <spring:message code="input.button" />"> + <spring:message code="button.list" /> + </button> + </div> + <div class="bottom_wrap fr"> + <!-- 삭제 --> + <c:if test="${result.useAt == 'Y'}"> + <button type="button" class="btn_s" onclick="fn_egov_delete_code('<c:out value="${result.codeId}"/>','<c:out value="${result.code}"/>'); return false;" title="<spring:message code="title.delete" /> <spring:message code="input.button" />"> + <spring:message code="button.delete" /> + </button> + </c:if> + <!-- 수정 --> + <button type="submit" class="btn_s" title="<spring:message code="title.update" /> <spring:message code="input.button" />"> + <spring:message code="button.update" /> + </button> + </div> + </div> -<input name="codeId" type="hidden" value="<c:out value="${result.codeId}" />"> -<input name="code" type="hidden" value="<c:out value="${result.code}" />"> + <input name="codeId" type="hidden" value="<c:out value="${result.codeId}" />"> + <input name="code" type="hidden" value="<c:out value="${result.code}" />"> + <input name="searchCondition" type="hidden" value="<c:out value='${searchVO.searchCondition}'/>"> + <input name="searchKeyword" type="hidden" value="<c:out value='${searchVO.searchKeyword}'/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> </form> - -</body> -</html> Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.jsp (revision 16) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.jsp (revision 17) @@ -24,23 +24,18 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> <c:set var="pageTitle"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.title"/></c:set> -<!DOCTYPE html> -<html> -<head> -<title>${pageTitle} <spring:message code="title.create" /></title> -<meta http-equiv="content-type" content="text/html; charset=utf-8"> -<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> <script type="text/javascript" src="<c:url value="/validator.do"/>"></script> <validator:javascript formName="cmmnDetailCodeVO" staticJavascript="false" xhtml="true" cdata="false"/> <script type="text/javascript"> /* ******************************************************** * 초기화 ******************************************************** */ +$(function() { + fn_egov_init(); +}) function fn_egov_init(){ - // 첫 입력란에 포커스 document.getElementById("cmmnDetailCodeVO").clCode.focus(); - } /* ******************************************************** * 목록 으로 가기 @@ -66,117 +61,106 @@ * CodeId 가져오기 ******************************************************** */ function fn_egov_get_CodeId(form){ - form.action="<c:url value='/sym/ccm/cde/RegistCcmCmmnDetailCodeView.do'/>"; form.submit(); } - -/* ******************************************************** -* 서버 처리 후 메세지 화면에 보여주기 -******************************************************** */ -function fncShowMessg(){ - if("<c:out value='${message}'/>" != ''){ - alert("<c:out value='${message}'/>"); - } -} - </script> - -</head> -<body onLoad="fn_egov_init(); fncShowMessg();"> - +<!-- 타이틀 --> +<div class="board_header"> + <h3>${pageTitle} + <spring:message code="title.create" /> + </h3> +</div> <form:form commandName="cmmnDetailCodeVO" method="post" onSubmit="fn_egov_regist_code(document.forms[0]); return false;"> -<div class="wTableFrm"> - <!-- 타이틀 --> - <h2>${pageTitle} <spring:message code="title.create" /></h2> - <!-- 등록폼 --> - <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> - <caption>${pageTitle } <spring:message code="title.create" /></caption> - <colgroup> - <col style="width: 20%;"><col style="width: ;"> - </colgroup> - <tbody> - <!-- 입력/선택 --> - <c:set var="inputTxt"><spring:message code="input.input" /></c:set> - <c:set var="inputSelect"><spring:message code="input.select"/></c:set> - <c:set var="inputYes"><spring:message code="input.yes" /></c:set> - <c:set var="inputNo"><spring:message code="input.no" /></c:set> - <!-- 코드ID --> - <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeId"/> </c:set> - <tr> - <th><label for="codeId">${title} <span class="pilsu">*</span></label></th> - <td class="left"> - <form:select path="clCode" title="${title} ${inputSelect}" onChange="fn_egov_get_CodeId(cmmnDetailCodeVO);"> + <div class="board_body"> + <p class="must_text"> + <em>*</em>는 필수 입력사항입니다. + </p> + <table class="table_write" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>코드관리 - 코드ID명, 코드, 코드명, 코드설명, 사용여부로 구성</caption> + <colgroup> + <col style="width: 20%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력/선택 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputSelect"><spring:message code="input.select"/></c:set> + <c:set var="inputYes"><spring:message code="input.yes" /></c:set> + <c:set var="inputNo"><spring:message code="input.no" /></c:set> + <!-- 코드ID --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeId"/> </c:set> + <tr> + <th scope="row" class="must"><label for="codeId">${title}</label></th> + <td class="left"> + <form:select path="clCode" title="${title} ${inputSelect}" onChange="fn_egov_get_CodeId(cmmnDetailCodeVO);" cssClass="selectText"> <form:option value="" label="${inputSelect}"/> <form:options items="${clCodeList}" itemValue="clCode" itemLabel="clCodeNm"/> - </form:select> - - <form:select path="codeId" title="${title} ${inputSelect}" > + </form:select> + + <form:select path="codeId" title="${title} ${inputSelect}" cssClass="selectText"> <form:option value="" label="${inputSelect}"/> <form:options items="${codeList}" itemValue="codeId" itemLabel="codeIdNm"/> - </form:select> - <div><form:errors path="codeId" cssClass="error" /></div> - - </td> - </tr> - - <!-- 상세코드 --> - <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code"/> </c:set> - <tr> - <th><label for="code">${title} <span class="pilsu">*</span></label></th> - <td class="left"> - <form:input path="code" title="${title} ${inputTxt}" size="70" maxlength="70" /> - <div><form:errors path="code" cssClass="error" /></div> - </td> - </tr> - - <!-- 상세코드명 --> - <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm"/> </c:set> - <tr> - <th><label for="codeNm">${title} <span class="pilsu">*</span></label></th> - <td class="left"> - <form:input path="codeNm" title="${title} ${inputTxt}" size="70" maxlength="70" /> - <div><form:errors path="codeNm" cssClass="error" /></div> - </td> - </tr> + </form:select> + <div><form:errors path="codeId" cssClass="error" /></div> + </td> + </tr> + <!-- 상세코드 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code"/> </c:set> + <tr> + <th scope="row" class="must"><label for="code">${title}</label></th> + <td class="left"> + <form:input path="code" title="${title} ${inputTxt}" size="70" maxlength="70" cssClass="width100p inputText"/> + <div><form:errors path="code" cssClass="error" /></div> + </td> + </tr> - <!-- 상세코드설명 --> - <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeDc"/> </c:set> - <tr> - <th><label for="codeDc">${title } <span class="pilsu">*</span></label></th> - <td class="nopd"> - <form:textarea path="codeDc" title="${title} ${inputTxt}" cols="300" rows="20" /> - <div><form:errors path="codeDc" cssClass="error" /></div> - </td> - </tr> - - <!-- 사용여부 --> - <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.useAt"/> </c:set> - <tr> - <th>${title } <span class="pilsu">*</span></th> - <td class="left"> - <form:select path="useAt" title="${title} ${inputTxt }" cssClass="txt"> - <form:option value="Y" label=" ${inputYes}"/> - <form:option value="N" label=" ${inputNo}"/> - </form:select> - <div><form:errors path="useAt" cssClass="error" /></div> - </td> - </tr> - - </tbody> - </table> - + <!-- 상세코드명 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm"/> </c:set> + <tr> + <th scope="row" class="must"><label for="codeNm">${title}</label></th> + <td class="left"> + <form:input path="codeNm" title="${title} ${inputTxt}" size="70" maxlength="70" cssClass="width100p inputText"/> + <div><form:errors path="codeNm" cssClass="error" /></div> + </td> + </tr> + + <!-- 상세코드설명 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeDc"/> </c:set> + <tr> + <th scope="row" class="must"><label for="codeDc">${title }</label></th> + <td class="nopd"> + <form:textarea path="codeDc" title="${title} ${inputTxt}" cols="300" rows="20" cssClass="textArea width100p height100"/> + <div><form:errors path="codeDc" cssClass="error" /></div> + </td> + </tr> + + <!-- 사용여부 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.useAt"/> </c:set> + <tr> + <th scope="row" class="must">${title }</th> + <td class="left"> + <form:select path="useAt" title="${title} ${inputTxt }" cssClass="selectText"> + <form:option value="Y" label=" ${inputYes}"/> + <form:option value="N" label=" ${inputNo}"/> + </form:select> + <div><form:errors path="useAt" cssClass="error" /></div> + </td> + </tr> + </tbody> + </table> + </div> <!-- 하단 버튼 --> - <div class="btn"> - <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /> - <span class="btn_s"><a href="<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> - </div><div style="clear:both;"></div> - -</div> - -<%-- <input name="cmd" type="hidden" value="<c:out value='save'/>"> --%> + <div class="board_footer"> + <div class="bottom_wrap fl"> + <button class="btn_s" type="button" onclick="fn_egov_list_code(); return false;" title="<spring:message code="button.list" /> <spring:message code="input.button" />"> + <spring:message code="button.list" /> + </button> + </div> + <div class="bottom_wrap fr"> + <button class="btn_s" type="submit" title="<spring:message code="button.create" /> <spring:message code="input.button" />"> + <spring:message code="button.create" /> + </button> + </div> + </div> </form:form> - -</body> -</html>
Add a comment
List