기소 대상자 중복처리 이수 취소 버튼 완료

This commit is contained in:
hylee 2023-12-05 12:32:53 +09:00
commit 854b1cc711
9 changed files with 558 additions and 378 deletions

View File

@ -2,6 +2,8 @@ package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service;
import java.util.List; import java.util.List;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
public interface CndtnTrgtMngService { public interface CndtnTrgtMngService {
@ -17,6 +19,10 @@ public interface CndtnTrgtMngService {
int findCntreqNmber(String reqNmbrTemp); int findCntreqNmber(String reqNmbrTemp);
void updateTrgtDuplAjax(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
void updateDel(CndtnTrgtMngVO cndtnTrgtInfoMngVO);

View File

@ -46,6 +46,7 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
private List<String> searchSelStatusList; private List<String> searchSelStatusList;
private List<String> sspnIdtmtTrgtOrdList;
@ -217,6 +218,12 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
public void setDBirth(String dBirth) { public void setDBirth(String dBirth) {
DBirth = dBirth; DBirth = dBirth;
} }
public List<String> getSspnIdtmtTrgtOrdList() {
return sspnIdtmtTrgtOrdList;
}
public void setSspnIdtmtTrgtOrdList(List<String> sspnIdtmtTrgtOrdList) {
this.sspnIdtmtTrgtOrdList = sspnIdtmtTrgtOrdList;
}

View File

@ -125,5 +125,13 @@ public class CndtnTrgtMngDAO extends EgovAbstractDAO {
return (int) select("cndtnTrgtInfoMngDAO.findCntreqNmber", reqNmbrTemp); return (int) select("cndtnTrgtInfoMngDAO.findCntreqNmber", reqNmbrTemp);
} }
public void updateTrgtDuplAjax(CndtnTrgtMngVO cndtnTrgtMngVO) {
update("cndtnTrgtInfoMngDAO.updateTrgtDuplAjax", cndtnTrgtMngVO);
}
public void updateDel(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
update("cndtnTrgtInfoMngDAO.updateDel", cndtnTrgtInfoMngVO);
}
} }

View File

@ -57,65 +57,16 @@ public class CndtnTrgtMngServiceImpl implements CndtnTrgtMngService {
public int findCntreqNmber(String reqNmbrTemp) { public int findCntreqNmber(String reqNmbrTemp) {
return cndtnTrgtInfoMngDAO.findCntreqNmber(reqNmbrTemp); return cndtnTrgtInfoMngDAO.findCntreqNmber(reqNmbrTemp);
} }
/*
//C @Override
public void insert(VEPrcsDetailVO vEPrcsDetailVO) throws Exception { public void updateTrgtDuplAjax(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
cndtnTrgtInfoMngDAO.updateTrgtDuplAjax(cndtnTrgtInfoMngVO);
String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID
vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd);
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
//vEPrcsDetailVO.setUseYn("Y");
vEPrcsAplctPrdDAO.insert(vEPrcsDetailVO);
}
//R
public VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception {
return vEPrcsAplctPrdDAO.selectDetail(paramVO);
}
//U
public int update(VEPrcsDetailVO paramVO) throws Exception{
vEPrcsAplctPrdDAO.update(paramVO);
return vEPrcsDAO.update(paramVO);
}
//D
public int delete(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.delete(paramVO);
}
//List
public List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.selectList(paramVO);
}
public List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.selectList4Fndth(paramVO);
}
//paging List
public List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.selectPagingList(paramVO);
}
public List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.selectPagingList4Fndth(paramVO);
}
//R
public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception {
return vEPrcsAplctPrdDAO.selectDetailNewOne(paramVO);
}
public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception {
return vEPrcsAplctPrdDAO.selectDetailNewOne4Fndth(paramVO);
} }
@Override @Override
public List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO) { public void updateDel(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
return vEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList(vEPrcsDetailVO); cndtnTrgtInfoMngDAO.updateDel(cndtnTrgtInfoMngVO);
}*/ }
} }

View File

@ -664,6 +664,32 @@ public class CndtnTrgtMngController {
return "oprtn/cndtnSspnIdtmt/trgtDetail"; return "oprtn/cndtnSspnIdtmt/trgtDetail";
} }
/**
* 조건부기소유예과정 등록
*/
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/delUpdateAjax.do")
public ModelAndView delUpdateAjax(
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
cndtnTrgtInfoMngService.updateDel(cndtnTrgtInfoMngVO);
modelAndView.addObject("result", "success");
return modelAndView;
}
/** /**
* 조건부기소유예과정 수료자 상세화면 * 조건부기소유예과정 수료자 상세화면
*/ */
@ -689,13 +715,12 @@ public class CndtnTrgtMngController {
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = new ArrayList<CndtnTrgtMngVO>(); List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = new ArrayList<CndtnTrgtMngVO>();
System.out.println(StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isEmpty(cndtnTrgtInfoMngVO.getDBirth()));
System.out.println("StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) : "+ StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm()));
System.out.println("StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth()) : "+ StringUtils.isEmpty(cndtnTrgtInfoMngVO.getDBirth()));
if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getDBirth())) if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getDBirth()))
{ {
cndtnTrgtInfoMngVO.setFirstIndex(0); cndtnTrgtInfoMngVO.setFirstIndex(0);
cndtnTrgtInfoMngVO.setRecordCountPerPage(100000); cndtnTrgtInfoMngVO.setRecordCountPerPage(100000);
// String selectCondition = "AND PRCS_APLCT_PRD_ORD_CMPLT is not null ";
// cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
} }
model.addAttribute("list", cndtnTrgtInfoMngVOList); model.addAttribute("list", cndtnTrgtInfoMngVOList);
@ -704,6 +729,44 @@ public class CndtnTrgtMngController {
return "oprtn/cndtnSspnIdtmt/trgtCmpltDetail"; return "oprtn/cndtnSspnIdtmt/trgtCmpltDetail";
} }
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/updateTrgtDuplAjax.do")
public ModelAndView updateEduAplctAprvlCd(
@ModelAttribute("vEPrcsDetailVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
try {
// 교육 신청 테이블에 신청자 상태값 update
// vEAPrcsAplctPrdInstrAsgnmService.udpateAprvlCdEduAplct(vEPrcsDetailVO);
cndtnTrgtInfoMngService.updateTrgtDuplAjax(cndtnTrgtInfoMngVO);
modelAndView.addObject("result", "success");
} catch (Exception ex) {
ex.printStackTrace();
modelAndView.addObject("result", "");
}
return modelAndView;
}
/** /**
* 조건부기소유예과정 수정화면 * 조건부기소유예과정 수정화면
*/ */

View File

@ -64,6 +64,7 @@
, a.prsctr_nm AS prsctrNm , a.prsctr_nm AS prsctrNm
, 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
</sql> </sql>
@ -139,6 +140,33 @@
WHERE WHERE
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd# sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
</update> </update>
<update id="cndtnTrgtInfoMngDAO.updateTrgtDuplAjax" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.updateTrgtDuplAjax */
UPDATE
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
edu_state_cd = #eduStateCd#
, prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt#
WHERE SSPN_IDTMT_TRGT_ORD IN
<iterate property="sspnIdtmtTrgtOrdList" open="(" close=")" conjunction=",">
#sspnIdtmtTrgtOrdList[]#
</iterate>
</update>
<update id="cndtnTrgtInfoMngDAO.updateDel" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.updateDel */
UPDATE
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
edu_state_cd = #eduStateCd#
, prcs_aplct_prd_ord_cmplt = null
WHERE
SSPN_IDTMT_TRGT_ORD = #sspnIdtmtTrgtOrd#
</update>
<select id="cndtnTrgtInfoMngDAO.findCntreqNmber" resultClass="int" parameterClass="String"> <select id="cndtnTrgtInfoMngDAO.findCntreqNmber" resultClass="int" parameterClass="String">
SELECT SELECT

View File

@ -6036,6 +6036,7 @@ VALUES
vea_aplct_detail_info vea_aplct_detail_info
SET SET
aplct_state_cd = #aplctStateCd# aplct_state_cd = #aplctStateCd#
, aplct_pnttm = SYSDATE
, last_updusr_id = #lastUpdusrId# , last_updusr_id = #lastUpdusrId#
, last_updt_pnttm = SYSDATE , last_updt_pnttm = SYSDATE
WHERE WHERE

View File

@ -75,6 +75,7 @@
prcs_aplct_prd_ord prcs_aplct_prd_ord
, edu_aplct_ord , edu_aplct_ord
, aplct_state_cd , aplct_state_cd
, aplct_pnttm
, frst_regist_pnttm , frst_regist_pnttm
, frst_register_id , frst_register_id
) )
@ -84,6 +85,7 @@
, #eduAplctOrd# , #eduAplctOrd#
, #aplctStateCd# , #aplctStateCd#
, SYSDATE , SYSDATE
, SYSDATE
, #frstRegisterId# , #frstRegisterId#
) )
</insert> </insert>
@ -106,6 +108,7 @@
UPDATE vea_aplct_detail_info SET UPDATE vea_aplct_detail_info SET
aplct_state_cd = #aplctStateCd# aplct_state_cd = #aplctStateCd#
, aplct_pnttm = SYSDATE
WHERE WHERE
edu_aplct_ord = #eduAplctOrd# edu_aplct_ord = #eduAplctOrd#
AND prcs_aplct_prd_ord = #prcsAplctPrdOrd# AND prcs_aplct_prd_ord = #prcsAplctPrdOrd#
@ -133,6 +136,7 @@
UPDATE VEA_APLCT_DETAIL_INFO UPDATE VEA_APLCT_DETAIL_INFO
SET aplct_state_cd = #aplctStateCd# SET aplct_state_cd = #aplctStateCd#
,aplct_pnttm = SYSDATE
,last_updusr_id = #lastUpdusrId# ,last_updusr_id = #lastUpdusrId#
,last_updt_pnttm = sysdate ,last_updt_pnttm = sysdate
WHERE edu_aplct_ord IN WHERE edu_aplct_ord IN

View File

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