Merge branch 'advc' of

http://yongjoon.cho@vcs.iten.co.kr:9999/hylee/offedu into advc

Conflicts:
	src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java
This commit is contained in:
myname 2023-11-27 14:23:17 +09:00
commit 35f26dc753
30 changed files with 3187 additions and 2019 deletions

View File

@ -46,15 +46,17 @@ public class QustnrCommonUtil {
)throws Exception{ )throws Exception{
//설문 문항 정보 //설문 문항 정보
{ {
System.out.println("===========!!===========");
VEAQestnrVO vEAQestnrVO = new VEAQestnrVO(); VEAQestnrVO vEAQestnrVO = new VEAQestnrVO();
vEAQestnrVO.setSiteId(VeConstants.LCTR_DIV_CD_10); //청소년 vEAQestnrVO.setSiteId(p_siteId); //청소년
vEAQestnrVO.setSiteIdCd("10"); //10-기본설문, 20-신청자설문, 30-강사설문 vEAQestnrVO.setSiteIdCd(p_siteIdCd); //10-기본설문, 20-신청자설문, 30-강사설문
vEAQestnrVO = p_vEALettnQestnrMIXService.selectDetail_MIX_LQI_02(vEAQestnrVO); vEAQestnrVO = p_vEALettnQestnrMIXService.selectDetail_MIX_LQI_02(vEAQestnrVO);
//문항정보 //문항정보
Map <String, Object> commandMap =new HashMap<String, Object>(); Map <String, Object> commandMap =new HashMap<String, Object>();
commandMap.put("qestnrTmplatId", "QTMPLA_0000000000001"); commandMap.put("qestnrTmplatId", p_qestnrTmplatId);
commandMap.put("qestnrId",vEAQestnrVO.getQestnrId()); //문제 ID commandMap.put("qestnrId",vEAQestnrVO.getQestnrId()); //문제 ID
System.out.println("=====");
p_model.addAttribute("Comtnqustnrqesitm", p_egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap)); p_model.addAttribute("Comtnqustnrqesitm", p_egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap));
p_model.addAttribute("qestnrId", vEAQestnrVO.getQestnrId()); p_model.addAttribute("qestnrId", vEAQestnrVO.getQestnrId());
p_model.addAttribute("qustnrTmplatId", vEAQestnrVO.getQustnrTmplatId()); p_model.addAttribute("qustnrTmplatId", vEAQestnrVO.getQustnrTmplatId());

View File

@ -1,165 +1,167 @@
package kcc.let.uss.olp.qri.service; package kcc.let.uss.olp.qri.service;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import kcc.com.cmm.ComDefaultVO; import kcc.com.cmm.ComDefaultVO;
import kcc.let.uss.olp.qrm.service.QustnrRespondManageVO; import kcc.let.uss.olp.qrm.service.QustnrRespondManageVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
/** /**
* 설문조사 Service Class 구현 * 설문조사 Service Class 구현
* @author 공통서비스 장동한 * @author 공통서비스 장동한
* @since 2009.03.20 * @since 2009.03.20
* @version 1.0 * @version 1.0
* @see * @see
* *
* <pre> * <pre>
* << 개정이력(Modification Information) >> * << 개정이력(Modification Information) >>
* *
* 수정일 수정자 수정내용 * 수정일 수정자 수정내용
* ------- -------- --------------------------- * ------- -------- ---------------------------
* 2009.03.20 장동한 최초 생성 * 2009.03.20 장동한 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성 * 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
* *
* </pre> * </pre>
*/ */
public interface EgovQustnrRespondInfoService { public interface EgovQustnrRespondInfoService {
public QustnrRespondInfoVO selectSiteIdQustnrTmplat(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception; public QustnrRespondInfoVO selectSiteIdQustnrTmplat(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
/** /**
* 설문템플릿을 조회한다. * 설문템플릿을 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrTmplatManage(Map<?, ?> map) throws Exception; public List<?> selectQustnrTmplatManage(Map<?, ?> map) throws Exception;
/** /**
* 객관식 통계를 조회 조회한다. * 객관식 통계를 조회 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoManageStatistics1(Map<?, ?> map) throws Exception; public List<?> selectQustnrRespondInfoManageStatistics1(Map<?, ?> map) throws Exception;
/** /**
* 주관식 통계를 조회 조회한다. * 주관식 통계를 조회 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoManageStatistics2(Map<?, ?> map) throws Exception; public List<?> selectQustnrRespondInfoManageStatistics2(Map<?, ?> map) throws Exception;
/** /**
* 회원정보를 조회한다. * 회원정보를 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public Map<?, ?> selectQustnrRespondInfoManageEmplyrinfo(Map<?, ?> map) throws Exception; public Map<?, ?> selectQustnrRespondInfoManageEmplyrinfo(Map<?, ?> map) throws Exception;
/** /**
* 설문정보를 조회한다. * 설문정보를 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoManageComtnqestnrinfo(Map<?, ?> map) throws Exception; public List<?> selectQustnrRespondInfoManageComtnqestnrinfo(Map<?, ?> map) throws Exception;
/** /**
* 문항정보를 조회한다. * 문항정보를 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoManageComtnqustnrqesitm(Map<?, ?> map) throws Exception; public List<?> selectQustnrRespondInfoManageComtnqustnrqesitm(Map<?, ?> map) throws Exception;
/** /**
* 항목정보를 조회한다. * 항목정보를 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoManageComtnqustnriem(Map<?, ?> map) throws Exception; public List<?> selectQustnrRespondInfoManageComtnqustnriem(Map<?, ?> map) throws Exception;
/** /**
* 설문조사(설문등록)() 목록을 조회한다. * 설문조사(설문등록)() 목록을 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoManageList(ComDefaultVO searchVO) throws Exception; public List<?> selectQustnrRespondInfoManageList(ComDefaultVO searchVO) throws Exception;
/** /**
* 설문조사(설문등록)() 목록 전체 건수를() 조회한다. * 설문조사(설문등록)() 목록 전체 건수를() 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @return * @return
* @throws Exception * @throws Exception
*/ */
public int selectQustnrRespondInfoManageListCnt(ComDefaultVO searchVO) throws Exception; public int selectQustnrRespondInfoManageListCnt(ComDefaultVO searchVO) throws Exception;
/** /**
* 응답자결과(설문조사) 목록을 조회한다. * 응답자결과(설문조사) 목록을 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoList(ComDefaultVO searchVO) throws Exception; public List<?> selectQustnrRespondInfoList(ComDefaultVO searchVO) throws Exception;
/** /**
* 응답자결과(설문조사)() 상세조회 한다. * 응답자결과(설문조사)() 상세조회 한다.
* @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO * @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoDetail(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception; public List<?> selectQustnrRespondInfoDetail(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
/** /**
* 응답자결과(설문조사)() 목록 전체 건수를() 조회한다. * 응답자결과(설문조사)() 목록 전체 건수를() 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @return int * @return int
* @throws Exception * @throws Exception
*/ */
public int selectQustnrRespondInfoListCnt(ComDefaultVO searchVO) throws Exception; public int selectQustnrRespondInfoListCnt(ComDefaultVO searchVO) throws Exception;
/** /**
* 응답자결과(설문조사)() 등록한다. * 응답자결과(설문조사)() 등록한다.
* @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO * @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO
* @throws Exception * @throws Exception
*/ */
void insertQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception; void insertQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
/** /**
* 응답자결과(설문조사)() 수정한다. * 응답자결과(설문조사)() 수정한다.
* @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO * @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO
* @throws Exception * @throws Exception
*/ */
void updateQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception; void updateQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
/** /**
* 응답자결과(설문조사)() 삭제한다. * 응답자결과(설문조사)() 삭제한다.
* @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO * @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO
* @throws Exception * @throws Exception
*/ */
void deleteQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception; void deleteQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
/** /**
* 응답결과(설문조사)() 찾교 결과를 조회 한다. * 응답결과(설문조사)() 찾교 결과를 조회 한다.
* @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO * @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO
* @throws Exception * @throws Exception
*/ */
public List<QustnrRespondInfoVO> selectQustnrRespondList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception; public List<QustnrRespondInfoVO> selectQustnrRespondList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
void insertSrvyInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception; void insertSrvyInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
void updateSrvyInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception; void updateSrvyInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
// 차수별 설문 조회 // 차수별 설문 조회
public List<QustnrRespondInfoVO> selectChasiSrvyList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception; public List<QustnrRespondInfoVO> selectChasiSrvyList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
public List<QustnrRespondInfoVO> selectChasiSrvyExcelList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception; public List<QustnrRespondInfoVO> selectChasiSrvyExcelList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
void updateQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO); void updateQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO);
void deleteChasiStatus(VEEduAplctVO vEEduAplctVO); void deleteChasiStatus(VEEduAplctVO vEEduAplctVO);
}
public List<QustnrRespondInfoVO> selectQustnrDetail(QustnrRespondInfoVO qustnrVO);
}

View File

@ -111,6 +111,10 @@ public class QustnrRespondInfoVO implements Serializable {
private String qustnrIemType = ""; private String qustnrIemType = "";
// 20231124 이호영
// 강화 기반은 라디오 버튼이라 변수 추가함
private String responseRadio = "";
public List<QustnrRespondInfoVO> getResultList() { public List<QustnrRespondInfoVO> getResultList() {
return resultList; return resultList;
} }
@ -449,15 +453,21 @@ public class QustnrRespondInfoVO implements Serializable {
this.beforeAndAfter = beforeAndAfter; this.beforeAndAfter = beforeAndAfter;
} }
public String getQustnrTmplatId() { public String getQustnrTmplatId() {
return qustnrTmplatId; return qustnrTmplatId;
} }
public void setQustnrTmplatId(String qustnrTmplatId) { public void setQustnrTmplatId(String qustnrTmplatId) {
this.qustnrTmplatId = qustnrTmplatId; this.qustnrTmplatId = qustnrTmplatId;
} }
public String getResponseRadio() {
return responseRadio;
}
public void setResponseRadio(String responseRadio) {
this.responseRadio = responseRadio;
}
} }

View File

@ -1,249 +1,253 @@
package kcc.let.uss.olp.qri.service.impl; package kcc.let.uss.olp.qri.service.impl;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.com.cmm.ComDefaultVO; import kcc.com.cmm.ComDefaultVO;
import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService; import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService;
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO; import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
import kcc.let.uss.olp.qrm.service.QustnrRespondManageVO; import kcc.let.uss.olp.qrm.service.QustnrRespondManageVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
* 설문조사 ServiceImpl Class 구현 * 설문조사 ServiceImpl Class 구현
* @author 공통서비스 장동한 * @author 공통서비스 장동한
* @since 2009.03.20 * @since 2009.03.20
* @version 1.0 * @version 1.0
* @see * @see
* *
* <pre> * <pre>
* << 개정이력(Modification Information) >> * << 개정이력(Modification Information) >>
* *
* 수정일 수정자 수정내용 * 수정일 수정자 수정내용
* ------- -------- --------------------------- * ------- -------- ---------------------------
* 2009.03.20 장동한 최초 생성 * 2009.03.20 장동한 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성 * 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
* *
* </pre> * </pre>
*/ */
@Service("egovQustnrRespondInfoService") @Service("egovQustnrRespondInfoService")
public class EgovQustnrRespondInfoServiceImpl extends EgovAbstractServiceImpl implements EgovQustnrRespondInfoService{ public class EgovQustnrRespondInfoServiceImpl extends EgovAbstractServiceImpl implements EgovQustnrRespondInfoService{
@Resource(name="qustnrRespondInfoDao") @Resource(name="qustnrRespondInfoDao")
private QustnrRespondInfoDao dao; private QustnrRespondInfoDao dao;
@Resource(name="qustnrRespondInfoIdGnrService") @Resource(name="qustnrRespondInfoIdGnrService")
private EgovIdGnrService idgenService; private EgovIdGnrService idgenService;
/** /**
* 설문템플릿을 조회한다. * 설문템플릿을 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
@Override @Override
public List<?> selectQustnrTmplatManage(Map<?, ?> map) throws Exception{ public List<?> selectQustnrTmplatManage(Map<?, ?> map) throws Exception{
return dao.selectQustnrTmplatManage(map); return dao.selectQustnrTmplatManage(map);
} }
/** /**
* 객관식 통계를 조회 조회한다. * 객관식 통계를 조회 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
@Override @Override
public List<?> selectQustnrRespondInfoManageStatistics1(Map<?, ?> map) throws Exception{ public List<?> selectQustnrRespondInfoManageStatistics1(Map<?, ?> map) throws Exception{
return dao.selectQustnrRespondInfoManageStatistics1(map); return dao.selectQustnrRespondInfoManageStatistics1(map);
} }
/** /**
* 주관식 통계를 조회 조회한다. * 주관식 통계를 조회 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
@Override @Override
public List<?> selectQustnrRespondInfoManageStatistics2(Map<?, ?> map) throws Exception{ public List<?> selectQustnrRespondInfoManageStatistics2(Map<?, ?> map) throws Exception{
return dao.selectQustnrRespondInfoManageStatistics2(map); return dao.selectQustnrRespondInfoManageStatistics2(map);
} }
/** /**
* 회원정보를 조회한다. * 회원정보를 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
@Override @Override
public Map<?, ?> selectQustnrRespondInfoManageEmplyrinfo(Map<?, ?> map) throws Exception{ public Map<?, ?> selectQustnrRespondInfoManageEmplyrinfo(Map<?, ?> map) throws Exception{
return dao.selectQustnrRespondInfoManageEmplyrinfo(map); return dao.selectQustnrRespondInfoManageEmplyrinfo(map);
} }
/** /**
* 설문정보를 조회한다. * 설문정보를 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
@Override @Override
public List<?> selectQustnrRespondInfoManageComtnqestnrinfo(Map<?, ?> map) throws Exception{ public List<?> selectQustnrRespondInfoManageComtnqestnrinfo(Map<?, ?> map) throws Exception{
return dao.selectQustnrRespondInfoManageComtnqestnrinfo(map); return dao.selectQustnrRespondInfoManageComtnqestnrinfo(map);
} }
/** /**
* 문항정보를 조회한다. * 문항정보를 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
@Override @Override
public List<?> selectQustnrRespondInfoManageComtnqustnrqesitm(Map<?, ?> map) throws Exception{ public List<?> selectQustnrRespondInfoManageComtnqustnrqesitm(Map<?, ?> map) throws Exception{
return dao.selectQustnrRespondInfoManageComtnqustnrqesitm(map); return dao.selectQustnrRespondInfoManageComtnqustnrqesitm(map);
} }
/** /**
* 항목정보를 조회한다. * 항목정보를 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
@Override @Override
public List<?> selectQustnrRespondInfoManageComtnqustnriem(Map<?, ?> map) throws Exception{ public List<?> selectQustnrRespondInfoManageComtnqustnriem(Map<?, ?> map) throws Exception{
return dao.selectQustnrRespondInfoManageComtnqustnriem(map); return dao.selectQustnrRespondInfoManageComtnqustnriem(map);
} }
/** /**
* 설문조사(설문등록)() 목록을 조회한다. * 설문조사(설문등록)() 목록을 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
@Override @Override
public List<?> selectQustnrRespondInfoManageList(ComDefaultVO searchVO) throws Exception{ public List<?> selectQustnrRespondInfoManageList(ComDefaultVO searchVO) throws Exception{
return dao.selectQustnrRespondInfoManageList(searchVO); return dao.selectQustnrRespondInfoManageList(searchVO);
} }
/** /**
* 설문조사(설문등록)() 목록 전체 건수를() 조회한다. * 설문조사(설문등록)() 목록 전체 건수를() 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @return * @return
* @throws Exception * @throws Exception
*/ */
@Override @Override
public int selectQustnrRespondInfoManageListCnt(ComDefaultVO searchVO) throws Exception{ public int selectQustnrRespondInfoManageListCnt(ComDefaultVO searchVO) throws Exception{
return dao.selectQustnrRespondInfoManageListCnt(searchVO); return dao.selectQustnrRespondInfoManageListCnt(searchVO);
} }
/** /**
* 응답자결과(설문조사) 목록을 조회한다. * 응답자결과(설문조사) 목록을 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
@Override @Override
public List<?> selectQustnrRespondInfoList(ComDefaultVO searchVO) throws Exception{ public List<?> selectQustnrRespondInfoList(ComDefaultVO searchVO) throws Exception{
return dao.selectQustnrRespondInfoList(searchVO); return dao.selectQustnrRespondInfoList(searchVO);
} }
/** /**
* 응답자결과(설문조사)() 상세조회 한다. * 응답자결과(설문조사)() 상세조회 한다.
* @param QustnrRespondInfo - 회정정보가 담김 VO * @param QustnrRespondInfo - 회정정보가 담김 VO
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
@Override @Override
public List<?> selectQustnrRespondInfoDetail(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{ public List<?> selectQustnrRespondInfoDetail(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
return dao.selectQustnrRespondInfoDetail(qustnrRespondInfoVO); return dao.selectQustnrRespondInfoDetail(qustnrRespondInfoVO);
} }
/** /**
* 응답자결과(설문조사)() 목록 전체 건수를() 조회한다. * 응답자결과(설문조사)() 목록 전체 건수를() 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @return int * @return int
* @throws Exception * @throws Exception
*/ */
@Override @Override
public int selectQustnrRespondInfoListCnt(ComDefaultVO searchVO) throws Exception{ public int selectQustnrRespondInfoListCnt(ComDefaultVO searchVO) throws Exception{
return dao.selectQustnrRespondInfoListCnt(searchVO); return dao.selectQustnrRespondInfoListCnt(searchVO);
} }
/** /**
* 응답자결과(설문조사)() 등록한다. * 응답자결과(설문조사)() 등록한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @throws Exception * @throws Exception
*/ */
@Override @Override
public void insertQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { public void insertQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
String sMakeId = idgenService.getNextStringId(); String sMakeId = idgenService.getNextStringId();
qustnrRespondInfoVO.setQestnrQesrspnsId(sMakeId); qustnrRespondInfoVO.setQestnrQesrspnsId(sMakeId);
dao.insertQustnrRespondInfo(qustnrRespondInfoVO); dao.insertQustnrRespondInfo(qustnrRespondInfoVO);
} }
/** /**
* 응답자결과(설문조사)() 수정한다. * 응답자결과(설문조사)() 수정한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @throws Exception * @throws Exception
*/ */
@Override @Override
public void updateQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{ public void updateQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
dao.updateQustnrRespondInfo(qustnrRespondInfoVO); dao.updateQustnrRespondInfo(qustnrRespondInfoVO);
} }
/** /**
* 응답자결과(설문조사)() 삭제한다. * 응답자결과(설문조사)() 삭제한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @throws Exception * @throws Exception
*/ */
@Override @Override
public void deleteQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{ public void deleteQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
dao.deleteQustnrRespondInfo(qustnrRespondInfoVO); dao.deleteQustnrRespondInfo(qustnrRespondInfoVO);
} }
/** /**
* 응답결과(설문조사)() 찾교 결과를 조회 한다. * 응답결과(설문조사)() 찾교 결과를 조회 한다.
* @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO * @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO
* @throws Exception * @throws Exception
*/ */
@Override @Override
public List<QustnrRespondInfoVO> selectQustnrRespondList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { public List<QustnrRespondInfoVO> selectQustnrRespondList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
return dao.selectQustnrRespondList(qustnrRespondInfoVO); return dao.selectQustnrRespondList(qustnrRespondInfoVO);
} }
@Override @Override
public void insertSrvyInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { public void insertSrvyInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
String sMakeId = idgenService.getNextStringId(); String sMakeId = idgenService.getNextStringId();
qustnrRespondInfoVO.setQustnrRsltId(sMakeId); qustnrRespondInfoVO.setQustnrRsltId(sMakeId);
dao.insertSrvyInfo(qustnrRespondInfoVO); dao.insertSrvyInfo(qustnrRespondInfoVO);
} }
@Override @Override
public void updateSrvyInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { public void updateSrvyInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
dao.updateSrvyInfo(qustnrRespondInfoVO); dao.updateSrvyInfo(qustnrRespondInfoVO);
} }
@Override @Override
public void updateQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO) { public void updateQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO) {
dao.updateQustnrRespondManage(qustnrRespondManageVO); dao.updateQustnrRespondManage(qustnrRespondManageVO);
} }
@Override @Override
public List<QustnrRespondInfoVO> selectChasiSrvyList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { public List<QustnrRespondInfoVO> selectChasiSrvyList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
return dao.selectChasiSrvyList(qustnrRespondInfoVO); return dao.selectChasiSrvyList(qustnrRespondInfoVO);
} }
@Override @Override
public QustnrRespondInfoVO selectSiteIdQustnrTmplat(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { public QustnrRespondInfoVO selectSiteIdQustnrTmplat(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
return dao.selectSiteIdQustnrTmplat(qustnrRespondInfoVO); return dao.selectSiteIdQustnrTmplat(qustnrRespondInfoVO);
} }
@Override @Override
public List<QustnrRespondInfoVO> selectChasiSrvyExcelList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { public List<QustnrRespondInfoVO> selectChasiSrvyExcelList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
return dao.selectChasiSrvyExcelList(qustnrRespondInfoVO); return dao.selectChasiSrvyExcelList(qustnrRespondInfoVO);
} }
@Override @Override
public void deleteChasiStatus(VEEduAplctVO vEEduAplctVO) { public void deleteChasiStatus(VEEduAplctVO vEEduAplctVO) {
dao.deleteChasiStatus(vEEduAplctVO); dao.deleteChasiStatus(vEEduAplctVO);
} }
@Override
} public List<QustnrRespondInfoVO> selectQustnrDetail(QustnrRespondInfoVO qustnrVO) {
return dao.selectQustnrDetail(qustnrVO);
}
}

View File

@ -1,213 +1,217 @@
package kcc.let.uss.olp.qri.service.impl; package kcc.let.uss.olp.qri.service.impl;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO; import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.com.cmm.ComDefaultVO; import kcc.com.cmm.ComDefaultVO;
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO; import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
import kcc.let.uss.olp.qrm.service.QustnrRespondManageVO; import kcc.let.uss.olp.qrm.service.QustnrRespondManageVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
/** /**
* 설문조사 Dao Class 구현 * 설문조사 Dao Class 구현
* @author 공통서비스 장동한 * @author 공통서비스 장동한
* @since 2009.03.20 * @since 2009.03.20
* @version 1.0 * @version 1.0
* @see * @see
* *
* <pre> * <pre>
* << 개정이력(Modification Information) >> * << 개정이력(Modification Information) >>
* *
* 수정일 수정자 수정내용 * 수정일 수정자 수정내용
* ------- -------- --------------------------- * ------- -------- ---------------------------
* 2009.03.20 장동한 최초 생성 * 2009.03.20 장동한 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성 * 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
* *
* </pre> * </pre>
*/ */
@Repository("qustnrRespondInfoDao") @Repository("qustnrRespondInfoDao")
public class QustnrRespondInfoDao extends EgovAbstractDAO { public class QustnrRespondInfoDao extends EgovAbstractDAO {
/** /**
* 설문템플릿을 조회한다. * 설문템플릿을 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrTmplatManage(Map<?, ?> map) throws Exception{ public List<?> selectQustnrTmplatManage(Map<?, ?> map) throws Exception{
return list("QustnrRespondInfo.selectQustnrTmplatManages", map); return list("QustnrRespondInfo.selectQustnrTmplatManages", map);
} }
/** /**
* 객관식 통계를 조회 조회한다. * 객관식 통계를 조회 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoManageStatistics1(Map<?, ?> map) throws Exception{ public List<?> selectQustnrRespondInfoManageStatistics1(Map<?, ?> map) throws Exception{
return list("QustnrRespondInfo.selectQustnrRespondInfoManageStatistics1", map); return list("QustnrRespondInfo.selectQustnrRespondInfoManageStatistics1", map);
} }
/** /**
* 주관식 통계를 조회 조회한다. * 주관식 통계를 조회 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoManageStatistics2(Map<?, ?> map) throws Exception{ public List<?> selectQustnrRespondInfoManageStatistics2(Map<?, ?> map) throws Exception{
return list("QustnrRespondInfo.selectQustnrRespondInfoManageStatistics2", map); return list("QustnrRespondInfo.selectQustnrRespondInfoManageStatistics2", map);
} }
/** /**
* 회원정보를 조회한다. * 회원정보를 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public Map<?, ?> selectQustnrRespondInfoManageEmplyrinfo(Map<?, ?> map) throws Exception{ public Map<?, ?> selectQustnrRespondInfoManageEmplyrinfo(Map<?, ?> map) throws Exception{
return (Map<?, ?>)select("QustnrRespondInfo.selectQustnrRespondInfoManageEmplyrinfo", map); return (Map<?, ?>)select("QustnrRespondInfo.selectQustnrRespondInfoManageEmplyrinfo", map);
} }
/** /**
* 설문정보를 조회한다. * 설문정보를 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoManageComtnqestnrinfo(Map<?, ?> map) throws Exception{ public List<?> selectQustnrRespondInfoManageComtnqestnrinfo(Map<?, ?> map) throws Exception{
return list("QustnrRespondInfo.selectQustnrRespondInfoManageComtnqestnrinfo", map); return list("QustnrRespondInfo.selectQustnrRespondInfoManageComtnqestnrinfo", map);
} }
/** /**
* 문항정보를 조회한다. * 문항정보를 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoManageComtnqustnrqesitm(Map<?, ?> map) throws Exception{ public List<?> selectQustnrRespondInfoManageComtnqustnrqesitm(Map<?, ?> map) throws Exception{
return list("QustnrRespondInfo.selectQustnrRespondInfoManageComtnqustnrqesitm", map); return list("QustnrRespondInfo.selectQustnrRespondInfoManageComtnqustnrqesitm", map);
} }
/** /**
* 항목정보를 조회한다. * 항목정보를 조회한다.
* @param map - 조회할 정보가 담긴 map * @param map - 조회할 정보가 담긴 map
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoManageComtnqustnriem(Map<?, ?> map) throws Exception{ public List<?> selectQustnrRespondInfoManageComtnqustnriem(Map<?, ?> map) throws Exception{
return list("QustnrRespondInfo.selectQustnrRespondInfoManageComtnqustnriem", map); return list("QustnrRespondInfo.selectQustnrRespondInfoManageComtnqustnriem", map);
} }
/** /**
* 설문조사(설문등록)() 목록을 조회한다. * 설문조사(설문등록)() 목록을 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @return List * @return List
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoManageList(ComDefaultVO searchVO) throws Exception{ public List<?> selectQustnrRespondInfoManageList(ComDefaultVO searchVO) throws Exception{
return list("QustnrRespondInfo.selectQustnrRespondInfoManage", searchVO); return list("QustnrRespondInfo.selectQustnrRespondInfoManage", searchVO);
} }
/** /**
* 설문조사(설문등록)() 목록 전체 건수를() 조회한다. * 설문조사(설문등록)() 목록 전체 건수를() 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @return int * @return int
* @throws Exception * @throws Exception
*/ */
public int selectQustnrRespondInfoManageListCnt(ComDefaultVO searchVO) throws Exception{ public int selectQustnrRespondInfoManageListCnt(ComDefaultVO searchVO) throws Exception{
return (Integer)select("QustnrRespondInfo.selectQustnrRespondInfoManageCnt", searchVO); return (Integer)select("QustnrRespondInfo.selectQustnrRespondInfoManageCnt", searchVO);
} }
/** /**
* 응답자결과(설문조사) 목록을 조회한다. * 응답자결과(설문조사) 목록을 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoList(ComDefaultVO searchVO) throws Exception{ public List<?> selectQustnrRespondInfoList(ComDefaultVO searchVO) throws Exception{
return list("QustnrRespondInfo.selectQustnrRespondInfo", searchVO); return list("QustnrRespondInfo.selectQustnrRespondInfo", searchVO);
} }
/** /**
* 응답자결과(설문조사)() 상세조회 한다. * 응답자결과(설문조사)() 상세조회 한다.
* @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO * @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO
* @throws Exception * @throws Exception
*/ */
public List<?> selectQustnrRespondInfoDetail(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{ public List<?> selectQustnrRespondInfoDetail(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
return list("QustnrRespondInfo.selectQustnrRespondInfoDetail", qustnrRespondInfoVO); return list("QustnrRespondInfo.selectQustnrRespondInfoDetail", qustnrRespondInfoVO);
} }
/** /**
* 응답자결과(설문조사)() 목록 전체 건수를() 조회한다. * 응답자결과(설문조사)() 목록 전체 건수를() 조회한다.
* @param searchVO - 조회할 정보가 담긴 VO * @param searchVO - 조회할 정보가 담긴 VO
* @return int * @return int
* @throws Exception * @throws Exception
*/ */
public int selectQustnrRespondInfoListCnt(ComDefaultVO searchVO) throws Exception{ public int selectQustnrRespondInfoListCnt(ComDefaultVO searchVO) throws Exception{
return (Integer)select("QustnrRespondInfo.selectQustnrRespondInfoCnt", searchVO); return (Integer)select("QustnrRespondInfo.selectQustnrRespondInfoCnt", searchVO);
} }
/** /**
* 응답자결과(설문조사)() 등록한다. * 응답자결과(설문조사)() 등록한다.
* @param qqustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO * @param qqustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO
* @throws Exception * @throws Exception
*/ */
public void insertQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{ public void insertQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
insert("QustnrRespondInfo.insertQustnrRespondInfo", qustnrRespondInfoVO); insert("QustnrRespondInfo.insertQustnrRespondInfo", qustnrRespondInfoVO);
} }
/** /**
* 응답자결과(설문조사)() 수정한다. * 응답자결과(설문조사)() 수정한다.
* @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO * @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO
* @throws Exception * @throws Exception
*/ */
public void updateQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{ public void updateQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
insert("QustnrRespondInfo.updateQustnrRespondInfo", qustnrRespondInfoVO); insert("QustnrRespondInfo.updateQustnrRespondInfo", qustnrRespondInfoVO);
} }
/** /**
* 응답자결과(설문조사)() 삭제한다. * 응답자결과(설문조사)() 삭제한다.
* @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO * @param qustnrRespondInfoVO - 응답자결과(설문조사) 정보 담김 VO
* @throws Exception * @throws Exception
*/ */
public void deleteQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{ public void deleteQustnrRespondInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
insert("QustnrRespondInfo.deleteQustnrRespondInfo", qustnrRespondInfoVO); insert("QustnrRespondInfo.deleteQustnrRespondInfo", qustnrRespondInfoVO);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public List<QustnrRespondInfoVO> selectQustnrRespondList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{ public List<QustnrRespondInfoVO> selectQustnrRespondList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
return (List<QustnrRespondInfoVO>) list("QustnrRespondInfo.selectQustnrRespondList", qustnrRespondInfoVO); return (List<QustnrRespondInfoVO>) list("QustnrRespondInfo.selectQustnrRespondList", qustnrRespondInfoVO);
} }
public void insertSrvyInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{ public void insertSrvyInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
insert("QustnrRespondInfo.insertSrvyInfo", qustnrRespondInfoVO); insert("QustnrRespondInfo.insertSrvyInfo", qustnrRespondInfoVO);
} }
public void updateSrvyInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{ public void updateSrvyInfo(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
update("QustnrRespondInfo.updateSrvyInfo", qustnrRespondInfoVO); update("QustnrRespondInfo.updateSrvyInfo", qustnrRespondInfoVO);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public List<QustnrRespondInfoVO> selectChasiSrvyList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{ public List<QustnrRespondInfoVO> selectChasiSrvyList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
return (List<QustnrRespondInfoVO>) list("QustnrRespondInfo.selectChasiSrvyList", qustnrRespondInfoVO); return (List<QustnrRespondInfoVO>) list("QustnrRespondInfo.selectChasiSrvyList", qustnrRespondInfoVO);
} }
public QustnrRespondInfoVO selectSiteIdQustnrTmplat(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{ public QustnrRespondInfoVO selectSiteIdQustnrTmplat(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
return (QustnrRespondInfoVO) select("QustnrRespondInfo.selectSiteIdQustnrTmplat", qustnrRespondInfoVO); return (QustnrRespondInfoVO) select("QustnrRespondInfo.selectSiteIdQustnrTmplat", qustnrRespondInfoVO);
} }
public List<QustnrRespondInfoVO> selectChasiSrvyExcelList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { public List<QustnrRespondInfoVO> selectChasiSrvyExcelList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
return (List<QustnrRespondInfoVO>) list("QustnrRespondInfo.selectChasiSrvyExcelList", qustnrRespondInfoVO); return (List<QustnrRespondInfoVO>) list("QustnrRespondInfo.selectChasiSrvyExcelList", qustnrRespondInfoVO);
} }
public void updateQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO) { public void updateQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO) {
update("QustnrRespondInfo.updateQustnrRespondManage", qustnrRespondManageVO); update("QustnrRespondInfo.updateQustnrRespondManage", qustnrRespondManageVO);
} }
public void deleteChasiStatus(VEEduAplctVO vEEduAplctVO) { public void deleteChasiStatus(VEEduAplctVO vEEduAplctVO) {
delete("QustnrRespondInfo.deleteChasiStatusFormLettnqustnrrespondinfo", vEEduAplctVO); delete("QustnrRespondInfo.deleteChasiStatusFormLettnqustnrrespondinfo", vEEduAplctVO);
delete("QustnrRespondInfo.deleteChasiStatusFormlettnqestnrrslt", vEEduAplctVO); delete("QustnrRespondInfo.deleteChasiStatusFormlettnqestnrrslt", vEEduAplctVO);
} }
}
public List<QustnrRespondInfoVO> selectQustnrDetail(QustnrRespondInfoVO qustnrVO) {
return (List<QustnrRespondInfoVO>) list("QustnrRespondInfo.selectQustnrDetail", qustnrVO);
}
}

View File

@ -419,6 +419,7 @@ public class EduEndAdultController {
model.addAttribute("chasiList", vEEduChasiVOList); model.addAttribute("chasiList", vEEduChasiVOList);
//문항정보 //문항정보
try { try {
model = qustnrCommonUtil._qustnrQesItm( model = qustnrCommonUtil._qustnrQesItm(

View File

@ -16,6 +16,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.idgnr.EgovIdGnrService;
@ -26,7 +27,11 @@ import kcc.com.cmm.service.impl.CmmUseDAO;
import kcc.com.cmm.util.StringUtil; import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckFileUtil; import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil; import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.com.utl.user.service.QustnrCommonUtil;
import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService;
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
import kcc.let.uss.olp.qrm.service.QustnrRespondManageVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.adv.tngr.stngInfo.service.VEACmpltCrtfcMixService; import kcc.ve.adv.tngr.stngInfo.service.VEACmpltCrtfcMixService;
import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService; import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService;
@ -42,6 +47,7 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
import kcc.ve.oprtn.qestnr.service.VEALettnQestnrMIXService;
/** /**
* 교육신청(성인찾아가는교육) * 교육신청(성인찾아가는교육)
@ -155,6 +161,20 @@ public class FndtnEnhanceTrnController {
@Resource(name = "vEACmpltCrtfcMixService") @Resource(name = "vEACmpltCrtfcMixService")
private VEACmpltCrtfcMixService vEACmpltCrtfcMixService; private VEACmpltCrtfcMixService vEACmpltCrtfcMixService;
// 설문 복합 VEA_
@Resource(name = "vEALettnQestnrMIXService")
private VEALettnQestnrMIXService vEALettnQestnrMIXService;
@Resource(name = "egovQustnrRespondInfoService")
private EgovQustnrRespondInfoService egovQustnrRespondInfoService;
// 설문 util
@Resource(name = "qustnrCommonUtil")
private QustnrCommonUtil qustnrCommonUtil;
/** /**
* 대시보드 임시 * 대시보드 임시
*/ */
@ -603,9 +623,6 @@ public class FndtnEnhanceTrnController {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
// 페이징 없이 select를 하기 위한
vEPrcsDetailVO.setRecordCountPerPage(10000);
vEPrcsDetailVO.setFirstIndex(0);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO);
@ -615,7 +632,42 @@ public class FndtnEnhanceTrnController {
return modelAndView; return modelAndView;
} }
@RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/selectSchduleManagerListAjax.do")
@ResponseBody
// public ModelAndView eduSelectAjax(
public List<VEPrcsDetailVO> selectSchduleManagerListAjax(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
// ModelAndView modelAndView = new ModelAndView();
// modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
// String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
// if (!"".equals(s_oprtnLoginCheckNInfo)) {
// modelAndView.addObject("result", "loginFail");
// return modelAndView;
// }
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
vEPrcsDetailVO.setsTodate(vEPrcsDetailVO.getsTodate().split("T")[0].replaceAll("-", ""));
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectSchduleManagerList(vEPrcsDetailVO);
// modelAndView.addObject("data", vEPrcsDetailVOList);
// modelAndView.addObject("result", "success");
return vEPrcsDetailVOList;
}
/** /**
* 교육소개 임시페이지 * 교육소개 임시페이지
*/ */
@ -643,6 +695,184 @@ public class FndtnEnhanceTrnController {
return "/web/ve/aplct/fndtnEnhanceTrn/popup/eduAplctPop"; return "/web/ve/aplct/fndtnEnhanceTrn/popup/eduAplctPop";
} }
/**
* @methodName : fndthEduPrcsAplctPrdMngRegAjax
* @author : 이호영
* @date : 2023.11.24
* @description : 설문조사 내역 select
* @param vEPrcsDetailVO
* @param model
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/selectQustnrCommonAjax.do")
public ModelAndView selectQustnrCommonAjax(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//문항정보
try {
model = qustnrCommonUtil._qustnrQesItm(
model
, vEPrcsDetailVO.getLctrDivCd() //청소년 -10, 성인-20, 체험-30, 기반강화-50 , 기소유예-60 ...VE0011
, "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012
, "QTMPLA_0000000000001"
, vEALettnQestnrMIXService
, egovQustnrRespondInfoService
);
}catch(Exception ex) {
ex.printStackTrace();
}
modelAndView.addAllObjects(model);
modelAndView.addObject("result", "success");
return modelAndView;
}
/**
* @methodName : fndtnmergeSrvyInfoAjax
* @author : 이호영
* @date : 2023.11.24
* @description : 기반 기소 설문조사 등록 수정
* @param request
* @param model
* @param veEduAplctVO
* @param qustnrRespondInfoVO
* @return
* @throws Exception
*/
@RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/mergeSrvyInfoAjax.do")
public ModelAndView commonMergeSrvyInfoAjax( HttpServletRequest request
, ModelMap model
, VEEduAplctVO veEduAplctVO
, QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
try {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO();
if (loginVO == null) {
modelAndView.addObject("result", "fail");
modelAndView.addObject("msg", "로그인 해주세요.");
return modelAndView;
}
qustnrRespondInfoVO.getResultList().stream()
.forEach(item -> {
item.setQustnrTmplatId(qustnrRespondInfoVO.getQustnrTmplatId());
item.setRespondId(loginVO.getId());
item.setFrstRegisterId(loginVO.getId());
item.setLastUpdusrId(loginVO.getId());
item.setEduAplctOrd(veEduAplctVO.getEduAplctOrd());
if("verySatisfied".equals(item.getResponseRadio())) {
item.setVerySatisfied("1");
}
if("satisfied".equals(item.getResponseRadio())) {
item.setSatisfied("1");
}
if("neither".equals(item.getResponseRadio())) {
item.setNeither("1");
}
if("dissatisfied".equals(item.getResponseRadio())) {
item.setDissatisfied("1");
}
if("veryDissatisfied".equals(item.getResponseRadio())) {
item.setVeryDissatisfied("1");
}
try {
if ("update".equals(qustnrRespondInfoVO.getQustnrIemType())) {
egovQustnrRespondInfoService.updateSrvyInfo(item);
} else {
egovQustnrRespondInfoService.insertSrvyInfo(item);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
});
// 설문 문항 결과 등록
// for(int i=0; i < qustnrRespondInfoVO.getResultList().size(); i++) {
// qustnrRespondInfoVO.getResultList().get(i).setQustnrTmplatId(qustnrRespondInfoVO.getQustnrTmplatId());
// qustnrRespondInfoVO.getResultList().get(i).setRespondId(loginVO.getId());
// qustnrRespondInfoVO.getResultList().get(i).setFrstRegisterId(loginVO.getId());
// qustnrRespondInfoVO.getResultList().get(i).setLastUpdusrId(loginVO.getId());
// qustnrRespondInfoVO.getResultList().get(i).setLastUpdusrId(loginVO.getId());
// qustnrRespondInfoVO.getResultList().get(i).setEduAplctOrd(veEduAplctVO.getEduAplctOrd());
// if("update".equals(qustnrRespondInfoVO.getQustnrIemType())) {
// egovQustnrRespondInfoService.updateSrvyInfo(qustnrRespondInfoVO.getResultList().get(i));
// }else {
// egovQustnrRespondInfoService.insertSrvyInfo(qustnrRespondInfoVO.getResultList().get(i));
// }
// }
}catch(Exception ex) {
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
}
modelAndView.addObject("result", "success");
return modelAndView;
}
@RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/selectSrvyInfoAjax.do")
public ModelAndView fndtnInSelectSrvyInfoAjax( HttpServletRequest request
, ModelMap model
, VEEduAplctVO veEduAplctVO
, QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
try {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO();
if (loginVO == null) {
modelAndView.addObject("result", "fail");
modelAndView.addObject("msg", "로그인 해주세요.");
return modelAndView;
}
qustnrRespondInfoVO.setEduAplctOrd(veEduAplctVO.getEduAplctOrd());
qustnrRespondInfoVO.setRespondId(loginVO.getId());
List<QustnrRespondInfoVO> qustnrRespondInfoVOList = egovQustnrRespondInfoService.selectQustnrDetail(qustnrRespondInfoVO);
modelAndView.addObject("data", qustnrRespondInfoVOList);
modelAndView.addObject("respondId", qustnrRespondInfoVOList.get(0).getRespondId());
modelAndView.addObject("result", "success");
}catch(Exception ex) {
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
modelAndView.addObject("result", "fail");
modelAndView.addObject("msg", "관리자에게 문의해 주세요");
}
return modelAndView;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// //

View File

@ -542,7 +542,7 @@ public class EduEndTngrController {
ModelAndView modelAndView = new ModelAndView(); ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView"); modelAndView.setViewName("jsonView");
try { try {
vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_10); vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_20);
VEEduChasiVO ChasiInfo = vEEduMIXService.selectChasiInfo(vEEduChasiVO); VEEduChasiVO ChasiInfo = vEEduMIXService.selectChasiInfo(vEEduChasiVO);
ChasiInfo.setInstrNm(egovCryptoUtil.decrypt(ChasiInfo.getInstrNm())); ChasiInfo.setInstrNm(egovCryptoUtil.decrypt(ChasiInfo.getInstrNm()));

View File

@ -406,6 +406,8 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
private String docFormAtchFileId; //요청 서류 양식 파일 아이디 private String docFormAtchFileId; //요청 서류 양식 파일 아이디
private String sbmtAtchFileId; //제출 서류 파일 아이디 private String sbmtAtchFileId; //제출 서류 파일 아이디
private String sbmtId; //제출자 private String sbmtId; //제출자
private Boolean qestRsltExists; //설문여부

View File

@ -961,7 +961,7 @@ public class InstrPrflController {
schduleManageVO.setSearchStartDt(schduleManageVO.getSearchStartDt().split("T")[0].replaceAll("-", "")); schduleManageVO.setSearchStartDt(schduleManageVO.getSearchStartDt().split("T")[0].replaceAll("-", ""));
System.out.println("=================");
return schduleManageService.selectSchManageStatusInstrList(schduleManageVO); return schduleManageService.selectSchManageStatusInstrList(schduleManageVO);
} }
////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -55,4 +55,6 @@ public interface VEPrcsAplctPrdService {
void updateEtc(VEPrcsDetailVO vEPrcsDetailVO); void updateEtc(VEPrcsDetailVO vEPrcsDetailVO);
List<VEPrcsDetailVO> selectSchduleManagerList(VEPrcsDetailVO vEPrcsDetailVO);
} }

View File

@ -119,5 +119,9 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
public void updateEtc(VEPrcsDetailVO vEPrcsDetailVO) { public void updateEtc(VEPrcsDetailVO vEPrcsDetailVO) {
update("VEPrcsAplctPrdDAO.updateEtc", vEPrcsDetailVO); update("VEPrcsAplctPrdDAO.updateEtc", vEPrcsDetailVO);
} }
public List<VEPrcsDetailVO> selectSchduleManagerList(VEPrcsDetailVO vEPrcsDetailVO) {
return (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectSchduleManagerList", vEPrcsDetailVO);
}
} }

View File

@ -127,4 +127,9 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
vEPrcsAplctPrdDAO.updateEtc(vEPrcsDetailVO); vEPrcsAplctPrdDAO.updateEtc(vEPrcsDetailVO);
} }
@Override
public List<VEPrcsDetailVO> selectSchduleManagerList(VEPrcsDetailVO vEPrcsDetailVO) {
return vEPrcsAplctPrdDAO.selectSchduleManagerList(vEPrcsDetailVO);
}
} }

View File

@ -298,7 +298,7 @@ public class EduRsltMngAdultController {
try { try {
model = qustnrCommonUtil._qustnrQesItm( model = qustnrCommonUtil._qustnrQesItm(
model model
, VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 , VeConstants.LCTR_DIV_CD_20 //청소년 -10, 성인-20, ...VE0012
, "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012
, "QTMPLA_0000000000001" , "QTMPLA_0000000000001"
, vEALettnQestnrMIXService , vEALettnQestnrMIXService
@ -324,7 +324,7 @@ public class EduRsltMngAdultController {
try{ try{
model = qustnrCommonUtil._chasiSrvyList( model = qustnrCommonUtil._chasiSrvyList(
model model
, VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 , VeConstants.LCTR_DIV_CD_20 //청소년 -10, 성인-20, ...VE0012
, "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012
, vEEduAplctVO.getEduAplctOrd() , vEEduAplctVO.getEduAplctOrd()
, vEEduAplctVO.getEduChasiOrd() , vEEduAplctVO.getEduChasiOrd()

View File

@ -116,6 +116,7 @@
</select> </select>
<!-- 설문조사(설문등록):: 설문등록 /설문문 항정보--> <!-- 설문조사(설문등록):: 설문등록 /설문문 항정보-->
<select id="QustnrRespondInfo.selectQustnrRespondInfoManageComtnqustnrqesitm" parameterClass="java.util.Map" resultClass="egovMap"> <select id="QustnrRespondInfo.selectQustnrRespondInfoManageComtnqustnrqesitm" parameterClass="java.util.Map" resultClass="egovMap">
/*QustnrRespondInfo.selectQustnrRespondInfoManageComtnqustnrqesitm*/
SELECT SELECT
A.QUSTNR_QESITM_ID "qestnrQesitmId", A.QUSTNR_QESITM_ID "qestnrQesitmId",
A.QESTNR_ID, A.QESTNR_ID,
@ -649,6 +650,34 @@
AND B.EDU_APLCT_ORD = #eduAplctOrd# AND B.EDU_APLCT_ORD = #eduAplctOrd#
AND B.EDU_CHASI_ORD = #eduChasiOrd# AND B.EDU_CHASI_ORD = #eduChasiOrd#
</select> </select>
<select id="QustnrRespondInfo.selectQustnrDetail" parameterClass="QustnrRespondInfoVO" resultClass="QustnrRespondInfoVO">
SELECT
QUSTNR_TMPLAT_ID as qustnrTmplatId
, QESTNR_ID as qestnrId
, QUSTNR_QESITM_ID as qustnrQesitmId
, QUSTNR_RSLT_ID as qustnrRsltId
, EDU_APLCT_ORD as eduAplctOrd
, EDU_CHASI_ORD as eduChasiOrd
, RESPOND_ID as respondId
, VERY_SATISFIED as verySatisfied
, SATISFIED as satisfied
, NEITHER as neither
, DISSATISFIED as dissatisfied
, VERY_DISSATISFIED as veryDissatisfied
, ANSWER as answer
, FRST_REGIST_PNTTM as frstRegistPnttm
, FRST_REGISTER_ID as frstRegisterId
, LAST_UPDT_PNTTM as lastUpdtPnttm
, LAST_UPDUSR_ID as lastUpdusrId
, QUSTNR_IEM_ID as qustnrIemId
FROM LETTNQESTNRRSLTDETAIL
WHERE 1=1
AND EDU_APLCT_ORD = #eduAplctOrd#
AND RESPOND_ID = #respondId#
AND QUSTNR_TMPLAT_ID = #qustnrTmplatId#
</select>
<select id="QustnrRespondInfo.selectChasiSrvyExcelList_bak" parameterClass="QustnrRespondInfoVO" resultClass="QustnrRespondInfoVO"> <select id="QustnrRespondInfo.selectChasiSrvyExcelList_bak" parameterClass="QustnrRespondInfoVO" resultClass="QustnrRespondInfoVO">
/* QustnrRespondInfo.selectChasiSrvyExcelList_bak */ /* QustnrRespondInfo.selectChasiSrvyExcelList_bak */

View File

@ -1,132 +1,133 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="QustnrRespondManage"> <sqlMap namespace="QustnrRespondManage">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/> <typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="comDefaultVO" type="kcc.com.cmm.ComDefaultVO"/> <typeAlias alias="comDefaultVO" type="kcc.com.cmm.ComDefaultVO"/>
<typeAlias alias="QustnrRespondManageVO" type="kcc.let.uss.olp.qrm.service.QustnrRespondManageVO"/> <typeAlias alias="QustnrRespondManageVO" type="kcc.let.uss.olp.qrm.service.QustnrRespondManageVO"/>
<!-- 응답자정보(설문조사)::삭제 --> <!-- 응답자정보(설문조사)::삭제 -->
<delete id="QustnrRespondManage.deleteQustnrRespondManage"> <delete id="QustnrRespondManage.deleteQustnrRespondManage">
<![CDATA[ <![CDATA[
DELETE FROM LETTNQUSTNRRESPONDINFO DELETE FROM LETTNQUSTNRRESPONDINFO
WHERE 1=1 WHERE 1=1
AND QUSTNR_RESPOND_ID = #qestnrRespondId# AND QUSTNR_RESPOND_ID = #qestnrRespondId#
]]> ]]>
</delete> </delete>
<!-- 응답자정보(설문조사)::수정 --> <!-- 응답자정보(설문조사)::수정 -->
<update id="QustnrRespondManage.updateQustnrRespondManage"> <update id="QustnrRespondManage.updateQustnrRespondManage">
UPDATE LETTNQUSTNRRESPONDINFO /*QustnrRespondManage.updateQustnrRespondManage*/
SET UPDATE LETTNQUSTNRRESPONDINFO
LAST_UPDT_PNTTM = NOW() SET
, LAST_UPDUSR_ID = #lastUpdusrId# LAST_UPDT_PNTTM = SYSDATE
<isNotNull property="qestnrParticipant"> , LAST_UPDUSR_ID = #lastUpdusrId#
, QESTNR_RESPONDENT_COUNT = #qestnrParticipant# <isNotNull property="qestnrParticipant">
</isNotNull> , QESTNR_RESPONDENT_COUNT = #qestnrParticipant#
<isNotNull property="qestnrRespondent"> </isNotNull>
, QESTNR_PARTICIPANT_COUNT = #qestnrRespondent# <isNotNull property="qestnrRespondent">
</isNotNull> , QESTNR_PARTICIPANT_COUNT = #qestnrRespondent#
WHERE 1=1 </isNotNull>
AND QUSTNR_RESPOND_ID = #qestnrRespondId# WHERE 1=1
</update> AND QUSTNR_RESPOND_ID = #qestnrRespondId#
</update>
<!-- 응답자정보(설문조사)::상세보기 -->
<select id="QustnrRespondManage.selectQustnrRespondManageDetail" parameterClass="QustnrRespondManageVO" resultClass="egovMap"> <!-- 응답자정보(설문조사)::상세보기 -->
SELECT <select id="QustnrRespondManage.selectQustnrRespondManageDetail" parameterClass="QustnrRespondManageVO" resultClass="egovMap">
( SELECT QUSTNR_SJ FROM LETTNQESTNRINFO WHERE 1=1 AND QESTNR_ID = A.QESTNR_ID ) QESTNR_SJ SELECT
, A.QESTNR_ID ( SELECT QUSTNR_SJ FROM LETTNQESTNRINFO WHERE 1=1 AND QESTNR_ID = A.QESTNR_ID ) QESTNR_SJ
, A.QUSTNR_RESPOND_ID qestnrRespondId , A.QESTNR_ID
, A.FRST_REGIST_PNTTM frstRegisterPnttm , A.QUSTNR_RESPOND_ID qestnrRespondId
, A.FRST_REGISTER_ID , A.FRST_REGIST_PNTTM frstRegisterPnttm
, A.LAST_UPDT_PNTTM , A.FRST_REGISTER_ID
, A.LAST_UPDUSR_ID , A.LAST_UPDT_PNTTM
FROM , A.LAST_UPDUSR_ID
LETTNQUSTNRRESPONDINFO A FROM
WHERE 1=1 LETTNQUSTNRRESPONDINFO A
AND QUSTNR_RESPOND_ID = #qestnrRespondId# WHERE 1=1
</select> AND QUSTNR_RESPOND_ID = #qestnrRespondId#
</select>
<!-- 응답자정보(설문조사)::목록조회_게시물정보 -->
<select id="QustnrRespondManage.selectQustnrRespondManage" parameterClass="comDefaultVO" resultClass="egovMap"> <!-- 응답자정보(설문조사)::목록조회_게시물정보 -->
<![CDATA[ <select id="QustnrRespondManage.selectQustnrRespondManage" parameterClass="comDefaultVO" resultClass="egovMap">
SELECT <![CDATA[
( SELECT QUSTNR_SJ FROM LETTNQESTNRINFO WHERE 1=1 AND QESTNR_ID = A.QESTNR_ID ) QESTNR_SJ SELECT
, A.QESTNR_ID ( SELECT QUSTNR_SJ FROM LETTNQESTNRINFO WHERE 1=1 AND QESTNR_ID = A.QESTNR_ID ) QESTNR_SJ
, A.QUSTNR_RESPOND_ID qestnrRespondId , A.QESTNR_ID
, A.FRST_REGIST_PNTTM frstRegisterPnttm , A.QUSTNR_RESPOND_ID qestnrRespondId
, A.FRST_REGISTER_ID , A.FRST_REGIST_PNTTM frstRegisterPnttm
, (SELECT USER_NM FROM COMVNUSERMASTER WHERE ESNTL_ID = A.FRST_REGISTER_ID) FRST_REGISTER_NM , A.FRST_REGISTER_ID
, A.LAST_UPDT_PNTTM , (SELECT USER_NM FROM COMVNUSERMASTER WHERE ESNTL_ID = A.FRST_REGISTER_ID) FRST_REGISTER_NM
, A.LAST_UPDUSR_ID , A.LAST_UPDT_PNTTM
FROM , A.LAST_UPDUSR_ID
LETTNQUSTNRRESPONDINFO A FROM
WHERE 1=1 LETTNQUSTNRRESPONDINFO A
]]> WHERE 1=1
<isNotEmpty property="searchKeyword"> ]]>
<isNotEqual property="searchKeyword" compareValue=""> <isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue=""> <isNotEqual property="searchKeyword" compareValue="">
AND ( RESPOND_NM LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') ) <isEqual property="searchCondition" compareValue="">
</isEqual> AND ( RESPOND_NM LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') )
<isEqual property="searchCondition" compareValue="RESPOND_NM"> </isEqual>
AND RESPOND_NM LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') <isEqual property="searchCondition" compareValue="RESPOND_NM">
</isEqual> AND RESPOND_NM LIKE CONCAT(CONCAT('%', #searchKeyword#), '%')
</isNotEqual> </isEqual>
</isNotEmpty> </isNotEqual>
<![CDATA[ </isNotEmpty>
ORDER BY A.FRST_REGIST_PNTTM DESC <![CDATA[
LIMIT #recordCountPerPage# OFFSET #firstIndex# ORDER BY A.FRST_REGIST_PNTTM DESC
]]> LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select> ]]>
</select>
<!-- 응답자정보(설문조사)::목록조회_게시물 총갯수 -->
<select id="QustnrRespondManage.selectQustnrRespondManageCnt" parameterClass="comDefaultVO" resultClass="int"> <!-- 응답자정보(설문조사)::목록조회_게시물 총갯수 -->
SELECT <select id="QustnrRespondManage.selectQustnrRespondManageCnt" parameterClass="comDefaultVO" resultClass="int">
COUNT(*) totcnt SELECT
FROM LETTNQUSTNRRESPONDINFO COUNT(*) totcnt
WHERE 1=1 FROM LETTNQUSTNRRESPONDINFO
<isNotEmpty property="searchKeyword"> WHERE 1=1
<isNotEqual property="searchKeyword" compareValue=""> <isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue=""> <isNotEqual property="searchKeyword" compareValue="">
AND ( RESPOND_NM LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') ) <isEqual property="searchCondition" compareValue="">
</isEqual> AND ( RESPOND_NM LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') )
<isEqual property="searchCondition" compareValue="RESPOND_NM"> </isEqual>
AND RESPOND_NM LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') <isEqual property="searchCondition" compareValue="RESPOND_NM">
</isEqual> AND RESPOND_NM LIKE CONCAT(CONCAT('%', #searchKeyword#), '%')
</isNotEqual> </isEqual>
</isNotEmpty> </isNotEqual>
</select> </isNotEmpty>
</select>
<!-- 응답자정보(설문조사)::입력 -->
<insert id="QustnrRespondManage.insertQustnrRespondManage"> <!-- 응답자정보(설문조사)::입력 -->
<![CDATA[ <insert id="QustnrRespondManage.insertQustnrRespondManage">
INSERT INTO LETTNQUSTNRRESPONDINFO ( <![CDATA[
QUSTNR_TMPLAT_ID INSERT INTO LETTNQUSTNRRESPONDINFO (
, QESTNR_ID QUSTNR_TMPLAT_ID
, QUSTNR_RESPOND_ID , QESTNR_ID
, EDU_APLCT_ORD , QUSTNR_RESPOND_ID
, EDU_CHASI_ORD , EDU_APLCT_ORD
, QESTNR_RESPONDENT_COUNT , EDU_CHASI_ORD
, QESTNR_PARTICIPANT_COUNT , QESTNR_RESPONDENT_COUNT
, FRST_REGIST_PNTTM , QESTNR_PARTICIPANT_COUNT
, FRST_REGISTER_ID , FRST_REGIST_PNTTM
, LAST_UPDT_PNTTM , FRST_REGISTER_ID
, LAST_UPDUSR_ID , LAST_UPDT_PNTTM
)VALUES( , LAST_UPDUSR_ID
#qestnrTmplatId# )VALUES(
, #qestnrId# #qestnrTmplatId#
, #qestnrRespondId# , #qestnrId#
, #eduAplctOrd# , #qestnrRespondId#
, #eduChasiOrd# , #eduAplctOrd#
, #qestnrParticipant# , #eduChasiOrd#
, #qestnrRespondent# , #qestnrParticipant#
, NOW() , #qestnrRespondent#
, #frstRegisterId# , NOW()
, NOW() , #frstRegisterId#
, #lastUpdusrId# , NOW()
) , #lastUpdusrId#
]]> )
</insert> ]]>
</insert>
</sqlMap> </sqlMap>

View File

@ -19,9 +19,10 @@
<!-- 응답자정보(설문조사)::수정 --> <!-- 응답자정보(설문조사)::수정 -->
<update id="QustnrRespondManage.updateQustnrRespondManage"> <update id="QustnrRespondManage.updateQustnrRespondManage">
/*QustnrRespondManage.updateQustnrRespondManage*/
UPDATE LETTNQUSTNRRESPONDINFO UPDATE LETTNQUSTNRRESPONDINFO
SET SET
LAST_UPDT_PNTTM = NOW() LAST_UPDT_PNTTM = SYSDATE
, LAST_UPDUSR_ID = #lastUpdusrId# , LAST_UPDUSR_ID = #lastUpdusrId#
<isNotNull property="qestnrParticipant"> <isNotNull property="qestnrParticipant">
, QESTNR_RESPONDENT_COUNT = #qestnrParticipant# , QESTNR_RESPONDENT_COUNT = #qestnrParticipant#

View File

@ -123,12 +123,22 @@
<select id="VEEduMIXDAO.selectList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO"> <select id="VEEduMIXDAO.selectList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
/* VEEduMIXDAO.selectList */ /* VEEduMIXDAO.selectList */
SELECT SELECT
qe.QESTNR_ID AS qestnrId , /* 설문했으면 ID가 있음 */
vadi.APLCT_STATE_CD AS aplctStateCd, /* 이수 상태 */ vadi.APLCT_STATE_CD AS aplctStateCd, /* 이수 상태 */
vadi.CNCL_ATCH_FILE_ID AS cnclAtchFileId, vadi.CNCL_ATCH_FILE_ID AS cnclAtchFileId,
vadi.CNCL_CN AS cnclCn, vadi.CNCL_CN AS cnclCn,
le.MBER_NM AS userNm, le.MBER_NM AS userNm,
<include refid="VEEduMIXDAO.select_column_name"/> <include refid="VEEduMIXDAO.select_column_name"/>,
CASE
WHEN EXISTS (/* 설문조사 */
SELECT
1
FROM
LETTNQESTNRRSLTDETAIL lersltD
WHERE
lersltD.respond_id = a.USER_ID
AND a.edu_aplct_ord = lersltD.edu_aplct_ord ) THEN 1
ELSE 0
END AS qestRsltExists
FROM FROM
<include refid="VEEduMIXDAO.table_name"/> a <include refid="VEEduMIXDAO.table_name"/> a
JOIN ve_prcs_aplct_prd vpap ON JOIN ve_prcs_aplct_prd vpap ON
@ -138,8 +148,6 @@
/* AND vpap.PRCS_APLCT_PRD_ORD = vadi.PRCS_APLCT_PRD_ORD */ /* AND vpap.PRCS_APLCT_PRD_ORD = vadi.PRCS_APLCT_PRD_ORD */
JOIN LETTNGNRLMBER le ON JOIN LETTNGNRLMBER le ON
a.USER_ID = le.MBER_ID a.USER_ID = le.MBER_ID
LEFT JOIN LETTNQESTNRINFO qe ON
a.USER_ID = qe.FRST_REGISTER_ID
WHERE WHERE
1=1 1=1
<isNotEmpty property="prcsOrd"> <isNotEmpty property="prcsOrd">

View File

@ -633,12 +633,17 @@
vadi.APLCT_STATE_CD AS aplctStateCd, vadi.APLCT_STATE_CD AS aplctStateCd,
vadi.CNCL_ATCH_FILE_ID AS cnclAtchFileId, vadi.CNCL_ATCH_FILE_ID AS cnclAtchFileId,
vadi.CNCL_CN AS cnclCn, vadi.CNCL_CN AS cnclCn,
CASE WHEN EXISTS ( /* 설문조사 */ CASE
SELECT 1 WHEN EXISTS (/* 설문조사 */
FROM lettnqestnrrslt lerslt SELECT
WHERE lerslt.respond_id = 'USRCNFRM_00000002720' 1
AND vpap.PRCS_APLCT_PRD_ORD = lerslt.edu_aplct_ord FROM
) THEN 1 ELSE 0 END as qestRsltExists LETTNQESTNRRSLTDETAIL lersltD
WHERE
lersltD.respond_id = a.USER_ID
AND a.edu_aplct_ord = lersltD.edu_aplct_ord ) THEN 1
ELSE 0
END AS qestRsltExists
from from
VE_EDU_APLCT a VE_EDU_APLCT a
join ve_prcs_aplct_prd vpap join ve_prcs_aplct_prd vpap
@ -723,4 +728,23 @@
PRCS_APLCT_PRD_ORD = #prcsAplctPrdOrd# PRCS_APLCT_PRD_ORD = #prcsAplctPrdOrd#
AND EDU_APLCT_ORD = #eduAplctOrd# AND EDU_APLCT_ORD = #eduAplctOrd#
</select> </select>
<select id="VEPrcsAplctPrdDAO.selectSchduleManagerList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
/*VEPrcsAplctPrdDAO.selectSchduleManagerList*/
SELECT
a.PRCS_APLCT_PRD_ORD as prcsAplctPrdOrd
, a.PRCS_ORD as prcsOrd
, TO_CHAR(TO_DATE(a.EDU_STRT_PNTTM, 'YYYY.MM.DD'), 'YYYY-MM-DD') AS "start" /*시작*/
, TO_CHAR(TO_DATE(a.EDU_DDLN_PNTTM, 'YYYY.MM.DD'), 'YYYY-MM-DD') AS "end" /*종료*/
, b.PRCS_NM AS title
, b.PRCS_CN AS prcsCn
FROM
ve_prcs_aplct_prd a
LEFT JOIN VE_PRCS b
ON a.prcs_ord = b.prcs_ord
where
a.LCTR_DIV_CD ='60'
AND SUBSTRING(a.EDU_STRT_PNTTM, 1, 7) = TO_CHAR(TO_DATE(#sTodate#,'YYYYMMDD')+ 7,'YYYY.MM')
</select>
</sqlMap> </sqlMap>

View File

@ -418,6 +418,8 @@
<th>신청자</th> <th>신청자</th>
<th>교육이수여부</th> <th>교육이수여부</th>
<th>교육이수상태변경</th> <th>교육이수상태변경</th>
<th>설문조사</th>
<th>이수증</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -438,6 +440,26 @@
<button type="button" class="btn_type04" onclick="fn_statusChg('<c:out value="${list.eduAplctOrd }" />', '20')">이수</button> <button type="button" class="btn_type04" onclick="fn_statusChg('<c:out value="${list.eduAplctOrd }" />', '20')">이수</button>
<button type="button" class="btn_type05" onclick="fn_statusChg('<c:out value="${list.eduAplctOrd }" />', '10')">미이수</button> <button type="button" class="btn_type05" onclick="fn_statusChg('<c:out value="${list.eduAplctOrd }" />', '10')">미이수</button>
</td> </td>
<td>
<c:choose>
<c:when test="${list.qestRsltExists }">
<button type="button" class="btn_type04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">설문결과</button>
</c:when>
<c:otherwise>
미입력
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${list.qestRsltExists }">
<button type="button" title="이수증" class="btn_type04" onclick="fncCmpltCrtfc('<c:out value="${info.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증</button>
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</td>
</tr> </tr>
</c:forEach> </c:forEach>
</c:when> </c:when>
@ -471,5 +493,26 @@
</div> </div>
</form:form> </form:form>
<!-- //cont --> <!-- //cont -->
<script src="http://119.193.215.98:8093/ReportingServer/html5/js/crownix-viewer.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://119.193.215.98:8093/ReportingServer/html5/css/crownix-viewer.min.css">
<script>
/*
* 오버레이 방식
*/
function fncCmpltCrtfc(p_prcsAplctPrdOrd, p_eduAplctOrd){
var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service');
viewer.hideToolbarItem(["save"]);
viewer.showToolbarItem(["print_pdf"]);
//viewer.openFile('cmplt_crtfc_20231030.mrd');
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [cmplt_crtfc_20231030.json]');
viewer.openFile('cmplt_crtfc_20231030.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='+p_prcsAplctPrdOrd+'&eduAplctOrd='+p_eduAplctOrd+']');
}
</script>
</body> </body>
</html> </html>

View File

@ -470,8 +470,8 @@
<th>신청일</th> <th>신청일</th>
<th>확정여부</th> <th>확정여부</th>
<th>이수여부</th> <th>이수여부</th>
<th>설문조사</th> <!-- <th>설문조사</th>
<th>이수증</th> <th>이수증</th> -->
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -495,26 +495,26 @@
<td> <td>
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/> <ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
</td> </td>
<td> <%-- <td>
<c:choose> <c:choose>
<c:when test="${list.qestnrId }"> <c:when test="${list.qestRsltExists }">
<button type="button" class="btn_type04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">설문결과</button> <button type="button" class="btn_type04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">설문결과</button>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
미입력 미입력
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
</td> </td>
<td> <td>
<c:choose> <c:choose>
<c:when test="${list.qestnrId }"> <c:when test="${list.qestnrId }">
<%-- <button type="button" class="btnType04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">출력</button> --%> <button type="button" class="btnType04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">출력</button>
<button type="button" class="btn_type04">출력</button> <button type="button" class="btn_type04">출력</button>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
</td> </td> --%>
</tr> </tr>
</c:forEach> </c:forEach>
</c:when> </c:when>

View File

@ -0,0 +1,149 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%
/**
* @Class Name : instrCostPopup.jsp
* @Description : 강사비용 팝업
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.09 김봉호 최초 생성
* @author 안주영
* @since 2022.01.04
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
</script>
<title>강의배정팝업</title>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
numberSum();
$("input:text[numberOnly]").on("keyup", function() {
$(this).val($(this).val().replace(/[^0-9]/g,""));
$(this).val($(this).val().replace(/\B(?=(\d{3})+(?!\d))/g, ','));
numberSum();
});
});
function numberSum(){
// 강사료 계산 [시작]
var instrFee = $("#instrFee").val();
instrFee = instrFee.replaceAll(",", "");
var trafficFee = $("#trafficFee").val();
trafficFee = trafficFee.replaceAll(",", "");
var instrFeeSum = Number(instrFee) + Number(trafficFee);
$("#instrFeeSum").val(instrFeeSum);
$("#instrFeeSum").val($("#instrFeeSum").val().replace(/\B(?=(\d{3})+(?!\d))/g, ','));
// 강사료 계산 [끝]
// 전체 계산 [시작]
var totalSum;
$("#totalSum").val(instrFeeSum);
$("#totalSum").val($("#totalSum").val().replace(/\B(?=(\d{3})+(?!\d))/g, ','));
// 전체 계산 [끝]
}
function fnSaveFee(flag){
var msg = "";
var msgDetail = "";
$("#instrFee").val($("#instrFee").val().replaceAll(',',''));
$("#trafficFee").val($("#trafficFee").val().replaceAll(',',''));
if(flag == 'Y') {
msg = "확정";
msgDetail = "(확정 후에는 수정이 불가능합니다.)"
} else {
msg = "저장(미확정)"
}
$("#sbmtYn").val(flag);
var data1 = new FormData(document.getElementById("createForm"));
if (confirm(msg+" 하시겠습니까?" +"\n"+msgDetail)) {
$.ajax({
type: "POST",
url: "${pageContext.request.contextPath}/kccadr/oprtn/adultVisitEdu/popup/instrFeeRegAjax.do",
//data: JSON.stringify(data),
data: data1,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(returnData.result == 'success'){
alert("정상적으로 "+ msg +" 되었습니다.");
opener.location.reload();
self.close();
}else{
alert(returnData.message);
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fncPopClose(){
self.close();
}
</script>
</head>
<body>
<form:form id="createForm" name="createForm" method="post" commandName="vEInstrFeeAcmdtVO" onsubmit="return false;">
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="<c:out value="${info.eduAplctOrd}" />">
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value="${info.eduChasiOrd}" />">
<input type="hidden" name="instrFeeOrd" id="instrFeeOrd" value="<c:out value="${info.instrFeeOrd}" />" />
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
<div class="area_popup">
<div class="cont_popup">
<div class="tb_tit01">
<p>교육 내용에 대한 전반적 만족도 평가</p>
</div>
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<c:if test="${info != null }">
<c:if test="${info.sbmtYn ne 'Y'}">
<button type="button" class="btn_type04" onclick="fnSaveFee('Y')">확정</button>
<button type="button" class="btn_type04" onclick="fnSaveFee('N')">저장</button>
</c:if>
</c:if>
<button type="button" class="btn_type02" onclick="fncPopClose()">닫기</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</form:form>
</body>
</html>

View File

@ -56,6 +56,7 @@ $(document).ready(function(){
// dayDiff 값을 추가합니다. // dayDiff 값을 추가합니다.
newRow.append('<td class="edup_days">' + dayDiff + '</td>'); newRow.append('<td class="edup_days">' + dayDiff + '</td>');
console.log('currentMonth : ' ,currentMonth);
// 교육일정 칼럼을 초기화합니다. // 교육일정 칼럼을 초기화합니다.
for (var i = 1; i <= 12; i++) { for (var i = 1; i <= 12; i++) {
// 다음 월 class // 다음 월 class
@ -68,6 +69,7 @@ $(document).ready(function(){
} else if (i === currentMonth) { } else if (i === currentMonth) {
cellClass = "edup_this"; cellClass = "edup_this";
} }
if (i === parseInt(startDt.split('.')[1])) { if (i === parseInt(startDt.split('.')[1])) {
newRow.append('<td class="' + cellClass + '" onclick="fncGoDetail(\'' + item.prcsAplctPrdOrd + '\')" style="cursor:pointer;">' + parseInt(startDt.split('.')[2]) + '</td>'); newRow.append('<td class="' + cellClass + '" onclick="fncGoDetail(\'' + item.prcsAplctPrdOrd + '\')" style="cursor:pointer;">' + parseInt(startDt.split('.')[2]) + '</td>');
} else { } else {
@ -469,7 +471,7 @@ $(document).ready(function(){
<div class="tab_content"> <div class="tab_content">
<!--
<div class="list_top"> <div class="list_top">
<div class="list_top_left"> <div class="list_top_left">
<label for="" class="label">교육과정 선택</label> <label for="" class="label">교육과정 선택</label>
@ -492,7 +494,7 @@ $(document).ready(function(){
<button type="button" class="btnType01">검색</button> <button type="button" class="btnType01">검색</button>
</div> </div>
</div> </div>
-->
<div class="edup_result"> <div class="edup_result">
<div>총 <span>6</span>개의 검색결과가 있습니다.</div> <div>총 <span>6</span>개의 검색결과가 있습니다.</div>
<ul> <ul>

View File

@ -84,6 +84,200 @@ $(document).ready(function(){
} }
// 설문조사 버튼 클릭 이벤트
function selectQestnInfo(id, action){
$('#eduAplctOrd').val(id);
if(action == 'insert'){
$('#popupUpdate').hide();
$('#popupInsert').show();
}
else if(action == 'update'){
$('#popupUpdate').show();
$('#popupInsert').hide();
}
$.ajax({
type:"POST"
,url:"${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/selectQustnrCommonAjax.do"
,data: {
"lctrDivCd" : "50" // 기반강화 -> 기소유예(60)도 같이써야함
// ,"eduChasiOrd" : chId
}
,dataType:'json'
,success:function(returnData){
console.log('returnData : ', returnData);
fn_makeQestnTbody(returnData);
// update면 선택한 목록 가져오기
if(action == 'update'){
fn_selectQestnTbody();
}
}
,error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
// 설문조사 문항 가져오기
function fn_makeQestnTbody(returnData){
$('#qustnrTmplatId').val(returnData.qustnrTmplatId);
$('#qestnrId').val(returnData.qestnrId);
var data = returnData.Comtnqustnrqesitm; // 이 변수에 AJAX를 통해 가져온 데이터가 저장되어 있다고 가정
$('#qestmInfoSize').val(data.length);
// tbody에 새로운 행들을 추가
var $tbody = $("#qestnTbody");
$tbody.empty(); // 기존의 tbody 내용을 비웁니다.
$.each(data, function(index, item) {
var $row = $("<tr></tr>");
// hiddem값 셋팅
$row.append('<input type="hidden" name="resultList[' + index + '].qestnrId" value="' + item.qestnrId + '">');
$row.append('<input type="hidden" name="resultList[' + index + '].qestnrQesitmId" value="' + item.qestnrQesitmId + '">');
$row.append('<input type="hidden" id="qustnrRsltId_'+index+'" name="resultList[' + index + '].qustnrRsltId" value="">');
// 첫 번째 열: 설문 문항
$row.append('<th scope="row" class="t_left">' + (index + 1) + ') ' + item.qestnCn + '</th>');
// 평가 옵션 열 추가
var inputTypes = ['verySatisfied', 'satisfied', 'neither', 'dissatisfied', 'veryDissatisfied'];
$.each(inputTypes, function(i, type) {
var inputId = type + '_' + index;
var $cell = $('<td></td>');
var $label = $('<label for="' + inputId + '" class="label">' + type + '</label>');
var $input = $('<input type="radio" class="popupInput" id="' + inputId + '" name="resultList[' + index + '].responseRadio" value="' + type + '">');
$cell.append($label).append($input);
$row.append($cell);
});
$tbody.append($row);
});
}
function srvySendSubmit(type){
var isValid = true;
$("#qestnTbody tr").each(function(index) {
// 해당 행의 라디오 버튼이 선택되었는지 확인
if ($("input[type='radio']:checked", this).length === 0) {
isValid = false;
alert("문항 " + (index + 1) + "을(를) 확인해주세요.");
isValid = false;
return false; // 반복 중지
}
});
if (!isValid) {
return false;
}
var masage = "";
if(type == 'i'){
masage = "설문결과를 등록 하시겠습니까?";
$("#qustnrIemType").val("insert")
}else if(type == 'u'){
masage = "설문결과를 수정 하시겠습니까?";
$("#qustnrIemType").val("update")
}
if(confirm(masage)){
var data = new FormData(document.getElementById("srvyPopupForm"));
$.ajax({
type:"POST"
,url:"${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/mergeSrvyInfoAjax.do"
,data: data
,dataType:'json'
,async: false
,processData: false
,contentType: false
,cache: false
,success:function(returnData){
if(returnData.result == 'success'){
if(type == 'i'){
alert("설문결과가 등록 되었습니다.");
}else if(type == 'u'){
alert("설문결과가 수정 되었습니다.");
}
window.location.reload();
}else if(returnData.result == 'fail'){
alert(returnData.msg);
location.href="${pageContext.request.contextPath}/web/user/login/ssoLogin.do?test=test";
}
}
,error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fn_selectQestnTbody(){
var data = new FormData(document.getElementById("srvyPopupForm"));
$.ajax({
type:"POST"
,url:"${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/selectSrvyInfoAjax.do"
,data: data
,dataType:'json'
,async: false
,processData: false
,contentType: false
,cache: false
,success:function(returnData){
if(returnData.result == 'success'){
$('#qestnrRespondId').val(returnData.respondId);
$.each(returnData.data, function(index, item) {
console.log('#'+item.verySatisfied+'_'+index);
$('#qustnrRsltId'+'_'+index).val(item.qustnrRsltId);
if(item.verySatisfied == '1') {
$('#verySatisfied'+'_'+index).prop('checked', true);
}
if(item.satisfied == '1') {
$('#satisfied'+'_'+index).prop('checked', true);
}
if(item.neither == '1') {
$('#neither'+'_'+index).prop('checked', true);
}
if(item.dissatisfied == '1') {
$('#dissatisfied'+'_'+index).prop('checked', true);
}
if(item.veryDissatisfied == '1') {
$('#veryDissatisfied'+'_'+index).prop('checked', true);
}
});
console.log('returnData : ', returnData);
}else if(returnData.result == 'fail'){
alert(returnData.msg);
// location.href="${pageContext.request.contextPath}/web/user/login/ssoLogin.do?test=test";
}
}
,error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
</script> </script>
<!-- content --> <!-- content -->
@ -103,7 +297,6 @@ $(document).ready(function(){
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" /> <input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" /> <input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<div class="cont_tit"> <div class="cont_tit">
<h2>신청목록</h2> <h2>신청목록</h2>
<div class="sns_go"> <div class="sns_go">
@ -146,7 +339,7 @@ $(document).ready(function(){
<caption>교육 목록표</caption> <caption>교육 목록표</caption>
<colgroup> <colgroup>
<col style="width:35%;"> <col style="width:35%;">
<col style="width:;"> <col style="width:10%;">
<col style="width:13%;"> <col style="width:13%;">
<col style="width:13%;"> <col style="width:13%;">
<col style="width:13%;"> <col style="width:13%;">
@ -174,10 +367,11 @@ $(document).ready(function(){
<!-- 신청 승인상태 20 and 현재가 교육종료보다 이후 체크 1 --> <!-- 신청 승인상태 20 and 현재가 교육종료보다 이후 체크 1 -->
<c:choose> <c:choose>
<c:when test="${list.aprvlCd eq 20 and list.dateChk eq 1 and not list.qestRsltExists }"> <c:when test="${list.aprvlCd eq 20 and list.dateChk eq 1 and not list.qestRsltExists }">
<button type="button" title="설문등록" class="btnType04" data-tooltip="edu_in">설문등록</button> <button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','insert')" title="팝업 열림">설문등록</button>
<!-- <button type="button" title="설문등록" class="btnType04" data-tooltip="edu_in">설문등록</button> -->
</c:when> </c:when>
<c:when test="${list.aprvlCd eq 20 and list.dateChk eq 1 and list.qestRsltExists }"> <c:when test="${list.aprvlCd eq 20 and list.dateChk eq 1 and list.qestRsltExists }">
설문완료 <button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','update')" title="팝업 열림">설문수정</button>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
- -
@ -187,7 +381,7 @@ $(document).ready(function(){
<td> <td>
<c:choose> <c:choose>
<c:when test="${list.qestRsltExists }"> <c:when test="${list.qestRsltExists }">
<button type="button" title="출력" class="btnType03">출력</button> <button type="button" title="이수증" class="btnType01" onclick="fncCmpltCrtfc('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증</button>
</c:when> </c:when>
<c:when test="${list.dateChk eq 1 and not list.qestRsltExists}"> <c:when test="${list.dateChk eq 1 and not list.qestRsltExists}">
교육완료 교육완료
@ -197,7 +391,6 @@ $(document).ready(function(){
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
<button type="button" title="이수증" class="btnType01" onclick="fncCmpltCrtfc('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증테스트</button>
</td> </td>
<!-- <td>-</td> --> <!-- <td>-</td> -->
@ -228,6 +421,72 @@ $(document).ready(function(){
</div> </div>
<!-- 강의만족도 결과 등록 팝업 -->
<form id="srvyPopupForm" name="srvyPopupForm" method="post" >
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="">
<input type="hidden" name="qustnrTmplatId" id="qustnrTmplatId" value="${qustnrTmplatId}">
<input type="hidden" name="qestnrId" id="qestnrId" value="${qestnrId}">
<input type="hidden" id="qestmInfoSize" value="${fn:length(Comtnqustnrqesitm)}">
<input type="hidden" name="qestnrRespondId" id="qestnrRespondId" value="">
<input type="hidden" name="qustnrIemType" id="qustnrIemType" value="">
<div class="tooltip-wrap">
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop01" data-focus="sub37_pop01" data-focus-prev="sub37_pop01_close">
<div class="popup_tit">
<p>강의만족도 결과 등록</p>
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop01_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="pop_tb_type02">
<table>
<caption>평가문항, 매우만족, 만족, 보통, 불만족, 매우 불만족 입력</caption>
<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 id="qestnTbody">
</tbody>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" id="popupInsert" onclick="srvySendSubmit('i');">제출</button>
<button type="button" class="btnType05" id="popupUpdate" onclick="srvySendSubmit('u');">수정</button>
<button type="button" class="btnType02 tooltip-close" data-focus-next="sub37_pop01" data-focus="sub37_pop01_close">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
</form>
<!--// 강의만족도 결과 등록 팝업-->
<script src="http://119.193.215.98:8093/ReportingServer/html5/js/crownix-viewer.min.js"></script> <script src="http://119.193.215.98:8093/ReportingServer/html5/js/crownix-viewer.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://119.193.215.98:8093/ReportingServer/html5/css/crownix-viewer.min.css"> <link rel="stylesheet" type="text/css" href="http://119.193.215.98:8093/ReportingServer/html5/css/crownix-viewer.min.css">
<script> <script>
@ -235,7 +494,9 @@ $(document).ready(function(){
* 오버레이 방식 * 오버레이 방식
*/ */
function fncCmpltCrtfc(p_prcsAplctPrdOrd, p_eduAplctOrd){ function fncCmpltCrtfc(p_prcsAplctPrdOrd, p_eduAplctOrd){
console.log('p_eduAplctOrd : ', p_eduAplctOrd);
console.log('p_prcsAplctPrdOrd : ', p_prcsAplctPrdOrd);
var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service'); var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service');
viewer.hideToolbarItem(["save"]); viewer.hideToolbarItem(["save"]);

View File

@ -206,9 +206,9 @@
<div class="tb_tit02_left"> <div class="tb_tit02_left">
<div class="t_best q_title">Q&amp;A</div> <div class="t_best q_title">Q&amp;A</div>
</div> </div>
<div class="btn_wrap1"> <!-- <div class="btn_wrap1"> -->
<button type="button" title="최근 교육 목록 더보기" class="con_more" onclick="location.href='/offedu/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do'">더보기</button> <!-- <button type="button" title="최근 교육 목록 더보기" class="con_more" onclick="location.href='/offedu/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do'">더보기</button> -->
</div> <!-- </div> -->
</div> </div>
<div class="btn_right"> <div class="btn_right">
<button type="button" class="btnType04" data-tooltip="target_confirm_popup">교육문의</button> <button type="button" class="btnType04" data-tooltip="target_confirm_popup">교육문의</button>

View File

@ -11,71 +11,32 @@
<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">
<style type="text/css">
.fc-day-sat { color:#0000FF; } /* 토요일 */
.fc-day-sun { color:#FF0000; } /* 일요일 */
</style>
<link type="text/css" rel="stylesheet" href="<c:url value='/js/fullcalendar/5.9.0/main.css' />" />
<script type="text/javascript" src="<c:url value='/js/fullcalendar/5.9.0/main.js'/>"></script>
<script type="text/javascript" src="<c:url value='/js/fullcalendar/5.9.0/locales-all.js'/>"></script>
<script type="text/javaScript" language="javascript"> <script type="text/javaScript" language="javascript">
$(document).ready(function(){ $(document).ready(function(){
$('#schduleManager').hide();
$('.tab_button').click(function(){ $('.tab_button').click(function(){
var type = $(this).data('info'); var type = $(this).data('info');
// list 타입이면 return; // list 타입이면 return;
if(type === 'list') if(type === 'list'){
$('#schduleManager').hide();
return false; return false;
}
var data = fncEduSelect();
console.log('data : ', data); $('#schduleManager').show();
// 월 하이라이트 체크
fn_MonthHL();
// 현재 날짜를 가져옵니다.
var today = new Date();
var currentMonth = today.getMonth() + 1;
// 데이터 추가 전 촐기화
$(".edu_program tbody").empty();
// 반복시작
$.each(data, function(index, item) {
var prcsNm = item.prcsNm;
var startDt = item.eduStrtPnttm;
// 교육 일수 구하기
var dayDiff = fn_dayDiff(item);
var newRow = $("<tr></tr>");
// prcsNm 값을 추가합니다.
newRow.append('<td class="edup_title">' + prcsNm + '</td>');
// dayDiff 값을 추가합니다.
newRow.append('<td class="edup_days">' + dayDiff + '</td>');
// 교육일정 칼럼을 초기화합니다.
for (var i = 1; i <= 12; i++) {
// 다음 월 class
var cellClass = "edup_pass"; // 기본값
// 전 월 class
if (i < currentMonth) {
cellClass = "edup_pre";
// 현재 월
} else if (i === currentMonth) {
cellClass = "edup_this";
}
if (i === parseInt(startDt.split('.')[1])) {
newRow.append('<td class="' + cellClass + '" onclick="fncGoDetail(\'' + item.prcsAplctPrdOrd + '\')" style="cursor:pointer;">' + parseInt(startDt.split('.')[2]) + '</td>');
} else {
newRow.append('<td class="' + cellClass + '"></td>');
}
}
// 테이블에 새로운 행을 추가합니다.
$(".edu_program tbody").append(newRow);
});
//-- /반복끝
}); });
$(".aplctBtn button").click(function(){ $(".aplctBtn button").click(function(){
var regForm = document.regForm; var regForm = document.regForm;
regForm.prcsAplctPrdOrd.value = $(this).data('info'); regForm.prcsAplctPrdOrd.value = $(this).data('info');
@ -103,7 +64,6 @@ $(document).ready(function(){
var ddlnCdText = ''; var ddlnCdText = '';
console.log('');
if (currentDate < strtPnttm) { if (currentDate < strtPnttm) {
ddlnCdText = "접수전"; ddlnCdText = "접수전";
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) { } else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
@ -125,6 +85,118 @@ $(document).ready(function(){
}); });
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('schduleManager');
var calendar = new FullCalendar.Calendar(calendarEl, {
locale: 'ko',
timezone : "local",
weekends : true,
editable : false,
firstDay : 0, //월요일이 먼저 오게 하려면 1
dayMaxEvents: true,
navLinks: false,
customButtons: {
myCustomButton: {
text: '오늘',
click: function(event, elm) {
alert('clicked the custom button!');
}
},viewWeekends : {
text : '주말',
click : function (event, elm) {
calendar.setOption("weekends" , calendar.getOption("weekends") ? false : true);
}
}
},buttonText: {
listMonth: '일정'
},
headerToolbar: {
//left: 'prevYear nextYear today',
left: 'today',
center: 'prev title next',
//right: 'dayGridMonth,listMonth'
right: ''
},
eventSources: [
{
events: function(info, successCallback, failureCallback) {
var events = [];
console.log('info', info);
var s_todate = info.startStr;
ex_s_todate = info.startStr;
var data = fncEduSelect(s_todate);
console.log(data);
data.forEach(item => {
console.log(item);
item.url = '${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduAplctDetail.do?prcsAplctPrdOrd='+item.prcsAplctPrdOrd; // 여기서 원하는 URL로 대체
});
events.push({
title: 'title',
start: '2023-11-10',
end: '2023-11-29',
url: '${pageContext.request.contextPath}/detail.do?seq='
}); 
// successCallback(events);
successCallback(data);
/*
$.ajax({
url: '<c:url value="/web/ve/instr/tngrVisitEdu/instrInfo/tngrSchduleManagerAjaxLoadData.do"/>',
type: 'POST',
dataType: 'json',
data: {
searchStartDt : "",
//searchStartDt : "",
searchStartDt : s_todate,
todate : info.start,
searchYearMonth : function(){
return "";
}
},
success: function(data) {
successCallback(data);
// 날짜 계산
// setCalDate(data, info.startStr);
}
}); */
}
}
],
eventContent: function(arg, createElement) {
event.preventDefault();
console.log(arg.event._def.url);
// arg.event._def.url = "#none";
},
eventClick: function(info) {
info.jsEvent.preventDefault();
console.log('info.event._def.extendedProps : ', info);
location.href = info.event.url;
// schDetailPop(info.event._def.extendedProps.schSeq, info.event._def.extendedProps.schChasiSeq);
return false;
},
});
calendar.render();
});
// 대상자 이름, 생년월일, 대상자TB ID // 대상자 이름, 생년월일, 대상자TB ID
function fncEduReg(trgtNm, dBirth, sspnIdtmtTrgtOrd){ function fncEduReg(trgtNm, dBirth, sspnIdtmtTrgtOrd){
var form = document.regForm; var form = document.regForm;
@ -191,10 +263,14 @@ $(document).ready(function(){
$("#monthTemp th:nth-child(" + currentMonth + ")").addClass("edup_this"); $("#monthTemp th:nth-child(" + currentMonth + ")").addClass("edup_this");
} }
function fncEduSelect(){ function fncEduSelect(s_todate){
var returnVal = ''; var returnVal = '';
var form = document.selectForm ;
form.sTodate.value = s_todate;
var data = new FormData(document.getElementById("selectForm")); var data = new FormData(document.getElementById("selectForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduSelectAjax.do"; var url = "${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/selectSchduleManagerListAjax.do";
console.log(data); console.log(data);
$.ajax({ $.ajax({
type:"POST", type:"POST",
@ -206,10 +282,9 @@ $(document).ready(function(){
contentType: false, contentType: false,
cache: false, cache: false,
success:function(returnData){ success:function(returnData){
if(returnData.result == "success"){
console.log('returnData : ', returnData); console.log('returnData : ', returnData);
returnVal = returnData.data; // returnVal = returnData.data;
} returnVal = returnData;
}, },
error:function(request , status, error){ error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
@ -306,6 +381,108 @@ $(document).ready(function(){
$('#trgtNm').val(''); $('#trgtNm').val('');
$('#dBirth').val(''); $('#dBirth').val('');
} }
/*
*##############################################################################
* START
*##############################################################################
*/
// 날짜 계산
function setCalDate(data, startStr) {
// 현재월 구하기
startStr = startStr.substr(0, 10);
console.log('startStr : ', startStr);
startStr = startStr.replace(/-/g, "");
console.log('startStr : ', startStr);
startStr = startStr.replace(/./g, "");
var todayYear = startStr.substring(0,4);
var todayMonth = 0;
var todayDay = startStr.substring(6,8);
if (todayDay == "01") {
todayMonth = startStr.substring(4,6);
}
else {
if (startStr.substring(4,6) == "12") {
todayMonth = "01";
}
else {
todayMonth = parseInt(startStr.substring(4,6), 10) + 1;
if (todayMonth < 10) {
todayMonth = "0" + todayMonth;
}
}
}
// End
//alert(todayMonth);
var monthCnt = 0;
var week1Cnt = 0, week2Cnt = 0, week3Cnt = 0, week4Cnt = 0, week5Cnt = 0, week6Cnt = 0;
var sHtml = "";
for (var j = 0; j < data.length; j++) {
var schStartDate = data[j].start.substr(0, 10);
schStartDate = replaceAll(schStartDate, "-", "");
schStartDate = replaceAll(schStartDate, ".", "");
schStartDate = replaceAll(schStartDate, "/", "");
var thisYear = schStartDate.substring(0,4);
var thisMonth = schStartDate.substring(4,6);
var thisDay = schStartDate.substring(6,8);
var thisWeek = getSecofWeek(schStartDate);
// 해당월 데이터만 처리
if (todayMonth == thisMonth) {
monthCnt++;
if (thisWeek == 1) {
week1Cnt++;
}
else if (thisWeek == 2) {
week2Cnt++;
}
else if (thisWeek == 3) {
week3Cnt++;
}
else if (thisWeek == 4) {
week4Cnt++;
}
else if (thisWeek == 5) {
week5Cnt++;
}
else if (thisWeek == 6) {
week6Cnt++;
}
}
}
sHtml += "전체 : " + monthCnt + "건";
sHtml += " &nbsp;(1주차 : " + week1Cnt + "건";
sHtml += ", &nbsp;&nbsp;2주차 : " + week2Cnt + "건";
sHtml += ", &nbsp;&nbsp;3주차 : " + week3Cnt + "건";
sHtml += ", &nbsp;&nbsp;4주차 : " + week4Cnt + "건";
sHtml += ", &nbsp;&nbsp;5주차 : " + week5Cnt + "건";
sHtml += ", &nbsp;&nbsp;6주차 : " + week6Cnt + "건)";
sHtml += '&nbsp;<button type="button" class="btn_down_excel" onclick="excelDownLoad();">일정현황 엑셀 다운로드</button>';
//$("#weekCnt").html(sHtml);
}
// 해당일 주차 계산
function getSecofWeek(date) {
var d = new Date( date.substring(0,4), parseInt(date.substring(4,6))-1, date.substring(6,8) );
var fd = new Date( date.substring(0,4), parseInt(date.substring(4,6))-1, 1 );
return Math.ceil((parseInt(date.substring(6,8))+fd.getDay())/7);
}
</script> </script>
@ -314,6 +491,7 @@ $(document).ready(function(){
<form name="selectForm" id="selectForm"> <form name="selectForm" id="selectForm">
<input type="hidden" name="lctrDivCd" value="60"> <input type="hidden" name="lctrDivCd" value="60">
<input type="hidden" name="sTodate" value="">
</form> </form>
<form name="confirmForm" id="confirmForm"> <form name="confirmForm" id="confirmForm">
<input type="hidden" name="trgtNm"> <input type="hidden" name="trgtNm">
@ -464,86 +642,9 @@ $(document).ready(function(){
</div> </div>
</div> </div>
<div class="tab_content"> <div class="tab_content" id="schduleManager">
<!-- <div class="list_top">
<div class="list_top_left">
<label for="" class="label">교육과정 선택</label>
<select class="selType1">
<option for="">전체</option>
<option for="">지난교육일정</option>
<option for="">당월교육일정</option>
<option for="">교육예정일정</option>
</select>
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<duet-date-picker identifier="date" name="searchStartDt" class="startDate hydrated" value=""></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<duet-date-picker identifier="date" name="searchEndDt" class="endDate hydrated" value=""></duet-date-picker>
</div>
<button type="button" class="btnType01">검색</button>
</div>
</div> -->
<div class="edup_result">
<div>총 <span>6</span>개의 검색결과가 있습니다.</div>
<ul>
<li class="pass">지난교육일정</li>
<li class="this">당월교육일정</li>
<li class="pre">교육예정일정</li>
</ul>
</div>
<div class="edu_program">
<table>
<caption>교육일정표</caption>
<colgroup>
<col style="width: ;">
<col style="width: ;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
<col style="width:4%;">
</colgroup>
<thead>
<tr>
<th class="first" rowspan="2">교육과정명<br/><span class="ep_text">(상세 내용을 보시려면 과정을 클릭하세요)</span></th>
<th rowspan="2">일수</th>
<th colspan="12">교육일정<sapn class="ep_text">(교육 시작일)</sapn></th>
</tr>
<tr id="monthTemp">
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
<th>10</th>
<th>11</th>
<th>12</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div> </div>
</form:form> </form:form>
</div> </div>

View File

@ -200,6 +200,9 @@
<div class="tb_tit02_left"> <div class="tb_tit02_left">
<div class="t_best q_title">Q&amp;A</div> <div class="t_best q_title">Q&amp;A</div>
</div> </div>
<div class="btn_wrap1">
<button type="button" title="최근 교육 목록 더보기" class="con_more" onclick="location.href='/offedu/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do'">더보기</button>
</div>
</div> </div>
<div class="btn_right"> <div class="btn_right">
<button type="button" class="btnType04" data-tooltip="target_confirm_popup">교육문의</button> <button type="button" class="btnType04" data-tooltip="target_confirm_popup">교육문의</button>

View File

@ -177,6 +177,200 @@ $(document).ready(function(){
location.reload(true); location.reload(true);
} }
} }
// 설문조사 버튼 클릭 이벤트
function selectQestnInfo(id, action){
$('#srvyPopupForm #eduAplctOrd').val(id);
$('#eduAplctOrd').val(id);
if(action == 'insert'){
$('#popupUpdate').hide();
$('#popupInsert').show();
}
else if(action == 'update'){
$('#popupUpdate').show();
$('#popupInsert').hide();
}
$.ajax({
type:"POST"
,url:"${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/selectQustnrCommonAjax.do"
,data: {
"lctrDivCd" : "60" // 기반강화 -> 기소유예(60)도 같이써야함
// ,"eduChasiOrd" : chId
}
,dataType:'json'
,success:function(returnData){
console.log('returnData : ', returnData);
fn_makeQestnTbody(returnData);
// update면 선택한 목록 가져오기
if(action == 'update'){
fn_selectQestnTbody();
}
}
,error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
// 설문조사 문항 가져오기
function fn_makeQestnTbody(returnData){
$('#qustnrTmplatId').val(returnData.qustnrTmplatId);
$('#qestnrId').val(returnData.qestnrId);
var data = returnData.Comtnqustnrqesitm; // 이 변수에 AJAX를 통해 가져온 데이터가 저장되어 있다고 가정
$('#qestmInfoSize').val(data.length);
// tbody에 새로운 행들을 추가
var $tbody = $("#qestnTbody");
$tbody.empty(); // 기존의 tbody 내용을 비웁니다.
$.each(data, function(index, item) {
var $row = $("<tr></tr>");
// hiddem값 셋팅
$row.append('<input type="hidden" name="resultList[' + index + '].qestnrId" value="' + item.qestnrId + '">');
$row.append('<input type="hidden" name="resultList[' + index + '].qestnrQesitmId" value="' + item.qestnrQesitmId + '">');
$row.append('<input type="hidden" id="qustnrRsltId_'+index+'" name="resultList[' + index + '].qustnrRsltId" value="">');
// 첫 번째 열: 설문 문항
$row.append('<th scope="row" class="t_left">' + (index + 1) + ') ' + item.qestnCn + '</th>');
// 평가 옵션 열 추가
var inputTypes = ['verySatisfied', 'satisfied', 'neither', 'dissatisfied', 'veryDissatisfied'];
$.each(inputTypes, function(i, type) {
var inputId = type + '_' + index;
var $cell = $('<td></td>');
var $label = $('<label for="' + inputId + '" class="label">' + type + '</label>');
var $input = $('<input type="radio" class="popupInput" id="' + inputId + '" name="resultList[' + index + '].responseRadio" value="' + type + '">');
$cell.append($label).append($input);
$row.append($cell);
});
$tbody.append($row);
});
}
function srvySendSubmit(type){
var isValid = true;
$("#qestnTbody tr").each(function(index) {
// 해당 행의 라디오 버튼이 선택되었는지 확인
if ($("input[type='radio']:checked", this).length === 0) {
isValid = false;
alert("문항 " + (index + 1) + "을(를) 확인해주세요.");
isValid = false;
return false; // 반복 중지
}
});
if (!isValid) {
return false;
}
var masage = "";
if(type == 'i'){
masage = "설문결과를 등록 하시겠습니까?";
$("#qustnrIemType").val("insert")
}else if(type == 'u'){
masage = "설문결과를 수정 하시겠습니까?";
$("#qustnrIemType").val("update")
}
if(confirm(masage)){
var data = new FormData(document.getElementById("srvyPopupForm"));
$.ajax({
type:"POST"
,url:"${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/mergeSrvyInfoAjax.do"
,data: data
,dataType:'json'
,async: false
,processData: false
,contentType: false
,cache: false
,success:function(returnData){
if(returnData.result == 'success'){
if(type == 'i'){
alert("설문결과가 등록 되었습니다.");
}else if(type == 'u'){
alert("설문결과가 수정 되었습니다.");
}
window.location.reload();
}else if(returnData.result == 'fail'){
alert(returnData.msg);
location.href="${pageContext.request.contextPath}/web/user/login/ssoLogin.do?test=test";
}
}
,error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fn_selectQestnTbody(){
var data = new FormData(document.getElementById("srvyPopupForm"));
$.ajax({
type:"POST"
,url:"${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/selectSrvyInfoAjax.do"
,data: data
,dataType:'json'
,async: false
,processData: false
,contentType: false
,cache: false
,success:function(returnData){
if(returnData.result == 'success'){
$('#qestnrRespondId').val(returnData.respondId);
$.each(returnData.data, function(index, item) {
console.log('#'+item.verySatisfied+'_'+index);
$('#qustnrRsltId'+'_'+index).val(item.qustnrRsltId);
if(item.verySatisfied == '1') {
$('#verySatisfied'+'_'+index).prop('checked', true);
}
if(item.satisfied == '1') {
$('#satisfied'+'_'+index).prop('checked', true);
}
if(item.neither == '1') {
$('#neither'+'_'+index).prop('checked', true);
}
if(item.dissatisfied == '1') {
$('#dissatisfied'+'_'+index).prop('checked', true);
}
if(item.veryDissatisfied == '1') {
$('#veryDissatisfied'+'_'+index).prop('checked', true);
}
});
console.log('returnData : ', returnData);
}else if(returnData.result == 'fail'){
alert(returnData.msg);
// location.href="${pageContext.request.contextPath}/web/user/login/ssoLogin.do?test=test";
}
}
,error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
</script> </script>
@ -253,7 +447,7 @@ $(document).ready(function(){
<col style="width:10%;"> <col style="width:10%;">
<col style="width:13%;"> <col style="width:13%;">
<col style="width:13%;"> <col style="width:13%;">
<col style="width:13%;"> <%-- <col style="width:13%;"> --%>
</colgroup> </colgroup>
<thead> <thead>
<tr> <tr>
@ -261,7 +455,7 @@ $(document).ready(function(){
<th>교육일자</th> <th>교육일자</th>
<th>신청결과</th> <th>신청결과</th>
<th>설문조사</th> <th>설문조사</th>
<th>이수증</th> <!-- <th>이수증</th> -->
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -328,23 +522,23 @@ $(document).ready(function(){
and list.aplctStateCd ne 30 and list.aplctStateCd ne 30
and list.aprvlCd ne 40 and list.aprvlCd ne 40
}"> }">
<button type="button" title="설문등록" class="btnType04" data-tooltip="edu_in">설문등록</button> <button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','insert')" title="팝업 열림">설문등록</button>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq 20 and list.dateChk eq 1 and list.qestRsltExists }"> <c:when test="${list.aprvlCd eq 20 and list.dateChk eq 1 and list.qestRsltExists }">
설문완료 <button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','update')" title="팝업 열림">설문수정</button>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
- -
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
</td> </td>
<td> <!-- <td> -->
<!-- <!--
취소상태 취소상태
list.aplctStateCd ne 30 list.aplctStateCd ne 30
list.aprvlCd ne 40 list.aprvlCd ne 40
--> -->
<c:choose> <%-- <c:choose>
<c:when test="${list.qestRsltExists }"> <c:when test="${list.qestRsltExists }">
<button type="button" title="출력" class="btnType03">출력</button> <button type="button" title="출력" class="btnType03">출력</button>
</c:when> </c:when>
@ -358,11 +552,11 @@ $(document).ready(function(){
<c:otherwise> <c:otherwise>
- -
</c:otherwise> </c:otherwise>
</c:choose> </c:choose> --%>
<button type="button" title="이수증" class="btnType01" onclick="fncCmpltCrtfc('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증테스트</button> <%-- <button type="button" title="이수증" class="btnType01" onclick="fncCmpltCrtfc('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증테스트</button> --%>
</td> <!-- </td> -->
<!-- <td>-</td> --> <!-- <td>-</td> -->
</tr> </tr>
</c:forEach> </c:forEach>
@ -459,6 +653,71 @@ $(document).ready(function(){
<!-- 강의만족도 결과 등록 팝업 -->
<form id="srvyPopupForm" name="srvyPopupForm" method="post" >
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="">
<input type="hidden" name="qustnrTmplatId" id="qustnrTmplatId" value="${qustnrTmplatId}">
<input type="hidden" name="qestnrId" id="qestnrId" value="${qestnrId}">
<input type="hidden" id="qestmInfoSize" value="${fn:length(Comtnqustnrqesitm)}">
<input type="hidden" name="qestnrRespondId" id="qestnrRespondId" value="">
<input type="hidden" name="qustnrIemType" id="qustnrIemType" value="">
<div class="tooltip-wrap">
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop01" data-focus="sub37_pop01" data-focus-prev="sub37_pop01_close">
<div class="popup_tit">
<p>강의만족도 결과 등록</p>
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop01_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="pop_tb_type02">
<table>
<caption>평가문항, 매우만족, 만족, 보통, 불만족, 매우 불만족 입력</caption>
<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 id="qestnTbody">
</tbody>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" id="popupInsert" onclick="srvySendSubmit('i');">제출</button>
<button type="button" class="btnType05" id="popupUpdate" onclick="srvySendSubmit('u');">수정</button>
<button type="button" class="btnType02 tooltip-close" data-focus-next="sub37_pop01" data-focus="sub37_pop01_close">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
</form>
<!--// 강의만족도 결과 등록 팝업-->

View File

@ -1,293 +1,293 @@
<%-- <%--
Class Name : instrPrflSchdl.jsp Class Name : instrPrflSchdl.jsp
Description : 청소년 강사 일정 달력 Description : 청소년 강사 일정 달력
Modification Information Modification Information
수정일 수정자 수정내용 수정일 수정자 수정내용
------- -------- --------------------------- ------- -------- ---------------------------
2021.12.02 조용준 내용 2021.12.02 조용준 내용
author : 조용준 author : 조용준
since : 2021.12.02 since : 2021.12.02
--%> --%>
<%@ page contentType="text/html; charset=utf-8"%> <%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> <%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css"> <style type="text/css">
.fc-day-sat { color:#0000FF; } /* 토요일 */ .fc-day-sat { color:#0000FF; } /* 토요일 */
.fc-day-sun { color:#FF0000; } /* 일요일 */ .fc-day-sun { color:#FF0000; } /* 일요일 */
</style> </style>
<link type="text/css" rel="stylesheet" href="<c:url value='/js/fullcalendar/5.9.0/main.css' />" /> <link type="text/css" rel="stylesheet" href="<c:url value='/js/fullcalendar/5.9.0/main.css' />" />
<script type="text/javascript" src="<c:url value='/js/fullcalendar/5.9.0/main.js'/>"></script> <script type="text/javascript" src="<c:url value='/js/fullcalendar/5.9.0/main.js'/>"></script>
<script type="text/javascript" src="<c:url value='/js/fullcalendar/5.9.0/locales-all.js'/>"></script> <script type="text/javascript" src="<c:url value='/js/fullcalendar/5.9.0/locales-all.js'/>"></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function(){ $(document).ready(function(){
}); });
var ex_s_todate;// = info.startStr; var ex_s_todate;// = info.startStr;
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('schduleManager'); var calendarEl = document.getElementById('schduleManager');
var calendar = new FullCalendar.Calendar(calendarEl, { var calendar = new FullCalendar.Calendar(calendarEl, {
locale: 'ko', locale: 'ko',
timezone : "local", timezone : "local",
weekends : true, weekends : true,
editable : false, editable : false,
firstDay : 0, //월요일이 먼저 오게 하려면 1 firstDay : 0, //월요일이 먼저 오게 하려면 1
dayMaxEvents: true, dayMaxEvents: true,
navLinks: false, navLinks: false,
customButtons: { customButtons: {
myCustomButton: { myCustomButton: {
text: '오늘', text: '오늘',
click: function(event, elm) { click: function(event, elm) {
alert('clicked the custom button!'); alert('clicked the custom button!');
} }
},viewWeekends : { },viewWeekends : {
text : '주말', text : '주말',
click : function (event, elm) { click : function (event, elm) {
calendar.setOption("weekends" , calendar.getOption("weekends") ? false : true); calendar.setOption("weekends" , calendar.getOption("weekends") ? false : true);
} }
} }
},buttonText: { },buttonText: {
listMonth: '일정' listMonth: '일정'
}, },
headerToolbar: { headerToolbar: {
//left: 'prevYear nextYear today', //left: 'prevYear nextYear today',
left: 'today', left: 'today',
center: 'prev title next', center: 'prev title next',
//right: 'dayGridMonth,listMonth' //right: 'dayGridMonth,listMonth'
right: '' right: ''
}, },
eventSources: [ eventSources: [
{ {
events: function(info, successCallback, failureCallback) { events: function(info, successCallback, failureCallback) {
console.log(info); console.log(info);
var s_todate = info.startStr; var s_todate = info.startStr;
ex_s_todate = info.startStr; ex_s_todate = info.startStr;
$.ajax({ $.ajax({
url: '<c:url value="/web/ve/instr/tngrVisitEdu/instrInfo/tngrSchduleManagerAjaxLoadData.do"/>', url: '<c:url value="/web/ve/instr/tngrVisitEdu/instrInfo/tngrSchduleManagerAjaxLoadData.do"/>',
type: 'POST', type: 'POST',
dataType: 'json', dataType: 'json',
data: { data: {
searchStartDt : "", searchStartDt : "",
//searchStartDt : "", //searchStartDt : "",
searchStartDt : s_todate, searchStartDt : s_todate,
todate : info.start, todate : info.start,
searchYearMonth : function(){ searchYearMonth : function(){
return ""; return "";
} }
}, },
success: function(data) { success: function(data) {
successCallback(data); successCallback(data);
// 날짜 계산 // 날짜 계산
setCalDate(data, info.startStr); setCalDate(data, info.startStr);
} }
}); });
} }
} }
], ],
eventContent: function(arg, createElement) { eventContent: function(arg, createElement) {
event.preventDefault(); event.preventDefault();
console.log(arg.event._def.url); console.log(arg.event._def.url);
arg.event._def.url = "#none"; arg.event._def.url = "#none";
}, },
/* /*
eventClick: function(info) { eventClick: function(info) {
info.jsEvent.preventDefault(); info.jsEvent.preventDefault();
schDetailPop(info.event._def.extendedProps.schSeq, info.event._def.extendedProps.schChasiSeq); schDetailPop(info.event._def.extendedProps.schSeq, info.event._def.extendedProps.schChasiSeq);
return false; return false;
}, },
*/ */
}); });
calendar.render(); calendar.render();
}); });
function schDetailPop(schSeq, schChasiSeq) { function schDetailPop(schSeq, schChasiSeq) {
window.open('', 'schDetailPop', "width=600, height=520, left=200, top=130","location = no","status= no","toolbars= no"); window.open('', 'schDetailPop', "width=600, height=520, left=200, top=130","location = no","status= no","toolbars= no");
document.listForm.eduAplctOrd.value = schSeq ; document.listForm.eduAplctOrd.value = schSeq ;
document.listForm.eduChasiOrd.value = schChasiSeq ; document.listForm.eduChasiOrd.value = schChasiSeq ;
document.listForm.method = "post"; document.listForm.method = "post";
document.listForm.action = "${pageContext.request.contextPath}/kccadr/oprtn/adultVisitEdu/popup/SchduleManagerPopDetail.do"; document.listForm.action = "${pageContext.request.contextPath}/kccadr/oprtn/adultVisitEdu/popup/SchduleManagerPopDetail.do";
document.listForm.target = "schDetailPop" ; document.listForm.target = "schDetailPop" ;
document.listForm.submit(); document.listForm.submit();
} }
function excelDownLoad(){ function excelDownLoad(){
var listForm = document.listForm ; var listForm = document.listForm ;
listForm.searchStartDt.value = ex_s_todate ; listForm.searchStartDt.value = ex_s_todate ;
listForm.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/adultSchduleManagerExcelDownLoad.do'/>"; listForm.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/adultSchduleManagerExcelDownLoad.do'/>";
listForm.submit(); listForm.submit();
} }
/* /*
*############################################################################## *##############################################################################
* START * START
*############################################################################## *##############################################################################
*/ */
// 날짜 계산 // 날짜 계산
function setCalDate(data, startStr) { function setCalDate(data, startStr) {
// 현재월 구하기 // 현재월 구하기
startStr = startStr.substr(0, 10); startStr = startStr.substr(0, 10);
startStr = replaceAll(startStr, "-", ""); startStr = replaceAll(startStr, "-", "");
startStr = replaceAll(startStr, ".", ""); startStr = replaceAll(startStr, ".", "");
startStr = replaceAll(startStr, "/", ""); startStr = replaceAll(startStr, "/", "");
var todayYear = startStr.substring(0,4); var todayYear = startStr.substring(0,4);
var todayMonth = 0; var todayMonth = 0;
var todayDay = startStr.substring(6,8); var todayDay = startStr.substring(6,8);
if (todayDay == "01") { if (todayDay == "01") {
todayMonth = startStr.substring(4,6); todayMonth = startStr.substring(4,6);
} }
else { else {
if (startStr.substring(4,6) == "12") { if (startStr.substring(4,6) == "12") {
todayMonth = "01"; todayMonth = "01";
} }
else { else {
todayMonth = parseInt(startStr.substring(4,6), 10) + 1; todayMonth = parseInt(startStr.substring(4,6), 10) + 1;
if (todayMonth < 10) { if (todayMonth < 10) {
todayMonth = "0" + todayMonth; todayMonth = "0" + todayMonth;
} }
} }
} }
// End // End
//alert(todayMonth); //alert(todayMonth);
var monthCnt = 0; var monthCnt = 0;
var week1Cnt = 0, week2Cnt = 0, week3Cnt = 0, week4Cnt = 0, week5Cnt = 0, week6Cnt = 0; var week1Cnt = 0, week2Cnt = 0, week3Cnt = 0, week4Cnt = 0, week5Cnt = 0, week6Cnt = 0;
var sHtml = ""; var sHtml = "";
for (var j = 0; j < data.length; j++) { for (var j = 0; j < data.length; j++) {
var schStartDate = data[j].start.substr(0, 10); var schStartDate = data[j].start.substr(0, 10);
schStartDate = replaceAll(schStartDate, "-", ""); schStartDate = replaceAll(schStartDate, "-", "");
schStartDate = replaceAll(schStartDate, ".", ""); schStartDate = replaceAll(schStartDate, ".", "");
schStartDate = replaceAll(schStartDate, "/", ""); schStartDate = replaceAll(schStartDate, "/", "");
var thisYear = schStartDate.substring(0,4); var thisYear = schStartDate.substring(0,4);
var thisMonth = schStartDate.substring(4,6); var thisMonth = schStartDate.substring(4,6);
var thisDay = schStartDate.substring(6,8); var thisDay = schStartDate.substring(6,8);
var thisWeek = getSecofWeek(schStartDate); var thisWeek = getSecofWeek(schStartDate);
// 해당월 데이터만 처리 // 해당월 데이터만 처리
if (todayMonth == thisMonth) { if (todayMonth == thisMonth) {
monthCnt++; monthCnt++;
if (thisWeek == 1) { if (thisWeek == 1) {
week1Cnt++; week1Cnt++;
} }
else if (thisWeek == 2) { else if (thisWeek == 2) {
week2Cnt++; week2Cnt++;
} }
else if (thisWeek == 3) { else if (thisWeek == 3) {
week3Cnt++; week3Cnt++;
} }
else if (thisWeek == 4) { else if (thisWeek == 4) {
week4Cnt++; week4Cnt++;
} }
else if (thisWeek == 5) { else if (thisWeek == 5) {
week5Cnt++; week5Cnt++;
} }
else if (thisWeek == 6) { else if (thisWeek == 6) {
week6Cnt++; week6Cnt++;
} }
} }
} }
sHtml += "전체 : " + monthCnt + "건"; sHtml += "전체 : " + monthCnt + "건";
sHtml += " &nbsp;(1주차 : " + week1Cnt + "건"; sHtml += " &nbsp;(1주차 : " + week1Cnt + "건";
sHtml += ", &nbsp;&nbsp;2주차 : " + week2Cnt + "건"; sHtml += ", &nbsp;&nbsp;2주차 : " + week2Cnt + "건";
sHtml += ", &nbsp;&nbsp;3주차 : " + week3Cnt + "건"; sHtml += ", &nbsp;&nbsp;3주차 : " + week3Cnt + "건";
sHtml += ", &nbsp;&nbsp;4주차 : " + week4Cnt + "건"; sHtml += ", &nbsp;&nbsp;4주차 : " + week4Cnt + "건";
sHtml += ", &nbsp;&nbsp;5주차 : " + week5Cnt + "건"; sHtml += ", &nbsp;&nbsp;5주차 : " + week5Cnt + "건";
sHtml += ", &nbsp;&nbsp;6주차 : " + week6Cnt + "건)"; sHtml += ", &nbsp;&nbsp;6주차 : " + week6Cnt + "건)";
sHtml += '&nbsp;<button type="button" class="btn_down_excel" onclick="excelDownLoad();">일정현황 엑셀 다운로드</button>'; sHtml += '&nbsp;<button type="button" class="btn_down_excel" onclick="excelDownLoad();">일정현황 엑셀 다운로드</button>';
//$("#weekCnt").html(sHtml); //$("#weekCnt").html(sHtml);
} }
// 해당일 주차 계산 // 해당일 주차 계산
function getSecofWeek(date) { function getSecofWeek(date) {
var d = new Date( date.substring(0,4), parseInt(date.substring(4,6))-1, date.substring(6,8) ); var d = new Date( date.substring(0,4), parseInt(date.substring(4,6))-1, date.substring(6,8) );
var fd = new Date( date.substring(0,4), parseInt(date.substring(4,6))-1, 1 ); var fd = new Date( date.substring(0,4), parseInt(date.substring(4,6))-1, 1 );
return Math.ceil((parseInt(date.substring(6,8))+fd.getDay())/7); return Math.ceil((parseInt(date.substring(6,8))+fd.getDay())/7);
} }
// ReplaceAll // ReplaceAll
function replaceAll(str, searchStr, replaceStr) { function replaceAll(str, searchStr, replaceStr) {
return str.split(searchStr).join(replaceStr); return str.split(searchStr).join(replaceStr);
} }
function fncGoList(){ function fncGoList(){
//var varFrom = document.getElementById("listForm"); //var varFrom = document.getElementById("listForm");
var varFrom = document.getElementById("listForm"); var varFrom = document.getElementById("listForm");
varFrom.action = "<c:url value='/web/ve/instr/tngrVisitEdu/instrInfo/instrDashboard.do'/>"; varFrom.action = "<c:url value='/web/ve/instr/tngrVisitEdu/instrInfo/instrDashboard.do'/>";
varFrom.submit(); varFrom.submit();
} }
</script> </script>
<title>일정현황</title> <title>일정현황</title>
</head> </head>
<body> <body>
<form:form id="listForm" name="listForm" method="post"> <form:form id="listForm" name="listForm" method="post">
<input type="hidden" name="eduAplctOrd" value="" /> <input type="hidden" name="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" value="" /> <input type="hidden" name="eduChasiOrd" value="" />
<input type="hidden" name="searchStartDt" value="" /> <input type="hidden" name="searchStartDt" value="" />
</form:form> </form:form>
<div class="cont_wrap"> <div class="cont_wrap">
<div class="box"> <div class="box">
<!-- cont_tit --> <!-- cont_tit -->
<div class="cont_tit"> <div class="cont_tit">
<h2>일정현황 <h2>일정현황
</h2> </h2>
<div class="btn_wrap btn_layout01" style="margin-top: 0px;"> <div class="btn_wrap btn_layout01" style="margin-top: 0px;">
<div class="btn_Left"> <div class="btn_Left">
<button class="btnType05" onclick="fncGoList(); return false;" style="width: 100px;">목록 </button> <button class="btnType05" onclick="fncGoList(); return false;" style="width: 100px;">목록 </button>
</div> </div>
<div class="btn_Right"> <div class="btn_Right">
<!-- <button class="btnType05" onclick="fncGoList(); return false;">목록 </button> --> <!-- <button class="btnType05" onclick="fncGoList(); return false;">목록 </button> -->
</div> </div>
</div> </div>
</div> </div>
<!-- //cont_tit --> <!-- //cont_tit -->
<br /> <br />
<div style="float: right; padding-right: 40px; color: #777777;" id="weekCnt"> <div style="float: right; padding-right: 40px; color: #777777;" id="weekCnt">
</div> </div>
<div class="cont"> <div class="cont">
<div id="schduleManager"></div> <div id="schduleManager"></div>
</div> </div>
</div> </div>
</div> </div>
<!-- //cont --> <!-- //cont -->
</body> </body>