2024-03-08 17:23 기소유예 수정 , 성인 찾교 항목 수정

This commit is contained in:
myname 2024-03-08 17:23:19 +09:00
parent 34c1a933cc
commit d7b85218bb
8 changed files with 514 additions and 27 deletions

View File

@ -1611,6 +1611,7 @@ public class CndtnTrgtMngController {
try {
//과정 조회
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
cndtnTrgtInfoVO = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfoVO);
model.addAttribute("info", cndtnTrgtInfoVO);

View File

@ -1004,6 +1004,30 @@ public class OprtnInstrTngrPrflContoller {
return "/oprtn/tngrVisitEdu/instrAplctIsltnExcel";
}
/**
* 4. 강사활동확인서 등록 화면 (Excel)
*/
@RequestMapping("/ve/oprtn/instr/tngrVisitEdu/instrInfo/instrAplctActvtExcel.do")
public String instrAplctActvtExcel(
@ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
return "/oprtn/tngrVisitEdu/instrAplctActvtExcel";
}
/**
* 학교 정보 EXCEL 등록한다.
*

View File

@ -2993,8 +2993,8 @@
</bean>
<!-- 서류요청순번 ID Generation Strategy Config -->
<bean name="instrActvtHstryOrdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
<property name="prefix" value="instrActvtHs_" /><!-- prefix 값 수정 -->
<property name="cipers" value="7" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="prefix" value="inAtHs_" /><!-- prefix 값 수정 -->
<property name="cipers" value="13" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" />
</bean>

View File

@ -164,7 +164,7 @@
}
// 관할청 검사
if($("input[name='cmptntAthrt']").val()){
if($("input[name='cmptntAthrt']").val().trim() == ""){
alert("관할청을 입력해주세요.");
$("input[name='cmptntAthrt']").focus();
return true;

View File

@ -212,6 +212,7 @@
// 관할청 검사
if($("input[name='cmptntAthrt']").val()){
//if($("input[name='cmptntAthrt']").val().trim() == ""){
alert("관할청을 입력해주세요.");
$("input[name='cmptntAthrt']").focus();
return true;

View File

@ -85,6 +85,14 @@
function fn_egov_downFile(atchFileId, fileSn){//atchFileId -> 파일 Id, fileSn -> 파일 순번
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
}
function fncGoScholExcel(){
alert("작업중입니다.");
return;
var detailForm = document.detailForm ;
detailForm.action = "<c:url value='/ve/oprtn/instr/tngrVisitEdu/instrInfo/instrAplctActvtExcel.do'/>";
detailForm.submit();
}
</script>
</head>
@ -209,7 +217,13 @@
<td>
<c:out value='${info.bsnsNmbr }' />
</td>
</tr>
</tr>
<tr>
<th scope="row">발급상태</th>
<td>
<ve:code codeId="VEA011" code="${info.stateCd}"/>
</td>
</tr>
</tbody>
</table>
</div>
@ -220,15 +234,13 @@
<div class="btn_left">
<button type="button" class="btn_type08" onclick="fn_egov_downFile('<c:out value="${info.aplctAtchFileId}" />', '0')">신청서</button>
<button type="button" class="btn_type08" onclick="fncCmpltCrtfc('<c:out value="${info.instrDetailActvtHstryOrd }" />'); return false;">미리보기</button>
<button type="button" class="btn_type01" onclick="fncGoScholExcel(); return false;">강사활동Excel등록</button>
</div>
<div class="btn_center">
<button type="button" class="btn_type05" onclick="fnCnclPopup()">반려</button>
<button type="button" class="btn_type04" onclick="fn_updateCnclUpdate('30');"; return false;">승인</button>
</div>
<div class="btn_right">
<c:if test="${info.stateCd eq 10}">
<button type="button" class="btn_type05" onclick="fnCnclPopup()">반려</button>
<button type="button" class="btn_type04" onclick="fn_updateCnclUpdate('30');"; return false;">승인</button>
</c:if>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>

View File

@ -0,0 +1,437 @@
<%--
Class Name : instrAplctActvtExcel.jsp
Description : 강사활동확인서등록 화면(Excel)
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2021.08.09 김봉호 최초 생성
author : 김봉호
since : 2021.08.09
--%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ 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="double-submit" uri="http://www.egovframe.go.kr/tags/double-submit/jsp" %>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Language" content="ko" >
<title>학교 정보 등록</title>
<style>
input:disabled {
background-color: #f9f9f9 !important;
}
input:read-only {
background-color: #f9f9f9 !important;
}
</style>
<!-- for validator #2 -->
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
<validator:javascript formName="vEInstrDetailVO" staticJavascript="false" xhtml="true" cdata="false" />
<!-- for validator #2 -->
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
$(".put_photo_box").on("DOMSubtreeModified", function(){
$("#instrPhoto").attr("alt", "${info.instrNm}"+" 사진");
});
//현재년도
var date = new Date();
var year = date.getFullYear();
//생년월일, 위촉년도 selectbox
getYears(year);
//파일첨부버튼
$(".btn_add_file").on('click', function(){
$("#photo_file_temp").click();
});
});
//생년월일, 위촉년도 뿌려주기
function getYears(getYear){
var startY = Number(getYear)- 99;
var endY = Number(getYear);
for(var y=endY; y>=startY; y--){
$("#apptYr").append("<option value='" + y + "'>" + y + "</option>");
$("#dBirth1").append("<option value='" + y + "'>" + y + "</option>");
}
for(var m=1; m<=12; m++){
$("#dBirth2").append("<option value='" + m + "'>" + m + "</option>");
}
for(var d=1; d<=31; d++){
$("#dBirth3").append("<option value='" + d + "'>" + d + "</option>");
}
}
function fncSave(){
//핸드폰번호 하이푼 추가
var phoneAll = document.getElementById("phone1").value + "-"+ document.getElementById("phone2").value + "-"+ document.getElementById("phone3").value;
//핸드폰번호 하이푼 추가 X
// var phoneAll = document.getElementById("phone1").value + document.getElementById("phone2").value + document.getElementById("phone3").value;
$("#phone").val(phoneAll)
//이메일 합치기
var emailAll = document.getElementById("email1").value + "@"+ document.getElementById("email2").value ;
$("#email").val(emailAll)
//생년월일합치기, 8자리 맞추기
var dBirth1 = $("#dBirth1 option:selected").val()
var dBirth2 = $("#dBirth2 option:selected").val()
var dBirth3 = $("#dBirth3 option:selected").val()
if(dBirth2.length == 1){
dBirth2 = "0"+dBirth2;
}
if(dBirth3.length == 1){
dBirth3 = "0"+dBirth3;
}
var dBirthAll = dBirth1 + dBirth2 + dBirth3
$("#dBirth").val(dBirthAll)
/* var dBirthAll = document.getElementById("dBirth1").value + document.getElementById("dBirth2").value + document.getElementById("dBirth3").value
$("#dBirth").val(dBirthAll) */
/*
<!-- for validator #3 -->
*/
if (!validateVEInstrDetailVO(document.createForm)) return;
/*
<!-- for validator #3 -->
*/
/* value에 기본적으로 - 또는 @ 들어가서 필수 값 체크 따로 */
if($("#phone1").val() == '' || $("#phone2").val() == '' || $("#phone3").val() == ''){
alert("연락처는 필수입니다.");
return false;
}
if($("#email1").val() == '' || $("#email2").val() == ''){
alert("이메일은 필수입니다.");
return false;
}
/* 청소년 강사와 다른 성인 강사 항목. 공통 validator에 없음 */
if($("#finalSchol").val() == ''){
alert("최종학교는 필수입니다.");
return false;
}
if($("#mjr").val() == ''){
alert("전공는 필수입니다.");
return false;
}
/* var ment = "";
if(type == 'I'){
$("#sbmtYn").val("N");
ment = "저장";
}
//등록요청
if(type == 'S'){
$("#sbmtYn").val("N");
$("#aprvlCd").val("10");
ment = "등록 요청";
} */
// $("#mode").val(type);
var data = new FormData(document.getElementById("createForm"));
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
if(confirm("강사정보를 등록 하시겠습니까?")){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/instrInfo/instrAplctRegAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert("등록 되었습니다.");
fncGoList(); //현재 메인화면 이동
} else if(status== 'fail'){
alert("등록에 실패하였습니다.");
}
},
error: function (e) { alert("등록에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fncCancle(){
history.back(-1);
}
function fncGoList(){
var createForm = document.createForm;
createForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/scholMngList.do'/>";
createForm.submit();
}
function emailChange(email){
if(email.value != ""){
document.getElementById("email2").readOnly = true;
}else{
document.getElementById("email2").readOnly = false;
}
document.getElementById("email2").value = email.value;
}
function fncAreaList(paramObj) {
if(paramObj == undefined || paramObj == ''){
paramObj = {
pageIndex : 1,
searchKeyword : "",
searchCondition : "",
pageUnit : 5,
formId : "createForm"
};
}
// 학교 리스트 팝업 호출
commonPopLayeropen(
//"/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/scholPopList.do"
"${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/popup/rsdncPopList.do"
, 690
, 538
, paramObj
, "N"
, "rsdncPop"
);
/*
// 이전신청데이터 팝업 호출..
commonPopLayeropen(
"/web/kccadr/adjst/popup/adjstReqRegistPopList.do"
, 500
, 600
, paramObj
, "N"
, "adjstHostoryPop"
);
*/
}
function callBackAreaPop(areaData){
if(emptyObject(areaData)){
alert("오류가 발생하였습니다. 관리자에게 문의해주세요 [ERR-AREA-POP]")
return false;
}
$("#rsdneId").val(areaData.postId);
$("#rsdne").val(areaData.oneDepthNm+"("+areaData.twoDepthNm+" "+areaData.threeDepthNm+")");
console.log(areaData);
}
function fncRsdnePopup() { //거주지 팝업
document.createForm.action = "<c:url value='/ve/oprtn/instr/tngrVisitEdu/popup/instrRsdnePopup.do'/>";
window.open("#", "_rsdnePopup", "scrollbars = no, top=100px, left=100px, height=450px, width=450px");
document.createForm.target = "_rsdnePopup";
document.createForm.formId.value = "createForm";
document.createForm.submit();
}
function fncPhotoPopup() {
var pop = document.createForm;
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/popup/instrAplctPhotoPopup.do", "750", "660", "fncPhotoPopup", $('#createForm'));
}
/* 등록 */
function fn_insert(){
//if (!validateAddrAgencyVO(document.addrAgencyVO)) return;
goWebSave1();
}
/* 글 저장 function */
function goWebSave1(method_parm){ //method_parm :관리자로그 메소드에서 사용.(파일업로드 부분 공통으로 사용하여, 페이지 구분을 위해)
var _fileForm2 = new Array();
if(undefined !=$("input[name=limitcount]").val() && ""!=$("input[name=limitcount]").val() ){
if($('#atchFileNece').length > 0 ){
if($('#tbody_fiielist').find('tr').length == 0){
alert("첨부파일을 추가해 주십시오");
return false;
}
}
}
var msg;
msg = "해당 첨부파일을 수정하시겠습니까?";
var data = new FormData(document.createForm == undefined ? document.board : document.createForm);
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
var url = "";
//url = "/uss/ion/payva/insertVirtualAccountAjax.do";
url = "${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/instrInfo/instrAplctScholExcelAjax.do";
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
//timeout: 600000,
success: function (returnData, status) {
//alert(returnData.message);
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
if("success"==returnData.result){
alert("저장 되었습니다.");
//$("#addrAgencyVO")[0].reset();
//listLoad();
location.href="${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/scholMngList.do";
}else{
alert(returnData.message);
return;
}
} else if(status== 'fail'){
alert("저장에 실패하였습니다. !!");
}
},
error: function (request,status,error) {
//alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
alert("저장에 실패하였습니다.");
console.log("ERROR : ", e);
}
});
}
function changeValue(obj){
$('#atFileBasicWrite').val(obj.value);
}
</script>
</head>
<body>
<%-- <form id="pop" name="pop" method="post">
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
<input type="hidden" name="instrDiv" id="instrDiv" value="<c:out value='${info.instrDiv}'/>"/> <!-- 강사구분 -->
<input type="hidden" name="instrDetailOrd" id="instrDetailOrd" value="<c:out value='${info.instrDetailOrd}'/>"/> <!-- 강사구분 -->`
<input type="hidden" name="aprvlCd" id="aprvlCd" value=""/> <!-- 승인코드 -->
</form> --%>
<form:form id="createForm" name="createForm" commandName="vEInstrDetailVO" method="post" >
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrDetailVO.pageIndex}'/>"/>
<input type="hidden" name="searchStartDt" value="<c:out value="${vEInstrDetailVO.searchStartDt}" />" />
<input type="hidden" name="searchEndDt" value="<c:out value="${vEInstrDetailVO.searchEndDt}" />" />
<input type="hidden" name="searchKeyword" value="<c:out value="${vEInstrDetailVO.searchKeyword}" />" />
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
<input type="hidden" name="instrDiv" id="instrDiv" value="<c:out value='${info.instrDiv}'/>"/> <!-- 강사구분 -->
<input type="hidden" name="instrDetailOrd" id="instrDetailOrd" value="<c:out value='${info.instrDetailOrd}'/>"/> <!-- 강사구분 -->
<input type="hidden" name="aprvlCd" id="aprvlCd" value=""/> <!-- 승인코드 -->
<input type="hidden" name="aprvlCn" id="aprvlCn" value="<c:out value='${info.instrDiv}'/>"/> <!-- 승인내용(반려사유) -->
<input type="hidden" name="rqstType" id="rqstType" value=""/> <!-- 요청유형 -->
<input type="hidden" name="phone" id="phone" value=""/> <!-- 연락처 -->
<input type="hidden" name="email" id="email" value=""/> <!-- 이메일 -->
<input type="hidden" name="dBirth" id="dBirth" value=""/> <!-- 생년월일 -->
<input type="hidden" name="formId" id="formId" value=""/>
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>강사 활동 등록(Excel)</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>강사활동확인서신청관리</p>
</li>
<li><span class="cur_nav">강사 활동 등록(Excel)</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<div class="tb_tit01">
<p>강사활동 정보</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 150px;">
<col style="width: ;">
<col style="width: ;">
<col style="width: ;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>학교정보</p>
</th>
<td class="input_phone attachedFile_wrap" colspan="3">
<label for="" class="label">계좌정보 파일첨부</label>
<input type="text" placeholder="* 첨부가능 파일 txt 각 10MB 이내" readonly
id="atFileBasicWrite" style="width:500px;"
name="atFileBasicWrite"/>
<input type="file" name="file" id="file" style="display:none"
accept=".txt, .xls, .xlsx"
onchange="changeValue(this); return false;"/>
<button type="button" class="btn_type06"
onclick="document.all.file.click(); return false;"
>파일첨부</button>
<span class="req_text1">※ 컴퓨터 파일(엑셀)만 등록 가능합니다.<a href="https://www.edu-copyright.or.kr/offedu/cmm/fms/FileDown.do?atchFileId=FILE_000000000001231&fileSn=0" target="_blank">샘플 다운로드</a></span>
<!-- <span class="reqTxt6">※ 컴퓨터 파일(엑셀)만 등록 가능합니다.<a href="https://www.copyright.or.kr/offedu/cmm/fms/FileDown.do?atchFileId=FILE_000000000018209&fileSn=0" target="_blank">sample</a></span> -->
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type02" onclick="fn_insert(); return false;">등록</button>
<button type="button" class="btn_type03" onclick="fncCancle(); return false;">취소</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -174,38 +174,50 @@
<td><p>
<%-- <c:set var = "fee" value="" /> --%>
<%-- <c:choose> --%>
<%-- <c:when test="${list.instrFeeSbmtYn ne 'Y'}"> --%>
<!-- 정산중 -->
<%-- </c:when> --%>
<%-- <c:when test="${list.acmdtSbmtYn eq 'Y' and empty list.acmdtAprvlCd}"> --%>
<!-- 정산중 -->
<%-- </c:when> --%>
<%-- <c:otherwise> --%>
<%-- <c:set var = "fee" value="${list.feeSum4Dp}" /> --%>
<%-- <fmt:formatNumber value="${fee}" pattern="#,###"/> --%>
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
<c:set var = "fee" value="" />
<c:choose>
<c:when test="${list.instrFeeSbmtYn ne 'Y'}">
정산중
</c:when>
<c:when test="${list.acmdtSbmtYn eq 'Y' and empty list.acmdtAprvlCd}">
정산중
</c:when>
<c:otherwise>
<c:set var = "fee" value="${list.feeSum4Dp}" />
<fmt:formatNumber value="${fee}" pattern="#,###"/>
<fmt:formatNumber value="${fee}" pattern="#,###"/>
</c:otherwise>
</c:choose>
<%-- <c:set var = "fee" value="${list.feeSum4Dp}" /> --%>
<%-- <fmt:formatNumber value="${fee}" pattern="#,###"/> --%>
</p></td>
<c:set var="statCd" value="" />
<c:set var="statCd" value="-" />
<!--
${list.asgnmAprvlCd}
${list.hstryUserId}
${loginVO.id}
${list.userId}
${list.hstryCd}
-->
<c:choose>
<c:when test="${list.asgnmAprvlCd eq '20'}">
<!-- 배정 수락 요청 상태 -->
<c:set var="statCd" value="대기" />
</c:when>
<c:when test="${(list.asgnmAprvlCd eq '40' and list.userId eq loginVO.id) or
<%-- <c:when test="${(list.asgnmAprvlCd eq '40' and list.userId eq loginVO.id) or --%>
<c:when test="${(list.asgnmAprvlCd eq '40') or
(list.hstryUserId eq loginVO.id and (list.hstryCd eq '10' or list.hstryCd eq '40'))}">
<!-- 배정 거절 or 내역 거절 or 내열에 변경요청 -->
<c:set var="statCd" value="거절" />
</c:when>
<c:when test="${list.asgnmAprvlCd eq '30' and list.userId eq loginVO.id}">
<%-- <c:when test="${list.asgnmAprvlCd eq '30' and list.userId eq loginVO.id}"> --%>
<c:when test="${list.asgnmAprvlCd eq '30'}">
<c:set var="statCd" value="수락" />
</c:when>
</c:choose>