diff --git a/kcsc-back-end/.gitignore b/kcsc-back-end/.gitignore
index d51ab2f..aacc98f 100644
--- a/kcsc-back-end/.gitignore
+++ b/kcsc-back-end/.gitignore
@@ -38,4 +38,6 @@ out/
**/.idea
-**/.vscode
\ No newline at end of file
+**/.vscode
+
+/kcscDev/kcsc-back-end/src/main/resources/application-local.properties
\ No newline at end of file
diff --git a/kcsc-back-end/build.gradle b/kcsc-back-end/build.gradle
index fbba565..34a1ba0 100644
--- a/kcsc-back-end/build.gradle
+++ b/kcsc-back-end/build.gradle
@@ -90,4 +90,5 @@ dependencies {
implementation 'org.apache.commons:commons-lang3'
+
}
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 e89edf8..b786d74 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
@@ -2,68 +2,31 @@ package com.dbnt.kcscbackend.admin.committee.schedules.controller;
+import com.dbnt.kcscbackend.admin.committee.schedules.model.CreateScheduleVO;
import com.dbnt.kcscbackend.admin.committee.schedules.service.EgovIndvdlSchdulManageService;
import com.dbnt.kcscbackend.config.common.ResultVO;
+import io.swagger.annotations.Api;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
import java.util.*;
-/**
- * 일정관리를 처리하는 Controller Class 구현
- * @since 2009.04.10
- * @see
- *
- * << 개정이력(Modification Information) >>
- * 수정일 수정자 수정내용
- * ------- -------- ---------------------------
- * 2009.04.10 장동한 최초 생성
- * 2011.05.31 JJY 경량환경 커스터마이징버전 생성
- *
- * @author 조재영
- * @version 1.0
- * @created 09-6-2011 오전 10:08:04
- */
+
+@Api("SchedulesApiController")
@RestController
-@Tag(name="SchedulesApiController",description = "일정관리")
+@Tag(name="SchedulesApiController",description = "일정 관리")
public class SchedulesApiController {
@Resource(name = "egovIndvdlSchdulManageService")
private EgovIndvdlSchdulManageService egovIndvdlSchdulManageService;
-
-
-
-
- /**
- * 0을 붙여 반환
- * @return String
- * @throws
- */
- public String DateTypeIntForString(int iInput) {
- String sOutput = "";
- if (Integer.toString(iInput).length() == 1) {
- sOutput = "0" + Integer.toString(iInput);
- } else {
- sOutput = Integer.toString(iInput);
- }
-
- return sOutput;
- }
-
-
-
- /**
- * 관리자 단에서 '위원회 관리' > '위원회 일정 관리'에 '등록' 버튼을 누른 후 '위원회 일정 등록' 페이지 로딩 시, 필요한 데이터 불러 오는 API
- * @param commandMap
- * @return resultVO
- * @throws Exception
- */
@Operation(
summary = "'위원회 일정 등록' 페이지 로딩 시, 필요한 데이터 불러 오는 API",
description = "관리자 단에서 '위원회 관리' > '위원회 일정 관리'에 '등록' 버튼을 누른 후 '위원회 일정 등록' 페이지 로딩 시, 필요한 데이터 불러 오는 API",
@@ -74,18 +37,12 @@ public class SchedulesApiController {
@ApiResponse(responseCode = "403", description = "인가된 사용자가 아님")
})
@GetMapping(value = "/schedule/init")
- public ResultVO ScheduleInit(@RequestParam Map commandMap) throws Exception {
+ public ResultVO scheduleInit(@RequestParam Map commandMap) throws Exception {
ResultVO resultVO = new ResultVO();
- return egovIndvdlSchdulManageService.ScheduleInit(resultVO);
+ return egovIndvdlSchdulManageService.scheduleInit(resultVO);
}
- /**
- * '위원회 일정 등록' 페이지에서 심의위원회 첫 번째 거 선택 시, 하위 목록 불러오는 API
- * @param paramCodeGroup 상위 그룹 번호
- * @return
- * @throws Exception
- */
@Operation(
summary = "'위원회 일정 등록' 페이지에서 심의위원회 첫 번째 거 선택 시, 하위 목록 불러오는 API",
description = "관리자 단에서 '위원회 관리' > '위원회 일정 관리'에 '등록' 버튼을 누른 후 '위원회 일정 등록' 페이지에서 심의위원회 첫 번째 거 선택 시, 하위 목록 불러오는 API",
@@ -96,9 +53,43 @@ public class SchedulesApiController {
@ApiResponse(responseCode = "403", description = "인가된 사용자가 아님")
})
@GetMapping(value = "/schedule/api/org-api/depth/list")
- public ResultVO ScheduleApiOrgApiDepthList(@RequestParam Integer paramCodeGroup) throws Exception {
+ public ResultVO scheduleApiOrgApiDepthList(@RequestParam Long paramCodeGroup) throws Exception {
ResultVO resultVO = new ResultVO();
- return egovIndvdlSchdulManageService.ScheduleApiOrgApiDepthList(resultVO, paramCodeGroup);
+ return egovIndvdlSchdulManageService.scheduleApiOrgApiDepthList(resultVO, paramCodeGroup);
+ }
+
+ @Operation(
+ summary = "'위원회 일정 등록' 페이지에서 일정 등록하는 API",
+ description = "관리자 단에서 '위원회 관리' > '위원회 일정 관리'에 '등록' 버튼을 누른 후 '위원회 일정 등록' 페이지에서 일정 등록하는 API",
+ tags = {"SchedulesApiController"}
+ )
+ @ApiResponses(value = {
+ @ApiResponse(responseCode = "200", description = "등록 성공"),
+ @ApiResponse(responseCode = "403", description = "인가된 사용자가 아님")
+ })
+ @PostMapping(value = "/schedule")
+ public ResultVO createSchedule(HttpServletRequest request, CreateScheduleVO createScheduleVO) throws Exception {
+
+ ResultVO resultVO = new ResultVO();
+
+ try {
+ resultVO = egovIndvdlSchdulManageService.createSchedule(resultVO, request, createScheduleVO);
+ } 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;
}
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/model/CreateScheduleVO.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/model/CreateScheduleVO.java
new file mode 100644
index 0000000..6221e50
--- /dev/null
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/committee/schedules/model/CreateScheduleVO.java
@@ -0,0 +1,39 @@
+package com.dbnt.kcscbackend.admin.committee.schedules.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.*;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@ApiModel(value = "createScheduleVO", description =
+ "관리자 단에서 '위원회 관리' > '위원회 일정 관리'에 '등록' 버튼을 누른 후 '위원회 일정 등록' 페이지에서 일정 등록하는 API에 사용된다." + ""
+)
+@RequiredArgsConstructor
+@Getter
+@Setter
+@ToString
+public class CreateScheduleVO implements Serializable {
+
+ private static final long serialVersionUID = 6544623713351174876L;
+
+ @ApiModelProperty(value = "eventId")
+ private Integer eventId;
+ @ApiModelProperty(value = "startDate")
+ private String startDate;
+ @ApiModelProperty(value = "endDate")
+ private String endDate;
+ @ApiModelProperty(value = "title")
+ private String title;
+ @ApiModelProperty(value = "contents")
+ private String contents;
+ @ApiModelProperty(value = "location")
+ private String location;
+ @ApiModelProperty(value = "divMeet")
+ private String divMeet;
+ @ApiModelProperty(value = "upCommittee")
+ private Integer upCommittee;
+ @ApiModelProperty(value = "committee")
+ private Integer committee;
+}
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 82c4ef9..3338407 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
@@ -1,7 +1,12 @@
package com.dbnt.kcscbackend.admin.committee.schedules.service;
+import com.dbnt.kcscbackend.admin.committee.schedules.model.CreateScheduleVO;
import com.dbnt.kcscbackend.config.common.ResultVO;
+import org.springframework.web.bind.annotation.RequestBody;
+import springfox.documentation.annotations.ApiIgnore;
+
+import javax.servlet.http.HttpServletRequest;
/**
* 일정관리를 처리하는 서비스인터페이스 클래스
@@ -22,8 +27,10 @@ public interface EgovIndvdlSchdulManageService {
- public ResultVO ScheduleInit(ResultVO resultVO) throws Exception;
+ public ResultVO scheduleInit(ResultVO resultVO) throws Exception;
- public ResultVO ScheduleApiOrgApiDepthList(ResultVO resultVO, Integer paramCodeGroup) throws Exception;
+ public ResultVO scheduleApiOrgApiDepthList(ResultVO resultVO, Long paramCodeGroup) throws Exception;
+
+ public ResultVO createSchedule(ResultVO resultVO, HttpServletRequest request, CreateScheduleVO createScheduleVO) 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 4c1cd5b..014dc87 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
@@ -1,18 +1,28 @@
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.admin.config.repository.TcCodeItemRepository;
+import com.dbnt.kcscbackend.admin.config.repository.TnCmtEventRepository;
import com.dbnt.kcscbackend.admin.config.repository.TnCmtOrgRepository;
import com.dbnt.kcscbackend.config.common.ResultVO;
import lombok.RequiredArgsConstructor;
+import org.apache.tomcat.util.json.JSONParser;
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
+import org.springframework.boot.configurationprocessor.json.JSONObject;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import java.sql.Timestamp;
+import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -36,9 +46,12 @@ public class EgovIndvdlSchdulManageServiceImpl extends EgovAbstractServiceImpl i
private final TcCodeItemRepository tcCodeItemRepository;
private final TnCmtOrgRepository tnCmtOrgRepository;
+ private final TnCmtEventRepository tnCmtEventRepository;
+
+
@Override
- public ResultVO ScheduleInit(ResultVO resultVO) throws Exception {
+ public ResultVO scheduleInit(ResultVO resultVO) throws Exception {
Map resultMap = new HashMap();
@@ -52,7 +65,7 @@ public class EgovIndvdlSchdulManageServiceImpl extends EgovAbstractServiceImpl i
})
.collect(Collectors.toList());
- List