2024-01-30 12:42 대상자 병합 처리 수정

This commit is contained in:
myname 2024-01-30 12:43:06 +09:00
parent 2c275c8e20
commit cc1821c462
3 changed files with 173 additions and 155 deletions

View File

@ -890,9 +890,8 @@ public class CndtnTrgtMngController {
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//현재 등록자 정보
CndtnTrgtMngVO cndtnTrgtInfo = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
cndtnTrgtInfo = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfo);
@ -907,6 +906,7 @@ public class CndtnTrgtMngController {
//병합대상자 검색
cndtnTrgtInfoMngVO.setEduStateCd("");
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = this._getMergeSearchList(model, cndtnTrgtInfoMngVO);
//복호화
@ -1372,7 +1372,7 @@ public class CndtnTrgtMngController {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
try {
try {
// 교육 신청 테이블에 신청자 상태값 update
// vEAPrcsAplctPrdInstrAsgnmService.udpateAprvlCdEduAplct(vEPrcsDetailVO);
cndtnTrgtInfoMngService.updateTrgtDuplAjax(cndtnTrgtInfoMngVO);
@ -2170,7 +2170,7 @@ public class CndtnTrgtMngController {
//병합 대상자 검색 조건 추가
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 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);

View File

@ -292,7 +292,8 @@
UPDATE
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt#
prcs_aplct_prd_ord_cmplt = #sspnIdtmtTrgtOrd#
<isNotEmpty property="eduStateCd">
, edu_state_cd = #eduStateCd#
@ -308,12 +309,14 @@
<isNotEmpty property="eduAplctOrd">
, edu_aplct_ord = #eduAplctOrd#
</isNotEmpty>
</isNotEmpty>
WHERE SSPN_IDTMT_TRGT_ORD = #prcsAplctPrdOrdCmplt#
WHERE SSPN_IDTMT_TRGT_ORD IN
<iterate property="sspnIdtmtTrgtOrdList" open="(" close=")" conjunction=",">
#sspnIdtmtTrgtOrdList[]#
</iterate>
<!-- WHERE SSPN_IDTMT_TRGT_ORD IN -->
<!-- <iterate property="sspnIdtmtTrgtOrdList" open="(" close=")" conjunction=","> -->
<!-- #sspnIdtmtTrgtOrdList[]# -->
<!-- </iterate> -->
</update>
<update id="cndtnTrgtInfoMngDAO.updateDel" parameterClass="CndtnPrcsInfoMngVO">

View File

@ -92,19 +92,30 @@
var sspnIdtmtTrgtOrdList = [];
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
/*
$("input[name='chk']:checked").each(function() {
var sspnIdtmtTrgtOrd = $(this).val();
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrd);
});
*/
var sspnIdtmtTrgtOrd = $("input[name='chk']:checked").val();
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
/*
if (sspnIdtmtTrgtOrdList.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
*/
if (sspnIdtmtTrgtOrd == '') {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
var dataToSend = {
"sspnIdtmtTrgtOrdList": sspnIdtmtTrgtOrdList
//"sspnIdtmtTrgtOrdList": sspnIdtmtTrgtOrdList
"sspnIdtmtTrgtOrd": sspnIdtmtTrgtOrd //radio 값으로 하나만 존재
//, "eduStateCd" : "20"
//, "prcsAplctPrdOrdCmplt" : $('#prcsAplctPrdOrdCmplt').val()
, "prcsAplctPrdOrdCmplt" : $('#sspnIdtmtTrgtOrd').val()
@ -115,7 +126,7 @@
// var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateEduAplctAprvlCdAjax.do'/>";
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateTrgtDuplAjax.do'/>";
if(!confirm("병합처리 진행하시겠습니까?")){
if(!confirm("현재 등록 대상자를 선택하신 기존 대상자 밑으로 병합처리 진행하시겠습니까?")){
return false;
}
// AJAX 호출을 통해 서버에 데이터 전송
@ -127,10 +138,10 @@
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
alert("변경 처리 되었습니다.");
alert("병합 처리 되었습니다.");
window.location.reload();
}else{
alert("변경 중 오류가 발생하였습니다.");
alert("병합 중 오류가 발생하였습니다.");
}
},
error: function(jqXHR, textStatus, errorThrown) {
@ -159,7 +170,149 @@
<div class="area_popup">
<div class="tb_tit01">
<p>기준 대상자 정보</p>
<p>기존 대상자 목록(기준)</p>
</div>
<div class="cont_popup">
<!-- list_top -->
<%-- <div class="list_top">
<div class="list_top_1">
<div class="util_left">
<p>병합 대상자 검색</p>
</div>
<div class="util_right">
<input type="text" id="trgtNm" name="trgtNm" placeholder="이름" value="<c:out value='${cndtnTrgtInfoMngVO.trgtNm }' /> " />
<button type="button" class="btn_type08" onclick="fncGoSearch(1); return false;">검색</button>
</div>
</div>
</div> --%>
<!-- <div class="pop_tb_tit01"> -->
<!-- <p>병합 대상자 목록</p> -->
<!-- </div> -->
<div class="pop_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="radio"/>
</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>
<!-- page -->
<!-- <div class="page"> -->
<%-- <ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" /> --%>
<!-- </div> -->
<!-- //page -->
<!--
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type04" onclick="fnUpdate(); return false;">기존 대상자 밑으로 병합 처리</button>
<button type="button" class="btn_type04" onclick="fn_close()">닫기</button>
</div>
<div class="btn_right">
</div>
</div>
-->
</div>
</div>
<div class="area_popup">
<div class="tb_tit01">
<p>현재 등록 대상자 정보</p>
</div>
<div class="cont_popup">
<!-- list_top -->
@ -263,146 +416,7 @@
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type04" onclick="fnUpdate(); return false;">병합 처리</button>
<!-- <button type="button" class="btn_type04" onclick="self.close();">닫기</button> -->
<button type="button" class="btn_type04" onclick="fn_close()">닫기</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
<div class="area_popup">
<div class="tb_tit01">
<p>병합 대상자 목록</p>
</div>
<div class="cont_popup">
<!-- list_top -->
<%-- <div class="list_top">
<div class="list_top_1">
<div class="util_left">
<p>병합 대상자 검색</p>
</div>
<div class="util_right">
<input type="text" id="trgtNm" name="trgtNm" placeholder="이름" value="<c:out value='${cndtnTrgtInfoMngVO.trgtNm }' /> " />
<button type="button" class="btn_type08" onclick="fncGoSearch(1); return false;">검색</button>
</div>
</div>
</div> --%>
<!-- <div class="pop_tb_tit01"> -->
<!-- <p>병합 대상자 목록</p> -->
<!-- </div> -->
<div class="pop_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>
<!-- page -->
<!-- <div class="page"> -->
<%-- <ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" /> --%>
<!-- </div> -->
<!-- //page -->
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type04" onclick="fnUpdate(); return false;">병합 처리</button>
<button type="button" class="btn_type04" onclick="fnUpdate(); return false;">기존 대상자 밑으로 병합 처리</button>
<!-- <button type="button" class="btn_type04" onclick="self.close();">닫기</button> -->
<button type="button" class="btn_type04" onclick="fn_close()">닫기</button>
</div>
@ -411,6 +425,7 @@
</div>
</div>
</div>
</form:form>