2025-10-28 09:58 통계, 이수증 수정

This commit is contained in:
myname 2025-10-28 09:58:31 +09:00
parent 8d1dc17e64
commit 9620d32795
7 changed files with 130 additions and 12 deletions

View File

@ -174,9 +174,16 @@ public interface VEInstrMixService {
//교육실정통계- 3.대상별 교육 의뢰 현황(그래프 포함)
List<VELctrDetailVO> selectEduPrfrmInfo_csi_no3(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//조건부기소유예관리 통계
//교육실정통계- 검찰청별 교육 의뢰 현황(그래프 포함)
List<VELctrDetailVO> selectEduPrfrmInfo_csi_no4(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//교육실정통계- 월별 교육 이수 현황(그래프 포함)
List<VELctrDetailVO> selectEduPrfrmInfo_csi_no5(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//교육실정통계- 대상별 교육 이수 현황(그래프 포함)
List<VELctrDetailVO> selectEduPrfrmInfo_csi_no6(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//교육실정통계- 월별 교육차시별 차시명, 이수, 미이수, 연기인원 통계
List<VELctrDetailVO> selectEduPrfrmInfo_csi_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception;

View File

@ -343,6 +343,12 @@ public class VEInstrMixDAO extends EgovAbstractDAO {
return tlist;
}
//통계정보-조건부기소유예관리-검찰청별 교육 의뢰 현황(그래프 포함)
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no4(VEInstrDetailVO vEInstrDetailVO) throws Exception {
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VESttstMixDAO.selectEduPrfrmInfo_csi_no4", vEInstrDetailVO);
return tlist;
}
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no5(VEInstrDetailVO vEInstrDetailVO) throws Exception {
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VESttstMixDAO.selectEduPrfrmInfo_csi_no5", vEInstrDetailVO);
return tlist;

View File

@ -275,10 +275,18 @@ public class VEInstrMixServiceImpl implements VEInstrMixService {
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no3(vEInstrDetailVO);
}
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no4(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no4(vEInstrDetailVO);
}
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no5(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no5(vEInstrDetailVO);
}
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no6(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no6(vEInstrDetailVO);
}
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no7(vEInstrDetailVO);
}

View File

@ -595,7 +595,7 @@ public class CndtnInstrMngController {
{
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
vEInstrDetailVODetail.setSearchEduStateCd("20"); //이수만 보기
List<VELctrDetailVO> selectAsgnmInfoT4List_no4 = vEInstrMixService.selectEduPrfrmInfo_csi_no1(vEInstrDetailVODetail);
List<VELctrDetailVO> selectAsgnmInfoT4List_no4 = vEInstrMixService.selectEduPrfrmInfo_csi_no4(vEInstrDetailVODetail);
model.addAttribute("list_no4",selectAsgnmInfoT4List_no4);
}

View File

@ -2139,15 +2139,21 @@
, count(*) AS cnt
FROM
vea_sspn_idmt_trgt a ,
vea_sspn_idmt_trgt a
/*
,
ve_edu_aplct b ,
ve_prcs_aplct_prd c ,
vea_aplct_detail_info d
*/
WHERE
SUBSTRING(c.edu_strt_pnttm, 1, 4)=#mngNmbrYr#
TO_CHAR(a.req_pnttm, 'YYYY')=#mngNmbrYr#
/*
SUBSTRING(c.edu_strt_pnttm, 1, 4)=mngNmbrYr
AND b.aprvl_cd = '60'
AND b.prcs_ord = c.prcs_aplct_prd_ord
AND a.sspn_idtmt_trgt_ord = b.rnds_ord
AND a.sspn_idtmt_trgt_ord = b.rnds_ord
*/
/* 병합제거시 주석 제거 할것
AND a.prcs_aplct_prd_ord_cmplt IS null */
@ -2155,8 +2161,10 @@
<isNotEmpty property="searchEduStateCd">
AND a.edu_state_cd = #searchEduStateCd#
</isNotEmpty>
/*
AND b.EDU_APLCT_ORD = d.EDU_APLCT_ORD
AND d.aplct_state_cd = '20'
*/
GROUP BY a.CMPTNT_ATHRT
)aa LEFT OUTER JOIN
@ -2259,18 +2267,27 @@
FROM
(
SELECT
substring(req_nmbr,0,1) AS CMPTNT_ATHRT ,
substring(req_nmbr,1,1) AS CMPTNT_ATHRT ,
count(*) AS cnt
FROM
vea_sspn_idmt_trgt a ,
vea_sspn_idmt_trgt a
/*
,
ve_edu_aplct b ,
ve_prcs_aplct_prd c ,
vea_aplct_detail_info d
*/
WHERE
SUBSTRING(c.edu_strt_pnttm, 1, 4)=#mngNmbrYr#
TO_CHAR(a.req_pnttm, 'YYYY')=#mngNmbrYr#
AND substring(req_nmbr, 1, 1) in ('A','Y')
/*
SUBSTRING(c.edu_strt_pnttm, 1, 4)=mngNmbrYr
AND b.aprvl_cd = '60'
AND b.prcs_ord = c.prcs_aplct_prd_ord
AND a.sspn_idtmt_trgt_ord = b.rnds_ord
AND a.sspn_idtmt_trgt_ord = b.rnds_ord
*/
/* 병합제거시 주석 제거 할것
AND a.prcs_aplct_prd_ord_cmplt IS null */
@ -2278,12 +2295,14 @@
<isNotEmpty property="searchEduStateCd">
AND a.edu_state_cd = #searchEduStateCd#
</isNotEmpty>
/*
AND b.EDU_APLCT_ORD = d.EDU_APLCT_ORD
AND d.aplct_state_cd = '20'
*/
GROUP BY
substring(req_nmbr,0,1) )aa
substring(req_nmbr,1,1) )aa
GROUP BY
ROLLUP(aa.CMPTNT_ATHRT)
@ -2293,6 +2312,71 @@
</select>
<!-- 교육실정통계- ④검찰청별 교육 이수 현황(그래프 포함) -->
<select id="VESttstMixDAO.selectEduPrfrmInfo_csi_no4" parameterClass="VEInstrDetailVO" resultClass="VELctrDetailVO">
/* VESttstMixDAO.selectEduPrfrmInfo_csi_no4 */
SELECT aaa.code AS code
, aaa.cnt AS cnt
, coalesce(bbb.code_nm, aaa.code) AS codeNm
FROM (
SELECT coalesce(bb.code,aa.CMPTNT_ATHRT) AS code
, sum(aa.cnt) AS cnt
FROM (
SELECT coalesce(a.CMPTNT_ATHRT,'미정') AS CMPTNT_ATHRT
, count(*) AS cnt
FROM
vea_sspn_idmt_trgt a
,
ve_edu_aplct b ,
ve_prcs_aplct_prd c ,
vea_aplct_detail_info d
WHERE
SUBSTRING(c.edu_strt_pnttm, 1, 4)=#mngNmbrYr#
AND b.aprvl_cd = '60'
AND b.prcs_ord = c.prcs_aplct_prd_ord
AND a.sspn_idtmt_trgt_ord = b.rnds_ord
/* 병합제거시 주석 제거 할것
AND a.prcs_aplct_prd_ord_cmplt IS null */
<isNotEmpty property="searchEduStateCd">
AND a.edu_state_cd = #searchEduStateCd#
</isNotEmpty>
AND b.EDU_APLCT_ORD = d.EDU_APLCT_ORD
AND d.aplct_state_cd = '20'
GROUP BY a.CMPTNT_ATHRT
)aa LEFT OUTER JOIN
(
SELECT code, code_nm
FROM LETTCCMMNDETAILCODE b
WHERE b.code_id='VEA008'
AND b.use_at='Y'
)bb
ON aa.cmptnt_athrt = bb.code
GROUP BY rollup(coalesce(bb.code,aa.CMPTNT_ATHRT))
)aaa
LEFT OUTER JOIN LETTCCMMNDETAILCODE bbb
on(aaa.code=bbb.code)
ORDER BY SUBSTRING(bbb.code_nm,1,2)
/*
, instr(bbb.code_nm,'-')
*/
, position('-' in bbb.code_nm)
, bbb.code_nm
</select>
<!-- 교육실정통계- ⑤월별 교육 이수 현황(그래프 포함) -->
<select id="VESttstMixDAO.selectEduPrfrmInfo_csi_no5" parameterClass="VEInstrDetailVO" resultClass="VELctrDetailVO">
/* VESttstMixDAO.selectEduPrfrmInfo_csi_no5 */

View File

@ -632,11 +632,11 @@
<isNotEmpty property="lctrDivCd">
AND a.lctr_div_cd=#lctrDivCd#
AND b.lctr_div_cd=#lctrDivCd#
</isNotEmpty>
AND COALESCE(a.use_yn,'Y')='Y'
AND COALESCE(a.use_yn,'Y')!='D'
ORDER BY 1, b.prcs_nm ASC

View File

@ -332,6 +332,19 @@ function downloadPDF() {
});
}
function makePDFPrint() {
var initBody;
window.onbeforeprint = function(){
initBody = document.body.innerHTML;
document.body.innerHTML = document.getElementById('popup_cont').innerHTML;
};
window.onafterprint = function(){
document.body.innerHTML = initBody;
};
window.print();
return false;
}
async function savePDF() {
document.getElementById('est_btn_wrap').style.display = 'none';
@ -506,7 +519,7 @@ function loadImage(src) {
<input type="hidden" name="qestmInfoSize" id="qestmInfoSize" value="${fn:length(chasiSrvyList)}">
<div class="popup_wrap popType01 estimate_popup" data-info="${vEEduChasiVO.eduAplctOrd}" data-tooltip-con="sub36_pop02" data-focus="sub36_pop02" data-focus-prev="sub36_pop02_close">
<div class="popup_wrap popType01 estimate_popup" data-info="${vEEduChasiVO.eduAplctOrd}" data-tooltip-con="sub36_pop02" data-focus="sub36_pop02" data-focus-prev="sub36_pop02_close" id="popup_cont">
<div class="popup_tit">
<p>이수증 출력</p>