이지우 - 기소유예, 시정명령 의뢰취소 관련 작업

This commit is contained in:
JIWOO 2025-10-30 18:31:41 +09:00
parent 01060da67e
commit db04ecd1b0
10 changed files with 202 additions and 22 deletions

View File

@ -136,6 +136,7 @@ public class CmdTrgtServiceImpl implements CmdTrgtService {
String id="";
String next=""; //?
String smsYn = ""; //휴대폰 인증 번호 발송 여부
String reqStateCd = ""; //의뢰상태
try {
result="";
//
@ -170,6 +171,9 @@ public class CmdTrgtServiceImpl implements CmdTrgtService {
}else { //대상자 있음
id = cndtnTrgtMngVOList.get(0).getCmdTrgtInfoOrd();
//의뢰 상태가 의뢰취소(40)라면 스텝4에서 fail 처리
reqStateCd = cndtnTrgtMngVOList.get(0).getReqStateCd();
//step2.대상이 완료 상태인지 확인
cndtnTrgtMngVOList = cmdTrgtMngDAO.checkSspnIdtmtStep2(cmdTrgtMngVO);
@ -201,13 +205,20 @@ public class CmdTrgtServiceImpl implements CmdTrgtService {
msg = "이미 신청한 교육이 있습니다.";
next = ""; //?
}else {//신청한 과정이 없다.
result = "success";
msg = "";
//id = cndtnTrgtMngVOList.get(0).getSspnIdtmtTrgtOrd();
//id = "";
next = "Y";
smsYn = "Y";
//next = Integer.toString(cndtnTrgtMngVOList.size()); //대상자
if("40".equals(reqStateCd)) {
result = "fail";
msg = "의뢰 취소 상태로 과정대상자가 아닙니다. 관리자에게 문의 바랍니다.";
next = "Y"; //?
}else {
result = "success";
msg = "";
//id = cndtnTrgtMngVOList.get(0).getSspnIdtmtTrgtOrd();
//id = "";
next = "Y";
smsYn = "Y";
//next = Integer.toString(cndtnTrgtMngVOList.size()); //대상자
}
}
}

View File

@ -137,6 +137,7 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService {
String id="";
String next=""; //?
String smsYn = ""; //휴대폰 인증 번호 발송 여부
String reqStateCd = ""; //의뢰상태
try {
result="";
//
@ -171,8 +172,11 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService {
}else { //대상자 있음
id = cndtnTrgtMngVOList.get(0).getSspnIdtmtTrgtOrd();
//의뢰 상태가 의뢰취소(40)라면 스텝4에서 fail 처리
reqStateCd = cndtnTrgtMngVOList.get(0).getReqStateCd();
//step2.대상이 완료 상태인지 확인
cndtnTrgtMngVOList = cndtnTrgtInfoMngDAO.checkSspnIdtmtStep2(cndtnTrgtInfoMngVO);
cndtnTrgtMngVOList = cndtnTrgtInfoMngDAO.checkSspnIdtmtStep2(cndtnTrgtInfoMngVO);
int i_cnt = 0;
@ -202,13 +206,20 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService {
msg = "이미 신청한 교육이 있습니다.";
next = ""; //?
}else {//신청한 과정이 없다.
result = "success";
msg = "";
//id = cndtnTrgtMngVOList.get(0).getSspnIdtmtTrgtOrd();
//id = "";
next = "Y";
smsYn = "Y";
//next = Integer.toString(cndtnTrgtMngVOList.size()); //대상자
if("40".equals(reqStateCd)) {
result = "fail";
msg = "의뢰 취소 상태로 과정대상자가 아닙니다. 관리자에게 문의 바랍니다.";
next = "Y"; //?
}else {
result = "success";
msg = "";
//id = cndtnTrgtMngVOList.get(0).getSspnIdtmtTrgtOrd();
//id = "";
next = "Y";
smsYn = "Y";
//next = Integer.toString(cndtnTrgtMngVOList.size()); //대상자
}
}
}

View File

@ -52,6 +52,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String eduAplctOrd; //교육신청순번
private List<String> eduAplctOrdList; //교육신청순번
private List<String> sspnIdtmtTrgtOrdList;
private List<String> cmdTrgtInfoOrdList;
private String eduChasiOrd; //교육차시순번
private String cnt;
@ -1120,5 +1121,11 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
public void setDdlnCdNm(String ddlnCdNm) {
this.ddlnCdNm = ddlnCdNm;
}
public List<String> getCmdTrgtInfoOrdList() {
return cmdTrgtInfoOrdList;
}
public void setCmdTrgtInfoOrdList(List<String> cmdTrgtInfoOrdList) {
this.cmdTrgtInfoOrdList = cmdTrgtInfoOrdList;
}
}

View File

@ -47,6 +47,7 @@ public class CmdTrgtMngVO extends ComDefaultVO implements Serializable {
private List<String> searchSelStatusList;
private List<String> sspnIdtmtTrgtOrdList;
private List<String> cmdTrgtInfoOrdList;
private String eduAplctOrd; //신청한 교육 순번
private String rmrks; //비고
@ -362,5 +363,11 @@ public class CmdTrgtMngVO extends ComDefaultVO implements Serializable {
public void setSexNm(String sexNm) {
this.sexNm = sexNm;
}
public List<String> getCmdTrgtInfoOrdList() {
return cmdTrgtInfoOrdList;
}
public void setCmdTrgtInfoOrdList(List<String> cmdTrgtInfoOrdList) {
this.cmdTrgtInfoOrdList = cmdTrgtInfoOrdList;
}
}

View File

@ -2567,7 +2567,7 @@ public class CmdPrcsInfoMngController {
//VEPrcsDetailVO info = vEPrcsAplctPrdService.findByCnclInfo(vEPrcsDetailVO);
System.out.println("=====================");
System.out.println("===================== :: "+ vEPrcsDetailVO.getSspnIdtmtTrgtOrdList().toString());
System.out.println("===================== :: "+ vEPrcsDetailVO.getCmdTrgtInfoOrdList().toString());
//파일 정보 가져오기
// FileVO fileVO = new FileVO();

View File

@ -299,11 +299,11 @@ public class CmdTrgtMngController {
// 대괄호 제거
List<String> resultList = new ArrayList<>();
for (String list : cndtnTrgtMngVO.getSspnIdtmtTrgtOrdList()) {
for (String list : cndtnTrgtMngVO.getCmdTrgtInfoOrdList()) {
resultList.add(list.replace("[","").replace("]","")); // 내부 리스트의 모든 요소를 resultList에 추가
}
cndtnTrgtMngVO.setSspnIdtmtTrgtOrdList(resultList);
cndtnTrgtMngVO.setCmdTrgtInfoOrdList(resultList);
try {
cmdTrgtInfoMngService.updateEduStateCdAndReqStateCdAjax(cndtnTrgtMngVO);

View File

@ -756,6 +756,7 @@
a.cmd_trgt_info_ord AS cmdTrgtInfoOrd
, a.req_nmbr AS reqNmbr
, a.prsctr_nm AS prsctrNm
, a.req_state_cd AS reqStateCd
FROM
<include refid="CmdTrgtInfoMngDAO.table_name"/> a
WHERE
@ -937,7 +938,7 @@
, LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="rmrks">
, rmrks = rmrks || #rmrks#
, rmrks = COALESCE(rmrks, '') || #rmrks#
</isNotEmpty>
WHERE cmd_trgt_info_ord IN

View File

@ -756,6 +756,7 @@
a.sspn_idtmt_trgt_ord AS sspnIdtmtTrgtOrd
, a.req_nmbr AS reqNmbr
, a.prsctr_nm AS prsctrNm
, a.req_state_cd AS reqStateCd
FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a
WHERE
@ -938,7 +939,7 @@
, LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="rmrks">
, rmrks = rmrks || #rmrks#
, rmrks = COALESCE(rmrks, '') || #rmrks#
</isNotEmpty>
WHERE SSPN_IDTMT_TRGT_ORD IN

View File

@ -0,0 +1,142 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%
/**
* @Class Name : instrAsgnmPopup.jsp
* @Description : 강사배치 팝업
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.09 김봉호 최초 생성
* @author 안주영
* @since 2022.1.8
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%-- <script type="text/javascript" src="<c:url value='/js/ve/tmapJS.js'/>"></script> --%>
<script type="text/javascript">
</script>
<title>강사배치 팝업</title>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
});
function fncPopClose(){
self.close();
}
function fn_updateCnclUpdate_a() {
var v_msg = $('#rmrks').val();
fn_cmmAjax();
}
function fn_cmmAjax(){
var p_data = new FormData(document.getElementById("listForm"));
var url = "<c:url value='/kccadr/oprtn/cmdTrgt/updateEduStateCdAndReqStateCdAjax.do'/>";
// AJAX 호출을 통해 서버에 데이터 전송
$.ajax({
type:"POST",
url: url,
data: p_data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success : function(returnData) {
if (returnData.result == "success") {
alert("변경 처리 되었습니다.");
// opener.location.reload();
window.close();
} else {
alert("변경 중 오류가 발생하였습니다.");
}
},
error : function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error:", textStatus, errorThrown);
console.error("Response:", jqXHR.responseText);
}
});
}
</script>
</head>
<body>
<div class="area_popup supm_popup">
<div class="cont_popup">
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
<input type="hidden" id="cmdTrgtInfoOrdList" name="cmdTrgtInfoOrdList" value="<c:out value="${vEPrcsDetailVO.cmdTrgtInfoOrdList}" />" />
<input type="hidden" id="eduStateCd" name="eduStateCd" value="<c:out value="${vEPrcsDetailVO.eduStateCd}" />" />
<input type="hidden" id="reqStateCd" name="reqStateCd" value="<c:out value="${vEPrcsDetailVO.reqStateCd}" />" />
<div class="area_popup">
<div class="cont_popup">
<div class="pop_tb_tit01">
<p>비공개 메모(<font color="red">의뢰취소 담당자 이름 기입</font>)</p>
</div>
<div>
<table class="pop_tb_type02">
<colgroup>
<col style="width: 9%;">
<col style="width: 15%;">
</colgroup>
<tbody>
<tr>
<th scope="row"><p>메모(100자)</p></th>
<td>
<input type="text" name="rmrks" id="rmrks" value="${info.nos}" style="width:350px;" maxLength="100">
</td>
</tr>
</tbody>
</table>
</div>
<!-- //page -->
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<!-- <button type="button" class="btn_type05" onclick="fn_updateCnclUpdate(30, 40, '취소');">등록</button> -->
<button type="button" class="btn_type05" onclick="fn_updateCnclUpdate_a();">등록</button>
<button type="button" class="btn_type02" onclick="window.close()">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</form:form>
</div>
</div>
</body>
</html>

View File

@ -285,13 +285,13 @@
// 교육상태가 대기/ 연기 인지 확인
// 그 외에 값이면 loop 나온 뒤 경고 alert 실행 후 function 종료
if($(this).data('eduinfo') != 10
/* if($(this).data('eduinfo') != 10
&& $(this).data('eduinfo') != 50
&& $(this).data('eduinfo') != ''
){
chk = true;
return;
}
} */
});
if(chk){