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 8baa2969..95fb3bdd 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 @@ -100,8 +100,8 @@ public class ExcelUtil { for (int i = 0; i < order.length; i++) { for (Method method : methods) { // vo 내부 메소드 반복 - //System.out.println("voList.method()"); - //System.out.println(method.getName()); + System.out.println("voList.method()"); + System.out.println(method.getName()); if (method.getName().equals("get" + (order[i] == null ? "" : order[i]))) { // vo메소드 이름과 order의 이름 비교 // getter 호출 준비 diff --git a/src/main/java/kcc/let/uss/olp/qmc/web/UserQustnrManageController.java b/src/main/java/kcc/let/uss/olp/qmc/web/UserQustnrManageController.java index 79fe238e..b4f74eb4 100644 --- a/src/main/java/kcc/let/uss/olp/qmc/web/UserQustnrManageController.java +++ b/src/main/java/kcc/let/uss/olp/qmc/web/UserQustnrManageController.java @@ -799,6 +799,26 @@ public class UserQustnrManageController { } + + /** + * @methodName : UserQustnrManageQrCreate + * @author : JunHo Lee + * @date : 2023.11.23 + * @description : qr코드 생성 + * @param qustnrQestnManageVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value="/uss/olp/qqm/UserQustnrManageQrCreate.do") + public String UserQustnrManageQrCreate( + @ModelAttribute("qustnrQestnManageVO") QustnrQestnManageVO qustnrQestnManageVO, + ModelMap model) throws Exception { + + return "/uss/olp/qqm/UserQustnrManageQrCreate"; + + } + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java index 1e98b1cd..74733256 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java @@ -26,6 +26,7 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable { private String trgtNm; // 대상자성명 private String clphone; // 연락처 private String dBirth; // 생년월일 + private String DBirth; // 생년월일 private String addr; // 주소 private String addrDetail; // 상세주소 private String email; // 이메일주소 @@ -210,6 +211,12 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable { public void setSearchSelStatusToList(String searchSelStatus) { this.searchSelStatusList = Arrays.asList(searchSelStatus.split(",")); } + public String getDBirth() { + return DBirth; + } + public void setDBirth(String dBirth) { + DBirth = dBirth; + } 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 352a9e41..59f2d5d8 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 @@ -5,12 +5,16 @@ import java.time.Period; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; +import java.util.Locale; +import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.apache.commons.collections.map.HashedMap; 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; @@ -29,6 +33,7 @@ import kcc.com.cmm.service.CmmnDetailCode; import kcc.com.cmm.service.EgovCmmUseService; import kcc.com.cmm.service.EgovFileMngService; import kcc.com.cmm.service.FileVO; +import kcc.com.cmm.spring.data.util.ExcelUtil; import kcc.com.cmm.util.DateUtil; import kcc.com.cmm.util.StringUtil; import kcc.com.utl.user.service.CheckFileUtil; @@ -494,7 +499,7 @@ public class CndtnTrgtMngController { private String getReqNmbr(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { //성인 미성년 구분 - String adultWhether = getIsAdultInKorea(cndtnTrgtInfoMngVO.getdBirth()); + String adultWhether = getIsAdultInKorea(cndtnTrgtInfoMngVO.getDBirth()); String reqNmbrTemp = adultWhether+"-"+cndtnTrgtInfoMngVO.getCmptntAthrt()+"-"+DateUtil.getStringToLocalDateYear(); int cnt = cndtnTrgtInfoMngService.findCntreqNmber("%" + reqNmbrTemp + "%"); @@ -684,10 +689,10 @@ public class CndtnTrgtMngController { List cndtnTrgtInfoMngVOList = new ArrayList(); - System.out.println(StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth())); + System.out.println(StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isEmpty(cndtnTrgtInfoMngVO.getDBirth())); System.out.println("StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) : "+ StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm())); - System.out.println("StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth()) : "+ StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth())); - if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getdBirth())) + System.out.println("StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth()) : "+ StringUtils.isEmpty(cndtnTrgtInfoMngVO.getDBirth())); + if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getDBirth())) { cndtnTrgtInfoMngVO.setFirstIndex(0); cndtnTrgtInfoMngVO.setRecordCountPerPage(100000); @@ -910,6 +915,162 @@ public class CndtnTrgtMngController { } + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMngExcel.do") + public ModelAndView trgtMngExcel( + @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; + } + + //로그인 처리==================================== + + //1.pageing step1 + PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO); + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo); + + //검색 조회 + String selectCondition = ""; + if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){ + String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus(); +// selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')"; + selectCondition = "AND a."+searchStatus+" LIKE '%" +cndtnTrgtInfoMngVO.getSearchKeyword() + "%'"; + cndtnTrgtInfoMngVO.setSearchQuery(selectCondition); + } + + if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getSearchSelStatus())) + { + cndtnTrgtInfoMngVO.setSearchSelStatusToList(cndtnTrgtInfoMngVO.getSearchSelStatus()); + } + + List cndtnTrgtInfoMngVOList = null; + + try { + + cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); + } catch (Exception e) { + e.printStackTrace(); + // TODO: handle exception + } + + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + + for(CndtnTrgtMngVO tmp : cndtnTrgtInfoMngVOList) { + //의뢰읠 + tmp.setReqPnttm(tmp.getReqPnttm().substring(0, 10)); + //사건번호 + tmp.setVntYear(tmp.getVntYear()+"형제"+tmp.getVntNmbr()); + //관할청 + if(StringUtil.isNotEmpty(tmp.getCmptntAthrt())) { + vo.setCodeId("VEA008"); + vo.setCode(tmp.getCmptntAthrt()); + CmmnDetailCode cmmnDetailCode= egovCmmUseService.selectCmmCodeDetailValue(vo); + tmp.setCmptntAthrt(StringUtil.escapeXml(cmmnDetailCode.getCodeNm())); + } + //생년월일 + 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); + tmp.setSex((StringUtil.escapeXml(cmmnDetailCodeSex.getCodeNm()))); + } + //의뢰상태 + if(StringUtil.isNotEmpty(tmp.getReqStateCd())) { + vo.setCodeId("VEA005"); + vo.setCode(tmp.getReqStateCd()); + CmmnDetailCode cmmnDetailCodeReqState= egovCmmUseService.selectCmmCodeDetailValue(vo); + tmp.setReqStateCd((StringUtil.escapeXml(cmmnDetailCodeReqState.getCodeNm()))); + } + //교육상태 + if(StringUtil.isNotEmpty(tmp.getEduStateCd())) { + vo.setCodeId("VEA002"); + vo.setCode(tmp.getEduStateCd()); + CmmnDetailCode cmmnDetailCodeEduState= egovCmmUseService.selectCmmCodeDetailValue(vo); + tmp.setEduStateCd((StringUtil.escapeXml(cmmnDetailCodeEduState.getCodeNm()))); + } + //주소 + if(StringUtil.isNotEmpty(tmp.getAddr()) && StringUtil.isNotEmpty(tmp.getAddrDetail())) { + tmp.setAddr(tmp.getAddr()+" "+tmp.getAddrDetail()); + } + } + + int[] width = { + 4000, 5000, 5000, 5000, 3000 + , 3000, 5000, 4000, 5000, 13000 + + , 3500 + }; // 너비 + String[] header = { + "의뢰일", "사건번호", "관할청", "생년월일", "성명" + , "성별" , "의뢰번호", "의뢰상태", "교육상태", "주소" + , "검사명" + }; // 헤더에 들어갈 이름 + String[] order = { + "ReqPnttm", "VntYear", "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; + } + + @@ -1010,4 +1171,26 @@ public class CndtnTrgtMngController { return p_paginationInfo; } + + @SuppressWarnings("unused") + private void excelDown( + List list, + String title, + int[] width, + String[] header, + String[] order, + ModelMap model + ){ + // 호출 + SXSSFWorkbook workbook; + try { + workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(list, header, order, width, title); + model.addAttribute("locale", Locale.KOREA); + model.addAttribute("workbook", workbook); + model.addAttribute("workbookName", title); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } } 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 055f3b05..e7a30463 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp @@ -215,6 +215,13 @@ } + + function fncExcel(){ + var listForm = document.listForm ; +// listForm.searchCondition.value = $("#searchCondition").val() ; + listForm.action = ""; + listForm.submit(); + } 교육과정관리 @@ -309,6 +316,14 @@ +
+
+

엑셀 다운로드

+
+
+ +
+
diff --git a/src/main/webapp/WEB-INF/jsp/uss/olp/qqm/UserQustnrManageQrCreate.jsp b/src/main/webapp/WEB-INF/jsp/uss/olp/qqm/UserQustnrManageQrCreate.jsp new file mode 100644 index 00000000..261ec477 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/uss/olp/qqm/UserQustnrManageQrCreate.jsp @@ -0,0 +1,239 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> + +qr 생성 + + + + + + +
+
+
+

설문문항 등록

+
+
+
+ + + + + + + + + + + + + + + ` + + + + + + + + + + + + +
설문지정보(제목) + + +
질문 내용 + +
질문 순번 + ${qustnrQestnManageVO.qestnSn} + +
질문 유형 + +
최대선택건수 + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
1 + +
2 + +
${status.count} + +
+
+
+
+ + +
+
+ + + + + + + + + + +
+
+
+
+
+ +
+ + + + + + + + + +
1 + +
2 + +
+ + + + + + + + + + + + + + + + + + + + + +
1 + +
2 + +
3 + +
4 + +
5 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
1 + +
2 + +
3 + +
4 + +
5 + +
6 + +
7 + +
+
+
+ +