diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/committee/Schedules/Edit.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/committee/Schedules/Edit.jsx index 8ebf408..25939fc 100644 --- a/egovframe-template-simple-react-contribution/src/pages/admin/committee/Schedules/Edit.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/admin/committee/Schedules/Edit.jsx @@ -64,7 +64,10 @@ function SchedulesEdit(props) { //${location.state?.schdulId const getDateFourteenDigit = (date) => { - return `${getYYYY_MM_DD(date).toString()} ${makeTwoDigit(date.getHours())}:${makeTwoDigit(date.getMinutes())}:${makeTwoDigit(date.getSeconds())}`; + return `${getYYYYMMDD(date).toString()}${makeTwoDigit(date.getHours())}${makeTwoDigit(date.getMinutes())}${makeTwoDigit(date.getSeconds())}`; + } + const getYYYYMMDD = (date) => { + return date.getFullYear().toString() + makeTwoDigit(Number(date.getMonth() + 1)) + makeTwoDigit(date.getDate()); } const getYYYY_MM_DD = (date) => { return `${date.getFullYear().toString()}-${makeTwoDigit(Number(date.getMonth() + 1))}-${makeTwoDigit(date.getDate())}`; @@ -249,14 +252,11 @@ function SchedulesEdit(props) { if (formData.get('contents') === null ||formData.get('contents') === "") { alert("내용을 입력해 주세요."); return false; - } - - /* - if (formData.get('contents') > formData.get('schdulEndde')) { + } + if (formData.get('schdulBgnde') > formData.get('schdulEndde')) { alert("종료일시는 시작일시보다 앞 설 수 없습니다."); - return false; + //return false; } - */ return true; } @@ -285,6 +285,31 @@ function SchedulesEdit(props) { }, [scheduleDetail && scheduleDetail.upCommittee]); + const onClickDeleteSchedule = (schdulId) => { + const deleteBoardURL = `/schedule/${schdulId}`; + + const requestOptions = { + method: "DELETE", + headers: { + 'Content-type': 'application/json', + } + } + + EgovNet.requestFetch(deleteBoardURL, + requestOptions, + (resp) => { + console.log("====>>> Schdule delete= ", resp); + if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) { + alert("게시글이 삭제되었습니다.") + navigate(URL.ADMIN__COMMITTEE__SCHEDULES ,{ replace: true }); + } else { + navigate({pathname: URL.ERROR}, {state: {msg : resp.resultMessage}}); + } + + } + ); + } + console.log("------------------------------EgovAdminScheduleEdit [End]"); console.groupEnd("EgovAdminScheduleEdit"); return ( @@ -389,7 +414,7 @@ function SchedulesEdit(props) { showTimeInput onChange={(date) => { console.log("setStartDate : ", date); - setScheduleDetail({ ...scheduleDetail, startDate: date }); + setScheduleDetail({ ...scheduleDetail, schdulBgnde: getDateFourteenDigit(date), schdulBgndeYYYMMDD: getYYYYMMDD(date), schdulBgndeHH: date.getHours(), schdulBgndeMM: date.getMinutes(), startDate: date }); setSchdulBgndeHH(date.getHours()); setSchdulBgndeMM(date.getMinutes()); }} /> @@ -407,7 +432,7 @@ function SchedulesEdit(props) { minDate={scheduleDetail.startDate} onChange={(date) => { console.log("setEndDate: ", date); - setScheduleDetail({ ...scheduleDetail, endDate: date }); + setScheduleDetail({ ...scheduleDetail, schdulEndde: getDateFourteenDigit(date), schdulEnddeYYYMMDD: getYYYYMMDD(date), schdulEnddeHH: date.getHours(), schdulEnddeMM: date.getMinutes(), endDate: date }); setSchdulEnddeHH(date.getHours()); setSchdulEnddeMM(date.getMinutes()); } @@ -433,7 +458,13 @@ function SchedulesEdit(props) { - 삭제 + {modeInfo.mode === CODE.MODE_MODIFY && + + } +
diff --git a/egovframe-template-simple-react-contribution/src/pages/main/EgovMain.jsx b/egovframe-template-simple-react-contribution/src/pages/main/EgovMain.jsx index b923ebd..2f80d88 100644 --- a/egovframe-template-simple-react-contribution/src/pages/main/EgovMain.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/main/EgovMain.jsx @@ -129,81 +129,81 @@ function EgovMain(props) {
-
-
- -
-
-

공지사항

-
    - {noticeListTag} -
- 더보기 -
+ {/*
*/} + {/*
*/} + {/* */} + {/*
*/} + {/*
*/} + {/*

공지사항

*/} + {/*
    */} + {/* {noticeListTag}*/} + {/*
*/} + {/* 더보기*/} + {/*
*/} -
-

갤러리

-
    - {gallaryListTag} -
- 더보기 -
-
-
+ {/*
*/} + {/*

갤러리

*/} + {/*
    */} + {/* {gallaryListTag}*/} + {/*
*/} + {/* 더보기*/} + {/*
*/} + {/*
*/} + {/*
*/} -
- - 자료실 - 다양한 자료를
다운로드 받으실 수 있습니다.
- - - 국가건설기준센터 - 국가건설기준센터의
약도 등의 정보를 제공합니다.
- -
-
+ {/*
*/} + {/* */} + {/* 자료실*/} + {/* 다양한 자료를
다운로드 받으실 수 있습니다.
*/} + {/* */} + {/* */} + {/* 국가건설기준센터*/} + {/* 국가건설기준센터의
약도 등의 정보를 제공합니다.
*/} + {/* */} + {/*
*/} + {/*
*/} -
-
-
-

주요사업 소개

-

국가건설기준센터가 제공하는
- 주요 사업을 소개합니다.

-
- 자세히 보기 -
-
-
-

대표서비스 소개

-

국가건설기준센터 실행환경의
- 서비스 그룹에서 제공하는
- 대표서비스입니다.

-
- 자세히 보기 -
-
-
-

서비스 신청

-

국가건설기준센터 경량환경
- 홈페이지의 다양한 서비스를
- 신청 하실 수 있습니다.

-
- 자세히 보기 -
-
-
-

일정 현황

-

국가건설기준센터 경량환경
- 홈페이지의 전체적인 일정
- 현황을 조회하실 수 있습니다.

-
- 자세히 보기 -
-
+ {/*
*/} + {/*
*/} + {/*
*/} + {/*

주요사업 소개

*/} + {/*

국가건설기준센터가 제공하는
*/} + {/* 주요 사업을 소개합니다.

*/} + {/*
*/} + {/* 자세히 보기*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/*

대표서비스 소개

*/} + {/*

국가건설기준센터 실행환경의
*/} + {/* 서비스 그룹에서 제공하는
*/} + {/* 대표서비스입니다.

*/} + {/*
*/} + {/* 자세히 보기*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/*

서비스 신청

*/} + {/*

국가건설기준센터 경량환경
*/} + {/* 홈페이지의 다양한 서비스를
*/} + {/* 신청 하실 수 있습니다.

*/} + {/*
*/} + {/* 자세히 보기*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/*

일정 현황

*/} + {/*

국가건설기준센터 경량환경
*/} + {/* 홈페이지의 전체적인 일정
*/} + {/* 현황을 조회하실 수 있습니다.

*/} + {/*
*/} + {/* 자세히 보기*/} + {/*
*/} + {/*
*/} 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 d53336d..fc43ef9 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 @@ -79,7 +79,7 @@ public class SchedulesApiController { try { resultVO = egovIndvdlSchdulManageService.createSchedule(resultVO, request, createScheduleVO); } catch (Exception e) { - resultVO.setResultCode(-1); + resultVO.setResultCode(ResponseCode.FAILED.getCode()); resultVO.setResultMessage(e.getMessage()); } @@ -119,7 +119,47 @@ public class SchedulesApiController { try { resultVO = egovIndvdlSchdulManageService.updateSchedule(resultVO, request, updateScheduleVO); } catch (Exception e) { - resultVO.setResultCode(-1); + resultVO.setResultCode(ResponseCode.FAILED.getCode()); + resultVO.setResultMessage(e.getMessage()); + } + + + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " OUT:" + + "\n--------------------------------------------------------------\n" + + "resultVO.toString():" + "\n" + + resultVO.toString() + "\n" + + "\n--------------------------------------------------------------\n" + ); + + return resultVO; + } + + + @Operation( + summary = "'위원회 일정 등록' 페이지에서 일정 삭제하는 API", + description = "관리자 단에서 '위원회 관리' > '위원회 일정 관리'에서 특정 일정을 삭제하는 API", + tags = {"SchedulesApiController"} + ) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "등록 성공"), + @ApiResponse(responseCode = "403", description = "인가된 사용자가 아님") + }) + @DeleteMapping(value = "/schedule/{scheduleId}") + public ResultVO deleteSchedule + ( + @AuthenticationPrincipal LoginVO user, + HttpServletRequest request, + @PathVariable("scheduleId") String schdulId + ) throws Exception { + + ResultVO resultVO = new ResultVO(); + Long test = Long.valueOf(schdulId); + try { + resultVO = egovIndvdlSchdulManageService.deleteSchedule(resultVO, request, test); + } catch (Exception e) { + resultVO.setResultCode(ResponseCode.FAILED.getCode()); resultVO.setResultMessage(e.getMessage()); } @@ -158,7 +198,7 @@ public class SchedulesApiController { try { resultVO = egovIndvdlSchdulManageService.scheduleDetail(resultVO, request, user, scheduleId); } catch (Exception e) { - resultVO.setResultCode(-1); + resultVO.setResultCode(ResponseCode.FAILED.getCode()); resultVO.setResultMessage(e.getMessage()); } @@ -204,7 +244,7 @@ public class SchedulesApiController { try { resultVO = egovIndvdlSchdulManageService.scheduleMonth(resultVO, request, user, commandMap); } catch (Exception e) { - resultVO.setResultCode(-1); + resultVO.setResultCode(ResponseCode.FAILED.getCode()); resultVO.setResultMessage(e.getMessage()); } 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 62e6154..27fc70b 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 @@ -36,6 +36,8 @@ public interface EgovIndvdlSchdulManageService { public ResultVO createSchedule(ResultVO resultVO, HttpServletRequest request, CreateScheduleVO createScheduleVO) throws Exception; public ResultVO updateSchedule(ResultVO resultVO, HttpServletRequest request, UpdateScheduleVO updateScheduleVO) throws Exception; + public ResultVO deleteSchedule(ResultVO resultVO, HttpServletRequest request, Long scheduleId) throws Exception; + public ResultVO scheduleDetail(ResultVO resultVO, HttpServletRequest request, LoginVO user, Long scheduleId) throws Exception; 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 6816849..6615139 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 @@ -122,6 +122,11 @@ public class EgovIndvdlSchdulManageServiceImpl extends EgovAbstractServiceImpl i "\n--------------------------------------------------------------\n" ); + // 유효성 검사 실시 + if( Long.parseLong(createScheduleVO.getStartDate()) > Long.parseLong(createScheduleVO.getEndDate()) ) { + throw new Exception("종료일시는 시작일시보다 앞 설 수 없습니다."); + } + Map response = tnCmtEventRepository.spAddTnCmtEvent( createScheduleVO.getDivMeet(), // 구분 @@ -162,12 +167,22 @@ public class EgovIndvdlSchdulManageServiceImpl extends EgovAbstractServiceImpl i "\n--------------------------------------------------------------\n" ); + // 유효성 검사 실시 + int isValid = tnCmtEventRepository.sp_is_valid_tn_cmt_event_id( updateScheduleVO.getEvtSeq() ); + + if( isValid == 0 ) { + throw new Exception("대상이 존재하지 않습니다."); + } + + if( Long.parseLong(updateScheduleVO.getStartDate()) > Long.parseLong(updateScheduleVO.getEndDate()) ) { + throw new Exception("종료일시는 시작일시보다 앞 설 수 없습니다."); + } Map response = tnCmtEventRepository.spUpdateTnCmtEvent( - updateScheduleVO.getEvtSeq().intValue(), + updateScheduleVO.getEvtSeq(), updateScheduleVO.getDivMeet(), // 구분 - updateScheduleVO.getUpCommittee().intValue(), // 심의위원회 상위 코드 번호 - updateScheduleVO.getCommittee().intValue(), // 심의위원회 하위 코드 번호 + updateScheduleVO.getUpCommittee(), // 심의위원회 상위 코드 번호 + updateScheduleVO.getCommittee(), // 심의위원회 하위 코드 번호 updateScheduleVO.getTitle(), // 제목 updateScheduleVO.getLocation(), // 장소 updateScheduleVO.getContents(), // 내용 @@ -190,6 +205,38 @@ public class EgovIndvdlSchdulManageServiceImpl extends EgovAbstractServiceImpl i return resultVO; } + @Override + public ResultVO deleteSchedule(ResultVO resultVO, HttpServletRequest request, Long scheduleId) throws Exception { + + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " IN:" + + "\n--------------------------------------------------------------\n" + + "scheduleId:" + "\n" + + scheduleId + "\n" + + "\n--------------------------------------------------------------\n" + ); + + + Map response = tnCmtEventRepository.spDeleteTnCmtEvent( + scheduleId.intValue(), + "admin", + null, + null, + null + ); + + Map dto = new HashMap(); + dto.put("errorMessage", response.get("_error_message") ); + dto.put("schdulId", scheduleId ); + + 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/TnCmtEventRepository.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtEventRepository.java index 7b00a47..4c97345 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 @@ -27,11 +27,11 @@ public interface TnCmtEventRepository extends JpaRepository spDeleteTnCmtEvent( + @Param("_evt_seq") Integer evtSeq, + @Param("_modi_id") String modiId, + @Param("_result_count") Integer resultCount, + @Param("_result_code") String resultCode, + @Param("_error_message") String errorMessage + ); + + //@Procedure //Map sp_is_valid_tn_cmt_event_id( @Param("_evt_seq") Long evtSeq ); @@ -111,11 +128,13 @@ public interface TnCmtEventRepository extends JpaRepository