이지우 - 관리자 성인교육 결과관리에 결과보고 리포트 출력 추가
This commit is contained in:
parent
7dfc20464b
commit
2402c2b141
@ -1,6 +1,9 @@
|
||||
package kcc.ve.aplct.comweb;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@ -21,6 +24,8 @@ import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
import kcc.ve.adv.tngr.stngInfo.service.VEACmpltCrtfcMixService;
|
||||
import kcc.ve.adv.tngr.stngInfo.service.VEACmpltCrtfcVO;
|
||||
import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrMixService;
|
||||
@ -140,6 +145,10 @@ public class CrownixAjaxController {
|
||||
@Resource(name = "vEACmpltCrtfcMixService")
|
||||
private VEACmpltCrtfcMixService vEACmpltCrtfcMixService;
|
||||
|
||||
//MIX
|
||||
@Resource(name = "vEEduMIXService")
|
||||
private VEEduMIXService vEEduMIXService;
|
||||
|
||||
//강사MIX 정보
|
||||
@Resource(name="vEInstrMixService")
|
||||
private VEInstrMixService vEInstrMixService;
|
||||
@ -944,4 +953,66 @@ public class CrownixAjaxController {
|
||||
|
||||
return p_modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* 성인강사 결과보고 출력
|
||||
*
|
||||
*/
|
||||
@RequestMapping("/ve/aplct/adultVisitEdu/eduAplct/adultRsltRprtListAjax.do")
|
||||
public ModelAndView adultRsltRprtListAjax(
|
||||
VEEduAplctVO vEEduAplctVO
|
||||
, ModelMap model
|
||||
, HttpServletRequest request
|
||||
) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
System.out.println(" vEInstrDetailVO.getRsltlist().toString() :: "+vEEduAplctVO.getRsltList().toString());
|
||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectAdultRsltRprtList(vEEduAplctVO);
|
||||
//복호화
|
||||
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
|
||||
|
||||
JSONArray jsReqInfo = new JSONArray(); //신청인 정보
|
||||
|
||||
for (int i=0;i<vEEduAplctVOList.size();i++) {
|
||||
JSONObject jsDrtInfo = new JSONObject(); //전체 정보
|
||||
//장소 처리 (온라인 - 매체 , 오프라인 - 장송)
|
||||
String addr = "";
|
||||
if("10".equals(vEEduAplctVOList.get(i).getEduSlctCd())) { //온라인 교육
|
||||
if("99".equals(vEEduAplctVOList.get(i).getEduMdCd())) {
|
||||
addr = vEEduAplctVOList.get(i).getEduMd();
|
||||
}else {
|
||||
addr = vEEduAplctVOList.get(i).getEduMdCd();
|
||||
}
|
||||
}else { //오프라인 교육
|
||||
addr = vEEduAplctVOList.get(i).getAddr() + vEEduAplctVOList.get(i).getAddrDetail();
|
||||
}
|
||||
//출력일 처리
|
||||
Date currentDate = new Date();
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd", Locale.KOREA);
|
||||
String formattedDate = dateFormat.format(currentDate);
|
||||
|
||||
jsDrtInfo.put("data_1", vEEduAplctVOList.get(i).getLctrSbjct());
|
||||
jsDrtInfo.put("data_2", vEEduAplctVOList.get(i).getEduHopeDt());
|
||||
jsDrtInfo.put("data_3", addr);
|
||||
jsDrtInfo.put("data_4", vEEduAplctVOList.get(i).getEduTrgt());
|
||||
jsDrtInfo.put("data_5", vEEduAplctVOList.get(i).getEduPrsnl());
|
||||
jsDrtInfo.put("data_6", vEEduAplctVOList.get(i).getInstrNm());
|
||||
jsDrtInfo.put("data_7", vEEduAplctVOList.get(i).getPrfsnFld());
|
||||
jsDrtInfo.put("data_8", vEEduAplctVOList.get(i).getInsttNm());
|
||||
jsDrtInfo.put("data_d", formattedDate);
|
||||
//jsDrtInfo.put("image", "http://119.193.215.98:9989/offedu/uss/ion/pwm/getImage.do?atchFileId="+vEInstrDetailVOList.get(i).getPhtAtchFileId());
|
||||
jsDrtInfo.put("image", "http://192.168.0.12:8086/offedu/uss/ion/pwm/getImage.do?atchFileId="+vEEduAplctVOList.get(i).getAtchFileId()+"&fileSn=0");
|
||||
jsDrtInfo.put("image2", "http://192.168.0.12:8086/offedu/uss/ion/pwm/getImage.do?atchFileId="+vEEduAplctVOList.get(i).getAtchFileId()+"&fileSn=1");
|
||||
|
||||
|
||||
jsReqInfo.add(jsDrtInfo);
|
||||
|
||||
}
|
||||
|
||||
modelAndView.addObject("rslts", jsReqInfo);
|
||||
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -469,6 +469,8 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
private String instrEmail; //강사이메일
|
||||
private String apptDiv; //강사구분
|
||||
|
||||
private List<String> rsltList; //결과보고 타겟ORD 목록
|
||||
private String prfsnFld; //강사 전문분야
|
||||
|
||||
|
||||
public String getSpecialWorkAllow() {
|
||||
@ -2037,6 +2039,19 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
this.qustnrTmplatId = qustnrTmplatId;
|
||||
}
|
||||
|
||||
public List<String> getRsltList() {
|
||||
return rsltList;
|
||||
}
|
||||
public void setRsltList(List<String> rsltList) {
|
||||
this.rsltList = rsltList;
|
||||
}
|
||||
public String getPrfsnFld() {
|
||||
return prfsnFld;
|
||||
}
|
||||
public void setPrfsnFld(String prfsnFld) {
|
||||
this.prfsnFld = prfsnFld;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -103,4 +103,6 @@ public interface VEEduMIXService {
|
||||
List<VEEduAplctVO> selectEduCmpltCrtfcNmbrList(VEEduAplctVO vEEduAplctVO) throws Exception;
|
||||
|
||||
List<VEEduAplctVO> selectCndtnList(VEEduAplctVO paramVO);
|
||||
|
||||
List<VEEduAplctVO> selectAdultRsltRprtList(VEEduAplctVO paramVO) throws Exception;
|
||||
}
|
||||
|
||||
@ -254,5 +254,12 @@ public class VEEduMIXDAO extends EgovAbstractDAO {
|
||||
public List<VEEduAplctVO> selectCndtnList(VEEduAplctVO paramVO) {
|
||||
return (List<VEEduAplctVO>) list("VEEduMIXDAO.selectCndtnList", paramVO);
|
||||
}
|
||||
|
||||
public List<VEEduAplctVO> selectAdultRsltRprtList(VEEduAplctVO paramVO) {
|
||||
@SuppressWarnings("unchecked")
|
||||
List<VEEduAplctVO> tlist = (List<VEEduAplctVO>) list("VEEduMIXDAO.selectAdultRsltRprtList", paramVO);
|
||||
return tlist;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -226,5 +226,10 @@ public class VEEduMIXServiceImpl implements VEEduMIXService {
|
||||
@Override
|
||||
public List<VEEduAplctVO> selectCndtnList(VEEduAplctVO paramVO) {
|
||||
return vEEduMIXDAO.selectCndtnList(paramVO);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VEEduAplctVO> selectAdultRsltRprtList(VEEduAplctVO paramVO) throws Exception{
|
||||
return vEEduMIXDAO.selectAdultRsltRprtList(paramVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2606,7 +2606,7 @@
|
||||
GROUP BY i.edu_aplct_ord , i.edu_chasi_ord
|
||||
),0) AS rowNo
|
||||
, e.rsdne as rsdne
|
||||
|
||||
, o.vea_rslt_rprt_ord AS veaRsltRprtOrd
|
||||
FROM ve_edu_aplct a
|
||||
, ve_edu_chasi b
|
||||
|
||||
@ -2656,7 +2656,9 @@
|
||||
AND b.edu_chasi_ord=g.edu_chasi_ord
|
||||
)
|
||||
LEFT OUTER JOIN ve_edu_instr_dstnc h
|
||||
ON b.edu_aplct_ord = h.edu_aplct_ord AND d.user_id = h.user_id
|
||||
ON b.edu_aplct_ord = h.edu_aplct_ord AND d.user_id = h.user_id
|
||||
LEFT OUTER JOIN vea_rslt_rprt o
|
||||
ON b.edu_aplct_ord = o.edu_aplct_ord
|
||||
WHERE 1=1
|
||||
AND a.edu_aplct_ord=b.edu_aplct_ord
|
||||
AND NVL(A.USE_YN, 'Y') <![CDATA[ <> ]]> 'N'
|
||||
@ -7979,4 +7981,47 @@ VALUES
|
||||
AND vad.EDU_CMPLT_CRTFC_NMBR LIKE TO_CHAR(SYSDATE, 'YYYY') || '%'; /* 현재연도로 시작하는지 확인 */
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 성인 결과보고 리포트 L page -->
|
||||
<select id="VEEduMIXDAO.selectAdultRsltRprtList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO" remapResults="true">
|
||||
/* VEEduMIXDAO.selectEduCmpltCrtfcNmbrList */
|
||||
SELECT
|
||||
a.edu_aplct_ord AS eduAplctOrd,
|
||||
a.edu_slct_cd AS eduSlctCd,
|
||||
a.edu_md_cd AS eduMdCd,
|
||||
a.edu_md AS eduMd,
|
||||
a.post AS post,
|
||||
a.addr AS addr,
|
||||
a.addr_detail AS addrDetail,
|
||||
a.edu_trgt AS eduTrgt,
|
||||
a.edu_prsnl AS eduPrsnl,
|
||||
a.instt_nm AS insttNm,
|
||||
b.edu_hope_dt AS eduHopeDt,
|
||||
b.strt_tm AS strtTm,
|
||||
b.end_tm AS endTm,
|
||||
c.lctr_sbjct AS lctrSbjct,
|
||||
c.atch_file_id AS atchFileId,
|
||||
e.instr_nm AS instrNm,
|
||||
e.blng AS blng,
|
||||
e.prfsn_fld AS prfsnFld
|
||||
FROM
|
||||
VE_EDU_APLCT a
|
||||
LEFT JOIN VE_EDU_CHASI b
|
||||
ON
|
||||
a.EDU_APLCT_ORD = b.EDU_APLCT_ORD
|
||||
LEFT JOIN VEA_RSLT_RPRT c
|
||||
ON
|
||||
a.EDU_APLCT_ORD = c.EDU_APLCT_ORD
|
||||
LEFT JOIN ve_edu_chasi_instr_asgnm d
|
||||
ON
|
||||
b.EDU_CHASI_ORD = d.EDU_CHASI_ORD
|
||||
LEFT JOIN VE_INSTR_DETAIL e
|
||||
ON
|
||||
d.USER_ID = e.USER_ID
|
||||
AND e.instr_div = '20'
|
||||
AND e.use_yn = 'Y'
|
||||
WHERE
|
||||
a.LCTR_DIV_CD = '20'
|
||||
<iterate open="(" close=")" conjunction="," property="rsltList" prepend="AND a.edu_aplct_ord IN" > #rsltList[]#</iterate>
|
||||
</select>
|
||||
</sqlMap>
|
||||
|
||||
@ -314,6 +314,7 @@
|
||||
<col style="width: auto">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 9%;">
|
||||
<col style="width: 9%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
@ -324,6 +325,7 @@
|
||||
<th>신청유형</th>
|
||||
<th>기관(단체)명</th>
|
||||
<th>강사이름</th>
|
||||
<th>결과보고<br>제출여부</th>
|
||||
<th>강의만족도<br>제출여부</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@ -341,7 +343,7 @@
|
||||
<input name="chk" class="${list.userId}" value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />" data-cnt="<c:out value='${list.cnt}' />"
|
||||
data-date="<c:out value='${list.eduHopeDt}' /> <c:out value='${list.strtTm}' /> ~ <c:out value='${list.endTm}' />"
|
||||
data-email="<c:out value='${list.email}' />" data-chrgnm="<c:out value='${list.chrgNm}' />" data-userId="<c:out value='${list.userId}' />"
|
||||
title="Check" type="checkbox"/>
|
||||
data-eduaplctord="<c:out value='${list.eduAplctOrd}' />" title="Check" type="checkbox"/>
|
||||
</td>
|
||||
<td onclick="fncGoDetail('${list.eduAplctOrd}','${list.eduChasiOrd}');" style="cursor:pointer">
|
||||
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
|
||||
@ -364,6 +366,9 @@
|
||||
<td onclick="fncGoDetail('${list.eduAplctOrd}','${list.eduChasiOrd}');" style="cursor:pointer">
|
||||
<c:out value="${list.instrNm}"/>
|
||||
</td>
|
||||
<td onclick="fncGoDetail('${list.eduAplctOrd}','${list.eduChasiOrd}');" style="cursor:pointer">
|
||||
<c:if test="${empty list.veaRsltRprtOrd}">미제출</c:if><c:if test="${!empty list.veaRsltRprtOrd}">제출</c:if>
|
||||
</td>
|
||||
<td onclick="fncGoDetail('${list.eduAplctOrd}','${list.eduChasiOrd}');" style="cursor:pointer">
|
||||
<c:if test="${list.qustnrRsltCnt le 0}">미제출</c:if><c:if test="${list.qustnrRsltCnt gt 0}">제출</c:if>
|
||||
</td>
|
||||
@ -390,6 +395,7 @@
|
||||
<!-- <button type="button" class="btn_type04" onclick="fncSndSms();return false;">결과보고제출요청</button> -->
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type06" onclick="chkRprtPrint(); return false;">결과보고 출력 </button>
|
||||
<button type="button" class="btn_type06" onclick="chkSendSmsEmail(); return false;">강의만족도 제출요청 </button>
|
||||
<%-- <ve:select codeId="VE0016" name="pnltyCd" id="pnltyCd" css="class='sel_type1'" --%>
|
||||
<%-- selectedValue="<c:out value='${info.eduSlctAreaCd}'/>" --%>
|
||||
@ -403,6 +409,44 @@
|
||||
<!-- //cont -->
|
||||
|
||||
</form:form>
|
||||
<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">
|
||||
<spring:eval expression="@property['Globals.prod.islocal']" var="isLocal"/>
|
||||
<script>
|
||||
/*
|
||||
* 오버레이 방식
|
||||
*/
|
||||
//function fncCmpltCrtfc(p_prcsAplctPrdOrd, p_eduAplctOrd){
|
||||
function chkRprtPrint(){
|
||||
var isLocal = '${isLocal}';
|
||||
var rsltList = [];
|
||||
|
||||
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
|
||||
$("input[name='chk']:checked").each(function() {
|
||||
var eduAplctOrdValue = $(this).data('eduaplctord');
|
||||
rsltList.push(eduAplctOrdValue);
|
||||
});
|
||||
|
||||
if (rsltList.length === 0) {
|
||||
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(isLocal == 'real'){ //운영
|
||||
var viewer = new m2soft.crownix.Viewer('http://101.79.81.151/ReportingServer/service');
|
||||
viewer.hideToolbarItem(["save"]);
|
||||
viewer.openFile('adult_rslts_20240104.mrd', '/rf [http://101.79.81.151/offedu/ve/aplct/adultVisitEdu/eduAplct/adultRsltRprtListAjax.do?rsltList='+rsltList+']');
|
||||
}else{ //개발
|
||||
var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service');
|
||||
viewer.hideToolbarItem(["save"]);
|
||||
//viewer.openFile('adult_rslts_20240104.mrd', '/rf [http://192.168.0.12:8086/offedu/ve/aplct/adultVisitEdu/eduAplct/adultRsltRprtListAjax.do?rsltList='+rsltList+']');
|
||||
viewer.openFile('adult_rslts_20240104.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/adultRsltRprtListAjax.do?rsltList='+rsltList+']');
|
||||
}
|
||||
|
||||
//viewer.openFile('adult_rslts_20240104.mrd', '/rf [http://192.168.0.12:8086/offedu/ve/aplct/adultVisitEdu/eduAplct/adultRsltRprtListAjax.do?rsltList='+rsltList+']');
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -381,7 +381,7 @@
|
||||
viewer.showToolbarItem(["print_pdf"]);
|
||||
|
||||
//viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax_v2.do?userIdList='+userIdList+']');
|
||||
viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://192.168.0.32:3080/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax_v2.do?userIdList='+userIdList+']');
|
||||
viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://192.168.0.12:8086/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax_v2.do?userIdList='+userIdList+']');
|
||||
|
||||
}
|
||||
</script>
|
||||
Loading…
Reference in New Issue
Block a user