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
|
//${location.state?.schdulId
|
||||||
|
|
||||||
const getDateFourteenDigit = (date) => {
|
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) => {
|
const getYYYY_MM_DD = (date) => {
|
||||||
return `${date.getFullYear().toString()}-${makeTwoDigit(Number(date.getMonth() + 1))}-${makeTwoDigit(date.getDate())}`;
|
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') === "") {
|
if (formData.get('contents') === null ||formData.get('contents') === "") {
|
||||||
alert("내용을 입력해 주세요.");
|
alert("내용을 입력해 주세요.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (formData.get('schdulBgnde') > formData.get('schdulEndde')) {
|
||||||
/*
|
|
||||||
if (formData.get('contents') > formData.get('schdulEndde')) {
|
|
||||||
alert("종료일시는 시작일시보다 앞 설 수 없습니다.");
|
alert("종료일시는 시작일시보다 앞 설 수 없습니다.");
|
||||||
return false;
|
//return false;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -285,6 +285,31 @@ function SchedulesEdit(props) {
|
||||||
}, [scheduleDetail && scheduleDetail.upCommittee]);
|
}, [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.log("------------------------------EgovAdminScheduleEdit [End]");
|
||||||
console.groupEnd("EgovAdminScheduleEdit");
|
console.groupEnd("EgovAdminScheduleEdit");
|
||||||
return (
|
return (
|
||||||
|
|
@ -389,7 +414,7 @@ function SchedulesEdit(props) {
|
||||||
showTimeInput
|
showTimeInput
|
||||||
onChange={(date) => {
|
onChange={(date) => {
|
||||||
console.log("setStartDate : ", 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());
|
setSchdulBgndeHH(date.getHours());
|
||||||
setSchdulBgndeMM(date.getMinutes());
|
setSchdulBgndeMM(date.getMinutes());
|
||||||
}} />
|
}} />
|
||||||
|
|
@ -407,7 +432,7 @@ function SchedulesEdit(props) {
|
||||||
minDate={scheduleDetail.startDate}
|
minDate={scheduleDetail.startDate}
|
||||||
onChange={(date) => {
|
onChange={(date) => {
|
||||||
console.log("setEndDate: ", 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());
|
setSchdulEnddeHH(date.getHours());
|
||||||
setSchdulEnddeMM(date.getMinutes());
|
setSchdulEnddeMM(date.getMinutes());
|
||||||
}
|
}
|
||||||
|
|
@ -433,7 +458,13 @@ function SchedulesEdit(props) {
|
||||||
<button className="btn btn_skyblue_h46 w_100"
|
<button className="btn btn_skyblue_h46 w_100"
|
||||||
onClick={() => updateSchedule()}
|
onClick={() => updateSchedule()}
|
||||||
> 저장</button>
|
> 저장</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>
|
||||||
|
|
||||||
<div className="right_col btn1">
|
<div className="right_col btn1">
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ public class SchedulesApiController {
|
||||||
try {
|
try {
|
||||||
resultVO = egovIndvdlSchdulManageService.createSchedule(resultVO, request, createScheduleVO);
|
resultVO = egovIndvdlSchdulManageService.createSchedule(resultVO, request, createScheduleVO);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
resultVO.setResultCode(-1);
|
resultVO.setResultCode(ResponseCode.FAILED.getCode());
|
||||||
resultVO.setResultMessage(e.getMessage());
|
resultVO.setResultMessage(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -119,7 +119,47 @@ public class SchedulesApiController {
|
||||||
try {
|
try {
|
||||||
resultVO = egovIndvdlSchdulManageService.updateSchedule(resultVO, request, updateScheduleVO);
|
resultVO = egovIndvdlSchdulManageService.updateSchedule(resultVO, request, updateScheduleVO);
|
||||||
} catch (Exception e) {
|
} 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());
|
resultVO.setResultMessage(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -158,7 +198,7 @@ public class SchedulesApiController {
|
||||||
try {
|
try {
|
||||||
resultVO = egovIndvdlSchdulManageService.scheduleDetail(resultVO, request, user, scheduleId);
|
resultVO = egovIndvdlSchdulManageService.scheduleDetail(resultVO, request, user, scheduleId);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
resultVO.setResultCode(-1);
|
resultVO.setResultCode(ResponseCode.FAILED.getCode());
|
||||||
resultVO.setResultMessage(e.getMessage());
|
resultVO.setResultMessage(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -204,7 +244,7 @@ public class SchedulesApiController {
|
||||||
try {
|
try {
|
||||||
resultVO = egovIndvdlSchdulManageService.scheduleMonth(resultVO, request, user, commandMap);
|
resultVO = egovIndvdlSchdulManageService.scheduleMonth(resultVO, request, user, commandMap);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
resultVO.setResultCode(-1);
|
resultVO.setResultCode(ResponseCode.FAILED.getCode());
|
||||||
resultVO.setResultMessage(e.getMessage());
|
resultVO.setResultMessage(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,8 @@ public interface EgovIndvdlSchdulManageService {
|
||||||
|
|
||||||
public ResultVO createSchedule(ResultVO resultVO, HttpServletRequest request, CreateScheduleVO createScheduleVO) throws Exception;
|
public ResultVO createSchedule(ResultVO resultVO, HttpServletRequest request, CreateScheduleVO createScheduleVO) throws Exception;
|
||||||
public ResultVO updateSchedule(ResultVO resultVO, HttpServletRequest request, UpdateScheduleVO updateScheduleVO) 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;
|
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"
|
"\n--------------------------------------------------------------\n"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// 유효성 검사 실시
|
||||||
|
if( Long.parseLong(createScheduleVO.getStartDate()) > Long.parseLong(createScheduleVO.getEndDate()) ) {
|
||||||
|
throw new Exception("종료일시는 시작일시보다 앞 설 수 없습니다.");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Map<String, Object> response = tnCmtEventRepository.spAddTnCmtEvent(
|
Map<String, Object> response = tnCmtEventRepository.spAddTnCmtEvent(
|
||||||
createScheduleVO.getDivMeet(), // 구분
|
createScheduleVO.getDivMeet(), // 구분
|
||||||
|
|
@ -162,12 +167,22 @@ public class EgovIndvdlSchdulManageServiceImpl extends EgovAbstractServiceImpl i
|
||||||
"\n--------------------------------------------------------------\n"
|
"\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(
|
Map<String, Object> response = tnCmtEventRepository.spUpdateTnCmtEvent(
|
||||||
updateScheduleVO.getEvtSeq().intValue(),
|
updateScheduleVO.getEvtSeq(),
|
||||||
updateScheduleVO.getDivMeet(), // 구분
|
updateScheduleVO.getDivMeet(), // 구분
|
||||||
updateScheduleVO.getUpCommittee().intValue(), // 심의위원회 상위 코드 번호
|
updateScheduleVO.getUpCommittee(), // 심의위원회 상위 코드 번호
|
||||||
updateScheduleVO.getCommittee().intValue(), // 심의위원회 하위 코드 번호
|
updateScheduleVO.getCommittee(), // 심의위원회 하위 코드 번호
|
||||||
updateScheduleVO.getTitle(), // 제목
|
updateScheduleVO.getTitle(), // 제목
|
||||||
updateScheduleVO.getLocation(), // 장소
|
updateScheduleVO.getLocation(), // 장소
|
||||||
updateScheduleVO.getContents(), // 내용
|
updateScheduleVO.getContents(), // 내용
|
||||||
|
|
@ -190,6 +205,38 @@ public class EgovIndvdlSchdulManageServiceImpl extends EgovAbstractServiceImpl i
|
||||||
return resultVO;
|
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, " +
|
":_evt_contents, " +
|
||||||
"TO_TIMESTAMP(" +
|
"TO_TIMESTAMP(" +
|
||||||
" :_evt_start_dt," +
|
" :_evt_start_dt," +
|
||||||
" 'YYYY-MM-DD HH24:MI:SS'" +
|
" 'YYYYMMDDHH24MISS'" +
|
||||||
")::::timestamptz AT TIME ZONE 'UTC', " +
|
")::::timestamptz AT TIME ZONE 'UTC', " +
|
||||||
"TO_TIMESTAMP(" +
|
"TO_TIMESTAMP(" +
|
||||||
" :_evt_end_dt," +
|
" :_evt_end_dt," +
|
||||||
" 'YYYY-MM-DD HH24:MI:SS'" +
|
" 'YYYYMMDDHH24MISS'" +
|
||||||
")::::timestamptz AT TIME ZONE 'UTC', " +
|
")::::timestamptz AT TIME ZONE 'UTC', " +
|
||||||
":_modi_id, " +
|
":_modi_id, " +
|
||||||
":_evt_seq, " +
|
":_evt_seq, " +
|
||||||
|
|
@ -66,11 +66,11 @@ public interface TnCmtEventRepository extends JpaRepository<TnCmtEvent, TnCmtEve
|
||||||
":_evt_contents, " +
|
":_evt_contents, " +
|
||||||
"TO_TIMESTAMP(" +
|
"TO_TIMESTAMP(" +
|
||||||
" :_evt_start_dt," +
|
" :_evt_start_dt," +
|
||||||
" 'YYYY-MM-DD HH24:MI:SS'" +
|
" 'YYYYMMDDHH24MISS'" +
|
||||||
")::::timestamptz AT TIME ZONE 'UTC', " +
|
")::::timestamptz AT TIME ZONE 'UTC', " +
|
||||||
"TO_TIMESTAMP(" +
|
"TO_TIMESTAMP(" +
|
||||||
" :_evt_end_dt," +
|
" :_evt_end_dt," +
|
||||||
" 'YYYY-MM-DD HH24:MI:SS'" +
|
" 'YYYYMMDDHH24MISS'" +
|
||||||
")::::timestamptz AT TIME ZONE 'UTC', " +
|
")::::timestamptz AT TIME ZONE 'UTC', " +
|
||||||
":_modi_id, " +
|
":_modi_id, " +
|
||||||
":_result_count, " +
|
":_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
|
//@Procedure
|
||||||
//Map<String, Object> sp_is_valid_tn_cmt_event_id( @Param("_evt_seq") Long evtSeq );
|
//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" +
|
"FROM" + " \n" +
|
||||||
" tn_cmt_event tce" + " \n" +
|
" tn_cmt_event tce" + " \n" +
|
||||||
"WHERE" + " " +
|
"WHERE" + " " +
|
||||||
|
" tce.use_yn = 'Y'" + " \n" +
|
||||||
|
" AND" + " \n" +
|
||||||
" TO_TIMESTAMP(" + " \n" +
|
" TO_TIMESTAMP(" + " \n" +
|
||||||
" :sSearchDate," + " \n" +
|
" :sSearchDate," + " \n" +
|
||||||
" 'YYYYMM'" + " \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" +
|
" tce.evt_start_dt < TO_TIMESTAMP(" + " \n" +
|
||||||
" :sSearchDate," + " \n" +
|
" :sSearchDate," + " \n" +
|
||||||
" 'YYYYMM'" + " \n" +
|
" 'YYYYMM'" + " \n" +
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue