From 97b55b905ffb46c279aaa537bc0fabe2910d72ed Mon Sep 17 00:00:00 2001 From: myname Date: Mon, 11 Mar 2024 17:50:12 +0900 Subject: [PATCH] =?UTF-8?q?2024-03-11=2017:50=20=EC=B2=AD=EC=86=8C?= =?UTF-8?q?=EB=85=84=20=EA=B0=95=EC=82=AC=ED=99=9C=EB=8F=99=ED=99=95?= =?UTF-8?q?=EC=9D=B8=EC=84=9C=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 | 14 +- .../instrInfo/service/VEInstrDetailVO.java | 44 ++++ .../instrInfo/service/VEInstrMixService.java | 14 ++ .../instrInfo/service/impl/VEInstrMixDAO.java | 18 ++ .../service/impl/VEInstrMixServiceImpl.java | 19 ++ .../web/OprtnInstrTngrPrflContoller.java | 167 ++++++++++++- .../ve/instr/VEInstr_MIX_SQL_Tibero.xml | 71 +++++- .../tngrVisitEdu/instrActvtHstryMngDetail.jsp | 4 +- .../tngrVisitEdu/instrAplctActvtExcel.jsp | 220 ++++++++++-------- .../instrInfo/instrPrflDetail.jsp | 3 +- 10 files changed, 465 insertions(+), 109 deletions(-) diff --git a/src/main/java/kcc/ve/aplct/comweb/CrownixAjaxController.java b/src/main/java/kcc/ve/aplct/comweb/CrownixAjaxController.java index dac78dd1..33aa3c3e 100644 --- a/src/main/java/kcc/ve/aplct/comweb/CrownixAjaxController.java +++ b/src/main/java/kcc/ve/aplct/comweb/CrownixAjaxController.java @@ -1124,7 +1124,7 @@ public class CrownixAjaxController { ) throws Exception{ p_vEInstrDetailVO.setInstrDetailActvtHstryOrd(p_instrDetailActvtHstryOrd); - List vEInstrDetailVOList = vEInstrMixService.selectPagingActivityList4Report(p_vEInstrDetailVO); + List vEInstrDetailVOList = vEInstrMixService.selectPagingActivityList4Report20240311(p_vEInstrDetailVO); //복호화 vEInstrDetailVOList = egovCryptoUtil.decryptVEInstrDetailVOList(vEInstrDetailVOList); @@ -1135,13 +1135,13 @@ public class CrownixAjaxController { for (int i=0;i selectPagingActivityList4Report(VEInstrDetailVO vEInstrDetailVO) throws Exception; + + //L page (강사활동리스트) - new 신규 테이블 사용 + List selectPagingActivityList4Report20240311(VEInstrDetailVO vEInstrDetailVO) throws Exception; //L (특정강사배정용리스트) List selectDetailList(VEInstrDetailVO vEInstrDetailVO) throws Exception; @@ -104,6 +107,17 @@ public interface VEInstrMixService { //강사 인증 이메일 생성 처리 int insertInstrEmailCrtfd(VEInstrDetailVO vEInstrDetailVO) throws Exception; + + //강사 활동확인서 내용 저장하기 + int insertInstrDetailActvtHstryData(VEInstrDetailVO vEInstrDetailVO) throws Exception; + + //강사 활동확인서 내용 삭제하기 + int deleteInstrDetailActvtHstryData(VEInstrDetailVO vEInstrDetailVO) throws Exception; + + //L (특정강사배정용리스트) + List selectDetailActvtHstryList(VEInstrDetailVO vEInstrDetailVO) throws Exception; + + VEInstrDetailVO selectInstrEmailCrtfdNumber(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 de96f651..259abea6 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 @@ -100,6 +100,11 @@ public class VEInstrMixDAO extends EgovAbstractDAO { return tlist; } + public List selectPagingActivityList4Report20240311(VEInstrDetailVO vEInstrDetailVO) throws Exception { + List tlist = (List) list("VEInstrMixDAO.selectPagingActivityList4Report20240311", vEInstrDetailVO); + return tlist; + } + public List selectDetailList(VEInstrDetailVO vEInstrDetailVO) throws Exception { List tlist = (List) list("VEInstrMixDAO.selectDetailList", vEInstrDetailVO); return tlist; @@ -225,6 +230,19 @@ public class VEInstrMixDAO extends EgovAbstractDAO { return update("VEInstrMixDAO.insertInstrEmailCrtfd", vEInstrDetailVO); } + public int insertInstrDetailActvtHstryData(VEInstrDetailVO vEInstrDetailVO) throws Exception { + return update("VEInstrMixDAO.insertInstrDetailActvtHstryData", vEInstrDetailVO); + } + + public int deleteInstrDetailActvtHstryData(VEInstrDetailVO vEInstrDetailVO) throws Exception { + return update("VEInstrMixDAO.deleteInstrDetailActvtHstryData", vEInstrDetailVO); + } + + public List selectDetailActvtHstryList(VEInstrDetailVO vEInstrDetailVO) throws Exception { + List tlist = (List) list("VEInstrMixDAO.selectDetailActvtHstryList", vEInstrDetailVO); + return tlist; + } + public VEInstrDetailVO selectInstrEmailCrtfdNumber(VEInstrDetailVO vEInstrDetailVO) throws Exception { return (VEInstrDetailVO) select("VEInstrMixDAO.selectInstrEmailCrtfdNumber", vEInstrDetailVO); } 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 b27f42c8..a2c6ed25 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 @@ -81,6 +81,11 @@ public class VEInstrMixServiceImpl implements VEInstrMixService { public List selectPagingActivityList4Report(VEInstrDetailVO vEInstrDetailVO) throws Exception{ return vEInstrMixDAO.selectPagingActivityList4Report(vEInstrDetailVO); } + + //paging List + public List selectPagingActivityList4Report20240311(VEInstrDetailVO vEInstrDetailVO) throws Exception{ + return vEInstrMixDAO.selectPagingActivityList4Report20240311(vEInstrDetailVO); + } //List public List selectDetailList(VEInstrDetailVO vEInstrDetailVO) throws Exception{ @@ -174,6 +179,20 @@ public class VEInstrMixServiceImpl implements VEInstrMixService { return vEInstrMixDAO.insertInstrEmailCrtfd(vEInstrDetailVO); } + public int insertInstrDetailActvtHstryData(VEInstrDetailVO vEInstrDetailVO) throws Exception{ + + return vEInstrMixDAO.insertInstrDetailActvtHstryData(vEInstrDetailVO); + } + + public int deleteInstrDetailActvtHstryData(VEInstrDetailVO vEInstrDetailVO) throws Exception{ + + return vEInstrMixDAO.deleteInstrDetailActvtHstryData(vEInstrDetailVO); + } + + public List selectDetailActvtHstryList(VEInstrDetailVO vEInstrDetailVO) throws Exception{ + return vEInstrMixDAO.selectDetailActvtHstryList(vEInstrDetailVO); + } + public VEInstrDetailVO selectInstrEmailCrtfdNumber(VEInstrDetailVO vEInstrDetailVO) throws Exception { return vEInstrMixDAO.selectInstrEmailCrtfdNumber(vEInstrDetailVO); } diff --git a/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java b/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java index bf7e4671..9bc61078 100644 --- a/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java +++ b/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java @@ -210,7 +210,7 @@ public class OprtnInstrTngrPrflContoller { //학교 정보 @Resource(name="scholInfoService") - private ScholInfoService scholInfoService; + private ScholInfoService scholInfoService; // 교육패널티 @Resource(name = "vEEduPnltyService") @@ -236,6 +236,10 @@ public class OprtnInstrTngrPrflContoller { @Resource(name = "iTNotiUtil") private ITNotiUtil iTNotiUtil; + //서류요청 순번 + @Resource(name="instrActvtHstryOrdGnrService") + private EgovIdGnrService instrActvtHstryOrdGnrService; + /** * 1.강사등록신청 목록 조회 - */ @@ -1025,6 +1029,10 @@ public class OprtnInstrTngrPrflContoller { //로그인 처리==================================== + List vEInstrDetailVOList = vEInstrMixService.selectDetailActvtHstryList(vEInstrDetailVO); + model.addAttribute("vEInstrDetailVOList", vEInstrDetailVOList); + + return "/oprtn/tngrVisitEdu/instrAplctActvtExcel"; } @@ -1427,6 +1435,163 @@ public class OprtnInstrTngrPrflContoller { return modelAndView; } + /** + * 강사활동확인서 EXCEL 등록한다. + * + * @param boardVO + * @param board + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value= + { + "/ve/oprtn/instr/tngrVisitEdu/instrInfo/instrAplctActvtExcelAjax.do" + } + ) + public ModelAndView instrAplctActvtExcelAjax( + HttpServletRequest request + , @ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO + //, @ModelAttribute("insertAgency") VacsVactVO vacsVactVO + , final MultipartHttpServletRequest multiRequest + , @ModelAttribute("board") Board board + //, ModelMap model + , ModelAndView modelAndView + , RedirectAttributes redirectAttributes + ) throws Exception { + + //json 알림 + modelAndView.setViewName("jsonView"); + + + //사용자 로그인 여부 체크 for json + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + //String isLogin = checkLoginUtil.isLoginCheck4JsonAction(modelAndView); + //if ("N".equals(isLogin)) return modelAndView; + + + //필요 쿼리 생성 및 처리 - 계좌번호만 작성된 파일 처리 + String s_split = "\t"; + int i_data_column_size = 25; + int i_data_start_row = 0; + + + //1.파일 정상 처리 여부와 첨부 파일 정보 + String atchFileId = ""; //size and ea + + + //2.파일 읽기 + //text 파일 읽어서 list에 넣기 + List sb = new ArrayList<>(); + + try{ + //1.파일 정상 처리 여부와 첨부 파일 정보 + atchFileId = this.readFile(multiRequest, modelAndView, "xls|xlsx|xlsm", 10, 1); //size and ea + + if ("ERROR".equals(atchFileId)) return modelAndView; + + + //2.파일 읽기 + //text 파일 읽어서 list에 넣기 + //List sb = new ArrayList<>(); + sb = checkFileUtil.extractFromTxtFile(multiRequest, sb); + + if (sb.size()==0) { + //text 파일읽기가 안된경우 excel 읽기를 실행 + sb = checkFileUtil.extractFromExcelFile(multiRequest, sb, 0, i_data_column_size, i_data_start_row); + + } + }catch(Exception ex) { + ex.printStackTrace(); + } + + + //3.쿼리 만들기 + //String s_in_query = "'0'"; + //String s_select_query = "SELECT '0' acct_no"; + + try { + String[] s_stndrd_tmp = sb.get(0).split(s_split); + + //3.데이터 저장하기 + for (int i=1;i=s_stndrd_tmp.length && !"".equals(s_tmp[2])) { + //학교 등록 처리 + //동일한 정보가 있는지 확인 + //stndrd_schol_cd 없으면 + //신규 저장 + //있으면 update + try { + + vEInstrDetailVO.setYr(s_tmp[0]); + vEInstrDetailVO.setMnt(s_tmp[1]); + vEInstrDetailVO.setDe(s_tmp[2]); + vEInstrDetailVO.setCn(s_tmp[3]); + vEInstrDetailVO.setLrn(s_tmp[4]); + + vEInstrDetailVO.setDataOrd(instrActvtHstryOrdGnrService.getNextStringId()); + + vEInstrMixService.insertInstrDetailActvtHstryData(vEInstrDetailVO); + }catch(Exception ex) { + ex.printStackTrace(); + } + + } + } + + modelAndView.addObject("result", "success"); + }catch(Exception ex) { + ex.printStackTrace(); + } + + + return modelAndView; + } + + /** + * 청소년대상 강사 활동확인서 삭제Ajax - + */ + @RequestMapping("/ve/oprtn/instr/tngrVisitEdu/instrInfo/deleteAplctActvtAjax.do") + public ModelAndView deleteAplctActvtAjax( + @ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO + , final MultipartHttpServletRequest multiRequest + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + //로그인 처리==================================== + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + System.out.println("vEInstrDetailVO.toString()"); + System.out.println(vEInstrDetailVO.toString()); + + for(String dataOrd : vEInstrDetailVO.getUserIdList()) { + + //결과보고서 제출 알림 + try { + + vEInstrDetailVO.setDataOrd(dataOrd); + int i = vEInstrMixService.deleteInstrDetailActvtHstryData(vEInstrDetailVO); + + }catch(Exception ex) { + ex.printStackTrace(); + } + + } + + modelAndView.addObject("result", "success"); + + return modelAndView; + } /** * 2. 강사등록신청 상세 조회 diff --git a/src/main/resources/egovframework/sqlmap/ve/instr/VEInstr_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/instr/VEInstr_MIX_SQL_Tibero.xml index b8cf85e1..ba62e364 100644 --- a/src/main/resources/egovframework/sqlmap/ve/instr/VEInstr_MIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/instr/VEInstr_MIX_SQL_Tibero.xml @@ -1335,7 +1335,23 @@ ORDER BY a.edu_hope_dt - + + + + + /* VEInstrMixDAO.selectDetailActvtHstryList */ + + SELECT data_ord AS dataOrd + , yr + , mnt + , de + , cn + , lrn + FROM ve_instr_detail_actvt_hstry_data + WHERE instr_detail_actvt_hstry_ord=#instrDetailActvtHstryOrd# + AND user_id=#userId# + ORDER BY data_ord asc + + ` --%> - + + + + - - " /> - " /> - " /> - - - - - - - - - - + + +
@@ -408,7 +356,7 @@ $( document ).ready(function(){ - ※ 컴퓨터 파일(엑셀)만 등록 가능합니다.샘플 다운로드 + ※ 컴퓨터 파일(엑셀)만 등록 가능합니다.샘플 다운로드 @@ -424,10 +372,90 @@ $( document ).ready(function(){
- +
+
+
+
+
+
+
+
+
+ +
+ + + + + + + + + +<%-- --%> +<%-- --%> +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + +
번호내용차시
+ + + + + + + + + + + + + +
+
+ + +
+
+
+
+
+
+ +
+
+ diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflDetail.jsp index a33e75d1..a3881372 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflDetail.jsp @@ -1230,7 +1230,8 @@ var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service'); viewer.hideToolbarItem(["save"]); viewer.showToolbarItem(["print_pdf"]); - viewer.openFile('instr_activity_20231108.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/tngrVisitEdu/eduAplct/instrActivityAjax.do?p_userId='+v_userId+'&p_instrDetailActvtHstryOrd='+p_instrDetailActvtHstryOrd+']'); + //viewer.openFile('instr_activity_20231108.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/tngrVisitEdu/eduAplct/instrActivityAjax.do?p_userId='+v_userId+'&p_instrDetailActvtHstryOrd='+p_instrDetailActvtHstryOrd+']'); + viewer.openFile('instr_activity_20231108.mrd', '/rf [http://192.168.0.32:3080/offedu/ve/aplct/tngrVisitEdu/eduAplct/instrActivityAjax.do?p_userId='+v_userId+'&p_instrDetailActvtHstryOrd='+p_instrDetailActvtHstryOrd+']'); } }