2024-03-06 17:19 기소유예 대상자 삭제

This commit is contained in:
myname 2024-03-06 17:19:33 +09:00
parent 437f09c49e
commit 70d252c11e
7 changed files with 143 additions and 2 deletions

View File

@ -31,6 +31,7 @@ import kcc.let.utl.fcc.service.EgovCryptoUtil4VO;
import kcc.let.utl.fcc.service.ITNotiUtil; import kcc.let.utl.fcc.service.ITNotiUtil;
import kcc.let.utl.fcc.service.VisitEduTransUtil; import kcc.let.utl.fcc.service.VisitEduTransUtil;
import kcc.ve.cmm.VeConstants; import kcc.ve.cmm.VeConstants;
import kcc.ve.cmm.VeInstrFeeMng;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAcmdtAplctService; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAcmdtAplctService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
@ -906,6 +907,11 @@ public class VEAsgnmController {
model.addAttribute("eduList", vEPrcsDetailVOList); model.addAttribute("eduList", vEPrcsDetailVOList);
System.out.println("+++++++++++++++++++++++++++1111111++++555++"); System.out.println("+++++++++++++++++++++++++++1111111++++555++");
// 강사료 계산
VeInstrFeeMng veInstrFeeMng = new VeInstrFeeMng();
VEInstrFeeAcmdtVO instrFee = veInstrFeeMng.VeInstrFeeMng(vEInstrFeeService, vEInstrAsgnmVO.getEduAplctOrd(), vEInstrAsgnmVO.getEduChasiOrd());
model.addAttribute("instrFee", instrFee);
//전날숙박 조회 //전날숙박 조회
VEInstrFeeAcmdtVO acmdtAplctYesterday = new VEInstrFeeAcmdtVO(); VEInstrFeeAcmdtVO acmdtAplctYesterday = new VEInstrFeeAcmdtVO();
acmdtAplctYesterday.setFrstRegisterId(loginVO.getUniqId()); acmdtAplctYesterday.setFrstRegisterId(loginVO.getUniqId());

View File

@ -39,6 +39,8 @@ public interface CndtnTrgtMngService {
void updateEduStateCdAndReqStateCdAjax(CndtnTrgtMngVO cndtnTrgtMngVO); void updateEduStateCdAndReqStateCdAjax(CndtnTrgtMngVO cndtnTrgtMngVO);
void deleteEduReqAjax(CndtnTrgtMngVO cndtnTrgtMngVO);
VEAStngVO selectSMSSndString(VEAStngVO vEAStngVO); VEAStngVO selectSMSSndString(VEAStngVO vEAStngVO);
void updateSMSSndString(VEAStngVO vEAStngVO); void updateSMSSndString(VEAStngVO vEAStngVO);

View File

@ -170,6 +170,10 @@ public class CndtnTrgtMngDAO extends EgovAbstractDAO {
update("cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax", cndtnTrgtInfoMngVO); update("cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax", cndtnTrgtInfoMngVO);
} }
public void deleteEduReqAjax(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
update("cndtnTrgtInfoMngDAO.deleteEduReqAjax", cndtnTrgtInfoMngVO);
}
public VEAStngVO selectSMSSndString(VEAStngVO vEAStngVO) { public VEAStngVO selectSMSSndString(VEAStngVO vEAStngVO) {
return (VEAStngVO) select("cndtnTrgtInfoMngDAO.selectSMSSndString", vEAStngVO); return (VEAStngVO) select("cndtnTrgtInfoMngDAO.selectSMSSndString", vEAStngVO);
} }

View File

@ -100,6 +100,11 @@ public class CndtnTrgtMngServiceImpl implements CndtnTrgtMngService {
cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax(cndtnTrgtMngVO); cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax(cndtnTrgtMngVO);
} }
@Override
public void deleteEduReqAjax(CndtnTrgtMngVO cndtnTrgtMngVO) {
cndtnTrgtInfoMngDAO.deleteEduReqAjax(cndtnTrgtMngVO);
}
//비공개메모 update //비공개메모 update
@Override @Override
public int memoUpdate(CndtnTrgtMngVO cndtnTrgtInfoMngVO) throws Exception { public int memoUpdate(CndtnTrgtMngVO cndtnTrgtInfoMngVO) throws Exception {

View File

@ -297,6 +297,44 @@ public class CndtnTrgtMngController {
} }
//교육대상자 삭제
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/deleteEduReqAjax.do")
public ModelAndView deleteEduReqAjax(
@ModelAttribute("vEPrcsDetailVO") CndtnTrgtMngVO cndtnTrgtMngVO
, 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(); //권한에 따른 로그인 정보 가져오기
cndtnTrgtMngVO.setLastUpdusrId(loginVO.getUniqId());
try {
cndtnTrgtInfoMngService.deleteEduReqAjax(cndtnTrgtMngVO);
modelAndView.addObject("result", "success");
} catch (Exception ex) {
ex.printStackTrace();
modelAndView.addObject("result", "");
}
return modelAndView;
}
/** /**

View File

@ -639,7 +639,7 @@
<update id="cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax" parameterClass="CndtnPrcsInfoMngVO"> <update id="cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.memoUpdate */ /* cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax-cndtnTrgtInfoMngDAO.memoUpdate */
UPDATE <include refid="CndtnTrgtInfoMngDAO.table_name"/> UPDATE <include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET SET
REQ_STATE_CD = #reqStateCd# REQ_STATE_CD = #reqStateCd#
@ -652,6 +652,18 @@
</iterate> </iterate>
</update> </update>
<update id="cndtnTrgtInfoMngDAO.deleteEduReqAjax" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.deleteEduReqAjax-cndtnTrgtInfoMngDAO.memoUpdate */
DELETE FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
WHERE SSPN_IDTMT_TRGT_ORD IN
<iterate property="sspnIdtmtTrgtOrdList" open="(" close=")" conjunction=",">
#sspnIdtmtTrgtOrdList[]#
</iterate>
</update>
<select id="cndtnTrgtInfoMngDAO.selectSMSSndString" parameterClass="VEAStngVO" resultClass="VEAStngVO"> <select id="cndtnTrgtInfoMngDAO.selectSMSSndString" parameterClass="VEAStngVO" resultClass="VEAStngVO">
/* cndtnTrgtInfoMngDAO.selectSMSSndString */ /* cndtnTrgtInfoMngDAO.selectSMSSndString */
SELECT SELECT

View File

@ -478,6 +478,79 @@
this.fn_cmmAjax(dataToSend); this.fn_cmmAjax(dataToSend);
} }
// 대상자 삭제
function fncDel() {
var sspnIdtmtTrgtOrdList = [];
console.log('Start');
var chk = false;
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var sspnIdtmtTrgtOrdValue = $(this).data('sspnidtmttrgtord');
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrdValue);
// 교육상태가 대기/ 연기 인지 확인
// 그 외에 값이면 loop 나온 뒤 경고 alert 실행 후 function 종료
if($(this).data('eduinfo') != 10
&& $(this).data('eduinfo') != 50
&& $(this).data('eduinfo') != ''
){
chk = true;
return;
}
});
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
if (sspnIdtmtTrgtOrdList.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
var dataToSend = {
"sspnIdtmtTrgtOrdList" : sspnIdtmtTrgtOrdList
};
if(!confirm("대상자 삭제 하시겠습니까?\n복구는 불가능합니다.")){
return;
}
// AJAX 호출을 통해 서버에 데이터 전송
this.fn_delAjax(dataToSend);
}
function fn_delAjax(dataToSend){
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/deleteEduReqAjax.do'/>";
// 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);
}
});
}
</script> </script>
<title>교육과정관리</title> <title>교육과정관리</title>
</head> </head>
@ -638,6 +711,7 @@
<button type="button" class="btn_type04" onclick="fn_updateCancelReqStatus(10, 10); return false;">의뢰취소복구</button> <button type="button" class="btn_type04" onclick="fn_updateCancelReqStatus(10, 10); return false;">의뢰취소복구</button>
<button type="button" class="btn_type05" onclick="fn_updateReqStatus(60, 40); return false;">의뢰취소</button> <button type="button" class="btn_type05" onclick="fn_updateReqStatus(60, 40); return false;">의뢰취소</button>
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button> <button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
<button type="button" class="btn_type01" onclick="fncDel(); return false;">삭제</button>
</div> </div>
</div> </div>