2024-01-05 18:19 기소유예 수정

This commit is contained in:
myname 2024-01-05 18:20:00 +09:00
parent 387ba102a4
commit 9145139408
33 changed files with 2785 additions and 737 deletions

View File

@ -29,6 +29,7 @@ import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO;
import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrSttsVO; import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrSttsVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
import kcc.ve.oprtn.qestnr.service.VEAQestnrVO; import kcc.ve.oprtn.qestnr.service.VEAQestnrVO;
/** /**
@ -531,6 +532,54 @@ public class EgovCryptoUtil {
return p_schduleManageVO; return p_schduleManageVO;
} }
//////////////////////////////////////////////////
//
// VO /복호화
//
// 1.CndtnTrgtMngVO
//
//CndtnTrgtMngVO - 암호화
public CndtnTrgtMngVO encryptCndtnTrgtMngVOInfo(CndtnTrgtMngVO p_cndtnTrgtInfoMngVO){
if (!"".equals(p_cndtnTrgtInfoMngVO.getTrgtNm())) p_cndtnTrgtInfoMngVO.setTrgtNm(this.encrypt(p_cndtnTrgtInfoMngVO.getTrgtNm()));
if (!"".equals(p_cndtnTrgtInfoMngVO.getClphone())) p_cndtnTrgtInfoMngVO.setClphone(this.encrypt(p_cndtnTrgtInfoMngVO.getClphone()));
//if (!"".equals(p_cndtnTrgtInfoMngVO.getPrsctrNm())) p_cndtnTrgtInfoMngVO.setPrsctrNm(this.encrypt(p_cndtnTrgtInfoMngVO.getPrsctrNm()));
return p_cndtnTrgtInfoMngVO;
}
//CndtnTrgtMngVO - 복호화
public CndtnTrgtMngVO decryptCndtnTrgtMngVOInfo(CndtnTrgtMngVO p_cndtnTrgtInfoMngVO){
if (!"".equals(p_cndtnTrgtInfoMngVO.getTrgtNm())) p_cndtnTrgtInfoMngVO.setTrgtNm(this.decrypt(p_cndtnTrgtInfoMngVO.getTrgtNm()));
if (!"".equals(p_cndtnTrgtInfoMngVO.getClphone())) p_cndtnTrgtInfoMngVO.setClphone(this.decrypt(p_cndtnTrgtInfoMngVO.getClphone()));
//if (!"".equals(p_cndtnTrgtInfoMngVO.getPrsctrNm())) p_cndtnTrgtInfoMngVO.setPrsctrNm(this.decrypt(p_cndtnTrgtInfoMngVO.getPrsctrNm()));
return p_cndtnTrgtInfoMngVO;
}
//CndtnTrgtMngVOList - 복호화
public List<CndtnTrgtMngVO> decryptCndtnTrgtMngVOList(List<CndtnTrgtMngVO> p_cndtnTrgtInfoMngVOList){
for (int i=0;i<p_cndtnTrgtInfoMngVOList.size();i++) {
CndtnTrgtMngVO cndtnTrgtMngVO = this.decryptCndtnTrgtMngVOInfo(p_cndtnTrgtInfoMngVOList.get(i));
p_cndtnTrgtInfoMngVOList.set(i, cndtnTrgtMngVO);
}
return p_cndtnTrgtInfoMngVOList;
}
//////////////////////////////////////////////////
//
// VO /복호화
//
// CndtnTrgtMngVO
//
////////////////////////////////////////////////// //////////////////////////////////////////////////
// //
// 1.common // 1.common

View File

@ -19,6 +19,10 @@ public interface VEAStngService {
int delete_VEALRS(VEAStngVO paramVO) throws Exception; // D int delete_VEALRS(VEAStngVO paramVO) throws Exception; // D
List<VEAStngVO> selectList_VEALRS(VEAStngVO paramVO) throws Exception; // LIST List<VEAStngVO> selectList_VEALRS(VEAStngVO paramVO) throws Exception; // LIST
List<VEAStngVO> selectPagingList_VEALRS(VEAStngVO paramVO) throws Exception; // Page List List<VEAStngVO> selectPagingList_VEALRS(VEAStngVO paramVO) throws Exception; // Page List
//etc
//접수기간이 기존 기간과 일치하는지 확인
List<VEAStngVO> selectList_VEALRS_prdDupCheck(VEAStngVO paramVO) throws Exception; // 접수기간 중복 체크
//VEA_LCTR_PSBL_PRD_STNG - 강의기간설정 //VEA_LCTR_PSBL_PRD_STNG - 강의기간설정
void insert_VEALPPS(VEAStngVO paramVO) throws Exception; // C void insert_VEALPPS(VEAStngVO paramVO) throws Exception; // C

View File

@ -67,6 +67,11 @@ public class VEAStngDAO extends EgovAbstractDAO {
return tlist; return tlist;
} }
public List<VEAStngVO> selectList_VEALRS_prdDupCheck(VEAStngVO paramVO) throws Exception {
List<VEAStngVO> tlist = (List<VEAStngVO>) list("VEALctrRndsStngDAO.selectListPrdDupCheck", paramVO);
return tlist;
}
//VEA_LCTR_PSBL_PRD_STNG - 강의기간설정 //VEA_LCTR_PSBL_PRD_STNG - 강의기간설정
public void insert_VEALPPS(VEAStngVO paramVO) throws Exception { public void insert_VEALPPS(VEAStngVO paramVO) throws Exception {

View File

@ -91,6 +91,11 @@ public class VEAStngServiceImpl implements VEAStngService {
return vEAStngDAO.selectPagingList_VEALRS(paramVO); return vEAStngDAO.selectPagingList_VEALRS(paramVO);
} }
//List
public List<VEAStngVO> selectList_VEALRS_prdDupCheck(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.selectList_VEALRS_prdDupCheck(paramVO);
}
//VEA_LCTR_PSBL_PRD_STNG - 강의기간설정 //VEA_LCTR_PSBL_PRD_STNG - 강의기간설정
//C //C

View File

@ -1,21 +1,26 @@
package kcc.ve.aplct.sspnIdtmt.service; package kcc.ve.aplct.sspnIdtmt.service;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
public interface SspnIdtmtService { public interface SspnIdtmtService {
void insertVeEduAplct(VEEduAplctVO paramVO); void insertVeEduAplct(VEEduAplctVO paramVO);
void updateAprvlCd(VEEduAplctVO paramVO) throws Exception; void updateAprvlCd(VEEduAplctVO paramVO) throws Exception;
VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO); VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO);
// String findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO); // String findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
ModelAndView findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO); //교육대상자 확인
ModelAndView findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
} //교육대상자 확인 - new
ModelAndView checkSspnIdtmt(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
}

View File

@ -1,5 +1,7 @@
package kcc.ve.aplct.sspnIdtmt.service.impl; package kcc.ve.aplct.sspnIdtmt.service.impl;
import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -84,6 +86,66 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService {
modelAndView.addObject("next", next); modelAndView.addObject("next", next);
return modelAndView;
}
@Override
public ModelAndView checkSspnIdtmt(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
/*
* step1.신청 가능한 대상이 있는지 찾는다.
* 있으면 신청처리 but 2개 이상이면 선택하도록, 1개면 신청 처리
* step2.대상이 없으면 기존 이력이 있는지 확인
* 있으면 기존 사유 노출
* step3.기존 이력이 없으면 관리자에게 문의 하도록 한다.
* */
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
String result="";
String msg="";
String id="";
String next=""; //?
try {
result="";
//
// // step1.신청 가능한 대상이 있는지 찾는다.
List<CndtnTrgtMngVO> cndtnTrgtMngVOList = cndtnTrgtInfoMngDAO.checkSspnIdtmtStep1(cndtnTrgtInfoMngVO);
if (cndtnTrgtMngVOList.size()>0) {
result = "success";
msg = "";
id = "";
next = Integer.toString(cndtnTrgtMngVOList.size());
}
if(StringUtils.isNotEmpty(id)) {
msg = "이미 신청한 대상자 입니다.";
// 신청한 대상자가 없으면
// 신청하지 않은 대상자가 있는지 조회
}else {
id = cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd(cndtnTrgtInfoMngVO);
msg = "대상자가 없습니다.";
if(StringUtils.isNotEmpty(id)) {
msg = "확인됐습니다.";
next = "Y";
}
}
} catch (Exception e) {
result="fail";
msg = "오류가 발생하였습니다 관리자에게 문의하세요. ";
e.printStackTrace();
// TODO: handle exception
}
modelAndView.addObject("msg", msg);
modelAndView.addObject("result", result);
modelAndView.addObject("id", id);
modelAndView.addObject("next", next);
return modelAndView; return modelAndView;
} }
} }

View File

@ -27,6 +27,7 @@ import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil; import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService; import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService; import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService;
import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService; import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService;
@ -36,6 +37,7 @@ import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctOnlnService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@ -328,6 +330,82 @@ public class SspnIdtmtController {
return "/web/ve/aplct/sspnIdtmt/eduAplctList"; return "/web/ve/aplct/sspnIdtmt/eduAplctList";
} }
/**
* 설문 팝업 리스트 - 실무, 기소
*/
@RequestMapping("/web/ve/aplct/sspnIdtmt/popup/eduAplctPopList.do")
public String eduAplctPopList(
@ModelAttribute("vEEduChasiVO") VEEduChasiVO vEEduChasiVO
, QustnrRespondInfoVO qustnrRespondInfoVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
String s_action = request.getParameter("action"); //insert or select
System.out.println("s_action");
System.out.println(s_action);
System.out.println(vEEduChasiVO.getQustnrTmplatId());
System.out.println(vEEduChasiVO.getQestnrId());
System.out.println(vEEduChasiVO.getQustnrRespondId());
System.out.println(qustnrRespondInfoVO.getQustnrTmplatId());
System.out.println(qustnrRespondInfoVO.getQestnrId());
System.out.println(qustnrRespondInfoVO.getQustnrRespondId());
//차시 정보
/*
try {
vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_10); //10-청소년 강사, 20-성인강사 VE0001
VEEduChasiVO ChasiInfo = vEEduMIXService.selectChasiInfo(vEEduChasiVO);
ChasiInfo.setInstrNm(egovCryptoUtil.decrypt(ChasiInfo.getInstrNm()));
ChasiInfo.setStrtTm(ChasiInfo.getStrtTm().substring(0,2)+":"+ChasiInfo.getStrtTm().substring(2,4));
ChasiInfo.setEndTm(ChasiInfo.getEndTm().substring(0,2)+":"+ChasiInfo.getEndTm().substring(2,4));
model.addAttribute("chasiInfo", ChasiInfo);
}catch(Exception ex) {
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
}
*/
//참석 답변 정보
try {
/*
List<QustnrRespondInfoVO> chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyFndtnList202312(qustnrRespondInfoVO);
//model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent());
//model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant());
System.out.println("chasiSrvyList.get(0).getPrcsAplctPrdOrd()");
System.out.println(chasiSrvyList.get(0).getPrcsAplctPrdOrd());
System.out.println(chasiSrvyList.get(0).getPrcsAplctPrdOrd());
model.addAttribute("chasiSrvyList", chasiSrvyList);
model.addAttribute("chasiSrvyListCnt", chasiSrvyList.size());
*/
}catch(Exception ex) {
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
}
//설문 참여 정보
/*
try {
model = qustnrCommonUtil._qustnrQesItm(
model
, VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012
, "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012
, "QTMPLA_0000000000001"
, vEALettnQestnrMIXService
, egovQustnrRespondInfoService
);
}catch(Exception ex) {
ex.printStackTrace();
}
*/
return "/web/ve/aplct/sspnIdtmt/popup/eduAplctPopList";
}
/** /**
* 교육신청 목록 화면 * 교육신청 목록 화면
*/ */
@ -609,7 +687,8 @@ public class SspnIdtmtController {
modelAndView.addObject("result", "loginFail"); modelAndView.addObject("result", "loginFail");
return modelAndView; return modelAndView;
} }
return sspnIdtmtService.findByTrgtNmAndDBirthAndEduStateCd(cndtnTrgtInfoMngVO);
return sspnIdtmtService.checkSspnIdtmt(cndtnTrgtInfoMngVO);
/* /*
try { try {

View File

@ -48,6 +48,8 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
private List<String> searchSelStatusList; private List<String> searchSelStatusList;
private List<String> sspnIdtmtTrgtOrdList; private List<String> sspnIdtmtTrgtOrdList;
private String eduAplctOrd; //신청한 교육 순번
@ -224,6 +226,12 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
public void setSspnIdtmtTrgtOrdList(List<String> sspnIdtmtTrgtOrdList) { public void setSspnIdtmtTrgtOrdList(List<String> sspnIdtmtTrgtOrdList) {
this.sspnIdtmtTrgtOrdList = sspnIdtmtTrgtOrdList; this.sspnIdtmtTrgtOrdList = sspnIdtmtTrgtOrdList;
} }
public String getEduAplctOrd() {
return eduAplctOrd;
}
public void setEduAplctOrd(String eduAplctOrd) {
this.eduAplctOrd = eduAplctOrd;
}

View File

@ -1,137 +1,137 @@
package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.impl; package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.impl;
import java.util.List; import java.util.List;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO; import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO; @Repository("cndtnTrgtInfoMngDAO")
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; public class CndtnTrgtMngDAO extends EgovAbstractDAO {
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
/* *//**
@Repository("cndtnTrgtInfoMngDAO") * 등록 - C
public class CndtnTrgtMngDAO extends EgovAbstractDAO { * @param VELctrDetailVO
* @throws Exception
/* *//** *//*
* 등록 - C public void insert(VEPrcsDetailVO paramVO) throws Exception {
* @param VELctrDetailVO insert("VEPrcsAplctPrdDAO.insert", paramVO);
* @throws Exception }
*//*
public void insert(VEPrcsDetailVO paramVO) throws Exception { *//**
insert("VEPrcsAplctPrdDAO.insert", paramVO); * 상세보기 - R
} * @param CndtnTrgtInfoMngVO
* @return
*//** * @throws Exception
* 상세보기 - R *//*
* @param CndtnTrgtInfoMngVO public VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception {
* @return return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetail", paramVO);
* @throws Exception }
*//*
public VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception { *//**
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetail", paramVO); * 수정 - U
} * @param CndtnTrgtInfoMngVO
* @return
*//** * @throws Exception
* 수정 - U *//*
* @param CndtnTrgtInfoMngVO public int update(VEPrcsDetailVO paramVO) throws Exception {
* @return return update("VEPrcsAplctPrdDAO.update", paramVO);
* @throws Exception }
*//*
public int update(VEPrcsDetailVO paramVO) throws Exception { *//**
return update("VEPrcsAplctPrdDAO.update", paramVO); * 삭제 - D
} * @param addrAgencyVO
* @return
*//** * @throws Exception
* 삭제 - D *//*
* @param addrAgencyVO public int delete(VEPrcsDetailVO paramVO) throws Exception {
* @return return delete("VEPrcsAplctPrdDAO.delete", paramVO);
* @throws Exception }
*//*
public int delete(VEPrcsDetailVO paramVO) throws Exception { //L
return delete("VEPrcsAplctPrdDAO.delete", paramVO); public List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception {
} List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectList", paramVO);
return tlist;
//L }
public List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception {
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectList", paramVO); public List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception {
return tlist; List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectList4Fndth", paramVO);
} return tlist;
}
public List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception {
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectList4Fndth", paramVO);
return tlist; *//**
} * L - Page
* @param addrVO
* @return
*//** * @throws Exception
* L - Page *//*
* @param addrVO public List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception {
* @return List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectPagingList", paramVO);
* @throws Exception return tlist;
*//* }
public List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception {
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectPagingList", paramVO); public List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception {
return tlist; List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectPagingList4Fndth", paramVO);
} return tlist;
}
public List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception {
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectPagingList4Fndth", paramVO); public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception {
return tlist; return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne", paramVO);
} }
public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception { public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception {
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne", paramVO); return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne4Fndth", paramVO);
} }
public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception { public List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO) {
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne4Fndth", paramVO); return (List<VEInstrDetailVO>) list("VEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList", vEPrcsDetailVO);
} }*/
public List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO) { public List<CndtnTrgtMngVO> selectPagingList(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
return (List<VEInstrDetailVO>) list("VEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList", vEPrcsDetailVO); return (List<CndtnTrgtMngVO>) list("cndtnTrgtInfoMngDAO.selectPagingList", cndtnTrgtInfoMngVO);
}*/ }
public List<CndtnTrgtMngVO> selectPagingList(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public void insert(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
return (List<CndtnTrgtMngVO>) list("cndtnTrgtInfoMngDAO.selectPagingList", cndtnTrgtInfoMngVO); insert("cndtnTrgtInfoMngDAO.insert", cndtnTrgtInfoMngVO);
} }
public void insert(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public CndtnTrgtMngVO selectDetail(CndtnTrgtMngVO cndtnTrgtInfoVO) {
insert("cndtnTrgtInfoMngDAO.insert", cndtnTrgtInfoMngVO); return (CndtnTrgtMngVO) select("cndtnTrgtInfoMngDAO.selectDetail", cndtnTrgtInfoVO);
} }
public CndtnTrgtMngVO selectDetail(CndtnTrgtMngVO cndtnTrgtInfoVO) { public void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
return (CndtnTrgtMngVO) select("cndtnTrgtInfoMngDAO.selectDetail", cndtnTrgtInfoVO); update("cndtnTrgtInfoMngDAO.update", cndtnTrgtInfoMngVO);
} }
public void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public String findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
update("cndtnTrgtInfoMngDAO.update", cndtnTrgtInfoMngVO); return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndEduStateCd", cndtnTrgtInfoMngVO);
} }
public String findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public List<CndtnTrgtMngVO> checkSspnIdtmtStep1(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndEduStateCd", cndtnTrgtInfoMngVO); return (List<CndtnTrgtMngVO>) select("cndtnTrgtInfoMngDAO.checkSspnIdtmtStep1", cndtnTrgtInfoMngVO);
} }
public void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO) { public void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO) {
update("cndtnTrgtInfoMngDAO.updateUserId", cndtnTrgtMngVO); update("cndtnTrgtInfoMngDAO.updateUserId", cndtnTrgtMngVO);
} }
public String findByTrgtNmAndDBirthAndUserIdAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public String findByTrgtNmAndDBirthAndUserIdAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd", cndtnTrgtInfoMngVO); return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd", cndtnTrgtInfoMngVO);
} }
public int findCntreqNmber(String reqNmbrTemp) { public int findCntreqNmber(String reqNmbrTemp) {
return (int) select("cndtnTrgtInfoMngDAO.findCntreqNmber", reqNmbrTemp); return (int) select("cndtnTrgtInfoMngDAO.findCntreqNmber", reqNmbrTemp);
} }
public void updateTrgtDuplAjax(CndtnTrgtMngVO cndtnTrgtMngVO) { public void updateTrgtDuplAjax(CndtnTrgtMngVO cndtnTrgtMngVO) {
update("cndtnTrgtInfoMngDAO.updateTrgtDuplAjax", cndtnTrgtMngVO); update("cndtnTrgtInfoMngDAO.updateTrgtDuplAjax", cndtnTrgtMngVO);
} }
public void updateDel(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public void updateDel(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
update("cndtnTrgtInfoMngDAO.updateDel", cndtnTrgtInfoMngVO); update("cndtnTrgtInfoMngDAO.updateDel", cndtnTrgtInfoMngVO);
} }
} }

View File

@ -192,10 +192,9 @@ public class CndtnTrgtMngController {
cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo); cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo);
//검색 조회 //검색 조회
String selectCondition = "";
if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){ if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){
String selectCondition = "";
String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus(); String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus();
selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')"; selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')";
@ -203,6 +202,20 @@ public class CndtnTrgtMngController {
} }
//성명검색
if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeywordFrom())){
selectCondition = " AND a.trgt_nm = '" +cndtnTrgtInfoMngVO.getSearchKeywordFrom() + "' ";
//cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
}
//생년월일검색
if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeywordTo())){
selectCondition = " AND a.d_birth ='" +cndtnTrgtInfoMngVO.getSearchKeywordTo() + "' ";
}
cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
// List<CndtnTrgtInfoMngVO> cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); // List<CndtnTrgtInfoMngVO> cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = null; List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = null;
try { try {
@ -219,6 +232,9 @@ public class CndtnTrgtMngController {
model.addAttribute("paginationInfo", paginationInfo); model.addAttribute("paginationInfo", paginationInfo);
//복호화
cndtnTrgtInfoMngVOList = egovCryptoUtil.decryptCndtnTrgtMngVOList(cndtnTrgtInfoMngVOList);
//대상 리스트, 페이징 정보 전달 //대상 리스트, 페이징 정보 전달
model.addAttribute("list", cndtnTrgtInfoMngVOList); model.addAttribute("list", cndtnTrgtInfoMngVOList);
@ -284,11 +300,24 @@ public class CndtnTrgtMngController {
String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus(); String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus();
// selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')"; // selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')";
selectCondition = "AND a."+searchStatus+" LIKE '%" +cndtnTrgtInfoMngVO.getSearchKeyword() + "%'"; selectCondition = "AND a."+searchStatus+" LIKE '%" +cndtnTrgtInfoMngVO.getSearchKeyword() + "%'";
cndtnTrgtInfoMngVO.setSearchQuery(selectCondition); //cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
} }
System.out.println("cndtnTrgtInfoMngVO.getSearchSelStatus() : "+ cndtnTrgtInfoMngVO.getSearchSelStatus()); //성명검색
if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeywordFrom())){
selectCondition = " AND a.trgt_nm = '" +cndtnTrgtInfoMngVO.getSearchKeywordFrom() + "' ";
//cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
}
//생년월일검색
if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeywordTo())){
selectCondition = " AND a.d_birth ='" +cndtnTrgtInfoMngVO.getSearchKeywordTo() + "' ";
}
cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getSearchSelStatus())) if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getSearchSelStatus()))
{ {
cndtnTrgtInfoMngVO.setSearchSelStatusToList(cndtnTrgtInfoMngVO.getSearchSelStatus()); cndtnTrgtInfoMngVO.setSearchSelStatusToList(cndtnTrgtInfoMngVO.getSearchSelStatus());
@ -310,6 +339,9 @@ public class CndtnTrgtMngController {
model.addAttribute("paginationInfo", paginationInfo); model.addAttribute("paginationInfo", paginationInfo);
//복호화
cndtnTrgtInfoMngVOList = egovCryptoUtil.decryptCndtnTrgtMngVOList(cndtnTrgtInfoMngVOList);
//대상 리스트, 페이징 정보 전달 //대상 리스트, 페이징 정보 전달
model.addAttribute("list", cndtnTrgtInfoMngVOList); model.addAttribute("list", cndtnTrgtInfoMngVOList);
@ -382,6 +414,8 @@ public class CndtnTrgtMngController {
model.addAttribute("paginationInfo", paginationInfo); model.addAttribute("paginationInfo", paginationInfo);
//복호화
cndtnTrgtInfoMngVOList = egovCryptoUtil.decryptCndtnTrgtMngVOList(cndtnTrgtInfoMngVOList);
//대상 리스트, 페이징 정보 전달 //대상 리스트, 페이징 정보 전달
model.addAttribute("list", cndtnTrgtInfoMngVOList); model.addAttribute("list", cndtnTrgtInfoMngVOList);
@ -482,7 +516,11 @@ public class CndtnTrgtMngController {
cndtnTrgtInfoMngVO.setSspnIdtmtTrgtOrd(trgtOrdService.getNextStringId()); cndtnTrgtInfoMngVO.setSspnIdtmtTrgtOrd(trgtOrdService.getNextStringId());
cndtnTrgtInfoMngVO.setAtchFileId(s_scholSealAtchFileId); //학교장직인 첨부파일 cndtnTrgtInfoMngVO.setAtchFileId(s_scholSealAtchFileId); //학교장직인 첨부파일
cndtnTrgtInfoMngVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id cndtnTrgtInfoMngVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
//암호화
cndtnTrgtInfoMngVO = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO);
cndtnTrgtInfoMngService.insert(cndtnTrgtInfoMngVO); cndtnTrgtInfoMngService.insert(cndtnTrgtInfoMngVO);
}catch(Exception ex) { }catch(Exception ex) {
@ -624,11 +662,14 @@ public class CndtnTrgtMngController {
cndtnTrgtInfoMngVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id cndtnTrgtInfoMngVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
//암호화
cndtnTrgtInfoMngVO = egovCryptoUtil.encryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO);
//수정
cndtnTrgtInfoMngService.update(cndtnTrgtInfoMngVO); cndtnTrgtInfoMngService.update(cndtnTrgtInfoMngVO);
modelAndView.addObject("result", "success"); modelAndView.addObject("result", "success");
return modelAndView; return modelAndView;
@ -654,11 +695,14 @@ public class CndtnTrgtMngController {
//과정 조회 //과정 조회
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
//복호화
cndtnTrgtInfoVO = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfoVO);
model.addAttribute("info", cndtnTrgtInfoVO); model.addAttribute("info", cndtnTrgtInfoVO);
String userWork = this.getUserWork(request); String userWork = this.getUserWork(request);
model.addAttribute("userWork", userWork); model.addAttribute("userWork", userWork);
//파일 정보 가져오기 //파일 정보 가져오기
FileVO fileVO = new FileVO(); FileVO fileVO = new FileVO();
@ -667,9 +711,110 @@ public class CndtnTrgtMngController {
model.addAttribute("fileList", result); model.addAttribute("fileList", result);
model.addAttribute("fileListCnt", result.size()); model.addAttribute("fileListCnt", result.size());
//병합대상자 검색
//model = this._getMergeSearchList(model, cndtnTrgtInfoMngVO);
/*
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = new ArrayList<CndtnTrgtMngVO>();
if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getDBirth()))
{
cndtnTrgtInfoMngVO.setFirstIndex(0);
cndtnTrgtInfoMngVO.setRecordCountPerPage(100000);
// String selectCondition = "AND PRCS_APLCT_PRD_ORD_CMPLT is not null ";
// cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
}
*/
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = this._getMergeSearchList(model, cndtnTrgtInfoMngVO);
//복호화
cndtnTrgtInfoMngVOList = egovCryptoUtil.decryptCndtnTrgtMngVOList(cndtnTrgtInfoMngVOList);
model.addAttribute("list", cndtnTrgtInfoMngVOList);
//병합 대상자 리스트
/*
List<CndtnTrgtMngVO> cndtnTrgtInfoMergeVOList = new ArrayList<CndtnTrgtMngVO>();
{
cndtnTrgtInfoMngVO.setTrgtNm("");
cndtnTrgtInfoMngVO.setFirstIndex(0);
cndtnTrgtInfoMngVO.setRecordCountPerPage(100000);
cndtnTrgtInfoMngVO.setSearchQuery(" AND a.prcs_aplct_prd_ord_cmplt='"+cndtnTrgtInfoMngVO.getSspnIdtmtTrgtOrd()+"' ");
cndtnTrgtInfoMergeVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
}
*/
List<CndtnTrgtMngVO> cndtnTrgtInfoMergeVOList = this._getMergeList(cndtnTrgtInfoMngVO);
//복호화
cndtnTrgtInfoMergeVOList = egovCryptoUtil.decryptCndtnTrgtMngVOList(cndtnTrgtInfoMergeVOList);
model.addAttribute("listMerge", cndtnTrgtInfoMergeVOList);
return "oprtn/cndtnSspnIdtmt/trgtDetail"; return "oprtn/cndtnSspnIdtmt/trgtDetail";
} }
/**
* 대상자목록
*/
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMngDetail.do")
public String trgtMngDetail(
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
//과정 조회
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
//복호화
cndtnTrgtInfoVO = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfoVO);
model.addAttribute("info", cndtnTrgtInfoVO);
String userWork = this.getUserWork(request);
model.addAttribute("userWork", userWork);
//파일 정보 가져오기
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId());
List<FileVO> result = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", result);
model.addAttribute("fileListCnt", result.size());
//병합대상자 검색
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = this._getMergeSearchList(model, cndtnTrgtInfoMngVO);
//복호화
cndtnTrgtInfoMngVOList = egovCryptoUtil.decryptCndtnTrgtMngVOList(cndtnTrgtInfoMngVOList);
model.addAttribute("list", cndtnTrgtInfoMngVOList);
//병합 대상자 리스트
List<CndtnTrgtMngVO> cndtnTrgtInfoMergeVOList = this._getMergeList(cndtnTrgtInfoMngVO);
//복호화
cndtnTrgtInfoMergeVOList = egovCryptoUtil.decryptCndtnTrgtMngVOList(cndtnTrgtInfoMergeVOList);
model.addAttribute("listMerge", cndtnTrgtInfoMergeVOList);
return "oprtn/cndtnSspnIdtmt/trgtMngDetail";
}
/** /**
* 조건부기소유예과정 등록 * 조건부기소유예과정 등록
*/ */
@ -715,10 +860,16 @@ public class CndtnTrgtMngController {
//과정 조회 //과정 조회
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
//복호화
cndtnTrgtInfoVO = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfoVO);
model.addAttribute("info", cndtnTrgtInfoVO); model.addAttribute("info", cndtnTrgtInfoVO);
//세부과정 목록 조회 //세부과정 목록 조회
//병합대상자 검색
/*
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = new ArrayList<CndtnTrgtMngVO>(); List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = new ArrayList<CndtnTrgtMngVO>();
if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getDBirth())) if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getDBirth()))
{ {
@ -729,7 +880,22 @@ public class CndtnTrgtMngController {
cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
} }
model.addAttribute("list", cndtnTrgtInfoMngVOList); model.addAttribute("list", cndtnTrgtInfoMngVOList);
*/
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = this._getMergeSearchList(model, cndtnTrgtInfoMngVO);
//복호화
cndtnTrgtInfoMngVOList = egovCryptoUtil.decryptCndtnTrgtMngVOList(cndtnTrgtInfoMngVOList);
model.addAttribute("list", cndtnTrgtInfoMngVOList);
//병합 대상자 리스트
List<CndtnTrgtMngVO> cndtnTrgtInfoMergeVOList = this._getMergeList(cndtnTrgtInfoMngVO);
//복호화
cndtnTrgtInfoMergeVOList = egovCryptoUtil.decryptCndtnTrgtMngVOList(cndtnTrgtInfoMergeVOList);
model.addAttribute("listMerge", cndtnTrgtInfoMergeVOList);
return "oprtn/cndtnSspnIdtmt/trgtCmpltDetail"; return "oprtn/cndtnSspnIdtmt/trgtCmpltDetail";
} }
@ -833,6 +999,9 @@ public class CndtnTrgtMngController {
//과정 조회 //과정 조회
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
//복호화
cndtnTrgtInfoVO = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfoVO);
model.addAttribute("info", cndtnTrgtInfoVO); model.addAttribute("info", cndtnTrgtInfoVO);
@ -982,7 +1151,6 @@ public class CndtnTrgtMngController {
return modelAndView; return modelAndView;
} }
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMngExcel.do") @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMngExcel.do")
public ModelAndView trgtMngExcel( public ModelAndView trgtMngExcel(
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
@ -1009,83 +1177,96 @@ public class CndtnTrgtMngController {
//로그인 처리==================================== //로그인 처리====================================
//1.pageing step1
PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO);
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
//paginationInfo.setRecordCountPerPage(10000);
//2. pageing step2
cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo);
//검색 조회
String selectCondition = "";
if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){
String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus();
// selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')";
selectCondition = "AND a."+searchStatus+" LIKE '%" +cndtnTrgtInfoMngVO.getSearchKeyword() + "%'";
cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
}
if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getSearchSelStatus()))
{
cndtnTrgtInfoMngVO.setSearchSelStatusToList(cndtnTrgtInfoMngVO.getSearchSelStatus());
}
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = null; List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = null;
try { try {
//1.pageing step1
PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO);
cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
} catch (Exception e) { //paginationInfo.setRecordCountPerPage(10000);
e.printStackTrace();
// TODO: handle exception //2. pageing step2
} cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo);
ComDefaultCodeVO vo = new ComDefaultCodeVO(); //검색 조회
String selectCondition = "";
for(CndtnTrgtMngVO tmp : cndtnTrgtInfoMngVOList) { if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){
//의뢰읠 String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus();
tmp.setReqPnttm(tmp.getReqPnttm().substring(0, 10)); // selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')";
//사건번호 selectCondition = "AND a."+searchStatus+" LIKE '%" +cndtnTrgtInfoMngVO.getSearchKeyword() + "%'";
tmp.setVntYear(tmp.getVntYear()+"형제"+tmp.getVntNmbr()); cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
//관할청 }
if(StringUtil.isNotEmpty(tmp.getCmptntAthrt())) {
vo.setCodeId("VEA008"); if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getSearchSelStatus()))
vo.setCode(tmp.getCmptntAthrt()); {
CmmnDetailCode cmmnDetailCode= egovCmmUseService.selectCmmCodeDetailValue(vo); cndtnTrgtInfoMngVO.setSearchSelStatusToList(cndtnTrgtInfoMngVO.getSearchSelStatus());
tmp.setCmptntAthrt(StringUtil.escapeXml(cmmnDetailCode.getCodeNm())); }
}
//생년월일
if(StringUtil.isNotEmpty(tmp.getdBirth())) {
tmp.setDBirth(tmp.getdBirth()); try {
}
//성별 cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
if(StringUtil.isNotEmpty(tmp.getSex())) { } catch (Exception e) {
vo.setCodeId("COM014"); e.printStackTrace();
vo.setCode(tmp.getSex()); // TODO: handle exception
CmmnDetailCode cmmnDetailCodeSex= egovCmmUseService.selectCmmCodeDetailValue(vo); }
tmp.setSex((StringUtil.escapeXml(cmmnDetailCodeSex.getCodeNm())));
} ComDefaultCodeVO vo = new ComDefaultCodeVO();
//의뢰상태
if(StringUtil.isNotEmpty(tmp.getReqStateCd())) { for(CndtnTrgtMngVO tmp : cndtnTrgtInfoMngVOList) {
vo.setCodeId("VEA005"); //의뢰읠
vo.setCode(tmp.getReqStateCd()); tmp.setReqPnttm(tmp.getReqPnttm().substring(0, 10));
CmmnDetailCode cmmnDetailCodeReqState= egovCmmUseService.selectCmmCodeDetailValue(vo); //사건번호
tmp.setReqStateCd((StringUtil.escapeXml(cmmnDetailCodeReqState.getCodeNm()))); tmp.setVntYear(tmp.getVntYear()+"형제"+tmp.getVntNmbr());
} //관할청
//교육상태 if(StringUtil.isNotEmpty(tmp.getCmptntAthrt())) {
if(StringUtil.isNotEmpty(tmp.getEduStateCd())) { vo.setCodeId("VEA008");
vo.setCodeId("VEA002"); vo.setCode(tmp.getCmptntAthrt());
vo.setCode(tmp.getEduStateCd()); CmmnDetailCode cmmnDetailCode= egovCmmUseService.selectCmmCodeDetailValue(vo);
CmmnDetailCode cmmnDetailCodeEduState= egovCmmUseService.selectCmmCodeDetailValue(vo);
tmp.setEduStateCd((StringUtil.escapeXml(cmmnDetailCodeEduState.getCodeNm()))); if (cmmnDetailCode!=null) tmp.setCmptntAthrt(StringUtil.escapeXml(cmmnDetailCode.getCodeNm()));
} }
//주소 //생년월일
if(StringUtil.isNotEmpty(tmp.getAddr()) && StringUtil.isNotEmpty(tmp.getAddrDetail())) { if(StringUtil.isNotEmpty(tmp.getdBirth())) {
tmp.setAddr(tmp.getAddr()+" "+tmp.getAddrDetail()); tmp.setDBirth(tmp.getdBirth());
} }
//성별
if(StringUtil.isNotEmpty(tmp.getSex())) {
vo.setCodeId("COM014");
vo.setCode(tmp.getSex());
CmmnDetailCode cmmnDetailCodeSex= egovCmmUseService.selectCmmCodeDetailValue(vo);
if (cmmnDetailCodeSex!=null) tmp.setSex((StringUtil.escapeXml(cmmnDetailCodeSex.getCodeNm())));
}
//의뢰상태
if(StringUtil.isNotEmpty(tmp.getReqStateCd())) {
if (tmp.getPrcsAplctPrdOrdCmplt()==null) {
vo.setCodeId("VEA005");
vo.setCode(tmp.getReqStateCd());
CmmnDetailCode cmmnDetailCodeReqState= egovCmmUseService.selectCmmCodeDetailValue(vo);
if (cmmnDetailCodeReqState!=null) tmp.setReqStateCd((StringUtil.escapeXml(cmmnDetailCodeReqState.getCodeNm())));
}else {
tmp.setReqStateCd("병합처리");
}
}
//교육상태
if(StringUtil.isNotEmpty(tmp.getEduStateCd())) {
vo.setCodeId("VEA002");
vo.setCode(tmp.getEduStateCd());
CmmnDetailCode cmmnDetailCodeEduState= egovCmmUseService.selectCmmCodeDetailValue(vo);
if (cmmnDetailCodeEduState!=null) tmp.setEduStateCd((StringUtil.escapeXml(cmmnDetailCodeEduState.getCodeNm())));
}
//주소
if(StringUtil.isNotEmpty(tmp.getAddr()) && StringUtil.isNotEmpty(tmp.getAddrDetail())) {
tmp.setAddr(tmp.getAddr()+" "+tmp.getAddrDetail());
}
}
}catch(Exception ex) {
ex.printStackTrace();
} }
int[] width = { int[] width = {
4000, 5000, 5000, 5000, 3000 4000, 5000, 5000, 5000, 3000
@ -1261,4 +1442,48 @@ public class CndtnTrgtMngController {
e.printStackTrace(); e.printStackTrace();
} }
} }
//병합 대상자 검색
private List<CndtnTrgtMngVO> _getMergeSearchList(
ModelMap p_model
, CndtnTrgtMngVO p_cndtnTrgtInfoMngVO
) throws Exception {
//병합대상자 검색
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = new ArrayList<CndtnTrgtMngVO>();
if(StringUtils.isNotEmpty(p_cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isNotEmpty(p_cndtnTrgtInfoMngVO.getDBirth()))
{
p_cndtnTrgtInfoMngVO.setFirstIndex(0);
p_cndtnTrgtInfoMngVO.setRecordCountPerPage(100000);
//병합 대상자 검색 조건 추가
String selectCondition = " AND a.prcs_aplct_prd_ord_cmplt IS NULL " //이미 병합 안된 사람
+ " AND 0>=(SELECT count(*) FROM vea_sspn_idmt_trgt WHERE prcs_aplct_prd_ord_cmplt=a.sspn_idtmt_trgt_ord) " //소속 병합이 없어야
+ " AND a.sspn_idtmt_trgt_ord!='"+p_cndtnTrgtInfoMngVO.getSspnIdtmtTrgtOrd()+"' "; //본인 제외
p_cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(p_cndtnTrgtInfoMngVO);
}
return cndtnTrgtInfoMngVOList;
}
//병합 대상자
private List<CndtnTrgtMngVO> _getMergeList(
CndtnTrgtMngVO p_cndtnTrgtInfoMngVO
)throws Exception{
//병합 대상자 리스트
List<CndtnTrgtMngVO> cndtnTrgtInfoMergeVOList = new ArrayList<CndtnTrgtMngVO>();
{
p_cndtnTrgtInfoMngVO.setTrgtNm("");
p_cndtnTrgtInfoMngVO.setFirstIndex(0);
p_cndtnTrgtInfoMngVO.setRecordCountPerPage(100000);
p_cndtnTrgtInfoMngVO.setSearchQuery(" AND a.prcs_aplct_prd_ord_cmplt='"+p_cndtnTrgtInfoMngVO.getSspnIdtmtTrgtOrd()+"' ");
cndtnTrgtInfoMergeVOList = cndtnTrgtInfoMngService.selectPagingList(p_cndtnTrgtInfoMngVO);
}
return cndtnTrgtInfoMergeVOList;
//model.addAttribute("listMerge", cndtnTrgtInfoMergeVOList);
}
} }

View File

@ -769,6 +769,14 @@ public class AdvAreaLctrMngTngrController {
System.out.println(vEAStngVO.toString()); System.out.println(vEAStngVO.toString());
//접수기간 중복 체크
List<VEAStngVO> selectListPrdDupCheck = vEAStngService.selectList_VEALRS_prdDupCheck(vEAStngVO);
if (!selectListPrdDupCheck.isEmpty()) {
modelAndView.addObject("result", "dup");
return modelAndView;
}
String s_rnds_ord = rndsOrdGnrService.getNextStringId(); String s_rnds_ord = rndsOrdGnrService.getNextStringId();
vEAStngVO.setRndsOrd(s_rnds_ord); vEAStngVO.setRndsOrd(s_rnds_ord);
@ -836,11 +844,19 @@ public class AdvAreaLctrMngTngrController {
//String s_rnds_ord = rndsOrdGnrService.getNextStringId(); //String s_rnds_ord = rndsOrdGnrService.getNextStringId();
//접수기간 중복 체크
List<VEAStngVO> selectListPrdDupCheck = vEAStngService.selectList_VEALRS_prdDupCheck(vEAStngVO);
if (!selectListPrdDupCheck.isEmpty()) {
modelAndView.addObject("result", "dup");
return modelAndView;
}
List<VEAStngVO> dupList = vEAStngMixService.selectList_VEAALS_2(vEAStngVO); List<VEAStngVO> dupList = vEAStngMixService.selectList_VEAALS_2(vEAStngVO);
if (dupList.size()>0) { if (dupList.size()>0) {
modelAndView.addObject("result", "fail-dup"); modelAndView.addObject("result", "fail-dup");
}else { }else {
//vEAStngVO.setRndsOrd(s_rnds_ord); //vEAStngVO.setRndsOrd(s_rnds_ord);
int i_ret=vEAStngService.update_VEALRS(vEAStngVO); int i_ret=vEAStngService.update_VEALRS(vEAStngVO);

View File

@ -34,6 +34,11 @@
, req_nmbr , req_nmbr
, prsctr_nm , prsctr_nm
, req_state_cd , req_state_cd
, prcs_aplct_prd_ord_cmplt
, vnt_year
, atch_file_id
, edu_aplct_ord
</sql> </sql>
<!-- 조회용 공통 컬럼 명 --> <!-- 조회용 공통 컬럼 명 -->
@ -59,7 +64,12 @@
, a.sex AS sex , a.sex AS sex
, a.req_nmbr AS reqNmbr , a.req_nmbr AS reqNmbr
, a.prsctr_nm AS prsctrNm , a.prsctr_nm AS prsctrNm
, a.req_state_cd AS reqStateCd , a.req_state_cd AS reqStateCd
, a.prcs_aplct_prd_ord_cmplt AS prcsAplctPrdOrdCmplt
, a.vnt_year AS vntYear
, a.atch_file_id AS atchFileId
, a.edu_aplct_ord AS eduAplctOrd
</sql> </sql>
<!-- 기소유예 대상자 R --> <!-- 기소유예 대상자 R -->
@ -152,6 +162,25 @@
, req_nmbr = #reqNmbr# , req_nmbr = #reqNmbr#
, prsctr_nm = #prsctrNm# , prsctr_nm = #prsctrNm#
, req_state_cd = #reqStateCd# , req_state_cd = #reqStateCd#
<isNotEmpty property="prcsAplctPrdOrdCmplt">
, prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt#
</isNotEmpty>
<isNotEmpty property="vntYear">
, vnt_year = #vntYear#
</isNotEmpty>
<isNotEmpty property="atchFileId">
, atch_file_id = #atchFileId#
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
, edu_aplct_ord = #eduAplctOrd#
</isNotEmpty>
WHERE WHERE
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd# sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
</update> </update>

View File

@ -36,6 +36,9 @@
, prsctr_nm , prsctr_nm
, req_state_cd , req_state_cd
, atch_file_id , atch_file_id
, prcs_aplct_prd_ord_cmplt
, edu_aplct_ord
</sql> </sql>
<!-- 조회용 공통 컬럼 명 --> <!-- 조회용 공통 컬럼 명 -->
@ -65,6 +68,8 @@
, a.req_state_cd AS reqStateCd , a.req_state_cd AS reqStateCd
, a.atch_file_id AS atchFileId , a.atch_file_id AS atchFileId
, a.prcs_aplct_prd_ord_cmplt AS prcsAplctPrdOrdCmplt , a.prcs_aplct_prd_ord_cmplt AS prcsAplctPrdOrdCmplt
, a.edu_aplct_ord AS eduAplctOrd
</sql> </sql>
@ -146,9 +151,25 @@
UPDATE UPDATE
<include refid="CndtnTrgtInfoMngDAO.table_name"/> <include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET SET
edu_state_cd = #eduStateCd# prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt#
, prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt#
<isNotEmpty property="eduStateCd">
, edu_state_cd = #eduStateCd#
</isNotEmpty>
<isNotEmpty property="vntYear">
, vnt_year = #vntYear#
</isNotEmpty>
<isNotEmpty property="atchFileId">
, atch_file_id = #atchFileId#
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
, edu_aplct_ord = #eduAplctOrd#
</isNotEmpty>
WHERE SSPN_IDTMT_TRGT_ORD IN WHERE SSPN_IDTMT_TRGT_ORD IN
<iterate property="sspnIdtmtTrgtOrdList" open="(" close=")" conjunction=","> <iterate property="sspnIdtmtTrgtOrdList" open="(" close=")" conjunction=",">
#sspnIdtmtTrgtOrdList[]# #sspnIdtmtTrgtOrdList[]#
@ -161,8 +182,12 @@
UPDATE UPDATE
<include refid="CndtnTrgtInfoMngDAO.table_name"/> <include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET SET
edu_state_cd = #eduStateCd# prcs_aplct_prd_ord_cmplt = null
, prcs_aplct_prd_ord_cmplt = null
<isNotEmpty property="eduStateCd">
, edu_state_cd = #eduStateCd#
</isNotEmpty>
WHERE WHERE
SSPN_IDTMT_TRGT_ORD = #sspnIdtmtTrgtOrd# SSPN_IDTMT_TRGT_ORD = #sspnIdtmtTrgtOrd#
@ -193,7 +218,11 @@
<!-- 기소유예 대상자 R --> <!-- 기소유예 대상자 R -->
<select id="cndtnTrgtInfoMngDAO.selectPagingList" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO"> <select id="cndtnTrgtInfoMngDAO.selectPagingList" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.selectPagingList */ /* cndtnTrgtInfoMngDAO.selectPagingList
vea_sspn_idmt_trgt
교육상태 - vea002 - 10-교육대기,20-이수, 25-요청, 30-교육배정, 40-미이수, 50-연기, 60-교육취소, 70-재교육
의뢰상태 - vea005 - 10-교육대기, 20-교육배정, 30-완료, 40-교육취소
*/
SELECT SELECT
COUNT(1) OVER() AS totCnt, COUNT(1) OVER() AS totCnt,
<include refid="CndtnTrgtInfoMngDAO.select_column_name"/> <include refid="CndtnTrgtInfoMngDAO.select_column_name"/>
@ -250,7 +279,9 @@
#searchSelStatusList[]# #searchSelStatusList[]#
</iterate> </iterate>
</isNotEmpty> </isNotEmpty>
ORDER BY a.frst_regist_pnttm desc ORDER BY NVL(a.prcs_aplct_prd_ord_cmplt, a.sspn_idtmt_trgt_ord)
, a.prcs_aplct_prd_ord_cmplt DESC
, a.frst_regist_pnttm desc
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY; OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select> </select>
@ -284,17 +315,36 @@
FROM FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a <include refid="CndtnTrgtInfoMngDAO.table_name"/> a
WHERE WHERE
a.trgt_nm = #trgtNm# a.trgt_nm = #trgtNm#
AND a.d_birth = #dBirth# AND a.d_birth = #dBirth#
AND ( AND (
a.edu_state_cd = '20' a.edu_state_cd = '20'
OR a.edu_state_cd = '25' OR a.edu_state_cd = '25'
OR a.edu_state_cd = '30' OR a.edu_state_cd = '30'
) )
</select> </select>
<!-- 기소유예 대상자 확인 STEP01 -->
<select id="cndtnTrgtInfoMngDAO.checkSspnIdtmtStep1" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.checkSspnIdtmtStep1 - step1.신청 가능한 대상이 있는지 찾는다. */
SELECT
sspn_idtmt_trgt_ord AS sspnIdtmtTrgtOrd
FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a
WHERE
a.trgt_nm = #trgtNm#
AND a.d_birth = #dBirth#
AND a.sex = #sex#
AND (
a.edu_state_cd = '10' /* 교육대기 */
OR a.edu_state_cd = '50' /* 연기 */
OR a.edu_state_cd = '70' /* 재교육 */
)
AND a.prcs_aplct_prd_ord_cmplt IS NULL /* 병합되지 않았다. */
</select>

View File

@ -170,6 +170,7 @@
<!-- 강사 등록 C --> <!-- 강사 등록 C -->
<insert id="VEEduAplctDAO.insert" parameterClass="VEEduAplctVO"> <insert id="VEEduAplctDAO.insert" parameterClass="VEEduAplctVO">
/* VEEduAplctDAO.insert */
INSERT INTO <include refid="VEEduAplctDAO.table_name"/> ( INSERT INTO <include refid="VEEduAplctDAO.table_name"/> (
<include refid="VEEduAplctDAO.column_name"/> <include refid="VEEduAplctDAO.column_name"/>
@ -827,6 +828,9 @@
<!-- 강사 정보 U --> <!-- 강사 정보 U -->
<update id="VEEduAplctDAO.update" parameterClass="VEEduAplctVO"> <update id="VEEduAplctDAO.update" parameterClass="VEEduAplctVO">
/* VEEduAplctDAO.update
ve_edu_aplct = aprvl_cd (10-요청, 100-찜하기, 120-선정완료, 140-선정취소, 20-승인, 230-대기, 30-반려, 40-취소, 60-교육확정, 70-수정요청, 80-수정완료, 90-교육미확정) VE0003
*/
UPDATE <include refid="VEEduAplctDAO.table_name"/> UPDATE <include refid="VEEduAplctDAO.table_name"/>
SET SET
LAST_UPDT_PNTTM = SYSDATE LAST_UPDT_PNTTM = SYSDATE

View File

@ -211,6 +211,8 @@
ON e.MBER_ID = d.USER_ID ON e.MBER_ID = d.USER_ID
WHERE WHERE
a.APLCT_STATE_CD ='20' a.APLCT_STATE_CD ='20'
AND
b.LCTR_DIV_CD !='60'
AND AND
a.EDU_CMPLT_CRTFC_NMBR IS NOT null a.EDU_CMPLT_CRTFC_NMBR IS NOT null

View File

@ -246,6 +246,31 @@
*/ */
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY; OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
<!-- 접수기간 중복 체크 -->
<select id="VEALctrRndsStngDAO.selectListPrdDupCheck" parameterClass="VEAStngVO" resultClass="VEAStngVO">
/* VEALctrRndsStngDAO.selectListPrdDupCheck */
SELECT
<include refid="VEALctrRndsStngDAO.select_column_name"/>
FROM
<include refid="VEALctrRndsStngDAO.table_name"/> a
WHERE
1=1
AND (
a.RGSTR_STRT_PNTTM BETWEEN #rgstrStrtPnttm# AND #rgstrDdlnPnttm#
OR a.RGSTR_DDLN_PNTTM BETWEEN #rgstrStrtPnttm# AND #rgstrDdlnPnttm#
OR #rgstrStrtPnttm# BETWEEN a.RGSTR_STRT_PNTTM AND a.RGSTR_DDLN_PNTTM
OR #rgstrDdlnPnttm# BETWEEN a.RGSTR_STRT_PNTTM AND a.RGSTR_DDLN_PNTTM
)
<isNotEmpty property="rndsOrd">
AND a.RNDS_ORD!=#rndsOrd#
</isNotEmpty>
</select> </select>
</sqlMap> </sqlMap>

View File

@ -10,6 +10,7 @@
<pattern>*/sym/mnu/mcm/EgovMenuCreat.jsp</pattern> <!-- 매뉴생성 --> <pattern>*/sym/mnu/mcm/EgovMenuCreat.jsp</pattern> <!-- 매뉴생성 -->
<pattern>*/sym/cal/*</pattern> <!-- 달력 팝업 --> <pattern>*/sym/cal/*</pattern> <!-- 달력 팝업 -->
<pattern>*/sym/cmm/*</pattern> <!-- 달력 팝업 -->
<!-- 사용자 화면 --> <!-- 사용자 화면 -->

View File

@ -132,18 +132,21 @@
<div class="util_left"> <div class="util_left">
<p>강사검색</p> <p>강사검색</p>
</div> </div>
<ve:select codeId="VEA017" name="searchRsdne" id="searchRsdne" css="class='sel_type1'"
selectedValue="${vEEduAplctVO.searchRsdne}" defaultValue=''
defaultText='지역전체'
/>
<%-- <ve:select codeId="VE0008" name="searchEduSlctAreaCd" id="searchEduSlctAreaCd" css="class='sel_type1'" --%> <%-- <ve:select codeId="VE0008" name="searchEduSlctAreaCd" id="searchEduSlctAreaCd" css="class='sel_type1'" --%>
<%-- selectedText="${vEEduAplctVO.rsdne}" defaultValue='' --%> <%-- selectedText="${vEEduAplctVO.rsdne}" defaultValue='' --%>
<%-- defaultText='전체' --%> <%-- defaultText='전체' --%>
<%-- /> --%> <%-- /> --%>
<div class="util_right"> <div class="util_right">
<input type="text" id="instrNm" name="instrNm" class="search_input" placeholder="검색어를 입력하세요" value="${vEEduAplctVO.instrNm}"> <input type="text" id="instrNm" name="instrNm" class="search_input" placeholder="강사명을 입력하세요" value="${vEEduAplctVO.instrNm}">
<button type="button" class="btn_type08" onclick="linkPage(1); return false;">검색</button> <button type="button" class="btn_type08" onclick="linkPage(1); return false;">검색</button>
</div> </div>
<ve:select codeId="VEA017" name="searchRsdne" id="searchRsdne" css="class='sel_type1'"
selectedValue="${vEEduAplctVO.searchRsdne}" defaultValue=''
defaultText='지역전체'
/>
</div> </div>
</div> </div>
<div class="pop_tb_tit01"> <div class="pop_tb_tit01">

View File

@ -179,8 +179,9 @@
<!--tap 추가--> <!--tap 추가-->
<ul class="tab_wrap"> <ul class="tab_wrap">
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리목록</button></li> <li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리목록</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리목록</button></li>
<li class="tab active"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">교육확정관리목록</button></li> <li class="tab active"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">교육확정관리목록</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리목록</button></li>
</ul> </ul>
<div class="box"> <div class="box">

View File

@ -174,6 +174,28 @@
} }
//초기화
function fncReset(thisObj) {
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function() {
if ($(this).prop('tagName') == 'SELECT') {
if ($(this).attr('name').indexOf('Month') != -1) {
$(this).val(new Date().getMonth() + 1);
} else if ($(this).attr('name').indexOf('Year') != -1) {
$(this).val(new Date().getFullYear());
} else {
$(this).prop("selectedIndex", 0);
}
} else {
if ($(this).attr('type') == 'checkbox') {
$(this).prop('checked', false);
} else {
$(this).val('');
}
}
});
}
</script> </script>
<title>과정신청기간관리목록</title> <title>과정신청기간관리목록</title>
</head> </head>
@ -190,9 +212,9 @@
<!--tap 추가--> <!--tap 추가-->
<ul class="tab_wrap"> <ul class="tab_wrap">
<li class="tab active"><button type="button" >과정신청기간관리목록</button></li> <li class="tab active"><button type="button" >과정신청기간관리목록</button></li>
<%-- <li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리목록</button></li> --%> <%-- <li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리목록</button></li> --%>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리목록</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">교육확정관리목록</button></li> <li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">교육확정관리목록</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리목록</button></li>
</ul> </ul>
<div class="box"> <div class="box">

View File

@ -8,6 +8,7 @@
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%pageContext.setAttribute("crlf", "\r\n"); %>
<% <%
/** /**
* @Class Name : fndthEduPrcsMngDetail.jsp * @Class Name : fndthEduPrcsMngDetail.jsp
@ -116,7 +117,8 @@
<tr> <tr>
<th scope="row">과정설명</th> <th scope="row">과정설명</th>
<td> <td>
<c:out value='${info.prcsCn}' /> <%-- <c:out value='${info.prcsCn}' /> --%>
<c:out value="${fn:replace(info.prcsCn , crlf , '<br/>')}" escapeXml="false" />
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -11,6 +11,7 @@
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" /> <un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
<%pageContext.setAttribute("crlf", "\r\n"); %>
<% <%
/** /**
* @Class Name : fndthEduPrcsMngList.jsp * @Class Name : fndthEduPrcsMngList.jsp
@ -154,8 +155,9 @@
<ul class="tab_wrap"> <ul class="tab_wrap">
<!-- <li class="tab active"><button type="button" >과정신청기간관리목록</button></li> --> <!-- <li class="tab active"><button type="button" >과정신청기간관리목록</button></li> -->
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리목록</button></li> <li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리목록</button></li>
<li class="tab active"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리목록</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">교육확정관리목록</button></li> <li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">교육확정관리목록</button></li>
<li class="tab active"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리목록</button></li>
</ul> </ul>
<div class="box"> <div class="box">
@ -244,7 +246,8 @@
<c:out value='${list.prcsNm}'/> <c:out value='${list.prcsNm}'/>
</td> </td>
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;"> <td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
<c:out value='${list.prcsCn}'/> <%-- <c:out value='${list.prcsCn}'/> --%>
<c:out value="${fn:replace(list.prcsCn , crlf , '<br/>')}" escapeXml="false" />
</td> </td>
<td> <td>
<c:out value='${list.frstRegistPnttm}'/> <c:out value='${list.frstRegistPnttm}'/>

View File

@ -163,6 +163,7 @@
} }
//초기화
function fncReset(thisObj) { function fncReset(thisObj) {
var targetObj = $(thisObj).closest('.list_top').find('select,input'); var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function() { $.each(targetObj, function() {

View File

@ -1,431 +1,545 @@
<!DOCTYPE html> <!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%> pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> <%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<% <%
/** /**
* @Class Name : cndtnEduPrcsMngDetail.jsp * @Class Name : cndtnEduPrcsMngDetail.jsp
* @Description : 조건부기소유예 상세화면 * @Description : 조건부기소유예 상세화면
* @Modification Information * @Modification Information
* @ * @
* @ 수정일 수정자 수정내용 * @ 수정일 수정자 수정내용
* @ ------- -------- --------------------------- * @ ------- -------- ---------------------------
* @ 2021.12.16 조용준 최초 생성 * @ 2021.12.16 조용준 최초 생성
* @author 조용주 * @author 조용주
* @since 2021.12.16 * @since 2021.12.16
* @version 1.0 * @version 1.0
* @see * @see
* *
*/ */
%> %>
<html lang="ko"> <html lang="ko">
<head> <head>
<title>교육과정관리</title> <title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript"> <script type="text/javascript">
function fncGoList(){ function fncGoList(){
var listForm = document.listForm ; var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltList.do'/>"; listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltList.do'/>";
listForm.submit(); listForm.submit();
} }
function fncGoSearch(){ function fncGoSearch(){
var form = document.listForm ; var form = document.listForm ;
form.trgtNm.value=$('#trgtNm').val(); form.trgtNm.value=$('#trgtNm').val();
form.dBirth.value=$('#dBirth').val(); form.dBirth.value=$('#dBirth').val();
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltDetail.do'/>"; form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltDetail.do'/>";
form.submit(); form.submit();
} }
// 체크박스O // 체크박스O
function fnUpdate(){ function fnUpdate(){
var sspnIdtmtTrgtOrdList = []; var sspnIdtmtTrgtOrdList = [];
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회 // "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() { $("input[name='chk']:checked").each(function() {
var sspnIdtmtTrgtOrd = $(this).val(); var sspnIdtmtTrgtOrd = $(this).val();
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrd); sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrd);
}); });
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료 // 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
if (sspnIdtmtTrgtOrdList.length === 0) { if (sspnIdtmtTrgtOrdList.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요."); alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false; return false;
} }
var dataToSend = { var dataToSend = {
"sspnIdtmtTrgtOrdList": sspnIdtmtTrgtOrdList "sspnIdtmtTrgtOrdList": sspnIdtmtTrgtOrdList
, "eduStateCd" : "20" //, "eduStateCd" : "20"
, "prcsAplctPrdOrdCmplt" : $('#prcsAplctPrdOrdCmplt').val() //, "prcsAplctPrdOrdCmplt" : $('#prcsAplctPrdOrdCmplt').val()
}; , "prcsAplctPrdOrdCmplt" : $('#sspnIdtmtTrgtOrd').val()
};
// var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateEduAplctAprvlCdAjax.do'/>";
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateTrgtDuplAjax.do'/>"; // var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateEduAplctAprvlCdAjax.do'/>";
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateTrgtDuplAjax.do'/>";
if(!confirm("이수처리 진행하시겠습니까?")){
return false; if(!confirm("병합처리 진행하시겠습니까?")){
} return false;
// AJAX 호출을 통해 서버에 데이터 전송 }
$.ajax({ // AJAX 호출을 통해 서버에 데이터 전송
type:"POST", $.ajax({
url: url, type:"POST",
data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음 url: url,
// contentType : 'application/json', data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
dataType:'json', // contentType : 'application/json',
success:function(returnData){ dataType:'json',
if(returnData.result == "success"){ success:function(returnData){
alert("변경 처리 되었습니다."); if(returnData.result == "success"){
window.location.reload(); alert("변경 처리 되었습니다.");
}else{ window.location.reload();
alert("변경 중 오류가 발생하였습니다."); }else{
} alert("변경 중 오류가 발생하였습니다.");
}, }
error: function(jqXHR, textStatus, errorThrown) { },
console.error("AJAX Error:", textStatus, errorThrown); error: function(jqXHR, textStatus, errorThrown) {
console.error("Response:", jqXHR.responseText); console.error("AJAX Error:", textStatus, errorThrown);
} console.error("Response:", jqXHR.responseText);
}); }
} });
}
function fncDel(sspnIdtmtTrgtOrd){
function fncDel(sspnIdtmtTrgtOrd){
var listForm = document.delForm ;
delForm.sspnIdtmtTrgtOrd.value=sspnIdtmtTrgtOrd; var listForm = document.delForm ;
var data = new FormData(document.getElementById("delForm")); delForm.sspnIdtmtTrgtOrd.value=sspnIdtmtTrgtOrd;
var data = new FormData(document.getElementById("delForm"));
if(confirm("이수 처리를 삭제하시겠습니까?")){
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/delUpdateAjax.do'/>"; if(confirm("병합을 취소하시겠습니까?")){
$.ajax({ var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/delUpdateAjax.do'/>";
type:"POST", $.ajax({
url: url, type:"POST",
data: data, url: url,
dataType:'json', data: data,
async: false, dataType:'json',
processData: false, async: false,
contentType: false, processData: false,
cache: false, contentType: false,
success:function(returnData){ cache: false,
if(returnData.result == "success"){ success:function(returnData){
alert("수정되었습니다."); if(returnData.result == "success"){
window.location.reload(); alert("수정되었습니다.");
} window.location.reload();
}, }
error:function(request , status, error){ },
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); error:function(request , status, error){
} alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}); }
} });
}
}
}
</script>
</script>
</head>
<body> </head>
<form id="delForm" name="delForm"> <body>
<input type="hidden" name="sspnIdtmtTrgtOrd" value=""/> <form id="delForm" name="delForm">
<input type="hidden" name="eduStateCd" value="10"/> <input type="hidden" name="sspnIdtmtTrgtOrd" value=""/>
</form> </form>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post"> <form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
<input type="hidden" name="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}'/>"/> <input type="hidden" name="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}'/>"/>
<input type="hidden" name="trgtNm" value=""/> <input type="hidden" name="trgtNm" value=""/>
<input type="hidden" name="dBirth" value=""/> <input type="hidden" name="dBirth" value=""/>
</form:form> </form:form>
<input type="hidden" name="sspnIdtmtTrgtOrd" id="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}'/>"/> <input type="hidden" name="sspnIdtmtTrgtOrd" id="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}'/>"/>
<input type="hidden" name="prcsAplctPrdOrdCmplt" id="prcsAplctPrdOrdCmplt" value="<c:out value='${info.prcsAplctPrdOrdCmplt}'/>"/> <input type="hidden" name="prcsAplctPrdOrdCmplt" id="prcsAplctPrdOrdCmplt" value="<c:out value='${info.prcsAplctPrdOrdCmplt}'/>"/>
<!-- cont --> <!-- cont -->
<div class="cont_wrap"> <div class="cont_wrap">
<div class="box"> <div class="box">
<!-- cont_tit --> <!-- cont_tit -->
<div class="cont_tit"> <div class="cont_tit">
<h2>수료자 상세</h2> <h2>수료자 상세</h2>
<ul class="cont_nav"> <ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li> <li class="home"><a href="/"><i></i></a></li>
<li> <li>
<p>조건부기소유예관리</p> <p>조건부기소유예관리</p>
</li> </li>
<li><span class="cur_nav">수료자 목록</span></li> <li><span class="cur_nav">수료자 목록</span></li>
<li><span class="cur_nav">수료자 상세</span></li> <li><span class="cur_nav">수료자 상세</span></li>
</ul> </ul>
</div> </div>
<!-- //cont_tit --> <!-- //cont_tit -->
<div class="cont"> <div class="cont">
<!-- list_상세 --> <!-- list_상세 -->
<div class="tb_tit01"> <div class="tb_tit01">
<p>수료자 상세</p> <p>수료자 상세</p>
</div> </div>
<div class="tb_type02"> <div class="tb_type02">
<table> <table>
<colgroup> <colgroup>
<col style="width: 210px;"> <col style="width: 210px;">
<col style="width: auto;"> <col style="width: auto;">
<col style="width: 210px;"> <col style="width: 210px;">
<col style="width: auto;"> <col style="width: auto;">
</colgroup> </colgroup>
<tbody> <tbody>
<tr> <tr>
<th scope="row">의뢰일</th> <th scope="row">의뢰일</th>
<td> <td>
<div id="calendar"> <div id="calendar">
<div class="calendar_wrap"> <div class="calendar_wrap">
<!-- <input type="text" class="calendar" placeholder="의뢰일" title="의뢰일 선택" id="reqPnttm" name="reqPnttm" value=""> --> <!-- <input type="text" class="calendar" placeholder="의뢰일" title="의뢰일 선택" id="reqPnttm" name="reqPnttm" value=""> -->
<!-- <input type="text" class="calendar" placeholder="의뢰일" title="의뢰일 선택" id="reqPnttm" name="reqPnttm" value=""> --> <!-- <input type="text" class="calendar" placeholder="의뢰일" title="의뢰일 선택" id="reqPnttm" name="reqPnttm" value=""> -->
<c:set var="reqPnttm" value="${fn:substring(info.reqPnttm, 0, 10)}" /> <c:set var="reqPnttm" value="${fn:substring(info.reqPnttm, 0, 10)}" />
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%> <%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
<c:out value="${reqPnttm }" /> <c:out value="${reqPnttm }" />
</div> </div>
</div> </div>
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row">사건번호</th> <th scope="row">사건번호</th>
<td> <td>
<c:out value="${info.vntNmbr }" /> <c:out value="${info.vntNmbr }" />
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row">관할청</th> <th scope="row">관할청</th>
<td> <td>
<c:out value="${info.cmptntAthrt }" /> <c:out value="${info.cmptntAthrt }" />
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row">성별</th> <th scope="row">성별</th>
<td> <td>
<ve:code codeId="COM014" code="${info.sex }"/> <ve:code codeId="COM014" code="${info.sex }"/>
</td> </td>
<th scope="row">연락처</th> <th scope="row">연락처</th>
<td> <td>
<c:out value="${info.clphone }" /> <c:out value="${info.clphone }" />
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row">성명</th> <th scope="row">성명</th>
<td> <td>
<c:out value="${info.trgtNm }" /> <c:out value="${info.trgtNm }" />
</td> </td>
<th scope="row">생년월일</th> <th scope="row">생년월일</th>
<td> <td>
<c:out value="${info.dBirth }" /> <c:out value="${info.dBirth }" />
</td> </td>
</tr> </tr>
<!-- <tr> <!-- <tr>
<th scope="row">연락처(핸드폰)</th> <th scope="row">연락처(핸드폰)</th>
<td> <td>
<input type="text" name="clphone" /> <input type="text" name="clphone" />
</td> </td>
</tr> --> </tr> -->
<tr> <tr>
<th scope="row">의뢰번호</th> <th scope="row">의뢰번호</th>
<td> <td>
<c:out value="${info.reqNmbr }" /> <c:out value="${info.reqNmbr }" />
</td> </td>
<th scope="row">의뢰상태</th> <th scope="row">의뢰상태</th>
<td> <td>
<ve:code codeId="VEA005" code="${info.reqStateCd }"/> <c:choose>
</td> <c:when test="${not empty info.prcsAplctPrdOrdCmplt }">
</tr> 병합대상
<tr> </c:when>
<th scope="row">교육상태</th> <c:otherwise>
<td> <ve:code codeId="VEA005" code="${info.reqStateCd }"/>
<ve:code codeId="VEA002" code="${info.eduStateCd }"/> </c:otherwise>
</td> </c:choose>
<th scope="row">검사명</th> </td>
<td> </tr>
<c:out value="${info.prsctrNm }" /> <tr>
</td> <th scope="row">교육상태</th>
</tr> <td>
<tr class="input_adress"> <ve:code codeId="VEA002" code="${info.eduStateCd }"/>
<th scope="row"> </td>
<p>주소</p> <th scope="row">검사명</th>
</th> <td>
<td colspan="3"> <c:out value="${info.prsctrNm }" />
<label for="post" class="label">우편번호 입력</label> </td>
<c:out value='${info.post}'/> </tr>
<div class="detail_address"> <tr class="input_adress">
<c:out value='${info.addr}'/> <th scope="row">
<c:out value='${info.addrDetail}'/> <p>주소</p>
</div> </th>
</td> <td colspan="3">
</tr> <label for="post" class="label">우편번호 입력</label>
</tbody> <c:out value='${info.post}'/>
</table> <div class="detail_address">
</div> <c:out value='${info.addr}'/>
<!-- //list_상세 --> <c:out value='${info.addrDetail}'/>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tb_tit01"> <!-- //list_상세 -->
<p>중복 대상자 검색</p>
</div>
<!-- list_top -->
<div class="list_top search-only">
<div class="list_top_1">
<div class="util_right">
<!-- placeholder를 위한 c:choose 추가 --> <!-- btn_wrap -->
<c:choose> <div class="btn_wrap btn_layout01">
<c:when test="${not empty cndtnTrgtInfoMngVO.trgtNm}"> <div class="btn_left">
<input type="text" id="trgtNm" name="trgtNm" placeholder="이름" value="<c:out value='${cndtnTrgtInfoMngVO.trgtNm }' /> " /> </div>
</c:when> <div class="btn_center">
<c:otherwise> </div>
<input type="text" id="trgtNm" name="trgtNm" placeholder="이름" /> <div class="btn_right">
</c:otherwise> <!-- <button type="button" class="btn_type02" onclick="fncMdfy(); return false;">수정</button> -->
</c:choose> <button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
<c:choose> </div>
<c:when test="${not empty cndtnTrgtInfoMngVO.dBirth}"> </div>
<input type="text" id="dBirth" name="dBirth" placeholder="연락처" value="<c:out value='${cndtnTrgtInfoMngVO.dBirth }' /> " />
</c:when> <div class="tb_tit01">
<c:otherwise> <p>병합 대상자</p>
<input type="text" id="dBirth" name="dBirth" placeholder="연락처" /> </div>
</c:otherwise>
</c:choose> <!-- list -->
<%-- <input type="text" id="searchKeyword" name="searchKeyword" placeholder="검색어를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>"> --%> <div class="tb_type01">
<button type="button" class="btn_type08" onclick="fncGoSearch(); return false;">검색</button> <table>
<!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> --> <colgroup>
</div> <col style="width: 100px">
</div> <col style="width: 100px">
</div> <col style="width: 80px">
<col style="width: 100px">
<div class="btn_wrap btn_layout01" style="margin: 0px 0px 30px 10px;"> <col style="width: 80px">
<div class="btn_left"> <col style="width: 60px">
<button type="button" class="btn_type04" onclick="fnUpdate(); return false;">중복자 이수 처리</button> <col style="width: 140px">
</div> <col style="width: 80px">
</div> <col style="width: 80px">
<!-- list --> <col style="width: auto">
<div class="tb_type01"> <col style="width: 80px">
<table> <col style="width: 100px">
<colgroup> </colgroup>
<col style="width: 2px"> <thead>
<col style="width: 10%"> <tr>
<col style="width: 10%">
<col style="width: 2px"> <th>의뢰일</th>
<col style="width: 2px"> <th>사건번호</th>
<col style="width: 2px"> <th>관할청</th>
<col style="width: 2px"> <th>생년월일</th>
<col style="width: 10%"> <th>성명</th>
<col style="width: 10%"> <th>성별</th>
<col style="width: 10%"> <th>의뢰번호</th>
<col style="width: 2px"> <th>의뢰상태</th>
<col style="width: 2px"> <th>교육상태</th>
</colgroup> <th>주소</th>
<thead> <th>검사명</th>
<tr> <th>삭제</th>
<th></th> </tr>
<th>의뢰일</th> </thead>
<th>사건번호</th> <tbody>
<th>관할청</th> <c:forEach var="list" items="${listMerge}" varStatus="status">
<th>생년월일</th> <%-- <tr class="listCount" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<th>성명</th> <tr>
<th>성별</th> <%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<th>의뢰번호</th> <%-- <c:out value='${list.prcsNm}'/> --%>
<th>의뢰상태</th> <!-- </td> -->
<th>교육상태</th>
<th>주소</th> <td>
<th>검사명</th> <c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" />
</tr> <%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
</thead> <c:out value="${reqPnttm }" />
<tbody> </td>
<c:forEach var="list" items="${list}" varStatus="status"> <td>
<%-- <tr class="listCount" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%> <c:out value="${list.vntNmbr }" />
<tr> </td>
<%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%> <td>
<%-- <c:out value='${list.prcsNm}'/> --%> <c:out value="${list.cmptntAthrt }" />
<!-- </td> --> </td>
<td> <td>
<c:choose> <c:out value="${list.dBirth }" />
<c:when test="${list.eduStateCd ne 20}"> </td>
<input name="chk" <td>
value="${list.sspnIdtmtTrgtOrd}" title="Check" type="checkbox"/> <c:out value="${list.trgtNm }" />
</c:when> </td>
<c:otherwise> <td>
<button type="button" class="btn_type05" onclick="fncDel('${list.sspnIdtmtTrgtOrd}'); return false;">취소</button> <ve:code codeId="COM014" code="${list.sex }"/>
</c:otherwise> </td>
</c:choose> <td>
</td> <c:out value="${list.reqNmbr }" />
<td> </td>
<c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" /> <td>
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%> <ve:code codeId="VEA005" code="${list.reqStateCd }"/>
<c:out value="${reqPnttm }" /> </td>
</td> <td>
<td> <ve:code codeId="VEA002" code="${list.eduStateCd }"/>
<c:out value="${list.vntNmbr }" /> </td>
</td> <c:set var="fullAddr" value="${list.addr} ${list.addrDetail}" />
<td> <%-- <c:set var="fullAddr" value="${list.addr}" /> --%>
<c:out value="${list.cmptntAthrt }" /> <td title="${fullAddr}">
</td> <c:out value="${list.addr }" />
<td> <c:out value="${list.addrDetail }" />
<c:out value="${list.dBirth }" /> <%-- ${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''} --%>
</td> </td>
<td> <td>
<c:out value="${list.trgtNm }" /> <c:out value="${list.prsctrNm }" />
</td> </td>
<td> <td>
<ve:code codeId="COM014" code="${list.sex }"/> <button type="button" class="btn_type05" onclick="fncDel('${list.sspnIdtmtTrgtOrd}'); return false;">병합취소</button>
</td> </td>
<td> </tr>
<c:out value="${list.reqNmbr }" /> </c:forEach>
</td> <c:if test="${empty listMerge}">
<td> <tr><td colspan="12"><spring:message code="common.nodata.msg" /></td></tr>
<ve:code codeId="VEA005" code="${list.reqStateCd }"/> </c:if>
</td> </tbody>
<td> </table>
<ve:code codeId="VEA002" code="${list.eduStateCd }"/> </div>
</td>
<c:set var="fullAddr" value="${list.addr} ${list.addrDetail}" /> <c:if test="${empty info.prcsAplctPrdOrdCmplt }">
<%-- <c:set var="fullAddr" value="${list.addr}" /> --%>
<td title="${fullAddr}"> <div class="tb_tit01">
${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''} <p>병합 대상자 검색</p>
</td> </div>
<td>
<c:out value="${list.prsctrNm }" /> <!-- list_top -->
</td> <div class="list_top search-only">
</tr> <div class="list_top_1">
</c:forEach> <div class="util_right">
<c:if test="${empty list}">
<tr><td colspan="12"><spring:message code="common.nodata.msg" /></td></tr> <!-- placeholder를 위한 c:choose 추가 -->
</c:if> <c:choose>
</tbody> <c:when test="${not empty cndtnTrgtInfoMngVO.trgtNm}">
</table> <input type="text" id="trgtNm" name="trgtNm" placeholder="이름" value="<c:out value='${cndtnTrgtInfoMngVO.trgtNm }' /> " />
</div> </c:when>
<c:otherwise>
<input type="text" id="trgtNm" name="trgtNm" placeholder="이름" />
<!-- btn_wrap --> </c:otherwise>
<div class="btn_wrap btn_layout01"> </c:choose>
<div class="btn_left"> <c:choose>
</div> <c:when test="${not empty cndtnTrgtInfoMngVO.dBirth}">
<div class="btn_center"> <input type="text" id="dBirth" name="dBirth" placeholder="연락처" value="<c:out value='${cndtnTrgtInfoMngVO.dBirth }' /> " />
</div> </c:when>
<div class="btn_right"> <c:otherwise>
<!-- <button type="button" class="btn_type02" onclick="fncMdfy(); return false;">수정</button> --> <input type="text" id="dBirth" name="dBirth" placeholder="연락처" />
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button> </c:otherwise>
</div> </c:choose>
</div> <%-- <input type="text" id="searchKeyword" name="searchKeyword" placeholder="검색어를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>"> --%>
</div> <button type="button" class="btn_type08" onclick="fncGoSearch(); return false;">검색</button>
</div> <!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> -->
</div> </div>
<!-- //cont --> </div>
</body> </div>
</html>
<!-- list -->
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 40px">
<col style="width: 100px">
<col style="width: 100px">
<col style="width: 80px">
<col style="width: 100px">
<col style="width: 80px">
<col style="width: 60px">
<col style="width: 140px">
<col style="width: 80px">
<col style="width: 80px">
<col style="width: auto">
<col style="width: 80px">
</colgroup>
<thead>
<tr>
<th></th>
<th>의뢰일</th>
<th>사건번호</th>
<th>관할청</th>
<th>생년월일</th>
<th>성명</th>
<th>성별</th>
<th>의뢰번호</th>
<th>의뢰상태</th>
<th>교육상태</th>
<th>주소</th>
<th>검사명</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<%-- <tr class="listCount" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<tr>
<%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<%-- <c:out value='${list.prcsNm}'/> --%>
<!-- </td> -->
<td>
<c:choose>
<c:when test="${list.eduStateCd ne 20}">
<input name="chk"
value="${list.sspnIdtmtTrgtOrd}" title="Check" type="checkbox"/>
</c:when>
<c:otherwise>
<button type="button" class="btn_type05" onclick="fncDel('${list.sspnIdtmtTrgtOrd}'); return false;">취소</button>
</c:otherwise>
</c:choose>
</td>
<td>
<c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" />
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
<c:out value="${reqPnttm }" />
</td>
<td>
<c:out value="${info.vntYear }" />형제<c:out value="${info.vntNmbr }" />
</td>
<td>
<c:out value="${list.cmptntAthrt }" />
</td>
<td>
<c:out value="${list.dBirth }" />
</td>
<td>
<c:out value="${list.trgtNm }" />
</td>
<td>
<ve:code codeId="COM014" code="${list.sex }"/>
</td>
<td>
<c:out value="${list.reqNmbr }" />
</td>
<td>
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>
</td>
<td>
<ve:code codeId="VEA002" code="${list.eduStateCd }"/>
</td>
<c:set var="fullAddr" value="${list.addr} ${list.addrDetail}" />
<%-- <c:set var="fullAddr" value="${list.addr}" /> --%>
<td title="${fullAddr}">
<c:out value="${list.addr }" />
<c:out value="${list.addrDetail }" />
<%-- ${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''} --%>
</td>
<td>
<c:out value="${list.prsctrNm }" />
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="12"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01" style="margin: 0px 0px 30px 10px;">
<div class="btn_left">
</div>
<div class="btn_right">
<button type="button" class="btn_type04" onclick="fnUpdate(); return false;">병합 처리</button>
</div>
</div>
</c:if>
</div>
</div>
</div>
<!-- //cont -->
</body>
</html>

View File

@ -34,7 +34,8 @@
function fncGoList(){ function fncGoList(){
var listForm = document.listForm ; var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>"; listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>";
// listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMngList.do'/>";
listForm.submit(); listForm.submit();
} }
function fncMdfy(){ function fncMdfy(){
@ -48,14 +49,115 @@
detailForm.submit(); detailForm.submit();
} }
function fncGoSearch(){
var form = document.listForm ;
form.trgtNm.value=$('#trgtNm').val();
form.dBirth.value=$('#dBirth').val();
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtDetail.do'/>";
form.submit();
}
// 체크박스O
function fnUpdate(){
var sspnIdtmtTrgtOrdList = [];
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var sspnIdtmtTrgtOrd = $(this).val();
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrd);
});
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
if (sspnIdtmtTrgtOrdList.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
var dataToSend = {
"sspnIdtmtTrgtOrdList": sspnIdtmtTrgtOrdList
//, "eduStateCd" : "20"
//, "prcsAplctPrdOrdCmplt" : $('#prcsAplctPrdOrdCmplt').val()
, "prcsAplctPrdOrdCmplt" : $('#sspnIdtmtTrgtOrd').val()
};
// var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateEduAplctAprvlCdAjax.do'/>";
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateTrgtDuplAjax.do'/>";
if(!confirm("병합처리 진행하시겠습니까?")){
return false;
}
// AJAX 호출을 통해 서버에 데이터 전송
$.ajax({
type:"POST",
url: url,
data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
// contentType : 'application/json',
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
alert("변경 처리 되었습니다.");
window.location.reload();
}else{
alert("변경 중 오류가 발생하였습니다.");
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error:", textStatus, errorThrown);
console.error("Response:", jqXHR.responseText);
}
});
}
//병합취소
function fncDel(sspnIdtmtTrgtOrd){
var listForm = document.delForm ;
delForm.sspnIdtmtTrgtOrd.value=sspnIdtmtTrgtOrd;
var data = new FormData(document.getElementById("delForm"));
if(confirm("병합을 취소하시겠습니까?")){
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/delUpdateAjax.do'/>";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("수정되었습니다.");
window.location.reload();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
</script> </script>
</head> </head>
<body> <body>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post"> <form id="delForm" name="delForm">
<input type="hidden" name="sspnIdtmtTrgtOrd" value=""/>
</form>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
<input type="hidden" name="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}'/>"/>
<input type="hidden" name="trgtNm" value=""/>
<input type="hidden" name="dBirth" value=""/>
</form:form> </form:form>
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post"> <form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
<input type="hidden" name="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}'/>"/> <input type="hidden" id="sspnIdtmtTrgtOrd" name="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}'/>"/>
<!-- cont --> <!-- cont -->
<div class="cont_wrap"> <div class="cont_wrap">
<div class="box"> <div class="box">
@ -148,8 +250,15 @@
<c:out value="${info.reqNmbr }" /> <c:out value="${info.reqNmbr }" />
</td> </td>
<th scope="row">의뢰상태</th> <th scope="row">의뢰상태</th>
<td> <td>
<ve:code codeId="VEA005" code="${info.reqStateCd }"/> <c:choose>
<c:when test="${not empty info.prcsAplctPrdOrdCmplt }">
병합대상
</c:when>
<c:otherwise>
<ve:code codeId="VEA005" code="${info.reqStateCd }"/>
</c:otherwise>
</c:choose>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -211,7 +320,253 @@
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button> <button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div> </div>
</div>
<div class="tb_tit01">
<p>병합 대상자</p>
</div>
<!-- list -->
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 100px">
<col style="width: 100px">
<col style="width: 80px">
<col style="width: 100px">
<col style="width: 80px">
<col style="width: 60px">
<col style="width: 140px">
<col style="width: 80px">
<col style="width: 80px">
<col style="width: auto">
<col style="width: 80px">
<col style="width: 100px">
</colgroup>
<thead>
<tr>
<th>의뢰일</th>
<th>사건번호</th>
<th>관할청</th>
<th>생년월일</th>
<th>성명</th>
<th>성별</th>
<th>의뢰번호</th>
<th>의뢰상태</th>
<th>교육상태</th>
<th>주소</th>
<th>검사명</th>
<th>삭제</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${listMerge}" varStatus="status">
<%-- <tr class="listCount" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<tr>
<%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<%-- <c:out value='${list.prcsNm}'/> --%>
<!-- </td> -->
<td>
<c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" />
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
<c:out value="${reqPnttm }" />
</td>
<td>
<c:out value="${list.vntNmbr }" />
</td>
<td>
<c:out value="${list.cmptntAthrt }" />
</td>
<td>
<c:out value="${list.dBirth }" />
</td>
<td>
<c:out value="${list.trgtNm }" />
</td>
<td>
<ve:code codeId="COM014" code="${list.sex }"/>
</td>
<td>
<c:out value="${list.reqNmbr }" />
</td>
<td>
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>
</td>
<td>
<ve:code codeId="VEA002" code="${list.eduStateCd }"/>
</td>
<c:set var="fullAddr" value="${list.addr} ${list.addrDetail}" />
<%-- <c:set var="fullAddr" value="${list.addr}" /> --%>
<td title="${fullAddr}">
<c:out value="${list.addr }" />
<c:out value="${list.addrDetail }" />
<%-- ${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''} --%>
</td>
<td>
<c:out value="${list.prsctrNm }" />
</td>
<td>
<button type="button" class="btn_type05" onclick="fncDel('${list.sspnIdtmtTrgtOrd}'); return false;">병합취소</button>
</td>
</tr>
</c:forEach>
<c:if test="${empty listMerge}">
<tr><td colspan="12"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div> </div>
<c:if test="${empty info.prcsAplctPrdOrdCmplt }">
<div class="tb_tit01">
<p>병합 대상자 검색</p>
</div>
<!-- list_top -->
<div class="list_top search-only">
<div class="list_top_1">
<div class="util_right">
<!-- placeholder를 위한 c:choose 추가 -->
<c:choose>
<c:when test="${not empty cndtnTrgtInfoMngVO.trgtNm}">
<input type="text" id="trgtNm" name="trgtNm" placeholder="이름" value="<c:out value='${cndtnTrgtInfoMngVO.trgtNm }' /> " />
</c:when>
<c:otherwise>
<input type="text" id="trgtNm" name="trgtNm" placeholder="이름" />
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${not empty cndtnTrgtInfoMngVO.dBirth}">
<input type="text" id="dBirth" name="dBirth" placeholder="연락처" value="<c:out value='${cndtnTrgtInfoMngVO.dBirth }' /> " />
</c:when>
<c:otherwise>
<input type="text" id="dBirth" name="dBirth" placeholder="연락처" />
</c:otherwise>
</c:choose>
<%-- <input type="text" id="searchKeyword" name="searchKeyword" placeholder="검색어를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>"> --%>
<button type="button" class="btn_type08" onclick="fncGoSearch(); return false;">검색</button>
<!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> -->
</div>
</div>
</div>
<!-- list -->
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 40px">
<col style="width: 100px">
<col style="width: 100px">
<col style="width: 80px">
<col style="width: 100px">
<col style="width: 80px">
<col style="width: 60px">
<col style="width: 140px">
<col style="width: 80px">
<col style="width: 80px">
<col style="width: auto">
<col style="width: 80px">
</colgroup>
<thead>
<tr>
<th></th>
<th>의뢰일</th>
<th>사건번호</th>
<th>관할청</th>
<th>생년월일</th>
<th>성명</th>
<th>성별</th>
<th>의뢰번호</th>
<th>의뢰상태</th>
<th>교육상태</th>
<th>주소</th>
<th>검사명</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<%-- <tr class="listCount" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<tr>
<%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<%-- <c:out value='${list.prcsNm}'/> --%>
<!-- </td> -->
<td>
<c:choose>
<c:when test="${list.eduStateCd ne 20}">
<input name="chk"
value="${list.sspnIdtmtTrgtOrd}" title="Check" type="checkbox"/>
</c:when>
<c:otherwise>
<button type="button" class="btn_type05" onclick="fncDel('${list.sspnIdtmtTrgtOrd}'); return false;">취소</button>
</c:otherwise>
</c:choose>
</td>
<td>
<c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" />
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
<c:out value="${reqPnttm }" />
</td>
<td>
<c:out value="${info.vntYear }" />형제<c:out value="${info.vntNmbr }" />
</td>
<td>
<c:out value="${list.cmptntAthrt }" />
</td>
<td>
<c:out value="${list.dBirth }" />
</td>
<td>
<c:out value="${list.trgtNm }" />
</td>
<td>
<ve:code codeId="COM014" code="${list.sex }"/>
</td>
<td>
<c:out value="${list.reqNmbr }" />
</td>
<td>
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>
</td>
<td>
<ve:code codeId="VEA002" code="${list.eduStateCd }"/>
</td>
<c:set var="fullAddr" value="${list.addr} ${list.addrDetail}" />
<%-- <c:set var="fullAddr" value="${list.addr}" /> --%>
<td title="${fullAddr}">
<c:out value="${list.addr }" />
<c:out value="${list.addrDetail }" />
<%-- ${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''} --%>
</td>
<td>
<c:out value="${list.prsctrNm }" />
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="12"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01" style="margin: 0px 0px 30px 10px;">
<div class="btn_left">
</div>
<div class="btn_right">
<button type="button" class="btn_type04" onclick="fnUpdate(); return false;">병합 처리</button>
</div>
</div>
</c:if>
</div> </div>
</div> </div>
</div> </div>

View File

@ -39,7 +39,7 @@
$(document).ready(function(){ $(document).ready(function(){
searchInit(); //searchInit();
// 검색 select box // 검색 select box
$('#searchStatus').change(function(){ $('#searchStatus').change(function(){
@ -89,7 +89,7 @@
function linkPage(pageNo){ function linkPage(pageNo){
var listForm = document.listForm ; var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ; listForm.pageIndex.value = pageNo ;
listForm.searchKeyword.value = $('#searchKeyword').val(); //listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>"; listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>";
listForm.submit(); listForm.submit();
} }
@ -183,6 +183,27 @@
} }
//초기화
function fncReset(thisObj) {
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function() {
if ($(this).prop('tagName') == 'SELECT') {
if ($(this).attr('name').indexOf('Month') != -1) {
$(this).val(new Date().getMonth() + 1);
} else if ($(this).attr('name').indexOf('Year') != -1) {
$(this).val(new Date().getFullYear());
} else {
$(this).prop("selectedIndex", 0);
}
} else {
if ($(this).attr('type') == 'checkbox') {
$(this).prop('checked', false);
} else {
$(this).val('');
}
}
});
}
</script> </script>
<title>교육과정관리</title> <title>교육과정관리</title>
</head> </head>
@ -219,19 +240,61 @@
</div> </div>
<div class="list_top"> <div class="list_top">
<!-- <div class="list_top_1"> -->
<!-- <div class="util_left"> -->
<!-- <p>구분1</p> -->
<!-- </div> -->
<!-- <div class="util_right"> -->
<!-- <select name="searchStatus" id="searchStatus" class="sel_type1"> -->
<%-- <option value="trgt_nm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'trgt_nm' }">selected="selected"</c:if>>이름</option> --%>
<%-- <option value="d_birth" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'd_birth' }">selected="selected"</c:if>>생년월일</option> --%>
<%-- <option value="frstRegistPnttm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'frstRegistPnttm' }">selected="selected"</c:if>>의뢰일자</option> --%>
<!-- </select> -->
<!-- <div id="calendar"> -->
<!-- <div class="calendar_wrap"> -->
<%-- <input type="text" class="calendar" placeholder="시작일" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${cndtnTrgtInfoMngVO.searchSmbtStartDt}"> --%>
<!-- </div> -->
<!-- ~ -->
<!-- <div class="calendar_wrap"> -->
<%-- <input type="text" class="calendar" placeholder="종료일" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${cndtnTrgtInfoMngVO.searchSmbtEndDt}"> --%>
<!-- </div> -->
<!-- </div> -->
<%-- <input type="text" id="searchKeyword" name="searchKeyword" placeholder="이름을 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeyword}'/>"> --%>
<!-- <!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> -->
<!-- </div> -->
<!-- </div> -->
<div class="list_top_1"> <div class="list_top_1">
<div class="util_left"> <div class="util_left">
<p>구분1</p> <p>구분1</p>
</div> </div>
<div class="util_right"> <div class="util_right">
<select name="searchStatus" id="searchStatus" class="sel_type1"> <input type="text" id="searchKeywordFrom" name="searchKeywordFrom" placeholder="이름을 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeywordFrom}'/>">
<option value="trgt_nm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'trgt_nm' }">selected="selected"</c:if>>이름</option> <button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
<option value="d_birth" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'd_birth' }">selected="selected"</c:if>>생년월일</option> <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
<option value="frstRegistPnttm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'frstRegistPnttm' }">selected="selected"</c:if>>의뢰일자</option> </div>
</select> </div>
<div class="list_top_1">
<div class="util_left">
<p>구분2</p>
</div>
<div class="util_right">
<input type="text" id="searchKeywordTo" name="searchKeywordTo" placeholder="생년월일을 입력해 주세요.19800102" title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeywordTo}'/>">
<!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> -->
</div>
</div>
<div class="list_top_1">
<div class="util_left">
<p>구분3</p>
</div>
<div class="util_right">
<div id="calendar"> <div id="calendar">
<div class="calendar_wrap"> 의뢰일:<div class="calendar_wrap">
<input type="text" class="calendar" placeholder="시작일" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${cndtnTrgtInfoMngVO.searchSmbtStartDt}"> <input type="text" class="calendar" placeholder="시작일" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${cndtnTrgtInfoMngVO.searchSmbtStartDt}">
</div> </div>
~ ~
@ -239,13 +302,12 @@
<input type="text" class="calendar" placeholder="종료일" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${cndtnTrgtInfoMngVO.searchSmbtEndDt}"> <input type="text" class="calendar" placeholder="종료일" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${cndtnTrgtInfoMngVO.searchSmbtEndDt}">
</div> </div>
</div> </div>
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="이름을 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeyword}'/>">
<!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> -->
</div> </div>
</div> </div>
<div class="list_top_2"> <div class="list_top_2">
<div class="util_left"> <div class="util_left">
<p>구분2</p> <p>구분4</p>
</div> </div>
<div class="util_right"> <div class="util_right">
<ve:select codeId="VEA005" name="searchReqStateCd" id="searchReqStateCd" selectedValue="${cndtnTrgtInfoMngVO.searchReqStateCd }" defaultText="의뢰상태 선택" css="class='sel_type1'" /> <ve:select codeId="VEA005" name="searchReqStateCd" id="searchReqStateCd" selectedValue="${cndtnTrgtInfoMngVO.searchReqStateCd }" defaultText="의뢰상태 선택" css="class='sel_type1'" />

View File

@ -0,0 +1,576 @@
<!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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%
/**
* @Class Name : cndtnEduPrcsMngDetail.jsp
* @Description : 조건부기소유예 상세화면
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.16 조용준 최초 생성
* @author 조용주
* @since 2021.12.16
* @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 fncGoList(){
var listForm = document.listForm ;
// listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>";
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMngList.do'/>";
listForm.submit();
}
function fncMdfy(){
var detailForm = document.detailForm ;
detailForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMdfy.do'/>";
detailForm.submit();
}
function fncMngMdfy(){
var detailForm = document.detailForm ;
detailForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMngMdfy.do'/>";
detailForm.submit();
}
function fncGoSearch(){
var form = document.listForm ;
form.trgtNm.value=$('#trgtNm').val();
form.dBirth.value=$('#dBirth').val();
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtDetail.do'/>";
form.submit();
}
// 체크박스O
function fnUpdate(){
var sspnIdtmtTrgtOrdList = [];
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var sspnIdtmtTrgtOrd = $(this).val();
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrd);
});
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
if (sspnIdtmtTrgtOrdList.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
var dataToSend = {
"sspnIdtmtTrgtOrdList": sspnIdtmtTrgtOrdList
//, "eduStateCd" : "20"
//, "prcsAplctPrdOrdCmplt" : $('#prcsAplctPrdOrdCmplt').val()
, "prcsAplctPrdOrdCmplt" : $('#sspnIdtmtTrgtOrd').val()
};
// var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateEduAplctAprvlCdAjax.do'/>";
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateTrgtDuplAjax.do'/>";
if(!confirm("병합처리 진행하시겠습니까?")){
return false;
}
// AJAX 호출을 통해 서버에 데이터 전송
$.ajax({
type:"POST",
url: url,
data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
// contentType : 'application/json',
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
alert("변경 처리 되었습니다.");
window.location.reload();
}else{
alert("변경 중 오류가 발생하였습니다.");
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error:", textStatus, errorThrown);
console.error("Response:", jqXHR.responseText);
}
});
}
//병합취소
function fncDel(sspnIdtmtTrgtOrd){
var listForm = document.delForm ;
delForm.sspnIdtmtTrgtOrd.value=sspnIdtmtTrgtOrd;
var data = new FormData(document.getElementById("delForm"));
if(confirm("병합을 취소하시겠습니까?")){
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/delUpdateAjax.do'/>";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("수정되었습니다.");
window.location.reload();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
</script>
</head>
<body>
<form id="delForm" name="delForm">
<input type="hidden" name="sspnIdtmtTrgtOrd" value=""/>
</form>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
<input type="hidden" name="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}'/>"/>
<input type="hidden" name="trgtNm" value=""/>
<input type="hidden" name="dBirth" value=""/>
</form:form>
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
<input type="hidden" id="sspnIdtmtTrgtOrd" name="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}'/>"/>
<!-- 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><span class="cur_nav">대상자 목록</span></li>
<li><span class="cur_nav">대상자 상세</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tb_tit01">
<p>대상자 상세</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">의뢰일</th>
<td>
<div id="calendar">
<div class="calendar_wrap">
<!-- <input type="text" class="calendar" placeholder="의뢰일" title="의뢰일 선택" id="reqPnttm" name="reqPnttm" value=""> -->
<!-- <input type="text" class="calendar" placeholder="의뢰일" title="의뢰일 선택" id="reqPnttm" name="reqPnttm" value=""> -->
<c:set var="reqPnttm" value="${fn:substring(info.reqPnttm, 0, 10)}" />
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
<c:out value="${reqPnttm }" />
</div>
</div>
</td>
</tr>
<tr>
<th scope="row">사건번호</th>
<td>
<c:out value="${info.vntYear }" />형제<c:out value="${info.vntNmbr }" />
</td>
</tr>
<tr>
<th scope="row">관할청</th>
<td>
<ve:code codeId="VEA008" code="${info.cmptntAthrt }"/>
</td>
</tr>
<tr>
<th scope="row">성별</th>
<td>
<ve:code codeId="COM014" code="${info.sex }"/>
</td>
<th scope="row">연락처</th>
<td>
<c:out value="${info.clphone }" />
</td>
</tr>
<tr>
<th scope="row">성명</th>
<td>
<c:out value="${info.trgtNm }" />
</td>
<th scope="row">생년월일</th>
<td>
<c:out value="${info.dBirth }" />
</td>
</tr>
<!-- <tr>
<th scope="row">연락처(핸드폰)</th>
<td>
<input type="text" name="clphone" />
</td>
</tr> -->
<tr>
<th scope="row">의뢰번호</th>
<td>
<c:out value="${info.reqNmbr }" />
</td>
<th scope="row">의뢰상태</th>
<td>
<c:choose>
<c:when test="${not empty info.prcsAplctPrdOrdCmplt }">
병합대상
</c:when>
<c:otherwise>
<ve:code codeId="VEA005" code="${info.reqStateCd }"/>
</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
<th scope="row">교육상태</th>
<td>
<ve:code codeId="VEA002" code="${info.eduStateCd }"/>
</td>
<th scope="row">검사명</th>
<td>
<c:out value="${info.prsctrNm }" />
</td>
</tr>
<tr class="input_adress">
<th scope="row">
<p>주소</p>
</th>
<td colspan="3">
<label for="post" class="label">우편번호 입력</label>
<c:out value='${info.post}'/>
<div class="detail_address">
<c:out value='${info.addr}'/>
<c:out value='${info.addrDetail}'/>
</div>
</td>
</tr>
<tr>
<th scope="row">
<p>첨부파일</p>
</th>
<td>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${info.atchFileId}" />
<c:param name="pdf_view" value="Y" />
</c:import>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<c:choose>
<c:when test="${empty userWork }">
<button type="button" class="btn_type02" onclick="fncMngMdfy(); return false;">수정</button>
</c:when>
<c:otherwise>
<button type="button" class="btn_type02" onclick="fncMdfy(); return false;">수정</button>
</c:otherwise>
</c:choose>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
<div class="tb_tit01">
<p>병합 대상자</p>
</div>
<!-- list -->
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 100px">
<col style="width: 100px">
<col style="width: 80px">
<col style="width: 100px">
<col style="width: 80px">
<col style="width: 60px">
<col style="width: 140px">
<col style="width: 80px">
<col style="width: 80px">
<col style="width: auto">
<col style="width: 80px">
<col style="width: 100px">
</colgroup>
<thead>
<tr>
<th>의뢰일</th>
<th>사건번호</th>
<th>관할청</th>
<th>생년월일</th>
<th>성명</th>
<th>성별</th>
<th>의뢰번호</th>
<th>의뢰상태</th>
<th>교육상태</th>
<th>주소</th>
<th>검사명</th>
<th>삭제</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${listMerge}" varStatus="status">
<%-- <tr class="listCount" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<tr>
<%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<%-- <c:out value='${list.prcsNm}'/> --%>
<!-- </td> -->
<td>
<c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" />
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
<c:out value="${reqPnttm }" />
</td>
<td>
<c:out value="${list.vntNmbr }" />
</td>
<td>
<c:out value="${list.cmptntAthrt }" />
</td>
<td>
<c:out value="${list.dBirth }" />
</td>
<td>
<c:out value="${list.trgtNm }" />
</td>
<td>
<ve:code codeId="COM014" code="${list.sex }"/>
</td>
<td>
<c:out value="${list.reqNmbr }" />
</td>
<td>
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>
</td>
<td>
<ve:code codeId="VEA002" code="${list.eduStateCd }"/>
</td>
<c:set var="fullAddr" value="${list.addr} ${list.addrDetail}" />
<%-- <c:set var="fullAddr" value="${list.addr}" /> --%>
<td title="${fullAddr}">
<c:out value="${list.addr }" />
<c:out value="${list.addrDetail }" />
<%-- ${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''} --%>
</td>
<td>
<c:out value="${list.prsctrNm }" />
</td>
<td>
<button type="button" class="btn_type05" onclick="fncDel('${list.sspnIdtmtTrgtOrd}'); return false;">병합취소</button>
</td>
</tr>
</c:forEach>
<c:if test="${empty listMerge}">
<tr><td colspan="12"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<c:if test="${empty info.prcsAplctPrdOrdCmplt }">
<div class="tb_tit01">
<p>병합 대상자 검색</p>
</div>
<!-- list_top -->
<div class="list_top search-only">
<div class="list_top_1">
<div class="util_right">
<!-- placeholder를 위한 c:choose 추가 -->
<c:choose>
<c:when test="${not empty cndtnTrgtInfoMngVO.trgtNm}">
<input type="text" id="trgtNm" name="trgtNm" placeholder="이름" value="<c:out value='${cndtnTrgtInfoMngVO.trgtNm }' /> " />
</c:when>
<c:otherwise>
<input type="text" id="trgtNm" name="trgtNm" placeholder="이름" />
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${not empty cndtnTrgtInfoMngVO.dBirth}">
<input type="text" id="dBirth" name="dBirth" placeholder="연락처" value="<c:out value='${cndtnTrgtInfoMngVO.dBirth }' /> " />
</c:when>
<c:otherwise>
<input type="text" id="dBirth" name="dBirth" placeholder="연락처" />
</c:otherwise>
</c:choose>
<%-- <input type="text" id="searchKeyword" name="searchKeyword" placeholder="검색어를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>"> --%>
<button type="button" class="btn_type08" onclick="fncGoSearch(); return false;">검색</button>
<!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> -->
</div>
</div>
</div>
<!-- list -->
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 40px">
<col style="width: 100px">
<col style="width: 100px">
<col style="width: 80px">
<col style="width: 100px">
<col style="width: 80px">
<col style="width: 60px">
<col style="width: 140px">
<col style="width: 80px">
<col style="width: 80px">
<col style="width: auto">
<col style="width: 80px">
</colgroup>
<thead>
<tr>
<th></th>
<th>의뢰일</th>
<th>사건번호</th>
<th>관할청</th>
<th>생년월일</th>
<th>성명</th>
<th>성별</th>
<th>의뢰번호</th>
<th>의뢰상태</th>
<th>교육상태</th>
<th>주소</th>
<th>검사명</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<%-- <tr class="listCount" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<tr>
<%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<%-- <c:out value='${list.prcsNm}'/> --%>
<!-- </td> -->
<td>
<c:choose>
<c:when test="${list.eduStateCd ne 20}">
<input name="chk"
value="${list.sspnIdtmtTrgtOrd}" title="Check" type="checkbox"/>
</c:when>
<c:otherwise>
<button type="button" class="btn_type05" onclick="fncDel('${list.sspnIdtmtTrgtOrd}'); return false;">취소</button>
</c:otherwise>
</c:choose>
</td>
<td>
<c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" />
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
<c:out value="${reqPnttm }" />
</td>
<td>
<c:out value="${info.vntYear }" />형제<c:out value="${info.vntNmbr }" />
</td>
<td>
<c:out value="${list.cmptntAthrt }" />
</td>
<td>
<c:out value="${list.dBirth }" />
</td>
<td>
<c:out value="${list.trgtNm }" />
</td>
<td>
<ve:code codeId="COM014" code="${list.sex }"/>
</td>
<td>
<c:out value="${list.reqNmbr }" />
</td>
<td>
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>
</td>
<td>
<ve:code codeId="VEA002" code="${list.eduStateCd }"/>
</td>
<c:set var="fullAddr" value="${list.addr} ${list.addrDetail}" />
<%-- <c:set var="fullAddr" value="${list.addr}" /> --%>
<td title="${fullAddr}">
<c:out value="${list.addr }" />
<c:out value="${list.addrDetail }" />
<%-- ${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''} --%>
</td>
<td>
<c:out value="${list.prsctrNm }" />
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="12"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01" style="margin: 0px 0px 30px 10px;">
<div class="btn_left">
</div>
<div class="btn_right">
<button type="button" class="btn_type04" onclick="fnUpdate(); return false;">병합 처리</button>
</div>
</div>
</c:if>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -56,7 +56,7 @@
searchInit(); //searchInit();
// 검색 select box // 검색 select box
$('#searchStatus').change(function(){ $('#searchStatus').change(function(){
@ -121,7 +121,7 @@
var listForm = document.listForm ; var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ; listForm.pageIndex.value = pageNo ;
listForm.searchKeyword.value = $('#searchKeyword').val(); //listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMngList.do'/>"; listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMngList.do'/>";
listForm.submit(); listForm.submit();
} }
@ -130,7 +130,7 @@
function fncGoDetail(sspnIdtmtTrgtOrd){ function fncGoDetail(sspnIdtmtTrgtOrd){
var detailForm = document.detailForm ; var detailForm = document.detailForm ;
detailForm.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd; detailForm.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd;
detailForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtDetail.do'/>"; detailForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMngDetail.do'/>";
detailForm.submit(); detailForm.submit();
} }
@ -222,6 +222,28 @@
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMngExcel.do'/>"; listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMngExcel.do'/>";
listForm.submit(); listForm.submit();
} }
//초기화
function fncReset(thisObj) {
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function() {
if ($(this).prop('tagName') == 'SELECT') {
if ($(this).attr('name').indexOf('Month') != -1) {
$(this).val(new Date().getMonth() + 1);
} else if ($(this).attr('name').indexOf('Year') != -1) {
$(this).val(new Date().getFullYear());
} else {
$(this).prop("selectedIndex", 0);
}
} else {
if ($(this).attr('type') == 'checkbox') {
$(this).prop('checked', false);
} else {
$(this).val('');
}
}
});
}
</script> </script>
<title>교육과정관리</title> <title>교육과정관리</title>
</head> </head>
@ -267,19 +289,60 @@
<div class="list_top"> <div class="list_top">
<!-- <div class="list_top_1"> -->
<!-- <div class="util_left"> -->
<!-- <p>구분1</p> -->
<!-- </div> -->
<!-- <div class="util_right"> -->
<!-- <select name="searchStatus" id="searchStatus" class="sel_type1"> -->
<%-- <option value="trgt_nm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'trgt_nm' }">selected="selected"</c:if>>이름</option> --%>
<%-- <option value="d_birth" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'd_birth' }">selected="selected"</c:if>>생년월일</option> --%>
<%-- <option value="frstRegistPnttm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'frstRegistPnttm' }">selected="selected"</c:if>>의뢰일자</option> --%>
<!-- </select> -->
<!-- <div id="calendar"> -->
<!-- <div class="calendar_wrap"> -->
<%-- <input type="text" class="calendar" placeholder="시작일" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${cndtnTrgtInfoMngVO.searchSmbtStartDt}"> --%>
<!-- </div> -->
<!-- ~ -->
<!-- <div class="calendar_wrap"> -->
<%-- <input type="text" class="calendar" placeholder="종료일" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${cndtnTrgtInfoMngVO.searchSmbtEndDt}"> --%>
<!-- </div> -->
<!-- </div> -->
<%-- <input type="text" id="searchKeyword" name="searchKeyword" placeholder="이름을 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeyword}'/>"> --%>
<!-- </div> -->
<!-- </div> -->
<div class="list_top_1"> <div class="list_top_1">
<div class="util_left"> <div class="util_left">
<p>구분1</p> <p>구분1</p>
</div> </div>
<div class="util_right"> <div class="util_right">
<select name="searchStatus" id="searchStatus" class="sel_type1"> <input type="text" id="searchKeywordFrom" name="searchKeywordFrom" placeholder="이름을 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeywordFrom}'/>">
<option value="trgt_nm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'trgt_nm' }">selected="selected"</c:if>>이름</option> <button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
<option value="d_birth" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'd_birth' }">selected="selected"</c:if>>생년월일</option> <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
<option value="frstRegistPnttm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'frstRegistPnttm' }">selected="selected"</c:if>>의뢰일자</option> </div>
</select> </div>
<div class="list_top_1">
<div class="util_left">
<p>구분2</p>
</div>
<div class="util_right">
<input type="text" id="searchKeywordTo" name="searchKeywordTo" placeholder="생년월일을 입력해 주세요.19800102" title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeywordTo}'/>">
<!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> -->
</div>
</div>
<div class="list_top_1">
<div class="util_left">
<p>구분3</p>
</div>
<div class="util_right">
<div id="calendar"> <div id="calendar">
<div class="calendar_wrap"> 의뢰일:<div class="calendar_wrap">
<input type="text" class="calendar" placeholder="시작일" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${cndtnTrgtInfoMngVO.searchSmbtStartDt}"> <input type="text" class="calendar" placeholder="시작일" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${cndtnTrgtInfoMngVO.searchSmbtStartDt}">
</div> </div>
~ ~
@ -287,13 +350,11 @@
<input type="text" class="calendar" placeholder="종료일" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${cndtnTrgtInfoMngVO.searchSmbtEndDt}"> <input type="text" class="calendar" placeholder="종료일" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${cndtnTrgtInfoMngVO.searchSmbtEndDt}">
</div> </div>
</div> </div>
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="이름을 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeyword}'/>">
<!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> -->
</div> </div>
</div> </div>
<div class="list_top_2"> <div class="list_top_2">
<div class="util_left"> <div class="util_left">
<p>구분2</p> <p>구분4</p>
</div> </div>
<div class="util_right"> <div class="util_right">
<ve:select codeId="VEA005" name="searchReqStateCd" id="searchReqStateCd" selectedValue="${cndtnTrgtInfoMngVO.searchReqStateCd }" defaultText="의뢰상태 선택" css="class='sel_type1'" /> <ve:select codeId="VEA005" name="searchReqStateCd" id="searchReqStateCd" selectedValue="${cndtnTrgtInfoMngVO.searchReqStateCd }" defaultText="의뢰상태 선택" css="class='sel_type1'" />
@ -304,7 +365,7 @@
</div> </div>
<div class="list_top_2"> <div class="list_top_2">
<div class="util_left"> <div class="util_left">
<p>구분3</p> <p>구분5</p>
</div> </div>
<div class="util_right"> <div class="util_right">
<p>관할청&nbsp;&nbsp;</p> <p>관할청&nbsp;&nbsp;</p>
@ -374,11 +435,22 @@
</thead> </thead>
<tbody> <tbody>
<c:forEach var="list" items="${list}" varStatus="status"> <c:forEach var="list" items="${list}" varStatus="status">
<tr class="listCount" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> <tr class="listCount" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');"
<c:if test="${empty list.prcsAplctPrdOrdCmplt}">
style="cursor:pointer;"
</c:if>
<c:if test="${not empty list.prcsAplctPrdOrdCmplt}">
style="cursor:pointer;background-color:lightgray;"
</c:if>
>
<%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%> <%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<%-- <c:out value='${list.prcsNm}'/> --%> <%-- <c:out value='${list.prcsNm}'/> --%>
<!-- </td> --> <!-- </td> -->
<td><!-- 의뢰일 --> <td><!-- 의뢰일 -->
<c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" /> <c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" />
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%> <%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
<c:out value="${reqPnttm }" /> <c:out value="${reqPnttm }" />
@ -402,7 +474,13 @@
<c:out value="${list.reqNmbr }" /> <c:out value="${list.reqNmbr }" />
</td> </td>
<td><!-- 의뢰상태 --> <td><!-- 의뢰상태 -->
<ve:code codeId="VEA005" code="${list.reqStateCd }"/> <c:if test="${empty list.prcsAplctPrdOrdCmplt}">
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>
</c:if>
<c:if test="${not empty list.prcsAplctPrdOrdCmplt}">
병합처리
</c:if>
</td> </td>
<td><!-- 교육상태 --> <td><!-- 교육상태 -->
<ve:code codeId="VEA002" code="${list.eduStateCd }"/> <ve:code codeId="VEA002" code="${list.eduStateCd }"/>

View File

@ -8,6 +8,7 @@
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%pageContext.setAttribute("crlf", "\r\n"); %>
<% <%
/** /**
* @Class Name : fndthEduPrcsMngDetail.jsp * @Class Name : fndthEduPrcsMngDetail.jsp

View File

@ -11,6 +11,7 @@
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" /> <un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
<%pageContext.setAttribute("crlf", "\r\n"); %>
<% <%
/** /**
* @Class Name : fndthEduPrcsMngList.jsp * @Class Name : fndthEduPrcsMngList.jsp

View File

@ -200,6 +200,9 @@
}else if(returnData.result == "fail-dup"){ }else if(returnData.result == "fail-dup"){
alert("동일한 회차명이 있습니다."); alert("동일한 회차명이 있습니다.");
}else if(returnData.result == "dup"){
alert("중복된 접수기간이 있습니다.");
}else{ }else{
alert("변경 중 오류가 발생하였습니다."); alert("변경 중 오류가 발생하였습니다.");
@ -269,7 +272,10 @@
}else if(returnData.result == "fail-dup"){ }else if(returnData.result == "fail-dup"){
alert("동일한 회차명이 있습니다."); alert("동일한 회차명이 있습니다.");
}else if(returnData.result == "dup"){
alert("중복된 접수기간이 있습니다.");
}else{ }else{
alert("변경 중 오류가 발생하였습니다."); alert("변경 중 오류가 발생하였습니다.");
} }

View File

@ -77,6 +77,7 @@ $(document).ready(function(){
} }
// 텍스트가 "접수중"인지 확인 // 텍스트가 "접수중"인지 확인
//if ($thisCell.text().trim() !== "접수중" && $thisCell.text().trim() !== "취소") {
if ($thisCell.text().trim() !== "접수중") { if ($thisCell.text().trim() !== "접수중") {
$applyButton.prop('disabled', true); // 버튼 비활성화 $applyButton.prop('disabled', true); // 버튼 비활성화
} }
@ -504,7 +505,41 @@ $(document).ready(function(){
return Math.ceil((parseInt(date.substring(6,8))+fd.getDay())/7); return Math.ceil((parseInt(date.substring(6,8))+fd.getDay())/7);
} }
//설문 팝업
function fncAplctPopup(
id //aplctOrd
, chId //chasiOrd
, p_site_id_cd //10,20,30
, p_action //select, insert
, p_qustnrTmplatId //select, insert
, p_qestnrId //select, insert
, p_qustnrRespondId //select, insert
) {
paramObj = {
"eduAplctOrd" : id
,"eduChasiOrd" : chId
,"siteIdCd" : p_site_id_cd
,"siteId" : "60" //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
,"action" : p_action
,"qustnrTmplatId" : p_qustnrTmplatId
,"qestnrId" : p_qestnrId
,"qustnrRespondId" : p_qustnrRespondId
};
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do"
"${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/popup/eduAplctPopList.do"
, 800
, 700
, paramObj
, "Y"
, "AplctPopup"
);
}
</script> </script>
<!-- content --> <!-- content -->
@ -517,6 +552,7 @@ $(document).ready(function(){
<form name="confirmForm" id="confirmForm"> <form name="confirmForm" id="confirmForm">
<input type="hidden" name="trgtNm"> <input type="hidden" name="trgtNm">
<input type="hidden" name="dBirth"> <input type="hidden" name="dBirth">
<input type="hidden" name="sex">
</form> </form>
<form name="regForm" id="regForm"> <form name="regForm" id="regForm">
<input type="hidden" name="prcsAplctPrdOrd"> <input type="hidden" name="prcsAplctPrdOrd">
@ -637,6 +673,13 @@ $(document).ready(function(){
<td class="aplctBtn"> <td class="aplctBtn">
<%-- <button type="button" class="btnType04" onclick="fncEduReg('<c:out value="${list.prcsAplctPrdOrd}"/>');">신청</button> --%> <%-- <button type="button" class="btnType04" onclick="fncEduReg('<c:out value="${list.prcsAplctPrdOrd}"/>');">신청</button> --%>
<button type="button" class="btnType04" data-info="<c:out value="${list.prcsAplctPrdOrd}"/>" data-tooltip="target_confirm_popup" >신청</button> <button type="button" class="btnType04" data-info="<c:out value="${list.prcsAplctPrdOrd}"/>" data-tooltip="target_confirm_popup" >신청</button>
<!--
<button type="button" class="btnType02" data-tooltip=""
onclick="fncAplctPopup('','','10','select'
,'','',''
)" title="팝업 열림">설문완료</button>
-->
</td> </td>
</tr> </tr>
</c:forEach> </c:forEach>

View File

@ -0,0 +1,211 @@
<%--
Class Name : eduAplctPopList.jsp
Description : 신청팝업
Modification Information
1.강의 종류(청소년, 성인 ... VE0011) 및 설문 종류 (10-기본, 20-신청자, 30-강사) 및 상태(등록, 완료) 에 맞는 설문 레이어 팝업을 만든다.
수정일 수정자 수정내용
------- -------- ---------------------------
2021.12.02 조용준 내용
author : 조용준
since : 2021.12.02
--%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<script type="text/javascript" src="${pageContext.request.contextPath}/kccadrPb/usr/script/popup.js"></script>
<script type="text/javaScript" language="javascript">
/*
function fncGoScholList(){
linkPage(1);
}
function linkPage(pageNo){
var data = {
pageIndex : pageNo,
searchKeyword : $("#searchKeyword").val(),
searchCondition : $("#searchCondition").val(),
pageUnit : 5,
formId : $("#formId").val(),
}
fncScholList(data);
}
function fncScholList(paramObj) {
if(paramObj == undefined || paramObj == ''){
paramObj = {
pageIndex : 1,
searchKeyword : "",
searchCondition : "",
pageUnit : 5,
formId : $("#formId").val(),
};
}
// 학교 리스트 팝업 호출
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/scholPopList.do"
, 500
, 600
, paramObj
, "N"
, "scholPop"
);
}
*/
function fn_new_confirm(){
var form = document.confirmForm;
var dBirth = $('#dBirth').val().replace(/\./g, '');
var trgtNm = $('#trgtNm').val();
var sex = $('#sex').val();
form.trgtNm.value = trgtNm;
form.dBirth.value = dBirth;
form.sex.value = sex;
var data = new FormData(document.getElementById("confirmForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/userConfirmAjax.do";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
console.log('returnData : ', returnData);
if(returnData.result == "success"){
// 대상자 테이블 pk 값
var sspnIdtmtTrgtOrd = returnData.id;
alert(returnData.msg);
// 교육 신청 ajax
// 대상자 이름, 생년월일, 대상자TB ID
if(returnData.next == "Y")
{
//sspnIdtmtTrgtOrd = returnData.id;
// fncEduReg(trgtNm, dBirth, returnData.id);
fn_eduRegPopup(trgtNm, dBirth, returnData.id);
}
}else{
alert(returnData.msg);
}
// fn_target_confirm_clean();
// location.reload();
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
//$('#target_confirm_popup-close').click();
}
$(document).ready(function(){
/*
boardCaptionDetailToggle4();
// 레이어팝업 포커싱 이동 수정
$(".tooltip-close").click(function(){
var activeTarget = $('[data-tooltip-con="sub36_pop02"]');
activeTarget.hide();
$('[data-tooltip="sub01_pop02"]').focus();
});
//레이어팝업 초정 이동 시 필요한 data 값 추가
var btnLast = $('.popup_cont').find('.page').find('button:last-child');
btnLast.attr('data-focus-next','sub36_pop02');
btnLast.attr('data-focus','sub36_pop02_close');
*/
})
</script>
<!-- 일정 상세 -->
<form id="statusChgForm" name="statusChgForm" method="post">
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${chasiSrvyList[0].prcsAplctPrdOrd}' />"/>
<input type="hidden" name="aplctStateCd" id="aplctStateCd" value="20"/>
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${vEEduChasiVO.eduAplctOrd}">
<input type="hidden" name="lctrDivCd" value="50"/>
</form>
<form id="newSrvyPopupForm" name="newSrvyPopupForm" method="post" >
<input type="hidden" name="siteId" id="siteId" value="${vEEduChasiVO.siteId}">
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${vEEduChasiVO.eduAplctOrd}">
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="${vEEduChasiVO.eduChasiOrd}">
<input type="hidden" name="qustnrTmplatId" id="qustnrTmplatId" value="${chasiSrvyList[0].qustnrTmplatId}">
<input type="hidden" name="qestnrId" id="qestnrId" value="${chasiSrvyList[0].qestnrId}">
<input type="hidden" name="qestmInfoSize" id="qestmInfoSize" value="${fn:length(chasiSrvyList)}">
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="sub36_pop02" data-focus="sub36_pop02" data-focus-prev="sub36_pop02_close">
<div class="popup_tit">
<p>교육대상자 확인</p> <button class="btn_popup_close tooltip-close" data-focus="sub36_pop02_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="pop_tb_type01" style="overflow:visible;">
<table>
<colgroup>
<col style="width:38%;">
<col style="width:auto;">
</colgroup>
<tr>
<th>성명</th>
<td>
<input type="text" id="trgtNm">
</td>
</tr>
<tr>
<th>주민번호앞자리</th>
<td>
<div class="calendar_wrap">
<duet-date-picker identifier="date" id="dBirth" class="startDate" id="" min="1940-01-01"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker2.js"></script>
</td>
</tr>
<tr>
<th>성별</th>
<td>
<input type="radio" id="sexM" name="sex" value="M" checked="checked"> <label class="" for="sexM">남성</label>
<input type="radio" id="sexF" name="sex" value="F"> <label class="" for="sexF">여성</label>
</td>
</tr>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" onclick="fn_new_confirm()">제출</button>
<button type="button" class="btnType02 tooltip-close" id="target_confirm_popup-close" data-focus="target_confirm_popup-close" data-focus-next="target_confirm_popup">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</form>