diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/committee/Schedules.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/committee/Schedules.jsx
index edc6db1..584340b 100644
--- a/egovframe-template-simple-react-contribution/src/pages/admin/committee/Schedules.jsx
+++ b/egovframe-template-simple-react-contribution/src/pages/admin/committee/Schedules.jsx
@@ -19,7 +19,7 @@ function Schedules(props) {
const DATE = new Date();
//const TODAY = new Date(DATE.getFullYear(), DATE.getMonth(), DATE.getDate());
- const TODAY = new Date(DATE.getFullYear(), 1, DATE.getDate());
+ const TODAY = new Date(2023, 2, DATE.getDate());
const [searchCondition, setSearchCondition] = useState(location.state?.searchCondition || { schdulSe: '', year: TODAY.getFullYear(), month: TODAY.getMonth(), date: TODAY.getDate() });
const [calendarTag, setCalendarTag] = useState([]);
@@ -150,24 +150,47 @@ function Schedules(props) {
week.map((day, dayIdx) => {
if (day !== 0) {//당월 일별 구현
let sDate = day.toString().length === 1 ? "0" + day.toString() : day.toString();
- let iUseDate = Number(mutsUseYearMonth + sDate);
- if (scheduleList.length > 0 || sDate === "01") {//일정 있는 경우
+ let iUseDate = Number(mutsUseYearMonth + sDate);
+ if (scheduleList.length > 0) {//일정 있는 경우
return (
- {day}
+ {day}
{
-
- 오후 03:00 [P] 해양경찰청
- 오후 05:00 [P] 미팅...
-
-
+ scheduleList.map((schedule, scheduleIdx) => {
+ let test = schedule.evt_start_dt.replace('-','');
+ console.log( test );
+ let iBeginDate = Number(schedule.evt_start_dt.replace('-','').substring(0, 8));
+ let iEndDate = Number(schedule.evt_end_dt.replace('-','').substring(0, 8));
+
+ /*
+ let iBeginDate = Number(schedule.schdulBgnde.substring(0, 8));
+ let iEndDate = Number(schedule.schdulEndde.substring(0, 8));
+ innerConsole("scheduleList ", day, scheduleIdx, iBeginDate, iUseDate, iEndDate, iUseDate >= iBeginDate && iUseDate <= iEndDate);
+ innerConsole("schedule.schdulId ", schedule.schdulId);
+ if (iUseDate >= iBeginDate && iUseDate <= iEndDate) {
+ return (
+ <>
+ {schedule.schdulNm}
+
+
+ >
+ );
+ } else return <>>
+ */
+
+ return <>>
+ })
}
|
);
} else {//일정 없는 경우
return (
- {day}
+ {day}
| );
}
} else if (day === 0) {// 이전달/다음달 구현
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/controller/SchedulesApiController.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/controller/SchedulesApiController.java
index a4fa7bd..aa970aa 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/controller/SchedulesApiController.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/controller/SchedulesApiController.java
@@ -136,5 +136,52 @@ public class SchedulesApiController {
+ /**
+ * 일정(월별) 목록을 조회한다.
+ * @param request
+ * @param commandMap
+ * @return resultVO
+ * @throws Exception
+ */
+ @Operation(
+ summary = "월별 일정 조회",
+ description = "일정(월별) 목록을 조회",
+ tags = {"EgovIndvdlSchdulManageApiController"}
+ )
+ @ApiResponses(value = {
+ @ApiResponse(responseCode = "200", description = "조회 성공"),
+ @ApiResponse(responseCode = "403", description = "인가된 사용자가 아님")
+ })
+ @GetMapping(value = "/schedule/month")
+ public ResultVO scheduleMonth(@AuthenticationPrincipal LoginVO user,
+ HttpServletRequest request,
+ @RequestParam Map commandMap) throws Exception {
+
+
+ ResultVO resultVO = new ResultVO();
+
+ try {
+ resultVO = egovIndvdlSchdulManageService.scheduleMonth(resultVO, request, user, commandMap);
+ } catch (Exception e) {
+ resultVO.setResultCode(-1);
+ resultVO.setResultMessage(e.getMessage());
+ }
+
+
+ System.out.println(
+ "\n--------------------------------------------------------------\n" +
+ request.getRequestURI() + " OUT:" +
+ "\n--------------------------------------------------------------\n" +
+ "resultVO.toString():" + "\n" +
+ resultVO.toString() + "\n" +
+ "\n--------------------------------------------------------------\n"
+ );
+
+ return resultVO;
+
+ }
+
+
+
}
\ No newline at end of file
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/service/EgovIndvdlSchdulManageService.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/service/EgovIndvdlSchdulManageService.java
index 8715cbc..8790a63 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/service/EgovIndvdlSchdulManageService.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/service/EgovIndvdlSchdulManageService.java
@@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
/**
* 일정관리를 처리하는 서비스인터페이스 클래스
@@ -36,5 +37,8 @@ public interface EgovIndvdlSchdulManageService {
public ResultVO scheduleDetail(ResultVO resultVO, HttpServletRequest request, LoginVO user, Long scheduleId) throws Exception;
+ public ResultVO scheduleMonth(ResultVO resultVO, HttpServletRequest request, LoginVO user, Map scheduleId) throws Exception;
+
+
}
\ No newline at end of file
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/service/impl/EgovIndvdlSchdulManageServiceImpl.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/service/impl/EgovIndvdlSchdulManageServiceImpl.java
index 902b9a0..77f14fa 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/service/impl/EgovIndvdlSchdulManageServiceImpl.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/service/impl/EgovIndvdlSchdulManageServiceImpl.java
@@ -4,7 +4,9 @@ package com.dbnt.kcscbackend.admin.committee.schedules.service.impl;
import com.dbnt.kcscbackend.admin.committee.schedules.model.CreateScheduleVO;
import com.dbnt.kcscbackend.admin.committee.schedules.service.EgovIndvdlSchdulManageService;
import com.dbnt.kcscbackend.auth.entity.LoginVO;
+import com.dbnt.kcscbackend.commonCode.entity.TcCodeItem;
import com.dbnt.kcscbackend.commonCode.entity.TnCmtEvent;
+import com.dbnt.kcscbackend.commonCode.entity.TnCmtOrg;
import com.dbnt.kcscbackend.config.common.ResponseCode;
import com.dbnt.kcscbackend.commonCode.repository.TcCodeItemRepository;
import com.dbnt.kcscbackend.commonCode.repository.TnCmtEventRepository;
@@ -150,12 +152,12 @@ public class EgovIndvdlSchdulManageServiceImpl extends EgovAbstractServiceImpl i
public ResultVO scheduleDetail(ResultVO resultVO, HttpServletRequest request, LoginVO user, Long scheduleId) throws Exception {
System.out.println(
- "\n--------------------------------------------------------------\n" +
- request.getRequestURI() + " IN:" +
- "\n--------------------------------------------------------------\n" +
- "scheduleId:" + "\n" +
- scheduleId + "\n" +
- "\n--------------------------------------------------------------\n"
+ "\n--------------------------------------------------------------\n" +
+ request.getRequestURI() + " IN:" +
+ "\n--------------------------------------------------------------\n" +
+ "scheduleId:" + "\n" +
+ scheduleId + "\n" +
+ "\n--------------------------------------------------------------\n"
);
@@ -167,16 +169,21 @@ public class EgovIndvdlSchdulManageServiceImpl extends EgovAbstractServiceImpl i
TnCmtEvent tnCmtEvent = tnCmtEventRepository.findByEvtSeq(scheduleId);
+ TcCodeItem tcCodeItem = tcCodeItemRepository.findByItemCdAndUseYn(tnCmtEvent.getEvtType(), "Y");
+
+ TnCmtOrg tnCmtOrgForUpCommitteeNm = tnCmtOrgRepository.findByUseYnAndCmtSeq("Y", tnCmtEvent.getUpCmtSeq());
+ TnCmtOrg tnCmtOrgForCommitteeNm = tnCmtOrgRepository.findByUseYnAndCmtSeq("Y", tnCmtEvent.getCmtSeq());
+
Map dto = new HashMap();
- dto.put("evtSeq", tnCmtEvent.getEvtSeq()); // sequence
- dto.put("divMeet", tnCmtEvent.getEvtType()); // 구분
- dto.put("upCommittee", tnCmtEvent.getUpCmtSeq()); // 심의위원회 상위 코드 번호
- dto.put("committee", tnCmtEvent.getCmtSeq()); // 심의위원회 하위 코드 번호
- dto.put("title", tnCmtEvent.getEvtTitle()); // 제목
- dto.put("location", tnCmtEvent.getEvtLocation()); // 장소
- dto.put("contents", tnCmtEvent.getEvtContents()); // 내용
- dto.put("startDate", tnCmtEvent.getEvtStartDt()); // 날짜/시간의 시작 일시
- dto.put("endDate", tnCmtEvent.getEvtEndDt()); // 날짜/시간의 종료 일시
+ dto.put("evtSeq", tnCmtEvent.getEvtSeq()); // sequence
+ dto.put("divMeetNm", tcCodeItem.getItemNm()); // 구분
+ dto.put("upCommitteeNm", tnCmtOrgForUpCommitteeNm.getCmtNm()); // 심의위원회 상위 이름
+ dto.put("committeeNm", tnCmtOrgForCommitteeNm.getCmtNm()); // 심의위원회 하위 이름
+ dto.put("title", tnCmtEvent.getEvtTitle()); // 제목
+ dto.put("location", tnCmtEvent.getEvtLocation()); // 장소
+ dto.put("contents", tnCmtEvent.getEvtContents()); // 내용
+ dto.put("startDate", tnCmtEvent.getEvtStartDt()); // 날짜/시간의 시작 일시
+ dto.put("endDate", tnCmtEvent.getEvtEndDt()); // 날짜/시간의 종료 일시
// 문자열로 리턴하도록 수정해야 함.
@@ -190,6 +197,67 @@ public class EgovIndvdlSchdulManageServiceImpl extends EgovAbstractServiceImpl i
}
+ @Override
+ public ResultVO scheduleMonth(ResultVO resultVO, HttpServletRequest request, LoginVO user, Map commandMap) throws Exception {
+
+ System.out.println(
+ "\n--------------------------------------------------------------\n" +
+ request.getRequestURI() + " IN:" +
+ "\n--------------------------------------------------------------\n" +
+ "String.valueOf(commandMap.get(\"year\")):" + "\n" +
+ String.valueOf(commandMap.get("year")) + "\n" +
+ "String.valueOf(commandMap.get(\"month\")):" + "\n" +
+ String.valueOf(commandMap.get("month")) + "\n" +
+ "\n--------------------------------------------------------------\n"
+ );
+
+ Map dto = new HashMap();
+
+ //일정구분 검색 유지
+ dto.put("searchKeyword",
+ commandMap.get("searchKeyword") == null ? "" : (String)commandMap.get("searchKeyword"));
+ dto.put("searchCondition",
+ commandMap.get("searchCondition") == null ? "" : (String)commandMap.get("searchCondition"));
+
+ Calendar cal = Calendar.getInstance();
+
+ String sYear = String.valueOf(commandMap.get("year")); // 예 "2024"
+ String sMonth = String.valueOf(commandMap.get("month")); // 예 "2" zeo-base. 0= 1월, 1=2월, 2=3월. 즉 "2"라면 3월
+
+ int iYear = cal.get(Calendar.YEAR);
+ int iMonth = cal.get(Calendar.MONTH);
+ //int iDate = cal.get(java.util.Calendar.DATE);
+
+ //검색 설정
+ String sSearchDate = "";
+ if (sYear == null || sMonth == null) {
+ sSearchDate += Integer.toString(iYear);
+ sSearchDate += Integer.toString(iMonth + 1).length() == 1 ? "0" + Integer.toString(iMonth + 1)
+ : Integer.toString(iMonth + 1);
+ } else {
+ iYear = Integer.parseInt(sYear);
+ iMonth = Integer.parseInt(sMonth);
+ sSearchDate += sYear;
+ sSearchDate += Integer.toString(iMonth + 1).length() == 1 ? "0" + Integer.toString(iMonth + 1)
+ : Integer.toString(iMonth + 1);
+ }
+
+ // sSearchDate는 검색할 월. 예 202403
+ commandMap.put("searchMonth", sSearchDate);
+ commandMap.put("searchMode", "MONTH");
+
+ dto.put("prevRequest", commandMap);
+ dto.put("resultList", tnCmtEventRepository.getByYyyyMm(sSearchDate));
+
+ resultVO.setResult(dto);
+
+ resultVO.setResultCode(ResponseCode.SUCCESS.getCode());
+ resultVO.setResultMessage(ResponseCode.SUCCESS.getMessage());
+
+ return resultVO;
+ }
+
+
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TcCodeItemRepository.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TcCodeItemRepository.java
index e5d507c..2266f5f 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TcCodeItemRepository.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TcCodeItemRepository.java
@@ -7,4 +7,5 @@ import java.util.List;
public interface TcCodeItemRepository extends JpaRepository {
List findByGrpCdAndUseYnOrderByGrpOrder(String grpCd, String useYn);
+ TcCodeItem findByItemCdAndUseYn(String itemCd, String useYn);
}
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtEventRepository.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtEventRepository.java
index 5a0fab3..7e29883 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtEventRepository.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtEventRepository.java
@@ -18,28 +18,6 @@ import java.util.Map;
public interface TnCmtEventRepository extends JpaRepository {
- @Transactional
- @Modifying
- @Query(value = "SET datestyle TO ISO, MDY", nativeQuery = true)
- int setDateStyle();
-
- @Procedure
- int sp_add_tn_cmt_event(
- @Param("_evt_type") String evtType,
- @Param("_up_cmt_seq") Integer upCmtSeq,
- @Param("_cmt_seq") Integer cmtSeq,
- @Param("_evt_title") String evtTitle,
- @Param("_evt_location") String evtLocation,
- @Param("_evt_contents") String evtContents,
- @Param("_evt_start_dt") Date evtStartDt,
- @Param("_evt_end_dt") Date evtEndDt,
- @Param("_modi_id") String modiId,
- @Param("_evt_seq") Integer _evt_seq,
- @Param("_result_count") Integer _result_count,
- @Param("_result_code") String _result_code,
- @Param("_error_message") String _error_message
- );
-
@Query(value = "CALL sp_add_tn_cmt_event (" +
":_evt_type, " +
":_up_cmt_seq, " +
@@ -84,16 +62,31 @@ public interface TnCmtEventRepository extends JpaRepository> getByYyyyMm(
+ @Param("sSearchDate") String sSearchDate
+ );
+
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtOrgRepository.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtOrgRepository.java
index 7c2d6c8..2e1f4c7 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtOrgRepository.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtOrgRepository.java
@@ -7,5 +7,6 @@ import java.util.List;
public interface TnCmtOrgRepository extends JpaRepository {
List findByUseYnAndUpCmtSeqOrderByCmtOrder(String useYn, Long upCmtSeq);
+ TnCmtOrg findByUseYnAndCmtSeq(String useYn, Long cmtSeq);
}
diff --git a/kcsc-back-end/src/main/resources/application-local.properties b/kcsc-back-end/src/main/resources/application-local.properties
index ffcfe5b..e8d6360 100644
--- a/kcsc-back-end/src/main/resources/application-local.properties
+++ b/kcsc-back-end/src/main/resources/application-local.properties
@@ -13,8 +13,8 @@ spring.datasource.hikari.maximum-pool-size=4
#spring.datasource.username=kcsc
#spring.datasource.password=dbnt0928!
spring.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
-#spring.datasource.url=jdbc:log4jdbc:postgresql://127.0.0.1:5432/kcsc
-spring.datasource.url=jdbc:log4jdbc:postgresql://118.219.150.34:50503/kcsc
+spring.datasource.url=jdbc:log4jdbc:postgresql://127.0.0.1:5432/kcsc
+#spring.datasource.url=jdbc:log4jdbc:postgresql://118.219.150.34:50503/kcsc
spring.datasource.username=dbnt0031
spring.datasource.password=dbnt0928!