From b48f604360d9cbce8d5906b581dadec7ba690e47 Mon Sep 17 00:00:00 2001 From: myname Date: Tue, 21 Nov 2023 14:07:39 +0900 Subject: [PATCH] =?UTF-8?q?2023-11-21=2014:07=20=EC=84=A4=EB=AC=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../utl/user/service/QustnrCommonUtil.java | 91 ++ .../olp/qri/service/QustnrRespondInfoVO.java | 15 + .../eduEnd/web/EduEndAdultController.java | 32 +- .../eduEnd/web/EduEndTngrController.java | 31 +- .../web/EduRsltMngAdultController.java | 1034 +++++++++-------- .../service/VEALettnQestnrMIXService.java | 3 + .../ve/oprtn/qestnr/service/VEAQestnrVO.java | 33 + .../service/impl/VEALettnQestnrMIXDAO.java | 5 + .../impl/VEALettnQestnrMIXServiceImpl.java | 5 + .../web/EduRsltMngTngrController.java | 274 ++++- .../qri/EgovQustnrRespondInfo_SQL_Tibero.xml | 146 ++- .../EgovQustnrRespondManage_SQL_Tibero.xml | 1 + .../sqlmap/ve/edu/VEEduAplct_SQL_Tibero.xml | 2 + .../qustnr/VEALettnQestnrMIX_SQL_Tibero.xml | 52 +- .../oprtn/tngrVisitEdu/eduRsltMngDetail.jsp | 31 +- .../tngrVisitEdu/popup/chasiStatusPopup.jsp | 2 + .../qqm/UserItnQustnrQestnManageRegist.jsp | 3 +- .../adultVisitEdu/eduAplct/eduAplctDetail.jsp | 6 +- .../adultVisitEdu/eduAplct/eduAplctReg.jsp | 12 +- .../adultVisitEdu/eduEnd/eduEndDetail.jsp | 24 +- .../tngrVisitEdu/eduAplct/eduAplctDetail.jsp | 2 + .../tngrVisitEdu/eduEnd/eduEndDetail.jsp | 5 +- .../adultVisitEdu/endInfo/instrEduEndList.jsp | 2 +- .../tngrVisitEdu/endInfo/instrEduEndList.jsp | 2 +- 24 files changed, 1259 insertions(+), 554 deletions(-) create mode 100644 src/main/java/kcc/com/utl/user/service/QustnrCommonUtil.java diff --git a/src/main/java/kcc/com/utl/user/service/QustnrCommonUtil.java b/src/main/java/kcc/com/utl/user/service/QustnrCommonUtil.java new file mode 100644 index 00000000..7c3899f0 --- /dev/null +++ b/src/main/java/kcc/com/utl/user/service/QustnrCommonUtil.java @@ -0,0 +1,91 @@ +package kcc.com.utl.user.service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; +import org.springframework.ui.ModelMap; + +import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService; +import kcc.ve.cmm.VeConstants; +import kcc.ve.oprtn.qestnr.service.VEALettnQestnrMIXService; +import kcc.ve.oprtn.qestnr.service.VEAQestnrVO; + +/** + * + * 설문 공통 Util 클래스 + * @author 사업기술본부 조용준(ITN) + * @since 2021.07.16 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.07.16  조용준          최초 생성 *   
+ *
+ * 
+ */ +@Service("qustnrCommonUtil") +public class QustnrCommonUtil { + + private static final Logger LOGGER = LoggerFactory.getLogger(QustnrCommonUtil.class); + + public ModelMap _qustnrQesItm( + ModelMap p_model + , String p_siteId + , String p_siteIdCd + , String p_qestnrTmplatId + , VEALettnQestnrMIXService p_vEALettnQestnrMIXService + , EgovQustnrRespondInfoService p_egovQustnrRespondInfoService + )throws Exception{ + //설문 문항 정보 + { + VEAQestnrVO vEAQestnrVO = new VEAQestnrVO(); + vEAQestnrVO.setSiteId(VeConstants.LCTR_DIV_CD_10); //청소년 + vEAQestnrVO.setSiteIdCd("10"); //10-기본설문, 20-신청자설문, 30-강사설문 + vEAQestnrVO = p_vEALettnQestnrMIXService.selectDetail_MIX_LQI_02(vEAQestnrVO); + + //문항정보 + Map commandMap =new HashMap(); + commandMap.put("qestnrTmplatId", "QTMPLA_0000000000001"); + commandMap.put("qestnrId",vEAQestnrVO.getQestnrId()); //문제 ID + p_model.addAttribute("Comtnqustnrqesitm", p_egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap)); + p_model.addAttribute("qestnrId", vEAQestnrVO.getQestnrId()); + p_model.addAttribute("qustnrTmplatId", vEAQestnrVO.getQustnrTmplatId()); + } + + return p_model; + } + + + public ModelMap _chasiSrvyList( + ModelMap p_model + , String p_siteId + , String p_siteIdCd + , String p_eduAplctOrd + , String p_eduChasiOrd + , VEALettnQestnrMIXService p_vEALettnQestnrMIXService + )throws Exception{ + VEAQestnrVO vEAQestnrVO = new VEAQestnrVO(); + vEAQestnrVO.setSiteId(p_siteId); //청소년 + vEAQestnrVO.setSiteIdCd(p_siteIdCd); //10-기본설문, 20-신청자설문, 30-강사설문 + vEAQestnrVO.setEduAplctOrd(p_eduAplctOrd); + vEAQestnrVO.setEduChasiOrd(p_eduChasiOrd); + + List chasiSrvyList = p_vEALettnQestnrMIXService.selectDetail_MIX_LQI_03(vEAQestnrVO); + + if(chasiSrvyList.size() > 0) { + p_model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent()); + p_model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant()); + p_model.addAttribute("chasiSrvyList",chasiSrvyList); + } + + return p_model; + } +} \ No newline at end of file diff --git a/src/main/java/kcc/let/uss/olp/qri/service/QustnrRespondInfoVO.java b/src/main/java/kcc/let/uss/olp/qri/service/QustnrRespondInfoVO.java index 1099acd5..872953bf 100644 --- a/src/main/java/kcc/let/uss/olp/qri/service/QustnrRespondInfoVO.java +++ b/src/main/java/kcc/let/uss/olp/qri/service/QustnrRespondInfoVO.java @@ -30,6 +30,9 @@ public class QustnrRespondInfoVO implements Serializable { List resultList; + /** 설문템플릿ID */ + private String qustnrTmplatId =""; + /** 설문응답ID */ private String qestnrQesrspnsId = ""; @@ -445,4 +448,16 @@ public class QustnrRespondInfoVO implements Serializable { public void setBeforeAndAfter(String beforeAndAfter) { this.beforeAndAfter = beforeAndAfter; } + + + + public String getQustnrTmplatId() { + return qustnrTmplatId; + } + + + + public void setQustnrTmplatId(String qustnrTmplatId) { + this.qustnrTmplatId = qustnrTmplatId; + } } diff --git a/src/main/java/kcc/ve/aplct/adultVisitEdu/eduEnd/web/EduEndAdultController.java b/src/main/java/kcc/ve/aplct/adultVisitEdu/eduEnd/web/EduEndAdultController.java index 3afe2ff0..ff8ff03a 100644 --- a/src/main/java/kcc/ve/aplct/adultVisitEdu/eduEnd/web/EduEndAdultController.java +++ b/src/main/java/kcc/ve/aplct/adultVisitEdu/eduEnd/web/EduEndAdultController.java @@ -1,8 +1,6 @@ package kcc.ve.aplct.adultVisitEdu.eduEnd.web; -import java.util.HashMap; import java.util.List; -import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -23,6 +21,7 @@ import kcc.com.cmm.service.EgovFileMngService; import kcc.com.cmm.service.FileVO; import kcc.com.utl.user.service.CheckFileUtil; import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.com.utl.user.service.QustnrCommonUtil; import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService; import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO; @@ -43,6 +42,7 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; +import kcc.ve.oprtn.qestnr.service.VEALettnQestnrMIXService; /** * 교육완료(성인찾아가는교육) @@ -133,6 +133,15 @@ public class EduEndAdultController { @Resource(name = "egovQustnrRespondManageService") private EgovQustnrRespondManageService egovQustnrRespondManageService; + + // 설문 복합 VEA_ + @Resource(name = "vEALettnQestnrMIXService") + private VEALettnQestnrMIXService vEALettnQestnrMIXService; + + // 설문 util + @Resource(name = "qustnrCommonUtil") + private QustnrCommonUtil qustnrCommonUtil; + /* // 교육신청 서비스단 @@ -409,6 +418,22 @@ public class EduEndAdultController { vEEduChasiVOList = egovCryptoUtil.decryptVEEduChasiVOList(vEEduChasiVOList); model.addAttribute("chasiList", vEEduChasiVOList); + + //문항정보 + try { + model = qustnrCommonUtil._qustnrQesItm( + model + , VeConstants.LCTR_DIV_CD_20 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , "QTMPLA_0000000000001" + , vEALettnQestnrMIXService + , egovQustnrRespondInfoService + ); + + }catch(Exception ex) { + ex.printStackTrace(); + } + /* QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO(); qustnrRespondInfoVO.setSiteId(VeConstants.LCTR_DIV_CD_20); QustnrRespondInfoVO info = egovQustnrRespondInfoService.selectSiteIdQustnrTmplat(qustnrRespondInfoVO); @@ -418,6 +443,7 @@ public class EduEndAdultController { commandMap.put("qestnrId",info.getQestnrId()); //문제 ID model.addAttribute("Comtnqustnrqesitm", egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap)); model.addAttribute("qestnrId", info.getQestnrId()); + */ return "/web/ve/aplct/adultVisitEdu/eduEnd/eduEndDetail"; } @@ -520,6 +546,7 @@ public class EduEndAdultController { qustnrRespondManageVO.setQestnrRespondent(qustnrRespondInfoVO.getQestnrRespondent()); qustnrRespondManageVO.setFrstRegisterId(loginVO.getId()); qustnrRespondManageVO.setLastUpdusrId(loginVO.getId()); + qustnrRespondManageVO.setQestnrTmplatId(qustnrRespondInfoVO.getQustnrTmplatId()); qustnrRespondManageVO.setQestnrRespondId(qustnrRespondInfoVO.getQestnrRespondId()); if("update".equals(qustnrRespondInfoVO.getQustnrIemType())) { egovQustnrRespondManageService.updateQustnrRespondManage(qustnrRespondManageVO); @@ -529,6 +556,7 @@ public class EduEndAdultController { // 설문 문항 결과 등록 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()); diff --git a/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduEnd/web/EduEndTngrController.java b/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduEnd/web/EduEndTngrController.java index 117e39c7..f91bcf02 100644 --- a/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduEnd/web/EduEndTngrController.java +++ b/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduEnd/web/EduEndTngrController.java @@ -1,8 +1,6 @@ package kcc.ve.aplct.tngrVisitEdu.eduEnd.web; -import java.util.HashMap; import java.util.List; -import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -25,6 +23,7 @@ import kcc.com.cmm.service.EgovFileMngService; import kcc.com.cmm.service.FileVO; import kcc.com.utl.user.service.CheckFileUtil; import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.com.utl.user.service.QustnrCommonUtil; import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService; import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO; @@ -46,7 +45,6 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; import kcc.ve.oprtn.qestnr.service.VEALettnQestnrMIXService; -import kcc.ve.oprtn.qestnr.service.VEAQestnrVO; /** * 교육완료(청소년찾아가는교육) @@ -144,7 +142,11 @@ public class EduEndTngrController { // 설문 복합 VEA_ @Resource(name = "vEALettnQestnrMIXService") private VEALettnQestnrMIXService vEALettnQestnrMIXService; - + + // 설문 util + @Resource(name = "qustnrCommonUtil") + private QustnrCommonUtil qustnrCommonUtil; + /* // 교육신청 서비스단 @@ -478,6 +480,20 @@ public class EduEndTngrController { //QustnrRespondInfoVO info = egovQustnrRespondInfoService.selectSiteIdQustnrTmplat(qustnrRespondInfoVO); //설문 정보 + try { + model = qustnrCommonUtil._qustnrQesItm( + model + , VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , "QTMPLA_0000000000001" + , vEALettnQestnrMIXService + , egovQustnrRespondInfoService + ); + + }catch(Exception ex) { + ex.printStackTrace(); + } + /* { VEAQestnrVO vEAQestnrVO = new VEAQestnrVO(); vEAQestnrVO.setSiteId(VeConstants.LCTR_DIV_CD_10); //청소년 @@ -489,8 +505,10 @@ public class EduEndTngrController { commandMap.put("qestnrTmplatId", "QTMPLA_0000000000001"); commandMap.put("qestnrId",vEAQestnrVO.getQestnrId()); //문제 ID model.addAttribute("Comtnqustnrqesitm", egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap)); - model.addAttribute("qestnrId", vEAQestnrVO.getQestnrId()); + model.addAttribute("qustnrTmplatId", vEAQestnrVO.getQustnrTmplatId()); + model.addAttribute("qestnrId", vEAQestnrVO.getQestnrId()); } + */ // 교육 설문문항 정보 조회 @@ -611,11 +629,12 @@ public class EduEndTngrController { qustnrRespondManageVO.setQestnrRespondent(qustnrRespondInfoVO.getQestnrRespondent()); qustnrRespondManageVO.setFrstRegisterId(loginVO.getId()); qustnrRespondManageVO.setLastUpdusrId(loginVO.getId()); - qustnrRespondManageVO.setQestnrTmplatId(qustnrRespondInfoVO.getQestnrTmplatId()); + qustnrRespondManageVO.setQestnrTmplatId(qustnrRespondInfoVO.getQustnrTmplatId()); egovQustnrRespondManageService.insertQustnrRespondManage(qustnrRespondManageVO); // 설문 문항 결과 등록 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()); diff --git a/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduRsltMng/web/EduRsltMngAdultController.java b/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduRsltMng/web/EduRsltMngAdultController.java index b09e2ed9..0a5814fa 100644 --- a/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduRsltMng/web/EduRsltMngAdultController.java +++ b/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduRsltMng/web/EduRsltMngAdultController.java @@ -1,498 +1,536 @@ -package kcc.ve.oprtn.adultVisitEdu.eduRsltMng.web; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Properties; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; - -import org.apache.poi.xssf.streaming.SXSSFWorkbook; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; -import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; -import kcc.com.cmm.LoginVO; -import kcc.com.cmm.service.EgovCmmUseService; -import kcc.com.cmm.service.EgovFileMngService; -import kcc.com.cmm.service.EgovFileMngUtil; -import kcc.com.cmm.service.FileVO; -import kcc.com.cmm.spring.data.util.ExcelUtil; -import kcc.com.cmm.util.IpUtil; -import kcc.com.cmm.util.StringUtil; -import kcc.com.utl.user.service.CheckAdrProcessUtil; -import kcc.com.utl.user.service.CheckLoginUtil; -import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; -import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService; -import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService; -import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO; -import kcc.let.utl.fcc.service.EgovCryptoUtil; -import kcc.ve.cmm.VeConstants; -import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService; -import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduExcelVO; -import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduPnltyService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; -import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService; -import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiVO; - -/** - * 교육보고관리(관리자-성인찾아가는저작권교육) - * 교육보고관리에 관한 controller 클래스를 정의한다. - * @author 조용준 - * @since 2021.12.16 - * @version 1.0 - * @see - * - *
- * << 개정이력(Modification Information) >>
- *
- *   수정일      수정자           수정내용
- *  -------    --------    ---------------------------
- *   2021.12.16  조용준          최초 생성
- *
- * 
- */ - -@Controller -@RequestMapping("/kccadr/oprtn/adultVisitEdu") -public class EduRsltMngAdultController { - - private static final Logger LOGGER = LoggerFactory.getLogger(EduRsltMngAdultController.class); - - //로그인 체크 util - @Resource(name = "checkLoginUtil") - private CheckLoginUtil checkLoginUtil; - - //과정 관리 - @Resource(name = "vEPrcsService") - private VEPrcsService vEPrcsService; - - //신청과정 관리 - @Resource(name = "vEEduMIXService") - private VEEduMIXService vEEduMIXService; - - //교육신청 - @Resource(name = "vEEduAplctService") - private VEEduAplctService vEEduAplctService; - - //교육과정신청 - @Resource(name = "vEPrcsMIXService") - private VEPrcsMIXService vEPrcsMIXService; - - //차시 - @Resource(name = "vEEduChasiService") - private VEEduChasiService vVEEduChasiService; - - // eGov 공통코드 - @Resource(name = "EgovCmmUseService") - private EgovCmmUseService cmmUseService; - - @Resource(name = "EgovFileMngService") - private EgovFileMngService fileService; - - // global 프로퍼티 - @Resource(name="globalSettings") - protected Properties propertiesService; - - //첨부파일 경로, realPath 설정 - @Resource(name="EgovFileMngUtil") - private EgovFileMngUtil fileUtil; - - // 첨부파일 정보 - @Resource(name="EgovFileMngService") - private EgovFileMngService fileMngService; - - //암복호화 유틸 - @Resource(name = "egovCryptoUtil") - EgovCryptoUtil egovCryptoUtil; - - - @Resource(name="KccadrMgrUdtService") - private KccadrMgrUdtService kccadrMgrUdtService; - - // 교육신청 서비스단 - @Resource(name = "checkAdrProcessUtil") - private CheckAdrProcessUtil checkAdrProcessUtil; - - // 교육패널티 - @Resource(name = "vEEduPnltyService") - private VEEduPnltyService vEEduPnltyService; - - // 강의배정정보 - @Resource(name = "vEAsgnmMIXService") - private VEAsgnmMIXService vEAsgnmMIXService; - - @Resource(name = "egovQustnrRespondInfoService") - private EgovQustnrRespondInfoService egovQustnrRespondInfoService; - - //NOTI 서비스 - @Resource(name="vEAsgnmNotiService") - private VEAsgnmNotiService vEAsgnmNotiService; - - /** - * 교육결과관리 목록 화면 - */ - @RequestMapping("eduRsltMngList.do") - public String eduRsltMngList( - @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO - , HttpSession session - , ModelMap model - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - //String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - //if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; - LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; - //로그인 처리==================================== - - // 검색자가 '강사이름'일 때, 암호화하여 검색자에 set한다. - if("2".equals(vEEduAplctVO.getSearchCondition())) { - vEEduAplctVO.setSearchKeyword(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword())); - } - - - //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO); - - //2. pageing step2 - vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo); - vEEduAplctVO.setInstrDiv("20"); // 성인 교육 코드 - vEEduAplctVO.setLctrDivCd("20"); - vEEduAplctVO.setAprvlCd("60"); - vEEduAplctVO.setNotiUserId(user.getUniqId()); - vEEduAplctVO.setMenuNo(session.getAttribute("menuNo").toString()); - - vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO); - - - List vEEduAplctVOList = vEEduMIXService.selectTngrRsltPagingList(vEEduAplctVO); - VEEduAplctVO vo = new VEEduAplctVO(); - for(int i=0; i < vEEduAplctVOList.size(); i++) { - vo = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVOList.get(i)); - vEEduAplctVOList.get(i).setChrgNm(vo.getChrgNm()); - } - - //3.pageing step3 - paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo); - - // 검색자가 '강사이름'일 때, 복호화하여 검색자에 set 한다. - if("2".equals(vEEduAplctVO.getSearchCondition())) { - vEEduAplctVO.setSearchKeyword(egovCryptoUtil.decrypt(vEEduAplctVO.getSearchKeyword())); - } - - model.addAttribute("paginationInfo", paginationInfo); - - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEEduAplctVOList); - - - //대상 리스트, 페이징 정보 전달 - //model.addAttribute("resultList", vEEduAplctVOList); - - - return "oprtn/adultVisitEdu/eduRsltMngList"; - } - - /** - * 교육결과관리 등록 화면 - */ - @RequestMapping("eduRsltMngReg.do") - public String eduRsltMngReg( - @ModelAttribute("searchVO") AdjReqMgrVO adjReqMgrVO - , ModelMap model - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; - - //로그인 처리==================================== - - - return "oprtn/adultVisitEdu/eduRsltMngReg"; - - } - - - /** - * 교육결과관리 상세 화면 - */ - @RequestMapping("eduRsltMngDetail.do") - public String eduRsltMngDetail( - @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO - , ModelMap model - , HttpSession session - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - //String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request); - //if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo; - LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; - //로그인 처리==================================== - String chasiOrd = vEEduAplctVO.getEduChasiOrd(); - - //기본데이터 불러오기 - vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO); - vEEduAplctVO.setEduChasiOrd(chasiOrd); - - //데이터 복호화 - VO 단위로 만들어서 사용 - vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO); - - model.addAttribute("info", vEEduAplctVO); - - - //사용자 교육신청 과정 리스트 - VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); - vEPrcsDetailVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); - List vEPrcsDetailVOList = vEPrcsMIXService.selectMberEduAplctPrcsList(vEPrcsDetailVO); - model.addAttribute("list", vEPrcsDetailVOList); - - //사용자 교육신청 차시 리스트 - VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); - - vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_20);// 청소년교육 코드 - vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); - vEEduChasiVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); - - List vEEduChasiVOList = vVEEduChasiService.selectList(vEEduChasiVO); - VEEduChasiVO vo = new VEEduChasiVO(); - for(int i=0; i < vEEduChasiVOList.size(); i++) { - vo = egovCryptoUtil.decryptVEEduChasiVO(vEEduChasiVOList.get(i)); - vEEduChasiVOList.get(i).setInstrNm(vo.getInstrNm()); - } - - model.addAttribute("chasiList", vEEduChasiVOList); - - // 설문조사 정보 - QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO(); - qustnrRespondInfoVO.setSiteId(VeConstants.LCTR_DIV_CD_20); - QustnrRespondInfoVO info = egovQustnrRespondInfoService.selectSiteIdQustnrTmplat(qustnrRespondInfoVO); - - // 설문조사 문항리스트 조회 - Map commandMap =new HashMap(); - commandMap.put("qestnrTmplatId", "QTMPLA_0000000000001"); - commandMap.put("qestnrId",info.getQestnrId()); //문제 ID - model.addAttribute("Comtnqustnrqesitm", egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap)); - - // 설문조사 결과 조회 - qustnrRespondInfoVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); - qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); - List chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyList(qustnrRespondInfoVO); - if(chasiSrvyList.size() > 0) { - model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent()); - model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant()); - model.addAttribute("chasiSrvyList",chasiSrvyList); - } - - - - /* - System.out.println("------------------------"); - //전체 차시 배정 강사 정보 - vEInstrAsgnmVO.setEduChasiOrd(""); - List selectAsgnmInstrList = vEAsgnmMIXService.selectAsgnmInstrList(vEInstrAsgnmVO); - model.addAttribute("listChasi", selectAsgnmInstrList); - System.out.println("------------------------======================="); - */ - - //20220223 우영두 추가 - //강의내역 NOTI 입력 - VEAsgnmNotiVO vEAsgnmNotiVO = new VEAsgnmNotiVO(); - String tblUnitOrd = ""; - if(StringUtil.isNotEmpty(vEEduAplctVO.getEduChasiOrd())) { - tblUnitOrd = vEEduAplctVO.getEduChasiOrd(); - }else { - tblUnitOrd = vEEduAplctVO.getEduAplctOrd(); - } - - vEAsgnmNotiVO.setTblUniqOrd(tblUnitOrd); - vEAsgnmNotiVO.setFrstRegisterId(user.getUniqId()); - vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString()); - vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request)); - - vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO); - - - return "oprtn/adultVisitEdu/eduRsltMngDetail"; - } - - /** - * 교육결과반려 처리 팝업 - */ - @RequestMapping("popup/eduRsltMngDetailRfslSecurityPopup.do") - public String eduRsltMngDetailRfslSecurityPopup( - @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - //String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request); - //if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo; - - //로그인 처리==================================== - - - //기본데이터 불러오기 - vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO); - - //데이터 복호화 - VO 단위로 만들어서 사용 - vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO); - - model.addAttribute("info", vEEduAplctVO); - - - //사용자 교육신청 과정 리스트 - VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); - vEPrcsDetailVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); - - List vEPrcsDetailVOList = vEPrcsMIXService.selectMberEduAplctPrcsList(vEPrcsDetailVO); - - model.addAttribute("list", vEPrcsDetailVOList); - - - //사용자 교육신청 차시 리스트 - VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); - vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); - - List vEEduChasiVOList = vVEEduChasiService.selectList(vEEduChasiVO); - - model.addAttribute("chasiList", vEEduChasiVOList); - - - return "oprtn/adultVisitEdu/popup/eduRsltMngDetailRfslSecurityPopup"; - } - - - @SuppressWarnings("rawtypes") - @RequestMapping(value = "eduRsltSrvyExcelDownLoad.do") - public ModelAndView eduRsltSrvyExcelDownLoad(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO, ModelMap model) throws Exception { - - try { - // 설문조사 정보 - QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO(); - qustnrRespondInfoVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); - qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); - List chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyExcelList(qustnrRespondInfoVO); - - - - System.out.println("out-list-1"); - - List excelData = new ArrayList<>(); - excelData.addAll(chasiSrvyList); - - // 세팅값 - String title = "성인 찾아가는 저작권 교육"; - int[] width = { - 18000, 4000, 4000, 4000, 4000, 4000 - }; // 너비 - - //33개 항목 - String[] header = { - "평가문항", "매우만족", "만족", "보통", "불만족", "매우불만족" - }; - - String[] order = { - "RespondAnswerCn","VerySatisfied","Satisfied","Neither","Dissatisfied","VeryDissatisfied" - }; - - // 호출 - SXSSFWorkbook workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(excelData , header, order, width, title); - model.addAttribute("locale", Locale.KOREA); - model.addAttribute("workbook", workbook); - model.addAttribute("workbookName", title); - - }catch(Exception ep) { - ep.getStackTrace(); - } - - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("excelDownloadView"); - modelAndView.addObject(model); - return modelAndView; - } - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // - // private function - // - // - - //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 - private PaginationInfo setPagingStep1( - VEEduAplctVO p_vEEduAplctVO - )throws Exception{ - // pageing step1 - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(p_vEEduAplctVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(p_vEEduAplctVO.getPageUnit()); - paginationInfo.setPageSize(p_vEEduAplctVO.getPageSize()); - - return paginationInfo; - } - - - //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 - private VEEduAplctVO setPagingStep2( - VEEduAplctVO p_vEEduAplctVO - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step2 - p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); - p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); - p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); - - if("".equals(p_vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - p_vEEduAplctVO.setSearchSortCnd("prcs_ord"); - p_vEEduAplctVO.setSearchSortOrd("desc"); - } - - return p_vEEduAplctVO; - } - - - //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 - private PaginationInfo setPagingStep3( - List p_vEEduAplctVOList - - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step3 - int totCnt = 0; - if(p_vEEduAplctVOList.size() > 0) totCnt = p_vEEduAplctVOList.get(0).getTotCnt(); - p_paginationInfo.setTotalRecordCount(totCnt); - - return p_paginationInfo; - } -} +package kcc.ve.oprtn.adultVisitEdu.eduRsltMng.web; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.Properties; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.ModelAndView; + +import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.EgovCmmUseService; +import kcc.com.cmm.service.EgovFileMngService; +import kcc.com.cmm.service.EgovFileMngUtil; +import kcc.com.cmm.spring.data.util.ExcelUtil; +import kcc.com.cmm.util.IpUtil; +import kcc.com.cmm.util.StringUtil; +import kcc.com.utl.user.service.CheckAdrProcessUtil; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.com.utl.user.service.QustnrCommonUtil; +import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; +import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService; +import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService; +import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO; +import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.ve.cmm.VeConstants; +import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService; +import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduPnltyService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; +import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService; +import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiVO; +import kcc.ve.oprtn.qestnr.service.VEALettnQestnrMIXService; + +/** + * 교육보고관리(관리자-성인찾아가는저작권교육) + * 교육보고관리에 관한 controller 클래스를 정의한다. + * @author 조용준 + * @since 2021.12.16 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.12.16  조용준          최초 생성
+ *
+ * 
+ */ + +@Controller +@RequestMapping("/kccadr/oprtn/adultVisitEdu") +public class EduRsltMngAdultController { + + private static final Logger LOGGER = LoggerFactory.getLogger(EduRsltMngAdultController.class); + + //로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + //과정 관리 + @Resource(name = "vEPrcsService") + private VEPrcsService vEPrcsService; + + //신청과정 관리 + @Resource(name = "vEEduMIXService") + private VEEduMIXService vEEduMIXService; + + //교육신청 + @Resource(name = "vEEduAplctService") + private VEEduAplctService vEEduAplctService; + + //교육과정신청 + @Resource(name = "vEPrcsMIXService") + private VEPrcsMIXService vEPrcsMIXService; + + //차시 + @Resource(name = "vEEduChasiService") + private VEEduChasiService vVEEduChasiService; + + // eGov 공통코드 + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService cmmUseService; + + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + // global 프로퍼티 + @Resource(name="globalSettings") + protected Properties propertiesService; + + //첨부파일 경로, realPath 설정 + @Resource(name="EgovFileMngUtil") + private EgovFileMngUtil fileUtil; + + // 첨부파일 정보 + @Resource(name="EgovFileMngService") + private EgovFileMngService fileMngService; + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + + @Resource(name="KccadrMgrUdtService") + private KccadrMgrUdtService kccadrMgrUdtService; + + // 교육신청 서비스단 + @Resource(name = "checkAdrProcessUtil") + private CheckAdrProcessUtil checkAdrProcessUtil; + + // 교육패널티 + @Resource(name = "vEEduPnltyService") + private VEEduPnltyService vEEduPnltyService; + + // 강의배정정보 + @Resource(name = "vEAsgnmMIXService") + private VEAsgnmMIXService vEAsgnmMIXService; + + @Resource(name = "egovQustnrRespondInfoService") + private EgovQustnrRespondInfoService egovQustnrRespondInfoService; + + //NOTI 서비스 + @Resource(name="vEAsgnmNotiService") + private VEAsgnmNotiService vEAsgnmNotiService; + + // 설문 복합 VEA_ + @Resource(name = "vEALettnQestnrMIXService") + private VEALettnQestnrMIXService vEALettnQestnrMIXService; + + // 설문 util + @Resource(name = "qustnrCommonUtil") + private QustnrCommonUtil qustnrCommonUtil; + + /** + * 교육결과관리 목록 화면 + */ + @RequestMapping("eduRsltMngList.do") + public String eduRsltMngList( + @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO + , HttpSession session + , ModelMap model + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + //String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + //if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; + //로그인 처리==================================== + + // 검색자가 '강사이름'일 때, 암호화하여 검색자에 set한다. + if("2".equals(vEEduAplctVO.getSearchCondition())) { + vEEduAplctVO.setSearchKeyword(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword())); + } + + + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO); + + //2. pageing step2 + vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo); + vEEduAplctVO.setInstrDiv("20"); // 성인 교육 코드 + vEEduAplctVO.setLctrDivCd("20"); + vEEduAplctVO.setAprvlCd("60"); + vEEduAplctVO.setNotiUserId(user.getUniqId()); + vEEduAplctVO.setMenuNo(session.getAttribute("menuNo").toString()); + + vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO); + + + List vEEduAplctVOList = vEEduMIXService.selectTngrRsltPagingList(vEEduAplctVO); + VEEduAplctVO vo = new VEEduAplctVO(); + for(int i=0; i < vEEduAplctVOList.size(); i++) { + vo = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVOList.get(i)); + vEEduAplctVOList.get(i).setChrgNm(vo.getChrgNm()); + } + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo); + + // 검색자가 '강사이름'일 때, 복호화하여 검색자에 set 한다. + if("2".equals(vEEduAplctVO.getSearchCondition())) { + vEEduAplctVO.setSearchKeyword(egovCryptoUtil.decrypt(vEEduAplctVO.getSearchKeyword())); + } + + model.addAttribute("paginationInfo", paginationInfo); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEEduAplctVOList); + + + //대상 리스트, 페이징 정보 전달 + //model.addAttribute("resultList", vEEduAplctVOList); + + + return "oprtn/adultVisitEdu/eduRsltMngList"; + } + + /** + * 교육결과관리 등록 화면 + */ + @RequestMapping("eduRsltMngReg.do") + public String eduRsltMngReg( + @ModelAttribute("searchVO") AdjReqMgrVO adjReqMgrVO + , ModelMap model + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== + + + return "oprtn/adultVisitEdu/eduRsltMngReg"; + + } + + + /** + * 교육결과관리 상세 화면 + */ + @RequestMapping("eduRsltMngDetail.do") + public String eduRsltMngDetail( + @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO + , ModelMap model + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + //String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request); + //if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo; + LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; + //로그인 처리==================================== + String chasiOrd = vEEduAplctVO.getEduChasiOrd(); + + //기본데이터 불러오기 + vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO); + vEEduAplctVO.setEduChasiOrd(chasiOrd); + + //데이터 복호화 - VO 단위로 만들어서 사용 + vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO); + + model.addAttribute("info", vEEduAplctVO); + + + //사용자 교육신청 과정 리스트 + VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); + vEPrcsDetailVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + List vEPrcsDetailVOList = vEPrcsMIXService.selectMberEduAplctPrcsList(vEPrcsDetailVO); + model.addAttribute("list", vEPrcsDetailVOList); + + //사용자 교육신청 차시 리스트 + VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); + + vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_20);// 청소년교육 코드 + vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + vEEduChasiVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); + + List vEEduChasiVOList = vVEEduChasiService.selectList(vEEduChasiVO); + VEEduChasiVO vo = new VEEduChasiVO(); + for(int i=0; i < vEEduChasiVOList.size(); i++) { + vo = egovCryptoUtil.decryptVEEduChasiVO(vEEduChasiVOList.get(i)); + vEEduChasiVOList.get(i).setInstrNm(vo.getInstrNm()); + } + + model.addAttribute("chasiList", vEEduChasiVOList); + + //설문 문항 정보 + try { + model = qustnrCommonUtil._qustnrQesItm( + model + , VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , "QTMPLA_0000000000001" + , vEALettnQestnrMIXService + , egovQustnrRespondInfoService + ); + + }catch(Exception ex) { + ex.printStackTrace(); + } + /* + // 설문조사 정보 + QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO(); + qustnrRespondInfoVO.setSiteId(VeConstants.LCTR_DIV_CD_20); + QustnrRespondInfoVO info = egovQustnrRespondInfoService.selectSiteIdQustnrTmplat(qustnrRespondInfoVO); + + // 설문조사 문항리스트 조회 + Map commandMap =new HashMap(); + commandMap.put("qestnrTmplatId", "QTMPLA_0000000000001"); + commandMap.put("qestnrId",info.getQestnrId()); //문제 ID + model.addAttribute("Comtnqustnrqesitm", egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap)); + */ + + try{ + model = qustnrCommonUtil._chasiSrvyList( + model + , VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , vEEduAplctVO.getEduAplctOrd() + , vEEduAplctVO.getEduChasiOrd() + , vEALettnQestnrMIXService + ); + + }catch(Exception ex) { + ex.printStackTrace(); + } + + /* + // 설문조사 결과 조회 + qustnrRespondInfoVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); + List chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyList(qustnrRespondInfoVO); + if(chasiSrvyList.size() > 0) { + model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent()); + model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant()); + model.addAttribute("chasiSrvyList",chasiSrvyList); + } + */ + + + + /* + System.out.println("------------------------"); + //전체 차시 배정 강사 정보 + vEInstrAsgnmVO.setEduChasiOrd(""); + List selectAsgnmInstrList = vEAsgnmMIXService.selectAsgnmInstrList(vEInstrAsgnmVO); + model.addAttribute("listChasi", selectAsgnmInstrList); + System.out.println("------------------------======================="); + */ + + //20220223 우영두 추가 + //강의내역 NOTI 입력 + VEAsgnmNotiVO vEAsgnmNotiVO = new VEAsgnmNotiVO(); + String tblUnitOrd = ""; + if(StringUtil.isNotEmpty(vEEduAplctVO.getEduChasiOrd())) { + tblUnitOrd = vEEduAplctVO.getEduChasiOrd(); + }else { + tblUnitOrd = vEEduAplctVO.getEduAplctOrd(); + } + + vEAsgnmNotiVO.setTblUniqOrd(tblUnitOrd); + vEAsgnmNotiVO.setFrstRegisterId(user.getUniqId()); + vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString()); + vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request)); + + vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO); + + + return "oprtn/adultVisitEdu/eduRsltMngDetail"; + } + + /** + * 교육결과반려 처리 팝업 + */ + @RequestMapping("popup/eduRsltMngDetailRfslSecurityPopup.do") + public String eduRsltMngDetailRfslSecurityPopup( + @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + //String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request); + //if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo; + + //로그인 처리==================================== + + + //기본데이터 불러오기 + vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO); + + //데이터 복호화 - VO 단위로 만들어서 사용 + vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO); + + model.addAttribute("info", vEEduAplctVO); + + + //사용자 교육신청 과정 리스트 + VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); + vEPrcsDetailVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + + List vEPrcsDetailVOList = vEPrcsMIXService.selectMberEduAplctPrcsList(vEPrcsDetailVO); + + model.addAttribute("list", vEPrcsDetailVOList); + + + //사용자 교육신청 차시 리스트 + VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); + vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + + List vEEduChasiVOList = vVEEduChasiService.selectList(vEEduChasiVO); + + model.addAttribute("chasiList", vEEduChasiVOList); + + + return "oprtn/adultVisitEdu/popup/eduRsltMngDetailRfslSecurityPopup"; + } + + + @SuppressWarnings("rawtypes") + @RequestMapping(value = "eduRsltSrvyExcelDownLoad.do") + public ModelAndView eduRsltSrvyExcelDownLoad(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO, ModelMap model) throws Exception { + + try { + // 설문조사 정보 + QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO(); + qustnrRespondInfoVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); + List chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyExcelList(qustnrRespondInfoVO); + + + + System.out.println("out-list-1"); + + List excelData = new ArrayList<>(); + excelData.addAll(chasiSrvyList); + + // 세팅값 + String title = "성인 찾아가는 저작권 교육"; + int[] width = { + 18000, 4000, 4000, 4000, 4000, 4000 + }; // 너비 + + //33개 항목 + String[] header = { + "평가문항", "매우만족", "만족", "보통", "불만족", "매우불만족" + }; + + String[] order = { + "RespondAnswerCn","VerySatisfied","Satisfied","Neither","Dissatisfied","VeryDissatisfied" + }; + + // 호출 + SXSSFWorkbook workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(excelData , header, order, width, title); + model.addAttribute("locale", Locale.KOREA); + model.addAttribute("workbook", workbook); + model.addAttribute("workbookName", title); + + }catch(Exception ep) { + ep.getStackTrace(); + } + + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("excelDownloadView"); + modelAndView.addObject(model); + return modelAndView; + } + + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // + // + // private function + // + // + + //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 + private PaginationInfo setPagingStep1( + VEEduAplctVO p_vEEduAplctVO + )throws Exception{ + // pageing step1 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(p_vEEduAplctVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(p_vEEduAplctVO.getPageUnit()); + paginationInfo.setPageSize(p_vEEduAplctVO.getPageSize()); + + return paginationInfo; + } + + + //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 + private VEEduAplctVO setPagingStep2( + VEEduAplctVO p_vEEduAplctVO + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step2 + p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); + p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); + p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); + + if("".equals(p_vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + p_vEEduAplctVO.setSearchSortCnd("prcs_ord"); + p_vEEduAplctVO.setSearchSortOrd("desc"); + } + + return p_vEEduAplctVO; + } + + + //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 + private PaginationInfo setPagingStep3( + List p_vEEduAplctVOList + + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step3 + int totCnt = 0; + if(p_vEEduAplctVOList.size() > 0) totCnt = p_vEEduAplctVOList.get(0).getTotCnt(); + p_paginationInfo.setTotalRecordCount(totCnt); + + return p_paginationInfo; + } +} diff --git a/src/main/java/kcc/ve/oprtn/qestnr/service/VEALettnQestnrMIXService.java b/src/main/java/kcc/ve/oprtn/qestnr/service/VEALettnQestnrMIXService.java index 6b9029d2..1b463014 100644 --- a/src/main/java/kcc/ve/oprtn/qestnr/service/VEALettnQestnrMIXService.java +++ b/src/main/java/kcc/ve/oprtn/qestnr/service/VEALettnQestnrMIXService.java @@ -12,4 +12,7 @@ public interface VEALettnQestnrMIXService { //설문지 양식 상세 - 특정 조건에 맞는(청소년, 성인 and 기본, 신청자, 강사) VEAQestnrVO selectDetail_MIX_LQI_02(VEAQestnrVO paramVO) throws Exception; // R + + //관리자 청소년,성인 - 만족도 평가 + List selectDetail_MIX_LQI_03(VEAQestnrVO paramVO) throws Exception; // R } diff --git a/src/main/java/kcc/ve/oprtn/qestnr/service/VEAQestnrVO.java b/src/main/java/kcc/ve/oprtn/qestnr/service/VEAQestnrVO.java index 5b57a326..63b3c4b1 100644 --- a/src/main/java/kcc/ve/oprtn/qestnr/service/VEAQestnrVO.java +++ b/src/main/java/kcc/ve/oprtn/qestnr/service/VEAQestnrVO.java @@ -87,6 +87,39 @@ public class VEAQestnrVO extends ComDefaultVO implements Serializable { private String rrspnsResultCnt; // + //관리자 만족도 평가 + private String qestnrQesitmId; + + + public String getQestnrQesitmId() { + return qestnrQesitmId; + } + public void setQestnrQesitmId(String qestnrQesitmId) { + this.qestnrQesitmId = qestnrQesitmId; + } + public String getQestnrParticipant() { + return qestnrParticipant; + } + public void setQestnrParticipant(String qestnrParticipant) { + this.qestnrParticipant = qestnrParticipant; + } + public String getQestnrRespondent() { + return qestnrRespondent; + } + public void setQestnrRespondent(String qestnrRespondent) { + this.qestnrRespondent = qestnrRespondent; + } + public String getQestnrRespondId() { + return qestnrRespondId; + } + public void setQestnrRespondId(String qestnrRespondId) { + this.qestnrRespondId = qestnrRespondId; + } + private String qestnrParticipant; + private String qestnrRespondent; + private String qestnrRespondId; + + public String getQustnrTmplatId() { return qustnrTmplatId; } diff --git a/src/main/java/kcc/ve/oprtn/qestnr/service/impl/VEALettnQestnrMIXDAO.java b/src/main/java/kcc/ve/oprtn/qestnr/service/impl/VEALettnQestnrMIXDAO.java index 14019e47..ffa94b66 100644 --- a/src/main/java/kcc/ve/oprtn/qestnr/service/impl/VEALettnQestnrMIXDAO.java +++ b/src/main/java/kcc/ve/oprtn/qestnr/service/impl/VEALettnQestnrMIXDAO.java @@ -22,4 +22,9 @@ public class VEALettnQestnrMIXDAO extends EgovAbstractDAO { public VEAQestnrVO selectDetail_MIX_LQI_02(VEAQestnrVO paramVO) throws Exception { return (VEAQestnrVO) select("VEALettnQestnrMIXDAO.selectDetail_MIX_LQI_02", paramVO); } + + public List selectDetail_MIX_LQI_03(VEAQestnrVO paramVO) throws Exception { + List tlist = (List) list("VEALettnQestnrMIXDAO.selectDetail_MIX_LQI_03", paramVO); + return tlist; + } } diff --git a/src/main/java/kcc/ve/oprtn/qestnr/service/impl/VEALettnQestnrMIXServiceImpl.java b/src/main/java/kcc/ve/oprtn/qestnr/service/impl/VEALettnQestnrMIXServiceImpl.java index 0f123be7..82521387 100644 --- a/src/main/java/kcc/ve/oprtn/qestnr/service/impl/VEALettnQestnrMIXServiceImpl.java +++ b/src/main/java/kcc/ve/oprtn/qestnr/service/impl/VEALettnQestnrMIXServiceImpl.java @@ -30,4 +30,9 @@ public class VEALettnQestnrMIXServiceImpl implements VEALettnQestnrMIXService { public VEAQestnrVO selectDetail_MIX_LQI_02(VEAQestnrVO paramVO) throws Exception { return vEALettnQestnrMIXDAO.selectDetail_MIX_LQI_02(paramVO); } + + //관리자 (청년, 성인) 만족도 평가 + public List selectDetail_MIX_LQI_03(VEAQestnrVO paramVO) throws Exception{ + return vEALettnQestnrMIXDAO.selectDetail_MIX_LQI_03(paramVO); + } } diff --git a/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduRsltMng/web/EduRsltMngTngrController.java b/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduRsltMng/web/EduRsltMngTngrController.java index 77fc08a3..99a0cc43 100644 --- a/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduRsltMng/web/EduRsltMngTngrController.java +++ b/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduRsltMng/web/EduRsltMngTngrController.java @@ -46,6 +46,7 @@ import kcc.com.cmm.spring.data.util.ExcelUtil; import kcc.com.cmm.util.IpUtil; import kcc.com.cmm.util.StringUtil; import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.com.utl.user.service.QustnrCommonUtil; import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; import kcc.kccadr.cmm.CmmUtil; import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService; @@ -75,6 +76,8 @@ import kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRprtVO; import kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRsltRprtService; import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService; import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiVO; +import kcc.ve.oprtn.qestnr.service.VEALettnQestnrMIXService; +import kcc.ve.oprtn.qestnr.service.VEAQestnrVO; /** * 교육보고관리(관리자-청소년찾아가는저작권교육) @@ -174,6 +177,14 @@ public class EduRsltMngTngrController { @Resource(name="vEAsgnmNotiService") private VEAsgnmNotiService vEAsgnmNotiService; + // 설문 복합 VEA_ + @Resource(name = "vEALettnQestnrMIXService") + private VEALettnQestnrMIXService vEALettnQestnrMIXService; + + // 설문 util + @Resource(name = "qustnrCommonUtil") + private QustnrCommonUtil qustnrCommonUtil; + /** * 교육결과관리 목록 화면 */ @@ -445,19 +456,68 @@ public class EduRsltMngTngrController { , HttpSession session , HttpServletRequest request ) throws Exception { - // 설문조사 문항리스트 조회 + + //설문 정보 + try { + //qustnrCommonUtil._qustnrQesItm(model, p_siteId, p_siteIdCd, p_qestnrTmplatId, p_vEALettnQestnrMIXService, p_egovQustnrRespondInfoService) + + model = qustnrCommonUtil._qustnrQesItm( + model + , VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , "QTMPLA_0000000000001" + , vEALettnQestnrMIXService + , egovQustnrRespondInfoService + ); + + /* + model = this._qustnrQesItm( + model + , VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , "QTMPLA_0000000000001" + ); + */ + }catch(Exception ex) { + ex.printStackTrace(); + } + + { + + /* + VEAQestnrVO vEAQestnrVO = new VEAQestnrVO(); + vEAQestnrVO.setSiteId(VeConstants.LCTR_DIV_CD_10); //청소년 + vEAQestnrVO.setSiteIdCd("10"); //10-기본설문, 20-신청자설문, 30-강사설문 + vEAQestnrVO = vEALettnQestnrMIXService.selectDetail_MIX_LQI_02(vEAQestnrVO); + */ + + //문항정보 + /* + Map commandMap =new HashMap(); + commandMap.put("qestnrTmplatId", "QTMPLA_0000000000001"); + commandMap.put("qestnrId",vEAQestnrVO.getQestnrId()); //문제 ID + model.addAttribute("Comtnqustnrqesitm", egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap)); + model.addAttribute("qestnrId", vEAQestnrVO.getQestnrId()); + */ + } + + + // 설문조사 문항리스트 조회 + /* QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO(); - qustnrRespondInfoVO.setSiteId(VeConstants.LCTR_DIV_CD_10); + qustnrRespondInfoVO.setSiteId(VeConstants.LCTR_DIV_CD_10); QustnrRespondInfoVO info = egovQustnrRespondInfoService.selectSiteIdQustnrTmplat(qustnrRespondInfoVO); Map commandMap =new HashMap(); commandMap.put("qestnrTmplatId", "QTMPLA_0000000000001"); commandMap.put("qestnrId",info.getQestnrId()); //문제 ID model.addAttribute("Comtnqustnrqesitm", egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap)); + */ System.out.println("================================= Comtnqustnrqesitm ================================="); // 설문조사 결과 조회 + /* qustnrRespondInfoVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); List chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyList(qustnrRespondInfoVO); @@ -466,6 +526,60 @@ public class EduRsltMngTngrController { model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant()); model.addAttribute("chasiSrvyList",chasiSrvyList); } + */ + + try{ + model = qustnrCommonUtil._chasiSrvyList( + model + , VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , vEEduAplctVO.getEduAplctOrd() + , vEEduAplctVO.getEduChasiOrd() + , vEALettnQestnrMIXService + ); + /* + model = this._chasiSrvyList( + model + , VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , vEEduAplctVO.getEduAplctOrd() + , vEEduAplctVO.getEduChasiOrd() + ); + */ + + /* + VEAQestnrVO vEAQestnrVO = new VEAQestnrVO(); + vEAQestnrVO.setSiteId(VeConstants.LCTR_DIV_CD_10); //청소년 + vEAQestnrVO.setSiteIdCd("10"); //10-기본설문, 20-신청자설문, 30-강사설문 + vEAQestnrVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + vEAQestnrVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); + + List chasiSrvyList = vEALettnQestnrMIXService.selectDetail_MIX_LQI_03(vEAQestnrVO); + + if(chasiSrvyList.size() > 0) { + model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent()); + model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant()); + model.addAttribute("chasiSrvyList",chasiSrvyList); + } + */ + /* + // 설문조사 결과 조회 + QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO(); + qustnrRespondInfoVO.setSiteId(VeConstants.LCTR_DIV_CD_10); + qustnrRespondInfoVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); + vEAQestnrVO = vEALettnQestnrMIXService.selectDetail_MIX_LQI_02(vEAQestnrVO); + List chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyList(qustnrRespondInfoVO); + if(chasiSrvyList.size() > 0) { + model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent()); + model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant()); + model.addAttribute("chasiSrvyList",chasiSrvyList); + } + */ + }catch(Exception ex) { + ex.printStackTrace(); + } + System.out.println("=============================================chasiSrvyList============================================="); @@ -516,6 +630,7 @@ public class EduRsltMngTngrController { egovQustnrRespondInfoService.updateQustnrRespondManage(qustnrRespondManageVO); // 설문 문항 결과 등록 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()); @@ -647,28 +762,114 @@ public class EduRsltMngTngrController { } model.addAttribute("fileList", result); model.addAttribute("fileListCnt", fileCnt); + + //설문 문항 정보 + try { + model = qustnrCommonUtil._qustnrQesItm( + model + , VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , "QTMPLA_0000000000001" + , vEALettnQestnrMIXService + , egovQustnrRespondInfoService + ); + /* + model = this._qustnrQesItm( + model + , VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , "QTMPLA_0000000000001" + ); + */ + }catch(Exception ex) { + ex.printStackTrace(); + } + /* + { + VEAQestnrVO vEAQestnrVO = new VEAQestnrVO(); + vEAQestnrVO.setSiteId(VeConstants.LCTR_DIV_CD_10); //청소년 + vEAQestnrVO.setSiteIdCd("10"); //10-기본설문, 20-신청자설문, 30-강사설문 + vEAQestnrVO = vEALettnQestnrMIXService.selectDetail_MIX_LQI_02(vEAQestnrVO); + + //문항정보 + Map commandMap =new HashMap(); + commandMap.put("qestnrTmplatId", "QTMPLA_0000000000001"); + commandMap.put("qestnrId",vEAQestnrVO.getQestnrId()); //문제 ID + model.addAttribute("Comtnqustnrqesitm", egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap)); + model.addAttribute("qestnrId", vEAQestnrVO.getQestnrId()); + } + */ + + /* // 설문조사 정보 QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO(); qustnrRespondInfoVO.setSiteId(VeConstants.LCTR_DIV_CD_10); - QustnrRespondInfoVO info = egovQustnrRespondInfoService.selectSiteIdQustnrTmplat(qustnrRespondInfoVO); + //QustnrRespondInfoVO info = egovQustnrRespondInfoService.selectSiteIdQustnrTmplat(qustnrRespondInfoVO); // 설문조사 문항리스트 조회 Map commandMap =new HashMap(); commandMap.put("qestnrTmplatId", "QTMPLA_0000000000001"); commandMap.put("qestnrId",info.getQestnrId()); //문제 ID model.addAttribute("Comtnqustnrqesitm", egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap)); + */ + System.out.println("================================= Comtnqustnrqesitm ================================="); - // 설문조사 결과 조회 - qustnrRespondInfoVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); - qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); - List chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyList(qustnrRespondInfoVO); - if(chasiSrvyList.size() > 0) { - model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent()); - model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant()); - model.addAttribute("chasiSrvyList",chasiSrvyList); + try{ + model = qustnrCommonUtil._chasiSrvyList( + model + , VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , vEEduAplctVO.getEduAplctOrd() + , vEEduAplctVO.getEduChasiOrd() + , vEALettnQestnrMIXService + ); + + /* + model = this._chasiSrvyList( + model + , VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , vEEduAplctVO.getEduAplctOrd() + , vEEduAplctVO.getEduChasiOrd() + ); + */ + + /* + VEAQestnrVO vEAQestnrVO = new VEAQestnrVO(); + vEAQestnrVO.setSiteId(VeConstants.LCTR_DIV_CD_10); //청소년 + vEAQestnrVO.setSiteIdCd("10"); //10-기본설문, 20-신청자설문, 30-강사설문 + vEAQestnrVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + vEAQestnrVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); + + List chasiSrvyList = vEALettnQestnrMIXService.selectDetail_MIX_LQI_03(vEAQestnrVO); + + if(chasiSrvyList.size() > 0) { + model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent()); + model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant()); + model.addAttribute("chasiSrvyList",chasiSrvyList); + } + */ + /* + // 설문조사 결과 조회 + QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO(); + qustnrRespondInfoVO.setSiteId(VeConstants.LCTR_DIV_CD_10); + qustnrRespondInfoVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); + vEAQestnrVO = vEALettnQestnrMIXService.selectDetail_MIX_LQI_02(vEAQestnrVO); + List chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyList(qustnrRespondInfoVO); + if(chasiSrvyList.size() > 0) { + model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent()); + model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant()); + model.addAttribute("chasiSrvyList",chasiSrvyList); + } + */ + }catch(Exception ex) { + ex.printStackTrace(); } + + System.out.println("=============================================chasiSrvyList============================================="); /* @@ -1701,4 +1902,55 @@ public class EduRsltMngTngrController { return p_paginationInfo; } + + private ModelMap b_qustnrQesItm( + ModelMap p_model + , String p_siteId + , String p_siteIdCd + , String p_qestnrTmplatId + )throws Exception{ + //설문 문항 정보 + { + VEAQestnrVO vEAQestnrVO = new VEAQestnrVO(); + vEAQestnrVO.setSiteId(VeConstants.LCTR_DIV_CD_10); //청소년 + vEAQestnrVO.setSiteIdCd("10"); //10-기본설문, 20-신청자설문, 30-강사설문 + vEAQestnrVO = vEALettnQestnrMIXService.selectDetail_MIX_LQI_02(vEAQestnrVO); + + //문항정보 + Map commandMap =new HashMap(); + commandMap.put("qestnrTmplatId", "QTMPLA_0000000000001"); + commandMap.put("qestnrId",vEAQestnrVO.getQestnrId()); //문제 ID + p_model.addAttribute("Comtnqustnrqesitm", egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap)); + p_model.addAttribute("qestnrId", vEAQestnrVO.getQestnrId()); + p_model.addAttribute("qustnrTmplatId", vEAQestnrVO.getQustnrTmplatId()); + } + + return p_model; + } + + + private ModelMap a_chasiSrvyList( + ModelMap p_model + , String p_siteId + , String p_siteIdCd + , String p_eduAplctOrd + , String p_eduChasiOrd + )throws Exception{ + VEAQestnrVO vEAQestnrVO = new VEAQestnrVO(); + vEAQestnrVO.setSiteId(p_siteId); //청소년 + vEAQestnrVO.setSiteIdCd(p_siteIdCd); //10-기본설문, 20-신청자설문, 30-강사설문 + vEAQestnrVO.setEduAplctOrd(p_eduAplctOrd); + vEAQestnrVO.setEduChasiOrd(p_eduChasiOrd); + + List chasiSrvyList = vEALettnQestnrMIXService.selectDetail_MIX_LQI_03(vEAQestnrVO); + + if(chasiSrvyList.size() > 0) { + p_model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent()); + p_model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant()); + p_model.addAttribute("chasiSrvyList",chasiSrvyList); + } + + return p_model; + } + } diff --git a/src/main/resources/egovframework/sqlmap/let/uss/olp/qri/EgovQustnrRespondInfo_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/let/uss/olp/qri/EgovQustnrRespondInfo_SQL_Tibero.xml index ac81fe8b..aba9d9fb 100644 --- a/src/main/resources/egovframework/sqlmap/let/uss/olp/qri/EgovQustnrRespondInfo_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/let/uss/olp/qri/EgovQustnrRespondInfo_SQL_Tibero.xml @@ -417,6 +417,52 @@ + /* QustnrRespondInfo.insertSrvyInfo */ + INSERT INTO LETTNQESTNRRSLTDetail + ( + QUSTNR_TMPLAT_ID + , QESTNR_ID + , QUSTNR_QESITM_ID + , QUSTNR_RSLT_ID + , QUSTNR_IEM_ID + , EDU_APLCT_ORD + , EDU_CHASI_ORD + , RESPOND_ID + , VERY_SATISFIED + , SATISFIED + , NEITHER + , DISSATISFIED + , VERY_DISSATISFIED + , ANSWER + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + + ) VALUES ( + #qustnrTmplatId# + , #qestnrId# + , #qestnrQesitmId# + , #qustnrRsltId# + , #qustnrIemId# + , #eduAplctOrd# + , #eduChasiOrd# + , #respondId# + , #verySatisfied# + , #satisfied# + , #neither# + , #dissatisfied# + , #veryDissatisfied# + , #answer# + , SYSDATE + , #frstRegisterId# + , SYSDATE + , #lastUpdusrId# + ) + + + + /* QustnrRespondInfo.insertSrvyInfo_bak */ INSERT INTO LETTNQESTNRRSLT ( QESTNR_ID @@ -457,8 +503,28 @@ , #lastUpdusrId# ) - + + /* QustnrRespondInfo.updateSrvyInfo */ + UPDATE + LETTNQESTNRRSLTDetail + SET + very_satisfied = #verySatisfied# + , satisfied = #satisfied# + , neither = #neither# + , dissatisfied = #dissatisfied# + , very_dissatisfied = #veryDissatisfied# + , last_updt_pnttm = SYSDATE + , last_updusr_id = #lastUpdusrId# + WHERE 1=1 + AND QUSTNR_TMPLAT_ID = #qustnrTmplatId# + AND qestnr_id = #qestnrId# + AND qustnr_qesitm_id = #qestnrQesitmId# + AND qustnr_rslt_id = #qustnrRsltId# + + + + /* QustnrRespondInfo.updateSrvyInfo_bak */ UPDATE LETTNQESTNRRSLT SET @@ -473,7 +539,7 @@ AND qestnr_id = #qestnrId# AND qustnr_qesitm_id = #qestnrQesitmId# AND qustnr_rslt_id = #qustnrRsltId# - + UPDATE @@ -490,6 +556,42 @@ + + + + - + DELETE FROM lettnqustnrrespondinfo WHERE 1=1 @@ -555,9 +684,18 @@ - DELETE FROM lettnqestnrrslt + /* QustnrRespondInfo.deleteChasiStatusFormlettnqestnrrslt */ + DELETE FROM lettnqestnrrsltDetail WHERE 1=1 AND edu_aplct_ord = #eduAplctOrd# AND edu_chasi_ord = #eduChasiOrd# + + + /* QustnrRespondInfo.deleteChasiStatusFormlettnqestnrrslt_bak */ + DELETE FROM lettnqestnrrslt + WHERE 1=1 + AND edu_aplct_ord = #eduAplctOrd# + AND edu_chasi_ord = #eduChasiOrd# + \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/let/uss/olp/qrm/EgovQustnrRespondManage_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/let/uss/olp/qrm/EgovQustnrRespondManage_SQL_Tibero.xml index 6a94b06f..c34c79d3 100644 --- a/src/main/resources/egovframework/sqlmap/let/uss/olp/qrm/EgovQustnrRespondManage_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/let/uss/olp/qrm/EgovQustnrRespondManage_SQL_Tibero.xml @@ -104,6 +104,7 @@ + /* QustnrRespondManage.insertQustnrRespondManage */ diff --git a/src/main/resources/egovframework/sqlmap/ve/qustnr/VEALettnQestnrMIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/qustnr/VEALettnQestnrMIX_SQL_Tibero.xml index 261858c5..8544d0f5 100644 --- a/src/main/resources/egovframework/sqlmap/ve/qustnr/VEALettnQestnrMIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/qustnr/VEALettnQestnrMIX_SQL_Tibero.xml @@ -120,7 +120,7 @@ + + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduRsltMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduRsltMngDetail.jsp index f43604f1..0b3682eb 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduRsltMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduRsltMngDetail.jsp @@ -786,14 +786,29 @@ function replyCalculation(){ - -
-
- - -
-
-
+ + +
+
+ + +
+
+
+ + + +
+ +<%-- --%> + + + + + + +<%-- --%> +

비공개 메모

diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/chasiStatusPopup.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/chasiStatusPopup.jsp index f07f2568..10699e14 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/chasiStatusPopup.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/chasiStatusPopup.jsp @@ -212,6 +212,8 @@ + +