diff --git a/src/main/java/kcc/com/cmm/spring/data/util/ExcelUtil.java b/src/main/java/kcc/com/cmm/spring/data/util/ExcelUtil.java index 95fb3bdd..5f081565 100644 --- a/src/main/java/kcc/com/cmm/spring/data/util/ExcelUtil.java +++ b/src/main/java/kcc/com/cmm/spring/data/util/ExcelUtil.java @@ -99,7 +99,8 @@ public class ExcelUtil { // 배열로 준 이름 과 같으면 해당 열 데이터 쓰기 for (int i = 0; i < order.length; i++) { for (Method method : methods) { // vo 내부 메소드 반복 - + +// System.out.println("i :: "+ i + "methods : "+ methods); System.out.println("voList.method()"); System.out.println(method.getName()); 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 14b4cac2..2f2ae667 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 @@ -266,6 +266,7 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { private String chrgMjr; private String dBirth; + private String DBirth; private String chrgSexCd; @@ -1127,6 +1128,12 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { this.dBirth = dBirth; } + public String getDBirth() { + return DBirth; + } + public void setDBirth(String dBirth) { + DBirth = dBirth; + } public String getChrgSexCd() { return chrgSexCd; } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java index 42cead11..db6018aa 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java @@ -76,6 +76,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { private String chrgMjr; private String dBirth; + private String DBirth; private String chrgSexCd; @@ -518,6 +519,14 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { this.dBirth = dBirth; } + + + public String getDBirth() { + return DBirth; + } + public void setDBirth(String dBirth) { + DBirth = dBirth; + } public String getChrgSexCd() { return chrgSexCd; } diff --git a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/service/ExcelVO.java b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/service/ExcelVO.java new file mode 100644 index 00000000..5a1160d1 --- /dev/null +++ b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/service/ExcelVO.java @@ -0,0 +1,103 @@ +package kcc.ve.oprtn.fndtnEnhanceTrn.prcsAplctPrdMng.service; + +import java.io.Serializable; +import java.util.Arrays; +import java.util.List; + +import kcc.com.cmm.ComDefaultVO; + + +public class ExcelVO extends ComDefaultVO implements Serializable { + /* + * 과정테이블 + * */ + + private static final long serialVersionUID = 1L; + + //ve_prcs + + + + + private String userNm; + private String sbmtPnttm; + private String aprvlCd; + private String chrgNm; + private String DBirth; + private String insttNm; + private String fld; + private String lctrYn; + private String email; + private String phone; + private String prvsQs; + public String getUserNm() { + return userNm; + } + public void setUserNm(String userNm) { + this.userNm = userNm; + } + public String getSbmtPnttm() { + return sbmtPnttm; + } + public void setSbmtPnttm(String sbmtPnttm) { + this.sbmtPnttm = sbmtPnttm; + } + public String getAprvlCd() { + return aprvlCd; + } + public void setAprvlCd(String aprvlCd) { + this.aprvlCd = aprvlCd; + } + public String getChrgNm() { + return chrgNm; + } + public void setChrgNm(String chrgNm) { + this.chrgNm = chrgNm; + } + public String getDBirth() { + return DBirth; + } + public void setDBirth(String dBirth) { + DBirth = dBirth; + } + public String getInsttNm() { + return insttNm; + } + public void setInsttNm(String insttNm) { + this.insttNm = insttNm; + } + public String getFld() { + return fld; + } + public void setFld(String fld) { + this.fld = fld; + } + public String getLctrYn() { + return lctrYn; + } + public void setLctrYn(String lctrYn) { + this.lctrYn = lctrYn; + } + public String getEmail() { + return email; + } + public void setEmail(String email) { + this.email = email; + } + public String getPhone() { + return phone; + } + public void setPhone(String phone) { + this.phone = phone; + } + public String getPrvsQs() { + return prvsQs; + } + public void setPrvsQs(String prvsQs) { + this.prvsQs = prvsQs; + } + + + + +} \ No newline at end of file diff --git a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java index 69e02e78..87c7c7bf 100644 --- a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java +++ b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java @@ -1,12 +1,15 @@ package kcc.ve.oprtn.fndtnEnhanceTrn.prcsAplctPrdMng.web; +import java.util.ArrayList; import java.util.List; +import java.util.Locale; import javax.annotation.Resource; 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; @@ -22,9 +25,11 @@ import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.cmm.ComDefaultCodeVO; import kcc.com.cmm.ComDefaultVO; import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.EgovCmmUseService; import kcc.com.cmm.service.EgovFileMngService; import kcc.com.cmm.service.EgovFileMngUtil; import kcc.com.cmm.service.impl.CmmUseDAO; +import kcc.com.cmm.spring.data.util.ExcelUtil; import kcc.com.cmm.util.StringUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.uat.uia.service.SsoLoginVO; @@ -45,6 +50,7 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; +import kcc.ve.oprtn.fndtnEnhanceTrn.prcsAplctPrdMng.service.ExcelVO; /** * 기반강화연수(관리자) 신청기간관리 @@ -147,7 +153,10 @@ public class FndthPrcsAplctPrdMngController { //알림 서비스 @Resource(name = "NotifyManageService") private NotifyManageService notifyManageService; - + + /** cmmUseService */ + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService egovCmmUseService; @@ -625,7 +634,6 @@ public class FndthPrcsAplctPrdMngController { List vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO); vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); - System.out.println("===="); //대상 리스트, 페이징 정보 전달 @@ -644,6 +652,116 @@ public class FndthPrcsAplctPrdMngController { return "/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail"; } + + + + /** + * 성인찾아가는 저작권 교육 목록 Excel + * @param model + * @return + * @throws Exception + */ + @SuppressWarnings("rawtypes") + @RequestMapping(value = "/kccadr/oprtn/fndthEnhanceTrn/eduAplctExcelDownLoad.do") + public ModelAndView eduAplctExcelDownLoad(@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO, ModelMap model) throws Exception { + + //년도 +// if(StringUtils.isBlank(vEEduAplctVO.getSearchYear())){ +// vEEduAplctVO.setSearchYear(String.valueOf(LocalDate.now().getYear())); +// } +// +// //월 +// if(StringUtils.isBlank(vEEduAplctVO.getSearchMonth())){ +// vEEduAplctVO.setSearchMonth(String.valueOf(LocalDate.now().getMonthValue())); +// } + + // 요청, 반려건 + try { + + VEEduAplctVO paramVO = new VEEduAplctVO(); + paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + paramVO.setSbmtYn("Y"); + + // 검색 - 날짜 + paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt()); + paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt()); + // 검색 - 검색어 + paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus()); + + + + List list = vEEduMIXService.selectList(paramVO); + list = egovCryptoUtil.decryptVeEduAplctList(list); + + + List excelVOList = new ArrayList<>(); + + // util에서 vo의 모든 변수를 순회하기 때문에 느림 + // 필요한 변수들만 vo로 선언 + list.forEach( vo -> { + ExcelVO excelVO = new ExcelVO(); + ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); + codeParam.setCodeId("VE0003"); + codeParam.setCode(vo.getAprvlCd()); + excelVO.setAprvlCd(egovCmmUseService.selectCmmCodeDetailCodeValue(codeParam)); + + excelVO.setDBirth(vo.getdBirth()); + + excelVO.setUserNm(vo.getUserNm()); + excelVO.setSbmtPnttm(vo.getSbmtPnttm()); + excelVO.setChrgNm(vo.getChrgNm()); + excelVO.setInsttNm(vo.getInsttNm()); + excelVO.setFld(vo.getFld()); + excelVO.setLctrYn(vo.getLctrYn()); + excelVO.setEmail(vo.getEmail()); + excelVO.setPhone(vo.getPhone()); + excelVO.setPrvsQs(vo.getPrvsQs()); + + + excelVOList.add(excelVO); + }); + + + + + List excelData = new ArrayList<>(); + excelData.addAll(excelVOList); + // 세팅값 + String title = "실무역량강화 - 교육신청 목록"; + int[] width = { + 4000, 4000, 4000, 4000, 4000 + , 4000, 4000, 4000, 4000, 4000, 4000 + }; // 너비 + + String[] header = { + "신청자", "신청일", "확정여부", "성명", "생년월일" + , "소속기업", "분야", "수강여부", "E-mail", "휴대폰", "사전질의" + }; + + String[] order = { + "UserNm", "SbmtPnttm", "AprvlCd", "ChrgNm", "DBirth" + , "InsttNm", "Fld", "LctrYn", "Email", "Phone", "PrvsQs" + }; + + // 호출 + SXSSFWorkbook workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(excelData , header, order, width, title); + model.addAttribute("locale", Locale.KOREA); + model.addAttribute("workbook", workbook); + model.addAttribute("workbookName", title); + + + } catch (Exception e) { + e.printStackTrace(); + // TODO: handle exception + } + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("excelDownloadView"); + modelAndView.addObject(model); + + return modelAndView; + } + + /** * 기반강화연수과정 기간 상세수정화면 */ 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 5b73df6f..d812a0da 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 @@ -129,6 +129,12 @@ vadi.CNCL_CN AS cnclCn, le.MBER_NM AS userNm, , + a.CHRG_NM AS chrgNm , + a.D_BIRTH AS dBirth , + a.INSTT_NM AS insttNm , + a.FLD AS fld , + a.LCTR_YN AS lctrYn , + a.PRVS_QS AS prvsQs , CASE WHEN EXISTS (/* 설문조사 */ SELECT diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduCnfrmMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduCnfrmMngList.jsp index f9d0a834..347d60cf 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduCnfrmMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduCnfrmMngList.jsp @@ -493,6 +493,9 @@ }); } } + + + 신청관리 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 cd34f3c7..5950317b 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/instrMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/instrMngList.jsp @@ -110,7 +110,7 @@ - + " /> " /> diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.jsp index cdb2e6d9..8c8f7a98 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.jsp @@ -218,7 +218,17 @@ }); } } - + + + // 엑셀다운로드 + function excelDownLoad() { + var listForm = document.listForm ; + listForm.action = ""; + listForm.submit(); + } + + + @@ -233,6 +243,7 @@ +
@@ -471,6 +482,12 @@ 신청자 신청일 확정여부 + 성명 + 생년월일 + 소속기업 + 분야 + 수강여부 + 사전질의 이수여부 @@ -494,9 +511,28 @@ + + + + + + + + + + + + + + + + + + + <%-- @@ -535,6 +571,7 @@
+
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp index b51012f5..2d741805 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp @@ -470,7 +470,7 @@ $(document).ready(function(){ <%-- --%> - + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/popup/eduAplctPop.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/popup/eduAplctPop.jsp index 701687a7..944baf86 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/popup/eduAplctPop.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/popup/eduAplctPop.jsp @@ -46,6 +46,21 @@ $(document).ready(function(){ incrementYears:100, } + $('#fldSelect').change(function(){ + console.log($(this).val()); + console.log($(this).val() == '99'); + if($(this).val() == '99'){ + $('#fld').val(''); + $('#fld').attr('type', 'text'); + }else{ + $('#fld').val($('#fldSelect option:selected').text()); + $('#fld').attr('type', 'hidden'); + + } + }) + +// $('#fld').hide(); + }); // value 체크 @@ -53,9 +68,9 @@ $(document).ready(function(){ function fnValidation(){ var valChk = true - + // 텍스트 입력 필드에 값이 있는지 확인 - $('input[type="text"]').each(function() { + $('input[type="text"]').not('#fld').each(function() { if ($(this).val() == '') { var fieldName = $(this).closest('td').prev('th').find('p').text(); alert(fieldName + '를 입력해주세요.'); @@ -64,16 +79,32 @@ $(document).ready(function(){ return false; // 함수 실행 중지 } }); + - // duet-date라서 name밖에 없음 - var $dBirth = $('input[name="dBirth"]'); - if($dBirth.val() ==''){ - alert('생년월일을 입력해 주세요.'); - $dBirth.focus(); - return false; - } // alert 두번 방지 if if(valChk){ + + if(!$('#fldSelect').val()){ + alert('분야를 선택해 주세요.'); + $('#fldSelect').focus(); + return false; + }else if($('#fldSelect').val() == '99'){ + + if(!$('#fld').val()){ + alert('분야를 입력해 주세요.'); + $('#fld').focus(); + return false; + } + + } + // duet-date라서 name밖에 없음 + var $dBirth = $('input[name="dBirth"]'); + if($dBirth.val() ==''){ + alert('생년월일을 입력해 주세요.'); + $dBirth.focus(); + return false; + } + if(!$('#chkY').prop("checked")){ alert('개인정보 처리 동의해 주세요.') return false; @@ -159,6 +190,20 @@ $(document).ready(function(){
+ + +

핸드폰

+ + + + + +

이메일

+ + + + +

소속기업

@@ -166,11 +211,19 @@ $(document).ready(function(){ + +

분야

- + + + + @@ -190,9 +243,15 @@ $(document).ready(function(){ - - + + + + + + +
개인정보 처리 동의서
+
  한국저작권위원회에서는 귀하의 개인정보를 중요시하며, 개인정보보호법 제15조, 제17조, 제22조, 제23조 및 제24조에 따라 아래와 같이 개인정보 처리에 관하여 동의를 얻고자 합니다.
 										
  <개인정보 수집 및 이용에 대한 동의 >
@@ -201,11 +260,6 @@ $(document).ready(function(){
 	ο 개인정보의 보유 및 이용기간 : 사업 종료시까지
 	ο 동의를 거부할 권리가 있다는 사실 및 동의 거부에 따른 불이익이 있는 경우에는 그 불이익의 내용 : 귀하의 개인정보 제공 및 동의를 거부할 권리가 있으며, 위 항목 동의 거부시 수강신청 및 이수증 발급이 어려워질 수 있음
 
- - - - -