From 2e45abe2b2778aef63c4de04545891541d90ac72 Mon Sep 17 00:00:00 2001 From: jjh Date: Thu, 26 Oct 2023 13:12:24 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B0=9C=EB=B3=84=EC=B4=9D=EC=A0=95=EB=B3=B4?= =?UTF-8?q?=20-=20=EA=B0=9C=EB=B3=84=20=EB=B0=98=EC=86=A1=20=EB=93=B1?= =?UTF-8?q?=EB=A1=9D,=20=EC=88=98=EC=A0=95,=20=EC=82=AD=EC=A0=9C=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cokr/xit/fims/sndb/dao/SndngMapper.java | 27 ++++++ .../xit/fims/sndb/service/SndngService.java | 28 +++++- .../xit/fims/sndb/service/bean/SndngBean.java | 73 ++++++++++++++- .../sndb/service/bean/SndngServiceBean.java | 14 +++ .../xit/fims/sndb/web/Sndb01Controller.java | 89 +++++++++++++++---- .../cokr/xit/fims/task/web/DpvController.java | 19 +++- .../sql/mapper/fims/sndb/sndng-mapper.xml | 41 +++++++++ .../WEB-INF/jsp/fims/excl/excl01010-main.jsp | 34 ++++--- .../WEB-INF/jsp/fims/excl/excl01020-info.jsp | 8 +- .../WEB-INF/jsp/fims/excl/excl02010-main.jsp | 2 +- .../WEB-INF/jsp/fims/sndb/sndb01220-info.jsp | 41 +++++---- .../WEB-INF/jsp/fims/sprt/sprt02040-info.jsp | 45 ++++++++-- 12 files changed, 359 insertions(+), 62 deletions(-) diff --git a/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java b/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java index b21d16a9..d32f54fa 100644 --- a/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java +++ b/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java @@ -140,8 +140,35 @@ public interface SndngMapper extends AbstractMapper { return !sndbkInfo.isEmpty() ? sndbkInfo.get(0) : null; } + /**발송 상세의 반송 정보를 등록한다. + * @param sndngDtl 발송 상세 + * @return 저장된 정보수 + */ + int createSndbk(Map params); + + default boolean createSndbk(SndngDtl sndngDtl) { + return sndngDtl != null && createSndbk(params().set("sndngDtl", sndngDtl)) == 1; + } + /**발송 상세의 반송 정보를 수정한다. + * @param sndngDtl 발송 상세 + * @return 저장된 정보수 + */ + int updateSndbk(Map params); + default boolean updateSndbk(SndngDtl sndngDtl) { + return sndngDtl != null && updateSndbk(params().set("sndngDtl", sndngDtl)) == 1; + } + + /**발송 상세의 반송 정보를 삭제한다. + * @param sndngDtl 발송 상세 + * @return 저장된 정보수 + */ + int deleteSndbk(Map params); + + default boolean deleteSndbk(SndngDtl sndngDtl) { + return sndngDtl != null && deleteSndbk(params().set("sndngDtl", sndngDtl)) == 1; + } diff --git a/src/main/java/cokr/xit/fims/sndb/service/SndngService.java b/src/main/java/cokr/xit/fims/sndb/service/SndngService.java index 0efc8596..c83e0507 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/SndngService.java +++ b/src/main/java/cokr/xit/fims/sndb/service/SndngService.java @@ -100,12 +100,38 @@ public interface SndngService { */ String createSndngLink(Sndng sndng); - /**지정한 발송 상세 ID의 미배달 정보를 반환한다.
+ /**지정한 발송상세 ID의 미배달 정보를 반환한다.
* @param sndngDtlId 발송 상세 ID * @return 발송상세 미배달 정보 */ DataObject getSndbkInfo(SndbQuery req); + /**발송 상세 정보의 반송 정보를 등록한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + String createSndbk(SndngDtl sndngDtl); + + /**발송 상세 정보의 반송 정보를 수정한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + String updateSndbk(SndngDtl sndngDtl); + + /**발송 상세 정보의 반송 정보를 삭제한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + String deleteSndbk(SndngDtl sndngDtl); diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java index 635ff63c..347e618a 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java @@ -1,7 +1,5 @@ package cokr.xit.fims.sndb.service.bean; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.model; - import java.util.List; import javax.annotation.Resource; @@ -24,7 +22,6 @@ import cokr.xit.fims.enis.service.bean.EnisMtchgBean; import cokr.xit.fims.epst.EpostRcptDtl; import cokr.xit.fims.epst.EpostRcptReg; import cokr.xit.fims.epst.service.bean.EpostRcptRegBean; -import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.fims.levy.Levy; import cokr.xit.fims.levy.service.bean.LevyBean; import cokr.xit.fims.sndb.SndbQuery; @@ -972,13 +969,81 @@ public class SndngBean extends AbstractComponent { * @param sndngDtlId 발송 상세 ID * @return 발송상세 미배달 정보 */ - public DataObject getSndbkInfo(SndbQuery req) { return sndngMapper.selectSndbkInfo(req); } + /**발송 상세의 반송 정보를 등록한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public String createSndbk(SndngDtl sndngDtl) { + // 변수 선언 + boolean retSuccess = false; // DB 처리 결과 + String retMessage = "[F] "; // 처리 결과 메시지 + + // 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록 한다. + retSuccess = sndngMapper.createSndbk(sndngDtl); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("발송상세의 반송 정보 등록에 실패하였습니다."); + } + + retMessage = "[S] 작업이 정상 처리 되었습니다."; + + return retMessage; + } + + /**발송 상세의 반송 정보를 수정한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public String updateSndbk(SndngDtl sndngDtl) { + // 변수 선언 + boolean retSuccess = false; // DB 처리 결과 + String retMessage = "[F] "; // 처리 결과 메시지 + + // 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록 한다. + retSuccess = sndngMapper.updateSndbk(sndngDtl); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("발송상세의 반송 정보 수정에 실패하였습니다."); + } + + retMessage = "[S] 작업이 정상 처리 되었습니다."; + + return retMessage; + } + + /**발송 상세의 반송 정보를 삭제한다. + * @param sndngDtl 발송 상세 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public String deleteSndbk(SndngDtl sndngDtl) { + // 변수 선언 + boolean retSuccess = false; // DB 처리 결과 + String retMessage = "[F] "; // 처리 결과 메시지 + + // 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록 한다. + retSuccess = sndngMapper.deleteSndbk(sndngDtl); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("발송상세의 반송 정보 삭제에 실패하였습니다."); + } + retMessage = "[S] 작업이 정상 처리 되었습니다."; + return retMessage; + } diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngServiceBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngServiceBean.java index 0bb92055..5bb270bc 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngServiceBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngServiceBean.java @@ -95,6 +95,20 @@ public class SndngServiceBean extends AbstractServiceBean implements SndngServic return sndngBean.getSndbkInfo(req); } + @Override + public String createSndbk(SndngDtl sndngDtl) { + return sndngBean.createSndbk(sndngDtl); + } + + @Override + public String updateSndbk(SndngDtl sndngDtl) { + return sndngBean.updateSndbk(sndngDtl); + } + + @Override + public String deleteSndbk(SndngDtl sndngDtl) { + return sndngBean.deleteSndbk(sndngDtl); + } diff --git a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java index c314ed35..73bd963b 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -13,6 +13,7 @@ import cokr.xit.base.user.service.UserService; import cokr.xit.base.web.ApplicationController; import cokr.xit.fims.sndb.SndbQuery; import cokr.xit.fims.sndb.Sndng; +import cokr.xit.fims.sndb.SndngDtl; import cokr.xit.fims.sndb.service.SndngService; import cokr.xit.foundation.data.DataObject; @@ -44,9 +45,14 @@ public class Sndb01Controller extends ApplicationController { , advanceNoticeSendingMain = "/070/main.do" // 사전통지 발송 현황 메인 화면 , getAdvntceSndngList = "/070/list.do" // 사전통지 발송 대상 목록 조회 , getAdvntceSndngDltInfo = "/080/info.do" // 사전통지 발송 상세 대장 조회 - , getSndbkInfo = "/220/info.do" // + , createSndng = "/020/createSndng.do" // 발송 대상 등록 , createSndngLink = "/080/createSndngLink.do" // 우편 통합 발송 연계 등록 + + , getSndbkInfo = "/220/info.do" // 발송 상세의 반송 정보 조회 + , createSndbk = "/220/create.do" // 발송 상세의 반송 정보 등록 + , updateSndbk = "/220/update.do" // 발송 상세의 반송 정보 수정 + , deleteSndbk = "/220/delete.do" // 발송 상세의 반송 정보 삭제 ; } @@ -380,19 +386,72 @@ public class Sndb01Controller extends ApplicationController { ; } } -//with qrySet do begin -// ParamByName('GP_SEND_DATE').AsString := aDate; -// ParamByName('GP_RETURN_CD').AsString := aCause; -// ParamByName('GP_STATE').AsString := GOJI_PRT_GUBUN_RETURN; //반송 -// ParamByName('GP_CODE').AsInteger := DataSource1.DataSet.FieldByName('GP_CODE').AsInteger; -// ExecSQL; -//end; -//with DataSource1.DataSet do begin -// Edit; -// FieldByName('GP_SEND_DATE').AsString := aDate; -// FieldByName('GP_RETURN_CD').AsString := aCause; -// FieldByName('GP_STATE').AsString := GOJI_PRT_GUBUN_RETURN; //반송 -// Post; -//end; + + /**발송 상세 정보의 반송 정보를 등록한다. + * @param sndngDtl 발송상세 정보 + * @return jsonView + *
 {
+	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
+	 * }
+ */ + public ModelAndView createSndbk(SndngDtl sndngDtl) { + boolean saved = false; + String retMessage = sndngService.createSndbk(sndngDtl); + + if (retMessage.contains("[S]")) { + saved = true; + } else { + saved = false; + } + + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("retMessage", retMessage); + } + + /**발송 상세 정보의 반송 정보를 수정한다. + * @param sndngDtl 발송상세 정보 + * @return jsonView + *
 {
+	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
+	 * }
+ */ + public ModelAndView updateSndbk(SndngDtl sndngDtl) { + boolean saved = false; + String retMessage = sndngService.updateSndbk(sndngDtl); + + if (retMessage.contains("[S]")) { + saved = true; + } else { + saved = false; + } + + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("retMessage", retMessage); + } + + /**발송 상세 정보의 반송 정보를 삭제한다. + * @param sndngDtl 발송상세 정보 + * @return jsonView + *
 {
+	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
+	 * }
+ */ + public ModelAndView deleteSndbk(SndngDtl sndngDtl) { + boolean saved = false; + String retMessage = sndngService.deleteSndbk(sndngDtl); + + if (retMessage.contains("[S]")) { + saved = true; + } else { + saved = false; + } + + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("retMessage", retMessage); + } + } diff --git a/src/main/java/cokr/xit/fims/task/web/DpvController.java b/src/main/java/cokr/xit/fims/task/web/DpvController.java index 6af4ef8b..dbe2cbfe 100644 --- a/src/main/java/cokr/xit/fims/task/web/DpvController.java +++ b/src/main/java/cokr/xit/fims/task/web/DpvController.java @@ -20,6 +20,7 @@ import cokr.xit.fims.payer.Payer; import cokr.xit.fims.payer.PayerQuery; import cokr.xit.fims.sndb.SndbQuery; import cokr.xit.fims.sndb.Sndng; +import cokr.xit.fims.sndb.SndngDtl; import cokr.xit.fims.sprt.CvlcptDscsnCn; import cokr.xit.fims.sprt.SprtQuery; @@ -567,12 +568,28 @@ public class DpvController { } @Override - @RequestMapping(name="장애인과태료업무 우편통합 발송 연계 등록", value=METHOD_URL.getSndbkInfo) + @RequestMapping(name="장애인과태료업무 발송상세의 반송(미배달) 정보 조회", value=METHOD_URL.getSndbkInfo) public ModelAndView getSndbkInfo(SndbQuery req) { return super.getSndbkInfo(req); } + @Override + @RequestMapping(name="장애인과태료업무 발송상세의 반송(미배달) 정보 등록", value=METHOD_URL.createSndbk) + public ModelAndView createSndbk(SndngDtl sndngDtl) { + return super.createSndbk(sndngDtl); + } + @Override + @RequestMapping(name="장애인과태료업무 발송상세의 반송(미배달) 정보 수정", value=METHOD_URL.updateSndbk) + public ModelAndView updateSndbk(SndngDtl sndngDtl) { + return super.updateSndbk(sndngDtl); + } + + @Override + @RequestMapping(name="장애인과태료업무 발송상세의 반송(미배달) 정보 삭제", value=METHOD_URL.deleteSndbk) + public ModelAndView deleteSndbk(SndngDtl sndngDtl) { + return super.deleteSndbk(sndngDtl); + } } diff --git a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml index 11b00a13..44c51301 100644 --- a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml @@ -845,6 +845,7 @@ , SD.RG_NO , SD.DLVR_YMD , SD.DLVR_TM + , GET_CODE('EGP010', SD.UNDLVR_RSN_NM) AS UNDLVR_RSN_CD , SD.UNDLVR_RSN_NM , SD.RCPN_NM , SD.RCPN_REL_NM @@ -938,6 +939,46 @@ + /* 발송상세의 반송 정보 수정(sndngMapper.createSndbk) */ + UPDATE TB_SNDNG_DTL + SET BFR_SNDNG_DTL_STTS_CD = SNDNG_DTL_STTS_CD + , DLVR_YMD = #{sndngDtl.dlvrYmd} + , DLVR_TM = #{sndngDtl.dlvrTm} + , UNDLVR_RSN_NM = #{sndngDtl.undlvrRsnNm} + , SNDNG_DTL_STTS_CD = #{sndngDtl.sndngDtlSttsCd} + , MDFCN_DT = + , MDFR = #{sndngDtl.modifiedBy} + WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId} + AND DEL_YN = 'N' + + + /* 발송상세의 반송 정보 수정(sndngMapper.updateSndbk) */ + UPDATE TB_SNDNG_DTL + SET DLVR_YMD = #{sndngDtl.dlvrYmd} + , DLVR_TM = #{sndngDtl.dlvrTm} + , UNDLVR_RSN_NM = #{sndngDtl.undlvrRsnNm} + , MDFCN_DT = + , MDFR = #{sndngDtl.modifiedBy} + WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId} + AND DEL_YN = 'N' + + + /* 발송상세의 반송 정보 삭제(sndngMapper.deleteSndbk) */ + UPDATE TB_SNDNG_DTL + SET BFR_SNDNG_DTL_STTS_CD = SNDNG_DTL_STTS_CD + , UNDLVR_RSN_NM = NULL + , SNDNG_DTL_STTS_CD = #{sndngDtl.sndngDtlSttsCd} + , MDFCN_DT = + , MDFR = #{sndngDtl.modifiedBy} + WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId} + AND DEL_YN = 'N' + + + + + + + + data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" /> ~ + data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" /> @@ -91,23 +91,23 @@
- +
- +
+ data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" /> ~ + data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
@@ -117,7 +117,7 @@ - + ~ + data-fmt-type="day" autocomplete="off" title="종료 날짜 선택"> @@ -153,7 +153,10 @@ - + + @@ -172,10 +175,10 @@ - - @@ -505,7 +508,7 @@ // 달력 초기화 initDatepicker("frmSearch--${pageName}"); - $("#schLevyExclYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-30).date); + $("#schLevyExclYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date); $("#schLevyExclYmdTo--${pageName}").datepicker("setDate", new Date()); // DataTables width 변경 조정 @@ -566,6 +569,11 @@ // $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); // style="width" 변경 조정 } + // 사용자 조회 버튼 이벤트 + fnUser${pageName} = () => { + + } + // 수정 버튼 이벤트 fnUpdate${pageName} = () => { let levyExclId = ${pageName}Control.dataset.getValue("LEVY_EXCL_ID"); diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp index 19cf4e2c..d8480063 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp @@ -21,19 +21,19 @@
- +
- +
+ data-fmt-type="day" autocomplete="off" title="날짜 선택" maxlength="10" required />
@@ -49,7 +49,7 @@
- +
diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp index 1518234a..76a9cc2e 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp @@ -527,7 +527,7 @@ // 달력 초기화 initDatepicker("frmSearch--${pageName}"); - $("#schRcptYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-30).date); + $("#schRcptYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date); $("#schRcptYmdTo--${pageName}").datepicker("setDate", new Date()); // DataTables width 변경 조정 diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-info.jsp index 32f01da2..d160491e 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-info.jsp @@ -15,7 +15,7 @@ - +
@@ -28,12 +28,13 @@
- +
@@ -89,9 +90,12 @@ if (item.data.DLVR_YMD == "") { $("#dlvrYmd--${pageName}").datepicker("setDate", new Date()); } + // 미배달 사유 - if (item.data.UNDLVR_RSN_NM != "") { - $("#undlvrRsnCd--${pageName}").val(item.data.UNDLVR_RSN_NM).prop("selected", true); + if (item.data.UNDLVR_RSN_CD != null && item.data.UNDLVR_RSN_CD != "") { + $("#undlvrRsnCd--${pageName}").val(item.data.UNDLVR_RSN_CD).prop("selected", true); + } else { + $("#undlvrRsnCd--${pageName}").val("7").prop("selected", true); } } @@ -107,10 +111,6 @@ if (resp.saved) { dialog.close(${pageName}Control.prefix + "Dialog"); - - if ("${savedCallbackFuncName}" != "") { - ${savedCallbackFuncName}(resp.saved); - } } } @@ -118,17 +118,23 @@ ${pageName}Control.save = (info) => { if (!info) return; - let create = isEmpty(info.levyExclId); + info.sndngDtlSttsCd = "10"; // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 10 반송(개별등록) - // 민원 접수 관리에서 호출했다면.. - if (create && "${saveCallbackFuncName}" != "") { - ${saveCallbackFuncName}(info); + ajax.post({ + url : ${pageName}CallPurpose == "create" ? ${pageName}Control.urls.create : ${pageName}Control.urls.update + , data : info + , success : resp => ${pageName}Control.onSave(resp) + }); + } + + // 미배달사유 변경 이벤트 + changeUndlvrRsnCd = (obj) => { + if (obj == "7") { + $("#undlvrRsnNm--${pageName}").prop("readonly", false); + $("#undlvrRsnNm--${pageName}").val(${pageName}Control.dataset.getValue("UNDLVR_RSN_NM")); } else { - ajax.post({ - url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create - , data : info - , success : resp => ${pageName}Control.onSave(resp) - }); + $("#undlvrRsnNm--${pageName}").prop("readonly", true); + $("#undlvrRsnNm--${pageName}").val($("#undlvrRsnCd--${pageName} option:selected").text()); } } @@ -167,6 +173,7 @@ initDatepicker("frmEdit--${pageName}"); $("#dlvrYmd--${pageName}").datepicker("setDate", new Date()); } + /************************************************************************** * function **************************************************************************/ diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp index 4e986bf1..c8bbf75f 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp @@ -331,7 +331,7 @@ , data : params || {} , success : resp => { dialog.open({ - id : "payerDialog" + id : "sndbkInfoDialog" , title : "개별반송 수정" , content : resp , size : "md" @@ -341,10 +341,29 @@ }); } + // 삭제 callback + ${pageName}CallbackRemoveSndbk = (resp) => { + let btnTitle = $("#btnRemoveSndbk--${pageName}").attr("title"); + let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); + + dialog.alert(showMessage); + + if (resp.saved) { + ${pageName}RefreshDataInfo(); + } + } + // 개별 반송 삭제 ${pageName}RemoveSndbk = (params) => { if (!params) return; + params.sndngDtlSttsCd = "03"; // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 03 발송 + + ajax.post({ + url : wctx.url(params.taskSeCd + "/sndb/sndb01/220/delete.do") + , data : params + , success : resp => ${pageName}CallbackRemoveSndbk(resp) + }); } // 자료 재조회 @@ -409,6 +428,8 @@ fnCreateSndbk${pageName} = () => { let sndngDtlId = ${pageName}Dataset.getValue("SNDNG_DTL_ID"); // 발송 상세 ID let undlvrRsnNm = ${pageName}Dataset.getValue("UNDLVR_RSN_NM"); // 미배달 사유 명 + let sndngDtlSttsCd = ${pageName}Dataset.getValue("SNDNG_DTL_STTS_CD"); // 발송 상세 상태 코드 + // 발송상세ID 가 없다면.. return if (sndngDtlId == null || sndngDtlId == "") { @@ -417,7 +438,16 @@ // 미배달 사유 확인 if (undlvrRsnNm != "" ) { dialog.alert({ - content : "미배달 사유가 " + ${pageName}Dataset.getValue("UNDLVR_RSN_NM") + " 로 이미 등록 되어 있습니다." + content : "미배달 사유가 " + ${pageName}Dataset.getValue("UNDLVR_RSN_NM") + " 로 이미 반송 등록이 되어 있습니다." + , onOK : () => {} + }); + + return; + } + // 발송상세 상태코드 확인 + if (sndngDtlSttsCd == "06") { + dialog.alert({ + content : "발송상세 상태가 " + ${pageName}Dataset.getValue("SNDNG_DTL_STTS_NM") + " 로 개별 반송을 등록할 수 없습니다." , onOK : () => {} }); @@ -485,15 +515,18 @@ } let params = { - callPurpose : "update" + callPurpose : "delete" , sggCd : ${pageName}Dataset.getValue("SGG_CD") // 시군구 코드 , taskSeCd : ${pageName}Dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , sndngDtlId : sndngDtlId // 발송 상세 ID - , sndngDtlSttsCd : ${pageName}Dataset.getValue("SNDNG_DTL_STTS_CD") // 발송 상세 상태 코드 - , undlvrRsnNm : ${pageName}Dataset.getValue("UNDLVR_RSN_NM") // 미배달 사유 명 }; - ${pageName}RemoveSndbk(params); + dialog.alert({ + content : "선택한 반송 정보(을)를 삭제하시겠습니까?" + , onOK : () => { + ${pageName}RemoveSndbk(params); + } + }); } // 우편 종적 보기 참고 https://www.data.go.kr/dataset/15000390/openapi.do