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 db1de9fe..fe79065e 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 @@ -1322,7 +1322,145 @@ public class CndtnTrgtMngController { } - + //수료자 관리 엑셀 다운로드 + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltExcel.do") + public ModelAndView trgtCmpltExcel( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("excelDownloadView"); + + + //로그인 처리==================================== + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + System.out.println("loginVO.getAuthority() :: "+ loginVO.getAuthority()); + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject(model); + return modelAndView; + } + + //로그인 처리==================================== + + List cndtnTrgtInfoMngVOList = null; + + try { + //1.pageing step1 + PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO); + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo); + + // 이수 조건 추가 + cndtnTrgtInfoMngVO.setEduStateCd("20"); + cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); + + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + + for(CndtnTrgtMngVO tmp : cndtnTrgtInfoMngVOList) { + //의뢰읠 + tmp.setReqPnttm(tmp.getReqPnttm().substring(0, 10)); + //이름 복호화 + tmp.setTrgtNm(egovCryptoUtil.decrypt(tmp.getTrgtNm())); + //생년월일 - VO에 dbirth와 Dbirth 둘다 있음 + if(StringUtil.isNotEmpty(tmp.getdBirth())) { + tmp.setDBirth(tmp.getdBirth()); + } + //성별 + if(StringUtil.isNotEmpty(tmp.getSex())) { + vo.setCodeId("COM014"); + vo.setCode(tmp.getSex()); + CmmnDetailCode cmmnDetailCodeSex= egovCmmUseService.selectCmmCodeDetailValue(vo); + if (cmmnDetailCodeSex!=null) tmp.setSex((StringUtil.escapeXml(cmmnDetailCodeSex.getCodeNm()))); + } + //의뢰상태 + if(StringUtil.isNotEmpty(tmp.getReqStateCd())) { + if (tmp.getPrcsAplctPrdOrdCmplt()==null) { + vo.setCodeId("VEA005"); + vo.setCode(tmp.getReqStateCd()); + CmmnDetailCode cmmnDetailCodeReqState= egovCmmUseService.selectCmmCodeDetailValue(vo); + if (cmmnDetailCodeReqState!=null) tmp.setReqStateCd((StringUtil.escapeXml(cmmnDetailCodeReqState.getCodeNm()))); + }else { + tmp.setReqStateCd("병합처리"); + } + } + //교육상태 + if(StringUtil.isNotEmpty(tmp.getEduStateCd())) { + vo.setCodeId("VEA002"); + vo.setCode(tmp.getEduStateCd()); + CmmnDetailCode cmmnDetailCodeEduState= egovCmmUseService.selectCmmCodeDetailValue(vo); + if (cmmnDetailCodeEduState!=null) tmp.setEduStateCd((StringUtil.escapeXml(cmmnDetailCodeEduState.getCodeNm()))); + } + //주소 + if(StringUtil.isNotEmpty(tmp.getAddr()) && StringUtil.isNotEmpty(tmp.getAddrDetail())) { + tmp.setAddr(tmp.getAddr()+" "+tmp.getAddrDetail()); + } + } + + }catch(Exception ex) { + ex.printStackTrace(); + } + + + int[] width = { + 4000, 5000, 5000, 5000, 3000 + , 3000, 5000, 4000, 5000, 13000 + + , 3500 + }; // 너비 + String[] header = { + "의뢰일", "사건번호", "관할청", "생년월일", "성명" + , "성별" , "의뢰번호", "의뢰상태", "교육상태", "주소" + , "검사명" + }; // 헤더에 들어갈 이름 + String[] order = { + "ReqPnttm", "VntNmbr", "CmptntAthrt", "DBirth", "TrgtNm" + , "Sex", "ReqNmbr", "ReqStateCd", "EduStateCd", "Addr" + , "PrsctrNm" + }; // vo 내부의 필드 이름 (첫글자 대문자, 낙타체 사용) + + excelDown( + cndtnTrgtInfoMngVOList, + "수료자 목록", + width, + header, + order, + model + ); + + + + + + + //3.pageing step3 +// paginationInfo = this.setCndtnPagingStep3(cndtnTrgtInfoMngVOList, paginationInfo); +// +// model.addAttribute("paginationInfo", paginationInfo); +// +// +// //대상 리스트, 페이징 정보 전달 +// model.addAttribute("list", cndtnTrgtInfoMngVOList); +// +// ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); +// codeParam.setCodeId("VEA008"); +// List CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); +// model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList); + + modelAndView.addObject(model); + + return modelAndView; + } ////////////////////////////////////////////////////////////////////////////////////////////////////////////// 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 95f27518..712f96cc 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtCmpltList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtCmpltList.jsp @@ -40,47 +40,7 @@ $(document).ready(function(){ searchInit(); - - // 검색 select box - $('#searchStatus').change(function(){ - - $('#searchKeyword').val(''); - $('#searchSmbtStartDt').val(''); - $('#searchSmbtEndDt').val(''); - if($(this).val() == 'frstRegistPnttm'){ - - $('#searchKeyword').hide(); - $('#calendar').show(); - } - if($(this).val() == 'trgt_nm'){ - - $('#searchKeyword').attr('placeholder', '이름을 입력해 주세요.'); - $('#calendar').hide(); - $('#searchKeyword').show(); - } - if($(this).val() == 'd_birth'){ - - $('#searchKeyword').attr('placeholder', '생년월일을 입력해 주세요.'); - $('#calendar').hide(); - $('#searchKeyword').show(); - } - - - - }); }); - - function searchInit(){ - var selecedTxt = $('#searchStatus option:checked').val(); - console.log('selecedTxt : ', selecedTxt); - - if(selecedTxt == 'trgt_nm' || selecedTxt == 'd_birth'){ - $('#calendar').hide(); - }else{ - $('#searchKeyword').hide(); - - } - } function fncGoList(){ linkPage(1); @@ -89,7 +49,6 @@ function linkPage(pageNo){ var listForm = document.listForm ; listForm.pageIndex.value = pageNo ; - //listForm.searchKeyword.value = $('#searchKeyword').val(); listForm.action = ""; listForm.submit(); } @@ -102,81 +61,6 @@ detailForm.submit(); } - - function fncDelete(prcsOrd){ - document.listForm.prcsOrd.value = prcsOrd ; - - var pageIndex = document.listForm.pageIndex.value; - if($(".listCount").length == '1'){ - pageIndex = pageIndex -1; - } - var data = new FormData(document.getElementById("listForm")); - if(confirm("삭제하시겠습니까?")){ - var url = ""; - console.log(data); - $.ajax({ - type:"POST", - url: url, - data: data, - dataType:'json', - async: false, - processData: false, - contentType: false, - cache: false, - success:function(returnData){ - if(returnData.result == "success"){ - alert("삭제되었습니다."); - document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화 - linkPage(pageIndex); - } - }, - error:function(request , status, error){ - alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); - } - }); - } - event.stopImmediatePropagation(); - - } - - function fncSaveSort(prcsOrd, count){ - - var sortNo = $('#prcsSortNo'+count).val(); - - if(sortNo == ''){ - - alert("표시순서를 입력해 주세요."); - return false; - - } - - $('#prcsOrd').val(prcsOrd); - $('#prcsSortNo').val(sortNo); - var data = new FormData(document.getElementById("listForm")); - var url = ""; - $.ajax({ - type:"POST", - url: url, - data: data, - dataType:'json', - async: false, - processData: false, - contentType: false, - cache: false, - success:function(returnData){ - if(returnData.result == "success"){ - alert("저장되었습니다."); - document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화 - fncGoList(); - } - }, - error:function(request , status, error){ - alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); - } - }); - - } - function fncReset(thisObj){ var targetObj = $(thisObj).closest('.list_top').find('select,input'); $.each(targetObj, function(){ @@ -184,6 +68,11 @@ }); } + function fncExcel(){ + var listForm = document.listForm ; + listForm.action = ""; + listForm.submit(); + } 교육과정관리 @@ -261,6 +150,14 @@ +
+
+

엑셀 다운로드

+
+
+ +
+