Merge branch 'master' into sub
임시 커밋 - 정수빈
This commit is contained in:
commit
1a67655492
@ -68,6 +68,7 @@ public class EgovSessionMapping extends EgovUsersByUsernameMapping {
|
|||||||
String strOrgnztNm = rs.getString("orgnzt_nm");
|
String strOrgnztNm = rs.getString("orgnzt_nm");
|
||||||
String strAuthority = rs.getString("authority");
|
String strAuthority = rs.getString("authority");
|
||||||
String strMberSeq = rs.getString("mber_seq");
|
String strMberSeq = rs.getString("mber_seq");
|
||||||
|
String strJoinType = rs.getString("join_type");
|
||||||
|
|
||||||
|
|
||||||
HttpServletRequest request = ((ServletRequestAttributes)
|
HttpServletRequest request = ((ServletRequestAttributes)
|
||||||
@ -88,6 +89,7 @@ public class EgovSessionMapping extends EgovUsersByUsernameMapping {
|
|||||||
loginVO.setOrgnztNm(strOrgnztNm);
|
loginVO.setOrgnztNm(strOrgnztNm);
|
||||||
loginVO.setAuthority(strAuthority);
|
loginVO.setAuthority(strAuthority);
|
||||||
loginVO.setMembSeq(strMberSeq);
|
loginVO.setMembSeq(strMberSeq);
|
||||||
|
loginVO.setJoinType(strJoinType);
|
||||||
|
|
||||||
request.getSession().setAttribute("LoginVO", loginVO); // LoginVO세션 생성
|
request.getSession().setAttribute("LoginVO", loginVO); // LoginVO세션 생성
|
||||||
|
|
||||||
|
|||||||
@ -1849,11 +1849,18 @@ public class EgovLoginController {
|
|||||||
// 관리자 로그인 시
|
// 관리자 로그인 시
|
||||||
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
|
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
|
||||||
|
|
||||||
System.out.println("===========actionMain===========2");
|
|
||||||
System.out.println(loginService.getUserAuth(user).getAuthority());
|
|
||||||
System.out.println(user.getAuthority());
|
|
||||||
|
|
||||||
if ("ROLE_ADMIN".equals(loginService.getUserAuth(user).getAuthority())) { // 수퍼관리자 경우
|
String authStr = user.getAuthority();
|
||||||
|
if(
|
||||||
|
"0".equals(user.getJoinType())
|
||||||
|
&& ("ROLE_ADMIN".equals(authStr)
|
||||||
|
|| "ROLE_VISIT".equals(authStr)
|
||||||
|
|| "ROLE_ADR_JRSDC".equals(authStr)
|
||||||
|
|| "ROLE_ADR_KIPO".equals(authStr)
|
||||||
|
|| "ROLE_ADR_PREV".equals(authStr))
|
||||||
|
) { //관리자 계정 생성 후 비밀번호를 한번도 변경하지 않은경우 비밀번호 변경 페이지로 이동
|
||||||
|
return "redirect:/uss/umt/user/EgovUserSelectUpdtView4Self.do";
|
||||||
|
} else if ("ROLE_ADMIN".equals(loginService.getUserAuth(user).getAuthority())) { // 수퍼관리자 경우
|
||||||
return "redirect:/cmm/main/mainPage.do";
|
return "redirect:/cmm/main/mainPage.do";
|
||||||
} else if ("ROLE_USER_MANAGER".equals(user.getAuthority())) {
|
} else if ("ROLE_USER_MANAGER".equals(user.getAuthority())) {
|
||||||
return "redirect:/web/main/mainPage.do";
|
return "redirect:/web/main/mainPage.do";
|
||||||
|
|||||||
@ -180,6 +180,8 @@ public class UserManageVO extends UserDefaultVO{
|
|||||||
|
|
||||||
private String mberCi;
|
private String mberCi;
|
||||||
|
|
||||||
|
private String joinType;
|
||||||
|
|
||||||
public String getAuthorCode() {
|
public String getAuthorCode() {
|
||||||
return authorCode;
|
return authorCode;
|
||||||
}
|
}
|
||||||
@ -723,6 +725,13 @@ public class UserManageVO extends UserDefaultVO{
|
|||||||
public void setMberCi(String mberCi) {
|
public void setMberCi(String mberCi) {
|
||||||
this.mberCi = mberCi;
|
this.mberCi = mberCi;
|
||||||
}
|
}
|
||||||
|
public String getJoinType() {
|
||||||
|
return joinType;
|
||||||
|
}
|
||||||
|
public void setJoinType(String joinType) {
|
||||||
|
this.joinType = joinType;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -131,6 +131,8 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
|
|||||||
//pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId());
|
//pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId());
|
||||||
pass = EgovNewPasswordUtil.hashPassword(userManageVO.getPassword());
|
pass = EgovNewPasswordUtil.hashPassword(userManageVO.getPassword());
|
||||||
userManageVO.setPassword(pass);
|
userManageVO.setPassword(pass);
|
||||||
|
//사용자가 비밀번호 변경해야함
|
||||||
|
userManageVO.setJoinType("0");
|
||||||
}else {
|
}else {
|
||||||
//관리자 이외
|
//관리자 이외
|
||||||
userManageVO.setPassword(pass);
|
userManageVO.setPassword(pass);
|
||||||
|
|||||||
@ -57,6 +57,7 @@ import kcc.com.cmm.service.EgovFileMngService;
|
|||||||
import kcc.com.cmm.service.EgovFileMngUtil;
|
import kcc.com.cmm.service.EgovFileMngUtil;
|
||||||
import kcc.com.cmm.util.EgovDoubleSubmitHelper;
|
import kcc.com.cmm.util.EgovDoubleSubmitHelper;
|
||||||
import kcc.com.cmm.util.RedirectUrlMaker;
|
import kcc.com.cmm.util.RedirectUrlMaker;
|
||||||
|
import kcc.com.cmm.util.StringUtil;
|
||||||
import kcc.com.utl.fcc.service.EgovStringUtil;
|
import kcc.com.utl.fcc.service.EgovStringUtil;
|
||||||
import kcc.let.org.service.LocVO;
|
import kcc.let.org.service.LocVO;
|
||||||
import kcc.let.org.service.OrgChartManageService;
|
import kcc.let.org.service.OrgChartManageService;
|
||||||
@ -2482,6 +2483,14 @@ public class EgovUserManageController {
|
|||||||
p_model.addAttribute("userOneDepth", userOneDepth);
|
p_model.addAttribute("userOneDepth", userOneDepth);
|
||||||
p_model.addAttribute("userTwoDepth", userTwoDepth);
|
p_model.addAttribute("userTwoDepth", userTwoDepth);
|
||||||
p_model.addAttribute("orgHiddenList", orgHiddenList);
|
p_model.addAttribute("orgHiddenList", orgHiddenList);
|
||||||
|
|
||||||
|
// 계정 생성 후 비밀번호를 한번도 변경하지 않았으면 관련 메시지 노출
|
||||||
|
if(
|
||||||
|
StringUtil.isNotEmpty(p_loginVO.getJoinType())
|
||||||
|
&& "0".equals(p_loginVO.getJoinType())
|
||||||
|
){
|
||||||
|
p_model.addAttribute("message", "계정 생성 후 비밀번호를 변경하지 않았습니다. \\n비밀번호를 변경 해주시기 바랍니다.");
|
||||||
|
}
|
||||||
}catch(Exception ex) {
|
}catch(Exception ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -561,7 +561,14 @@ public class CmdTrgtController {
|
|||||||
try {
|
try {
|
||||||
if (vEEduAplctVO !=null) {
|
if (vEEduAplctVO !=null) {
|
||||||
vEPrcsAplctVO.setPrcsAplctPrdOrd(vEPrcsDetailVODetail.getPrcsAplctPrdOrd());
|
vEPrcsAplctVO.setPrcsAplctPrdOrd(vEPrcsDetailVODetail.getPrcsAplctPrdOrd());
|
||||||
vEPrcsAplctVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
|
||||||
|
//나의 강의실, 신청목록에서 접근 시 해당 교육 정보 노출
|
||||||
|
//교육 신청목록에서 접근 시 가장 최근 정보 노출
|
||||||
|
if(StringUtils.isNotEmpty(vEPrcsDetailVO.getEduAplctOrd())) {
|
||||||
|
vEPrcsAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
|
||||||
|
}else {
|
||||||
|
vEPrcsAplctVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
||||||
|
}
|
||||||
|
|
||||||
vEPrcsAplctVO = vEPrcsAplctPrdService.selectAplctInfo(vEPrcsAplctVO);
|
vEPrcsAplctVO = vEPrcsAplctPrdService.selectAplctInfo(vEPrcsAplctVO);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -560,7 +560,14 @@ public class PreventController {
|
|||||||
try {
|
try {
|
||||||
if (vEEduAplctVO !=null) {
|
if (vEEduAplctVO !=null) {
|
||||||
vEPrcsAplctVO.setPrcsAplctPrdOrd(vEPrcsDetailVODetail.getPrcsAplctPrdOrd());
|
vEPrcsAplctVO.setPrcsAplctPrdOrd(vEPrcsDetailVODetail.getPrcsAplctPrdOrd());
|
||||||
vEPrcsAplctVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
|
||||||
|
//나의 강의실, 신청목록에서 접근 시 해당 교육 정보 노출
|
||||||
|
//교육 신청목록에서 접근 시 가장 최근 정보 노출
|
||||||
|
if(StringUtils.isNotEmpty(vEPrcsDetailVO.getEduAplctOrd())) {
|
||||||
|
vEPrcsAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
|
||||||
|
}else {
|
||||||
|
vEPrcsAplctVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
||||||
|
}
|
||||||
|
|
||||||
vEPrcsAplctVO = vEPrcsAplctPrdService.selectAplctInfo(vEPrcsAplctVO);
|
vEPrcsAplctVO = vEPrcsAplctPrdService.selectAplctInfo(vEPrcsAplctVO);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -277,4 +277,10 @@ public class VEEduMIXServiceImpl implements VEEduMIXService {
|
|||||||
public List<VEEduAplctVO> selectExprnRsltFileDownList(VEEduAplctVO paramVO) throws Exception{
|
public List<VEEduAplctVO> selectExprnRsltFileDownList(VEEduAplctVO paramVO) throws Exception{
|
||||||
return vEEduMIXDAO.selectExprnRsltFileDownList(paramVO);
|
return vEEduMIXDAO.selectExprnRsltFileDownList(paramVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateCnclStatus(VEEduAplctVO paramVO) {
|
||||||
|
vEEduMIXDAO.updateCnclStatus(paramVO);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -275,11 +275,53 @@ public class VEInstrMixServiceImpl implements VEInstrMixService {
|
|||||||
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no3(vEInstrDetailVO);
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no3(vEInstrDetailVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no4(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no4(vEInstrDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no5(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no5(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no5(vEInstrDetailVO);
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no5(vEInstrDetailVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no6(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no6(vEInstrDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no7(vEInstrDetailVO);
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no7(vEInstrDetailVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_prevent_no5(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_prevent_no5(vEInstrDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_cmdTrgt_no1(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_cmdTrgt_no1(vEInstrDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_cmdTrgt_no2(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_cmdTrgt_no2(vEInstrDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_cmdTrgt_no3(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_cmdTrgt_no3(vEInstrDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_cmdTrgt_no4(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_cmdTrgt_no4(vEInstrDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_cmdTrgt_no5(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_cmdTrgt_no5(vEInstrDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_cmdTrgt_no6(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_cmdTrgt_no6(vEInstrDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_cmdTrgt_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_cmdTrgt_no7(vEInstrDetailVO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -170,4 +170,8 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
|
|||||||
return (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectTrgtList4_60", vEPrcsDetailVO);
|
return (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectTrgtList4_60", vEPrcsDetailVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<VEPrcsDetailVO> findByAprvlQustnrAllList(VEPrcsDetailVO vEPrcsDetailVO) {
|
||||||
|
return (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.findByAprvlQustnrAllList", vEPrcsDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import java.util.List;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpSession;
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
|
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
|
||||||
@ -32,6 +33,8 @@ import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
|
|||||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
|
||||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryService;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrMixService;
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrMixService;
|
||||||
import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO;
|
import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO;
|
||||||
@ -69,6 +72,8 @@ public class CndtnInstrMngController {
|
|||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(CndtnInstrMngController.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(CndtnInstrMngController.class);
|
||||||
|
|
||||||
|
private final String LCTR_DIV_CD = "60";
|
||||||
|
|
||||||
//로그인 체크 util
|
//로그인 체크 util
|
||||||
@Resource(name = "checkLoginUtil")
|
@Resource(name = "checkLoginUtil")
|
||||||
private CheckLoginUtil checkLoginUtil;
|
private CheckLoginUtil checkLoginUtil;
|
||||||
@ -152,6 +157,10 @@ public class CndtnInstrMngController {
|
|||||||
@Resource(name = "vELctrMIXService")
|
@Resource(name = "vELctrMIXService")
|
||||||
private VELctrMIXService vELctrMIXService;
|
private VELctrMIXService vELctrMIXService;
|
||||||
|
|
||||||
|
// 첨부파일 정보
|
||||||
|
@Resource(name="vEInstrDetailActvtHstryService")
|
||||||
|
private VEInstrDetailActvtHstryService vEInstrDetailActvtHstryService;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
// 교육신청 서비스단
|
// 교육신청 서비스단
|
||||||
@ -216,7 +225,7 @@ public class CndtnInstrMngController {
|
|||||||
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
||||||
|
|
||||||
//기반강화 조회
|
//기반강화 조회
|
||||||
vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||||
|
|
||||||
//교육확정 목록 조회
|
//교육확정 목록 조회
|
||||||
vEPrcsDetailVO.setDdlnCd("20");
|
vEPrcsDetailVO.setDdlnCd("20");
|
||||||
@ -306,7 +315,7 @@ public class CndtnInstrMngController {
|
|||||||
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
||||||
|
|
||||||
//기반강화 조회
|
//기반강화 조회
|
||||||
vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||||
|
|
||||||
//교육확정 목록 조회
|
//교육확정 목록 조회
|
||||||
vEPrcsDetailVO.setDdlnCd("20");
|
vEPrcsDetailVO.setDdlnCd("20");
|
||||||
@ -419,7 +428,7 @@ public class CndtnInstrMngController {
|
|||||||
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
||||||
|
|
||||||
//기반강화 조회
|
//기반강화 조회
|
||||||
vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||||
|
|
||||||
//교육확정 목록 조회
|
//교육확정 목록 조회
|
||||||
vEPrcsDetailVO.setDdlnCd("20");
|
vEPrcsDetailVO.setDdlnCd("20");
|
||||||
@ -533,6 +542,7 @@ public class CndtnInstrMngController {
|
|||||||
|
|
||||||
//차시별 정보
|
//차시별 정보
|
||||||
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
|
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
|
||||||
|
vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD);
|
||||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth4Stts(vEPrcsDetailVO);
|
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth4Stts(vEPrcsDetailVO);
|
||||||
model.addAttribute("vEPrcsDetailVOList", vEPrcsDetailVOList);
|
model.addAttribute("vEPrcsDetailVOList", vEPrcsDetailVOList);
|
||||||
|
|
||||||
@ -585,7 +595,7 @@ public class CndtnInstrMngController {
|
|||||||
{
|
{
|
||||||
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
||||||
vEInstrDetailVODetail.setSearchEduStateCd("20"); //이수만 보기
|
vEInstrDetailVODetail.setSearchEduStateCd("20"); //이수만 보기
|
||||||
List<VELctrDetailVO> selectAsgnmInfoT4List_no4 = vEInstrMixService.selectEduPrfrmInfo_csi_no1(vEInstrDetailVODetail);
|
List<VELctrDetailVO> selectAsgnmInfoT4List_no4 = vEInstrMixService.selectEduPrfrmInfo_csi_no4(vEInstrDetailVODetail);
|
||||||
|
|
||||||
model.addAttribute("list_no4",selectAsgnmInfoT4List_no4);
|
model.addAttribute("list_no4",selectAsgnmInfoT4List_no4);
|
||||||
}
|
}
|
||||||
@ -601,7 +611,7 @@ public class CndtnInstrMngController {
|
|||||||
{
|
{
|
||||||
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
||||||
vEInstrDetailVODetail.setSearchEduStateCd("20"); //이수만 보기
|
vEInstrDetailVODetail.setSearchEduStateCd("20"); //이수만 보기
|
||||||
List<VELctrDetailVO> selectAsgnmInfoT6List = vEInstrMixService.selectEduPrfrmInfo_csi_no3(vEInstrDetailVODetail);
|
List<VELctrDetailVO> selectAsgnmInfoT6List = vEInstrMixService.selectEduPrfrmInfo_csi_no6(vEInstrDetailVODetail);
|
||||||
model.addAttribute("list_no6",selectAsgnmInfoT6List);
|
model.addAttribute("list_no6",selectAsgnmInfoT6List);
|
||||||
}
|
}
|
||||||
// ⑦월별 교육차시별 차시명, 이수, 미이수, 연기인원 통계
|
// ⑦월별 교육차시별 차시명, 이수, 미이수, 연기인원 통계
|
||||||
@ -642,6 +652,59 @@ public class CndtnInstrMngController {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @methodName : instrActvtHstrySignMngList
|
||||||
|
* @author : 이호영
|
||||||
|
* @date : 2023.12.28
|
||||||
|
* @description : 직인대장관리(이수증) - 기반 기소
|
||||||
|
* @param vEInstrDetailActvtHstryVO
|
||||||
|
* @param model
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/instrActvtHstrySignAndCmpltCrtfcMngList.do")
|
||||||
|
public String instrActvtHstrySignAndCmpltCrtfcMngList(
|
||||||
|
@ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO
|
||||||
|
, ModelMap model
|
||||||
|
, HttpServletRequest request
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
|
//LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
//SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
|
|
||||||
|
// if (loginVO == null || ssoLoginVO == null) {
|
||||||
|
// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
|
||||||
|
// }
|
||||||
|
//로그인 처리====================================
|
||||||
|
|
||||||
|
//1.pageing step1
|
||||||
|
PaginationInfo paginationInfo = this.setPagingStep1_VEInstrDetailActvtHstryVO(vEInstrDetailActvtHstryVO);
|
||||||
|
//2. pageing step2
|
||||||
|
vEInstrDetailActvtHstryVO = this.setPagingStep2_VEInstrDetailActvtHstryVO(vEInstrDetailActvtHstryVO, paginationInfo);
|
||||||
|
vEInstrDetailActvtHstryVO.setSearchKeyword(egovCryptoUtil.encrypt(vEInstrDetailActvtHstryVO.getSearchKeyword()));
|
||||||
|
// List<VEInstrDetailActvtHstryVO> vEInstrDetailActvtHstryVOList = vEInstrDetailActvtHstryService.selectSignPagingList(vEInstrDetailActvtHstryVO);
|
||||||
|
List<VEInstrDetailActvtHstryVO> vEInstrDetailActvtHstryVOList = vEInstrDetailActvtHstryService.selectSignAndCmpltCrtfcPagingList(vEInstrDetailActvtHstryVO);
|
||||||
|
|
||||||
|
vEInstrDetailActvtHstryVOList.stream().forEach(t-> t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm())));
|
||||||
|
|
||||||
|
//3.pageing step3
|
||||||
|
paginationInfo = this.setPagingStep3_VEInstrDetailActvtHstryVO(vEInstrDetailActvtHstryVOList, paginationInfo);
|
||||||
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
|
||||||
|
// 검색어 복호화
|
||||||
|
vEInstrDetailActvtHstryVO.setSearchKeyword(egovCryptoUtil.decrypt(vEInstrDetailActvtHstryVO.getSearchKeyword()));
|
||||||
|
//대상 리스트, 페이징 정보 전달
|
||||||
|
model.addAttribute("list", vEInstrDetailActvtHstryVOList);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// return "oprtn/cmm/instrActvtHstrySignMngList";
|
||||||
|
return "oprtn/cndtnSspnIdtmt/instrActvtHstrySignAndCmpltCrtfcMngList";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 교육실적통계 화면-개별
|
* 교육실적통계 화면-개별
|
||||||
*/
|
*/
|
||||||
@ -1022,7 +1085,7 @@ public class CndtnInstrMngController {
|
|||||||
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
|
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
|
||||||
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
||||||
vEInstrDetailVODetail.setSearchEduStateCd("20"); //이수만 보기
|
vEInstrDetailVODetail.setSearchEduStateCd("20"); //이수만 보기
|
||||||
List<VELctrDetailVO> selectAsgnmInfoT2List = vEInstrMixService.selectEduPrfrmInfo_csi_no1(vEInstrDetailVODetail);
|
List<VELctrDetailVO> selectAsgnmInfoT2List = vEInstrMixService.selectEduPrfrmInfo_csi_no4(vEInstrDetailVODetail);
|
||||||
|
|
||||||
//복호화
|
//복호화
|
||||||
//selectAsgnmInfoT2List = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List);
|
//selectAsgnmInfoT2List = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List);
|
||||||
@ -1265,7 +1328,7 @@ public class CndtnInstrMngController {
|
|||||||
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
|
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
|
||||||
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
||||||
vEInstrDetailVODetail.setSearchEduStateCd("20"); //이수만 보기
|
vEInstrDetailVODetail.setSearchEduStateCd("20"); //이수만 보기
|
||||||
List<VELctrDetailVO> selectAsgnmInfoT3List = vEInstrMixService.selectEduPrfrmInfo_csi_no3(vEInstrDetailVODetail);
|
List<VELctrDetailVO> selectAsgnmInfoT3List = vEInstrMixService.selectEduPrfrmInfo_csi_no6(vEInstrDetailVODetail);
|
||||||
|
|
||||||
//복호화
|
//복호화
|
||||||
//selectAsgnmInfoT2List = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List);
|
//selectAsgnmInfoT2List = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List);
|
||||||
@ -1376,7 +1439,52 @@ public class CndtnInstrMngController {
|
|||||||
return p_paginationInfo;
|
return p_paginationInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정
|
||||||
|
private PaginationInfo setPagingStep1_VEInstrDetailActvtHstryVO(
|
||||||
|
VEInstrDetailActvtHstryVO p_vEEduAplctVO
|
||||||
|
)throws Exception{
|
||||||
|
// pageing step1
|
||||||
|
PaginationInfo paginationInfo = new PaginationInfo();
|
||||||
|
paginationInfo.setCurrentPageNo(p_vEEduAplctVO.getPageIndex());
|
||||||
|
paginationInfo.setRecordCountPerPage(p_vEEduAplctVO.getPageUnit());
|
||||||
|
paginationInfo.setPageSize(p_vEEduAplctVO.getPageSize());
|
||||||
|
|
||||||
|
return paginationInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화
|
||||||
|
private VEInstrDetailActvtHstryVO setPagingStep2_VEInstrDetailActvtHstryVO(
|
||||||
|
VEInstrDetailActvtHstryVO p_vEEduAplctVO
|
||||||
|
, PaginationInfo p_paginationInfo
|
||||||
|
)throws Exception{
|
||||||
|
// pageing step2
|
||||||
|
p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
|
||||||
|
p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
|
||||||
|
p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
|
||||||
|
|
||||||
|
if("".equals(p_vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||||
|
p_vEEduAplctVO.setSearchSortCnd("prcs_ord");
|
||||||
|
p_vEEduAplctVO.setSearchSortOrd("desc");
|
||||||
|
}
|
||||||
|
|
||||||
|
return p_vEEduAplctVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
|
||||||
|
private PaginationInfo setPagingStep3_VEInstrDetailActvtHstryVO(
|
||||||
|
List<VEInstrDetailActvtHstryVO> p_vEEduAplctVOList
|
||||||
|
|
||||||
|
, PaginationInfo p_paginationInfo
|
||||||
|
)throws Exception{
|
||||||
|
// pageing step3
|
||||||
|
int totCnt = 0;
|
||||||
|
if(p_vEEduAplctVOList.size() > 0) totCnt = p_vEEduAplctVOList.get(0).getTotCnt();
|
||||||
|
p_paginationInfo.setTotalRecordCount(totCnt);
|
||||||
|
|
||||||
|
return p_paginationInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
|
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
|
||||||
|
|||||||
@ -448,7 +448,7 @@ public class MainController {
|
|||||||
BoardVO boardVO = new BoardVO();
|
BoardVO boardVO = new BoardVO();
|
||||||
boardVO.setRecordCountPerPage(5); //게시글 수
|
boardVO.setRecordCountPerPage(5); //게시글 수
|
||||||
boardVO.setFirstIndex(0); //
|
boardVO.setFirstIndex(0); //
|
||||||
boardVO.setBbsId("BBSMSTR_000000000653");
|
boardVO.setBbsId("BBSMSTR_000000000010");
|
||||||
List<BoardVO> vo = bbsMngService.selectMainBoardRecent(boardVO);
|
List<BoardVO> vo = bbsMngService.selectMainBoardRecent(boardVO);
|
||||||
//게시글 내용 html 태그 삭제
|
//게시글 내용 html 태그 삭제
|
||||||
for(int i=0; i<vo.size(); i++) {
|
for(int i=0; i<vo.size(); i++) {
|
||||||
@ -968,7 +968,7 @@ public class MainController {
|
|||||||
/*최초 사이트 체크와 동시에 session 설정, 점검중 페이지 적용 */
|
/*최초 사이트 체크와 동시에 session 설정, 점검중 페이지 적용 */
|
||||||
@RequestMapping(value="/com/firstSiteCheck.do")
|
@RequestMapping(value="/com/firstSiteCheck.do")
|
||||||
public String firstSiteCheck(HttpServletRequest request, @RequestParam Map<String, Object> commandMap,
|
public String firstSiteCheck(HttpServletRequest request, @RequestParam Map<String, Object> commandMap,
|
||||||
ModelMap model)
|
ModelMap model, MenuManageJTreeVO menuManageVO)
|
||||||
throws Exception {
|
throws Exception {
|
||||||
try {
|
try {
|
||||||
SiteManagerVO siteManagerVO = new SiteManagerVO();
|
SiteManagerVO siteManagerVO = new SiteManagerVO();
|
||||||
@ -978,6 +978,31 @@ public class MainController {
|
|||||||
return "web/com/insp";
|
return "web/com/insp";
|
||||||
}
|
}
|
||||||
model.addAttribute("siteManagerVO", siteManagerVO);
|
model.addAttribute("siteManagerVO", siteManagerVO);
|
||||||
|
|
||||||
|
|
||||||
|
//로그인 권한 정보 불러오기
|
||||||
|
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
|
String auth = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority());
|
||||||
|
//권한별 메뉴표시
|
||||||
|
if(!auth.equals("ROLE_ADMIN") && auth != "") {
|
||||||
|
menuManageVO.setAuthorCode(auth);
|
||||||
|
}else if(auth.equals("ROLE_ADMIN")) {
|
||||||
|
menuManageVO.setAuthorCode("ROLE_ANONYMOUS");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
menuManageVO.setAuthorCode("ROLE_ANONYMOUS");
|
||||||
|
}
|
||||||
|
|
||||||
|
MenuManageVO resultVO = new MenuManageVO();
|
||||||
|
MenuManageVO tempMenuManageVO = new MenuManageVO();
|
||||||
|
tempMenuManageVO.setSearchCondition("Y");
|
||||||
|
setViewMenu(request , commandMap , tempMenuManageVO , resultVO , menuManageVO );
|
||||||
|
List<MenuManageJTreeVO> menuResultList = menuCreateManageService.selectMenuLeftListJtreeWeb(menuManageVO) ;
|
||||||
|
model.addAttribute("menuResultList", menuResultList);
|
||||||
|
String pageUrl = request.getRequestURI().replaceAll(request.getContextPath(), "");
|
||||||
|
|
||||||
|
String pageUri = pageUrl.substring(0, pageUrl.lastIndexOf("/"));
|
||||||
|
model.addAttribute("pageUri", pageUri);
|
||||||
}catch(Exception ex) {
|
}catch(Exception ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -848,6 +848,7 @@
|
|||||||
AND b.sex = #sex#
|
AND b.sex = #sex#
|
||||||
|
|
||||||
and c.edu_strt_pnttm >= TO_CHAR(NOW(),'YYYY.MM.DD')
|
and c.edu_strt_pnttm >= TO_CHAR(NOW(),'YYYY.MM.DD')
|
||||||
|
AND a.aprvl_cd in ('10','20','60')
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 기소유예 대상자 확인 STEP00 -->
|
<!-- 기소유예 대상자 확인 STEP00 -->
|
||||||
|
|||||||
@ -0,0 +1,311 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/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
|
||||||
|
, user_id
|
||||||
|
, 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
|
||||||
|
|
||||||
|
, docu_nmbr
|
||||||
|
, sex
|
||||||
|
, purpose
|
||||||
|
, bsns_nmbr
|
||||||
|
, bsns_nm
|
||||||
|
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<!-- 조회용 공통 컬럼 명 -->
|
||||||
|
<sql id="VEInstrDetailActvtHstryDAO.select_column_name">
|
||||||
|
a.instr_detail_actvt_hstry_ord as instrDetailActvtHstryOrd
|
||||||
|
, a.user_id as userId
|
||||||
|
, a.instr_detail_ord as instrDetailOrd
|
||||||
|
, TO_CHAR(a.aplct_pnttm,'YYYY-MM-DD') AS aplctPnttm
|
||||||
|
, a.state_cd as stateCd
|
||||||
|
, TO_CHAR(a.state_pnttm,'YYYY-MM-DD') AS statePnttm
|
||||||
|
, a.aplct_atch_file_id as aplctAtchFileId
|
||||||
|
, a.cmpnn_cn as cmpnnCn
|
||||||
|
, TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm
|
||||||
|
, a.frst_register_id as frstRegisterId
|
||||||
|
, TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS frstRegistPnttm
|
||||||
|
, a.last_updusr_id as lastUpdusrId
|
||||||
|
|
||||||
|
, a.docu_nmbr AS docuNmbr
|
||||||
|
, a.sex
|
||||||
|
, a.purpose
|
||||||
|
, a.bsns_nmbr AS bsnsNmbr
|
||||||
|
, a.bsns_nm AS bsnsNm
|
||||||
|
, a.actvt_period AS actvtPeriod
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<insert id="VEInstrDetailActvtHstryDAO.insert" parameterClass="VEInstrDetailActvtHstryVO">
|
||||||
|
/* VEInstrDetailActvtHstryDAO.insert */
|
||||||
|
INSERT INTO <include refid="VEInstrDetailActvtHstryDAO.table_name"/> (
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.column_name"/>
|
||||||
|
)VALUES(
|
||||||
|
#instrDetailActvtHstryOrd#
|
||||||
|
, #userId#
|
||||||
|
, #instrDetailOrd#
|
||||||
|
, SYSDATE
|
||||||
|
, #stateCd#
|
||||||
|
, SYSDATE
|
||||||
|
, #aplctAtchFileId#
|
||||||
|
, #cmpnnCn#
|
||||||
|
, SYSDATE
|
||||||
|
, #frstRegisterId#
|
||||||
|
, ''
|
||||||
|
, #lastUpdusrId#
|
||||||
|
|
||||||
|
, #docuNmbr#
|
||||||
|
, #sex#
|
||||||
|
, #purpose#
|
||||||
|
, #bsnsNmbr#
|
||||||
|
, #bsnsNm#
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<select id="VEInstrDetailActvtHstryDAO.selectList" parameterClass="VEInstrDetailActvtHstryVO" resultClass="VEInstrDetailActvtHstryVO">
|
||||||
|
/* VEInstrDetailActvtHstryDAO.selectList */
|
||||||
|
SELECT
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.select_column_name"/>
|
||||||
|
FROM
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.table_name"/> a
|
||||||
|
WHERE
|
||||||
|
user_id = #userId#
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="VEInstrDetailActvtHstryDAO.selectPagingList" parameterClass="VEInstrDetailActvtHstryVO" resultClass="VEInstrDetailActvtHstryVO">
|
||||||
|
/* VEInstrDetailActvtHstryDAO.selectPagingList */
|
||||||
|
SELECT
|
||||||
|
COUNT(1) OVER() AS totCnt ,
|
||||||
|
TO_CHAR(a.state_pnttm, 'YYYY') ||'-'||a.docu_nmbr||'호' AS docuNmbrDp ,
|
||||||
|
b.INSTR_NM AS instrNm ,
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.select_column_name"/>
|
||||||
|
FROM
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.table_name"/> a
|
||||||
|
JOIN ve_instr_detail b
|
||||||
|
ON a.user_id = b.user_id
|
||||||
|
AND a.instr_detail_ord = b.instr_detail_ord
|
||||||
|
AND b.INSTR_DIV = #instrDiv#
|
||||||
|
WHERE
|
||||||
|
1=1
|
||||||
|
<isNotEmpty prepend="AND" property="searchKeyword">
|
||||||
|
b.INSTR_NM = #searchKeyword#
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty prepend="AND" property="searchSelStatus">
|
||||||
|
a.state_cd = #searchSelStatus#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty prepend="AND" property="searchStartDt">
|
||||||
|
TO_CHAR(a.aplct_pnttm,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty prepend="AND" property="searchEndDt">
|
||||||
|
TO_CHAR(a.aplct_pnttm,'YYYYMMDD')<![CDATA[ <= ]]> REPLACE(#searchEndDt#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
ORDER BY a.aplct_pnttm desc
|
||||||
|
|
||||||
|
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="VEInstrDetailActvtHstryDAO.selectSignPagingList" parameterClass="VEInstrDetailActvtHstryVO" resultClass="VEInstrDetailActvtHstryVO">
|
||||||
|
/* VEInstrDetailActvtHstryDAO.selectSignPagingList */
|
||||||
|
SELECT
|
||||||
|
COUNT(1) OVER() AS totCnt ,
|
||||||
|
TO_CHAR(a.state_pnttm, 'YYYY') ||'-'||a.docu_nmbr||'호' AS docuNmbrDp ,
|
||||||
|
b.INSTR_NM AS instrNm ,
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.select_column_name"/>
|
||||||
|
|
||||||
|
, c.cnt
|
||||||
|
, c.chasiSum
|
||||||
|
FROM
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.table_name"/> a
|
||||||
|
JOIN ve_instr_detail b
|
||||||
|
ON a.user_id = b.user_id
|
||||||
|
AND a.instr_detail_ord = b.instr_detail_ord
|
||||||
|
left outer join
|
||||||
|
(
|
||||||
|
|
||||||
|
SELECT c.USER_ID AS userId
|
||||||
|
, count(*) AS cnt
|
||||||
|
, sum(b.chasi) AS chasiSum
|
||||||
|
FROM ve_edu_aplct a
|
||||||
|
, ve_edu_chasi b
|
||||||
|
, ve_edu_chasi_instr_asgnm c
|
||||||
|
WHERE a.EDU_APLCT_ORD =b.EDU_APLCT_ORD
|
||||||
|
AND b.EDU_APLCT_ORD =c.EDU_APLCT_ORD
|
||||||
|
AND b.EDU_CHASI_ORD =c.EDU_CHASI_ORD
|
||||||
|
AND a.aprvl_cd='60'
|
||||||
|
AND c.asgnm_aprvl_Cd='30'
|
||||||
|
GROUP BY c.USER_ID
|
||||||
|
|
||||||
|
)c
|
||||||
|
on(
|
||||||
|
a.user_id=c.userId
|
||||||
|
)
|
||||||
|
WHERE
|
||||||
|
1=1
|
||||||
|
AND a.docu_nmbr IS not null
|
||||||
|
|
||||||
|
<isNotEmpty prepend="AND" property="searchKeyword">
|
||||||
|
b.INSTR_NM = #searchKeyword#
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty prepend="AND" property="searchSelStatus">
|
||||||
|
a.state_cd = #searchSelStatus#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty prepend="AND" property="searchStartDt">
|
||||||
|
TO_CHAR(a.aplct_pnttm,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty prepend="AND" property="searchEndDt">
|
||||||
|
TO_CHAR(a.aplct_pnttm,'YYYYMMDD')<![CDATA[ <= ]]> REPLACE(#searchEndDt#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="VEInstrDetailActvtHstryDAO.selectSignAndCmpltCrtfcPagingList" parameterClass="VEInstrDetailActvtHstryVO" resultClass="VEInstrDetailActvtHstryVO">
|
||||||
|
/* VEInstrDetailActvtHstryDAO.selectSignAndCmpltCrtfcPagingList */
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
COUNT(1) OVER() AS totCnt
|
||||||
|
, a.PRCS_APLCT_PRD_ORD as prcsAplctPrdOrd
|
||||||
|
, b.LCTR_DIV_CD AS lctrDivCd
|
||||||
|
, b.EDU_STRT_PNTTM AS eduStrtPnttm
|
||||||
|
, a.EDU_APLCT_ORD as eduAplctOrd
|
||||||
|
, a.APLCT_STATE_CD as aplctStateCd
|
||||||
|
, a.EDU_CMPLT_CRTFC_NMBR as eduCmpltCrtfcNmbr
|
||||||
|
, c.PRCS_NM as prcsNm
|
||||||
|
, c.PRCS_DIV as prcsDiv
|
||||||
|
, d.USER_ID as userId
|
||||||
|
, e.MBER_NM as mberNm
|
||||||
|
, to_char( a.LAST_UPDT_PNTTM ,'YYYY.MM.DD' ) AS lastUpdtPnttm
|
||||||
|
FROM
|
||||||
|
vea_aplct_detail_info a
|
||||||
|
LEFT JOIN ve_prcs_aplct_prd b
|
||||||
|
ON a.PRCS_APLCT_PRD_ORD = b.PRCS_APLCT_PRD_ORD
|
||||||
|
LEFT JOIN ve_prcs c
|
||||||
|
ON b.PRCS_ORD = c.PRCS_ORD
|
||||||
|
LEFT JOIN VE_EDU_APLCT d
|
||||||
|
ON a.EDU_APLCT_ORD = d.EDU_APLCT_ORD
|
||||||
|
LEFT JOIN LETTNGNRLMBER e
|
||||||
|
ON e.MBER_ID = d.USER_ID
|
||||||
|
WHERE
|
||||||
|
a.APLCT_STATE_CD ='20'
|
||||||
|
AND
|
||||||
|
b.LCTR_DIV_CD !='60'
|
||||||
|
AND
|
||||||
|
a.EDU_CMPLT_CRTFC_NMBR IS NOT null
|
||||||
|
|
||||||
|
<isNotEmpty prepend="AND" property="searchKeyword">
|
||||||
|
e.MBER_NM = #searchKeyword#
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty prepend="AND" property="searchSelStatus">
|
||||||
|
a.state_cd = #searchSelStatus#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty prepend="AND" property="searchStartDt">
|
||||||
|
TO_CHAR(a.LAST_UPDT_PNTTM,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty prepend="AND" property="searchEndDt">
|
||||||
|
TO_CHAR(a.LAST_UPDT_PNTTM,'YYYYMMDD')<![CDATA[ <= ]]> REPLACE(#searchEndDt#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
ORDER BY a.EDU_CMPLT_CRTFC_NMBR desc
|
||||||
|
|
||||||
|
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="VEInstrDetailActvtHstryDAO.findById" parameterClass="VEInstrDetailActvtHstryVO" resultClass="VEInstrDetailActvtHstryVO">
|
||||||
|
/*VEInstrDetailActvtHstryDAO.findById */
|
||||||
|
SELECT
|
||||||
|
TO_CHAR(a.state_pnttm, 'YYYY') ||'-'||a.docu_nmbr||'호' AS docuNmbrDp ,
|
||||||
|
b.user_id AS userId ,
|
||||||
|
b.instr_nm as instrNm ,
|
||||||
|
b.phone ,
|
||||||
|
b.post ,
|
||||||
|
b.addr ,
|
||||||
|
b.addr_detail as addrDetail ,
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.select_column_name"/>
|
||||||
|
|
||||||
|
|
||||||
|
FROM
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.table_name"/> a
|
||||||
|
JOIN ve_instr_detail b
|
||||||
|
ON a.user_id = b.user_id
|
||||||
|
AND a.instr_detail_ord = b.instr_detail_ord
|
||||||
|
WHERE
|
||||||
|
a.instr_detail_actvt_hstry_ord = #instrDetailActvtHstryOrd#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<update id="VEInstrDetailActvtHstryDAO.updateStateCd" parameterClass="VEInstrDetailActvtHstryVO">
|
||||||
|
UPDATE
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.table_name" />
|
||||||
|
SET
|
||||||
|
state_cd = #stateCd#
|
||||||
|
|
||||||
|
<isEqual property="stateCd" compareValue="30">
|
||||||
|
, docu_nmbr = NVL(
|
||||||
|
(
|
||||||
|
SELECT nvl(max(docu_nmbr),0) AS docuNmbr
|
||||||
|
FROM ve_instr_detail_actvt_hstry a
|
||||||
|
WHERE state_cd='30'
|
||||||
|
AND to_char(a.state_pnttm,'YYYY')=(
|
||||||
|
SELECT to_char(sysdate,'YYYY')
|
||||||
|
FROM dual
|
||||||
|
)
|
||||||
|
GROUP BY to_char(a.state_pnttm,'YYYY')
|
||||||
|
),0
|
||||||
|
)+1
|
||||||
|
</isEqual>
|
||||||
|
|
||||||
|
<isNotEmpty property="cmpnnCn">
|
||||||
|
, cmpnn_cn = #cmpnnCn#
|
||||||
|
</isNotEmpty>
|
||||||
|
, state_pnttm = SYSDATE
|
||||||
|
, LAST_UPDT_PNTTM = SYSDATE
|
||||||
|
, LAST_UPDUSR_ID = #lastUpdusrId#
|
||||||
|
WHERE
|
||||||
|
instr_detail_actvt_hstry_ord = #instrDetailActvtHstryOrd#
|
||||||
|
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
<update id="VEInstrDetailActvtHstryDAO.updateActvtPeriod" parameterClass="VEInstrDetailActvtHstryVO">
|
||||||
|
UPDATE
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.table_name" />
|
||||||
|
SET
|
||||||
|
actvt_period = #actvtPeriod#
|
||||||
|
WHERE
|
||||||
|
instr_detail_actvt_hstry_ord = #instrDetailActvtHstryOrd#
|
||||||
|
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</sqlMap>
|
||||||
@ -632,12 +632,11 @@
|
|||||||
|
|
||||||
|
|
||||||
<isNotEmpty property="lctrDivCd">
|
<isNotEmpty property="lctrDivCd">
|
||||||
AND a.lctr_div_cd=#lctrDivCd#
|
AND b.lctr_div_cd=#lctrDivCd#
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
|
|
||||||
<isEqual property="lctrDivCd" compareValue="60">
|
|
||||||
AND COALESCE(a.use_yn,'Y')='Y'
|
AND COALESCE(a.use_yn,'Y')!='D'
|
||||||
</isEqual>
|
|
||||||
|
|
||||||
|
|
||||||
ORDER BY 1, b.prcs_nm ASC
|
ORDER BY 1, b.prcs_nm ASC
|
||||||
@ -1702,6 +1701,241 @@
|
|||||||
AND aprvl_cd='20'
|
AND aprvl_cd='20'
|
||||||
|
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 교육 확정 목록 (설문조사, 이수증 수정)-->
|
||||||
|
<select id="findByAprvlQustnrAllList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
|
||||||
|
/* VEPrcsAplctPrdDAO.findByAprvlQustnrAllList */
|
||||||
|
select
|
||||||
|
COUNT(1) OVER() AS totCnt ,
|
||||||
|
a.edu_aplct_ord AS eduAplctOrd ,
|
||||||
|
vpap.PRCS_APLCT_PRD_ORD AS prcsAplctPrdOrd ,
|
||||||
|
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 ,
|
||||||
|
vpap.edu_ddln_pnttm AS eduDdlnPnttm ,
|
||||||
|
|
||||||
|
case
|
||||||
|
when to_char(now(),'YYYY.MM.DD HH24') >= concat(vpap.qustnr_strt_pnttm, ' ', vpap.qustnr_tm) and vpap.qustnr_tm>'' then 1
|
||||||
|
else 0
|
||||||
|
end as qustnrTm,
|
||||||
|
|
||||||
|
|
||||||
|
CASE
|
||||||
|
WHEN to_char(now(), 'YYYY.MM.DD') > COALESCE(vpap.edu_ddln_pnttm,vpap.edu_strt_pnttm) THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END AS qestRsltExists,
|
||||||
|
|
||||||
|
a.APRVL_CD AS aprvlCd,
|
||||||
|
vpap.ddln_cd AS ddlnCd,
|
||||||
|
vadi.APLCT_STATE_CD AS aplctStateCd,
|
||||||
|
vadi.CNCL_ATCH_FILE_ID AS cnclAtchFileId,
|
||||||
|
vadi.CNCL_CN AS cnclCn,
|
||||||
|
|
||||||
|
|
||||||
|
/* 설문지 정보 */
|
||||||
|
I10.qustnr_tmplat_id AS qustnrTmplatId ,
|
||||||
|
|
||||||
|
COALESCE(qustnr01.QESTNR_ID_10, I10.qestnr_id_10) AS qestnrId10 ,
|
||||||
|
COALESCE(qustnr01.QESTNR_ID_20, I20.qestnr_id_20) AS qestnrId20 ,
|
||||||
|
COALESCE(qustnr01.QESTNR_ID_30, I30.qestnr_id_30) AS qestnrId30 ,
|
||||||
|
|
||||||
|
/* 답변 정보 */
|
||||||
|
|
||||||
|
COALESCE(qustnr01.QESTNR_ID_10_CNT,0) AS qestnrId10Cnt ,
|
||||||
|
COALESCE(qustnr01.QESTNR_ID_20_CNT,0) AS qestnrId20Cnt ,
|
||||||
|
COALESCE(qustnr01.QESTNR_ID_30_CNT,0) AS qestnrId30Cnt ,
|
||||||
|
a.lctr_div_cd AS lctrDivCd
|
||||||
|
|
||||||
|
from
|
||||||
|
VE_EDU_APLCT a
|
||||||
|
join ve_prcs_aplct_prd vpap
|
||||||
|
on a.prcs_ord = vpap.prcs_aplct_prd_ord
|
||||||
|
join ve_prcs vp /* 과정 */
|
||||||
|
on vpap.prcs_ord = vp.prcs_ord
|
||||||
|
left join vea_aplct_detail_info vadi /* 신청상세정보 */
|
||||||
|
on a.edu_aplct_ord = vadi.edu_aplct_ord
|
||||||
|
and vpap.prcs_aplct_prd_ord = vadi.prcs_aplct_prd_ord
|
||||||
|
|
||||||
|
LEFT OUTER JOIN (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
aa.EDU_APLCT_ORD ,
|
||||||
|
aa.prcs_ord,
|
||||||
|
aa.QUSTNR_TMPLAT_ID ,
|
||||||
|
aa.user_id
|
||||||
|
|
||||||
|
, max(CASE WHEN bb.site_id_cd = '10' THEN aa.QESTNR_ID END) AS QESTNR_ID_10
|
||||||
|
, max(CASE WHEN bb.site_id_cd = '20' THEN aa.QESTNR_ID END) AS QESTNR_ID_20
|
||||||
|
, max(CASE WHEN bb.site_id_cd = '30' THEN aa.QESTNR_ID END) AS QESTNR_ID_30
|
||||||
|
|
||||||
|
, SUM(CASE WHEN bb.site_id_cd = '10' THEN 1 ELSE 0 END) AS QESTNR_ID_10_CNT
|
||||||
|
, SUM(CASE WHEN bb.site_id_cd = '20' THEN 1 ELSE 0 END) AS QESTNR_ID_20_CNT
|
||||||
|
, SUM(CASE WHEN bb.site_id_cd = '30' THEN 1 ELSE 0 END) AS QESTNR_ID_30_CNT
|
||||||
|
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
a.EDU_APLCT_ORD ,
|
||||||
|
a.prcs_ord,
|
||||||
|
b.QUSTNR_TMPLAT_ID ,
|
||||||
|
b.QESTNR_ID
|
||||||
|
, a.user_id
|
||||||
|
|
||||||
|
FROM
|
||||||
|
ve_edu_aplct a ,
|
||||||
|
LETTNQESTNRRSLTDETAIL b
|
||||||
|
WHERE
|
||||||
|
1 = 1
|
||||||
|
AND a.edu_aplct_ord = b.edu_aplct_ord
|
||||||
|
AND (b.EDU_CHASI_ORD IS NULL or b.EDU_CHASI_ORD = '')
|
||||||
|
AND a.user_id=#userId#
|
||||||
|
|
||||||
|
)aa
|
||||||
|
, lettnqestnrinfo bb
|
||||||
|
WHERE aa.qustnr_tmplat_id=bb.qustnr_tmplat_id
|
||||||
|
AND aa.qestnr_id=bb.qestnr_id
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
aa.EDU_APLCT_ORD ,
|
||||||
|
aa.prcs_ord,
|
||||||
|
aa.QUSTNR_TMPLAT_ID ,
|
||||||
|
aa.user_id
|
||||||
|
|
||||||
|
) qustnr01
|
||||||
|
on(
|
||||||
|
|
||||||
|
a.edu_aplct_ord = qustnr01.edu_Aplct_Ord
|
||||||
|
AND a.PRCS_ORD = qustnr01.prcs_Ord
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
LEFT OUTER JOIN (
|
||||||
|
/* 현재 진행가능한 설문 정보(기본, 선생님, 강사) 여러개가 있는 경우는 최근 등록된 설문 정보를 가져온다.*/
|
||||||
|
SELECT
|
||||||
|
a.QUSTNR_TMPLAT_ID ,
|
||||||
|
a.SITE_ID ,
|
||||||
|
/*
|
||||||
|
(CASE WHEN a.STTUS = '1' THEN a.QESTNR_ID END) AS QESTNR_ID_10
|
||||||
|
*/
|
||||||
|
(CASE WHEN a.STTUS = '1' THEN a.QESTNR_ID ELSE a.QESTNR_ID END) AS QESTNR_ID_10
|
||||||
|
FROM
|
||||||
|
LETTNQESTNRINFO a
|
||||||
|
WHERE
|
||||||
|
a.SITE_ID = #siteId#
|
||||||
|
/*
|
||||||
|
AND a.SITE_ID_CD IN ('10')
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
AND a.STTUS IN ('1')
|
||||||
|
*/
|
||||||
|
AND TO_CHAR(NOW(),
|
||||||
|
'YYYY.MM.DD') BETWEEN COALESCE(a.qustnr_bgnde,
|
||||||
|
'2000.01.01')
|
||||||
|
AND COALESCE(a.qustnr_endde,
|
||||||
|
'9999.12.31')
|
||||||
|
ORDER BY coalesce(a.qustnr_bgnde,'9999.12.31')
|
||||||
|
LIMIT 1
|
||||||
|
) I10 ON
|
||||||
|
(1 = 1)
|
||||||
|
|
||||||
|
LEFT OUTER JOIN (
|
||||||
|
/* 현재 진행가능한 설문 정보(기본, 선생님, 강사) 여러개가 있는 경우는 최근 등록된 설문 정보를 가져온다.*/
|
||||||
|
SELECT
|
||||||
|
a.QUSTNR_TMPLAT_ID ,
|
||||||
|
a.SITE_ID ,
|
||||||
|
/*
|
||||||
|
(CASE WHEN a.STTUS = '1' THEN a.QESTNR_ID END) AS QESTNR_ID_20
|
||||||
|
*/
|
||||||
|
(CASE WHEN a.STTUS = '1' THEN a.QESTNR_ID ELSE a.QESTNR_ID END) AS QESTNR_ID_20
|
||||||
|
|
||||||
|
FROM
|
||||||
|
LETTNQESTNRINFO a
|
||||||
|
WHERE
|
||||||
|
a.SITE_ID = #siteId#
|
||||||
|
/*
|
||||||
|
AND a.SITE_ID_CD IN ('20')
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
AND a.STTUS IN ('1')
|
||||||
|
*/
|
||||||
|
AND TO_CHAR(NOW(),
|
||||||
|
'YYYY.MM.DD') BETWEEN COALESCE(a.qustnr_bgnde,
|
||||||
|
'2000.01.01')
|
||||||
|
AND COALESCE(a.qustnr_endde,
|
||||||
|
'9999.12.31')
|
||||||
|
ORDER BY coalesce(a.qustnr_bgnde,'9999.12.31')
|
||||||
|
LIMIT 1
|
||||||
|
) I20 ON
|
||||||
|
(1 = 1)
|
||||||
|
|
||||||
|
LEFT OUTER JOIN (
|
||||||
|
/* 현재 진행가능한 설문 정보(기본, 선생님, 강사) 여러개가 있는 경우는 최근 등록된 설문 정보를 가져온다.*/
|
||||||
|
SELECT
|
||||||
|
a.QUSTNR_TMPLAT_ID ,
|
||||||
|
a.SITE_ID ,
|
||||||
|
/*
|
||||||
|
(CASE WHEN a.STTUS = '1' THEN a.QESTNR_ID END) AS QESTNR_ID_30
|
||||||
|
*/
|
||||||
|
(CASE WHEN a.STTUS = '1' THEN a.QESTNR_ID ELSE a.QESTNR_ID END) AS QESTNR_ID_30
|
||||||
|
|
||||||
|
FROM
|
||||||
|
LETTNQESTNRINFO a
|
||||||
|
WHERE
|
||||||
|
a.SITE_ID = #siteId#
|
||||||
|
/*
|
||||||
|
AND a.SITE_ID_CD IN ('30')
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
AND a.STTUS IN ('1')
|
||||||
|
*/
|
||||||
|
AND TO_CHAR(NOW(),
|
||||||
|
'YYYY.MM.DD') BETWEEN COALESCE(a.qustnr_bgnde,
|
||||||
|
'2000.01.01')
|
||||||
|
AND COALESCE(a.qustnr_endde,
|
||||||
|
'9999.12.31')
|
||||||
|
|
||||||
|
ORDER BY coalesce(a.qustnr_bgnde,'9999.12.31')
|
||||||
|
LIMIT 1
|
||||||
|
|
||||||
|
) I30 ON
|
||||||
|
(1 = 1)
|
||||||
|
|
||||||
|
where
|
||||||
|
a.user_id = #userId#
|
||||||
|
|
||||||
|
<isNotEmpty property="searchStartDt">
|
||||||
|
AND vpap.edu_strt_pnttm <![CDATA[ >= ]]> #searchStartDt#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchEndDt">
|
||||||
|
AND vpap.edu_strt_pnttm <![CDATA[ <= ]]> #searchEndDt#
|
||||||
|
</isNotEmpty>
|
||||||
|
<isEqual property="searchStatus" compareValue="5"> /*VEA003 미이수 : 수강중 강의*/
|
||||||
|
AND vadi.aplct_state_cd = '10'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchStatus" compareValue="30"> /*취소 : 취소*/
|
||||||
|
AND vadi.aplct_state_cd = #searchStatus#
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchStatus" compareValue="20"> /*이수완료 : 종료 강의*/
|
||||||
|
AND vadi.aplct_state_cd is not null
|
||||||
|
AND a.aprvl_cd = #searchStatus#
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchStatus" compareValue="15"> /*수강중 강의*/
|
||||||
|
AND vadi.aplct_state_cd is null
|
||||||
|
AND a.aprvl_cd = '20'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchStatus" compareValue="10"> /*요청 : 요청 강의*/
|
||||||
|
AND a.aprvl_cd = #searchStatus#
|
||||||
|
</isEqual>
|
||||||
|
|
||||||
|
ORDER BY vpap.edu_strt_pnttm desc
|
||||||
|
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
|
|||||||
@ -595,7 +595,6 @@
|
|||||||
/* 신청 후 취소 */
|
/* 신청 후 취소 */
|
||||||
, user_id = NULL
|
, user_id = NULL
|
||||||
, edu_aplct_ord = NULL
|
, edu_aplct_ord = NULL
|
||||||
, edu_state_cd = '10'
|
|
||||||
, prcs_aplct_prd_ord_cmplt = NULL
|
, prcs_aplct_prd_ord_cmplt = NULL
|
||||||
</isEqual>
|
</isEqual>
|
||||||
|
|
||||||
@ -603,7 +602,6 @@
|
|||||||
/* 신청 후 반려 */
|
/* 신청 후 반려 */
|
||||||
, user_id = NULL
|
, user_id = NULL
|
||||||
, edu_aplct_ord = NULL
|
, edu_aplct_ord = NULL
|
||||||
, edu_state_cd = '10'
|
|
||||||
, prcs_aplct_prd_ord_cmplt = NULL
|
, prcs_aplct_prd_ord_cmplt = NULL
|
||||||
</isEqual>
|
</isEqual>
|
||||||
|
|
||||||
@ -622,6 +620,7 @@
|
|||||||
<isEqual property="reqNo" compareValue="6-2">
|
<isEqual property="reqNo" compareValue="6-2">
|
||||||
/* 취소 신청 승은(교육중단) edu_state_cd=60,req_state_cd=40 */
|
/* 취소 신청 승은(교육중단) edu_state_cd=60,req_state_cd=40 */
|
||||||
, edu_state_cd = '60'
|
, edu_state_cd = '60'
|
||||||
|
, req_state_cd = '35'
|
||||||
/* , req_state_cd = '40' 의뢰상태는 교육의 취소, 확정과 관계없이 대상자의 의뢰 상태를 변경 하는것 이므로 여기서는 제외한다. */
|
/* , req_state_cd = '40' 의뢰상태는 교육의 취소, 확정과 관계없이 대상자의 의뢰 상태를 변경 하는것 이므로 여기서는 제외한다. */
|
||||||
</isEqual>
|
</isEqual>
|
||||||
WHERE
|
WHERE
|
||||||
@ -642,12 +641,18 @@
|
|||||||
|
|
||||||
</isEqual>
|
</isEqual>
|
||||||
|
|
||||||
<isEqual property="reqNo" compareValue="4">
|
<isEqual property="reqNo" compareValue="6-2">
|
||||||
/* 신청 후 관리자 반려 aplct_state_cd=50 */
|
/* 신청 후 관리자 반려 aplct_state_cd=50 */
|
||||||
, aplct_state_cd = '50'
|
, aplct_state_cd = '60'
|
||||||
|
|
||||||
</isEqual>
|
</isEqual>
|
||||||
|
|
||||||
|
<isEqual property="reqNo" compareValue="6-3">
|
||||||
|
/* 취소 신청 후 관리자 반려 aplct_state_cd=null */
|
||||||
|
, aplct_state_cd = null
|
||||||
|
|
||||||
|
</isEqual>
|
||||||
|
|
||||||
WHERE
|
WHERE
|
||||||
edu_aplct_ord = #eduAplctOrd#
|
edu_aplct_ord = #eduAplctOrd#
|
||||||
</update>
|
</update>
|
||||||
|
|||||||
@ -85,6 +85,10 @@ $( document ).ready(function(){
|
|||||||
$('#userWork_case2').hide();
|
$('#userWork_case2').hide();
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
<c:if test="${message != null}">
|
||||||
|
alert("<c:out value='${message}' />");
|
||||||
|
</c:if>
|
||||||
});
|
});
|
||||||
|
|
||||||
function setOrgDepth_01(){
|
function setOrgDepth_01(){
|
||||||
|
|||||||
@ -174,11 +174,11 @@ function bbsMasterExcelDownload(){
|
|||||||
|
|
||||||
<input type="text" id="searchWrd" name="searchWrd" value="<c:out value='${searchVO.searchWrd}'/>" class="search_input" placeholder="검색어를 입력하세요" onkeyDown="press(event);">
|
<input type="text" id="searchWrd" name="searchWrd" value="<c:out value='${searchVO.searchWrd}'/>" class="search_input" placeholder="검색어를 입력하세요" onkeyDown="press(event);">
|
||||||
<button class="btn_search" onclick="javascript:linkPage('1'); return false;">검색</button>
|
<button class="btn_search" onclick="javascript:linkPage('1'); return false;">검색</button>
|
||||||
<c:if test="${bbsAttrMngAuth}">
|
<%-- <c:if test="${bbsAttrMngAuth}">
|
||||||
<input type="checkbox" name="useAt" id="useAt" value="N" onclick="javascript:linkPage('1'); return false;"
|
<input type="checkbox" name="useAt" id="useAt" value="N" onclick="javascript:linkPage('1'); return false;"
|
||||||
<c:if test="${'N' eq searchVO.useAt}"> checked='checked' </c:if> >
|
<c:if test="${'N' eq searchVO.useAt}"> checked='checked' </c:if> >
|
||||||
<label for="useAt"></label>미사용
|
<label for="useAt"></label>미사용
|
||||||
</c:if>
|
</c:if> --%>
|
||||||
<select class="sel2 sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
|
<select class="sel2 sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
|
||||||
<option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
<option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||||
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||||
|
|||||||
@ -845,37 +845,37 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${list.aprvlCd eq '35'}"><!-- 취소 요청 -->
|
<c:when test="${list.aplctStateCd eq '35'}"><!-- 취소 요청 -->
|
||||||
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
|
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
|
||||||
<button type="button" class="btn_type04" onclick="fncCancelUser('${list.eduAplctOrd}', '${info.prcsAplctPrdOrd}', '6-2')">취소승인</button>
|
<button type="button" class="btn_type04" onclick="fncCancelUser('${list.eduAplctOrd}', '${info.prcsAplctPrdOrd}', '6-2')">취소승인</button>
|
||||||
<button type="button" class="btn_type05" onclick="fncCancelUser('${list.eduAplctOrd}', '${info.prcsAplctPrdOrd}', '6-3')">취소반려</button>
|
<button type="button" class="btn_type05" onclick="fncCancelUser('${list.eduAplctOrd}', '${info.prcsAplctPrdOrd}', '6-3')">취소반려</button>
|
||||||
<br/>
|
<br/>
|
||||||
<br/>
|
<br/>
|
||||||
${list.aplctCn}
|
${list.cnclCn}
|
||||||
<br/>
|
<br/>
|
||||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||||
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />
|
<c:param name="param_atchFileId" value="${list.cnclAtchFileId}" />
|
||||||
</c:import>
|
</c:import>
|
||||||
|
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:when test="${list.aprvlCd eq '40'}"><!-- 취소 승인 -->
|
<c:when test="${list.aplctStateCd eq '60' and not empty list.cnclCn}"><!-- 취소 승인 -->
|
||||||
취소승인
|
취소승인
|
||||||
<br/>
|
<br/>
|
||||||
<br/>
|
<br/>
|
||||||
${list.aplctCn}
|
${list.cnclCn}
|
||||||
<br/>
|
<br/>
|
||||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||||
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />
|
<c:param name="param_atchFileId" value="${list.cnclAtchFileId}" />
|
||||||
</c:import>
|
</c:import>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:when test="${list.aprvlCd eq '60' and not empty list.aplctCn}"><!-- 취소정보가 있는데 60이면 취소 반려 처리 -->
|
<c:when test="${list.aplctStateCd ne '60' and not empty list.cnclCn}"><!-- 취소정보가 있는데 60이면 취소 반려 처리 -->
|
||||||
취소반려
|
취소반려
|
||||||
<br/>
|
<br/>
|
||||||
<br/>
|
<br/>
|
||||||
${list.aplctCn}
|
${list.cnclCn}
|
||||||
<br/>
|
<br/>
|
||||||
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||||
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />
|
<c:param name="param_atchFileId" value="${list.cnclAtchFileId}" />
|
||||||
</c:import>
|
</c:import>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
@ -961,7 +961,8 @@
|
|||||||
<button type="button" class="btn_type04" onclick="fn_statusChgList('20', '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">이수</button>
|
<button type="button" class="btn_type04" onclick="fn_statusChgList('20', '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">이수</button>
|
||||||
<button type="button" class="btn_type04" onclick="fn_statusChgList('10', '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">미이수</button>
|
<button type="button" class="btn_type04" onclick="fn_statusChgList('10', '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">미이수</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
<div class="tb_tit01">
|
<div class="tb_tit01">
|
||||||
@ -1015,6 +1016,227 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 문항리스트_상세 -->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>교육 내용에 대한 전반적 만족도 평가</p>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="tb_type01"> -->
|
||||||
|
<!-- <table> -->
|
||||||
|
<%-- <c:if test="${!empty chasiSrvyList}"> --%>
|
||||||
|
<%-- <colgroup> --%>
|
||||||
|
<%-- <col style="width: 120px;"> --%>
|
||||||
|
<%-- <col style="width: auto;"> --%>
|
||||||
|
<%-- <col style="width: 120px;"> --%>
|
||||||
|
<%-- <col style="width: auto;"> --%>
|
||||||
|
<%-- </colgroup> --%>
|
||||||
|
<!-- <tbody class="ta_con"> -->
|
||||||
|
<!-- <tr> -->
|
||||||
|
<!-- <th scope="row"> -->
|
||||||
|
<!-- <p>참석자</p> -->
|
||||||
|
<!-- </th> -->
|
||||||
|
<!-- <td> -->
|
||||||
|
<%-- <input type="hidden" class="popupInput" id="qestnrParticipant" name="qestnrParticipant" value="<c:out value="${qestnrParticipant}"/>"> --%>
|
||||||
|
<%-- <c:out value="${qestnrParticipant}"/> --%>
|
||||||
|
<!-- </td> -->
|
||||||
|
<!-- <th scope="row"> -->
|
||||||
|
<!-- <p>응답율</p> -->
|
||||||
|
<!-- </th> -->
|
||||||
|
<!-- <td id="responseRate">-</td> -->
|
||||||
|
<!-- </tr> -->
|
||||||
|
<!-- <tr> -->
|
||||||
|
<!-- <th scope="row"> -->
|
||||||
|
<!-- <p>응답자</p> -->
|
||||||
|
<!-- </th> -->
|
||||||
|
<!-- <td> -->
|
||||||
|
<%-- <input type="hidden" class="popupInput" id="qestnrRespondent" name="qestnrRespondent" value="<c:out value="${qestnrRespondent}"/>"> --%>
|
||||||
|
<%-- <c:out value="${qestnrRespondent}"/> --%>
|
||||||
|
<!-- </td> -->
|
||||||
|
<!-- <th scope="row"> -->
|
||||||
|
<!-- <p>무응답</p> -->
|
||||||
|
<!-- </th> -->
|
||||||
|
<!-- <td id="noResponse">-</td> -->
|
||||||
|
<!-- </tr> -->
|
||||||
|
<!-- </tbody> -->
|
||||||
|
<%-- </c:if> --%>
|
||||||
|
<%-- <c:if test="${empty chasiSrvyList}"> --%>
|
||||||
|
<!-- <tr> -->
|
||||||
|
<!-- <td colspan="2">등록된 평가문항이 없습니다.</td> -->
|
||||||
|
<!-- </tr> -->
|
||||||
|
<%-- </c:if> --%>
|
||||||
|
<!-- </table> -->
|
||||||
|
<!-- </div> -->
|
||||||
|
<c:if test="${!empty chasiSrvyList}">
|
||||||
|
<div class="tb_type01 list2">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 12%;">
|
||||||
|
<col style="width: 12%;">
|
||||||
|
<col style="width: 12%;">
|
||||||
|
<col style="width: 12%;">
|
||||||
|
<col style="width: 12%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">평가문항</th>
|
||||||
|
<th scope="col">매우만족</th>
|
||||||
|
<th scope="col">만족</th>
|
||||||
|
<th scope="col">보통</th>
|
||||||
|
<th scope="col">불만족</th>
|
||||||
|
<th scope="col">매우불만족</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach items="${Comtnqustnrqesitm}" var="QestmInfo" varStatus="status1">
|
||||||
|
<c:forEach items="${chasiSrvyList}" var="chasiSrvyInfo" varStatus="">
|
||||||
|
<c:if test="${QestmInfo.qestnrQesitmId eq chasiSrvyInfo.qestnrQesitmId}">
|
||||||
|
<tr>
|
||||||
|
<th scope="row" class="t_left">
|
||||||
|
${status1.count}) <c:out value="${QestmInfo.qestnCn}" escapeXml="true" />
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${chasiSrvyInfo.verySatisfied}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${chasiSrvyInfo.satisfied}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${chasiSrvyInfo.neither}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${chasiSrvyInfo.dissatisfied}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${chasiSrvyInfo.veryDissatisfied}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:if>
|
||||||
|
</c:forEach>
|
||||||
|
</c:forEach>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 기타의견이 있으면 보여준다. -->
|
||||||
|
<c:if test="${not empty subjInfo}">
|
||||||
|
<div class="tb_type01 list2">
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<caption>기타의견</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="auto;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">기타의견</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<br/>
|
||||||
|
<c:out value="${fn:replace(subjInfo.qustnrCn , crlf , '<br/>')}" escapeXml="false" />
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
<!--
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
<c:if test="${!empty chasiSrvyList}">
|
||||||
|
<button class="btn_type02" onclick="fncExcelDown(); return false;">엑셀 다운로드</button>
|
||||||
|
</c:if>
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<c:choose>
|
||||||
|
<%-- <c:when test="${chasiSrvyList[0].neither ne '' and chasiSrvyList[0].neither ne null}"> --%>
|
||||||
|
<c:when test="${qestnrParticipant ne '' and qestnrParticipant ne null}">
|
||||||
|
|
||||||
|
<div class="btn_wrap">
|
||||||
|
<div class="btn_right">
|
||||||
|
|
||||||
|
<c:forEach var="list" items="${chasiQr}" varStatus="status">
|
||||||
|
|
||||||
|
<c:choose>
|
||||||
|
|
||||||
|
<c:when test="${not empty list.qestnrId10}">
|
||||||
|
|
||||||
|
<button type="button" class="btn_type04" data-info="${list.eduChasiOrd}" data-tooltip="sub37_pop20"
|
||||||
|
onclick="fn_chasiQRPop('${list.eduAplctOrd}','${list.eduChasiOrd}','10','print'
|
||||||
|
,'${list.qustnrTmplatId}','${list.qestnrId10}','${list.qustnrRespondId10}'
|
||||||
|
)" title="팝업 열림">설문QR</button>
|
||||||
|
</c:when>
|
||||||
|
|
||||||
|
<c:otherwise>
|
||||||
|
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
|
||||||
|
</c:forEach>
|
||||||
|
|
||||||
|
<button type="button" class="btn_type06" onclick="fn_chasiStatusPop(); return false;">수정</button>
|
||||||
|
<button type="button" class="btn_type01" onclick="fn_delete(); return false;">삭제</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<!-- 등록버튼 추가 필요 -->
|
||||||
|
<div class="btn_wrap">
|
||||||
|
<div class="btn_right">
|
||||||
|
|
||||||
|
<c:forEach var="list" items="${chasiQr}" varStatus="status">
|
||||||
|
|
||||||
|
<c:choose>
|
||||||
|
|
||||||
|
<c:when test="${not empty list.qestnrId10}">
|
||||||
|
|
||||||
|
<button type="button" class="btn_type04" data-info="${list.eduChasiOrd}" data-tooltip="sub37_pop20"
|
||||||
|
onclick="fn_chasiQRPop('${list.eduAplctOrd}','${list.eduChasiOrd}','10','print'
|
||||||
|
,'${list.qustnrTmplatId}','${list.qestnrId10}','${list.qustnrRespondId10}'
|
||||||
|
)" title="팝업 열림">설문QR</button>
|
||||||
|
</c:when>
|
||||||
|
|
||||||
|
<c:otherwise>
|
||||||
|
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
|
||||||
|
</c:forEach>
|
||||||
|
|
||||||
|
<!-- <button type="button" class="btn_type06" onclick="fn_chasiStatusPop(); return false;">등록</button> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -0,0 +1,249 @@
|
|||||||
|
<!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="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"%>
|
||||||
|
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : instrActvtHstrySignMngList.jsp
|
||||||
|
* @Description : 운영관리 > 직인대장관리
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2022.12.7 안주영 최초 생성
|
||||||
|
* @author 안주영
|
||||||
|
* @since 2022.2.7
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<style>
|
||||||
|
input:read-only{
|
||||||
|
background-color: #ededed;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
function press(event) {
|
||||||
|
if (event.keyCode==13) {
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.pageIndex.value = pageNo ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/instrActvtHstrySignAndCmpltCrtfcMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
// function fn_goDetail(instrDetailActvtHstryOrd){
|
||||||
|
// var form = document.detailForm;
|
||||||
|
// form.instrDetailActvtHstryOrd.value = instrDetailActvtHstryOrd ;
|
||||||
|
// form.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngDetail.do'/>";
|
||||||
|
// form.submit();
|
||||||
|
// }
|
||||||
|
|
||||||
|
function fncReset(thisObj){
|
||||||
|
var targetObj = $(thisObj).closest('.list_top').find('select,input');
|
||||||
|
$.each(targetObj, function(){
|
||||||
|
if($(this).prop('tagName') == 'SELECT'){
|
||||||
|
if($(this).attr('name').indexOf('Month') != -1){
|
||||||
|
$(this).val(new Date().getMonth()+1);
|
||||||
|
}else if($(this).attr('name').indexOf('Year') != -1){
|
||||||
|
$(this).val(new Date().getFullYear());
|
||||||
|
}else{
|
||||||
|
$(this).prop("selectedIndex", 0);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$(this).val('');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<title>직인대장관리(이수증)</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="detailForm" name="detailForm" method="post">
|
||||||
|
<input type="hidden" name="instrDetailActvtHstryOrd" id="instrDetailActvtHstryOrd" value=""/>
|
||||||
|
</form>
|
||||||
|
<form id="listForm" name="listForm" method="post">
|
||||||
|
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrActvtHstryVO.pageIndex}' default='1' />"/>
|
||||||
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEInstrActvtHstryVO.searchSortCnd}" />" />
|
||||||
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEInstrActvtHstryVO.searchSortOrd}" />" />
|
||||||
|
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>직인대장관리(이수증) 목록</h2>
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
|
<li>
|
||||||
|
<p>운영관리</p>
|
||||||
|
</li>
|
||||||
|
<li><span class="cur_nav">직인대장관리(이수증)</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top">
|
||||||
|
<!--
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>구분</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<ve:select codeId="VEA011" name="searchSelStatus" id="searchSelStatus" css="class='sel_type1'"
|
||||||
|
selectedValue="${vEInstrActvtHstryVO.searchSelStatus}" defaultValue=''
|
||||||
|
defaultText='전체'
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
-->
|
||||||
|
<div class="list_top_2">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>발급일자</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="시작일 선택" id="searchStartDt" name="searchStartDt" value="<c:out value='${vEInstrActvtHstryVO.searchStartDt}'/>">
|
||||||
|
</div>
|
||||||
|
~
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="종료일 선택" id="searchEndDt" name="searchEndDt" value="<c:out value='${vEInstrActvtHstryVO.searchEndDt}'/>">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="list_top_2">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>성명</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<input type="text" id=searchKeyword name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${vEInstrActvtHstryVO.searchKeyword}'/>" onkeyDown="press(event);">
|
||||||
|
<button class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||||
|
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<!-- list util -->
|
||||||
|
<div class="list_util">
|
||||||
|
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||||
|
<div>
|
||||||
|
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
|
||||||
|
<option value='10' <c:if test="${vEInstrActvtHstryVO.pageUnit == '10' or vEInstrActvtHstryVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||||
|
<option value='20' <c:if test="${vEInstrActvtHstryVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||||
|
<option value='30' <c:if test="${vEInstrActvtHstryVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||||
|
<option value='100' <c:if test="${vEInstrActvtHstryVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 60px;">
|
||||||
|
<col style="width: 150px;">
|
||||||
|
<col style="width: 120px;">
|
||||||
|
<col style="width: 120px;">
|
||||||
|
<col style="width: 120px;">
|
||||||
|
<col style="width: 120px;">
|
||||||
|
<col style="width: 120px;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>번호</th>
|
||||||
|
<th>항목</th>
|
||||||
|
<th>문서번호</th>
|
||||||
|
<th>과정명</th>
|
||||||
|
<th>교육일시</th>
|
||||||
|
<th>성명</th>
|
||||||
|
<th>발급일자</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach var="list" items="${list}" varStatus="status">
|
||||||
|
<%-- <tr onclick="fn_goDetail('${list.instrDetailActvtHstryOrd}')" style="cursor:pointer;"> --%>
|
||||||
|
<!-- VE0011 -->
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VE0011" code="${list.lctrDivCd }"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:if test="${list.lctrDivCd eq '50'}">실무역량-</c:if>
|
||||||
|
<c:if test="${list.lctrDivCd eq '60'}">기소유예-</c:if>
|
||||||
|
<c:out value="${list.eduCmpltCrtfcNmbr }" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.prcsNm }" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.eduStrtPnttm }" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.mberNm }" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.lastUpdtPnttm }" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${empty list}">
|
||||||
|
<tr><td colspan="7"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
|
</c:if>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list -->
|
||||||
|
<!-- page -->
|
||||||
|
<div class="page">
|
||||||
|
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||||
|
</div>
|
||||||
|
<!-- //page -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //cont -->
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,249 @@
|
|||||||
|
<!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="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"%>
|
||||||
|
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : instrActvtHstrySignMngList.jsp
|
||||||
|
* @Description : 운영관리 > 직인대장관리
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2022.12.7 안주영 최초 생성
|
||||||
|
* @author 안주영
|
||||||
|
* @since 2022.2.7
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<style>
|
||||||
|
input:read-only{
|
||||||
|
background-color: #ededed;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
function press(event) {
|
||||||
|
if (event.keyCode==13) {
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.pageIndex.value = pageNo ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/instrActvtHstrySignAndCmpltCrtfcMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
// function fn_goDetail(instrDetailActvtHstryOrd){
|
||||||
|
// var form = document.detailForm;
|
||||||
|
// form.instrDetailActvtHstryOrd.value = instrDetailActvtHstryOrd ;
|
||||||
|
// form.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngDetail.do'/>";
|
||||||
|
// form.submit();
|
||||||
|
// }
|
||||||
|
|
||||||
|
function fncReset(thisObj){
|
||||||
|
var targetObj = $(thisObj).closest('.list_top').find('select,input');
|
||||||
|
$.each(targetObj, function(){
|
||||||
|
if($(this).prop('tagName') == 'SELECT'){
|
||||||
|
if($(this).attr('name').indexOf('Month') != -1){
|
||||||
|
$(this).val(new Date().getMonth()+1);
|
||||||
|
}else if($(this).attr('name').indexOf('Year') != -1){
|
||||||
|
$(this).val(new Date().getFullYear());
|
||||||
|
}else{
|
||||||
|
$(this).prop("selectedIndex", 0);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$(this).val('');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<title>직인대장관리(이수증)</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="detailForm" name="detailForm" method="post">
|
||||||
|
<input type="hidden" name="instrDetailActvtHstryOrd" id="instrDetailActvtHstryOrd" value=""/>
|
||||||
|
</form>
|
||||||
|
<form id="listForm" name="listForm" method="post">
|
||||||
|
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrActvtHstryVO.pageIndex}' default='1' />"/>
|
||||||
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEInstrActvtHstryVO.searchSortCnd}" />" />
|
||||||
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEInstrActvtHstryVO.searchSortOrd}" />" />
|
||||||
|
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>직인대장관리(이수증) 목록</h2>
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
|
<li>
|
||||||
|
<p>운영관리</p>
|
||||||
|
</li>
|
||||||
|
<li><span class="cur_nav">직인대장관리(이수증)</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top">
|
||||||
|
<!--
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>구분</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<ve:select codeId="VEA011" name="searchSelStatus" id="searchSelStatus" css="class='sel_type1'"
|
||||||
|
selectedValue="${vEInstrActvtHstryVO.searchSelStatus}" defaultValue=''
|
||||||
|
defaultText='전체'
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
-->
|
||||||
|
<div class="list_top_2">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>발급일자</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="시작일 선택" id="searchStartDt" name="searchStartDt" value="<c:out value='${vEInstrActvtHstryVO.searchStartDt}'/>">
|
||||||
|
</div>
|
||||||
|
~
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="종료일 선택" id="searchEndDt" name="searchEndDt" value="<c:out value='${vEInstrActvtHstryVO.searchEndDt}'/>">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="list_top_2">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>성명</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<input type="text" id=searchKeyword name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${vEInstrActvtHstryVO.searchKeyword}'/>" onkeyDown="press(event);">
|
||||||
|
<button class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||||
|
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<!-- list util -->
|
||||||
|
<div class="list_util">
|
||||||
|
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||||
|
<div>
|
||||||
|
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
|
||||||
|
<option value='10' <c:if test="${vEInstrActvtHstryVO.pageUnit == '10' or vEInstrActvtHstryVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||||
|
<option value='20' <c:if test="${vEInstrActvtHstryVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||||
|
<option value='30' <c:if test="${vEInstrActvtHstryVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||||
|
<option value='100' <c:if test="${vEInstrActvtHstryVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 60px;">
|
||||||
|
<col style="width: 150px;">
|
||||||
|
<col style="width: 120px;">
|
||||||
|
<col style="width: 120px;">
|
||||||
|
<col style="width: 120px;">
|
||||||
|
<col style="width: 120px;">
|
||||||
|
<col style="width: 120px;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>번호</th>
|
||||||
|
<th>항목</th>
|
||||||
|
<th>문서번호</th>
|
||||||
|
<th>과정명</th>
|
||||||
|
<th>교육일시</th>
|
||||||
|
<th>성명</th>
|
||||||
|
<th>발급일자</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach var="list" items="${list}" varStatus="status">
|
||||||
|
<%-- <tr onclick="fn_goDetail('${list.instrDetailActvtHstryOrd}')" style="cursor:pointer;"> --%>
|
||||||
|
<!-- VE0011 -->
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VE0011" code="${list.lctrDivCd }"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:if test="${list.lctrDivCd eq '50'}">실무역량-</c:if>
|
||||||
|
<c:if test="${list.lctrDivCd eq '60'}">기소유예-</c:if>
|
||||||
|
<c:out value="${list.eduCmpltCrtfcNmbr }" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.prcsNm }" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.eduStrtPnttm }" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.mberNm }" />
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.lastUpdtPnttm }" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${empty list}">
|
||||||
|
<tr><td colspan="7"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
|
</c:if>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list -->
|
||||||
|
<!-- page -->
|
||||||
|
<div class="page">
|
||||||
|
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||||
|
</div>
|
||||||
|
<!-- //page -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //cont -->
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -1220,21 +1220,20 @@
|
|||||||
|
|
||||||
|
|
||||||
<!-- list util -->
|
<!-- list util -->
|
||||||
<div class="list_util">
|
|
||||||
<!--
|
<!--
|
||||||
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
<div class="list_util">
|
||||||
-->
|
|
||||||
<p class="list_util_p">
|
<p class="list_util_p">
|
||||||
⑦월별 교육차시별 차시명, 이수, 미이수, 연기인원 통계
|
⑦월별 교육차시별 차시명, 이수, 미이수, 연기인원 통계
|
||||||
</p>
|
</p>
|
||||||
<div>
|
<div>
|
||||||
<!-- <button type="button" class="btn_down_excel" onclick="excelDownLoadArea();">엑셀 다운로드(강의지역)</button> -->
|
|
||||||
<button type="button" class="btn_down_excel" onclick="excelDownLoad_no7();">엑셀 다운로드</button>
|
<button type="button" class="btn_down_excel" onclick="excelDownLoad_no7();">엑셀 다운로드</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
-->
|
||||||
|
|
||||||
<!-- list -->
|
<!-- list -->
|
||||||
|
<!--
|
||||||
<div class="tb_type01">
|
<div class="tb_type01">
|
||||||
<table>
|
<table>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
@ -1248,7 +1247,6 @@
|
|||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<!-- <th>대상</th> -->
|
|
||||||
<th></th>
|
<th></th>
|
||||||
<th>차시</th>
|
<th>차시</th>
|
||||||
<th>이수인원</th>
|
<th>이수인원</th>
|
||||||
@ -1260,18 +1258,6 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<c:forEach var="list" items="${list_no7}" varStatus="status">
|
<c:forEach var="list" items="${list_no7}" varStatus="status">
|
||||||
<tr>
|
<tr>
|
||||||
<!--
|
|
||||||
<td>
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${list.divCd eq title1}">
|
|
||||||
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>
|
|
||||||
<c:out value="${list.divCd}"/>
|
|
||||||
</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
</td>
|
|
||||||
-->
|
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${list.codeNm eq '13'}">
|
<c:when test="${list.codeNm eq '13'}">
|
||||||
<td>합계</td>
|
<td>합계</td>
|
||||||
@ -1305,9 +1291,9 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
-->
|
||||||
<!-- //list -->
|
<!-- //list -->
|
||||||
|
|
||||||
|
|
||||||
</c:if>
|
</c:if>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
1305
src/main/webapp/WEB-INF/jsp/oprtn/prevent/newEduPrfrmMngList.jsp
Normal file
1305
src/main/webapp/WEB-INF/jsp/oprtn/prevent/newEduPrfrmMngList.jsp
Normal file
File diff suppressed because it is too large
Load Diff
@ -563,8 +563,11 @@
|
|||||||
<th scope="row">상태</th>
|
<th scope="row">상태</th>
|
||||||
<td class="ddlnCdStts">
|
<td class="ddlnCdStts">
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${not empty info.aprvlCd}">
|
<c:when test="${not empty prcsAplctVO.aprvlCd}">
|
||||||
<kc:code codeId="VE0003" code="${info.aprvlCd}"/>
|
<kc:code codeId="VE0003" code="${prcsAplctVO.aprvlCd}"/>
|
||||||
|
<c:if test="${prcsAplctVO.aprvlCd eq '60' and not empty prcsAplctVO.aplctStateCd}">
|
||||||
|
- <kc:code codeId="VEA003" code="${prcsAplctVO.aplctStateCd}"/>
|
||||||
|
</c:if>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
|
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
|
||||||
@ -608,8 +611,8 @@
|
|||||||
<button type="button" class="btn line red large" onclick="fncCancelUser('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '2-1')">교육취소</button>
|
<button type="button" class="btn line red large" onclick="fncCancelUser('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '2-1')">교육취소</button>
|
||||||
</c:if>
|
</c:if>
|
||||||
|
|
||||||
<c:if test="${prcsAplctVO.aprvlCd eq '60' and prcsAplctVO.ddlnCd eq '20'}">
|
<c:if test="${prcsAplctVO.aprvlCd eq '60' and prcsAplctVO.ddlnCd eq '20' and empty prcsAplctVO.aplctStateCd}">
|
||||||
<%-- <button type="button" class="btnType05" onclick="fncCancelStatusChange('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '6-1')">취소요청</button> --%>
|
<button type="button" class="btnType05" onclick="fncCancelStatusChange('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '6-1')">취소요청</button>
|
||||||
</c:if>
|
</c:if>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -12,7 +12,6 @@
|
|||||||
<title>교육신청 목록 > 기소유예 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템</title>
|
<title>교육신청 목록 > 기소유예 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템</title>
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
|
|
||||||
<link rel="stylesheet" href="/ipedu/visitEdu/adm/publish/css/reset.css">
|
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.duet-date__dialog-content,.duet-date__dialog{max-width:400px;width:364px;}
|
.duet-date__dialog-content,.duet-date__dialog{max-width:400px;width:364px;}
|
||||||
@ -270,7 +269,8 @@ $(document).ready(function(){
|
|||||||
ο 개인정보의 수집 이용 목적 : 교육 대상자 및 이수자 관리
|
ο 개인정보의 수집 이용 목적 : 교육 대상자 및 이수자 관리
|
||||||
ο 수집하는 개인정보 항목 : 성명, 생년월일, 휴대전화, 이메일
|
ο 수집하는 개인정보 항목 : 성명, 생년월일, 휴대전화, 이메일
|
||||||
ο 개인정보의 보유 및 이용기간 : 사업 종료시까지
|
ο 개인정보의 보유 및 이용기간 : 사업 종료시까지
|
||||||
ο 동의를 거부할 권리가 있다는 사실 및 동의 거부에 따른 불이익이 있는 경우에는 그 불이익의 내용 : 귀하의 개인정보 제공 및 동의를 거부할 권리가 있으며, 위 항목 동의 거부시 수강신청이 불가할 수 있음
|
ο 동의를 거부할 권리가 있다는 사실 및 동의 거부에 따른 불이익이 있는 경우에는 그 불이익의 내용 :
|
||||||
|
귀하의 개인정보 제공 및 동의를 거부할 권리가 있으며, 위 항목 동의 거부시 수강신청이 불가할 수 있음
|
||||||
</pre>
|
</pre>
|
||||||
<div class="pop_btn_wrap btn_layout01">
|
<div class="pop_btn_wrap btn_layout01">
|
||||||
<div class="btn_left">
|
<div class="btn_left">
|
||||||
|
|||||||
@ -0,0 +1,347 @@
|
|||||||
|
<%@ 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"%>
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : eduCancelPop.jsp
|
||||||
|
* @Description : 교육취소요청 팝업
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.08.09 김봉호 최초 생성
|
||||||
|
* @author 김봉호
|
||||||
|
* @since 2021.08.21
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<script type="text/javaScript" language="javascript">
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
//파일첨부관련 설정들===============================================
|
||||||
|
$(".btn_add_file").on('click', function(){
|
||||||
|
$("#file_temp").click();
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#limitcount").val("1");
|
||||||
|
|
||||||
|
//파일첨부관련 설정들===============================================
|
||||||
|
|
||||||
|
|
||||||
|
// 레이어팝업 포커싱 이동 수정
|
||||||
|
$(".tooltip-close").click(function(){
|
||||||
|
var activeTarget = $('[data-tooltip-con="sub35_pop03"]');
|
||||||
|
activeTarget.hide();
|
||||||
|
$('[data-tooltip="sub35_pop03"]').focus();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
$('#file_temp').change(function(e){
|
||||||
|
var objUpload = $(".upload_area");
|
||||||
|
var files = $('#file_temp')[0].files;
|
||||||
|
|
||||||
|
handleFileUpload(files,objUpload); //파일업로드
|
||||||
|
if($("#file_temp").length > 0){
|
||||||
|
$("#file_temp").val(""); //파일지우기
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
function fncPopClose(){
|
||||||
|
self.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncSave(flag){
|
||||||
|
/*
|
||||||
|
<!-- for validator #3 -->
|
||||||
|
*/
|
||||||
|
//if (!validateVEEduAplctVO(document.createForm)) return;
|
||||||
|
/*
|
||||||
|
<!-- for validator #3 -->
|
||||||
|
*/
|
||||||
|
//저장
|
||||||
|
|
||||||
|
|
||||||
|
if ($("#aprvlCn").val().length>300){
|
||||||
|
alert("취소사유는 300자까지만 가능합니다.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($("#aprvlCn").val().length<=0){
|
||||||
|
alert("취소사유는 반드시 넣어주세요.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//첨부파일 등록 처리
|
||||||
|
$('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가
|
||||||
|
$("#sbmtYn").val(flag);
|
||||||
|
//var data = new FormData(form);
|
||||||
|
var data = new FormData(document.getElementById("createForm"));
|
||||||
|
|
||||||
|
//첨부파일 등록 처리-step1
|
||||||
|
//if(!data.get("fileSize")){
|
||||||
|
/*
|
||||||
|
if($('#tbody_fiielist tr').length*1<=0){
|
||||||
|
alert("첨부파일을 등록해 주세요");
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
//첨부파일 등록 처리-step2
|
||||||
|
_fileForm2.forEach(function(obj, idx) {
|
||||||
|
if (obj) data.append("file"+idx, obj.fileObj);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// $("#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("취소요청 제출 하시겠습니까?\n관리자 승인 후 취소처리가됩니다.")){
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
enctype: 'multipart/form-data',
|
||||||
|
url: "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/popup/eduCancelPopupAjax.do",
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success: function (returnData, status) {
|
||||||
|
if(status == 'success'){
|
||||||
|
alert("등록 되었습니다.");
|
||||||
|
location.reload();
|
||||||
|
} else if(status== 'fail'){
|
||||||
|
alert("등록에 실패하였습니다.");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<form:form id="createForm" name="createForm" method="post" commandName="vEEduRprtVO" onsubmit="return false;">
|
||||||
|
<input type="hidden" name="eduAplctOrd" value="<c:out value="${vEInstrAsgnmVO.eduAplctOrd}" />" />
|
||||||
|
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEInstrAsgnmVO.eduChasiOrd}" />" />
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" value="<c:out value="${vEInstrAsgnmVO.prcsAplctPrdOrd}" />" />
|
||||||
|
<input type="hidden" id="userId" name="userId" value="<c:out value="${vEInstrAsgnmVO.userId}" />" />
|
||||||
|
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
|
||||||
|
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
|
||||||
|
<input type="hidden" name="allrowFileExtsn" value="JPG,PNG,JPEG" /><!-- 확장자 제한-->
|
||||||
|
|
||||||
|
<div class="popup_wrap popType03" tabindex="0" data-tooltip-con="sub35_pop03" data-focus="sub35_pop03" data-focus-prev="sub35_pop03_close">
|
||||||
|
<div class="popup_tit">
|
||||||
|
<p>취소요청</p><button class="btn_popup_close tooltip-close" data-focus="sub35_pop03_close" title="팝업 닫기"><i></i></button>
|
||||||
|
</div>
|
||||||
|
<div class="popup_cont">
|
||||||
|
<div class="pop_tb_type01">
|
||||||
|
<table>
|
||||||
|
<caption>첨부파일, 취소사유를 입력하는 표</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 120px;">
|
||||||
|
<col style="width: auto">
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<%-- <tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>첨부파일</p>
|
||||||
|
</th>
|
||||||
|
<td class="upload_area">
|
||||||
|
<div class="btn_wrap">
|
||||||
|
<button type="button" class="btnType01 btn_add_file">파일 찾기</button>
|
||||||
|
|
||||||
|
<!-- <p style="color:grey;padding:5px;">파일명은 <span style="color:red;font-weight:500">1기 홍길동 결과보고서(0328-0401)</span> 형태로 등록해주세요.</p> -->
|
||||||
|
|
||||||
|
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
||||||
|
</div>
|
||||||
|
<div class="file_wrap file_upload_box no_img_box">
|
||||||
|
<table>
|
||||||
|
<caption>첨부파일 리스트 : 파일명, 종류, 크기</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 15%;">
|
||||||
|
<col style="width: 15%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<th scope="col">파일 명</th>
|
||||||
|
<th scope="col">종류</th>
|
||||||
|
<th scope="col">크기</th>
|
||||||
|
</thead>
|
||||||
|
<tbody class="tb_file_before">
|
||||||
|
<tr>
|
||||||
|
<td colspan="3">
|
||||||
|
<p>첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="file_wrap fileAfter file_list_div" style="display: none;">
|
||||||
|
<table>
|
||||||
|
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 20%;">
|
||||||
|
<col style="width: 20%;">
|
||||||
|
<col style="width: 60px;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<th scope="col">파일 명</th>
|
||||||
|
<th scope="col">종류</th>
|
||||||
|
<th scope="col">크기</th>
|
||||||
|
<th scope="col">삭제</th>
|
||||||
|
</thead>
|
||||||
|
<tbody id="tbody_fiielist" class="tb_file_after">
|
||||||
|
<c:forEach var="fileList" items="${fileList}" varStatus="status">
|
||||||
|
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
|
||||||
|
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
|
||||||
|
<td class="td_filename">
|
||||||
|
<span class="file_name_text">${fileList.orignlFileNm}</span>
|
||||||
|
</td>
|
||||||
|
<td class="td_filesort">
|
||||||
|
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
|
||||||
|
</td>
|
||||||
|
<td class="td_filesize">
|
||||||
|
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btn_del" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"><i></i></button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="file_cf">
|
||||||
|
<div class="cf_left">
|
||||||
|
<p>최대 <span>3</span>개</p>
|
||||||
|
<p><span>50MB</span>제한</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr> --%>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
|
<p>취소사유</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<textarea name="aprvlCn" id="aprvlCn" title="특이사항"></textarea>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<dl class="filewrap_div filewrap_eduRsltRprtRegPop">
|
||||||
|
<dt>첨부파일</dt>
|
||||||
|
<dd class="upload_area">
|
||||||
|
<div class="btn_wrap">
|
||||||
|
<button type="button" class="btnType01 btn_add_file">파일 찾기</button>
|
||||||
|
|
||||||
|
<!-- <p style="color:grey;padding:5px;">파일명은 <span style="color:red;font-weight:500">1기 홍길동 결과보고서(0328-0401)</span> 형태로 등록해주세요.</p> -->
|
||||||
|
|
||||||
|
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
||||||
|
</div>
|
||||||
|
<div class="file_wrap file_upload_box no_img_box">
|
||||||
|
<table>
|
||||||
|
<caption>첨부파일 리스트 : 파일명, 종류, 크기</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 15%;">
|
||||||
|
<col style="width: 15%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<th scope="col">파일 명</th>
|
||||||
|
<th scope="col">종류</th>
|
||||||
|
<th scope="col">크기</th>
|
||||||
|
</thead>
|
||||||
|
<tbody class="tb_file_before">
|
||||||
|
<tr>
|
||||||
|
<td colspan="3">
|
||||||
|
<p>첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="file_wrap fileAfter file_list_div" style="display: none;">
|
||||||
|
<table>
|
||||||
|
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 20%;">
|
||||||
|
<col style="width: 20%;">
|
||||||
|
<col style="width: 60px;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<th scope="col">파일 명</th>
|
||||||
|
<th scope="col">종류</th>
|
||||||
|
<th scope="col">크기</th>
|
||||||
|
<th scope="col">삭제</th>
|
||||||
|
</thead>
|
||||||
|
<tbody id="tbody_fiielist" class="tb_file_after">
|
||||||
|
<c:forEach var="fileList" items="${fileList}" varStatus="status">
|
||||||
|
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
|
||||||
|
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
|
||||||
|
<td class="td_filename">
|
||||||
|
<span class="file_name_text">${fileList.orignlFileNm}</span>
|
||||||
|
</td>
|
||||||
|
<td class="td_filesort">
|
||||||
|
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
|
||||||
|
</td>
|
||||||
|
<td class="td_filesize">
|
||||||
|
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btn_del" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"><i></i></button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="file_cf">
|
||||||
|
<div class="cf_left">
|
||||||
|
<p>최대 <span>1</span>개</p>
|
||||||
|
<p><span>50MB</span>제한</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<div class="pop_btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
<button type="button" onclick="fncSave('Y'); return false;" class="btnType05">제출</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btnType02 tooltip-close" data-focus="sub35_pop03_close" data-focus-next="sub35_pop03">취소</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</form:form>
|
||||||
@ -11,10 +11,6 @@
|
|||||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||||
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템</title>
|
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템</title>
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<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">
|
|
||||||
<style>
|
<style>
|
||||||
input:disabled {
|
input:disabled {
|
||||||
background-color: #f9f9f9 !important;
|
background-color: #f9f9f9 !important;
|
||||||
@ -22,9 +18,6 @@
|
|||||||
input:read-only {
|
input:read-only {
|
||||||
background-color: #f9f9f9 !important;
|
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(/ipedu/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>
|
</style>
|
||||||
<script type="text/javaScript" language="javascript">
|
<script type="text/javaScript" language="javascript">
|
||||||
|
|
||||||
@ -32,31 +25,6 @@
|
|||||||
|
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
|
|
||||||
//대용량 업로드 세팅
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ==================================================================
|
|
||||||
* 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
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@ -124,59 +92,14 @@ $(document).ready(function(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function fncGoDetail(prcsAplctPrdOrd){
|
function fncGoDetail(prcsAplctPrdOrd, eduAplctOrd){
|
||||||
var viewForm = document.viewForm ;
|
var viewForm = document.viewForm ;
|
||||||
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
|
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
|
||||||
|
viewForm.eduAplctOrd.value = eduAplctOrd ;
|
||||||
viewForm.action = "<c:url value='/web/ve/aplct/cmdTrgt/eduAplctDetail.do'/>";
|
viewForm.action = "<c:url value='/web/ve/aplct/cmdTrgt/eduAplctDetail.do'/>";
|
||||||
viewForm.submit();
|
viewForm.submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//서류 요청
|
|
||||||
function insetDocReq(){
|
|
||||||
//서류명 체크
|
|
||||||
if($("input[name=cnclCn]").val() == ''){
|
|
||||||
alert("취소사유를 입력해 주세요");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
//첨부파일 체크 및 요청
|
|
||||||
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' />";
|
|
||||||
//선택된 강사 ID
|
|
||||||
|
|
||||||
var sendData = {
|
|
||||||
"fileType": "sspnForm"
|
|
||||||
, "eduAplctOrd": $('#cnclForm #eduAplctOrd').val()
|
|
||||||
, "prcsAplctPrdOrd": $('#cnclForm #prcsAplctPrdOrd').val()
|
|
||||||
, "innorixFileListVO": data
|
|
||||||
, "cnclCn" : $('#cnclCn').val()
|
|
||||||
, "successMsg" : "등록이 완료되었습니다."
|
|
||||||
}
|
|
||||||
console.log('sendData : ', sendData);
|
|
||||||
/*
|
|
||||||
* 공통 : innorixCommon.js
|
|
||||||
* fn_innorixCmmAjax() 호출 후 status가 성공(OK)이면 실행
|
|
||||||
*/
|
|
||||||
if(fn_innorixCmmAjax(sendData, url) == "OK")
|
|
||||||
{
|
|
||||||
location.reload(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 설문조사 버튼 클릭 이벤트
|
// 설문조사 버튼 클릭 이벤트
|
||||||
function selectQestnInfo(id, action){
|
function selectQestnInfo(id, action){
|
||||||
@ -425,6 +348,7 @@ $(document).ready(function(){
|
|||||||
</form>
|
</form>
|
||||||
<form name="viewForm" id="viewForm">
|
<form name="viewForm" id="viewForm">
|
||||||
<input type="hidden" name="prcsAplctPrdOrd">
|
<input type="hidden" name="prcsAplctPrdOrd">
|
||||||
|
<input type="hidden" name="eduAplctOrd">
|
||||||
</form>
|
</form>
|
||||||
<form name="goEduAplctListForm" id="goEduAplctListForm">
|
<form name="goEduAplctListForm" id="goEduAplctListForm">
|
||||||
</form>
|
</form>
|
||||||
@ -495,7 +419,7 @@ $(document).ready(function(){
|
|||||||
<tbody>
|
<tbody>
|
||||||
<c:forEach var="list" items="${list}" varStatus="status">
|
<c:forEach var="list" items="${list}" varStatus="status">
|
||||||
<tr>
|
<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 onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');}" style="cursor:pointer;" tabindex="0">
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${not empty list.title}">
|
<c:when test="${not empty list.title}">
|
||||||
<c:out value="${list.title}"/>
|
<c:out value="${list.title}"/>
|
||||||
@ -559,13 +483,13 @@ $(document).ready(function(){
|
|||||||
(취소-반려)
|
(취소-반려)
|
||||||
</c:if>
|
</c:if>
|
||||||
<c:if test="${list.aplctStateCd eq 10 }"> <!--교육 승인된 상태 (미이수)일 때만 취소버튼 노출 -->
|
<c:if test="${list.aplctStateCd eq 10 }"> <!--교육 승인된 상태 (미이수)일 때만 취소버튼 노출 -->
|
||||||
<button type="button" title="신청취소" class="btnType02 btn small gray fill" data-tooltip="sub37_pop02" onclick="fn_cnclUpdate('${list.eduAplctOrd }','${list.prcsAplctPrdOrd }')">취소</button>
|
<%-- <button type="button" title="신청취소" class="btnType02 btn small fill gray" data-tooltip="sub37_pop02" onclick="fn_cnclUpdate('${list.eduAplctOrd }','${list.prcsAplctPrdOrd }')">취소</button> --%>
|
||||||
</c:if>
|
</c:if>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
<kc:code codeId="VE0003" code="${list.aprvlCd}"/>
|
<kc:code codeId="VE0003" code="${list.aprvlCd}"/>
|
||||||
<c:if test="${list.aprvlCd eq 10 }">
|
<c:if test="${list.aprvlCd eq 10 }">
|
||||||
<button type="button" title="신청취소" class="btnType02 btn small gray fill" onclick="fn_veEduAplctCnclUpdate('${list.eduAplctOrd }')">취소</button>
|
<%-- <button type="button" title="신청취소" class="btnType02 btn small fill gray" onclick="fn_veEduAplctCnclUpdate('${list.eduAplctOrd }')">취소</button> --%>
|
||||||
</c:if>
|
</c:if>
|
||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
@ -639,7 +563,7 @@ $(document).ready(function(){
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<c:if test="${(list.aprvlCd eq '10' or list.aprvlCd eq '20') and list.ddlnCd ne '20'}">
|
<c:if test="${(list.aprvlCd eq '10' or list.aprvlCd eq '20') and list.ddlnCd ne '20'}">
|
||||||
<button type="button" class="btnType05 small line red" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">교육취소</button>
|
<button type="button" class="btnType05 small line red" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">교육취소</button>
|
||||||
</c:if>
|
</c:if>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -670,75 +594,6 @@ $(document).ready(function(){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- 서류요청 팝업 -->
|
|
||||||
<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>
|
|
||||||
<caption>취소사유 작성표</caption>
|
|
||||||
<colgroup>
|
|
||||||
<col style="width: 22%;">
|
|
||||||
<col style="">
|
|
||||||
</colgroup>
|
|
||||||
<tr>
|
|
||||||
<th scope="col">취소사유</th>
|
|
||||||
<td><label for="cnclCn" class="label">취소사유 작성</label>
|
|
||||||
<textarea id="cnclCn" name="cnclCn" title="취소사유 작성하기"></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>
|
|
||||||
<!--// 서류요청 팝업-->
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- 강의만족도 결과 등록 팝업 -->
|
<!-- 강의만족도 결과 등록 팝업 -->
|
||||||
<form id="srvyPopupForm" name="srvyPopupForm" method="post" >
|
<form id="srvyPopupForm" name="srvyPopupForm" method="post" >
|
||||||
|
|
||||||
|
|||||||
@ -508,7 +508,7 @@ function loadImage(src) {
|
|||||||
<input type="hidden" name="qestmInfoSize" id="qestmInfoSize" value="${fn:length(chasiSrvyList)}">
|
<input type="hidden" name="qestmInfoSize" id="qestmInfoSize" value="${fn:length(chasiSrvyList)}">
|
||||||
|
|
||||||
|
|
||||||
<div class="popup_wrap popType01 estimate_popup" data-info="${vEEduChasiVO.eduAplctOrd}" data-tooltip-con="sub36_pop02" data-focus="sub36_pop02" data-focus-prev="sub36_pop02_close">
|
<div class="popup_wrap popType01 estimate_popup" data-info="${vEEduChasiVO.eduAplctOrd}" data-tooltip-con="sub36_pop02" data-focus="sub36_pop02" data-focus-prev="sub36_pop02_close" id="popup_cont">
|
||||||
|
|
||||||
<div class="popup_tit">
|
<div class="popup_tit">
|
||||||
<p>이수증 출력</p>
|
<p>이수증 출력</p>
|
||||||
|
|||||||
@ -563,8 +563,11 @@
|
|||||||
<th scope="row">상태</th>
|
<th scope="row">상태</th>
|
||||||
<td class="ddlnCdStts">
|
<td class="ddlnCdStts">
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${not empty info.aprvlCd}">
|
<c:when test="${not empty prcsAplctVO.aprvlCd}">
|
||||||
<kc:code codeId="VE0003" code="${info.aprvlCd}"/>
|
<kc:code codeId="VE0003" code="${prcsAplctVO.aprvlCd}"/>
|
||||||
|
<c:if test="${prcsAplctVO.aprvlCd eq '60' and not empty prcsAplctVO.aplctStateCd}">
|
||||||
|
- <kc:code codeId="VEA003" code="${prcsAplctVO.aplctStateCd}"/>
|
||||||
|
</c:if>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
|
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
|
||||||
@ -608,8 +611,8 @@
|
|||||||
<button type="button" class="btn line red large" onclick="fncCancelUser('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '2-1')">교육취소</button>
|
<button type="button" class="btn line red large" onclick="fncCancelUser('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '2-1')">교육취소</button>
|
||||||
</c:if>
|
</c:if>
|
||||||
|
|
||||||
<c:if test="${prcsAplctVO.aprvlCd eq '60' and prcsAplctVO.ddlnCd eq '20'}">
|
<c:if test="${prcsAplctVO.aprvlCd eq '60' and prcsAplctVO.ddlnCd eq '20' and empty prcsAplctVO.aplctStateCd}">
|
||||||
<%-- <button type="button" class="btnType05" onclick="fncCancelStatusChange('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '6-1')">취소요청</button> --%>
|
<button type="button" class="btnType05" onclick="fncCancelStatusChange('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '6-1')">취소요청</button>
|
||||||
</c:if>
|
</c:if>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -24,9 +24,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function fncGoDetail(prcsAplctPrdOrd){
|
function fncGoDetail(prcsAplctPrdOrd, eduAplctOrd){
|
||||||
var viewForm = document.viewForm ;
|
var viewForm = document.viewForm ;
|
||||||
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
|
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
|
||||||
|
viewForm.eduAplctOrd.value = eduAplctOrd;
|
||||||
viewForm.action = "<c:url value='/web/ve/aplct/prevent/eduAplctDetail.do'/>";
|
viewForm.action = "<c:url value='/web/ve/aplct/prevent/eduAplctDetail.do'/>";
|
||||||
viewForm.submit();
|
viewForm.submit();
|
||||||
}
|
}
|
||||||
@ -187,6 +188,7 @@
|
|||||||
</form>
|
</form>
|
||||||
<form name="viewForm" id="viewForm">
|
<form name="viewForm" id="viewForm">
|
||||||
<input type="hidden" name="prcsAplctPrdOrd">
|
<input type="hidden" name="prcsAplctPrdOrd">
|
||||||
|
<input type="hidden" name="eduAplctOrd">
|
||||||
</form>
|
</form>
|
||||||
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO">
|
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO">
|
||||||
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
|
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
|
||||||
@ -234,7 +236,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<c:forEach var="list" items="${list}" varStatus="status">
|
<c:forEach var="list" items="${list}" varStatus="status">
|
||||||
<tr>
|
<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 onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');}" style="cursor:pointer;" tabindex="0">
|
||||||
<!-- <td> -->
|
<!-- <td> -->
|
||||||
|
|
||||||
<c:choose>
|
<c:choose>
|
||||||
@ -252,7 +254,12 @@
|
|||||||
<c:out value="${list.eduStrtPnttm}"/>
|
<c:out value="${list.eduStrtPnttm}"/>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<c:choose>
|
<kc:code codeId="VE0003" code="${list.aprvlCd}"/>
|
||||||
|
<c:if test="${list.aprvlCd eq '60' and not empty list.aplctStateCd}">
|
||||||
|
- <kc:code codeId="VEA003" code="${list.aplctStateCd}"/>
|
||||||
|
</c:if>
|
||||||
|
|
||||||
|
<%-- <c:choose>
|
||||||
<c:when test="${not empty list.aplctStateCd }">
|
<c:when test="${not empty list.aplctStateCd }">
|
||||||
<kc:code codeId="VEA003" code="${list.aplctStateCd}"/>
|
<kc:code codeId="VEA003" code="${list.aplctStateCd}"/>
|
||||||
</c:when>
|
</c:when>
|
||||||
@ -265,8 +272,8 @@
|
|||||||
<button type="button" class="btnType02" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">취소</button>
|
<button type="button" class="btnType02" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">취소</button>
|
||||||
</c:if>
|
</c:if>
|
||||||
<c:if test="${list.aprvlCd eq '60' and list.ddlnCd eq '20'}">
|
<c:if test="${list.aprvlCd eq '60' and list.ddlnCd eq '20'}">
|
||||||
<%-- <button type="button" class="btnType02" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">취소</button> --%>
|
<button type="button" class="btnType02" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">취소</button>
|
||||||
</c:if>
|
</c:if> --%>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@ -355,7 +362,7 @@
|
|||||||
<ul onclick="">
|
<ul onclick="">
|
||||||
<li>
|
<li>
|
||||||
<span>교육과정</span>
|
<span>교육과정</span>
|
||||||
<span onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" >
|
<span onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');" >
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${not empty list.title}">
|
<c:when test="${not empty list.title}">
|
||||||
<c:out value="${list.title}"/>
|
<c:out value="${list.title}"/>
|
||||||
@ -383,7 +390,7 @@
|
|||||||
</c:choose>
|
</c:choose>
|
||||||
|
|
||||||
<c:if test="${(list.aprvlCd eq '10' or list.aprvlCd eq '20') and list.ddlnCd ne '20'}">
|
<c:if test="${(list.aprvlCd eq '10' or list.aprvlCd eq '20') and list.ddlnCd ne '20'}">
|
||||||
<button type="button" class="btnType02" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">취소</button>
|
<button type="button" class="btnType02" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">취소</button>
|
||||||
</c:if>
|
</c:if>
|
||||||
<c:if test="${list.aprvlCd eq '60' and list.ddlnCd eq '20'}">
|
<c:if test="${list.aprvlCd eq '60' and list.ddlnCd eq '20'}">
|
||||||
<%-- <button type="button" class="btnType02" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">취소</button> --%>
|
<%-- <button type="button" class="btnType02" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">취소</button> --%>
|
||||||
|
|||||||
@ -0,0 +1,347 @@
|
|||||||
|
<%@ 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"%>
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : eduCancelPop.jsp
|
||||||
|
* @Description : 교육취소요청 팝업
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.08.09 김봉호 최초 생성
|
||||||
|
* @author 김봉호
|
||||||
|
* @since 2021.08.21
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<script type="text/javaScript" language="javascript">
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
//파일첨부관련 설정들===============================================
|
||||||
|
$(".btn_add_file").on('click', function(){
|
||||||
|
$("#file_temp").click();
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#limitcount").val("1");
|
||||||
|
|
||||||
|
//파일첨부관련 설정들===============================================
|
||||||
|
|
||||||
|
|
||||||
|
// 레이어팝업 포커싱 이동 수정
|
||||||
|
$(".tooltip-close").click(function(){
|
||||||
|
var activeTarget = $('[data-tooltip-con="sub35_pop03"]');
|
||||||
|
activeTarget.hide();
|
||||||
|
$('[data-tooltip="sub35_pop03"]').focus();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
$('#file_temp').change(function(e){
|
||||||
|
var objUpload = $(".upload_area");
|
||||||
|
var files = $('#file_temp')[0].files;
|
||||||
|
|
||||||
|
handleFileUpload(files,objUpload); //파일업로드
|
||||||
|
if($("#file_temp").length > 0){
|
||||||
|
$("#file_temp").val(""); //파일지우기
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
function fncPopClose(){
|
||||||
|
self.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncSave(flag){
|
||||||
|
/*
|
||||||
|
<!-- for validator #3 -->
|
||||||
|
*/
|
||||||
|
//if (!validateVEEduAplctVO(document.createForm)) return;
|
||||||
|
/*
|
||||||
|
<!-- for validator #3 -->
|
||||||
|
*/
|
||||||
|
//저장
|
||||||
|
|
||||||
|
|
||||||
|
if ($("#aprvlCn").val().length>300){
|
||||||
|
alert("취소사유는 300자까지만 가능합니다.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($("#aprvlCn").val().length<=0){
|
||||||
|
alert("취소사유는 반드시 넣어주세요.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//첨부파일 등록 처리
|
||||||
|
$('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가
|
||||||
|
$("#sbmtYn").val(flag);
|
||||||
|
//var data = new FormData(form);
|
||||||
|
var data = new FormData(document.getElementById("createForm"));
|
||||||
|
|
||||||
|
//첨부파일 등록 처리-step1
|
||||||
|
//if(!data.get("fileSize")){
|
||||||
|
/*
|
||||||
|
if($('#tbody_fiielist tr').length*1<=0){
|
||||||
|
alert("첨부파일을 등록해 주세요");
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
//첨부파일 등록 처리-step2
|
||||||
|
_fileForm2.forEach(function(obj, idx) {
|
||||||
|
if (obj) data.append("file"+idx, obj.fileObj);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// $("#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("취소요청 제출 하시겠습니까?\n관리자 승인 후 취소처리가됩니다.")){
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
enctype: 'multipart/form-data',
|
||||||
|
url: "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/popup/eduCancelPopupAjax.do",
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success: function (returnData, status) {
|
||||||
|
if(status == 'success'){
|
||||||
|
alert("등록 되었습니다.");
|
||||||
|
location.reload();
|
||||||
|
} else if(status== 'fail'){
|
||||||
|
alert("등록에 실패하였습니다.");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<form:form id="createForm" name="createForm" method="post" commandName="vEEduRprtVO" onsubmit="return false;">
|
||||||
|
<input type="hidden" name="eduAplctOrd" value="<c:out value="${vEInstrAsgnmVO.eduAplctOrd}" />" />
|
||||||
|
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEInstrAsgnmVO.eduChasiOrd}" />" />
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" value="<c:out value="${vEInstrAsgnmVO.prcsAplctPrdOrd}" />" />
|
||||||
|
<input type="hidden" id="userId" name="userId" value="<c:out value="${vEInstrAsgnmVO.userId}" />" />
|
||||||
|
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
|
||||||
|
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
|
||||||
|
<input type="hidden" name="allrowFileExtsn" value="JPG,PNG,JPEG" /><!-- 확장자 제한-->
|
||||||
|
|
||||||
|
<div class="popup_wrap popType03" tabindex="0" data-tooltip-con="sub35_pop03" data-focus="sub35_pop03" data-focus-prev="sub35_pop03_close">
|
||||||
|
<div class="popup_tit">
|
||||||
|
<p>취소요청</p><button class="btn_popup_close tooltip-close" data-focus="sub35_pop03_close" title="팝업 닫기"><i></i></button>
|
||||||
|
</div>
|
||||||
|
<div class="popup_cont">
|
||||||
|
<div class="pop_tb_type01">
|
||||||
|
<table>
|
||||||
|
<caption>첨부파일, 취소사유를 입력하는 표</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 120px;">
|
||||||
|
<col style="width: auto">
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<%-- <tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>첨부파일</p>
|
||||||
|
</th>
|
||||||
|
<td class="upload_area">
|
||||||
|
<div class="btn_wrap">
|
||||||
|
<button type="button" class="btnType01 btn_add_file">파일 찾기</button>
|
||||||
|
|
||||||
|
<!-- <p style="color:grey;padding:5px;">파일명은 <span style="color:red;font-weight:500">1기 홍길동 결과보고서(0328-0401)</span> 형태로 등록해주세요.</p> -->
|
||||||
|
|
||||||
|
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
||||||
|
</div>
|
||||||
|
<div class="file_wrap file_upload_box no_img_box">
|
||||||
|
<table>
|
||||||
|
<caption>첨부파일 리스트 : 파일명, 종류, 크기</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 15%;">
|
||||||
|
<col style="width: 15%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<th scope="col">파일 명</th>
|
||||||
|
<th scope="col">종류</th>
|
||||||
|
<th scope="col">크기</th>
|
||||||
|
</thead>
|
||||||
|
<tbody class="tb_file_before">
|
||||||
|
<tr>
|
||||||
|
<td colspan="3">
|
||||||
|
<p>첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="file_wrap fileAfter file_list_div" style="display: none;">
|
||||||
|
<table>
|
||||||
|
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 20%;">
|
||||||
|
<col style="width: 20%;">
|
||||||
|
<col style="width: 60px;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<th scope="col">파일 명</th>
|
||||||
|
<th scope="col">종류</th>
|
||||||
|
<th scope="col">크기</th>
|
||||||
|
<th scope="col">삭제</th>
|
||||||
|
</thead>
|
||||||
|
<tbody id="tbody_fiielist" class="tb_file_after">
|
||||||
|
<c:forEach var="fileList" items="${fileList}" varStatus="status">
|
||||||
|
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
|
||||||
|
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
|
||||||
|
<td class="td_filename">
|
||||||
|
<span class="file_name_text">${fileList.orignlFileNm}</span>
|
||||||
|
</td>
|
||||||
|
<td class="td_filesort">
|
||||||
|
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
|
||||||
|
</td>
|
||||||
|
<td class="td_filesize">
|
||||||
|
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btn_del" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"><i></i></button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="file_cf">
|
||||||
|
<div class="cf_left">
|
||||||
|
<p>최대 <span>3</span>개</p>
|
||||||
|
<p><span>50MB</span>제한</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr> --%>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
|
<p>취소사유</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<textarea name="aprvlCn" id="aprvlCn" title="특이사항"></textarea>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<dl class="filewrap_div filewrap_eduRsltRprtRegPop">
|
||||||
|
<dt>첨부파일</dt>
|
||||||
|
<dd class="upload_area">
|
||||||
|
<div class="btn_wrap">
|
||||||
|
<button type="button" class="btnType01 btn_add_file">파일 찾기</button>
|
||||||
|
|
||||||
|
<!-- <p style="color:grey;padding:5px;">파일명은 <span style="color:red;font-weight:500">1기 홍길동 결과보고서(0328-0401)</span> 형태로 등록해주세요.</p> -->
|
||||||
|
|
||||||
|
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
||||||
|
</div>
|
||||||
|
<div class="file_wrap file_upload_box no_img_box">
|
||||||
|
<table>
|
||||||
|
<caption>첨부파일 리스트 : 파일명, 종류, 크기</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 15%;">
|
||||||
|
<col style="width: 15%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<th scope="col">파일 명</th>
|
||||||
|
<th scope="col">종류</th>
|
||||||
|
<th scope="col">크기</th>
|
||||||
|
</thead>
|
||||||
|
<tbody class="tb_file_before">
|
||||||
|
<tr>
|
||||||
|
<td colspan="3">
|
||||||
|
<p>첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="file_wrap fileAfter file_list_div" style="display: none;">
|
||||||
|
<table>
|
||||||
|
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 20%;">
|
||||||
|
<col style="width: 20%;">
|
||||||
|
<col style="width: 60px;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<th scope="col">파일 명</th>
|
||||||
|
<th scope="col">종류</th>
|
||||||
|
<th scope="col">크기</th>
|
||||||
|
<th scope="col">삭제</th>
|
||||||
|
</thead>
|
||||||
|
<tbody id="tbody_fiielist" class="tb_file_after">
|
||||||
|
<c:forEach var="fileList" items="${fileList}" varStatus="status">
|
||||||
|
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
|
||||||
|
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
|
||||||
|
<td class="td_filename">
|
||||||
|
<span class="file_name_text">${fileList.orignlFileNm}</span>
|
||||||
|
</td>
|
||||||
|
<td class="td_filesort">
|
||||||
|
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
|
||||||
|
</td>
|
||||||
|
<td class="td_filesize">
|
||||||
|
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btn_del" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"><i></i></button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="file_cf">
|
||||||
|
<div class="cf_left">
|
||||||
|
<p>최대 <span>1</span>개</p>
|
||||||
|
<p><span>50MB</span>제한</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<div class="pop_btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
<button type="button" onclick="fncSave('Y'); return false;" class="btnType05">제출</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btnType02 tooltip-close" data-focus="sub35_pop03_close" data-focus-next="sub35_pop03">취소</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</form:form>
|
||||||
@ -563,8 +563,11 @@
|
|||||||
<th scope="row">상태</th>
|
<th scope="row">상태</th>
|
||||||
<td class="ddlnCdStts">
|
<td class="ddlnCdStts">
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${not empty info.aprvlCd}">
|
<c:when test="${not empty prcsAplctVO.aprvlCd}">
|
||||||
<kc:code codeId="VE0003" code="${info.aprvlCd}"/>
|
<kc:code codeId="VE0003" code="${prcsAplctVO.aprvlCd}"/>
|
||||||
|
<c:if test="${prcsAplctVO.aprvlCd eq '60' and not empty prcsAplctVO.aplctStateCd}">
|
||||||
|
- <kc:code codeId="VEA003" code="${prcsAplctVO.aplctStateCd}"/>
|
||||||
|
</c:if>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
|
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
|
||||||
@ -608,8 +611,8 @@
|
|||||||
<button type="button" class="btn line red large" onclick="fncCancelUser('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '2-1')">교육취소</button>
|
<button type="button" class="btn line red large" onclick="fncCancelUser('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '2-1')">교육취소</button>
|
||||||
</c:if>
|
</c:if>
|
||||||
|
|
||||||
<c:if test="${prcsAplctVO.aprvlCd eq '60' and prcsAplctVO.ddlnCd eq '20'}">
|
<c:if test="${prcsAplctVO.aprvlCd eq '60' and prcsAplctVO.ddlnCd eq '20' and empty prcsAplctVO.aplctStateCd}">
|
||||||
<%-- <button type="button" class="btnType05" onclick="fncCancelStatusChange('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '6-1')">취소요청</button> --%>
|
<button type="button" class="btnType05" onclick="fncCancelStatusChange('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '6-1')">취소요청</button>
|
||||||
</c:if>
|
</c:if>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -24,9 +24,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function fncGoDetail(prcsAplctPrdOrd){
|
function fncGoDetail(prcsAplctPrdOrd, eduAplctOrd){
|
||||||
var viewForm = document.viewForm ;
|
var viewForm = document.viewForm ;
|
||||||
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
|
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
|
||||||
|
viewForm.eduAplctOrd.value = eduAplctOrd ;
|
||||||
//viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
|
//viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
|
||||||
viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
|
viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
|
||||||
viewForm.submit();
|
viewForm.submit();
|
||||||
@ -188,6 +189,7 @@
|
|||||||
</form>
|
</form>
|
||||||
<form name="viewForm" id="viewForm">
|
<form name="viewForm" id="viewForm">
|
||||||
<input type="hidden" name="prcsAplctPrdOrd">
|
<input type="hidden" name="prcsAplctPrdOrd">
|
||||||
|
<input type="hidden" name="eduAplctOrd">
|
||||||
</form>
|
</form>
|
||||||
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO">
|
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO">
|
||||||
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
|
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
|
||||||
@ -235,7 +237,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<c:forEach var="list" items="${list}" varStatus="status">
|
<c:forEach var="list" items="${list}" varStatus="status">
|
||||||
<tr>
|
<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 onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');}" style="cursor:pointer;" tabindex="0">
|
||||||
<!-- <td> -->
|
<!-- <td> -->
|
||||||
|
|
||||||
<c:choose>
|
<c:choose>
|
||||||
@ -254,7 +256,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<kc:code codeId="VE0003" code="${list.aprvlCd}"/>
|
<kc:code codeId="VE0003" code="${list.aprvlCd}"/>
|
||||||
<c:if test="${list.aprvlCd eq '60'}">
|
<c:if test="${list.aprvlCd eq '60' and not empty list.aplctStateCd}">
|
||||||
- <kc:code codeId="VEA003" code="${list.aplctStateCd}"/>
|
- <kc:code codeId="VEA003" code="${list.aplctStateCd}"/>
|
||||||
</c:if>
|
</c:if>
|
||||||
|
|
||||||
@ -295,13 +297,12 @@
|
|||||||
|
|
||||||
<c:choose>
|
<c:choose>
|
||||||
|
|
||||||
<%-- <c:when test="${list.aprvlCd eq 60 and list.qestRsltExists and list.aplctStateCd ne 10 and list.aplctStateCd ne 30}"> --%>
|
<c:when test="${list.aprvlCd eq 60 and list.qestRsltExists and list.aplctStateCd ne 10 and list.aplctStateCd ne 30}">
|
||||||
<c:when test="${list.aprvlCd eq 60 and list.qestRsltExists}">
|
<!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
|
||||||
<!-- 설문노출대상(확정처리를 받았음(60) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
|
|
||||||
|
|
||||||
<c:choose>
|
<c:choose>
|
||||||
|
|
||||||
<c:when test="${list.qestnrId10Cnt gt 0}">
|
<c:when test="${list.aplctStateCd eq 20 and list.qestnrId10Cnt gt 0}">
|
||||||
<!-- 작성된 설문이 있다 -->
|
<!-- 작성된 설문이 있다 -->
|
||||||
<button type="button" class="btnType02" data-info="${list.eduAplctOrd}" data-tooltip="sub36_pop02"
|
<button type="button" class="btnType02" data-info="${list.eduAplctOrd}" data-tooltip="sub36_pop02"
|
||||||
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','select'
|
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','select'
|
||||||
@ -309,13 +310,21 @@
|
|||||||
)" title="팝업 열림">설문완료</button>
|
)" title="팝업 열림">설문완료</button>
|
||||||
</c:when>
|
</c:when>
|
||||||
|
|
||||||
<c:when test="${empty list.qestnrId10}">
|
<c:when test="${empty list.qestnrId10 and list.aprvlCd eq 20}">
|
||||||
<!-- 대상 설문이 없다 -->
|
<!-- 대상 설문이 없다 -->
|
||||||
대상설문없음
|
대상설문없음
|
||||||
</c:when>
|
</c:when>
|
||||||
|
|
||||||
<c:when test="${not empty list.qestnrId10 and list.qestnrId10Cnt eq 0 and list.qustnrTm eq '1'}">
|
<c:when test="${(empty list.qestnrId10Cnt or list.qestnrId10Cnt eq 0) and list.qustnrTm eq '0'}">
|
||||||
<!-- 설문 키값이 있고, 답변이 없고, 설문 오픈 시간이 지났다(1), (0-지나기전)면 설문 등록을 연다 -->
|
<!-- 작성된 설문이 없다 -->
|
||||||
|
<button type="button" class="btn small mint line sur_bt" data-info="${list.eduAplctOrd}" data-tooltip="sub36_pop02"
|
||||||
|
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','insert'
|
||||||
|
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
|
||||||
|
)" title="팝업 열림">설문등록</button>
|
||||||
|
</c:when>
|
||||||
|
|
||||||
|
<c:when test="${list.qustnrTm eq '1'}">
|
||||||
|
<!-- 작성된 설문이 없다 -->
|
||||||
<button type="button" class="btn small mint line sur_bt" data-info="${list.eduAplctOrd}" data-tooltip="sub36_pop02"
|
<button type="button" class="btn small mint line sur_bt" data-info="${list.eduAplctOrd}" data-tooltip="sub36_pop02"
|
||||||
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','insert'
|
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','insert'
|
||||||
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
|
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
|
||||||
@ -337,13 +346,15 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${list.qestRsltExists and list.aprvlCd eq '60' and list.aplctStateCd eq '20'}">
|
<c:when test="${list.qestRsltExists }">
|
||||||
<!-- 교육 기간 종료 & 교육신청은 확정(60) & 교육상태는 이슈(20) & 수료증 출력 가능 -->
|
|
||||||
<button type="button" class="btn small mint line sur_bt" data-info="${list.eduAplctOrd}" data-tooltip="sub36_pop02"
|
<button type="button" class="btn small mint line sur_bt" data-info="${list.eduAplctOrd}" data-tooltip="sub36_pop02"
|
||||||
onclick="fncPrintCert('${list.eduAplctOrd}','${list.eduChasiOrd}','10','insert'
|
onclick="fncPrintCert('${list.eduAplctOrd}','${list.eduChasiOrd}','10','insert'
|
||||||
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
|
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
|
||||||
)" title="출력">출력</button>
|
)" title="출력">출력</button>
|
||||||
</c:when>
|
</c:when>
|
||||||
|
<c:when test="${list.dateChk eq 1 and not list.qestRsltExists}">
|
||||||
|
교육완료
|
||||||
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
-
|
-
|
||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
@ -364,7 +375,7 @@
|
|||||||
<ul onclick="">
|
<ul onclick="">
|
||||||
<li>
|
<li>
|
||||||
<span>교육과정</span>
|
<span>교육과정</span>
|
||||||
<span onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" >
|
<span onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');" >
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${not empty list.title}">
|
<c:when test="${not empty list.title}">
|
||||||
<c:out value="${list.title}"/>
|
<c:out value="${list.title}"/>
|
||||||
@ -392,7 +403,7 @@
|
|||||||
</c:choose>
|
</c:choose>
|
||||||
|
|
||||||
<c:if test="${(list.aprvlCd eq '10' or list.aprvlCd eq '20') and list.ddlnCd ne '20'}">
|
<c:if test="${(list.aprvlCd eq '10' or list.aprvlCd eq '20') and list.ddlnCd ne '20'}">
|
||||||
<button type="button" class="btnType02" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">취소</button>
|
<button type="button" class="btnType02" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">취소</button>
|
||||||
</c:if>
|
</c:if>
|
||||||
<c:if test="${list.aprvlCd eq '60' and list.ddlnCd eq '20'}">
|
<c:if test="${list.aprvlCd eq '60' and list.ddlnCd eq '20'}">
|
||||||
<%-- <button type="button" class="btnType02" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">취소</button> --%>
|
<%-- <button type="button" class="btnType02" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">취소</button> --%>
|
||||||
|
|||||||
@ -141,6 +141,7 @@
|
|||||||
<form:form id="createForm" name="createForm" method="post" commandName="vEEduRprtVO" onsubmit="return false;">
|
<form:form id="createForm" name="createForm" method="post" commandName="vEEduRprtVO" onsubmit="return false;">
|
||||||
<input type="hidden" name="eduAplctOrd" value="<c:out value="${vEInstrAsgnmVO.eduAplctOrd}" />" />
|
<input type="hidden" name="eduAplctOrd" value="<c:out value="${vEInstrAsgnmVO.eduAplctOrd}" />" />
|
||||||
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEInstrAsgnmVO.eduChasiOrd}" />" />
|
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEInstrAsgnmVO.eduChasiOrd}" />" />
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" value="<c:out value="${vEInstrAsgnmVO.prcsAplctPrdOrd}" />" />
|
||||||
<input type="hidden" id="userId" name="userId" value="<c:out value="${vEInstrAsgnmVO.userId}" />" />
|
<input type="hidden" id="userId" name="userId" value="<c:out value="${vEInstrAsgnmVO.userId}" />" />
|
||||||
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
|
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
|
||||||
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
|
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
|
||||||
|
|||||||
@ -47,7 +47,7 @@
|
|||||||
//강의계획서 컨트롤 생성
|
//강의계획서 컨트롤 생성
|
||||||
control1 = innorix.create({
|
control1 = innorix.create({
|
||||||
el : '#lctrPlan', // 컨트롤 출력 객체 ID
|
el : '#lctrPlan', // 컨트롤 출력 객체 ID
|
||||||
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
|
/* installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지 */
|
||||||
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=lctrPlan" />', // 업로드 URL
|
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=lctrPlan" />', // 업로드 URL
|
||||||
maxFileCount : 1, // 첨부가능 파일 전체 개수
|
maxFileCount : 1, // 첨부가능 파일 전체 개수
|
||||||
width : 870, // 컨트롤 출력 너비(pixel)
|
width : 870, // 컨트롤 출력 너비(pixel)
|
||||||
|
|||||||
@ -47,7 +47,7 @@
|
|||||||
//강의계획서 컨트롤 생성
|
//강의계획서 컨트롤 생성
|
||||||
control1 = innorix.create({
|
control1 = innorix.create({
|
||||||
el : '#docAtch', // 컨트롤 출력 객체 ID
|
el : '#docAtch', // 컨트롤 출력 객체 ID
|
||||||
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
|
/* installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지 */
|
||||||
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=docAtch" />', // 업로드 URL
|
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=docAtch" />', // 업로드 URL
|
||||||
maxFileCount : 1, // 첨부가능 파일 전체 개수
|
maxFileCount : 1, // 첨부가능 파일 전체 개수
|
||||||
width : 870, // 컨트롤 출력 너비(pixel)
|
width : 870, // 컨트롤 출력 너비(pixel)
|
||||||
|
|||||||
@ -69,7 +69,7 @@
|
|||||||
control = innorix.create({
|
control = innorix.create({
|
||||||
el: '#fileControl' // 컨트롤 출력 HTML 객체 ID
|
el: '#fileControl' // 컨트롤 출력 HTML 객체 ID
|
||||||
, transferMode: 'both' // 업로드, 다운로드 혼합사용
|
, transferMode: 'both' // 업로드, 다운로드 혼합사용
|
||||||
, installUrl: '<c:url value="/innorix/install/install.html" />' // Agent 설치 페이지
|
/* , installUrl: '<c:url value="/innorix/install/install.html" />' // Agent 설치 페이지 */
|
||||||
, uploadUrl: '<c:url value="/innorix/exam/upload.jsp" />' // 업로드 URL
|
, uploadUrl: '<c:url value="/innorix/exam/upload.jsp" />' // 업로드 URL
|
||||||
, height:40
|
, height:40
|
||||||
, width: 650
|
, width: 650
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user