Merge branch 'hylee'

This commit is contained in:
hylee 2022-10-11 14:43:01 +09:00
commit 5e59443324
28 changed files with 2511 additions and 72 deletions

View File

@ -1,53 +1,33 @@
package kcc.kccadr.adjPgrMgr.exmp.answer.web;
import java.util.Map;
import javax.annotation.Resource;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.service.FileVO;
import kcc.kccadr.adjPgrMgr.exmp.app.service.ExmpAppManageService;
import kcc.kccadr.adjPgrMgr.exmp.cmm.ExmpManageVO;
import kcc.kccadr.cmm.KccadrConstants;
import kcc.kccadr.cmm.RestResponse;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.kccadr.adjPgrMgr.exmp.app.service.ExmpAppManageService;
import kcc.kccadr.adjPgrMgr.exmp.cmm.ExmpManageVO;
/**
* 조정위원 관리 구현 클래스
*
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see <pre>
* &lt;&lt; 개정이력(Modification Information) &gt;&gt;
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.08.21 김봉호 최초 생성
* </pre>
*
* @author : 이호영
* @fileName : ExmpAnswerManagerController.java
* @date : 2022.10.11
* @description : 답변서 관리
* ===========================================================
* DATE AUTHOR NOTE
* ----------------------------------------------------------- *
* 2022.10.11 이호영 최초 생성
*
*
*
*/
@Controller
public class ExmpAnswerManagerController {
@ -82,17 +62,21 @@ public class ExmpAnswerManagerController {
exmpManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
exmpManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
exmpManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
// 답변서 코드
exmpManageVO.setCodeId("CC003");
paginationInfo.setTotalRecordCount(exmpAppManageService.selectExmpAppManagerCount(exmpManageVO));
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("list", exmpAppManageService.selectExmpAppManagerList(exmpManageVO));
return "kccadr/adjPgrMgr/exmp/exmpAnswerManagerList";
return "kccadr/adjPgrMgr/exmp/answer/exmpAnswerManagerList";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpAnswerManagerCreate.do")
public String exmpAnswerManagerCreate(ExmpManageVO exmpManageVO) throws Exception {
return "kccadr/adjPgrMgr/exmp/exmpAnswerManagerCreate";
return "kccadr/adjPgrMgr/exmp/answer/exmpAnswerManagerCreate";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpAnswerManagerModify.do")
@ -103,7 +87,7 @@ public class ExmpAnswerManagerController {
model.addAttribute("fileList", resultMap.get("fileList"));
model.addAttribute("mgrInfo", resultMap.get("mgrInfo"));
model.addAttribute("list", resultMap.get("list"));
return "kccadr/adjPgrMgr/exmp/exmpAnswerManagerModify";
return "kccadr/adjPgrMgr/exmp/answer/exmpAnswerManagerModify";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpAnswerManagerDetail.do")
@ -115,7 +99,7 @@ public class ExmpAnswerManagerController {
model.addAttribute("mgrInfo", resultMap.get("mgrInfo"));
model.addAttribute("list", resultMap.get("list"));
return "kccadr/adjPgrMgr/exmp/exmpAnswerManagerDetail";
return "kccadr/adjPgrMgr/exmp/answer/exmpAnswerManagerDetail";
}

View File

@ -61,7 +61,16 @@ public class ExmpAppManagerController {
private EgovFileMngService fileMngService;
///kccadr/adjPgrMgr/expm/AdjustExpmManagerList.do
/**
* @methodName : exmpAppManagerList
* @author : 이호영
* @date : 2022.10.11
* @description : 예문관리 LIST
* @param exmpAppManageVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpAppManagerList.do")
public String exmpAppManagerList(@ModelAttribute("exmpAppManageVO") ExmpManageVO exmpAppManageVO , ModelMap model) throws Exception {
if(exmpAppManageVO.getPageUnit() != 10) {
@ -88,13 +97,13 @@ public class ExmpAppManagerController {
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("list", exmpAppManageService.selectExmpAppManagerList(exmpAppManageVO));
return "kccadr/adjPgrMgr/exmp/exmpAppManagerList";
return "kccadr/adjPgrMgr/exmp/app/exmpAppManagerList";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpAppManagerCreate.do")
public String exmpAppManagerCreate(ExmpManageVO exmpAppManageVO, ModelMap model) throws Exception {
return "kccadr/adjPgrMgr/exmp/exmpAppManagerCreate";
return "kccadr/adjPgrMgr/exmp/app/exmpAppManagerCreate";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpAppManagerModify.do")
@ -105,7 +114,7 @@ public class ExmpAppManagerController {
model.addAttribute("fileList", resultMap.get("fileList"));
model.addAttribute("mgrInfo", resultMap.get("mgrInfo"));
model.addAttribute("list", resultMap.get("list"));
return "kccadr/adjPgrMgr/exmp/exmpAppManagerModify";
return "kccadr/adjPgrMgr/exmp/app/exmpAppManagerModify";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/updateExmpManager.do")
@ -169,7 +178,7 @@ public class ExmpAppManagerController {
model.addAttribute("mgrInfo", resultMap.get("mgrInfo"));
model.addAttribute("list", resultMap.get("list"));
return "kccadr/adjPgrMgr/exmp/exmpAppManagerDetail";
return "kccadr/adjPgrMgr/exmp/app/exmpAppManagerDetail";
}

View File

@ -0,0 +1,136 @@
package kcc.kccadr.adjPgrMgr.exmp.effect.web;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.service.FileVO;
import kcc.kccadr.adjPgrMgr.exmp.app.service.ExmpAppManageService;
import kcc.kccadr.adjPgrMgr.exmp.cmm.ExmpManageVO;
import kcc.kccadr.cmm.KccadrConstants;
import kcc.kccadr.cmm.RestResponse;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
/**
*
* @author : 이호영
* @fileName : ExmpEffectManagerController.java
* @date : 2022.10.11
* @description : 예문관리 - 신청취지
* ===========================================================
* DATE AUTHOR NOTE
* ----------------------------------------------------------- *
* 2022.10.11 이호영 최초 생성
*
*
*
*/
@Controller
public class ExmpEffectManagerController {
@Resource(name = "ExmpAppManageService")
private ExmpAppManageService exmpAppManageService;
@Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil;
@Resource(name="EgovFileMngService")
private EgovFileMngService fileMngService;
/**
* @methodName : exmpEffectManagerList
* @author : 이호영
* @date : 2022.10.11
* @description : 도움말 목록
* @param exmpManageVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpEffectManagerList.do")
public String exmpEffectManagerList(@ModelAttribute("exmpManageVO") ExmpManageVO exmpManageVO , ModelMap model) throws Exception {
if(exmpManageVO.getPageUnit() != 10) {
exmpManageVO.setPageUnit(exmpManageVO.getPageUnit());
}
if("".equals(exmpManageVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
exmpManageVO.setSearchSortCnd("T1.Exmp_CC_TY");
exmpManageVO.setSearchSortOrd("asc");
}
/** paging */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(exmpManageVO.getPageIndex());
paginationInfo.setRecordCountPerPage(exmpManageVO.getPageUnit());
paginationInfo.setPageSize(exmpManageVO.getPageSize());
exmpManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
exmpManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
exmpManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
// 의견 코드
exmpManageVO.setCodeId("05");
paginationInfo.setTotalRecordCount(exmpAppManageService.selectExmpAppManagerCount(exmpManageVO));
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("list", exmpAppManageService.selectExmpAppManagerList(exmpManageVO));
return "kccadr/adjPgrMgr/exmp/effect/exmpEffectManagerList";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpEffectManagerCreate.do")
public String exmpEffectManagerCreate(ExmpManageVO exmpManageVO) throws Exception {
return "kccadr/adjPgrMgr/exmp/effect/exmpEffectManagerCreate";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpEffectManagerModify.do")
public String exmpEffectManagerModify(@ModelAttribute("exmpManageVO") ExmpManageVO exmpManageVO , ModelMap model) throws Exception {
Map<String, Object> resultMap = exmpAppManageService.selectExmpAppManagerInfo(exmpManageVO);;
model.addAttribute("fileList", resultMap.get("fileList"));
model.addAttribute("mgrInfo", resultMap.get("mgrInfo"));
model.addAttribute("list", resultMap.get("list"));
return "kccadr/adjPgrMgr/exmp/effect/exmpEffectManagerModify";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpEffectManagerDetail.do")
public String exmpEffectManagerDetail( ExmpManageVO exmpManageVO , ModelMap model) throws Exception {
Map<String, Object> resultMap = exmpAppManageService.selectExmpAppManagerInfo(exmpManageVO);;
model.addAttribute("fileList", resultMap.get("fileList"));
model.addAttribute("mgrInfo", resultMap.get("mgrInfo"));
model.addAttribute("list", resultMap.get("list"));
return "kccadr/adjPgrMgr/exmp/effect/exmpEffectManagerDetail";
}
}

View File

@ -0,0 +1,134 @@
package kcc.kccadr.adjPgrMgr.exmp.help.web;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.service.FileVO;
import kcc.kccadr.adjPgrMgr.exmp.app.service.ExmpAppManageService;
import kcc.kccadr.adjPgrMgr.exmp.cmm.ExmpManageVO;
import kcc.kccadr.cmm.KccadrConstants;
import kcc.kccadr.cmm.RestResponse;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
/**
*
* @author : 이호영
* @fileName : ExmpHelpManagerController.java
* @date : 2022.10.11
* @description :
* ===========================================================
* DATE AUTHOR NOTE
* ----------------------------------------------------------- *
* 2022.10.11 이호영 최초 생성
*
*
*
*/
@Controller
public class ExmpHelpManagerController {
@Resource(name = "ExmpAppManageService")
private ExmpAppManageService exmpAppManageService;
@Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil;
@Resource(name="EgovFileMngService")
private EgovFileMngService fileMngService;
/**
* @methodName : exmpHelpManagerList
* @author : 이호영
* @date : 2022.10.11
* @description : 도움말 목록
* @param exmpManageVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpHelpManagerList.do")
public String exmpHelpManagerList(@ModelAttribute("exmpManageVO") ExmpManageVO exmpManageVO , ModelMap model) throws Exception {
if(exmpManageVO.getPageUnit() != 10) {
exmpManageVO.setPageUnit(exmpManageVO.getPageUnit());
}
if("".equals(exmpManageVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
exmpManageVO.setSearchSortCnd("T1.Exmp_CC_TY");
exmpManageVO.setSearchSortOrd("asc");
}
/** paging */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(exmpManageVO.getPageIndex());
paginationInfo.setRecordCountPerPage(exmpManageVO.getPageUnit());
paginationInfo.setPageSize(exmpManageVO.getPageSize());
exmpManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
exmpManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
exmpManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
// 의견 코드
exmpManageVO.setCodeId("05");
paginationInfo.setTotalRecordCount(exmpAppManageService.selectExmpAppManagerCount(exmpManageVO));
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("list", exmpAppManageService.selectExmpAppManagerList(exmpManageVO));
return "kccadr/adjPgrMgr/exmp/help/exmpHelpManagerList";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpHelpManagerCreate.do")
public String exmpHelpManagerCreate(ExmpManageVO exmpManageVO) throws Exception {
return "kccadr/adjPgrMgr/exmp/help/exmpHelpManagerCreate";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpHelpManagerModify.do")
public String exmpHelpManagerModify(@ModelAttribute("exmpManageVO") ExmpManageVO exmpManageVO , ModelMap model) throws Exception {
Map<String, Object> resultMap = exmpAppManageService.selectExmpAppManagerInfo(exmpManageVO);;
model.addAttribute("fileList", resultMap.get("fileList"));
model.addAttribute("mgrInfo", resultMap.get("mgrInfo"));
model.addAttribute("list", resultMap.get("list"));
return "kccadr/adjPgrMgr/exmp/help/exmpHelpManagerModify";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpHelpManagerDetail.do")
public String exmpHelpManagerDetail( ExmpManageVO exmpManageVO , ModelMap model) throws Exception {
Map<String, Object> resultMap = exmpAppManageService.selectExmpAppManagerInfo(exmpManageVO);;
model.addAttribute("fileList", resultMap.get("fileList"));
model.addAttribute("mgrInfo", resultMap.get("mgrInfo"));
model.addAttribute("list", resultMap.get("list"));
return "kccadr/adjPgrMgr/exmp/help/exmpHelpManagerDetail";
}
}

View File

@ -34,20 +34,19 @@ import java.util.Map;
/**
* 조정위원 관리 구현 클래스
*
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see <pre>
* &lt;&lt; 개정이력(Modification Information) &gt;&gt;
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.08.21 김봉호 최초 생성
* </pre>
*
* @author : 이호영
* @fileName : ExmpOpinionManagerController.java
* @date : 2022.10.11
* @description : 의견 예문관리
* ===========================================================
* DATE AUTHOR NOTE
* ----------------------------------------------------------- *
* 2022.10.11 이호영 최초 생성
*
*
*
*/
@Controller
public class ExmpOpinionManagerController {
@ -62,6 +61,16 @@ public class ExmpOpinionManagerController {
/**
* @methodName : exmpOpinionManagerList
* @author : 이호영
* @date : 2022.10.11
* @description : 의견 목록
* @param exmpManageVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpOpinionManagerList.do")
public String exmpOpinionManagerList(@ModelAttribute("exmpManageVO") ExmpManageVO exmpManageVO , ModelMap model) throws Exception {
if(exmpManageVO.getPageUnit() != 10) {
@ -82,17 +91,21 @@ public class ExmpOpinionManagerController {
exmpManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
exmpManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
exmpManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
// 의견 코드
exmpManageVO.setCodeId("CC007");
paginationInfo.setTotalRecordCount(exmpAppManageService.selectExmpAppManagerCount(exmpManageVO));
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("list", exmpAppManageService.selectExmpAppManagerList(exmpManageVO));
return "kccadr/adjPgrMgr/exmp/exmpOpinionManagerList";
return "kccadr/adjPgrMgr/exmp/opinion/exmpOpinionManagerList";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpOpinionManagerCreate.do")
public String exmpOpinionManagerCreate(ExmpManageVO exmpManageVO) throws Exception {
return "kccadr/adjPgrMgr/exmp/exmpOpinionManagerCreate";
return "kccadr/adjPgrMgr/exmp/opinion/exmpOpinionManagerCreate";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpOpinionManagerModify.do")
@ -103,7 +116,7 @@ public class ExmpOpinionManagerController {
model.addAttribute("fileList", resultMap.get("fileList"));
model.addAttribute("mgrInfo", resultMap.get("mgrInfo"));
model.addAttribute("list", resultMap.get("list"));
return "kccadr/adjPgrMgr/exmp/exmpOpinionManagerModify";
return "kccadr/adjPgrMgr/exmp/opinion/exmpOpinionManagerModify";
}
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpOpinionManagerDetail.do")
@ -115,7 +128,7 @@ public class ExmpOpinionManagerController {
model.addAttribute("mgrInfo", resultMap.get("mgrInfo"));
model.addAttribute("list", resultMap.get("list"));
return "kccadr/adjPgrMgr/exmp/exmpOpinionManagerDetail";
return "kccadr/adjPgrMgr/exmp/opinion/exmpOpinionManagerDetail";
}

View File

@ -48,7 +48,7 @@
ELSE S2.CODE_NM ||' 외'|| (COUNT(*)-1) || '건'
END EXMP_NMS
FROM ADR_EXMP_DTL S1 INNER JOIN LETTCCMMNDETAILCODE S2
ON S1.EXMP_CD = S2.CODE AND CODE_ID = 'CC040'
ON S1.EXMP_CD = S2.CODE AND CODE_ID = #codeId#
WHERE 1=1
AND S1.EXMP_CC_TY = T1.EXMP_CC_TY
GROUP BY S1.EXMP_CC_TY

View File

@ -7,18 +7,18 @@
<application generated-by="eclipse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://update.zeroturnaround.com/jrebel/rebel-2_1.xsd">
<classpath>
<dir name="${rebel.workspace.path}/kcc_adr_advc_git/target/classes">
<dir name="D:/Development/git_repository/kcc_adr_advc_git/target/classes">
</dir>
</classpath>
<web>
<link target="/">
<dir name="${rebel.workspace.path}/kcc_adr_advc_git/target/m2e-wtp/web-resources">
<dir name="D:/Development/git_repository/kcc_adr_advc_git/target/m2e-wtp/web-resources">
<exclude name="/"/>
</dir>
</link>
<link target="/">
<dir name="${rebel.workspace.path}/kcc_adr_advc_git/src/main/webapp">
<dir name="D:/Development/git_repository/kcc_adr_advc_git/src/main/webapp">
</dir>
</link>
</web>

View File

@ -90,13 +90,13 @@
<!-- cont_tit -->
<div class="cont_tit">
<h2>신청예문관리</h2>
<h2>신청원인예문관리</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>조정진행관리</p>
</li>
<li><span class="cur_nav">신청예문관리</span></li>
<li><span class="cur_nav">신청원인예문관리</span></li>
</ul>
</div>
<!-- //cont_tit -->

View File

@ -0,0 +1,352 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%
/**
* @Class Name : AdjustDeptManagerCreate.jsp
* @Description : 관리자 일정관리
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.16 김봉호 최초 생성
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>예문관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
$(document).ready( function() {
$("#filebutton").click(function () {
$("#file_temp").trigger("click");
});
});
function fncRowAdd(){
// 등록가능한 갯수
var len = $("select[name*=exmpCd]:first option").length;
var rowLen = $(".addTb > table > tbody > tr").length;
var obj = $(".addTb > table > tbody > tr:last");
var cloneObj = obj.clone(true);
console.log('cloneObj : ',cloneObj);
if(len == 0 || rowLen >= (len-1)){
alert("등록가능한 항목은 갯수는 " + (len-1) + "개 입니다.");
return false;
}
var exmpCd = cloneObj.find("select[name*=exmpCd]");
var exmpCn = cloneObj.find("textarea[name*=exmpCn]");
exmpCd.val("");
exmpCn.val("");
exmpCd.attr("name", exmpCd.attr("name").replace(/[0-9]/gi, rowLen));
exmpCn.attr("name", exmpCn.attr("name").replace(/[0-9]/gi, rowLen));
obj.after(cloneObj);
}
function fncRowDel(){
var rowLen = $(".addTb > table > tbody > tr").length;
if(rowLen == 1){
alert("더이상 삭제할 수 없습니다.");
return false;
}
$(".addTb > table > tbody > tr:last").remove();
}
function fncSave(){
var exmpCcTy = "<c:out value='${mgrInfo.exmpCcTy}' />";
if(exmpCcTy != ''){
saveProcess();
}else{
$.ajax({
type: "POST",
url: "/kccadr/adjPgrMgr/exmp/existsExmpManagerDataCheck.do",
data: JSON.stringify({exmpCcTy : $("#exmpCcTy").val()
,codeId : $('#codeId').val()}),
dataType:'json',
async: false,
processData: false,
contentType: "application/json",
cache: false,
success: function (returnData) {
if(returnData.status == "OK"){
saveProcess();
}else{
alert(returnData.data);
return false;
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function saveProcess(){
if(!validation()){
return false;
}
if(confirm("해당내용을 저장 하시겠습니까?")){
var data = new FormData(document.getElementById("createForm"));
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
$.ajax({
type:"POST",
url: "/kccadr/adjPgrMgr/exmp/insertExmpAppManager.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.status == "OK"){
alert(returnData.data);
fncDetail();
}else{
alert(returnData.data);
}
},
error:function(request , status, error){
console.log('request : ', request);
console.log('status : ', status);
console.log('error : ', error);
}
});
}
}
function validation(){
var obj = $(".addTb > table > tbody > tr");
var flag = true;
if($("#exmpTit").val() == ''){
alert("제목을 입력해주세요.");
return flag = false;
}
if($("#exmpCcTy").val() == ''){
alert("저작물을 선택해주세요.");
return flag = false;
}
var validArr = [];
$.each(obj , function(idx, elm){
var cd = $(this).find("select[name*=exmpCd]").val();
var cn = $(this).find("textarea[name*=exmpCn]").val();
validArr[idx] = cd;
var textLen = conByteLeng(cn); //예문 입력 내용 Byte 계산 처리
if(cd == ''){
alert("항목을 선택해주세요.["+(idx+1)+"]");
return flag = false;
}
if(cn == ''){
alert("예문내용을 입력해주세요.["+(idx+1)+"]");
return flag = false;
}
if(Number(textLen) > 2000){
alert("예문 내용의 길이는 2000자를 넘을 수 없습니다.");
return flag = false;
}
});
var checkObj = validArr.reduce((accu, curr) => {
accu[curr] = (accu[curr] || 0)+1;
return accu;
}, {});
$.each(checkObj, function(key, value){
if(parseInt(value) > 1){
alert("동일한 항목을 중복으로 등록하실 수 없습니다.");
return flag = false;
}
});
return flag;
}
function fncGoList(){
var varFrom = document.getElementById("createForm");
varFrom.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpAppManagerList.do'/>";
varFrom.submit();
}
function fncDetail(){
var varFrom = document.getElementById("createForm");
varFrom.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpAppManagerDetail.do'/>";
varFrom.submit();
}
</script>
<style>
#exmpTit{width: 95%}
</style>
</head>
<body>
<form:form id="createForm" name="createForm" commandName="exmpManageVO" method="post">
<input type="hidden" name="limitcount" value="3" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="searchCondition" value="<c:out value='${exmpManageVO.searchCondition}'/>"/>
<input type="hidden" name="searchKeyword" value="<c:out value='${exmpManageVO.searchKeyword}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${exmpManageVO.pageIndex}'/>"/>
<input type="hidden" name="codeId" id="codeId" value="<c:out value="${exmpManageVO.codeId}" />" />
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>신청서예문등록</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li><p>조정진행관리</p></li>
<li><p>신청서예문관리</p></li>
<li><span class="cur_nav">신청서예문등록</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<p class="tb_tit">예문 저작물종류</p>
<div class="tbType02">
<table>
<colgroup>
<col style="width: 150px">
<col style="width: auto;">
<col style="width: 150px">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>제목</th>
<td>
<input type="text" placeholder="제목을 입력해주세요." name="exmpTit" id="exmpTit" value="">
</td>
<th>저작물종류</th>
<td>
<kc:select codeId="CC002" name="exmpCcTy" id="exmpCcTy" defaultText="선택" defaultValue="" selectedValue="${mgrInfo.exmpCcTy}"/>
<%-- <kc:select codeId="CC002" name="exmpCcTy" id="exmpCcTy" defaultText="선택" defaultValue=""/> --%>
</td>
</tr>
<tr>
<th><span class="">첨부파일</span></th>
<td class="upload_area" colspan="3">
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btnType01 btn_add_file">파일 첨부하기</button>
<div class="file_wrap file_upload_box no_img_box">
<table>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th>파일 명</th>
<th>종류</th>
<th>크기</th>
<th>삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<th>파일 명</th>
<th>종류</th>
<th>크기</th>
<th>삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<div class="tb_tit">
<p>항목추가</p>
<div class="btn_wrap">
<button type="button" class="btn_plus" onclick="fncRowAdd(); return false;"><i></i></button>
<button type="button" class="btn_minus" onclick="fncRowDel(); return false;"><i></i></button>
</div>
</div>
<div class="list tbType01 addTb">
<table>
<colgroup>
<col style="width: 27%">
<col style="width: auto">
</colgroup>
<thead>
<tr>
<th>항목</th>
<th>예문내용</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<kc:select codeId="CC040" name="exmpList[0].exmpCd" id="test" defaultText="선택" defaultValue="" selectedValue="" css="style='width:200px; height:38px;'"/>
</td>
<td>
<textarea name="exmpList[0].exmpCn" placeholder="예문을 입력해주세요." style="resize: none; width:96%; margin: 10px 0;"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="area_left">
</div>
<div class="area_right">
<button class="btnType06" onclick="fncSave(); return false;">저장</button>
<button class="btnType03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,174 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%pageContext.setAttribute("crlf", "\r\n"); %>
<%
/**
* @Class Name : AdjustDeptManagerCreate.jsp
* @Description : 관리자 일정관리
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.16 김봉호 최초 생성
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>예문관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function fn_egov_downFile(atchFileId, fileSn){
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
}
function fncGoList(){
var varFrom = document.getElementById("detailForm");
varFrom.exmpCcTy.value = '';
varFrom.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpAppManagerList.do'/>";
varFrom.submit();
}
function fncEdit(){
var varFrom = document.getElementById("detailForm");
varFrom.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpAppManagerModify.do'/>";
varFrom.submit();
}
</script>
</head>
<body>
<form:form id="detailForm" name="detailForm" commandName="exmpManageVO" method="post">
<input type="hidden" name="exmpCcTy" value="<c:out value='${mgrInfo.exmpCcTy}'/>"/>
<input type="hidden" name="searchCondition" value="<c:out value='${exmpManageVO.searchCondition}'/>"/>
<input type="hidden" name="searchKeyword" value="<c:out value='${exmpManageVO.searchKeyword}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${exmpManageVO.pageIndex}'/>"/>
<input type="hidden" name="codeId" value="<c:out value="${exmpManageVO.codeId}" />" />
<input type="hidden" name="exmpMgrId" value="<c:out value="${exmpManageVO.exmpMgrId}" />" />
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>신청서예문상세</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li><p>조정진행관리</p></li>
<li><p>신청서예문관리</p></li>
<li><span class="cur_nav">신청서예문상세</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<p class="tb_tit">예문 저작물종류</p>
<div class="tbType02">
<table>
<colgroup>
<col style="width: 150px">
<col style="width: auto;">
<col style="width: 150px">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>제목</th>
<td>
<c:out value='${mgrInfo.exmpTit}' />
</td>
<th>저작물종류</th>
<td>
<kc:code codeId="CC002" code="${mgrInfo.exmpCcTy}"/>
</td>
</tr>
<c:if test="${not empty fileList }">
<tr>
<th><span class="">첨부파일</span></th>
<td class="upload_area" colspan="3">
<ul class="file_list">
<%--<c:import url="/web/kccadr/kccadrCom/adjstFileDownloadBasicInfo.do"/>--%>
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<li><a href="javascript:fn_egov_downFile('<c:out value='${fileList.atchFileId}' />','<c:out value='${fileList.fileSn}' />')" title="다운로드"><c:out value='${fileList.orignlFileNm}' /></a></li>
</c:forEach>
</ul>
</td>
</tr>
</c:if>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<div class="tb_tit">
<p>항목추가</p>
<%--<div class="btn_wrap">
<button type="button" class="btn_plus" onclick="fncRowAdd(); return false;"><i></i></button>
<button type="button" class="btn_minus" onclick="fncRowDel(); return false;"><i></i></button>
</div>--%>
</div>
<div class="list tbType01 addTb">
<table>
<colgroup>
<col style="width: 20%">
<col style="width: auto">
</colgroup>
<thead>
<tr>
<th>항목</th>
<th>예문내용</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${fn:length(list) eq 0}">
<tr>
<td>
<kc:select codeId="CC040" name="exmpList[0].exmpCd" id="test" defaultText="선택" defaultValue="" selectedValue="" css="style='width:200px; height:38px;'"/>
</td>
<td>
<textarea name="exmpList[0].exmpCn" placeholder="예문을 입력해주세요." style="resize: none; width:96%; margin: 10px 0;"></textarea>
</td>
</tr>
</c:when>
<c:otherwise>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td>
<kc:code codeId="CC040" code="${list.exmpCd}"/>
</td>
<td style="text-align: left; line-height: 30px; padding: 10px;">
<c:out value="${fn:replace(list.exmpCn, crlf , '<br/>')}" escapeXml="false" />
</td>
</tr>
</c:forEach>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="area_left">
</div>
<div class="area_right">
<button class="btnType06" onclick="fncEdit(); return false;">수정</button>
<button class="btnType03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,189 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt" %>
<%
/**
* @Class Name : AdjustDeptManagerList.jsp
* @Description : 조정부관리
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.09 김봉호 최초 생성
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function fncSelectConciliatorManageList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.searchCondition.value = $('#searchCondition').val();
listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpAppManagerList.do'/>";
listForm.submit();
}
function fncCreate() {
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpAppManagerCreate.do'/>";
listForm.submit();
}
function fn_egov_checkAll(){
var FLength = document.getElementsByName("memSeqArr").length;
var checkAllValue = document.getElementById('checkAll').checked;
//undefined
if( FLength == 1){
document.getElementById("memSeqArr0").checked = checkAllValue;
} else {
for(var i=0; i < FLength; i++) {
document.getElementsByName("memSeqArr")[i].checked = checkAllValue;
}
}
}
function fncDetailPage(exmpMgrId){
var listForm = document.listForm ;
listForm.exmpMgrId.value = exmpMgrId;
listForm.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpAppManagerDetail.do'/>";
listForm.submit();
}
</script>
<title>신청서예문관리</title>
</head>
<body>
<form:form id="listForm" name="listForm" method="post">
<input type="hidden" name="pageIndex" value="<c:out value='${exmpAppManageVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${exmpAppManageVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${exmpAppManageVO.searchSortOrd}" />" />
<input type="hidden" name="codeId" value="<c:out value="${exmpAppManageVO.codeId}" />" />
<input type="hidden" name="expmCcTy" value="" />
<input type="hidden" name="exmpMgrId" value="" />
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>신청취지예문관리</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>조정진행관리</p>
</li>
<li><span class="cur_nav">신청취지예문관리</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_top -->
<div class="list_top">
<p>총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}"/></span>건</p>
<div class="list_util">
<select name="searchCondition" id="searchCondition">
<option value="" <c:if test="${empty exmpAppManageVO.searchCondition}">selected="selected"</c:if>>전체</option>
<option value="1" <c:if test="${exmpAppManageVO.searchCondition eq '1'}">selected="selected"</c:if>>제목</option>
<option value="2" <c:if test="${exmpAppManageVO.searchCondition eq '2'}">selected="selected"</c:if>>항목</option>
</select>
<input type="text" id=searchKeyword name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${exmpAppManageVO.searchKeyword}'/>">
<button class="btn_search" onclick="fncSelectConciliatorManageList(); return false;">검색</button>
</div>
</div>
<!-- //list_top -->
<!-- list -->
<div class="list tbType01">
<table>
<colgroup>
<col style="width: 10%">
<col style="width: 10%">
<col style="width: auto">
<col style="width: 25%">
<col style="width: 10%">
</colgroup>
<thead>
<tr>
<th>번호</th>
<th>저작물</th>
<th>제목</th>
<th>항목</th>
<th>등록일</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td>
<c:if test="${exmpAppManageVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((exmpAppManageVO.pageIndex -1)*exmpAppManageVO.pageUnit) ) - status.index }"/>
</c:if>
<c:if test="${exmpAppManageVO.searchSortOrd eq 'asc' }">
<c:out value="${(exmpAppManageVO.pageIndex - 1) * exmpAppManageVO.pageUnit + status.count}"/>
</c:if>
</td>
<td>
<kc:code codeId="${list.codeId}" code="${list.exmpCcTy}"/>
</td>
<td>
<a href="#" onclick="fncDetailPage('${list.exmpMgrId}');"><c:out value="${list.exmpTit}"/></a>
</td>
<td>
<c:out value="${list.exmpNms}"/>
</td>
<td>
<c:out value="${list.frstRegistPnttm}"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="5"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<!-- //list -->
<div class="btn_wrap btn_layout02">
<button class="btnType02" onclick="fncCreate(); return false;" >등록</button>
</div>
<!-- page -->
<!-- <div class="page"> -->
<%-- <ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" /> --%>
<!-- </div> -->
<!-- //page -->
</div>
</div>
</div>
<!-- //cont -->
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -0,0 +1,372 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%
/**
* @Class Name : AdjustDeptManagerCreate.jsp
* @Description : 관리자 일정관리
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.16 김봉호 최초 생성
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>예문관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
$(document).ready( function() {
$("#filebutton").click(function () {
$("#file_temp").trigger("click");
});
});
function fncRowAdd(){
// 등록가능한 갯수
var len = $("select[name*=exmpCd]:first option").length;
var rowLen = $(".addTb > table > tbody > tr").length;
var obj = $(".addTb > table > tbody > tr:last");
var cloneObj = obj.clone(true);
if(len == 0 || rowLen >= (len-1)){
alert("등록가능한 항목은 갯수는 " + (len-1) + "개 입니다.");
return false;
}
var exmpCd = cloneObj.find("select[name*=exmpCd]");
var exmpCn = cloneObj.find("textarea[name*=exmpCn]");
exmpCd.val("");
exmpCn.val("");
exmpCd.attr("name", exmpCd.attr("name").replace(/[0-9]/gi, rowLen));
exmpCn.attr("name", exmpCn.attr("name").replace(/[0-9]/gi, rowLen));
obj.after(cloneObj);
}
function fncRowDel(){
var rowLen = $(".addTb > table > tbody > tr").length;
if(rowLen == 1){
alert("더이상 삭제할 수 없습니다.");
return false;
}
$(".addTb > table > tbody > tr:last").remove();
}
function fn_modifyBtn(){
var exmpCcTy = "<c:out value='${mgrInfo.exmpCcTy}' />";
if(exmpCcTy != ''){
saveProcess();
}else{
$.ajax({
type: "POST",
url: "/kccadr/adjPgrMgr/exmp/existsExmpManagerDataCheck.do",
data: JSON.stringify({exmpCcTy : $("#exmpCcTy").val()}),
dataType:'json',
async: false,
processData: false,
contentType: "application/json",
cache: false,
success: function (returnData) {
if(data.status == "OK"){
saveProcess();
}else{
alert(returnData.data);
return false;
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fn_modifyBtn(){
if(!validation()){
return false;
}
if(confirm("해당내용을 수정 하시겠습니까?")){
var data = new FormData(document.getElementById("modifyForm"));
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
$.ajax({
type:"POST",
url: "/kccadr/adjPgrMgr/exmp/updateExmpManager.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "SUCCESS"){
alert("정상적으로 등록되었습니다.");
fncDetail();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function validation(){
var obj = $(".addTb > table > tbody > tr");
var flag = true;
if($("#exmpTit").val() == ''){
alert("제목을 입력해주세요.");
return flag = false;
}
if($("#exmpCcTy").val() == ''){
alert("저작물을 선택해주세요.");
return flag = false;
}
var validArr = [];
$.each(obj , function(idx, elm){
var cd = $(this).find("select[name*=exmpCd]").val();
var cn = $(this).find("textarea[name*=exmpCn]").val();
validArr[idx] = cd;
var textLen = conByteLeng(cn); //예문 입력 내용 Byte 계산 처리
if(cd == ''){
alert("항목을 선택해주세요.["+(idx+1)+"]");
return flag = false;
}
if(cn == ''){
alert("예문내용을 입력해주세요.["+(idx+1)+"]");
return flag = false;
}
if(Number(textLen) > 2000){
alert("예문 내용의 길이는 2000자를 넘을 수 없습니다.");
return flag = false;
}
});
var checkObj = validArr.reduce((accu, curr) => {
accu[curr] = (accu[curr] || 0)+1;
return accu;
}, {});
$.each(checkObj, function(key, value){
if(parseInt(value) > 1){
alert("동일한 항목을 중복으로 등록하실 수 없습니다.");
return flag = false;
}
});
return flag;
}
function fncGoList(){
var varFrom = document.getElementById("modifyForm");
varFrom.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpAppManagerList.do'/>";
varFrom.submit();
}
function fncDetail(){
var varFrom = document.getElementById("modifyForm");
varFrom.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpAppManagerDetail.do'/>";
varFrom.submit();
}
</script>
<style>
#exmpTit{width: 95%}
</style>
</head>
<body>
<form:form id="modifyForm" name="modifyForm" commandName="exmpAppManageVO" method="post">
<input type="hidden" name="atchFileId" value="<c:out value='${mgrInfo.atchFileId}'/>"/>
<input type="hidden" name="limitcount" value="3" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="searchCondition" value="<c:out value='${exmpAppManageVO.searchCondition}'/>"/>
<input type="hidden" name="searchKeyword" value="<c:out value='${exmpAppManageVO.searchKeyword}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${exmpAppManageVO.pageIndex}'/>"/>
<input type="hidden" name="searchSortOrd" value="<c:out value="${exmpAppManageVO.searchSortOrd}" />"/>
<input type="hidden" name="exmpMgrId" value="<c:out value='${mgrInfo.exmpMgrId}' />">
<input type="hidden" name="codeId" id="codeId" value="<c:out value='${mgrInfo.codeId}' />">
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>신청서예문수정</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li><p>조정진행관리</p></li>
<li><p>신청서예문관리</p></li>
<li><span class="cur_nav">신청서예문수정</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<p class="tb_tit">예문 저작물종류</p>
<div class="tbType02">
<table>
<colgroup>
<col style="width: 150px">
<col style="width: auto;">
<col style="width: 150px">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>제목</th>
<td>
<input type="text" placeholder="제목을 입력해주세요." name="exmpTit" id="exmpTit" value="<c:out value='${mgrInfo.exmpTit}' />">
</td>
<th>저작물종류</th>
<td>
<kc:code codeId="CC002" code="${mgrInfo.exmpCcTy}"/>
<input type="hidden" name="exmpCcTy" value="<c:out value='${mgrInfo.exmpCcTy}'/>"/>
</td>
</tr>
<tr>
<th><span class="">첨부파일</span></th>
<td class="upload_area" colspan="3">
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btnType01 btn_add_file">파일 첨부하기</button>
<div class="file_wrap file_upload_box no_img_box">
<table>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th>파일 명</th>
<th>종류</th>
<th>크기</th>
<th>삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th>파일 명</th>
<th>종류</th>
<th>크기</th>
<th>삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="<c:out value='${fileList.fileSize}' />">
<td class="td_filename">
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<div class="tb_tit">
<p>항목추가</p>
<div class="btn_wrap">
<button type="button" class="btn_plus" onclick="fncRowAdd(); return false;"><i></i></button>
<button type="button" class="btn_minus" onclick="fncRowDel(); return false;"><i></i></button>
</div>
</div>
<div class="list tbType01 addTb">
<table>
<colgroup>
<col style="width: 27%">
<col style="width: auto">
</colgroup>
<thead>
<tr>
<th>항목</th>
<th>예문내용</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<input type="hidden" name="exmpList[${status.index}].exmpDtlId" value="<c:out value='${list.exmpDtlId}' />">
<td>
<kc:select codeId="CC040" name="exmpList[${status.index}].exmpCd" defaultText="선택" defaultValue="" selectedValue="${list.exmpCd}" css="style='width:200px; height:38px;'"/>
</td>
<td>
<textarea name="exmpList[<c:out value='${status.index}' />].exmpCn" placeholder="예문을 입력해주세요." style="resize: none; width:96%; margin: 10px 0;"><c:out value='${list.exmpCn}' /></textarea>
</td>
</tr>
</c:forEach>
</table>
</div>
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="area_left">
</div>
<div class="area_right">
<button class="btnType06" onclick="fn_modifyBtn(); return false;">수정</button>
<button class="btnType03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,178 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt" %>
<%
/**
* @Class Name : AdjustDeptManagerList.jsp
* @Description : 조정부관리
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.09 김봉호 최초 생성
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function fncSelectConciliatorManageList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.searchCondition.value = $('#searchCondition').val();
listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/adjPgrMgr/expm/expmOpinionManagerList.do'/>";
listForm.submit();
}
function fncCreate() {
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpHelpManagerCreate.do'/>";
listForm.submit();
}
function fn_egov_checkAll(){
var FLength = document.getElementsByName("memSeqArr").length;
var checkAllValue = document.getElementById('checkAll').checked;
//undefined
if( FLength == 1){
document.getElementById("memSeqArr0").checked = checkAllValue;
} else {
for(var i=0; i < FLength; i++) {
document.getElementsByName("memSeqArr")[i].checked = checkAllValue;
}
}
}
function fncDetailPage(exmpMgrId){
var listForm = document.listForm ;
listForm.exmpMgrId.value = exmpMgrId;
listForm.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpHelpManagerDetail.do'/>";
listForm.submit();
}
</script>
<title>의견예문관리</title>
</head>
<body>
<form:form id="listForm" name="listForm" method="post">
<input type="hidden" name="pageIndex" value="<c:out value='${exmpManageVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${exmpManageVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${exmpManageVO.searchSortOrd}" />" />
<input type="hidden" name="codeId" value="<c:out value="${exmpManageVO.codeId}" />" />
<input type="hidden" name="exmpMgrId" value="0" />
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>진행단계 도움말 관리</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>조정진행관리</p>
</li>
<li><span class="cur_nav">진행단계 도움말 관리</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_top -->
<div class="list_top">
<p>총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}"/></span>건</p>
<div class="list_util">
<select name="searchCondition" id="searchCondition">
<option value="" <c:if test="${empty exmpManageVO.searchCondition}">selected="selected"</c:if>>전체</option>
<option value="1" <c:if test="${exmpManageVO.searchCondition eq '1'}">selected="selected"</c:if>>제목</option>
<%-- <option value="2" <c:if test="${exmpManageVO.searchCondition eq '2'}">selected="selected"</c:if>>항목</option> --%>
</select>
<input type="text" id=searchKeyword name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${exmpManageVO.searchKeyword}'/>">
<button class="btn_search" onclick="fncSelectConciliatorManageList(); return false;">검색</button>
</div>
</div>
<!-- //list_top -->
<!-- list -->
<div class="list tbType01">
<table>
<colgroup>
<col style="width: 10%">
<col style="width: auto">
<col style="width: 10%">
</colgroup>
<thead>
<tr>
<th>번호</th>
<th>제목</th>
<th>등록일</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td>
<c:if test="${exmpManageVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((exmpManageVO.pageIndex -1)*exmpManageVO.pageUnit) ) - status.index }"/>
</c:if>
<c:if test="${exmpManageVO.searchSortOrd eq 'asc' }">
<c:out value="${(exmpManageVO.pageIndex - 1) * exmpManageVO.pageUnit + status.count}"/>
</c:if>
</td>
<td>
<a href="#" onclick="fncDetailPage('${list.exmpMgrId}');"><c:out value="${list.exmpTit}"/></a>
</td>
<td>
<c:out value="${list.frstRegistPnttm}"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<!-- //list -->
<div class="btn_wrap btn_layout02">
<button class="btnType02" onclick="fncCreate(); return false;" >등록</button>
</div>
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
<!-- //page -->
</div>
</div>
</div>
<!-- //cont -->
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -0,0 +1,386 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%
/**
* @Class Name : AdjustDeptManagerCreate.jsp
* @Description : 관리자 일정관리
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.16 김봉호 최초 생성
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>의견예문등록</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
$(document).ready( function() {
$("#filebutton").click(function () {
$("#file_temp").trigger("click");
});
});
function fncRowAdd(){
// 등록가능한 갯수
var len = $("select[name*=exmpCd]:first option").length;
var rowLen = $(".addTb > table > tbody > tr").length;
var obj = $(".addTb > table > tbody > tr:last");
var cloneObj = obj.clone(true);
console.log('cloneObj : ',cloneObj);
if(len == 0 || rowLen >= (len-1)){
alert("등록가능한 항목은 갯수는 " + (len-1) + "개 입니다.");
return false;
}
var exmpCd = cloneObj.find("select[name*=exmpCd]");
var exmpCn = cloneObj.find("textarea[name*=exmpCn]");
exmpCd.val("");
exmpCn.val("");
exmpCd.attr("name", exmpCd.attr("name").replace(/[0-9]/gi, rowLen));
exmpCn.attr("name", exmpCn.attr("name").replace(/[0-9]/gi, rowLen));
obj.after(cloneObj);
}
function fncRowDel(){
var rowLen = $(".addTb > table > tbody > tr").length;
if(rowLen == 1){
alert("더이상 삭제할 수 없습니다.");
return false;
}
$(".addTb > table > tbody > tr:last").remove();
}
// function fncSave(){
// var exmpCcTy = "<c:out value='${mgrInfo.exmpCcTy}' />";
// if(exmpCcTy != ''){
// saveProcess();
// }else{
// $.ajax({
// type: "POST",
// url: "/kccadr/adjPgrMgr/exmp/existsExmpManagerDataCheck.do",
// data: JSON.stringify({exmpCcTy : 0
// ,codeId : $('#codeId').val()}),
// dataType:'json',
// async: false,
// processData: false,
// contentType: "application/json",
// cache: false,
// success: function (data) {
// if(data.status == "OK"){
// saveProcess();
// }else{
// alert(data.message);
// return false;
// }
// },
// error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
// });
// }
// }
function saveProcess(){
if(!validation()){
return false;
}
if(confirm("해당내용을 저장 하시겠습니까?")){
var data = new FormData(document.getElementById("createForm"));
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
$.ajax({
type:"POST",
url: "/kccadr/adjPgrMgr/exmp/insertExmpAppManager.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
alert(returnData.data);
if(data.status == "OK"){
fncDetail();
}
},
error:function(request , status, error){
console.log('request : ', request);
console.log('status : ', status);
console.log('error : ', error);
}
});
}
}
function validation(){
var obj = $(".addTb > table > tbody > tr");
var flag = true;
if($("#exmpTit").val() == ''){
alert("제목을 입력해주세요.");
return flag = false;
}
var validArr = [];
$.each(obj , function(idx, elm){
var cn = $(this).find("textarea[name*=exmpCn]").val();
var textLen = conByteLeng(cn); //예문 입력 내용 Byte 계산 처리
if(cn == ''){
alert("예문내용을 입력해주세요.["+(idx+1)+"]");
return flag = false;
}
if(Number(textLen) > 2000){
alert("예문 내용의 길이는 2000자를 넘을 수 없습니다.");
return flag = false;
}
});
var checkObj = validArr.reduce((accu, curr) => {
accu[curr] = (accu[curr] || 0)+1;
return accu;
}, {});
$.each(checkObj, function(key, value){
if(parseInt(value) > 1){
alert("동일한 항목을 중복으로 등록하실 수 없습니다.");
return flag = false;
}
});
return flag;
}
function fncGoList(){
var varFrom = document.getElementById("createForm");
varFrom.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpOpinionManagerList.do'/>";
varFrom.submit();
}
function fncDetail(){
var varFrom = document.getElementById("createForm");
varFrom.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpOpinionManagerDetail.do'/>";
varFrom.submit();
}
</script>
<style>
#exmpTit{width: 95%}
</style>
</head>
<body>
<form:form id="createForm" name="createForm" commandName="exmpManageVO" method="post">
<input type="hidden" name="atchFileId" value="<c:out value='${mgrInfo.atchFileId}'/>"/>
<input type="hidden" name="limitcount" value="3" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="searchCondition" value="<c:out value='${exmpManageVO.searchCondition}'/>"/>
<input type="hidden" name="searchKeyword" value="<c:out value='${exmpManageVO.searchKeyword}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${exmpManageVO.pageIndex}'/>"/>
<input type="hidden" name="codeId" id="codeId" value="<c:out value="${exmpManageVO.codeId}" />" />
<input type="hidden" name="exmpCcTy" id="exmpCcTy" value="" />
<!-- <input type="hidden" name="exmpTit" value="답변서예문" /> -->
<!-- <input type="hidden" name="allrowFileExtsn" value="JPG,GIF,PNG,BMP" /> --><!-- 허용 확장자 -->
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>의견예문등록</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li><p>조정진행관리</p></li>
<li><p>의견예문관리</p></li>
<li><span class="cur_nav">의견예문등록</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<p class="tb_tit">의견</p>
<div class="tbType02">
<table>
<colgroup>
<col style="width: 150px">
<col style="width: auto;">
<col style="width: 150px">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>제목</th>
<td>
<input type="text" placeholder="제목을 입력해주세요." name="exmpTit" id="exmpTit" value="<c:out value='${mgrInfo.exmpTit}' />">
</td>
<!-- <th>저작물종류</th> -->
<!-- <td> -->
<%-- <c:choose> --%>
<%-- <c:when test="${not empty mgrInfo}"> --%>
<%-- <kc:code codeId="CC002" code="${mgrInfo.exmpCcTy}"/> --%>
<%-- <input type="hidden" name="exmpCcTy" value="<c:out value='${mgrInfo.exmpCcTy}'/>"/> --%>
<%-- </c:when> --%>
<%-- <c:otherwise> --%>
<%-- <kc:select codeId="CC002" name="exmpCcTy" id="exmpCcTy" defaultText="선택" defaultValue="" selectedValue="${mgrInfo.exmpCcTy}"/> --%>
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
<!-- </td> -->
</tr>
<tr>
<th><span class="">첨부파일</span></th>
<td class="upload_area" colspan="3">
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btnType01 btn_add_file">파일 첨부하기</button>
<div class="file_wrap file_upload_box no_img_box">
<table>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<th>파일 명</th>
<th>종류</th>
<th>크기</th>
<th>삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th>파일 명</th>
<th>종류</th>
<th>크기</th>
<th>삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="<c:out value='${fileList.fileSize}' />">
<td class="td_filename">
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<div class="tb_tit">
<p>예문내용</p>
<!-- <div class="btn_wrap"> -->
<!-- <button type="button" class="btn_plus" onclick="fncRowAdd(); return false;"><i></i></button> -->
<!-- <button type="button" class="btn_minus" onclick="fncRowDel(); return false;"><i></i></button> -->
<!-- </div> -->
</div>
<div class="list tbType01 addTb">
<table>
<colgroup>
<%-- <col style="width: 27%"> --%>
<col style="width: auto">
</colgroup>
<thead>
<tr>
<!-- <th>항목</th> -->
<th>예문내용</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${fn:length(list) eq 0}">
<tr>
<!-- <td> -->
<%-- <kc:select codeId="CC040" name="exmpList[0].exmpCd" id="test" defaultText="선택" defaultValue="" selectedValue="" css="style='width:200px; height:38px;'"/> --%>
<!-- </td> -->
<td>
<textarea name="exmpList[0].exmpCn" placeholder="예문을 입력해주세요." style="resize: none; width:96%; margin: 10px 0;"></textarea>
</td>
</tr>
</c:when>
<c:otherwise>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<!-- <td> -->
<%-- <kc:select codeId="CC040" name="exmpList[${status.index}].exmpCd" defaultText="선택" defaultValue="" selectedValue="${list.exmpCd}" css="style='width:200px; height:38px;'"/> --%>
<!-- </td> -->
<td>
<textarea name="exmpList[<c:out value='${status.index}' />].exmpCn" placeholder="예문을 입력해주세요." style="resize: none; width:96%; margin: 10px 0;"><c:out value='${list.exmpCn}' /></textarea>
</td>
</tr>
</c:forEach>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="area_left">
</div>
<div class="area_right">
<button class="btnType06" onclick="saveProcess(); return false;">저장</button>
<button class="btnType03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,151 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%pageContext.setAttribute("crlf", "\r\n"); %>
<%
/**
* @Class Name : AdjustDeptManagerCreate.jsp
* @Description : 관리자 일정관리
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.16 김봉호 최초 생성
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>예문관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function fn_egov_downFile(atchFileId, fileSn){
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
}
function fncGoList(){
var varFrom = document.getElementById("detailForm");
varFrom.exmpCcTy.value = '';
varFrom.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpOpinionManagerList.do'/>";
varFrom.submit();
}
function fncEdit(){
var varFrom = document.getElementById("detailForm");
varFrom.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpOpinionManagerModify.do'/>";
varFrom.submit();
}
</script>
</head>
<body>
<form:form id="detailForm" name="detailForm" commandName="exmpManageVO" method="post">
<input type="hidden" name="exmpCcTy" value="<c:out value='${mgrInfo.exmpCcTy}'/>"/>
<input type="hidden" name="searchCondition" value="<c:out value='${exmpManageVO.searchCondition}'/>"/>
<input type="hidden" name="searchKeyword" value="<c:out value='${exmpManageVO.searchKeyword}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${exmpManageVO.pageIndex}'/>"/>
<input type="hidden" name="codeId" value="<c:out value="${exmpManageVO.codeId}" />" />
<input type="hidden" name="exmpMgrId" value="<c:out value="${exmpManageVO.exmpMgrId}" />" />
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>의견예문상세</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li><p>조정진행관리</p></li>
<li><p>의견예문관리</p></li>
<li><span class="cur_nav">의견예문상세</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<p class="tb_tit">의견</p>
<div class="tbType02">
<table>
<colgroup>
<col style="width: 150px">
<col style="width: auto;">
<col style="width: 150px">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>제목</th>
<td>
<c:out value='${mgrInfo.exmpTit}' />
</td>
</tr>
<c:if test="${not empty fileList }">
<tr>
<th><span class="">첨부파일</span></th>
<td class="upload_area" colspan="3">
<ul class="file_list">
<%--<c:import url="/web/kccadr/kccadrCom/adjstFileDownloadBasicInfo.do"/>--%>
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<li><a href="javascript:fn_egov_downFile('<c:out value='${fileList.atchFileId}' />','<c:out value='${fileList.fileSn}' />')" title="다운로드"><c:out value='${fileList.orignlFileNm}' /></a></li>
</c:forEach>
</ul>
</td>
</tr>
</c:if>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<div class="tb_tit">
<p>예문</p>
<%--<div class="btn_wrap">
<button type="button" class="btn_plus" onclick="fncRowAdd(); return false;"><i></i></button>
<button type="button" class="btn_minus" onclick="fncRowDel(); return false;"><i></i></button>
</div>--%>
</div>
<div class="list tbType01 addTb">
<table>
<colgroup>
<col style="width: auto">
</colgroup>
<thead>
<tr>
<th>예문내용</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td style="text-align: left; line-height: 30px; padding: 10px;">
<c:out value="${fn:replace(list.exmpCn, crlf , '<br/>')}" escapeXml="false" />
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="area_left">
</div>
<div class="area_right">
<button class="btnType06" onclick="fncEdit(); return false;">수정</button>
<button class="btnType03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,357 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%
/**
* @Class Name : AdjustDeptManagerCreate.jsp
* @Description : 관리자 일정관리
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.16 김봉호 최초 생성
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>의견예문수정</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
$(document).ready( function() {
$("#filebutton").click(function () {
$("#file_temp").trigger("click");
});
});
function fncRowAdd(){
// 등록가능한 갯수
var len = $("select[name*=exmpCd]:first option").length;
var rowLen = $(".addTb > table > tbody > tr").length;
var obj = $(".addTb > table > tbody > tr:last");
var cloneObj = obj.clone(true);
if(len == 0 || rowLen >= (len-1)){
alert("등록가능한 항목은 갯수는 " + (len-1) + "개 입니다.");
return false;
}
var exmpCd = cloneObj.find("select[name*=exmpCd]");
var exmpCn = cloneObj.find("textarea[name*=exmpCn]");
exmpCd.val("");
exmpCn.val("");
exmpCd.attr("name", exmpCd.attr("name").replace(/[0-9]/gi, rowLen));
exmpCn.attr("name", exmpCn.attr("name").replace(/[0-9]/gi, rowLen));
obj.after(cloneObj);
}
function fncRowDel(){
var rowLen = $(".addTb > table > tbody > tr").length;
if(rowLen == 1){
alert("더이상 삭제할 수 없습니다.");
return false;
}
$(".addTb > table > tbody > tr:last").remove();
}
function fn_modifyBtn(){
var exmpCcTy = "<c:out value='${mgrInfo.exmpCcTy}' />";
if(exmpCcTy != ''){
saveProcess();
}else{
$.ajax({
type: "POST",
url: "/kccadr/adjPgrMgr/exmp/existsExmpManagerDataCheck.do",
data: JSON.stringify({exmpCcTy : $("#exmpCcTy").val()}),
dataType:'json',
async: false,
processData: false,
contentType: "application/json",
cache: false,
success: function (returnData) {
if(returnData.status == "OK"){
saveProcess();
}else{
alert(returnData.data);
return false;
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fn_modifyBtn(){
if(!validation()){
return false;
}
if(confirm("해당내용을 수정 하시겠습니까?")){
var data = new FormData(document.getElementById("modifyForm"));
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
$.ajax({
type:"POST",
url: "/kccadr/adjPgrMgr/exmp/updateExmpManager.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.status == "OK"){
alert("정상적으로 등록되었습니다.");
fncDetail();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function validation(){
var obj = $(".addTb > table > tbody > tr");
var flag = true;
if($("#exmpTit").val() == ''){
alert("제목을 입력해주세요.");
return flag = false;
}
if($("#exmpCcTy").val() == ''){
alert("저작물을 선택해주세요.");
return flag = false;
}
var validArr = [];
$.each(obj , function(idx, elm){
var cd = $(this).find("select[name*=exmpCd]").val();
var cn = $(this).find("textarea[name*=exmpCn]").val();
validArr[idx] = cd;
var textLen = conByteLeng(cn); //예문 입력 내용 Byte 계산 처리
if(cd == ''){
alert("항목을 선택해주세요.["+(idx+1)+"]");
return flag = false;
}
if(cn == ''){
alert("예문내용을 입력해주세요.["+(idx+1)+"]");
return flag = false;
}
if(Number(textLen) > 2000){
alert("예문 내용의 길이는 2000자를 넘을 수 없습니다.");
return flag = false;
}
});
var checkObj = validArr.reduce((accu, curr) => {
accu[curr] = (accu[curr] || 0)+1;
return accu;
}, {});
$.each(checkObj, function(key, value){
if(parseInt(value) > 1){
alert("동일한 항목을 중복으로 등록하실 수 없습니다.");
return flag = false;
}
});
return flag;
}
function fncGoList(){
var varFrom = document.getElementById("modifyForm");
varFrom.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpOpinionManagerList.do'/>";
varFrom.submit();
}
function fncDetail(){
var varFrom = document.getElementById("modifyForm");
varFrom.action = "<c:url value='/kccadr/adjPgrMgr/exmp/exmpOpinionManagerDetail.do'/>";
varFrom.submit();
}
</script>
<style>
#exmpTit{width: 95%}
</style>
</head>
<body>
<form:form id="modifyForm" name="modifyForm" commandName="exmpManageVO" method="post">
<input type="hidden" name="atchFileId" value="<c:out value='${mgrInfo.atchFileId}'/>"/>
<input type="hidden" name="limitcount" value="3" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="searchCondition" value="<c:out value='${exmpManageVO.searchCondition}'/>"/>
<input type="hidden" name="searchKeyword" value="<c:out value='${exmpManageVO.searchKeyword}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${exmpManageVO.pageIndex}'/>"/>
<input type="hidden" name="searchSortOrd" value="<c:out value="${exmpManageVO.searchSortOrd}" />"/>
<input type="hidden" name="exmpMgrId" value="<c:out value='${mgrInfo.exmpMgrId}' />">
<input type="hidden" name="codeId" id="codeId" value="<c:out value='${mgrInfo.codeId}' />">
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>의견예문수정</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li><p>조정진행관리</p></li>
<li><p>의견예문관리</p></li>
<li><span class="cur_nav">의견예문수정</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<p class="tb_tit">의견</p>
<div class="tbType02">
<table>
<colgroup>
<col style="width: 150px">
<col style="width: auto;">
<col style="width: 150px">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>제목</th>
<td>
<input type="text" placeholder="제목을 입력해주세요." name="exmpTit" id="exmpTit" value="<c:out value='${mgrInfo.exmpTit}' />">
</td>
</tr>
<tr>
<th><span class="">첨부파일</span></th>
<td class="upload_area" colspan="3">
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btnType01 btn_add_file">파일 첨부하기</button>
<div class="file_wrap file_upload_box no_img_box">
<table>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<th>파일 명</th>
<th>종류</th>
<th>크기</th>
<th>삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<th>파일 명</th>
<th>종류</th>
<th>크기</th>
<th>삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="<c:out value='${fileList.fileSize}' />">
<td class="td_filename">
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<div class="tb_tit">
<p>예문</p>
<!-- <div class="btn_wrap"> -->
<!-- <button type="button" class="btn_plus" onclick="fncRowAdd(); return false;"><i></i></button> -->
<!-- <button type="button" class="btn_minus" onclick="fncRowDel(); return false;"><i></i></button> -->
<!-- </div> -->
</div>
<div class="list tbType01 addTb">
<table>
<colgroup>
<col style="width: auto">
</colgroup>
<thead>
<tr>
<th>예문내용</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<input type="hidden" name="exmpList[${status.index}].exmpDtlId" value="<c:out value='${list.exmpDtlId}' />">
<td>
<textarea name="exmpList[<c:out value='${status.index}' />].exmpCn" placeholder="예문을 입력해주세요." style="resize: none; width:96%; margin: 10px 0;"><c:out value='${list.exmpCn}' /></textarea>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="area_left">
</div>
<div class="area_right">
<button class="btnType06" onclick="fn_modifyBtn(); return false;">수정</button>
<button class="btnType03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -100,6 +100,11 @@ function goExpPage(num) {
{//접수페이지
goUrl = "<c:url value='/web/kccadr/adjstExp/adjstReqRegistInformation.do'/>";
}
else if(num==3)
{// 진행사항
goUrl = "<c:url value='/web/kccadr/adjstExp/adjstIncidentList.do'/>";
frm.searchStatus.value = '';
}
else if(num==4)
{// 열랍 발급
goUrl = "<c:url value='/web/kccadr/adjstExp/adjstIncidentList.do'/>";
@ -111,7 +116,6 @@ function goExpPage(num) {
}
else
{
// return false;
goUrl = "<c:url value='/web/kccadr/adjstExpDetail/adjstReqStatusDetail.do' />"
}