From 460a9d963f8bd47696781d5d26d59c9bf2e034db Mon Sep 17 00:00:00 2001 From: myname Date: Fri, 31 May 2024 16:49:55 +0900 Subject: [PATCH] =?UTF-8?q?2024-05-31=2016:49=20=EA=B8=B0=EC=86=8C?= =?UTF-8?q?=EC=9C=A0=EC=98=88=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?=EB=B0=8F=20=EC=84=B1=EC=9D=B8=20=EC=B0=BE=EA=B5=90=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aplct/comweb/CrownixAjaxController.java | 2 +- .../eduInfo/service/VEEduAplctVO.java | 8 ++ .../instrInfo/service/VEInstrMixService.java | 3 + .../instrInfo/service/impl/VEInstrMixDAO.java | 5 + .../service/impl/VEInstrMixServiceImpl.java | 4 + .../lctrInfo/service/VELctrDetailVO.java | 43 ++++++++ .../trgtMng/web/CndtnTrgtMngController.java | 4 +- .../web/CndtnInstrMngController.java | 93 ++++++++++++++++- .../ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml | 20 +++- .../sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml | 12 ++- .../ve/instr/VESttst_MIX_SQL_Tibero.xml | 98 +++++++++++++++++- .../oprtn/adultVisitEdu/eduRsltMngList.jsp | 4 +- .../cndtnSspnIdtmt/newEduPrfrmMngList.jsp | 99 ++++++++++++++++++- .../oprtn/cndtnSspnIdtmt/trgtCmpltList.jsp | 7 +- .../jsp/oprtn/cndtnSspnIdtmt/trgtList.jsp | 8 +- .../jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp | 8 +- 16 files changed, 398 insertions(+), 20 deletions(-) diff --git a/src/main/java/kcc/ve/aplct/comweb/CrownixAjaxController.java b/src/main/java/kcc/ve/aplct/comweb/CrownixAjaxController.java index 6a57c41f..d45ffa0c 100644 --- a/src/main/java/kcc/ve/aplct/comweb/CrownixAjaxController.java +++ b/src/main/java/kcc/ve/aplct/comweb/CrownixAjaxController.java @@ -943,7 +943,7 @@ public class CrownixAjaxController { if("99".equals(vEEduAplctVOList.get(i).getEduMdCd())) { addr = vEEduAplctVOList.get(i).getEduMd(); }else { - addr = vEEduAplctVOList.get(i).getEduMdCd(); + addr = vEEduAplctVOList.get(i).getEduMdCdNm(); } }else { //오프라인 교육 addr = vEEduAplctVOList.get(i).getAddr() + vEEduAplctVOList.get(i).getAddrDetail(); diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java index 284a3b5c..cc511aa7 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java @@ -483,6 +483,8 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { public String lctrEndM; public String eduMdCd; //교육매체 코드 + public String eduMdCdNm; //교육매체 코드명 + public String feeInsttCd; //강사료지급기관코드 private String eduHopeMonth; //희망일자(월) @@ -2013,6 +2015,12 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { public void setEduMdCd(String eduMdCd) { this.eduMdCd = eduMdCd; } + public String getEduMdCdNm() { + return eduMdCdNm; + } + public void setEduMdCdNm(String eduMdCdNm) { + this.eduMdCdNm = eduMdCdNm; + } public String getFeeInsttCd() { return feeInsttCd; } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/service/VEInstrMixService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/service/VEInstrMixService.java index a26f181e..2854fad8 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/service/VEInstrMixService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/service/VEInstrMixService.java @@ -177,4 +177,7 @@ public interface VEInstrMixService { //교육실정통계- ⑤월별 교육 이수 현황(그래프 포함) List selectEduPrfrmInfo_csi_no5(VEInstrDetailVO vEInstrDetailVO) throws Exception; + + //교육실정통계- ⑦월별 교육차시별 차시명, 이수, 미이수, 연기인원 통계 + List selectEduPrfrmInfo_csi_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception; } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/service/impl/VEInstrMixDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/service/impl/VEInstrMixDAO.java index 89601a41..89ee34bc 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/service/impl/VEInstrMixDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/service/impl/VEInstrMixDAO.java @@ -347,4 +347,9 @@ public class VEInstrMixDAO extends EgovAbstractDAO { List tlist = (List) list("VESttstMixDAO.selectEduPrfrmInfo_csi_no5", vEInstrDetailVO); return tlist; } + + public List selectEduPrfrmInfo_csi_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception { + List tlist = (List) list("VESttstMixDAO.selectEduPrfrmInfo_csi_no7", vEInstrDetailVO); + return tlist; + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/service/impl/VEInstrMixServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/service/impl/VEInstrMixServiceImpl.java index 7e121908..81b01a3e 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/service/impl/VEInstrMixServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/service/impl/VEInstrMixServiceImpl.java @@ -278,4 +278,8 @@ public class VEInstrMixServiceImpl implements VEInstrMixService { public List selectEduPrfrmInfo_csi_no5(VEInstrDetailVO vEInstrDetailVO) throws Exception{ return vEInstrMixDAO.selectEduPrfrmInfo_csi_no5(vEInstrDetailVO); } + + public List selectEduPrfrmInfo_csi_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception{ + return vEInstrMixDAO.selectEduPrfrmInfo_csi_no7(vEInstrDetailVO); + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/VELctrDetailVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/VELctrDetailVO.java index 2d5c79a9..0c5d47cd 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/VELctrDetailVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/VELctrDetailVO.java @@ -229,6 +229,25 @@ public class VELctrDetailVO extends ComDefaultVO implements Serializable { private String cnt; //통계 데이터 숫자 private String cnt2; //통계 데이터 숫자 + + private String codeNm2; //차시명 + private String codeNm3; //차시명 + public String getCodeNm3() { + return codeNm3; + } + public void setCodeNm3(String codeNm3) { + this.codeNm3 = codeNm3; + } + private String codeNm4; //차시명 + public String getCodeNm4() { + return codeNm4; + } + public void setCodeNm4(String codeNm4) { + this.codeNm4 = codeNm4; + } + private String eduCd20; //이수 + private String eduCd40; //미이수 + private String eduCd50; //연기 public String getPrcsOrd() { @@ -1188,5 +1207,29 @@ public class VELctrDetailVO extends ComDefaultVO implements Serializable { public void setCnt2(String cnt2) { this.cnt2 = cnt2; } + public String getCodeNm2() { + return codeNm2; + } + public void setCodeNm2(String codeNm2) { + this.codeNm2 = codeNm2; + } + public String getEduCd20() { + return eduCd20; + } + public void setEduCd20(String eduCd20) { + this.eduCd20 = eduCd20; + } + public String getEduCd40() { + return eduCd40; + } + public void setEduCd40(String eduCd40) { + this.eduCd40 = eduCd40; + } + public String getEduCd50() { + return eduCd50; + } + public void setEduCd50(String eduCd50) { + this.eduCd50 = eduCd50; + } } diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java index 8fbb5d6b..49911a6d 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java @@ -2022,12 +2022,12 @@ public class CndtnTrgtMngController { , 3500 }; // 너비 String[] header = { - "의뢰일", "사건번호", "관할청", "생년월일", "성명" + "의뢰일", "사건번호", "관할청", "생년월일", "성명", "연락처" , "성별" , "의뢰번호", "의뢰상태", "교육상태", "주소" , "검사명" }; // 헤더에 들어갈 이름 String[] order = { - "ReqPnttm", "VntYear", "CmptntAthrtNm", "DBirth", "TrgtNm" + "ReqPnttm", "VntYear", "CmptntAthrtNm", "DBirth", "TrgtNm", "Clphone" , "SexNm", "ReqNmbr", "ReqStateCdNm", "EduStateCdNm", "Addr" , "PrsctrNm" diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnInstrMngController.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnInstrMngController.java index 9944275b..170d2687 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnInstrMngController.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnInstrMngController.java @@ -604,8 +604,12 @@ public class CndtnInstrMngController { List selectAsgnmInfoT6List = vEInstrMixService.selectEduPrfrmInfo_csi_no3(vEInstrDetailVODetail); model.addAttribute("list_no6",selectAsgnmInfoT6List); } - // ⑦월별 교육대상별 교육인원(그래프 포함) - 대상이 없어서 제공안됨 - { + // ⑦월별 교육차시별 차시명, 이수, 미이수, 연기인원 통계 + { + vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail); + //vEInstrDetailVODetail.setSearchEduStateCd("20"); //이수만 보기 + List selectAsgnmInfoT7List = vEInstrMixService.selectEduPrfrmInfo_csi_no7(vEInstrDetailVODetail); + model.addAttribute("list_no7",selectAsgnmInfoT7List); } //통계- ⑧인구감소지역별 교육횟수 교육인원, 교육기관, 교육일자(그래프 포함)) - 대상이 없어서 제공안됨 /* @@ -1153,6 +1157,91 @@ public class CndtnInstrMngController { return modelAndView; } + /** + * 교육실적통계 Excel - 조건부기소유예 - 5검찰청별 교육 이수 현황(그래프 포함) + * @param model + * @return + * @throws Exception + */ + @SuppressWarnings("rawtypes") + @RequestMapping(value = "/kccadr/oprtn/cndtnSspnIdtmt/eduPrfrmMngExcelDownLoad_csi_no7.do") + public ModelAndView eduPrfrmMngExcelDownLoad_csi_no7( + @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO + , @ModelAttribute("vEInstrDetailVODetail") VEInstrDetailVO vEInstrDetailVODetail + , ModelMap model + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("excelDownloadView"); + + try { + + //통계- ①월별 횟수/교육인원(그래프 포함) + //vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword()); + vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail); + //vEInstrDetailVODetail.setSearchEduStateCd("20"); //이수만 보기 + List selectAsgnmInfoT7List = vEInstrMixService.selectEduPrfrmInfo_csi_no7(vEInstrDetailVODetail); + + //복호화 + //selectAsgnmInfoT2List = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List); + + System.out.println("out-list-2"); + + + //selectAsgnmInfoT2List.get(12).setCodeNm("합계"); + + List excelData = new ArrayList<>(); + excelData.addAll(selectAsgnmInfoT7List); + + + // 세팅값 + String title = "교육실적통계-월별 교육 이수, 미이수, 연기 현황"; + int[] width = { + + 4000, 4000, 4000, 4000, 4000 + + }; // 너비 + + //33개 항목 + String[] header = { + + "월" + , "차시" + , "이수인원" + , "미이수 인원" + , "연기인원" + + }; + + String[] order = { + + "CodeNm4" + , "CodeNm3" + , "EduCd20" + , "EduCd40" + , "EduCd50" + + }; + + excelDown( + excelData, + title, + width, + header, + order, + model + ); + + }catch(Exception ep) { + ep.getStackTrace(); + } + + + modelAndView.addObject(model); + + return modelAndView; + } + /** * 교육실적통계 Excel - 조건부기소유예 - 3대상별 교육 이수 현황(그래프 포함) * @param model diff --git a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml index 1b3f7765..27a7e28d 100644 --- a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml @@ -451,6 +451,7 @@ , CASE WHEN a.prcs_aplct_prd_ord_cmplt IS NOT NULL THEN '병합처리' + WHEN a.EDU_STATE_CD = '20' AND a.req_state_cd = '20' THEN '완료' ELSE ( SELECT CODE_NM FROM LETTCCMMNDETAILCODE @@ -506,10 +507,23 @@ a.EDU_STATE_CD = #searchEduStateCd# - /* 교육상태 검색*/ - - a.REQ_STATE_CD = #searchReqStateCd# + /* 교육상태 검색*/ + + + AND a.EDU_STATE_CD = '20' + + + + + AND (a.REQ_STATE_CD = '20' AND a.EDU_STATE_CD!='20') + + + AND a.REQ_STATE_CD = #searchReqStateCd# + + + + /* 교육상태 검색*/ a.SEX = #searchSex# diff --git a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml index 446e4eb8..73cf510a 100644 --- a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml @@ -9207,12 +9207,20 @@ VALUES - /* VEEduMIXDAO.selectEduCmpltCrtfcNmbrList */ + /* VEEduMIXDAO.selectTngrRsltRprtList */ SELECT a.edu_aplct_ord AS eduAplctOrd, a.schol_instt_nm AS scholInsttNm, diff --git a/src/main/resources/egovframework/sqlmap/ve/instr/VESttst_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/instr/VESttst_MIX_SQL_Tibero.xml index 95e02b27..15cadc1f 100644 --- a/src/main/resources/egovframework/sqlmap/ve/instr/VESttst_MIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/instr/VESttst_MIX_SQL_Tibero.xml @@ -2305,14 +2305,16 @@ , count(*) cnt2 FROM ( SELECT - TO_CHAR(a.req_pnttm, 'MM' ) AS CMPTNT_ATHRT , + SUBSTRING(c.edu_strt_pnttm,6,2) AS CMPTNT_ATHRT , count(*) AS cnt FROM vea_sspn_idmt_trgt a , ve_edu_aplct b - WHERE to_char(a.REQ_PNTTM,'YYYY')=#mngNmbrYr# + , ve_prcs_aplct_prd c + 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 /* 병합제거시 주석 제거 할것 @@ -2323,7 +2325,7 @@ GROUP BY - TO_CHAR(a.req_pnttm, 'MM' ) + SUBSTRING(c.edu_strt_pnttm,6,2) , b.prcs_ord )z0 GROUP BY CMPTNT_ATHRT @@ -2335,5 +2337,93 @@ on(aaa.mnt=bbb.codeNm) ORDER BY aaa.mnt - + + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduRsltMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduRsltMngList.jsp index 18e2963a..5c77e404 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduRsltMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduRsltMngList.jsp @@ -641,8 +641,8 @@ }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.32:3080/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+']'); } } diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/newEduPrfrmMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/newEduPrfrmMngList.jsp index 3325f7c7..13db7c96 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/newEduPrfrmMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/newEduPrfrmMngList.jsp @@ -117,6 +117,12 @@ listForm.action = ""; listForm.submit(); } + + function excelDownLoad_no7(){ + var listForm = document.listForm ; + listForm.action = ""; + listForm.submit(); + } function excelDownLoadArea(){ var listForm = document.listForm ; @@ -1210,7 +1216,98 @@ - + + + + +
+ +

+ ⑦월별 교육차시별 차시명, 이수, 미이수, 연기인원 통계 +

+
+ + + +
+
+ + +
+ + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
차시이수인원미이수 인원연기인원
합계월 합계
+
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtCmpltList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtCmpltList.jsp index 3ea5b94c..6c9e2240 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtCmpltList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtCmpltList.jsp @@ -263,7 +263,12 @@ - + + 완료 + + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtList.jsp index 802896e0..c9bc2f53 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtList.jsp @@ -774,7 +774,13 @@ ');" style="cursor:pointer;"> - + + 완료 + + + + + 병합처리 diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp index 943ef41c..5620fd4c 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp @@ -875,7 +875,13 @@ - + + 완료 + + + + + 병합처리