list = schdlService.getSchdlList(req);
+ mav.addObject("list", list);
+ return mav;
+ }
+
+ /**일정관리를 조회하여 반환한다.
+ * {@link SchdlService#getSchdlInfo(SchdlQuery)} 참고
+ * @param req 일정관리 조회 조건
+ * @return jsonView
+ */
+ public ModelAndView getSchdlInfo(String schdlId, String schdlBgngYmd, String schdlEndYmd) {
+
+ boolean json = jsonResponse();
+ ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/mngt/mngt02020-info");
+ mav.addObject("pageName", "mngt02020");
+ DataObject info = new DataObject();
+
+ if(!ifEmpty(schdlId, ()->"").equals("")) {
+ info = schdlService.getSchdlInfo(schdlId);
+ } else {
+ info = null;
+ }
+ mav.addObject("schdlInfo", json ? info : toJson(info));
+
+ mav.addObject("schdlBgngYmd", schdlBgngYmd);
+ mav.addObject("schdlEndYmd", schdlEndYmd);
+ return mav;
+ }
+
+ /**일정을 등록한다.
+ * @param schdl 일정관리 정보
+ * @return jsonView
+ * {
+ * "saved": 등록되었으면 true, 그렇지 않으면 false
+ * }
+ */
+ public ModelAndView create(Schdl schdl) {
+ ModelAndView mav = new ModelAndView("jsonView");
+ boolean saved = false;
+ schdl.setUserId(currentUser().getId());
+ String rtnMsg = schdlService.create(schdl);
+
+ if(rtnMsg.contains("[S]")) {
+ saved = true;
+ }
+ mav.addObject("saved", saved);
+ mav.addObject("schdlId", schdl.getSchdlId());
+ return mav;
+ }
+
+ /**일정을 수정한다.
+ * @param schdl 일정관리 정보
+ * @return jsonView
+ * {
+ * "saved": 수정되었으면 true, 그렇지 않으면 false
+ * }
+ */
+ public ModelAndView update(Schdl schdl) {
+ ModelAndView mav = new ModelAndView("jsonView");
+ boolean saved = false;
+ schdl.setUserId(currentUser().getId());
+ String rtnMsg = schdlService.update(schdl);
+
+ if(rtnMsg.contains("[S]")) {
+ saved = true;
+ }
+ mav.addObject("saved", saved);
+ return mav;
+ }
+
+ /**지정한 일정을 제거한다.
+ * @param schdlIDs 일정관리 아이디
+ * @return jsonView
+ * {
+ * "affected": 저장된 정보수
+ * "saved": 저장되었으면 true, 그렇지 않으면 false
+ * }
+ */
+ public ModelAndView remove(Schdl schdl) {
+ ModelAndView mav = new ModelAndView("jsonView");
+ boolean saved = false;
+ schdl.setUserId(currentUser().getId());
+ String rtnMsg = schdlService.remove(schdl);
+
+ if(rtnMsg.contains("[S]")) {
+ saved = true;
+ }
+ mav.addObject("saved", saved);
+ return mav;
+ }
}
diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java
index 713bd419..3a8a3fe4 100644
--- a/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java
+++ b/src/main/java/cokr/xit/fims/sprt/web/Sprt01Controller.java
@@ -272,7 +272,8 @@ public class Sprt01Controller extends ApplicationController {
.cell(4, 0)
.values(listForExcel, CellDef.values(cellDefs));
- return new ModelAndView("xlsView").addObject("xls", xlsx);
+ return new ModelAndView("xlsView").addObject("xls", xlsx)
+ .addObject("downloadData", listForExcel).addObject("dataNames", cellDefs.stream().map(CellDef::getLabel).toList());
}
mav.addObject("upList", upList);
diff --git a/src/main/java/cokr/xit/fims/task/web/CmnController.java b/src/main/java/cokr/xit/fims/task/web/CmnController.java
index 5e58d194..206207a5 100644
--- a/src/main/java/cokr/xit/fims/task/web/CmnController.java
+++ b/src/main/java/cokr/xit/fims/task/web/CmnController.java
@@ -18,6 +18,8 @@ import cokr.xit.fims.mngt.FineIntegrationDepartment;
import cokr.xit.fims.mngt.FineIntegrationSigungu;
import cokr.xit.fims.mngt.Ntc;
import cokr.xit.fims.mngt.NtcQuery;
+import cokr.xit.fims.mngt.Schdl;
+import cokr.xit.fims.mngt.SchdlQuery;
import cokr.xit.fims.mngt.Task;
import cokr.xit.fims.mngt.VltnQuery;
import cokr.xit.fims.sprt.SprtQuery;
@@ -620,6 +622,37 @@ public class CmnController {
return super.schdlMain();
}
+ @Override
+ @RequestMapping(name="일정 목록 조회", value=METHOD_URL.getSchdlList)
+ public ModelAndView getSchdlList(SchdlQuery req) {
+ return super.getSchdlList(req);
+ }
+
+ @Override
+ @RequestMapping(name="일정 조회", value=METHOD_URL.getSchdlInfo)
+ public ModelAndView getSchdlInfo(String schdlId, String schdlBgngYmd, String schdlEndYmd) {
+ return super.getSchdlInfo(schdlId, schdlBgngYmd, schdlEndYmd);
+ }
+
+
+ @Override
+ @RequestMapping(name="일정 추가", value=METHOD_URL.create)
+ public ModelAndView create(Schdl schdl) {
+ return super.create(schdl);
+ }
+
+ @Override
+ @RequestMapping(name="일정 수정", value=METHOD_URL.update)
+ public ModelAndView update(Schdl schdl) {
+ return super.update(schdl);
+ }
+
+ @Override
+ @RequestMapping(name="일정 삭제", value=METHOD_URL.remove)
+ public ModelAndView remove(Schdl schdl) {
+ return super.remove(schdl);
+ }
+
}
@Controller
diff --git a/src/main/resources/sql/mapper/fims/mngt/ntc-mapper.xml b/src/main/resources/sql/mapper/fims/mngt/ntc-mapper.xml
index c2b22ff1..ec9cec31 100644
--- a/src/main/resources/sql/mapper/fims/mngt/ntc-mapper.xml
+++ b/src/main/resources/sql/mapper/fims/mngt/ntc-mapper.xml
@@ -105,9 +105,9 @@ UPDATE TB_NOTICE
/* 공지사항 삭제(ntcMapper.deleteNtc) */
UPDATE TB_NOTICE
- SET DEL_YN = 'Y'
- , MDFCN_DT =
- , MDFR = #{currentUser.id}
+ SET DEL_YN = 'Y'
+ , DEL_DT =
+ , DLTR = #{currentUser.id}
WHERE NTC_ID = #{ntc.ntcId}
diff --git a/src/main/resources/sql/mapper/fims/mngt/schdl-mapper.xml b/src/main/resources/sql/mapper/fims/mngt/schdl-mapper.xml
index f114e8dc..d5864755 100644
--- a/src/main/resources/sql/mapper/fims/mngt/schdl-mapper.xml
+++ b/src/main/resources/sql/mapper/fims/mngt/schdl-mapper.xml
@@ -1,4 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+SELECT SCHDL_ID
+ , SCHDL_BGNG_YMD
+ , SCHDL_END_YMD
+ , USER_ID
+ , SCHDL_CN
+ , DEL_YN
+ , REG_DT
+ , RGTR
+ , MDFCN_DT
+ , MDFR
+ , DEL_DT
+ , DLTR
+ , DEL_RSN
+ FROM TB_SCHDL
+
+
+
+
+
+
+
+/* 일정관리 등록(schdlMapper.insertSchdl) */
+
+SELECT
+ LPAD(CAST(IFNULL(MAX(SCHDL_ID) + 1, 1) AS INT), 10, '0')
+ AS NEW_ID
+FROM TB_SCHDL
+
+INSERT
+ INTO TB_SCHDL (
+ SCHDL_ID
+ , SCHDL_BGNG_YMD
+ , SCHDL_END_YMD
+ , USER_ID
+ , SCHDL_CN
+ , DEL_YN
+ , REG_DT
+ , RGTR
+ , MDFCN_DT
+ , MDFR
+) VALUES (
+ #{schdl.schdlId}
+ , #{schdl.schdlBgngYmd}
+ , #{schdl.schdlEndYmd}
+ , #{schdl.userId}
+ , #{schdl.schdlCn}
+ , 'N'
+ ,
+ , #{currentUser.id}
+ ,
+ , #{currentUser.id}
+)
+
+
+
+/* 일정관리 수정(schdlMapper.updateSchdl) */
+UPDATE TB_SCHDL
+ SET SCHDL_BGNG_YMD = #{schdl.schdlBgngYmd}
+ , SCHDL_END_YMD = #{schdl.schdlEndYmd}
+ , USER_ID = #{schdl.userId}
+ , SCHDL_CN = #{schdl.schdlCn}
+ , MDFCN_DT =
+ , MDFR = #{currentUser.id}
+ WHERE SCHDL_ID = #{schdl.schdlId}
+
+
+
+/* 일정관리 삭제(schdlMapper.deleteSchdl) */
+UPDATE TB_SCHDL
+ SET DEL_YN = 'Y'
+ , DEL_DT =
+ , DLTR = #{currentUser.id}
+ WHERE SCHDL_ID = #{schdl.schdlId}
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/fims/mngt/mngt02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/mngt/mngt02010-main.jsp
index ffe25b4c..db311b16 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/mngt/mngt02010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/mngt/mngt02010-main.jsp
@@ -12,54 +12,124 @@
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/fims/mngt/mngt02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/mngt/mngt02020-info.jsp
new file mode 100644
index 00000000..fc01e6eb
--- /dev/null
+++ b/src/main/webapp/WEB-INF/jsp/fims/mngt/mngt02020-info.jsp
@@ -0,0 +1,213 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
+<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
+일정 상세
+
+
\ No newline at end of file
diff --git a/src/main/webapp/resources/js/fims/framework/cmm/cmmnDateUtil.js b/src/main/webapp/resources/js/fims/framework/cmm/cmmnDateUtil.js
index 2c8648b3..0a975de6 100644
--- a/src/main/webapp/resources/js/fims/framework/cmm/cmmnDateUtil.js
+++ b/src/main/webapp/resources/js/fims/framework/cmm/cmmnDateUtil.js
@@ -293,9 +293,12 @@ function to2(numberObj) {
* 입력일의 이전일 계산
*/
function getPrevDay(datestr, days) {
- if ( days == "0") return datestr;
+ if ( days == "0")
+ return datestr;
datestr = datestr.replace(/-/g, "");
- if (datestr == "") return "";
+ if (datestr == "")
+ return "";
+
var dateObj = window.getDateObject(datestr);
dateObj.setDate(dateObj.getDate() - parseInt(days, 10));