refactor: 프로그램관리 - CRUD 분리 필요

main
Jonguk. Lim 2 years ago
parent 8a83118d86
commit 24ecc193be

@ -23,7 +23,7 @@ import kr.xit.framework.core.utils.XitCmmnUtil;
* @version 1.0 Copyright(c) XIT All rights reserved. * @version 1.0 Copyright(c) XIT All rights reserved.
*/ */
@Controller @Controller
@RequestMapping("/_cmmn_/util/") @RequestMapping("/framework/util/")
public class XitFrameUtilController { public class XitFrameUtilController {
/** /**
@ -32,9 +32,9 @@ public class XitFrameUtilController {
* @author: * @author:
* @date: 2020. 6. 2. * @date: 2020. 6. 2.
*/ */
@RequestMapping(value="validator.do", method={RequestMethod.GET, RequestMethod.POST}) @RequestMapping(value="validator", method={RequestMethod.GET, RequestMethod.POST})
public String validate() { public String validate() {
return "framework/cmmn/util/validator"+TILES_TYPE.NONE.getVal(); return "framework/util/validator"+TILES_TYPE.NONE.getVal();
} }
/** /**

@ -17,6 +17,7 @@ import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
@ -132,7 +133,7 @@ public class ProgramMngController {
@RequestMapping(value = "/program_{cmd}", method={RequestMethod.GET, RequestMethod.POST}) @RequestMapping(value = "/program_{cmd}", method={RequestMethod.GET, RequestMethod.POST})
public String ProgramMng_page(@PathVariable String cmd public String ProgramMng_page(@PathVariable String cmd
, @RequestParam(value="tilesDef", required=false, defaultValue="") String tilesDef , @RequestParam(value="tilesDef", required=false, defaultValue="") String tilesDef
, @ModelAttribute("progrmManageVO") ProgramMngVO vo , @ModelAttribute("progrmMngVO") ProgramMngVO vo
, ModelMap model) { , ModelMap model) {
switch (cmd) { switch (cmd) {
case "input": //등록 페이지 case "input": //등록 페이지
@ -140,7 +141,7 @@ public class ProgramMngController {
case "edit": //수정 페이지 case "edit": //수정 페이지
case "view": //상세 페이지 case "view": //상세 페이지
ProgramMngVO programMngVO = programMngService.findView(vo); ProgramMngVO programMngVO = programMngService.findView(vo);
model.addAttribute("progrmManageVO", programMngVO); model.addAttribute("progrmMngVO", programMngVO);
break; break;
default: default:
throw new RuntimeException("유효하지 않은 요청 입니다."); throw new RuntimeException("유효하지 않은 요청 입니다.");
@ -149,7 +150,7 @@ public class ProgramMngController {
if(!"".equals(tilesDef)) if(!"".equals(tilesDef))
tilesDef = "."+tilesDef; tilesDef = "."+tilesDef;
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/menu/mngProgramMng_"+cmd+tilesDef; return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/menu/mngProgramMgt_"+cmd+tilesDef;
} }
@ -165,7 +166,7 @@ public class ProgramMngController {
@RequestMapping(value = "/program_{cmd}_popup", method={RequestMethod.GET, RequestMethod.POST}) @RequestMapping(value = "/program_{cmd}_popup", method={RequestMethod.GET, RequestMethod.POST})
public String ProgramMng_page_popup(@PathVariable String cmd public String ProgramMng_page_popup(@PathVariable String cmd
, @ModelAttribute("searchVO") ProgramMngSearchVO searchVO , @ModelAttribute("searchVO") ProgramMngSearchVO searchVO
, @ModelAttribute("progrmManageVO") ProgramMngVO vo, ModelMap model) { , @ModelAttribute("progrmMngVO") ProgramMngVO vo, ModelMap model) {
switch (cmd) { switch (cmd) {
case "FileNmSearch": //프로그램 파일명 조회 페이지 case "FileNmSearch": //프로그램 파일명 조회 페이지
// 내역 조회 // 내역 조회
@ -194,14 +195,14 @@ public class ProgramMngController {
break; break;
case "edit" : case "edit" :
ProgramMngVO xitProgramMngVO = programMngService.findView(vo); ProgramMngVO xitProgramMngVO = programMngService.findView(vo);
model.addAttribute("progrmManageVO", xitProgramMngVO); model.addAttribute("progrmMngVO", xitProgramMngVO);
break; break;
default: default:
throw new RuntimeException("유효하지 않은 요청 입니다."); throw new RuntimeException("유효하지 않은 요청 입니다.");
} }
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/menu/mngProgramMng_"+cmd+"_popup"+TILES_TYPE.POPUP.getVal(); return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/menu/mngProgramMgt_"+cmd+"_popup"+TILES_TYPE.POPUP.getVal();
} }
@ -214,9 +215,9 @@ public class ProgramMngController {
* @throws ServletException * @throws ServletException
* @date: 2020. 3. 25. * @date: 2020. 3. 25.
*/ */
@RequestMapping(value = "/program_{cmd}_proc", method=RequestMethod.POST) @RequestMapping(value = {"/program_{cmd}_proc"}, method=RequestMethod.POST)
public void ProgramMng_cmd_proc(@PathVariable String cmd public void ProgramMng_cmd_proc(@PathVariable String cmd
,@ModelAttribute("progrmManageVO") ProgramMngVO vo ,@ModelAttribute("progrmMngVO") ProgramMngVO vo
,@RequestParam(value="checkedProgrmFileNmForDel", required=false, defaultValue="") String checkedProgrmFileNmForDel ,@RequestParam(value="checkedProgrmFileNmForDel", required=false, defaultValue="") String checkedProgrmFileNmForDel
,BindingResult bindingResult ,BindingResult bindingResult
,Model model ,Model model
@ -227,18 +228,18 @@ public class ProgramMngController {
/** /**
* *
*/ */
String sLocationUrl = "forward:/mng/menu/programList.do"; String sLocationUrl = "forward:/framework/biz/mng/menu/programList.do";
String resultMsg = null; String resultMsg = null;
switch (cmd) { switch (cmd) {
case "insert": //등록 case "insert": //등록
//유효성 확인 //유효성 확인
//2020.11.24. 주석처리 //2020.11.24. 주석처리
beanValidator.validate(vo, bindingResult); beanValidator.validate(vo, bindingResult);
// beanValidator.validate("progrmManageVO", vo, bindingResult); // beanValidator.validate("progrmMngVO", vo, bindingResult);
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
// throw new RuntimeException(xitMessageSource.getMessage("fail.common.insert")); // throw new RuntimeException(xitMessageSource.getMessage("fail.common.insert"));
resultMsg = xitMessageSource.getMessage("fail.common.insert"); resultMsg = xitMessageSource.getMessage("fail.common.insert");
sLocationUrl = "forward:/mng/menu/program_input.do"; sLocationUrl = "forward:/framework/biz/mng/menu/program_input.do";
break; break;
} }
if (vo.getProgrmDc() == null || vo.getProgrmDc().equals("")) { if (vo.getProgrmDc() == null || vo.getProgrmDc().equals("")) {
@ -256,11 +257,11 @@ public class ProgramMngController {
//유효성 확인 //유효성 확인
//2020.11.24. 주석처리 //2020.11.24. 주석처리
beanValidator.validate(vo, bindingResult); beanValidator.validate(vo, bindingResult);
// beanValidator.validate("progrmManageVO", vo, bindingResult); // beanValidator.validate("progrmMngVO", vo, bindingResult);
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
// throw new RuntimeException(xitMessageSource.getMessage("fail.common.update")); // throw new RuntimeException(xitMessageSource.getMessage("fail.common.update"));
resultMsg = xitMessageSource.getMessage("fail.common.update"); resultMsg = xitMessageSource.getMessage("fail.common.update");
sLocationUrl = "forward:/mng/menu/program_edit.do"; sLocationUrl = "forward:/framework/biz/mng/menu/program_edit.do";
break; break;
} }
if (vo.getProgrmDc() == null || vo.getProgrmDc().equals("")) { if (vo.getProgrmDc() == null || vo.getProgrmDc().equals("")) {
@ -279,10 +280,10 @@ public class ProgramMngController {
break; break;
} catch (RuntimeException e) { } catch (RuntimeException e) {
resultMsg = e.getMessage(); resultMsg = e.getMessage();
sLocationUrl = "forward:/mng/menu/program_edit.do"; sLocationUrl = "forward:/framework/biz/mng/menu/program_edit.do";
} catch (Exception e) { } catch (Exception e) {
resultMsg = xitMessageSource.getMessage("fail.common.delete"); resultMsg = xitMessageSource.getMessage("fail.common.delete");
sLocationUrl = "forward:/mng/menu/program_edit.do"; sLocationUrl = "forward:/framework/biz/mng/menu/program_edit.do";
} }
break; break;
@ -302,7 +303,62 @@ public class ProgramMngController {
new RuntimeException("유효하지 않은 요청 입니다."); new RuntimeException("유효하지 않은 요청 입니다.");
} }
/**
*
*/
/* ============================
* 2020.09.10
*
* - ajax json
* [AS-IS] String, return url "forward"
* [TO-BE] void, DispatchServlet forward , ajax json forward
============================ */
//2020.09.10 주석처리
// model.addAttribute("resultMsg", resultMsg);
// return sLocationUrl;
model.addAttribute("resultMsg", resultMsg);
if (XitCmmnUtil.isAjaxRequest(request)) { //ajax 요청시
//반환 데이터 설정
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("resultMsg", resultMsg);
XitCmmnUtil.forwardForAjaxRequest(request, response, resultMap);
} else { //submit 요청 시
XitCmmnUtil.forwardForSubmitRequest(request, response, sLocationUrl, model.asMap());
}
}
@PostMapping(value = "/updateProgram")
public void updateProgram(@ModelAttribute("progrmMngVO") ProgramMngVO vo
,@RequestParam(value="checkedProgrmFileNmForDel", required=false, defaultValue="") String checkedProgrmFileNmForDel
,BindingResult bindingResult
,Model model
,HttpServletRequest request
,HttpServletResponse response
) throws ServletException, IOException {
/**
*
*/
String sLocationUrl = "forward:/framework/biz/mng/menu/programList.do";
String resultMsg = null;
//유효성 확인
//2020.11.24. 주석처리
beanValidator.validate(vo, bindingResult);
// beanValidator.validate("progrmMngVO", vo, bindingResult);
if (bindingResult.hasErrors()) {
// throw new RuntimeException(xitMessageSource.getMessage("fail.common.update"));
resultMsg = xitMessageSource.getMessage("fail.common.update");
sLocationUrl = "forward:/framework/biz/mng/menu/program_edit.do";
}else {
if (vo.getProgrmDc() == null || vo.getProgrmDc().equals("")) {
vo.setProgrmDc(" ");
}
}
//처리
programMngService.modifyProc(vo);
resultMsg = xitMessageSource.getMessage("success.common.update");
/** /**
* *
@ -315,16 +371,19 @@ public class ProgramMngController {
* [TO-BE] void, DispatchServlet forward , ajax json forward * [TO-BE] void, DispatchServlet forward , ajax json forward
============================ */ ============================ */
//2020.09.10 주석처리 //2020.09.10 주석처리
// model.addAttribute("resultMsg", resultMsg); // model.addAttribute("resultMsg", resultMsg);
// return sLocationUrl; // return sLocationUrl;
model.addAttribute("resultMsg", resultMsg); model.addAttribute("resultMsg", resultMsg);
if(XitCmmnUtil.isAjaxRequest(request)){ //ajax 요청시
if (XitCmmnUtil.isAjaxRequest(request)) { //ajax 요청시
//반환 데이터 설정 //반환 데이터 설정
Map<String, Object> resultMap = new HashMap<String, Object>(); Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("resultMsg", resultMsg); resultMap.put("resultMsg", resultMsg);
XitCmmnUtil.forwardForAjaxRequest(request, response, resultMap); XitCmmnUtil.forwardForAjaxRequest(request, response, resultMap);
}else { //submit 요청 시 } else { //submit 요청 시
XitCmmnUtil.forwardForSubmitRequest(request, response, sLocationUrl, model.asMap()); XitCmmnUtil.forwardForSubmitRequest(request, response, sLocationUrl, model.asMap());
} }
} }
} }

@ -976,7 +976,7 @@ public class XitCmmnUtil {
* *
*/ */
if(isAjaxRequest) { if(isAjaxRequest) {
requestUrl = "/_cmmn_/util/responseJson.do"; //json 데이터로 response 하도록 처리하는 서비스 경로 requestUrl = "/framework/util/responseJson.do"; //json 데이터로 response 하도록 처리하는 서비스 경로
if(isNoParentKey) { if(isNoParentKey) {
Iterator<String> keys = resultData.keySet().iterator(); Iterator<String> keys = resultData.keySet().iterator();
while(keys.hasNext()) { while(keys.hasNext()) {

@ -3,27 +3,8 @@
<mapper namespace="kr.xit.framework.biz.mng.mapper.ProgramMngMapper"> <mapper namespace="kr.xit.framework.biz.mng.mapper.ProgramMngMapper">
<sql id="findList_SELECT">
SELECT A.PROGRM_FILE_NM AS "progrmFileNm"
, A.PROGRM_STRE_COURS AS "progrmStrePath"
, A.PROGRM_KOREAN_NM AS "progrmKoreanNm"
/*, CONCAT(DBMS_LOB.SUBSTRING (A.PROGRM_DC, 10, 1),'...') AS "progrmDc" */
, A.PROGRM_DC AS "progrmDc"
, A.URL AS "URL"
</sql>
<sql id="findList_FROM">
FROM XIT_PROGRM_LIST A
</sql>
<sql id="findList_WHERE">
<if test="@kr.xit.framework.core.utils.XitCmmnUtil@notEmpty(searchKeyword)">
AND A.PROGRM_KOREAN_NM LIKE CONCAT('%',#{searchKeyword},'%')
</if>
</sql>
<select id="findList" resultType="kr.xit.framework.biz.mng.model.ProgramMngVO"> <select id="findList" resultType="kr.xit.framework.biz.mng.model.ProgramMngVO">
/* Rt0200-mysql-mapper|findList-프로그램 목록 조회|julim */ /* program-mysql-mapper|findList-프로그램 목록 조회|julim */
SELECT progrm_file_nm SELECT progrm_file_nm
, progrm_stre_cours AS progrmStrePath , progrm_stre_cours AS progrmStrePath
, progrm_korean_nm , progrm_korean_nm
@ -38,25 +19,16 @@
</where> </where>
</select> </select>
<select id="findListTotCnt" resultType="int">
/** XitProgramMngMapper.findListTotCnt */
/** 프로그램관리 목록 총건수 조회 */
SELECT COUNT(1) AS "CNT"
<include refid="findList_FROM"/>
WHERE 1=1
<include refid="findList_WHERE"/>
</select>
<select id="findView" resultType="kr.xit.framework.biz.mng.model.ProgramMngVO"> <select id="findView" resultType="kr.xit.framework.biz.mng.model.ProgramMngVO">
/** XitProgramMngMapper.findView */ /* program-mysql-mapper|findView-프로그램 정보 조회|julim */
/** 프로그램관리 상세정보 조회 */ SELECT progrm_file_nm
<include refid="findList_SELECT"/> , progrm_stre_cours AS progrmStrePath
<include refid="findList_FROM"/> , progrm_korean_nm
WHERE A.PROGRM_FILE_NM = #{progrmFileNm} /*, CONCAT(SUBSTRING(progrm_dc, 10, 1),'...') AS progrmDc -->*/
, progrm_dc
, url
FROM xit_progrm_list
WHERE progrm_file_nm = #{progrmFileNm}
</select> </select>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="kr.xit.framework.biz.mng.menu.program.dao.XitProgramMngMapper"> <mapper namespace="kr.xit.framework.biz.mng.mapper.ProgramMngMapper">
<!-- SQL 페이징 코드 --> <!-- SQL 페이징 코드 -->
<sql id="pageBefore"> <sql id="pageBefore">
SELECT * FROM SELECT * FROM

@ -4,7 +4,7 @@
"http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
<form-validation> <form-validation>
<formset> <formset>
<form name="progrmManageVO"> <form name="progrmMngVO">
<field property="progrmFileNm" depends="required, maxlength"> <field property="progrmFileNm" depends="required, maxlength">
<arg0 key="프로그램파일명" resource="false"/> <arg0 key="프로그램파일명" resource="false"/>
<arg1 key="50" resource="false"/> <arg1 key="50" resource="false"/>

@ -62,15 +62,12 @@
<div id="grid_t0"></div> <div id="grid_t0"></div>
<script type="text/javaScript" language="javascript"> <script type="text/javaScript" language="javascript">
let GRID = null; let GRID = null;
$(document).ready(function(){ /* *******************************
XitProgramMng.init(); * 프로그램 목록관리 Functions
}); ******************************* */
/* ******************************* var mngProgramMgtForm = {
* 프로그램 목록관리 Functions
******************************* */
var XitProgramMng = {
init : function(){ init : function(){
/* ****************************** /* ******************************
@ -89,16 +86,12 @@ var XitProgramMng = {
renderer: { renderer: {
type: CustomButtonRenderer, type: CustomButtonRenderer,
options: { options: {
formatter : function(props){ formatter : (props) => ({
var rowData = props.grid.getRow(props.rowKey); formatter : props.grid.getRow(props.rowKey).progrmFileNm
var obj = { , element: "text"
formatter : rowData.progrmFileNm })
,element : "text" , eventFunction: this.fnClickProgramBtn //function(){alert("1234")}
} , eventType : "click"
return obj;
}
,eventFunction: XitProgramMng.fnClickProgramBtn //function(){alert("1234")}
,eventType : "click"
} }
} }
</c:if> </c:if>
@ -176,16 +169,16 @@ var XitProgramMng = {
/*//검색 Event 설정 /*//검색 Event 설정
$('#btnSearch').on({ $('#btnSearch').on({
click: function(){ click: function(){
XitProgramMng_list.findData(); mngProgramMgtForm_list.findData();
} }
}); });
//등록 Event 설정 //등록 Event 설정
$("#btnRegist").click(function(){ $("#btnRegist").click(function(){
XitProgramMng_list.pagePopup('input', "<c:url value='/framework/biz/mng/menu/ProgramMng_input.do'/>"); mngProgramMgtForm_list.pagePopup('input', "<c:url value='/framework/biz/mng/menu/ProgramMng_input.do'/>");
}); });
//삭제 Event 설정 //삭제 Event 설정
$("#btnDelete").click(function(){ $("#btnDelete").click(function(){
XitProgramMng_list.removeData(); mngProgramMgtForm_list.removeData();
}); });
*/ */
@ -195,7 +188,7 @@ var XitProgramMng = {
* 데이터 조회 * 데이터 조회
======================== */ ======================== */
findData : function(){ findData : function(){
instance.reloadData(); GRID.reloadData();
}, },
/* ======================== /* ========================
* 데이터 등록 * 데이터 등록
@ -233,7 +226,7 @@ var XitProgramMng = {
dataType : "json", dataType : "json",
success : function(data) { success : function(data) {
alert(data.resp.resultMsg); alert(data.resp.resultMsg);
XitProgramMng.findData(); this.findData();
}, },
error: function(){ error: function(){
@ -253,7 +246,7 @@ var XitProgramMng = {
document.frmSearch.submit(); document.frmSearch.submit();
break; break;
case "popup": //팝업 OPEN case "popup": //팝업 OPEN
XitProgramMng.pagePopup(flag, url, params); this.pagePopup(flag, url, params);
break; break;
default: default:
break; break;
@ -293,14 +286,14 @@ var XitProgramMng = {
-상세 팝업을 OPEN 한다. -상세 팝업을 OPEN 한다.
======================== */ ======================== */
fnClickProgramBtn: function(props){ fnClickProgramBtn: function(props){
<%--
var rowData = props.grid.getRow(props.rowKey); var rowData = props.grid.getRow(props.rowKey);
var params = ""; var params = "";
params += "progrmFileNm=" + rowData.progrmFileNm; params += "progrmFileNm=" + rowData.progrmFileNm;
XitProgramMng.pagePopup('detail', "<c:url value='/framework/biz/mng/menu/ProgramMng_edit.do'/>", params); mngProgramMgtForm.pagePopup('detail', "<c:url value='/framework/biz/mng/menu/program_edit.do'/>", params);
--%>
<%--
let rowData = props.grid.getRow(props.rowKey); let rowData = props.grid.getRow(props.rowKey);
CmmPopup.open('<c:url value="/framework/biz/mng/menu/program_edit.do"/>', CmmPopup.open('<c:url value="/framework/biz/mng/menu/program_edit.do"/>',
{ {
@ -313,18 +306,13 @@ var XitProgramMng = {
}, },
'프로그램 상세' '프로그램 상세'
) )
--%>
} }
} }
// initialize
$(document).ready(function(){
mngProgramMgtForm.init();
});
</script> </script>

@ -8,9 +8,9 @@
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<script type="text/javascript" src="<c:url value="/_cmmn_/util/validator.do"/>"></script> <script type="text/javascript" src="<c:url value="/framework/util/validator.do"/>"></script>
<validator:javascript formName="progrmManageVO" staticJavascript="false" xhtml="true" cdata="false"/> <!--validator:javascript formName="progrmMngVO" staticJavascript="false" xhtml="true" cdata="false"/-->
<form:form commandName="progrmManageVO" action="/_mng_/menu/program/ProgramMng_update_proc.do"> <form:form commandName="progrmMngVO">
<div class="popup" style="min-width: 700px;"> <div class="popup" style="min-width: 700px;">
<div class="popup_inner" style="max-width:700px;"> <div class="popup_inner" style="max-width:700px;">
@ -21,7 +21,7 @@
<th width="20%" height="23" class="required_text" scope="row"><label for="progrmFileNm">프로그램파일명</label> <th width="20%" height="23" class="required_text" scope="row"><label for="progrmFileNm">프로그램파일명</label>
<img src="<c:url value='/'/>resourcesimages/required.gif" width="15" height="15" alt="필수"></th> <img src="<c:url value='/'/>resourcesimages/required.gif" width="15" height="15" alt="필수"></th>
<td width="80%" nowrap="nowrap"> <td width="80%" nowrap="nowrap">
<input type="text" disabled="disabled" value="<c:out value="${progrmManageVO.progrmFileNm }"/>" > <input type="text" disabled="disabled" value="<c:out value="${progrmMngVO.progrmFileNm }"/>" >
<form:input path="progrmFileNm" size="50" maxlength="50" title="프로그램파일명" cssStyle="display:none" /> <form:input path="progrmFileNm" size="50" maxlength="50" title="프로그램파일명" cssStyle="display:none" />
<form:errors path="progrmFileNm"/> <form:errors path="progrmFileNm"/>
</td> </td>
@ -60,7 +60,7 @@
</table> </table>
<div class="popup_btn"> <div class="popup_btn">
<span class="flr" colspan="4"> <span class="flr" colspan="4">
<a href="#LINK" class="btn blue" id="update_btn">수정</a> <a href="#LINK" class="btn blue" id="btnUpdate">수정</a>
<a href="#" class="btn lightgray" id="btnClose">닫기</a> <a href="#" class="btn lightgray" id="btnClose">닫기</a>
</span> </span>
</div> </div>
@ -89,10 +89,10 @@ $(document).ready(function(){
//저장 버튼 Event 설정 //저장 버튼 Event 설정
$('#btnSave').on({ $('#btnSave').on({
click: function(){ click: function(){
XitProgramMng_edit.addData(); this.addData();
} }
}); });
$('#update_btn').on({ $('#btnUpdate').on({
click: function(){ click: function(){
XitProgramMng_edit.modifyData(); XitProgramMng_edit.modifyData();
} }
@ -110,10 +110,10 @@ $(document).ready(function(){
* 데이터 등록 * 데이터 등록
======================== */ ======================== */
addData : function(){ addData : function(){
if(!validateProgrmManageVO(document.getElementById("progrmManageVO"))) if(!validateProgrmManageVO(document.getElementById("progrmMngVO")))
return; return;
var varFrom = document.getElementById("progrmManageVO"); var varFrom = document.getElementById("progrmMngVO");
if(confirm("저장 하시겠습니까?")){ if(confirm("저장 하시겠습니까?")){
var param = $(varFrom).serialize(); var param = $(varFrom).serialize();
$.ajax({ $.ajax({
@ -123,7 +123,7 @@ $(document).ready(function(){
dataType : "json", dataType : "json",
success : function(data) { success : function(data) {
alert(data.resp.resultMsg); alert(data.resp.resultMsg);
window.opener.XitProgramMng_list.findData(); window.opener.mngProgramMgtForm.findData();
window.close(); window.close();
}, },
error: function(){ error: function(){
@ -136,20 +136,21 @@ $(document).ready(function(){
* 데이터 수정 * 데이터 수정
======================== */ ======================== */
,modifyData : function(){ ,modifyData : function(){
if(!validateProgrmManageVO(document.getElementById("progrmManageVO"))) //if(!validateProgrmManageVO(document.getElementById("progrmMngVO")))
return; // return;
var varFrom = document.getElementById("progrmManageVO"); var varFrom = document.getElementById("progrmMngVO");
if(confirm("수정 하시겠습니까?")){ if(confirm("수정 하시겠습니까?")){
var param = $(varFrom).serialize(); var param = $(varFrom).serialize();
$.ajax({ $.ajax({
url : "<c:url value='/'/>_mng_/menu/program/ProgramMng_update_proc.do", <%--url : "<c:url value='/'/>framework/biz/mng/menu/program_update_proc.do",--%>
url : "<c:url value='/'/>framework/biz/mng/menu/updateProgram.do",
data : param, data : param,
type : "post", type : "post",
dataType : "json", dataType : "json",
success : function(data) { success : function(data) {
alert(data.resp.resultMsg); alert(data.resp.resultMsg);
window.opener.XitProgramMng_list.findData(); window.opener.mngProgramMgtForm.findData();
window.close(); window.close();
}, },
error: function(){ error: function(){
@ -162,7 +163,7 @@ $(document).ready(function(){
* 데이터 삭제 * 데이터 삭제
======================== */ ======================== */
,removeData : function(){ ,removeData : function(){
var varFrom = document.getElementById("progrmManageVO"); var varFrom = document.getElementById("progrmMngVO");
if(confirm("삭제 하시겠습니까?")){ if(confirm("삭제 하시겠습니까?")){
var param = $(varFrom).serialize(); var param = $(varFrom).serialize();
$.ajax({ $.ajax({
@ -172,7 +173,8 @@ $(document).ready(function(){
dataType : "json", dataType : "json",
success : function(data) { success : function(data) {
alert(data.resp.resultMsg); alert(data.resp.resultMsg);
window.opener.XitProgramMng_list.findData(); console.log(data)
window.opener.findData();//.mngProgramMgtForm.findData();
window.close(); window.close();
}, },
error: function(){ error: function(){

@ -10,8 +10,8 @@
<c:url var="ImgUrl" value="/images"/> <c:url var="ImgUrl" value="/images"/>
<script type="text/javascript" src="<c:url value="/_cmmn_/util/validator.do"/>"></script> <script type="text/javascript" src="<c:url value="/_cmmn_/util/validator.do"/>"></script>
<validator:javascript formName="progrmManageVO" staticJavascript="false" xhtml="true" cdata="false"/> <validator:javascript formName="progrmMngVO" staticJavascript="false" xhtml="true" cdata="false"/>
<form:form commandName="progrmManageVO" action=""> <form:form commandName="progrmMngVO" action="">
<div class="popup" style="min-width: 700px;"> <div class="popup" style="min-width: 700px;">
<div class="popup_inner" style="max-width:700px;"> <div class="popup_inner" style="max-width:700px;">
@ -117,10 +117,10 @@ $(document).ready(function(){
* 데이터 등록 * 데이터 등록
======================== */ ======================== */
addData : function(){ addData : function(){
if(!validateProgrmManageVO(document.getElementById("progrmManageVO"))) if(!validateProgrmManageVO(document.getElementById("progrmMngVO")))
return; return;
var varFrom = document.getElementById("progrmManageVO"); var varFrom = document.getElementById("progrmMngVO");
if(confirm("저장 하시겠습니까?")){ if(confirm("저장 하시겠습니까?")){
var param = $(varFrom).serialize(); var param = $(varFrom).serialize();
$.ajax({ $.ajax({
@ -143,10 +143,10 @@ $(document).ready(function(){
* 데이터 수정 * 데이터 수정
======================== */ ======================== */
,modifyData : function(){ ,modifyData : function(){
if(!validateProgrmManageVO(document.getElementById("progrmManageVO"))) if(!validateProgrmManageVO(document.getElementById("progrmMngVO")))
return; return;
var varFrom = document.getElementById("progrmManageVO"); var varFrom = document.getElementById("progrmMngVO");
if(confirm("수정 하시겠습니까?")){ if(confirm("수정 하시겠습니까?")){
var param = $(varFrom).serialize(); var param = $(varFrom).serialize();
$.ajax({ $.ajax({
@ -169,7 +169,7 @@ $(document).ready(function(){
* 데이터 삭제 * 데이터 삭제
======================== */ ======================== */
,removeData : function(){ ,removeData : function(){
var varFrom = document.getElementById("progrmManageVO"); var varFrom = document.getElementById("progrmMngVO");
if(confirm("삭제 하시겠습니까?")){ if(confirm("삭제 하시겠습니까?")){
var param = $(varFrom).serialize(); var param = $(varFrom).serialize();
$.ajax({ $.ajax({

@ -12,7 +12,7 @@
caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;}
</style> </style>
<script type="text/javascript" src="<c:url value="/_cmmn_/util/validator.do"/>"></script> <script type="text/javascript" src="<c:url value="/_cmmn_/util/validator.do"/>"></script>
<validator:javascript formName="progrmManageVO" staticJavascript="false" xhtml="true" cdata="false"/> <validator:javascript formName="progrmMngVO" staticJavascript="false" xhtml="true" cdata="false"/>
<script language="javascript1.2" type="text/javaScript"> <script language="javascript1.2" type="text/javaScript">
/* ******************************************************** /* ********************************************************
* 수정처리 함수 * 수정처리 함수
@ -62,14 +62,14 @@ function selectList(){
<div id="search_field"> <div id="search_field">
<div id="search_field_loc"><h2><strong>프로그램목록 상세조회 /수정</strong></h2></div> <div id="search_field_loc"><h2><strong>프로그램목록 상세조회 /수정</strong></h2></div>
</div> </div>
<form:form commandName="progrmManageVO" action="/_mng_/menu/program/ProgramMng_update_proc.do"> <form:form commandName="progrmMngVO" action="/_mng_/menu/program/ProgramMng_update_proc.do">
<div class="modify_user" > <div class="modify_user" >
<table summary="프로그램목록 상세조회 /수정"> <table summary="프로그램목록 상세조회 /수정">
<tr> <tr>
<th width="20%" height="23" class="required_text" scope="row"><label for="progrmFileNm">프로그램파일명</label> <th width="20%" height="23" class="required_text" scope="row"><label for="progrmFileNm">프로그램파일명</label>
<img src="${ImgUrl}/required.gif" width="15" height="15" alt="필수"></th> <img src="${ImgUrl}/required.gif" width="15" height="15" alt="필수"></th>
<td width="80%" nowrap="nowrap"> <td width="80%" nowrap="nowrap">
<input type="text" disabled="disabled" value="<c:out value="${progrmManageVO.progrmFileNm }"/>" > <input type="text" disabled="disabled" value="<c:out value="${progrmMngVO.progrmFileNm }"/>" >
<form:input path="progrmFileNm" size="50" maxlength="50" title="프로그램파일명" cssStyle="display:none" /> <form:input path="progrmFileNm" size="50" maxlength="50" title="프로그램파일명" cssStyle="display:none" />
<form:errors path="progrmFileNm"/> <form:errors path="progrmFileNm"/>
</td> </td>
@ -118,11 +118,11 @@ function selectList(){
</td> </td>
<td width="10"></td> <td width="10"></td>
<td> <td>
<a href="#LINK" onclick="javascript:updateProgramListManage(document.getElementById('progrmManageVO')); return false;"><spring:message code="button.save" /></a> <a href="#LINK" onclick="javascript:updateProgramListManage(document.getElementById('progrmMngVO')); return false;"><spring:message code="button.save" /></a>
</td> </td>
<td width="10"></td> <td width="10"></td>
<td> <td>
<a href="<c:url value='/_mng_/menu/program/ProgramMng_delete_proc.do'/>?progrmFileNm=<c:out value="${progrmManageVO.progrmFileNm }"/>" onclick="deleteProgramListManage(document.getElementById('progrmManageVO')); return false;"><spring:message code="button.delete" /></a> <a href="<c:url value='/_mng_/menu/program/ProgramMng_delete_proc.do'/>?progrmFileNm=<c:out value="${progrmMngVO.progrmFileNm }"/>" onclick="deleteProgramListManage(document.getElementById('progrmMngVO')); return false;"><spring:message code="button.delete" /></a>
</td> </td>
</tr> </tr>
</table> </table>

@ -14,7 +14,7 @@
caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;}
</style> </style>
<script type="text/javascript" src="<c:url value="/_cmmn_/util/validator.do" />"></script> <script type="text/javascript" src="<c:url value="/_cmmn_/util/validator.do" />"></script>
<validator:javascript formName="progrmManageVO" staticJavascript="false" xhtml="true" cdata="false"/> <validator:javascript formName="progrmMngVO" staticJavascript="false" xhtml="true" cdata="false"/>
<script language="javascript1.2" type="text/javaScript"> <script language="javascript1.2" type="text/javaScript">
/* ******************************************************** /* ********************************************************
* 입력 처리 함수 * 입력 처리 함수
@ -59,7 +59,7 @@ function selectList(){
<div id="search_field"> <div id="search_field">
<!-- <div id="search_field_loc"><h2><strong>프로그램목록 등록</strong></h2></div> --> <!-- <div id="search_field_loc"><h2><strong>프로그램목록 등록</strong></h2></div> -->
</div> </div>
<form:form commandName="progrmManageVO" action="/sym/prm/EgovProgramListRegist.do" method="post" > <form:form commandName="progrmMngVO" action="/sym/prm/EgovProgramListRegist.do" method="post" >
<div class="modify_user" > <div class="modify_user" >
<table summary="프로그램목록 등록"> <table summary="프로그램목록 등록">
@ -116,7 +116,7 @@ function selectList(){
</td> </td>
<td width="10"></td> <td width="10"></td>
<td> <td>
<a href="#LINK" onclick="javascript:insertProgramListManage(document.getElementById('progrmManageVO')); return false;"><spring:message code="button.save" /></a> <a href="#LINK" onclick="javascript:insertProgramListManage(document.getElementById('progrmMngVO')); return false;"><spring:message code="button.save" /></a>
</td> </td>
</tr> </tr>
</table> </table>

Loading…
Cancel
Save