Compare commits
7 Commits
7e3827ac07
...
4605f802b8
| Author | SHA1 | Date |
|---|---|---|
|
|
4605f802b8 | |
|
|
a7bd005ca3 | |
|
|
1c47a9adf0 | |
|
|
88a549dd42 | |
|
|
14c321dcf7 | |
|
|
88b23e0fe5 | |
|
|
a5bb7fdaa9 |
|
|
@ -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())}`;
|
||||
|
|
@ -250,13 +253,10 @@ function SchedulesEdit(props) {
|
|||
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) {
|
|||
<button className="btn btn_skyblue_h46 w_100"
|
||||
onClick={() => updateSchedule()}
|
||||
> 저장</button>
|
||||
<a href="#!" className="btn btn_skyblue_h46 w_100">삭제</a>
|
||||
{modeInfo.mode === CODE.MODE_MODIFY &&
|
||||
<button className="btn btn_skyblue_h46 w_100"
|
||||
onClick={(e) => {
|
||||
onClickDeleteSchedule(location.state?.schdulId);
|
||||
}}>삭제</button>
|
||||
}
|
||||
|
||||
</div>
|
||||
|
||||
<div className="right_col btn1">
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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<String, Object> 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<String, Object> 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<String, Object> response = tnCmtEventRepository.spDeleteTnCmtEvent(
|
||||
scheduleId.intValue(),
|
||||
"admin",
|
||||
null,
|
||||
null,
|
||||
null
|
||||
);
|
||||
|
||||
Map<String, Object> dto = new HashMap<String, Object>();
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -27,11 +27,11 @@ public interface TnCmtEventRepository extends JpaRepository<TnCmtEvent, TnCmtEve
|
|||
":_evt_contents, " +
|
||||
"TO_TIMESTAMP(" +
|
||||
" :_evt_start_dt," +
|
||||
" 'YYYY-MM-DD HH24:MI:SS'" +
|
||||
" 'YYYYMMDDHH24MISS'" +
|
||||
")::::timestamptz AT TIME ZONE 'UTC', " +
|
||||
"TO_TIMESTAMP(" +
|
||||
" :_evt_end_dt," +
|
||||
" 'YYYY-MM-DD HH24:MI:SS'" +
|
||||
" 'YYYYMMDDHH24MISS'" +
|
||||
")::::timestamptz AT TIME ZONE 'UTC', " +
|
||||
":_modi_id, " +
|
||||
":_evt_seq, " +
|
||||
|
|
@ -66,11 +66,11 @@ public interface TnCmtEventRepository extends JpaRepository<TnCmtEvent, TnCmtEve
|
|||
":_evt_contents, " +
|
||||
"TO_TIMESTAMP(" +
|
||||
" :_evt_start_dt," +
|
||||
" 'YYYY-MM-DD HH24:MI:SS'" +
|
||||
" 'YYYYMMDDHH24MISS'" +
|
||||
")::::timestamptz AT TIME ZONE 'UTC', " +
|
||||
"TO_TIMESTAMP(" +
|
||||
" :_evt_end_dt," +
|
||||
" 'YYYY-MM-DD HH24:MI:SS'" +
|
||||
" 'YYYYMMDDHH24MISS'" +
|
||||
")::::timestamptz AT TIME ZONE 'UTC', " +
|
||||
":_modi_id, " +
|
||||
":_result_count, " +
|
||||
|
|
@ -94,6 +94,23 @@ public interface TnCmtEventRepository extends JpaRepository<TnCmtEvent, TnCmtEve
|
|||
);
|
||||
|
||||
|
||||
|
||||
@Query(value = "CALL sp_delete_tn_cmt_event (" +
|
||||
":_evt_seq, " +
|
||||
":_modi_id, " +
|
||||
":_result_count, " +
|
||||
":_result_code, " +
|
||||
":_error_message)",
|
||||
nativeQuery = true)
|
||||
Map<String, Object> 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<String, Object> sp_is_valid_tn_cmt_event_id( @Param("_evt_seq") Long evtSeq );
|
||||
|
||||
|
|
@ -111,11 +128,13 @@ public interface TnCmtEventRepository extends JpaRepository<TnCmtEvent, TnCmtEve
|
|||
"FROM" + " \n" +
|
||||
" tn_cmt_event tce" + " \n" +
|
||||
"WHERE" + " " +
|
||||
" tce.use_yn = 'Y'" + " \n" +
|
||||
" AND" + " \n" +
|
||||
" TO_TIMESTAMP(" + " \n" +
|
||||
" :sSearchDate," + " \n" +
|
||||
" 'YYYYMM'" + " \n" +
|
||||
" ) AT TIME ZONE 'UTC+9' <= tce.evt_start_dt AND" + " \n" +
|
||||
|
||||
" ) AT TIME ZONE 'UTC+9' <= tce.evt_start_dt" + " \n" +
|
||||
" AND" + " \n" +
|
||||
" tce.evt_start_dt < TO_TIMESTAMP(" + " \n" +
|
||||
" :sSearchDate," + " \n" +
|
||||
" 'YYYYMM'" + " \n" +
|
||||
|
|
|
|||
Loading…
Reference in New Issue