This commit is contained in:
myname 2023-11-14 09:37:09 +09:00
commit bcb3c4bd36
17 changed files with 1051 additions and 471 deletions

View File

@ -66,6 +66,8 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
public String cnclCn = "";//기소유예 취소사유
public String instrDetailOrd = "";//강사 고유PK
public String getFileType() {
@ -180,6 +182,14 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
this.cnclCn = cnclCn;
}
public String getInstrDetailOrd() {
return instrDetailOrd;
}
public void setInstrDetailOrd(String instrDetailOrd) {
this.instrDetailOrd = instrDetailOrd;
}

View File

@ -39,5 +39,7 @@ public interface InnorixFileService {
RestResponse insertInnorixDocFile(AdrInnorixFileVO adrInnorixFileVO);
RestResponse insertInnorixSspnCnClAjax(AdrInnorixFileVO adrInnorixFileVO);
RestResponse insertInnorixInstrActvtAjax(AdrInnorixFileVO adrInnorixFileVO);
}

View File

@ -32,6 +32,8 @@ import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.impl.VEEduMIXDAO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.impl.VEInstrDetailActvtHstryDAO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService;
@ -86,6 +88,10 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
@Resource(name="docReqOrdGnrService")
private EgovIdGnrService docReqOrdGnrService;
//서류요청 순번
@Resource(name="instrActvtHstryOrdGnrService")
private EgovIdGnrService instrActvtHstryOrdGnrService;
// 교육 신청 정보
@Resource(name="sspnIdtmtService")
private SspnIdtmtService sspnIdtmtService;
@ -98,6 +104,10 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
@Resource(name = "vEEduMIXDAO")
private VEEduMIXDAO vEEduMIXDAO;
//
@Resource(name = "vEInstrDetailActvtHstryDAO")
private VEInstrDetailActvtHstryDAO vEInstrDetailActvtHstryDAO;
/**
* @methodName : fileDataUpload
@ -510,4 +520,35 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
}
@Override
public RestResponse insertInnorixInstrActvtAjax(AdrInnorixFileVO adrInnorixFileVO) {
List<FileVO> result = null;
try {
// 파일 저장 저장할 file 정보를 받아옴
result = this.insertFileData(adrInnorixFileVO);
// 파일 정보 insert
String atchFileId = fileManageDAO.insertFileInfs(result);
VEInstrDetailActvtHstryVO vEInstrActvtHstryVO = new VEInstrDetailActvtHstryVO();
vEInstrActvtHstryVO.setInstrDetailActvtHstryOrd(instrActvtHstryOrdGnrService.getNextStringId());
vEInstrActvtHstryVO.setInstrDetailOrd(adrInnorixFileVO.getInstrDetailOrd());
// vEInstrActvtHstryVO.setaplctPnttm();
vEInstrActvtHstryVO.setStateCd("10"); // 상태코드
vEInstrActvtHstryVO.setAplctAtchFileId(atchFileId);
vEInstrActvtHstryVO.setFrstRegisterId(adrInnorixFileVO.getUniqId());
vEInstrActvtHstryVO.setLastUpdusrId(adrInnorixFileVO.getUniqId());
vEInstrDetailActvtHstryDAO.insert(vEInstrActvtHstryVO);
} catch (Exception e) {
e.printStackTrace();
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
}
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
}
}

View File

@ -209,6 +209,30 @@ public class InnorixFileController {
return ResponseEntity.ok(innorixService.insertInnorixSspnCnClAjax(adrInnorixFileVO));
}
/**
* @methodName : insertInnorixSspnCnClAjax
* @author : 이호영
* @date : 2023.11.13
* @description :
* @param adrInnorixFileVO
* @return
* @throws Exception
*/
@RequestMapping(value = {"/web/common/insertInnorixInstrActvtAjax.do"}, method = RequestMethod.POST)
public ResponseEntity<RestResponse> insertInnorixInstrActvtAjax(@RequestBody AdrInnorixFileVO adrInnorixFileVO) throws Exception {
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
if(userId.equals("")) {
return ResponseEntity.ok(new RestResponse(HttpStatus.UNAUTHORIZED, "로그인이 필요합니다.", LocalDateTime.now()));
}
adrInnorixFileVO.setUniqId(userId);
return ResponseEntity.ok(innorixService.insertInnorixInstrActvtAjax(adrInnorixFileVO));
}
/**
* @methodName : insertReqDocInnorixFile
* @author : 이지우

View File

@ -0,0 +1,31 @@
package kcc.ve.instr.tngrVisitEdu.instrInfo.service;
public interface VEInstrDetailActvtHstryService {
/*
//C
void insert(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//R
VEInstrDetailVO selectDetail(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//U
int update(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//D
int delete(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//L
List<VEInstrDetailVO> selectList(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//L page
List<VEInstrDetailVO> selectPagingList(VEInstrDetailVO vEInstrDetailVO) throws Exception;
*/
//EgovMap selectAdrRpplInfo(AdjstChangeDateVO adjstChangeDateVO) throws Exception;
//List<?> selectPagingList(AdjstChangeDateVO adjstChangeDateVO) throws Exception;
}

View File

@ -0,0 +1,111 @@
package kcc.ve.instr.tngrVisitEdu.instrInfo.service;
import java.io.Serializable;
import kcc.com.cmm.ComDefaultVO;
/**
*
* @author : 이호영
* @fileName : VEInstrDetailActvtHstryVO.java
* @date : 2023.11.13
* @description : 강사활동내역 신청서테이블
* ===========================================================
* DATE AUTHOR NOTE
* ----------------------------------------------------------- *
* 2023.11.13 이호영 최초 생성
*
*
*
*/
public class VEInstrDetailActvtHstryVO extends ComDefaultVO implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1181681573174151517L;
// VE_INSTR_DETAIL_ACTVT_HSTRY
private String instrDetailActvtHstryOrd;
private String instrDetailOrd;
private String aplctPnttm;
private String stateCd;
private String statePnttm;
private String aplctAtchFileId;
private String cmpnnCn;
private String frstRegistPnttm;
private String frstRegisterId;
private String lastUpdtPnttm;
private String lastUpdusrId;
public String getInstrDetailActvtHstryOrd() {
return instrDetailActvtHstryOrd;
}
public void setInstrDetailActvtHstryOrd(String instrDetailActvtHstryOrd) {
this.instrDetailActvtHstryOrd = instrDetailActvtHstryOrd;
}
public String getInstrDetailOrd() {
return instrDetailOrd;
}
public void setInstrDetailOrd(String instrDetailOrd) {
this.instrDetailOrd = instrDetailOrd;
}
public String getAplctPnttm() {
return aplctPnttm;
}
public void setAplctPnttm(String aplctPnttm) {
this.aplctPnttm = aplctPnttm;
}
public String getStateCd() {
return stateCd;
}
public void setStateCd(String stateCd) {
this.stateCd = stateCd;
}
public String getStatePnttm() {
return statePnttm;
}
public void setStatePnttm(String statePnttm) {
this.statePnttm = statePnttm;
}
public String getAplctAtchFileId() {
return aplctAtchFileId;
}
public void setAplctAtchFileId(String aplctAtchFileId) {
this.aplctAtchFileId = aplctAtchFileId;
}
public String getCmpnnCn() {
return cmpnnCn;
}
public void setCmpnnCn(String cmpnnCn) {
this.cmpnnCn = cmpnnCn;
}
public String getFrstRegistPnttm() {
return frstRegistPnttm;
}
public void setFrstRegistPnttm(String frstRegistPnttm) {
this.frstRegistPnttm = frstRegistPnttm;
}
public String getFrstRegisterId() {
return frstRegisterId;
}
public void setFrstRegisterId(String frstRegisterId) {
this.frstRegisterId = frstRegisterId;
}
public String getLastUpdtPnttm() {
return lastUpdtPnttm;
}
public void setLastUpdtPnttm(String lastUpdtPnttm) {
this.lastUpdtPnttm = lastUpdtPnttm;
}
public String getLastUpdusrId() {
return lastUpdusrId;
}
public void setLastUpdusrId(String lastUpdusrId) {
this.lastUpdusrId = lastUpdusrId;
}
}

View File

@ -0,0 +1,27 @@
package kcc.ve.instr.tngrVisitEdu.instrInfo.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
@Repository("vEInstrDetailActvtHstryDAO")
public class VEInstrDetailActvtHstryDAO extends EgovAbstractDAO {
public void insert(VEInstrDetailActvtHstryVO vEInstrActvtHstryVO) {
insert("VEInstrDetailActvtHstryDAO.insert", vEInstrActvtHstryVO);
}
/**
* 등록 - C
* @param AdjstChangeDateVO
* @throws Exception
*/
// public void insert(VEInstrDetailVO vEInstrDetailVO) throws Exception {
// insert("VEInstrDetailActvtHstryDAO.insert", vEInstrDetailVO);
// }
}

View File

@ -0,0 +1,58 @@
package kcc.ve.instr.tngrVisitEdu.instrInfo.service.impl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryService;
@Service("vEInstrDetailActvtHstryService")
public class VEInstrDetailActvtHstryServiceImpl implements VEInstrDetailActvtHstryService {
//강사 상세
@Resource(name="vEInstrDetailActvtHstryDAO")
private VEInstrDetailActvtHstryDAO vEInstrDetailActvtHstryDAO;
/*
//C
public void insert(VEInstrDetailVO vEInstrDetailVO) throws Exception {
vEInstrDetailApptHchkHstryDAO.insert(vEInstrDetailVO);
}
//R
public VEInstrDetailVO selectDetail(VEInstrDetailVO vEInstrDetailVO) throws Exception {
return vEInstrDetailApptHchkHstryDAO.selectDetail(vEInstrDetailVO);
}
//U
public int update(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrDetailApptHchkHstryDAO.update(vEInstrDetailVO);
}
//D
public int delete(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrDetailApptHchkHstryDAO.delete(vEInstrDetailVO);
}
//List
public List<VEInstrDetailVO> selectList(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrDetailApptHchkHstryDAO.selectList(vEInstrDetailVO);
}
//paging List
public List<VEInstrDetailVO> selectPagingList(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrDetailApptHchkHstryDAO.selectPagingList(vEInstrDetailVO);
}
*/
/*
//R
public EgovMap selectAdrRpplInfo(AdjstChangeDateVO adjstChangeDateVO) throws Exception {
return adjstChangeDateDAO.selectAdrRpplInfo(adjstChangeDateVO);
}
*/
}

View File

@ -1,61 +1,61 @@
package kcc.ve.instr.tngrVisitEdu.instrInfo.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailApptHchkHstryService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
@Service("vEInstrDetailApptHchkHstryService")
public class VEInstrDetailApptHchkHstryServiceImpl implements VEInstrDetailApptHchkHstryService {
//강사 상세
@Resource(name="vEInstrDetailApptHchkHstryDAO")
private VEInstrDetailApptHchkHstryDAO vEInstrDetailApptHchkHstryDAO;
//C
public void insert(VEInstrDetailVO vEInstrDetailVO) throws Exception {
vEInstrDetailApptHchkHstryDAO.insert(vEInstrDetailVO);
}
//R
public VEInstrDetailVO selectDetail(VEInstrDetailVO vEInstrDetailVO) throws Exception {
return vEInstrDetailApptHchkHstryDAO.selectDetail(vEInstrDetailVO);
}
//U
public int update(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrDetailApptHchkHstryDAO.update(vEInstrDetailVO);
}
//D
public int delete(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrDetailApptHchkHstryDAO.delete(vEInstrDetailVO);
}
//List
public List<VEInstrDetailVO> selectList(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrDetailApptHchkHstryDAO.selectList(vEInstrDetailVO);
}
//paging List
public List<VEInstrDetailVO> selectPagingList(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrDetailApptHchkHstryDAO.selectPagingList(vEInstrDetailVO);
}
/*
//R
public EgovMap selectAdrRpplInfo(AdjstChangeDateVO adjstChangeDateVO) throws Exception {
return adjstChangeDateDAO.selectAdrRpplInfo(adjstChangeDateVO);
}
*/
}
package kcc.ve.instr.tngrVisitEdu.instrInfo.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailApptHchkHstryService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
@Service("vEInstrDetailApptHchkHstryService")
public class VEInstrDetailApptHchkHstryServiceImpl implements VEInstrDetailApptHchkHstryService {
//강사 상세
@Resource(name="vEInstrDetailApptHchkHstryDAO")
private VEInstrDetailApptHchkHstryDAO vEInstrDetailApptHchkHstryDAO;
//C
public void insert(VEInstrDetailVO vEInstrDetailVO) throws Exception {
vEInstrDetailApptHchkHstryDAO.insert(vEInstrDetailVO);
}
//R
public VEInstrDetailVO selectDetail(VEInstrDetailVO vEInstrDetailVO) throws Exception {
return vEInstrDetailApptHchkHstryDAO.selectDetail(vEInstrDetailVO);
}
//U
public int update(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrDetailApptHchkHstryDAO.update(vEInstrDetailVO);
}
//D
public int delete(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrDetailApptHchkHstryDAO.delete(vEInstrDetailVO);
}
//List
public List<VEInstrDetailVO> selectList(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrDetailApptHchkHstryDAO.selectList(vEInstrDetailVO);
}
//paging List
public List<VEInstrDetailVO> selectPagingList(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrDetailApptHchkHstryDAO.selectPagingList(vEInstrDetailVO);
}
/*
//R
public EgovMap selectAdrRpplInfo(AdjstChangeDateVO adjstChangeDateVO) throws Exception {
return adjstChangeDateDAO.selectAdrRpplInfo(adjstChangeDateVO);
}
*/
}

View File

@ -2982,4 +2982,19 @@
<property name="cipers" value="9" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" />
</bean>
<!-- 24.강사활동확인서순번 ve_instr_detail_actvt_hstry -->
<bean name="instrActvtHstryOrdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="instrActvtHstryOrdStrategy" /><!-- strategy 값 수정 -->
<property name="blockSize" value="10"/>
<property name="table" value="IDS"/>
<property name="tableName" value="INSTRACTVTHSTRY_ORD"/><!-- tableName 값 수정 -->
</bean>
<!-- 서류요청순번 ID Generation Strategy Config -->
<bean name="instrActvtHstryOrdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
<property name="prefix" value="instrActvtHstry_" /><!-- prefix 값 수정 -->
<property name="cipers" value="4" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" />
</bean>
</beans>

View File

@ -10,6 +10,7 @@
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstr_SQL_Tibero.xml"/><!-- 강사테이블 -->
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstrDetail_SQL_Tibero.xml"/><!-- 강사상세테이블 -->
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstrDetailApptHchkHstry_SQL_Tibero.xml"/><!-- 강사상세위촉해촉이력테이블 -->
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstrDetailActvtHstry_SQL_Tibero.xml"/><!-- 강사활동내역신청테이블 -->
<!-- 강사복합쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstr_MIX_SQL_Tibero.xml"/><!-- 강사복합 쿼리 -->

View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<!-- 찾교 강사, 강사상세 테이블 -->
<sqlMap namespace="VEInstrDetailApptHchkHstry">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEInstrDetailActvtHstryVO" type="kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEInstrDetailActvtHstryDAO.table_name">
ve_instr_detail_actvt_hstry
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEInstrDetailActvtHstryDAO.column_name">
instr_detail_actvt_hstry_ord
, instr_detail_ord
, aplct_pnttm
, state_cd
, state_pnttm
, aplct_atch_file_id
, cmpnn_cn
, frst_regist_pnttm
, frst_register_id
, last_updt_pnttm
, last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEInstrDetailActvtHstryDAO.select_column_name">
a.instr_detail_actvt_hstry_ord as instrDetailActvtHstryOrd
, a.instr_detail_ord as instrDetailOrd
, a.aplct_pnttm as aplctPnttm
, a.state_cd as stateCd
, a.state_pnttm as statePnttm
, a.aplct_atch_file_id as aplctAtchFileId
, a.cmpnn_cn as cmpnnCn
, a.frst_regist_pnttm as frstRegistPnttm
, a.frst_register_id as frstRegisterId
, a.last_updt_pnttm as lastUpdtPnttm
, a.last_updusr_id as lastUpdusrId
</sql>
<insert id="VEInstrDetailActvtHstryDAO.insert" parameterClass="VEInstrDetailActvtHstryVO">
INSERT INTO <include refid="VEInstrDetailActvtHstryDAO.table_name"/> (
<include refid="VEInstrDetailActvtHstryDAO.column_name"/>
)VALUES(
#instrDetailActvtHstryOrd#
, #instrDetailOrd#
, SYSDATE
, #stateCd#
, SYSDATE
, #aplctAtchFileId#
, #cmpnnCn#
, SYSDATE
, #frstRegisterId#
, SYSDATE
, #lastUpdusrId#
)
</insert>
</sqlMap>

View File

@ -1,401 +1,401 @@
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<% pageContext.setAttribute("replaceChar", "\n"); %>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style>
input:disabled {
background-color: #f9f9f9 !important;
}
input:read-only {
background-color: #f9f9f9 !important;
}
</style>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
// 상태값 확인
ddlnCdSttsChk();
$("#regBtn").click(function(){
var regForm = document.regForm;
regForm.prcsAplctPrdOrd.value = $(this).data('info');
});
});
function ddlnCdSttsChk(){
var $ddlnCdStts = $(".ddlnCdStts");
// 상태에따라 싱천버튼 활성화 비활성화
var regStatus = true;
// 텍스트가 비어있는지 확인
if ($ddlnCdStts.text().trim() === "") {
var dateText = $ddlnCdStts.closest('table').find("td:eq(2)").text().trim();
var strtPnttm = new Date(dateText.split("~")[0].trim().replace(/\./g, '-'));
var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-'));
var currentDate = new Date();
// new Date에서 년, 월, 일만 생성
currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());
if (currentDate < strtPnttm) {
$ddlnCdStts.text("접수전");
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
$ddlnCdStts.text("접수중");
regStatus = false;
} else if (currentDate > endPnttm) {
$ddlnCdStts.text("접수종료");
}
}
console.log('regStatus : ', regStatus);
$('#regBtn').prop('disabled', regStatus); // 버튼 비활성화
}
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctList.do'/>";
listForm.submit();
}
function fncSendSubmit(){
if(confirm("제출 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctStatusAjax.do",
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"sbmtYn" : 'Y',
"aprvlCd" : VeConstants.APRVL_CD_80,
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("제출 되었습니다.");
fncGoDetail();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncCancleSubmit(){
if(confirm("교육신청 취소하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctStatusAjax.do",
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"useYn" : 'N'
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("교육신청 취소되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
// 대상자 이름, 생년월일, 대상자TB ID
function fncEduReg(trgtNm, dBirth, sspnIdtmtTrgtOrd){
var form = document.regForm;
form.trgtNm.value = trgtNm;
form.dBirth.value = dBirth;
form.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd;
var data = new FormData(document.getElementById("regForm"));
if(confirm("신청하시겠습니까?")){
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduRegAjax.do";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장되었습니다.");
fncGoList();
}else{
alert("교육 신청에 실패하였습니다.\n담당자에게 문의해 주세요.");
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncGoDetail(){
var linkForm = document.linkForm ;
linkForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetail.do'/>";
linkForm.submit();
}
function chrgInfoUpdatePop(){
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/comm/popup/chrgInfoUpdatePop.do"
, 650
, 464
, {'eduAplctOrd' : $("#eduAplctOrd").val()}
, "Y"
, "chrgInfoUpdatePop"
);
}
function fn_confirm(){
var form = document.confirmForm;
var dBirth = $('#dBirth').val().replace(/\./g, '');
var trgtNm = $('#trgtNm').val();
form.trgtNm.value = trgtNm;
form.dBirth.value = dBirth;
var data = new FormData(document.getElementById("confirmForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/userConfirmAjax.do";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
console.log('returnData : ', returnData);
if(returnData.result == "success"){
// 대상자 테이블 pk 값
var sspnIdtmtTrgtOrd = returnData.id;
alert(returnData.msg);
// 교육 신청 ajax
// 대상자 이름, 생년월일, 대상자TB ID
if(returnData.next == "Y")
{
//sspnIdtmtTrgtOrd = returnData.id;
fncEduReg(trgtNm, dBirth, returnData.id);
}
}else{
alert(returnData.msg);
}
// fn_target_confirm_clean();
location.reload();
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
$('#target_confirm_popup-close').click();
}
function fn_target_confirm_clean(){
$('#trgtNm').val('');
$('#dBirth').val('');
}
</script>
<form name="regForm" id="regForm">
<input type="hidden" name="prcsAplctPrdOrd">
<input type="hidden" name="sspnIdtmtTrgtOrd"> <!-- 대상자 테이블 PK -->
<input type="hidden" name="trgtNm">
<input type="hidden" name="dBirth">
</form>
<form name="confirmForm" id="confirmForm">
<input type="hidden" name="trgtNm">
<input type="hidden" name="dBirth">
</form>
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>신청상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="tit_box">
<i class="tit_box_icon1"></i>
<div>
<p>찾아가는 저작권 교육</p>
<span>
‘찾아가는 저작권 교육’은 저작권 교육이 필요한 <span>공공기관, 대학, 문화예술단체 등을 </span>대상으로 무료로 강의를 지원하는 맞춤형 교육 서비스입니다.
<p style="font-weight:400;color:red;font-size:17px;padding-top:10px;">담당자 연락처) 02-2669-0083</p>
</span>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육신청 내용</p>
</div>
<%--
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
<div class="btn_wrap">
<button type="button" class="btnType06" onclick="chrgInfoUpdatePop();">담당자 정보 수정</button>
</div>
</c:if>
--%>
</div>
<div class="tb_type01 tb_write">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">교육부분</th>
<td>
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
</td>
</tr>
<tr>
<th scope="row">과정</th>
<td>
<c:out value="${info.prcsNm}"/>
</td>
</tr>
<tr>
<th scope="row">신청기간</th>
<td>
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
</td>
</tr>
<tr>
<th scope="row">교육장소</th>
<td class="addPro_wrap">
<c:out value="${info.eduPlace}"/>
</td>
</tr>
<tr>
<th scope="row">교육기간</th>
<td>
<c:out value="${info.eduStrtPnttm}"/>~<c:out value="${info.eduDdlnPnttm}"/>
</td>
</tr>
<tr>
<th scope="row">상세교육과정</th>
<td>
<c:out value="${info.prcsCn }" />
</td>
</tr>
<tr>
<th scope="row">정원</th>
<td class="addPro_wrap">
<c:out value="${info.nos}"/>
</td>
</tr>
<tr>
<th scope="row">상태</th>
<td class="ddlnCdStts">
<c:choose>
<c:when test="${not empty info.aprvlCd}">
<kc:code codeId="VE0003" code="${info.aprvlCd}"/>
</c:when>
<c:otherwise>
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
</c:otherwise>
</c:choose>
</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" class="aplctBtn">
<button type="button" class="btnType04" id="regBtn" data-info="<c:out value="${info.prcsAplctPrdOrd}"/>" data-tooltip="target_confirm_popup" >신청</button>
</div>
</div>
</div>
<!-- 교육대상자 확인 -->
<div class="tooltip-wrap">
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="target_confirm_popup" data-focus="target_confirm_popup" data-focus-prev="target_confirm_popup_close">
<div class="popup_tit">
<p>교육대상자 확인</p>
<button class="btn_popup_close tooltip-close" data-focus="target_confirm_popup_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="pop_tb_type01" style="overflow:visible;">
<table>
<colgroup>
<col style="width:38%;">
<col style="width:auto;">
</colgroup>
<tr>
<th>성명</th>
<td>
<input type="text" id="trgtNm">
</td>
</tr>
<tr>
<th>주민번호앞자리</th>
<td>
<div class="calendar_wrap">
<duet-date-picker identifier="date" id="dBirth" class="startDate" id="" min="1940-01-01"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker2.js"></script>
</td>
</tr>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" onclick="fn_confirm()">제출</button>
<button type="button" class="btnType02 tooltip-close" id="target_confirm_popup-close" data-focus="target_confirm_popup-close" data-focus-next="target_confirm_popup">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
<!--// 신청 클릭 > 기소유예 대상자 확인 팝업 -->
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<% pageContext.setAttribute("replaceChar", "\n"); %>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style>
input:disabled {
background-color: #f9f9f9 !important;
}
input:read-only {
background-color: #f9f9f9 !important;
}
</style>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
// 상태값 확인
ddlnCdSttsChk();
$("#regBtn").click(function(){
var regForm = document.regForm;
regForm.prcsAplctPrdOrd.value = $(this).data('info');
});
});
function ddlnCdSttsChk(){
var $ddlnCdStts = $(".ddlnCdStts");
// 상태에따라 싱천버튼 활성화 비활성화
var regStatus = true;
// 텍스트가 비어있는지 확인
if ($ddlnCdStts.text().trim() === "") {
var dateText = $ddlnCdStts.closest('table').find("td:eq(2)").text().trim();
var strtPnttm = new Date(dateText.split("~")[0].trim().replace(/\./g, '-'));
var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-'));
var currentDate = new Date();
// new Date에서 년, 월, 일만 생성
currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());
if (currentDate < strtPnttm) {
$ddlnCdStts.text("접수전");
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
$ddlnCdStts.text("접수중");
regStatus = false;
} else if (currentDate > endPnttm) {
$ddlnCdStts.text("접수종료");
}
}
console.log('regStatus : ', regStatus);
$('#regBtn').prop('disabled', regStatus); // 버튼 비활성화
}
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctList.do'/>";
listForm.submit();
}
function fncSendSubmit(){
if(confirm("제출 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctStatusAjax.do",
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"sbmtYn" : 'Y',
"aprvlCd" : VeConstants.APRVL_CD_80,
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("제출 되었습니다.");
fncGoDetail();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncCancleSubmit(){
if(confirm("교육신청 취소하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctStatusAjax.do",
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"useYn" : 'N'
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("교육신청 취소되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
// 대상자 이름, 생년월일, 대상자TB ID
function fncEduReg(trgtNm, dBirth, sspnIdtmtTrgtOrd){
var form = document.regForm;
form.trgtNm.value = trgtNm;
form.dBirth.value = dBirth;
form.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd;
var data = new FormData(document.getElementById("regForm"));
if(confirm("신청하시겠습니까?")){
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduRegAjax.do";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장되었습니다.");
fncGoList();
}else{
alert("교육 신청에 실패하였습니다.\n담당자에게 문의해 주세요.");
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncGoDetail(){
var linkForm = document.linkForm ;
linkForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetail.do'/>";
linkForm.submit();
}
function chrgInfoUpdatePop(){
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/comm/popup/chrgInfoUpdatePop.do"
, 650
, 464
, {'eduAplctOrd' : $("#eduAplctOrd").val()}
, "Y"
, "chrgInfoUpdatePop"
);
}
function fn_confirm(){
var form = document.confirmForm;
var dBirth = $('#dBirth').val().replace(/\./g, '');
var trgtNm = $('#trgtNm').val();
form.trgtNm.value = trgtNm;
form.dBirth.value = dBirth;
var data = new FormData(document.getElementById("confirmForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/userConfirmAjax.do";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
console.log('returnData : ', returnData);
if(returnData.result == "success"){
// 대상자 테이블 pk 값
var sspnIdtmtTrgtOrd = returnData.id;
alert(returnData.msg);
// 교육 신청 ajax
// 대상자 이름, 생년월일, 대상자TB ID
if(returnData.next == "Y")
{
//sspnIdtmtTrgtOrd = returnData.id;
fncEduReg(trgtNm, dBirth, returnData.id);
}
}else{
alert(returnData.msg);
}
// fn_target_confirm_clean();
location.reload();
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
$('#target_confirm_popup-close').click();
}
function fn_target_confirm_clean(){
$('#trgtNm').val('');
$('#dBirth').val('');
}
</script>
<form name="regForm" id="regForm">
<input type="hidden" name="prcsAplctPrdOrd">
<input type="hidden" name="sspnIdtmtTrgtOrd"> <!-- 대상자 테이블 PK -->
<input type="hidden" name="trgtNm">
<input type="hidden" name="dBirth">
</form>
<form name="confirmForm" id="confirmForm">
<input type="hidden" name="trgtNm">
<input type="hidden" name="dBirth">
</form>
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>신청상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="tit_box">
<i class="tit_box_icon1"></i>
<div>
<p>찾아가는 저작권 교육</p>
<span>
‘찾아가는 저작권 교육’은 저작권 교육이 필요한 <span>공공기관, 대학, 문화예술단체 등을 </span>대상으로 무료로 강의를 지원하는 맞춤형 교육 서비스입니다.
<p style="font-weight:400;color:red;font-size:17px;padding-top:10px;">담당자 연락처) 02-2669-0083</p>
</span>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육신청 내용</p>
</div>
<%--
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
<div class="btn_wrap">
<button type="button" class="btnType06" onclick="chrgInfoUpdatePop();">담당자 정보 수정</button>
</div>
</c:if>
--%>
</div>
<div class="tb_type01 tb_write">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">교육부분</th>
<td>
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
</td>
</tr>
<tr>
<th scope="row">과정</th>
<td>
<c:out value="${info.prcsNm}"/>
</td>
</tr>
<tr>
<th scope="row">신청기간</th>
<td>
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
</td>
</tr>
<tr>
<th scope="row">교육장소</th>
<td class="addPro_wrap">
<c:out value="${info.eduPlace}"/>
</td>
</tr>
<tr>
<th scope="row">교육기간</th>
<td>
<c:out value="${info.eduStrtPnttm}"/>
</td>
</tr>
<tr>
<th scope="row">상세교육과정</th>
<td>
<c:out value="${info.prcsCn }" />
</td>
</tr>
<tr>
<th scope="row">정원</th>
<td class="addPro_wrap">
<c:out value="${info.nos}"/>
</td>
</tr>
<tr>
<th scope="row">상태</th>
<td class="ddlnCdStts">
<c:choose>
<c:when test="${not empty info.aprvlCd}">
<kc:code codeId="VE0003" code="${info.aprvlCd}"/>
</c:when>
<c:otherwise>
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
</c:otherwise>
</c:choose>
</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" class="aplctBtn">
<button type="button" class="btnType04" id="regBtn" data-info="<c:out value="${info.prcsAplctPrdOrd}"/>" data-tooltip="target_confirm_popup" >신청</button>
</div>
</div>
</div>
<!-- 교육대상자 확인 -->
<div class="tooltip-wrap">
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="target_confirm_popup" data-focus="target_confirm_popup" data-focus-prev="target_confirm_popup_close">
<div class="popup_tit">
<p>교육대상자 확인</p>
<button class="btn_popup_close tooltip-close" data-focus="target_confirm_popup_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="pop_tb_type01" style="overflow:visible;">
<table>
<colgroup>
<col style="width:38%;">
<col style="width:auto;">
</colgroup>
<tr>
<th>성명</th>
<td>
<input type="text" id="trgtNm">
</td>
</tr>
<tr>
<th>주민번호앞자리</th>
<td>
<div class="calendar_wrap">
<duet-date-picker identifier="date" id="dBirth" class="startDate" id="" min="1940-01-01"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker2.js"></script>
</td>
</tr>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" onclick="fn_confirm()">제출</button>
<button type="button" class="btnType02 tooltip-close" id="target_confirm_popup-close" data-focus="target_confirm_popup-close" data-focus-next="target_confirm_popup">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
<!--// 신청 클릭 > 기소유예 대상자 확인 팝업 -->

View File

@ -504,5 +504,4 @@ $(document).ready(function(){
viewer.openFile('json_subject.mrd', '/rfn [jsonsample_red_2.json]');
};
*/
>>>>>>> refs/heads/hylee
</script>

View File

@ -565,13 +565,10 @@
<div class="tb_tit01_left">
<p>활동확인서 내역</p>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
</div>
<div class="btn_wrap">
<button type="button" class="btnType05" onclick="location.href='${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflDetail.do'">강사활동확인서 신청</button>
</div>
</div>
<div class="tb_type02">
<table>
@ -617,7 +614,7 @@
<td>
<button class="btnType06 btn_list" onclick="fncMdfy(); return false;">신청서</button>
<button class="btnType06 btn_list" onclick="fncMdfy(); return false;">확인서</button>
<button class="btnType06 btn_list" onclick="fncMdfy(); return false;">반려</button>
<button class="btnType07 btn_list" onclick="fncMdfy(); return false;">반려</button>
</td>
</tr>
</c:forEach>
@ -671,7 +668,7 @@
</c:if>
</c:if>
<button class="btnType06 btn_list" onclick="fncGoList(); return false;">목록 </button>
<button class="btnType03 btn_list" onclick="fncGoList(); return false;">목록 </button>
<!-- <button class="btnType06 btn_list" onclick="fncLctrStngDetailView(); return false;">강의 설정 정보</button> -->
</div>

View File

@ -32,6 +32,10 @@
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/adm/publish/css/popup.css">
<!-- for validator #2 -->
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
<validator:javascript formName="vEInstrDetailVO" staticJavascript="false" xhtml="true" cdata="false" />
<!-- for validator #2 -->
@ -43,6 +47,9 @@
input:read-only {
background-color: #f9f9f9 !important;
}
#fileControl{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
.innorix_basic div.irx_filetree.empty-uploader{background: url(/offedu/visitEdu/usr/publish/images/content/dropzone_file_before.png) no-repeat center; height: 150px !important;}
.irx_filetree,.innorix_basic div.irx_infoBox{height: 150px !important;}
</style>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
@ -51,7 +58,31 @@
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
//대용량 업로드 세팅
/*
* ==================================================================
* INNORIX
* 파일전송 컨트롤 생성
* ==================================================================
*/
control = innorix.create({
el: '#fileControl' // 컨트롤 출력 HTML 객체 ID
, transferMode: 'both' // 업로드, 다운로드 혼합사용
, installUrl: '<c:url value="/innorix/install/install.html" />' // Agent 설치 페이지
, uploadUrl: '<c:url value="/innorix/exam/upload.jsp" />' // 업로드 URL
, height:40
, width: 650
, maxFileCount : 1 // 첨부파일 최대 갯수
, allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"]
// 가능한 확장자 txt|xls|xlsx|png|jpg|jpeg|doc|ppt|hwp|pdf|zip
});
// 업로드 완료 후 이벤트
control.on('uploadComplete', function (p) {
console.log('uploadComplete : ', p);
fn_callBackInnorix(p.files); // 파일 정보 DB isnert function
});
});
@ -183,6 +214,44 @@
}
}
// 강사활동확인서 신청
function insetDocReq(){
//첨부파일 체크 및 요청
if(confirm("신청 하시겠습니까?")){
if(control.getUploadFiles().length > 0){
var postObj = new Object();
postObj.innoDirPath = $('#innoDirPath').val();
control.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
control.upload(); // 업로드 시작
}else{
alert("등록된 첨부파일이 없습니다.");
return false;
}
}
}
//강사활동신청서 신청
function fn_callBackInnorix(data){
// var url = "<c:url value='/web/common/insertInnorixSspnCnClAjax.do' />";
var url = "<c:url value='/web/common/insertInnorixInstrActvtAjax.do' />";
//선택된 강사 ID
var sendData = {
"instrDetailOrd": $('#instrDetailOrd').val()
, "innorixFileListVO": data
, "successMsg" : "신청이 완료되었습니다."
}
/*
* 공통 : innorixCommon.js
* fn_innorixCmmAjax() 호출 후 status가 성공(OK)이면 실행
*/
if(fn_innorixCmmAjax(sendData, url) == "OK")
{
location.reload(true);
}
}
</script>
<!-- 팝업을 위한 mask -->
<div class="mask"></div>
@ -313,6 +382,7 @@
<input type="hidden" name="sbmtYn" id="sbmtYn" value=""/><!-- 제출여부 -->
<input type="hidden" name="aprvlCd" id="aprvlCd" value=""/><!-- 승인코드 -->
<input type="hidden" name="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
<!-- cont -->
@ -675,6 +745,72 @@
</div>
</c:if>
</c:if>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>활동확인서 내역</p>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
</div>
<div class="btn_wrap">
<button type="button" class="btnType05" data-tooltip="sub37_pop02" >강사활동확인서 신청</button>
<%-- <button type="button" class="btnType05" data-tooltip="sub37_pop02" onclick="fn_cnclUpdate('${list.eduAplctOrd }','${list.prcsAplctPrdOrd }')">강사활동확인서 신청</button> --%>
</div>
</div>
<div class="tb_type02">
<table>
<caption>강의 설정 정보 번호, 요청일, 구분, 신청상태, 승인일(반려일), 비고 을/를 제공하는 표</caption>
<colgroup>
<col style="width: 10%;">
<col style="width: 15%;">
<%-- <col style="width: 15%;"> --%>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: auto;">
</colgroup>
<thead>
<tr>
<th scope="col">번호</th>
<th scope="col">신청일</th>
<th scope="col">발급일</th>
<th scope="col">발급상태</th>
<th scope="col">양식</th>
</tr>
</thead>
<tbody>
<c:set var="sbmtCnt" value="0"/>
<c:forEach var="result" items="${vEInstrMdfyList}" varStatus="status">
<tr>
<td>
${status.count}
</td>
<!-- 일시 > 일자로 변경-->
<%-- <fmt:parseDate value="${result.sbmtPnttm}" var="sbmtPnttm" pattern="yyyy-MM-dd HH:mm"/> --%>
<%-- <fmt:formatDate value="${sbmtPnttm}" var="sbmtPnttm" pattern="yyyy-MM-dd"/> --%>
<td>
2023-11-02
</td>
<%-- <td><c:out value="${result.apptDiv}"/></td> --%>
<%-- <c:set var="aprvlCd" value=""></c:set> --%>
<td>
2023-11-03
</td>
<td>
완료 / 처리중 / 반려
</td>
<td>
<button class="btnType06 btn_list" onclick="fncMdfy(); return false;">신청서</button>
<button class="btnType06 btn_list" onclick="fncMdfy(); return false;">확인서</button>
<button class="btnType06 btn_list" onclick="fncMdfy(); return false;">반려</button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout01">
<div class="btn_left"></div>
@ -691,3 +827,64 @@
</div>
<!-- //cont -->
<!-- 강사활동확인서 신청-->
<div class="tooltip-wrap">
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop02" data-focus="sub37_pop02" data-focus-prev="sub37_pop02_close">
<div class="popup_tit">
<p>강사활동확인서 신청</p>
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop02_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="popup_table_top">
<button type="button" class="btnType06">신청서양식 다운로드</button>
</div>
<%-- <div class="pop_tb_type01">
<table>
<colgroup>
<col style="width: 22%;">
<col style="">
</colgroup>
<tr>
<th>취소사유</th>
<td><textarea id="cnclCn" name="cnclCn"></textarea></td>
</tr>
</table>
</div> --%>
<div class="popup_cont upload_area">
<div>
<div class="pop_search_wrap">
<label for="fileNm" class="label">첨부파일 선택</label>
<button type="button" onclick="control.openFileDialogSingle();" class="btnType01 btn_add_file">파일찾기</button>
</div>
<div id="fileControl"></div><br/>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<!-- <button type="button" class="btnType05">제출</button> -->
<button type="button" class="btnType05" id="popupSubmin" onclick="insetDocReq();">신청</button>
<button type="button" class="btnType02 tooltip-close" data-focus="sub37_pop02_close" data-focus-next="sub37_pop02">닫기</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
<!--// 강사활동확인서 신청-->

View File

@ -74,6 +74,8 @@
.wrap .data_notice .notice_list li:hover .title,.wrap .data_notice .notice_list li:hover .date{color:#e95504;transition:all 0.05s ease-in-out;}
/* 알림판 */
.wrap .notify .notify_slide{height:100%;}
.wrap .notify .notify_slide .swiper-slide img{width:100%;height:100%;}
.wrap .notify .notify_control{display:flex;height:30px;background-color:#fff;border:1px solid #d5d5d5;border-radius:5px;padding:0 4px 0 0;}
.wrap .notify .notify_control>*{position:unset;width:23px;height:30px;font-size:16px;color:#888;text-align:center;line-height:28px;letter-spacing:-1.7px;margin: 0 0 0 -1px;}
.wrap .notify .notify_control .slide_number{width:35px;}
@ -106,7 +108,9 @@
.visual_slide .slide_control{bottom:-20px;}
.container .main_banner_link{height:auto;}
.container .main_banner_link li{width:calc((100% - 20px)/2);margin:0 0 10px 0;padding:15px 0;}
.container .main_banner_link li{width:calc((100% - 20px)/2);margin:0 0 10px 0;padding:15px 0;}
.wrap .notify .content{height:auto;}
}
@media all and (max-width: 767px){