2024-03-08 14:30 기소유예 오류 사항 수정

This commit is contained in:
myname 2024-03-08 14:30:24 +09:00
parent 27a5879ad2
commit 34c1a933cc
20 changed files with 391 additions and 44 deletions

View File

@ -1067,13 +1067,14 @@ public class SspnIdtmtController {
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
/*
if (loginVO == null || ssoLoginVO == null) {
//이전 url 처리(beforeSiteUrl)_이준호_220228추가
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
*/
//로그인 처리====================================
try {
// 확인 체크
if(StringUtils.isNotEmpty(vEPrcsDetailVO.getCmmNotifyOrd()))
{
@ -1093,6 +1094,10 @@ public class SspnIdtmtController {
vEPrcsDetailVO.setLctrDivCd("60"); //기소유예 구분값
List<VEPrcsDetailVO> vEPrcsDetailQnaVOList = fndtnEnhanceTrnService.selectVeEduQna(vEPrcsDetailVO);
model.addAttribute("qnaList", vEPrcsDetailQnaVOList);
}catch(Exception ex) {
ex.printStackTrace();
}
return "/web/ve/aplct/sspnIdtmt/eduFAQList";
}

View File

@ -1785,6 +1785,51 @@ public class CndtnPrcsInfoMngController {
return "/oprtn/cndtnSspnIdtmt/popup/cnclPopup";
}
/**
* @methodName : cnclPopup
* @author : 이호영
* @date : 2023.11.09
* @description : 취소 정보 입력 팝업
* @param vEPrcsDetailVO
* @param model
* @param redirectAttributes
* @param session
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/popup/cnclStatusPopup.do")
public String cnclStatusPopup(
// @ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
//LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
//SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
//VEPrcsDetailVO info = vEPrcsAplctPrdService.findByCnclInfo(vEPrcsDetailVO);
System.out.println("=====================");
//파일 정보 가져오기
// FileVO fileVO = new FileVO();
// fileVO.setAtchFileId(info.getCnclAtchFileId());
// List<FileVO> result = fileService.selectFileInfs(fileVO);
// model.addAttribute("fileList", result);
// model.addAttribute("fileListCnt", result.size());
//대상 리스트, 페이징 정보 전달
//model.addAttribute("info", info);
return "/oprtn/cndtnSspnIdtmt/popup/cnclStatusPopup";
}
/**
* 강사배정 등록 처리
*/
@ -1873,8 +1918,8 @@ public class CndtnPrcsInfoMngController {
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
//String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
String selectCondition = "AND b.PRCS_NM LIKE '%'||'" +vEPrcsDetailVO.getSearchKeyword() + "'||'%'";
vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
//String selectCondition = "AND b.PRCS_NM LIKE '%'||'" +vEPrcsDetailVO.getSearchKeyword() + "'||'%'";
//vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
}
@ -1935,8 +1980,8 @@ public class CndtnPrcsInfoMngController {
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
//String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
String selectCondition = "AND b.PRCS_NM LIKE '%'||'" +vEPrcsDetailVO.getSearchKeyword() + "'||'%'";
vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
//String selectCondition = "AND b.PRCS_NM LIKE '%'||'" +vEPrcsDetailVO.getSearchKeyword() + "'||'%'";
//vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
}

View File

@ -660,6 +660,11 @@
, EDU_STATE_CD = #eduStateCd#
, LAST_UPDT_PNTTM = SYSDATE
, LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="rmrks">
, rmrks = rmrks || #rmrks#
</isNotEmpty>
WHERE SSPN_IDTMT_TRGT_ORD IN
<iterate property="sspnIdtmtTrgtOrdList" open="(" close=")" conjunction=",">
#sspnIdtmtTrgtOrdList[]#

View File

@ -422,7 +422,11 @@
</isNotEmpty>
<isNotEmpty property="searchKeyword">
AND b.prcs_nm LIKE '%'|| #searchKeyword# ||'%'
AND
(
b.prcs_nm LIKE '%'|| #searchKeyword# ||'%'
OR a.title LIKE '%'|| #searchKeyword# ||'%'
)
</isNotEmpty>
<isNotEmpty property="popup">
@ -627,7 +631,12 @@
</isNotEmpty>
<isNotEmpty property="searchKeyword">
AND b.prcs_nm LIKE '%'|| #searchKeyword# ||'%'
AND
(
b.prcs_nm LIKE '%'|| #searchKeyword# ||'%'
OR a.title LIKE '%'|| #searchKeyword# ||'%'
)
</isNotEmpty>
@ -1048,6 +1057,7 @@
vp.prcs_nm AS prcsNm ,
vp.prcs_cn AS prcsCn ,
vp.prcs_div AS prcsDiv ,
vpap.title AS title ,
vpap.strt_pnttm AS strtPnttm ,
vpap.end_pnttm AS endPnttm ,
vpap.edu_strt_pnttm AS eduStrtPnttm ,
@ -1546,7 +1556,7 @@
, a.PRCS_ORD as prcsOrd
, TO_CHAR(TO_DATE(a.EDU_STRT_PNTTM, 'YYYY.MM.DD'), 'YYYY-MM-DD') AS "start" /*시작*/
, TO_CHAR(TO_DATE(a.EDU_DDLN_PNTTM, 'YYYY.MM.DD'), 'YYYY-MM-DD') AS "end" /*종료*/
, b.PRCS_NM AS title
, NVL(a.title, b.PRCS_NM) AS title
, b.PRCS_CN AS prcsCn
, sign(TO_DATE(a.EDU_STRT_PNTTM,'YYYY.MM.DD') - TO_DATE(sysdate,'YYYY.MM.DD')) AS sndFlag
FROM

View File

@ -51,6 +51,7 @@
<pattern>*/ve/oprtn/instr/adultVisitEdu/instrInfo/instrMdfyRqstPopup.do</pattern> <!-- 성인강사변경승인팝업 -->
<pattern>*/kccadr/oprtn/cpyrgExprnClsrm/popup/slctnTeacherPopup.do</pattern> <!-- 관리자 저작권체험교실 교육과정안내 미리보기 팝업 -->
<pattern>*/kccadr/oprtn/cpyrgExprnClsrm/popup/slctnTeacherChkPopup.do</pattern> <!-- 관리자 저작권체험교실 선정교사 일괄 처리 팝업 -->
<pattern>*/kccadr/oprtn/cndtnSspnIdtmt/popup/cnclStatusPopup.do</pattern> <!-- 관리자 저작권체험교실 선정교사 일괄 처리 팝업 -->
<pattern>*/kccadr/oprtn/cpyrgExprnClsrm/popup/**Popup.do</pattern> <!-- 관리자 결과보고 등록 팝업 -->
</decorator>

View File

@ -479,6 +479,13 @@
</td>
</tr>
<tr>
<th scope="row">과정명</th>
<td>
<c:out value="${info.title}"/>
</td>
</tr>
<tr>
<th scope="row">신청기간</th>
<td>

View File

@ -297,7 +297,15 @@
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
<c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>)
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
</c:when>
<c:otherwise>
<c:out value="${list.prcsNm}"/>
</c:otherwise>
</c:choose>
(<c:out value="${list.prcsAplctPrdOrd}"/>)
</td>
<td>
<%-- <c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/> --%>

View File

@ -364,6 +364,13 @@
</td>
</tr>
<tr>
<th scope="row">과정명</th>
<td>
<c:out value="${info.title}"/>
</td>
</tr>
<tr>
<th scope="row">신청기간</th>
<td>

View File

@ -309,7 +309,15 @@
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
<c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>)
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
</c:when>
<c:otherwise>
<c:out value="${list.prcsNm}"/>
</c:otherwise>
</c:choose>
(<c:out value="${list.prcsAplctPrdOrd}"/>)
</td>
<td>
<c:out value="${list.strtPnttm}"/>~<c:out value="${list.endPnttm}"/>

View File

@ -250,6 +250,14 @@
</td>
</tr>
<tr>
<th scope="row">과정명</th>
<td class="addPro_wrap">
<input type="text" name="title" id="title" value="${info.title}" style="width:500px;" maxLength="30">
</td>
</tr>
<tr>
<th scope="row">교육기간</th>
<td>
@ -265,7 +273,7 @@
<tr id="tr_eduPlace">
<th scope="row" id="thId">교육장소</th>
<td class="addPro_wrap">
<input type="text" name="eduPlace" id="eduPlace" value="${info.eduPlace}" >
<input type="text" name="eduPlace" id="eduPlace" value="${info.eduPlace}" style="width:800px;" maxlength="80">
</td>
</tr>
<tr>

View File

@ -185,6 +185,13 @@
</td>
</tr>
<tr>
<th scope="row">과정명</th>
<td class="addPro_wrap">
<input type="text" name="title" id="title" value="${vEEduAplctVO.title}" style="width:500px;" maxLength="30">
</td>
</tr>
<tr>
<th scope="row">교육기간</th>
<td>
@ -200,7 +207,7 @@
<tr id="tr_eduPlace">
<th scope="row" id="thId">교육장소</th>
<td class="addPro_wrap">
<input type="text" name="eduPlace" id="eduPlace" value="${vEEduAplctVO.eduPlace}" >
<input type="text" name="eduPlace" id="eduPlace" value="${vEEduAplctVO.eduPlace}" style="width:800px;" maxlength="80">
</td>
</tr>
<tr>

View File

@ -0,0 +1,102 @@
<!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="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() {
var v_msg = $('#rmrks').val();
window.opener.fn_popup_submit_cmmAjax(v_msg);
self.close();
}
</script>
</head>
<body>
<div class="area_popup supm_popup">
<div class="cont_popup">
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
<div class="area_popup">
<div class="cont_popup">
<div class="pop_tb_tit01">
<p>비공개 메모</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_type02" onclick="window.close()">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</form:form>
</div>
</div>
</body>
</html>

View File

@ -314,15 +314,39 @@
"reqStateCd" : p_reqStateCd
};
//'alert(dataToSend);
//alert("<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/cnclStatusPopup.do'/>");
//document.listForm.eduAplctOrd.value = eduAplctOrd;
//document.listForm.eduChasiOrd.value = eduChasiOrd;
document.listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/cnclStatusPopup.do'/>";
window.open("", "_CancelStatusPopup", "scrollbars = no, top=100px, left=100px, height=750px, width=750px");
document.listForm.target = "_CancelStatusPopup";
document.listForm.submit();
/*
commonPopWindowopenForm(
"<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/cnclStatusPopup.do'/>"
//"${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/popup/cnclStatusPopup.do"
, "500"
, "550"
, "CancelStatusPopup"
, $("#listForm")
);
*/
/*
if(!confirm("의뢰취소를 하시겠습니까?")){
return;
}
// AJAX 호출을 통해 서버에 데이터 전송
this.fn_cmmAjax(dataToSend);
*/
}
// 대상자 의뢰취소 - 취소에 취소 (복구)
function fn_updateCancelReqStatus(p_eduStateCd, p_reqStateCd) {
@ -372,6 +396,37 @@
}
function fn_popup_submit_cmmAjax(p_params){
var sspnIdtmtTrgtOrdList = [];
console.log('Start');
var chk = false;
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var sspnIdtmtTrgtOrdValue = $(this).val();
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrdValue);
});
var dataToSend = {
"sspnIdtmtTrgtOrdList" : sspnIdtmtTrgtOrdList,
"eduStateCd" : "60",
"reqStateCd" : "40",
"rmrks" : p_params
};
if(!confirm("의뢰취소를 하시겠습니까?")){
return;
}
// AJAX 호출을 통해 서버에 데이터 전송
this.fn_cmmAjax(dataToSend);
}
function fn_cmmAjax(dataToSend){
@ -464,8 +519,6 @@
listForm.submit();
}
</script>
<title>교육과정관리</title>
</head>
@ -605,6 +658,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_type02" onclick="fn_eduAsgnm(); return false;">교육배정</button> -->
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
</div>
</div>

View File

@ -477,11 +477,19 @@
};
/*
if(!confirm("의뢰취소를 하시겠습니까?")){
return;
}
// AJAX 호출을 통해 서버에 데이터 전송
this.fn_cmmAjax(dataToSend);
*/
document.listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/cnclStatusPopup.do'/>";
window.open("", "_CancelStatusPopup", "scrollbars = no, top=100px, left=100px, height=750px, width=750px");
document.listForm.target = "_CancelStatusPopup";
document.listForm.submit();
}
@ -557,6 +565,37 @@
});
}
function fn_popup_submit_cmmAjax(p_params){
var sspnIdtmtTrgtOrdList = [];
console.log('Start');
var chk = false;
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var sspnIdtmtTrgtOrdValue = $(this).data('sspnidtmttrgtord');
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrdValue);
});
var dataToSend = {
"sspnIdtmtTrgtOrdList" : sspnIdtmtTrgtOrdList,
"eduStateCd" : "60",
"reqStateCd" : "40",
"rmrks" : p_params
};
if(!confirm("의뢰취소를 하시겠습니까?")){
return;
}
// AJAX 호출을 통해 서버에 데이터 전송
this.fn_cmmAjax(dataToSend);
}
</script>
<title>교육과정관리</title>
</head>

View File

@ -149,6 +149,7 @@
, $("#listForm")
);
}
function fileChk() {
var chkLen = $(listForm).find("input[name=chk]:checked").length;
if(chkLen ==0){

View File

@ -408,6 +408,13 @@
</td>
</tr>
<tr>
<th scope="row">과정명</th>
<td>
<c:out value="${info.title}"/>
</td>
</tr>
<tr>
<th scope="row">신청기간</th>
<td>

View File

@ -677,7 +677,15 @@ $(document).ready(function(){
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;" tabindex="0" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');}">
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
</c:when>
<c:otherwise>
<c:out value="${list.prcsNm}"/>
</c:otherwise>
</c:choose>
</td>
<td>
<c:out value="${list.strtPnttm}"/>~<c:out value="${list.endPnttm}"/>

View File

@ -200,7 +200,16 @@
<tr>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');}" style="cursor:pointer;" tabindex="0">
<!-- <td> -->
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
</c:when>
<c:otherwise>
<c:out value="${list.prcsNm}"/>
</c:otherwise>
</c:choose>
</td>
<td>
<%-- <c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/> --%>

View File

@ -494,7 +494,16 @@ $(document).ready(function(){
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');}" style="cursor:pointer;" tabindex="0">
<c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>)
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
</c:when>
<c:otherwise>
<c:out value="${list.prcsNm}"/>
</c:otherwise>
</c:choose>
<%-- <c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>) --%>
</td>
<td>
<%-- <c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/> --%>

View File

@ -282,6 +282,8 @@ function commonPopLayerClose() {
function commonPopWindowopenForm(surl, popupwidth, popupheight, name, frm) {
console.log('commonPopWindowopenForm-Start');
if (popupwidth > screen.width)
popupwidth = screen.width;
@ -309,9 +311,14 @@ function commonPopWindowopenForm(surl, popupwidth, popupheight, name, frm) {
frm.attr('target', name);
frm.attr('action', surl);
frm.method = "post";
console.log(surl);
frm.submit();
// 초기화..
frm.attr('target', '_self');
console.log('commonPopWindowopenForm-end');
}
//휴대폰 번호에 대쉬(-) 추가해주기