From 04e46b65d34c9013122d3a6be54490598eb4d8e4 Mon Sep 17 00:00:00 2001 From: jiwoo Date: Wed, 27 Dec 2023 15:21:50 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=EC=9E=90=20>=20=EC=84=B1=EC=9D=B8=EC=B0=BE=EA=B5=90?= =?UTF-8?q?=20>=20=EC=8B=A0=EC=B2=AD,=EB=B0=B0=EC=B9=98=20=EB=AA=A9?= =?UTF-8?q?=EB=A1=9D=20=EC=97=91=EC=85=80=EB=8B=A4=EC=9A=B4=EB=A1=9C?= =?UTF-8?q?=EB=93=9C=20=ED=95=AD=EB=AA=A9=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cmm/spring/data/util/ExcelUtil.java | 4 +- src/main/java/kcc/kccadr/cmm/CmmUtil.java | 32 +++++++++ .../eduInfo/service/VEEduAplctVO.java | 30 +++++++++ .../web/EduAplctMngAdultController.java | 41 ++++++++++-- .../web/EduCnfrmMngAdultController.java | 67 ++++++++++++++++--- .../sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml | 10 +++ 6 files changed, 168 insertions(+), 16 deletions(-) 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 5f081565..37cd855a 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 @@ -101,8 +101,8 @@ public class ExcelUtil { for (Method method : methods) { // vo 내부 메소드 반복 // System.out.println("i :: "+ i + "methods : "+ methods); - 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/kccadr/cmm/CmmUtil.java b/src/main/java/kcc/kccadr/cmm/CmmUtil.java index 0a976a88..174d910a 100644 --- a/src/main/java/kcc/kccadr/cmm/CmmUtil.java +++ b/src/main/java/kcc/kccadr/cmm/CmmUtil.java @@ -1,9 +1,11 @@ package kcc.kccadr.cmm; +import java.text.SimpleDateFormat; import java.time.DayOfWeek; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +import java.util.Date; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -110,5 +112,35 @@ public class CmmUtil { return result; } + //YYYY.MM.DD 타입 월, 일 return + public static String getMonth(String source) { + String result = ""; + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd"); + try { + Date date = dateFormat.parse(source); + + SimpleDateFormat monthFormat = new SimpleDateFormat("MM"); + result = monthFormat.format(date); + }catch (Exception ex) { + System.out.println("month: " + ex.getMessage()); + } + + return result; + } + public static String getDay(String source) { + String result = ""; + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd"); + + try { + Date date = dateFormat.parse(source); + + SimpleDateFormat dayFormat = new SimpleDateFormat("dd"); + result = dayFormat .format(date); + }catch (Exception ex) { + System.out.println("day: " + ex.getMessage()); + } + + return result; + } } 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 7df39e3c..041479d8 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 @@ -445,6 +445,12 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { public String eduMdCd; //교육매체 코드 public String feeInsttCd; //강사료지급기관코드 + private String eduHopeMonth; //희망일자(월) + private String eduHopeDay; //희망일자(일) + private String instrEmail; //강사이메일 + private String apptDiv; //강사구분 + + public String getSpecialWorkAllow() { return specialWorkAllow; @@ -1959,6 +1965,30 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { public void setFeeInsttCd(String feeInsttCd) { this.feeInsttCd = feeInsttCd; } + public String getEduHopeMonth() { + return eduHopeMonth; + } + public void setEduHopeMonth(String eduHopeMonth) { + this.eduHopeMonth = eduHopeMonth; + } + public String getEduHopeDay() { + return eduHopeDay; + } + public void setEduHopeDay(String eduHopeDay) { + this.eduHopeDay = eduHopeDay; + } + public String getInstrEmail() { + return instrEmail; + } + public void setInstrEmail(String instrEmail) { + this.instrEmail = instrEmail; + } + public String getApptDiv() { + return apptDiv; + } + public void setApptDiv(String apptDiv) { + this.apptDiv = apptDiv; + } } diff --git a/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduAplctMng/web/EduAplctMngAdultController.java b/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduAplctMng/web/EduAplctMngAdultController.java index 96ad678b..3cb7758b 100644 --- a/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduAplctMng/web/EduAplctMngAdultController.java +++ b/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduAplctMng/web/EduAplctMngAdultController.java @@ -441,6 +441,7 @@ public class EduAplctMngAdultController { vEEduAplctVO.setMode(VeConstants.MODE_EXCEL); List list = vEEduMIXService.selectPagingList(vEEduAplctVO); list = egovCryptoUtil.decryptVEEduAplctVOList(list); + int[] rowNo = {1}; list.forEach( vo -> { ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); codeParam.setCodeId("VE0008"); @@ -463,26 +464,54 @@ public class EduAplctMngAdultController { codeParam.setCode(vo.getInsttDivCd()); vo.setInsttDivCd(egovCmmUseService.selectCmmCodeDetailCodeValue(codeParam)); + codeParam.setCodeId("VEA015"); + codeParam.setCode(vo.getEduMdCd()); + if("99".equals(vo.getEduMdCd())) { + vo.setEduMdCd(vo.getEduMd()); + }else { + vo.setEduMdCd(egovCmmUseService.selectCmmCodeDetailCodeValue(codeParam)); + } + vo.setEduHopeDt(CmmUtil.getStrDateFormat(vo.getEduHopeDt())); + vo.setEduHopeMonth(CmmUtil.getMonth(vo.getEduHopeDt())); + vo.setEduHopeDay(CmmUtil.getDay(vo.getEduHopeDt())); + vo.setEduHopeDtDayOfWeek(CmmUtil.getStrDayOfWeek(vo.getEduHopeDt())); + + if(vo.getAddr() == null) { + vo.setAddr(""); + } + if(vo.getAddrDetail() == null) { + vo.setAddrDetail(""); + } + vo.setAddr(vo.getAddr() + " " + vo.getAddrDetail()); + + vo.setStrtTm(vo.getStrtTm()+ " ~ " + vo.getEndTm()); + vo.setEduAplctOrd(String.valueOf(rowNo[0]++)); }); List excelData = new ArrayList<>(); excelData.addAll(list); // 세팅값 - String title = "성인 찾아가는 저작권 교육 - 교육신청 목록"; + String title = "성인대상 찾아가는 저작권 교육 관리 대장 - 신청목록"; int[] width = { 4000, 4000, 4000, 4000, 4000 - , 4000, 4000, 4000, 4000, 4000, 4000 + , 4000, 4000, 4000, 4000, 4000, 4000, 4000 + , 4000, 4000, 4000, 4000, 4000, 4000, 4000 + , 4000, 4000 }; // 너비 String[] header = { - "교육일자", "신청일자", "신청유형", "기관(단체)명", "기관구분" - , "신청자", "연락처", "휴대전화", "E-mail", "주소", "신청상태" + "STAGE", "NO", "월", "일", "요일" + , "날짜", "지역", "신청기관", "온/오프라인", "교육수단", "교육대상" + , "교육시간", "분", "총인원", "교육내용", "담당자", "연락처1", "연락처2" + , "E-mail", "교육장소" }; String[] order = { - "EduHopeDt", "SbmtPnttm", "EduSlctCd", "InsttNm", "InsttDivCd" - , "ChrgNm", "Phone", "Clphone", "Email", "Addr", "AprvlCd" + "InsttDivCd", "EduAplctOrd", "EduHopeMonth", "EduHopeDay", "EduHopeDtDayOfWeek" + , "EduHopeDt", "EduSlctAreaCd", "InsttNm", "EduSlctCd", "EduMdCd", "EduTrgt" + , "StrtTm", "LrnTm", "EduPrsnl", "HopeSbjct", "ChrgNm", "Phone", "Clphone" + , "Email", "Addr" }; // 호출 diff --git a/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduCnfrmMng/web/EduCnfrmMngAdultController.java b/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduCnfrmMng/web/EduCnfrmMngAdultController.java index 9f2e1bf7..9731a7f6 100644 --- a/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduCnfrmMng/web/EduCnfrmMngAdultController.java +++ b/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduCnfrmMng/web/EduCnfrmMngAdultController.java @@ -804,7 +804,7 @@ public class EduCnfrmMngAdultController { list.get(i).setUserId(vVo.getUserId()); list.get(i).setChrgNm(vVo.getChrgNm()); } - + int[] rowNo = {1}; list.forEach( vo -> { ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); @@ -843,31 +843,82 @@ public class EduCnfrmMngAdultController { codeParam.setCode(vo.getAsgnmAprvlCd()); vo.setAsgnmAprvlCd(cmmUseService.selectCmmCodeDetailCodeValue(codeParam)); + //강의구분 + codeParam.setCodeId("VE0012"); + codeParam.setCode(vo.getInsttDivCd()); + vo.setInsttDivCd(cmmUseService.selectCmmCodeDetailCodeValue(codeParam)); + + //강사구분 + codeParam.setCodeId("VE0018"); + codeParam.setCode(vo.getApptDiv()); + vo.setApptDiv(cmmUseService.selectCmmCodeDetailCodeValue(codeParam)); + + codeParam.setCodeId("VEA015"); + codeParam.setCode(vo.getEduMdCd()); + if("99".equals(vo.getEduMdCd())) { + vo.setEduMdCd(vo.getEduMd()); + }else { + vo.setEduMdCd(cmmUseService.selectCmmCodeDetailCodeValue(codeParam)); + } + + vo.setEduHopeMonth(CmmUtil.getMonth(vo.getEduHopeDt())); + vo.setEduHopeDay(CmmUtil.getDay(vo.getEduHopeDt())); + vo.setEduHopeDtDayOfWeek(CmmUtil.getStrDayOfWeek(vo.getEduHopeDt())); + + if(vo.getAddr() == null) { + vo.setAddr(""); + } + if(vo.getAddrDetail() == null) { + vo.setAddrDetail(""); + } + vo.setAddr(vo.getAddr() + " " + vo.getAddrDetail()); + + vo.setStrtTm(vo.getStrtTm()+ " ~ " + vo.getEndTm()); + + vo.setEduAplctOrd(String.valueOf(rowNo[0]++)); + + + if(Integer.parseInt(vo.getQustnrRsltCnt()) > 0) { + vo.setQustnrRsltCnt("제출"); + }else { + vo.setQustnrRsltCnt("미제출"); + } }); List excelData = new ArrayList<>(); excelData.addAll(list); // 세팅값 - String title = "교육배치 목록"; + String title = "성인대상 찾아가는 저작권 교육 관리 대장 - 배치목록"; // 너비 int[] width = { - 4000, 3000, 3000, 4000, 4000 - , 8000, 4000, 4000, 4000 + 4000, 4000, 4000, 4000, 4000 + , 4000, 4000, 4000, 4000, 4000, 4000, 4000 + , 4000, 4000, 4000, 4000, 4000, 4000, 4000 + , 4000, 4000, 4000 , 4000 , 4000, 4000 , 4000 }; // 헤더 + String[] header = { - "교육희망일자", "요일", "시간", "온·오프라인", "지역" - , "기관(학교)명", "교육대상", "강사명", "확정여부" + "STAGE", "NO", "월", "일", "요일" + , "날짜", "지역", "신청기관", "온/오프라인", "교육수단", "교육대상" + , "교육시간", "분", "총인원", "교육내용", "담당자", "연락처1", "연락처2" + , "E-mail", "교육장소", "강사", "구분", "E-mail", "연락처", "만족도" }; // 컬럼명 - String[] order = { +/* String[] order = { "EduHopeDt", "EduHopeDtDayOfWeek", "Chasi", "EduSlctCd", "EduSlctAreaCd" , "InsttNm", "Trgt", "InstrNm", "AsgnmAprvlCd" + };*/ + String[] order = { + "InsttDivCd", "EduAplctOrd", "EduHopeMonth", "EduHopeDay", "EduHopeDtDayOfWeek" + , "EduHopeDt", "EduSlctAreaCd", "InsttNm", "EduSlctCd", "EduMdCd", "EduTrgt" + , "StrtTm", "LrnTm", "EduPrsnl", "HopeSbjct", "ChrgNm", "Phone", "Clphone" + , "Email", "Addr", "InstrNm", "ApptDiv", "InstrEmail", "InstrPhone", "QustnrRsltCnt" }; - + // 호출 SXSSFWorkbook workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(excelData , header, order, width, title); model.addAttribute("locale", Locale.KOREA); 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 39349554..be253a6a 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 @@ -387,6 +387,7 @@ , A.phone AS phone , A.Email AS email , A.Addr AS addr + , A.Addr_Detail AS addrDetail , A.IS_WAIT AS isWait , A.CORPS_EDU AS corpsEdu , A.BROADROOM_EDU AS broadroomEdu @@ -410,6 +411,8 @@ , A.INSTT_DIV_CD AS insttDivCd , A.FRST_REGISTER_ID AS frstRegisterId , TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYY.MM.DD') AS frstRegistPnttm + , A.EDU_MD_CD AS eduMdCd + , A.EDU_MD AS eduMd , A0.CNT-1 AS cnt , A0.PRCS_ORD AS prcsOrd , A0.PRCS_NM AS prcsNm @@ -2364,6 +2367,10 @@ a.edu_trgt AS eduTrgt , a.clphone AS clphone , a.email AS email , + a.hope_sbjct AS hopeSbjct, + a.phone AS phone, + a.edu_md AS eduMd, + a.edu_md_cd AS eduMdCd, b.edu_chasi_ord AS eduChasiOrd , b.lrn_tm AS lrnTm , b.edu_hope_dt AS eduHopeDt , @@ -2378,6 +2385,9 @@ d.user_id AS userId , d.asgnm_aprvl_cd AS asgnmAprvlCd, e.instr_nm AS instrNm, + e.phone AS instrPhone, + e.email AS instrEmail, + e.appt_div AS apptDiv, g.atch_file_id AS atchFileId, g.APRVL_CD AS acmdtAprvlCd, d.rmrks AS rmrks,