diff --git a/src/main/java/kcc/ve/oprtn/instr/adultVisitEdu/instrInfo/web/OprtnInstrAdultPrflContoller.java b/src/main/java/kcc/ve/oprtn/instr/adultVisitEdu/instrInfo/web/OprtnInstrAdultPrflContoller.java index 129f6925..775cba15 100644 --- a/src/main/java/kcc/ve/oprtn/instr/adultVisitEdu/instrInfo/web/OprtnInstrAdultPrflContoller.java +++ b/src/main/java/kcc/ve/oprtn/instr/adultVisitEdu/instrInfo/web/OprtnInstrAdultPrflContoller.java @@ -4,6 +4,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Locale; import java.util.Map; import javax.annotation.Resource; @@ -11,6 +12,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; @@ -31,6 +33,7 @@ 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.StringUtil; import kcc.com.utl.user.service.CheckAdrProcessUtil; import kcc.com.utl.user.service.CheckFileUtil; @@ -1072,6 +1075,94 @@ public class OprtnInstrAdultPrflContoller { return "/oprtn/adultVisitEdu/instrMngList"; } + /** + * 성인찾아가는 저작권 교육 목록 Excel + * @param model + * @return + * @throws Exception + */ + @SuppressWarnings("rawtypes") + @RequestMapping(value = "/ve/oprtn/instr/adultVisitEdu/instrInfo/eduAplctExcelDownLoad.do") + public ModelAndView eduAplctExcelDownLoad( + @ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO + , ModelMap model) throws Exception { + + vEInstrDetailVO.setRecordCountPerPage(10000000); + + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEInstrDetailVO); + + + //2. pageing step2 + vEInstrDetailVO = this.setPagingStep2(vEInstrDetailVO, paginationInfo); + + //3. SelectPagingListQuery set 할 조건 설정 + String selectCondition = new String(); + //3.1 제출 완료 후 사용중인 데이터 조회 + //selectCondition += "AND a.sbmt_yn='Y' AND a.use_yn = 'Y'"; + selectCondition += "AND a0.sbmt_yn='Y' AND a0.use_yn = 'Y'"; + //3.2 강사 테이블 성인강사여부 Y인것만 조회 + //selectCondition += "AND (b.adult_instr_yn ='Y' OR a.qlfct_end_yn = 'Y') "; + selectCondition += "AND (b0.adult_instr_yn ='Y' OR a0.qlfct_end_yn = 'Y') "; + //3.3 이름 검색 시 + if(StringUtil.isNotEmpty(vEInstrDetailVO.getSearchKeyword())){ + //selectCondition += "AND a.instr_nm LIKE CONCAT ('%', '" +vEInstrDetailVO.getSearchKeyword() + "', '%')"; + //이름 암호화 - comDefaultVO 검색단어 공통 암호화 + ComDefaultVO comDefaultVO = new ComDefaultVO(); + comDefaultVO.setSearchKeyword(vEInstrDetailVO.getSearchKeyword()); + comDefaultVO = egovCryptoUtil.encryptComDefaultVO(comDefaultVO); + vEInstrDetailVO.setSearchKeyword(comDefaultVO.getSearchKeyword()); + //selectCondition += "AND a.instr_nm LIKE CONCAT ('%', '" +vEInstrDetailVO.getSearchKeyword() + "', '%')"; + selectCondition += "AND a0.instr_nm LIKE '%'||'" +vEInstrDetailVO.getSearchKeyword() + "'||'%'"; + comDefaultVO = egovCryptoUtil.decryptComDefaultVO(comDefaultVO); + vEInstrDetailVO.setSearchKeyword(comDefaultVO.getSearchKeyword()); + } + //3.4 요청일 시작일 검색 시 + if(StringUtil.isNotEmpty(vEInstrDetailVO.getSearchStartDt())){ + selectCondition += "AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') >= REPLACE('"+vEInstrDetailVO.getSearchStartDt()+"', '.', '')"; + } + //3.5 요청일 종료일 검색 시 + if(StringUtil.isNotEmpty(vEInstrDetailVO.getSearchEndDt())){ + selectCondition += "AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <= REPLACE('"+vEInstrDetailVO.getSearchEndDt()+"', '.', '')"; + } + vEInstrDetailVO.setInstrDiv("20"); + vEInstrDetailVO.setSelectPagingListQuery(selectCondition); + + List vEInstrDetailVOList = vEInstrMixService.selectPagingDetailList(vEInstrDetailVO); + + vEInstrDetailVOList = egovCryptoUtil.decryptVEInstrDetailVOList(vEInstrDetailVOList); + + + List excelData = new ArrayList<>(); + excelData.addAll(vEInstrDetailVOList); + // 세팅값 + String title = "성인 찾아가는 저작권 교육 - 강사 목록"; + int[] width = { + 4000, 4000, 4000, 4000, 4000 + }; // 너비 + + String[] header = { + "강사명", "거주지", "휴대전화", "이메일", "주소" + }; + + String[] order = { + "InstrNm", "Rsdne", "Phone", "Email", "Addr" + }; + + // 호출 + SXSSFWorkbook workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(excelData , header, order, width, title); + model.addAttribute("locale", Locale.KOREA); + model.addAttribute("workbook", workbook); + model.addAttribute("workbookName", title); + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("excelDownloadView"); + modelAndView.addObject(model); + + + return modelAndView; + } + /** * 6. 강사 관리 상세 조회 */ diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/instrMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/instrMngList.jsp index 85ddefbd..cd34f3c7 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/instrMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/instrMngList.jsp @@ -98,6 +98,12 @@ } }); } + + function excelDownLoad(){ + var listForm = document.listForm ; + listForm.action = ""; + listForm.submit(); + } 강사신청 관리 @@ -293,6 +299,7 @@
+