From 87156e80f72a6a23906a114e59eef7fa908ee209 Mon Sep 17 00:00:00 2001 From: hylee Date: Thu, 29 Jun 2023 13:59:22 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20pms-#3220=20[=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=EC=9E=90]=20=EC=B2=AD=EC=86=8C=EB=85=84=EC=B0=BE=EC=95=84?= =?UTF-8?q?=EA=B0=80=EB=8A=94=20=EC=A0=80=EC=9E=91=EA=B6=8C=20=EA=B5=90?= =?UTF-8?q?=EC=9C=A1=20>=20=EA=B0=95=EC=9D=98=EC=A1=B0=EC=82=AC=20?= =?UTF-8?q?=EC=9A=94=EC=B2=AD=20=EB=AA=A9=EB=A1=9D=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?=EC=82=AC=ED=95=AD=20::=20=EC=99=84=EB=A3=8C=20r2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/kcc/com/cmm/util/DateUtil.java | 10 +++ .../lctrInfo/service/VELctrDetailVO.java | 29 +++++++++ .../service/VELctrRsrchMngService.java | 4 ++ .../service/impl/VELctrRsrchMngDAO.java | 5 ++ .../impl/VELctrRsrchMngServiceImpl.java | 4 ++ .../web/OprtnLctrRsrchTngrContoller.java | 29 +++++++++ .../ve/lctr/VELctrRsrchMng_SQL_Cubrid.xml | 61 +++++++++++++++++++ .../oprtn/tngrVisitEdu/lctrRsrchMngList.jsp | 11 ++-- 8 files changed, 149 insertions(+), 4 deletions(-) diff --git a/src/main/java/kcc/com/cmm/util/DateUtil.java b/src/main/java/kcc/com/cmm/util/DateUtil.java index d8a50e9e..4ae69f21 100644 --- a/src/main/java/kcc/com/cmm/util/DateUtil.java +++ b/src/main/java/kcc/com/cmm/util/DateUtil.java @@ -212,4 +212,14 @@ public final class DateUtil { return strWeek; } + + public static int getNowyyyyMMddReturnInt() { + DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyyMMdd"); + return Integer.parseInt(LocalDateTime.now().format(formatter2)); + } + public static LocalDate getStringToLocalDate(String p_date) { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); + LocalDate date = LocalDate.parse(p_date, formatter); + return date; + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/VELctrDetailVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/VELctrDetailVO.java index e14a5daa..7df508fd 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/VELctrDetailVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/VELctrDetailVO.java @@ -22,6 +22,10 @@ public class VELctrDetailVO extends ComDefaultVO implements Serializable { private String userNm; //사용자 이름 private String lctrStngOrd; //강의설정순번 + private String lctrStngOrdTtl; // 참여현황 - 총계 + private String lctrStngOrdSbmt; // 참여현황 - 참여 + + private String sunLctrYn; //일요일 강의 여부 private String monLctrYn; //월요일 강의 여부 private String tueLctrYn; //화요일 강의 여부 @@ -120,6 +124,13 @@ public class VELctrDetailVO extends ComDefaultVO implements Serializable { //ve_lctr_rsrch_mng private String rsrchInstrDiv; private String rsrchStrtDt; + + // 조사 상태 + private String rsrchState; + + + + ; private String rsrchEndDt; private String stngYrMnt; //설정년월 @@ -355,6 +366,18 @@ public class VELctrDetailVO extends ComDefaultVO implements Serializable { public String getLctrStngOrd() { return lctrStngOrd; } + public String getLctrStngOrdTtl() { + return lctrStngOrdTtl; + } + public void setLctrStngOrdTtl(String lctrStngOrdTtl) { + this.lctrStngOrdTtl = lctrStngOrdTtl; + } + public String getLctrStngOrdSbmt() { + return lctrStngOrdSbmt; + } + public void setLctrStngOrdSbmt(String lctrStngOrdSbmt) { + this.lctrStngOrdSbmt = lctrStngOrdSbmt; + } public void setLctrStngOrd(String lctrStngOrd) { this.lctrStngOrd = lctrStngOrd; } @@ -571,6 +594,12 @@ public class VELctrDetailVO extends ComDefaultVO implements Serializable { public String getRsrchStrtDt() { return rsrchStrtDt; } + public String getRsrchState() { + return rsrchState; + } + public void setRsrchState(String rsrchState) { + this.rsrchState = rsrchState; + } public void setRsrchStrtDt(String rsrchStrtDt) { this.rsrchStrtDt = rsrchStrtDt; } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/VELctrRsrchMngService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/VELctrRsrchMngService.java index e5a10344..0b22dcdf 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/VELctrRsrchMngService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/VELctrRsrchMngService.java @@ -28,4 +28,8 @@ public interface VELctrRsrchMngService { //조사진행목록 List selectPagingListLctr(VELctrDetailVO paramVO) throws Exception; + // lctrStngOrd 값 가져오기 + // 강의조사 요청목록에 참여현황 데이터 정제를 위함 + List findByLctrStngOrd(String stngYrMnt) throws Exception; + } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/impl/VELctrRsrchMngDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/impl/VELctrRsrchMngDAO.java index d08f408a..70fcd817 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/impl/VELctrRsrchMngDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/impl/VELctrRsrchMngDAO.java @@ -74,4 +74,9 @@ public class VELctrRsrchMngDAO extends EgovAbstractDAO { List tlist = (List) list("VELctrRsrchMngDAO.selectPagingListLctr", paramVO); return tlist; } + + public List findByLctrStngOrd(String stngYrMnt) throws Exception { + List tlist = (List) list("VELctrRsrchMngDAO.findByLctrStngOrd", stngYrMnt); + return tlist; + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/impl/VELctrRsrchMngServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/impl/VELctrRsrchMngServiceImpl.java index e20b5c44..5f5263b8 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/impl/VELctrRsrchMngServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/service/impl/VELctrRsrchMngServiceImpl.java @@ -57,4 +57,8 @@ public class VELctrRsrchMngServiceImpl implements VELctrRsrchMngService { public List selectPagingListLctr(VELctrDetailVO paramVO) throws Exception{ return vELctrRsrchMngDAO.selectPagingListLctr(paramVO); } + + public List findByLctrStngOrd(String stngYrMnt) throws Exception{ + return vELctrRsrchMngDAO.findByLctrStngOrd(stngYrMnt); + } } diff --git a/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/web/OprtnLctrRsrchTngrContoller.java b/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/web/OprtnLctrRsrchTngrContoller.java index 7b8cea0b..af11215a 100644 --- a/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/web/OprtnLctrRsrchTngrContoller.java +++ b/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/web/OprtnLctrRsrchTngrContoller.java @@ -1,11 +1,13 @@ package kcc.ve.oprtn.instr.tngrVisitEdu.lctrRsrch.web; +import java.time.LocalDate; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; @@ -15,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes; +import com.ctc.wstx.util.DataUtil; + import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.cmm.EgovMessageSource; @@ -22,6 +26,7 @@ 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.util.DateUtil; import kcc.com.utl.user.service.CheckAdrProcessUtil; import kcc.com.utl.user.service.CheckFileUtil; import kcc.com.utl.user.service.CheckLoginUtil; @@ -204,6 +209,30 @@ public class OprtnLctrRsrchTngrContoller { //2. pageing step2 vELctrDetailVO = vEPagingUtil.setPagingStep2_VELctrDetailVO(vELctrDetailVO, paginationInfo); List selectVELctrDetailVOList = vELctrRsrchMngService.selectPagingList(vELctrDetailVO); + + LocalDate nowDate = LocalDate.now(); + selectVELctrDetailVOList.stream().forEach(t->{ + try { + List lctrStngOrdList = vELctrRsrchMngService.findByLctrStngOrd(t.getStngYrMnt()); + // 참여현황 총 토탈 카운트 + t.setLctrStngOrdTtl(Integer.toString(lctrStngOrdList.size())); + // 참여현황 참여 카운트 + t.setLctrStngOrdSbmt(Long.toString(lctrStngOrdList.stream().filter(s -> StringUtils.isNotEmpty(s)).count())); + + LocalDate startDate = DateUtil.getStringToLocalDate(t.getRsrchStrtDt()); + LocalDate endDate = DateUtil.getStringToLocalDate(t.getRsrchEndDt()); + + // 진행중 체크 + // 공통 코드 추가 VE0034 01 : 진행전, 02 : 진행중, 03 : 마감 + if(nowDate.isEqual(startDate) || nowDate.isEqual(endDate)) {t.setRsrchState("02");} + else if(nowDate.isBefore(startDate)) {t.setRsrchState("01");} + else if(nowDate.isAfter(endDate)) {t.setRsrchState("03");} + + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + }); //3.pageing step3 diff --git a/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrRsrchMng_SQL_Cubrid.xml b/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrRsrchMng_SQL_Cubrid.xml index 869471b3..6cb1883f 100644 --- a/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrRsrchMng_SQL_Cubrid.xml +++ b/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrRsrchMng_SQL_Cubrid.xml @@ -357,4 +357,65 @@ LIMIT #recordCountPerPage# OFFSET #firstIndex# + + + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/lctrRsrchMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/lctrRsrchMngList.jsp index 275a2cb2..ea82ece9 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/lctrRsrchMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/lctrRsrchMngList.jsp @@ -232,7 +232,8 @@ 강의조사월 조사시작일 조사마감일 - 마감여부 + 참여현황 + 마감여부 @@ -253,9 +254,11 @@ - - - + + ${list.lctrStngOrdSbmt } / ${list.lctrStngOrdTtl } + + +