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.VisitEduTransUtil;
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.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
@ -906,6 +907,11 @@ public class VEAsgnmController {
model.addAttribute("eduList", vEPrcsDetailVOList);
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();
acmdtAplctYesterday.setFrstRegisterId(loginVO.getUniqId());

View File

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

View File

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

View File

@ -100,6 +100,11 @@ public class CndtnTrgtMngServiceImpl implements CndtnTrgtMngService {
cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax(cndtnTrgtMngVO);
}
@Override
public void deleteEduReqAjax(CndtnTrgtMngVO cndtnTrgtMngVO) {
cndtnTrgtInfoMngDAO.deleteEduReqAjax(cndtnTrgtMngVO);
}
//비공개메모 update
@Override
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">
/* cndtnTrgtInfoMngDAO.memoUpdate */
/* cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax-cndtnTrgtInfoMngDAO.memoUpdate */
UPDATE <include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
REQ_STATE_CD = #reqStateCd#
@ -651,7 +651,19 @@
#sspnIdtmtTrgtOrdList[]#
</iterate>
</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">
/* cndtnTrgtInfoMngDAO.selectSMSSndString */
SELECT

View File

@ -478,6 +478,79 @@
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>
<title>교육과정관리</title>
</head>
@ -638,6 +711,7 @@
<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_type01" onclick="fncCreate(); return false;">등록</button>
<button type="button" class="btn_type01" onclick="fncDel(); return false;">삭제</button>
</div>
</div>