diff --git a/src/main/java/cokr/xit/fims/sndb/Sndb01Query.java b/src/main/java/cokr/xit/fims/sndb/Sndb01Query.java new file mode 100644 index 00000000..7c84ba5a --- /dev/null +++ b/src/main/java/cokr/xit/fims/sndb/Sndb01Query.java @@ -0,0 +1,110 @@ +package cokr.xit.fims.sndb; + +import cokr.xit.foundation.component.QueryRequest; + +/**발송 대장 정보 조회 요청 + * + *
상세 설명: + * + *
+ * ============ 변경 이력 ============ + * 2023-08-24 mjkhan 최초 작성 + * ================================ + *+ */ +public class Sndb01Query extends QueryRequest { + + private static final long serialVersionUID = 1L; + + // 필수 조건 + private String sggCd; // 시군구 코드 + private String taskSeCd; // 업무 구분 코드 + private String delYn; // 삭제 여부 + // ID + private String crdnId; // 단속 ID + private String[] sndngIDs; // 발송 IDs + private String sndngId; // 발송 ID + private String[] sndngDtlIDs; // 발송 상세 IDs + private String sndngDtlId; // 발송 상세 ID + + public String getSggCd() { + return ifEmpty(sggCd, () -> null); + } + + public
상세 설명: + * + *
+ * ============ 변경 이력 ============ + * 2023-08-25 JoJH 최초 작성 + * ================================ + *+ */ +@Mapper("sndngDtlMapper") +public interface SndngDtlMapper extends AbstractMapper { + /**지정한 조건에 따라 발송 상세 목록을 조회하여 반환한다.
상세 설명: + * + *
+ * ============ 변경 이력 ============ + * 2023-08-25 JoJH 최초 작성 + * ================================ + *+ */ +@Mapper("sndngMapper") +public interface SndngMapper extends AbstractMapper { + /**지정한 조건에 따라 발송 대장 목록을 조회하여 반환한다.
상세 설명: +* +*
+* ============ 변경 이력 ============ +* 2023-08-25 JoJH 최초 작성 +* ================================ +*+*/ +public interface Sndb01Service { + + /**지정한 조건에 따라 발송 대장 목록을 조회하여 반환한다. + * @param req 발송 대장 조회 조건 + * @return 발송 대장 목록 + */ + List
상세 설명: + * + *
+ * ============ 변경 이력 ============ + * 2023-08-25 JoJH 최초 작성 + * ================================ + *+ */ +@Component("sndb01Bean") +public class Sndb01Bean extends AbstractComponent { + + /** 발송 대장 정보 DAO */ + @Resource(name = "sndngMapper") + private SndngMapper sndngMapper; + + /** 발송 상세 대장 정보 DAO */ + @Resource(name = "sndngDtlMapper") + private SndngDtlMapper sndngDtlMapper; + + /**지정한 조건에 따라 발송 대장 목록을 조회하여 반환한다. + * @param req 발송 대장 조회 조건 + * @return 발송 대장 목록 + */ + public List
상세 설명: +* +*
+* ============ 변경 이력 ============ +* 2023-08-25 JoJH 최초 작성 +* ================================ +*+*/ +@Service("sndb01Service") +public class Sndb01ServiceBean extends AbstractServiceBean implements Sndb01Service { + + /** 발송 대장 정보 Bean */ + @Resource(name = "sndb01Bean") + private Sndb01Bean sndb01Bean; + + @Override + public List
상세 설명: +* +*
+* ============ 변경 이력 ============ +* 2023-08-24 mjkhan 최초 작성 +* ================================ +*+*/ +@RequestMapping(name = "발송 대장", value = "/sndng") +public class Sndb01Controller extends ApplicationController { + + /**발송 대장 서비스*/ + @Resource(name = "sndb01Service") + private Sndb01Service sndb01Service; + + /**계도장 발송 대상 자료 메인화면(sndb/sndb01/010-main)을 연다. + * 조건없는 {@link #getSndngList(Sndb01Query) 발송 대장 조회 결과}를 포함시킨다. + * @return /sndb/sndb01/010-main + */ + public ModelAndView warningSendingTargetMain() { + ModelAndView mav = new ModelAndView("fims/sndb/sndb01010-main"); + + // View(jsp)에서 사용할 공통코드를 조회 + Map
{
+ * "sndngList": [발송 대장 목록]
+ * "sndngStart": 발송 대장 목록 시작 인덱스
+ * "sndngFetch": 한 번에 가져오는 발송 대장 목록 수
+ * "sndngTotal": 조회 결과 찾은 전체 발송 대장 수
+ * }
+ */
+ @RequestMapping(name = "발송 대장 조회", value = "/010/sndngList.do")
+ public ModelAndView getSndngList(Sndb01Query req) {
+ List> result = sndb01Service.getSndngList(setFetchSize(req));
+
+ return setCollectionInfo(new ModelAndView("jsonView"), result, "sndng");
+ }
+
+ /**발송 대장를 등록한다.
+ * @param sndng 발송 대장 정보
+ * @return jsonView
+ * {
+ * "saved": 등록되었으면 true, 그렇지 않으면 false
+ * }
+ */
+ @PostMapping(name = "발송 대장 등록", value = "/010/createSndng.do")
+ public ModelAndView createSndng(Sndng sndng) {
+ boolean saved = sndb01Service.createSndng(sndng);
+
+ return new ModelAndView("jsonView")
+ .addObject("saved", saved);
+ }
+
+ /**발송 대장 정보를 수정한다.
+ * @param sndng 발송 대장 정보
+ * @return jsonView
+ * {
+ * "saved": 수정되었으면 true, 그렇지 않으면 false
+ * }
+ */
+ @PostMapping(name = "발송 대장 수정", value = "/010/updateSndng.do")
+ public ModelAndView updateSndng(Sndng sndng) {
+ boolean saved = sndb01Service.updateSndng(sndng);
+
+ return new ModelAndView("jsonView")
+ .addObject("saved", saved);
+ }
+
+ /**지정한 발송 대장를 제거한다.
+ * @param sndngIDs 발송 대장 아이디
+ * @return jsonView
+ * {
+ * "affected": 저장된 정보수
+ * "saved": 저장되었으면 true, 그렇지 않으면 false
+ * }
+ */
+ @PostMapping(name = "발송 대장 제거", value = "/010/removeSndng.do")
+ public ModelAndView removeSndng(Sndng sndng) {
+ boolean saved = sndb01Service.removeSndng(sndng);
+
+ return new ModelAndView("jsonView")
+ .addObject("saved", saved);
+ }
+
+ /**발송 상세 목록을 조회하여 반환한다. {
+ * "sndngDtlList": [발송 상세 목록]
+ * "sndngDtlStart": 발송 상세 목록 시작 인덱스
+ * "sndngDtlFetch": 한 번에 가져오는 발송 상세 목록 수
+ * "sndngDtlTotal": 조회 결과 찾은 전체 발송 상세 수
+ * }
+ */
+ @RequestMapping(name = "발송 상세 조회", value = "/010/sndngDtlList.do")
+ public ModelAndView getSndngDtlList(Sndb01Query req) {
+ List> result = sndb01Service.getSndngDtlList(setFetchSize(req));
+ return setCollectionInfo(new ModelAndView("jsonView"), result, "sndngDtl");
+ }
+
+ /**발송 상세를 등록한다.
+ * @param sndngDtl 발송 상세 정보
+ * @return jsonView
+ * {
+ * "saved": 등록되었으면 true, 그렇지 않으면 false
+ * }
+ */
+ @PostMapping(name = "발송 상세 등록", value = "/010/createSndngDtl.do")
+ public ModelAndView createSndngDtl(SndngDtl sndngDtl) {
+ boolean saved = sndb01Service.createSndngDtl(sndngDtl);
+ return new ModelAndView("jsonView")
+ .addObject("saved", saved);
+ }
+
+ /**발송 상세 정보를 수정한다.
+ * @param sndngDtl 발송 상세 정보
+ * @return jsonView
+ * {
+ * "saved": 수정되었으면 true, 그렇지 않으면 false
+ * }
+ */
+ @PostMapping(name = "발송 상세 수정", value = "/010/updateSndngDtl.do")
+ public ModelAndView updateSndngDtl(SndngDtl sndngDtl) {
+ boolean saved = sndb01Service.updateSndngDtl(sndngDtl);
+ return new ModelAndView("jsonView")
+ .addObject("saved", saved);
+ }
+
+ /**지정한 발송 상세를 제거한다.
+ * @param sndngDtlIDs 발송 상세 아이디
+ * @return jsonView
+ * {
+ * "affected": 저장된 정보수
+ * "saved": 저장되었으면 true, 그렇지 않으면 false
+ * }
+ */
+ @PostMapping(name = "발송 상세 제거", value = "/010/removeSndngDtl.do")
+ public ModelAndView removeSndngDtl(SndngDtl sndngDtl) {
+ boolean saved = sndb01Service.removeSndngDtl(sndngDtl);
+ return new ModelAndView("jsonView")
+ .addObject("saved", saved);
+ }
+
+
+
+ /**발송 대장 관리 메인화면(sndng/sndng-main)을 연다.
+ * 조건없는 {@link #getSndngList(SndngQuery) 발송 대장 조회 결과}를 포함시킨다.
+ * @return /sndng/sndng-main
+ */
+// @RequestMapping(name = "발송 대장 메인", value = "/main.do")
+// public ModelAndView main() {
+// ModelAndView mav = getSndngList(new Sndb01Query().setPageNum(1));
+// mav.setViewName("/sndng/sndng-main");
+// return mav.addObject("sndngList", toJson(mav.getModel().get("sndngList")));
+// }
+
+ /**발송 상세 관리 메인화면(sndngDtl/sndngDtl-main)을 연다.
+ * 조건없는 {@link #getSndngDtlList(SndngDtlQuery) 발송 상세 조회 결과}를 포함시킨다.
+ * @return /sndngDtl/sndngDtl-main
+ */
+// @RequestMapping(name = "발송 상세 메인", value = "/main.do")
+// public ModelAndView main() {
+// ModelAndView mav = getSndngDtlList(new Sndb01Query().setPageNum(1));
+// mav.setViewName("/sndngDtl/sndngDtl-main");
+// return mav.addObject("sndngDtlList", toJson(mav.getModel().get("sndngDtlList")));
+// }
+
+}
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 c8361038..4755fdbe 100644
--- a/src/main/java/cokr/xit/fims/task/web/CmnController.java
+++ b/src/main/java/cokr/xit/fims/task/web/CmnController.java
@@ -153,7 +153,7 @@ public class CmnController {
}
@Controller
- @RequestMapping(name="면제차량 관리 관리", value="/crdn/crdn08")
+ @RequestMapping(name="면제차량 관리", value="/crdn/crdn08")
class Crdn08Controller extends cokr.xit.fims.crdn.web.Crdn08Controller {
/** 면제차량 관리 메인화면을 연다.
* @return fims/crdn/crdn08010-main
@@ -166,7 +166,7 @@ public class CmnController {
}
@Controller
- @RequestMapping(name="업무지원", value="/sprt/sprt01")
+ @RequestMapping(name="통합조회", value="/sprt/sprt01")
class Sprt01Controller extends cokr.xit.fims.sprt.web.Sprt01Controller {
/** 통합조회 메인화면을 연다.
@@ -180,7 +180,7 @@ public class CmnController {
}
@Controller
- @RequestMapping(name="업무지원", value="/sprt/sprt02")
+ @RequestMapping(name="개별총정보", value="/sprt/sprt02")
class Sprt02Controller extends cokr.xit.fims.sprt.web.Sprt02Controller {
/** 개별총정보 메인화면을 연다.
@@ -239,7 +239,7 @@ public class CmnController {
* @return fims/excl/excl02010-main
*/
@Override
- @RequestMapping(name="부과제외 관리 메인", value="/010/main.do")
+ @RequestMapping(name="의견제출 관리 메인", value="/010/main.do")
public ModelAndView opinionSubmissionMain() {
return super.opinionSubmissionMain();
}
@@ -261,4 +261,28 @@ public class CmnController {
}
+ @Controller
+ @RequestMapping(name="발송 관리", value="/sndb/sndb01")
+ class Sndb01Controller extends cokr.xit.fims.sndb.web.Sndb01Controller {
+
+ /** 계도장 발송 대상 자료 메인화면을 연다.
+ * @return fims/sndb/sndb01010-main
+ */
+ @Override
+ @RequestMapping(name="계도장 발송 대상 자료", value="/010/main.do")
+ public ModelAndView warningSendingTargetMain() {
+ return super.warningSendingTargetMain();
+ }
+
+ /** 계도장 발송 현황 메인화면을 연다.
+ * @return fims/sndb/sndb01020-main
+ */
+ @Override
+ @RequestMapping(name="계도장 발송 현황", value="/020/main.do")
+ public ModelAndView warningSendingStatusMain() {
+ return super.warningSendingStatusMain();
+ }
+
+ }
+
}
diff --git a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml
new file mode 100644
index 00000000..bffa4393
--- /dev/null
+++ b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml
@@ -0,0 +1,161 @@
+
+
+