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

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 kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
public interface CndtnTrgtMngService {
@ -17,6 +19,10 @@ public interface CndtnTrgtMngService {
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> sspnIdtmtTrgtOrdList;
@ -217,6 +218,12 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
public void setDBirth(String 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);
}
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) {
return cndtnTrgtInfoMngDAO.findCntreqNmber(reqNmbrTemp);
}
/*
//C
public void insert(VEPrcsDetailVO vEPrcsDetailVO) throws Exception {
@Override
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
public List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO) {
return vEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList(vEPrcsDetailVO);
}*/
public void updateDel(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
cndtnTrgtInfoMngDAO.updateDel(cndtnTrgtInfoMngVO);
}
}

View File

@ -664,6 +664,32 @@ public class CndtnTrgtMngController {
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>();
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()))
{
cndtnTrgtInfoMngVO.setFirstIndex(0);
cndtnTrgtInfoMngVO.setRecordCountPerPage(100000);
// String selectCondition = "AND PRCS_APLCT_PRD_ORD_CMPLT is not null ";
// cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
}
model.addAttribute("list", cndtnTrgtInfoMngVOList);
@ -704,6 +729,44 @@ public class CndtnTrgtMngController {
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.req_state_cd AS reqStateCd
, a.atch_file_id AS atchFileId
, a.prcs_aplct_prd_ord_cmplt AS prcsAplctPrdOrdCmplt
</sql>
@ -140,6 +141,33 @@
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
</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
count(*)

View File

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

View File

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

View File

@ -45,16 +45,108 @@
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()
};
// 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=""/>
<input type="hidden" name="eduStateCd" value="10"/>
</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>
<input type="hidden" name="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}'/>"/>
<!-- cont -->
<div class="cont_wrap">
<div class="box">
@ -216,10 +308,17 @@
</div>
</div>
</div>
<div class="btn_wrap btn_layout01" style="margin: 0px 0px 30px 10px;">
<div class="btn_left">
<button type="button" class="btn_type04" onclick="fnUpdate(); return false;">중복자 이수 처리</button>
</div>
</div>
<!-- list -->
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 2px">
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 2px">
@ -234,6 +333,7 @@
</colgroup>
<thead>
<tr>
<th></th>
<th>의뢰일</th>
<th>사건번호</th>
<th>관할청</th>
@ -249,10 +349,22 @@
</thead>
<tbody>
<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}"/>');" 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" /> --%>
@ -293,7 +405,7 @@
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="11"><spring:message code="common.nodata.msg" /></td></tr>
<tr><td colspan="12"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>