diff --git a/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java b/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java
index ba4b3294..4c7f0863 100644
--- a/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java
+++ b/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java
@@ -87,7 +87,7 @@ public interface SndngDtlService {
*
그렇지 않으면 false
*
*/
- String createSndbk(String... sndngDtlIDs);
+ String createSndbk(SndngDtl sndngDtl);
/**발송상세 정보의 반송 정보를 수정한다.
* @param sndngDtl 발송 상세
diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java
index 57879997..c98b2bb2 100644
--- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java
+++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java
@@ -145,6 +145,7 @@ public class SndngDtlBean extends AbstractComponent {
*/
public String createSndbkList(SndbQuery req) {
// 변수 선언
+ boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
List sndngDtlList = sndngDtlMapper.selectSndngTrgtDtlIDs(req.getSndngId());
@@ -157,34 +158,8 @@ public class SndngDtlBean extends AbstractComponent {
// 발송상세(TB_SNDNG_DTL)에 반송 정보를 등록한다.
for (int iLoop = 0; iLoop < sndngDtlList.size(); iLoop++) {
- //
- rtnMsg = createSndbk(sndngDtlList.get(iLoop).string("SNDNG_DTL_ID"));
- // 메시지 확인
- if (rtnMsg.contains("[F]")) {
- throw new RuntimeException("반송 확인 작업중 반송 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
- }
- }
-
- rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
-
- return rtnMsg;
- }
-
- /**발송 상세의 반송 정보를 등록한다.
- * @param sndngDtl 발송 상세
- * @return 저장 여부
- * - 저장됐으면 true
- * - 그렇지 않으면 false
- *
- */
- public String createSndbk(String... sndngDtlIDs) {
- // 변수 선언
- boolean rtnScs = false; // DB 처리 결과
- String rtnMsg = "[F] "; // 처리 결과 메시지
-
- for (int iLoop = 0; iLoop < sndngDtlIDs.length; iLoop++) {
// 반송 내역 조회
- DataObject sndbkInfo = sndngDtlMapper.selectSndbkInfo(new SndbQuery().setSndngDtlId(sndngDtlIDs[iLoop]));
+ DataObject sndbkInfo = sndngDtlMapper.selectSndbkInfo(new SndbQuery().setSndngDtlId(sndngDtlList.get(iLoop).string("SNDNG_DTL_ID")));
// 반송 등록이 가능한지 확인.
if (!("03,05".contains(sndbkInfo.string("SNDNG_DTL_STTS_CD")))) {
@@ -203,9 +178,11 @@ public class SndngDtlBean extends AbstractComponent {
}
// 전자우편 배달 결과 조회
- DataObject epostDlvrRsltInfo = epostDlvrRsltMapper.selectEpostDlvrRsltInfo(new EpostQuery().setConKey(sndbkInfo.string("CON_KEY"))
- .setRegino(sndbkInfo.string("RG_NO")));
+ EpostQuery epostQuery = new EpostQuery();
+ epostQuery.setConKey(sndbkInfo.string("CON_KEY"));
+ epostQuery.setRegino(sndbkInfo.string("RG_NO"));
+ DataObject epostDlvrRsltInfo = epostDlvrRsltMapper.selectEpostDlvrRsltInfo(epostQuery);
// 조회 건수 확인
if (epostDlvrRsltInfo == null) {
rtnMsg = "[N] 반송 자료가 존재하지 않습니다.";
@@ -219,8 +196,6 @@ public class SndngDtlBean extends AbstractComponent {
sndngDtl.setSndngDtlId(sndbkInfo.string("SNDNG_DTL_ID"));
sndngDtl.setDlvrYmd(epostDlvrRsltInfo.string("DELIVYMD")); // 배달일자
sndngDtl.setDlvrTm(epostDlvrRsltInfo.string("DELIVHHMI")); // 배달시간
-// sndngDtl.setUndlvrRsnCd(epostDlvrRsltInfo.string("NONDELIVREASNCD")); // 미배달 사유 코드
-// sndngDtl.setUndlvrRsnNm(epostDlvrRsltInfo.string("NONDELIVREASNCDNM")); // 미배달 사유 명
sndngDtl.setRcpnNm(epostDlvrRsltInfo.string("SUBRECPRSNNM")); // 수령인 명
sndngDtl.setRcpnRelNm(epostDlvrRsltInfo.string("RELRECPRSNCDNM")); // 수령인 관계 명
sndngDtl.setSndngDtlSttsCd("04"); // 발송 상세 상태 코드 FIM050 - 04:발송확인
@@ -231,8 +206,6 @@ public class SndngDtlBean extends AbstractComponent {
sndngDtl.setDlvrTm(epostDlvrRsltInfo.string("DELIVHHMI")); // 배달시간
sndngDtl.setUndlvrRsnCd(epostDlvrRsltInfo.string("NONDELIVREASNCD")); // 미배달 사유 코드
sndngDtl.setUndlvrRsnNm(epostDlvrRsltInfo.string("NONDELIVREASNCDNM")); // 미배달 사유 명
-// sndngDtl.setRcpnNm(epostDlvrRsltInfo.string("SUBRECPRSNNM")); // 수령인 명
-// sndngDtl.setRcpnRelNm(epostDlvrRsltInfo.string("RELRECPRSNCDNM")); // 수령인 관계 명
sndngDtl.setSndngDtlSttsCd("05"); // 발송 상세 상태 코드 FIM050 - 05:반송
sndngDtl.setBfrSndngDtlSttsCd(sndbkInfo.string("SNDNG_DTL_STTS_CD")); // 전 발송 상세 상태 코드
}
@@ -249,6 +222,29 @@ public class SndngDtlBean extends AbstractComponent {
return rtnMsg;
}
+ /**발송 상세의 반송 정보를 등록한다.
+ * @param sndngDtl 발송 상세
+ * @return 저장 여부
+ * - 저장됐으면 true
+ * - 그렇지 않으면 false
+ *
+ */
+ public String createSndbk(SndngDtl sndngDtl) {
+ // 변수 선언
+ boolean rtnScs = false; // DB 처리 결과
+ String rtnMsg = "[F] "; // 처리 결과 메시지
+
+ rtnScs = sndngDtlMapper.createSndbk(sndngDtl);
+ if (!rtnScs) {
+ // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
+ throw new RuntimeException("발송상세의 반송 정보 등록에 실패하였습니다.");
+ }
+
+ rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
+
+ return rtnMsg;
+ }
+
/**발송 상세의 반송 정보를 수정한다.
* @param sndngDtl 발송 상세
* @return 저장 여부
@@ -286,14 +282,31 @@ public class SndngDtlBean extends AbstractComponent {
String rtnMsg = "[F] "; // 처리 결과 메시지
// 반송 내역 조회
- DataObject sndbkInfo = sndngDtlMapper.selectSndbkInfo(new SndbQuery().setSndngDtlId(sndngDtl.getSndngDtlId())
- .setDelYN("N"));
+ SndbQuery req = new SndbQuery();
+ req.setSndngDtlId(sndngDtl.getSndngDtlId());
+ req.setDelYN("N");
- // 반송 삭제가 가능한지 확인.
+ DataObject sndbkInfo = sndngDtlMapper.selectSndbkInfo(req);
- //
- sndngDtl.setBfrSndngDtlSttsCd(sndbkInfo.string("SNDNG_DTL_STTS_CD")); // 전 발송 상세 상태 코드 <- 발송 상세 상태 코드
- sndngDtl.setSndngDtlSttsCd(sndbkInfo.string("BFR_SNDNG_DTL_STTS_CD")); // 발송 상세 상태 코드 <- 전 발송 상세 상태 코드
+ // 반송 삭제가 가능한지 확인
+ if (sndbkInfo == null) {
+ rtnMsg = "[F] 작업 중 대상 자료가 존재하지 않습니다.";
+ return rtnMsg;
+ }
+ if (sndbkInfo.size() == 1) {
+ rtnMsg = "[F] 작업 중 대상 자료가 1건이 아닙니다.";
+ return rtnMsg;
+ }
+
+ // 이전 발송상세 상태 코드가 발송확인(04) 이라면..
+ if (sndbkInfo.string("BFR_SNDNG_DTL_STTS_CD").equals("04")) {
+ sndngDtl.setDlvrYmd(sndbkInfo.string("BFR_DLVR_YMD"));
+ sndngDtl.setDlvrTm(sndbkInfo.string("BFR_DLVR_HR"));
+ sndngDtl.setSndngDtlSttsCd(sndbkInfo.string("BFR_SNDNG_DTL_STTS_CD"));
+ } else {
+ sndngDtl.setDlvrYmd("");
+ sndngDtl.setDlvrTm("");
+ }
// 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록 한다.
rtnScs = sndngDtlMapper.deleteSndbk(sndngDtl);
diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java
index 03d2ea9a..8a48023e 100644
--- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java
+++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java
@@ -85,8 +85,8 @@ public class SndngDtlServiceBean extends AbstractServiceBean implements SndngDtl
}
@Override
- public String createSndbk(String... sndngDtlIDs) {
- return sndngDtlBean.createSndbk(sndngDtlIDs);
+ public String createSndbk(SndngDtl sndngDtl) {
+ return sndngDtlBean.createSndbk(sndngDtl);
}
@Override
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 c3970287..eba3c71f 100644
--- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java
+++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java
@@ -1088,9 +1088,9 @@ public class Sndb01Controller extends ApplicationController {
* "saved": 수정되었으면 true, 그렇지 않으면 false
* }
*/
- public ModelAndView createSendBack(String... sndngDtlIDs) {
+ public ModelAndView createSendBack(SndngDtl sndngDtl) {
boolean saved = false;
- String rtnMsg = sndngDtlService.createSndbk(sndngDtlIDs);
+ String rtnMsg = sndngDtlService.createSndbk(sndngDtl);
if (rtnMsg.contains("[S]")) {
saved = true;
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 8e5b0d29..139731ee 100644
--- a/src/main/java/cokr/xit/fims/task/web/DpvController.java
+++ b/src/main/java/cokr/xit/fims/task/web/DpvController.java
@@ -670,8 +670,8 @@ public class DpvController {
@Override
@RequestMapping(name="발송상세의 반송 정보 등록", value=METHOD_URL.createSendBack)
- public ModelAndView createSendBack(String... sndngDtlIDs) {
- return super.createSendBack(sndngDtlIDs);
+ public ModelAndView createSendBack(SndngDtl sndngDtl) {
+ return super.createSendBack(sndngDtl);
}
@Override
diff --git a/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml
index a487f38c..6897826a 100644
--- a/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml
+++ b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml
@@ -670,14 +670,14 @@
/* 발송 상세 상태 코드 수정(sndngDtlMapper.updateSndngDtlSttsCd) */
UPDATE TB_SNDNG_DTL
- SET BFR_SNDNG_DTL_STTS_CD= SNDNG_DTL_STTS_CD
- , SNDNG_DTL_STTS_CD = #{sndngDtl.sndngDtlSttsCd}
+ SET BFR_SNDNG_DTL_STTS_CD= SNDNG_DTL_STTS_CD
+ , SNDNG_DTL_STTS_CD = #{sndngDtl.sndngDtlSttsCd}
- , MTCHG_ID = #{sndngDtl.mtchgId}
+ , MTCHG_ID = #{sndngDtl.mtchgId}
, MDFCN_DT =
- , MDFR = #{sndngDtl.modifiedBy}
- WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
+ , MDFR = #{sndngDtl.modifiedBy}
+ WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
AND DEL_YN = 'N'
@@ -757,10 +757,10 @@
/* 발송 상세 삭제(sndngDtlMapper.deleteSndngDtl) */
UPDATE TB_SNDNG_DTL
SET DEL_YN = 'Y'
- , DEL_DT =
- , DLTR = #{sndngDtl.modifiedBy}
- , DEL_RSN = #{sndngDtl.delRsn}
- WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
+ , DEL_DT =
+ , DLTR = #{sndngDtl.modifiedBy}
+ , DEL_RSN = #{sndngDtl.delRsn}
+ WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
AND DEL_YN = 'N'
@@ -797,15 +797,15 @@
, SD.MDFR
, SD.DEL_DT
, SD.DLTR
- , CONCAT(SD.FYR, '-', SD.LEVY_NO) AS GOJI_NO
- , (SELECT GET_MASK_DATE(SD.DUDT_YMD, '.') FROM DUAL) AS DUDT_YMD_MASK
+ , CONCAT(SD.FYR, '-', SD.LEVY_NO) AS GOJI_NO
+ , (SELECT GET_MASK_DATE(SD.DUDT_YMD, '.') FROM DUAL) AS DUDT_YMD_MASK
, (SELECT GET_MASK_DATE(SD.DUDT_YMD, 'K') FROM DUAL) AS DUDT_YMD_MASK_KOR
- , (SELECT GET_CODE_NM('FIM047', SD.SNDNG_SE_CD) FROM DUAL) AS SNDNG_SE_NM
+ , (SELECT GET_CODE_NM('FIM047', SD.SNDNG_SE_CD) FROM DUAL) AS SNDNG_SE_NM
, (SELECT GET_CODE_NM('FIM050', SD.SNDNG_DTL_STTS_CD) FROM DUAL) AS SNDNG_DTL_STTS_NM
- , (SELECT GET_CODE_NM('FIM051', SD.SNDNG_RCVMT_CD) FROM DUAL) AS SNDNG_RCVMT_NM
- , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SD.RGTR) AS RGTR_NM
- , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SD.MDFR) AS MDFR_NM
- , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SD.DLTR) AS DLTR_NM
+ , (SELECT GET_CODE_NM('FIM051', SD.SNDNG_RCVMT_CD) FROM DUAL) AS SNDNG_RCVMT_NM
+ , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SD.RGTR) AS RGTR_NM
+ , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SD.MDFR) AS MDFR_NM
+ , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SD.DLTR) AS DLTR_NM
, C.CRDN_ID
, C.SGG_CD
, C.TASK_SE_CD
@@ -1020,72 +1020,78 @@
- /* 발송상세의 반송 정보 수정(sndngDtlMapper.createSndbk) */
+ /* 발송상세의 반송 정보 등록(sndngDtlMapper.createSndbk) */
UPDATE TB_SNDNG_DTL
- SET DLVR_YMD = #{sndngDtl.dlvrYmd}
- , DLVR_TM = #{sndngDtl.dlvrTm}
- , UNDLVR_RSN_CD = #{sndngDtl.undlvrRsnCd}
- , UNDLVR_RSN_NM = #{sndngDtl.undlvrRsnNm}
+ SET BFR_SNDNG_DTL_STTS_CD= SNDNG_DTL_STTS_CD
+ , BFR_DLVR_YMD = DLVR_YMD
+ , BFR_DLVR_HR = DLVR_TM
+ , DLVR_YMD = #{sndngDtl.dlvrYmd}
+ , DLVR_TM = #{sndngDtl.dlvrTm}
+ , UNDLVR_RSN_CD = #{sndngDtl.undlvrRsnCd}
+ , UNDLVR_RSN_NM = #{sndngDtl.undlvrRsnNm}
, SNDNG_DTL_STTS_CD = #{sndngDtl.sndngDtlSttsCd}
- , BFR_SNDNG_DTL_STTS_CD= #{sndngDtl.bfrSndngDtlSttsCd}
, MDFCN_DT =
- , MDFR = #{sndngDtl.modifiedBy}
- WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
+ , MDFR = #{sndngDtl.modifiedBy}
+ WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
AND DEL_YN = 'N'
/* 발송상세의 반송 정보 수정(sndngDtlMapper.updateSndbk) */
UPDATE TB_SNDNG_DTL
- SET DLVR_YMD = #{sndngDtl.dlvrYmd}
- , DLVR_TM = #{sndngDtl.dlvrTm}
- , UNDLVR_RSN_CD = #{sndngDtl.undlvrRsnCd}
- , UNDLVR_RSN_NM = #{sndngDtl.undlvrRsnNm}
+ SET DLVR_YMD = #{sndngDtl.dlvrYmd}
+ , DLVR_TM = #{sndngDtl.dlvrTm}
+ , UNDLVR_RSN_CD = #{sndngDtl.undlvrRsnCd}
+ , UNDLVR_RSN_NM = #{sndngDtl.undlvrRsnNm}
, MDFCN_DT =
- , MDFR = #{sndngDtl.modifiedBy}
- WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
+ , MDFR = #{sndngDtl.modifiedBy}
+ WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
AND DEL_YN = 'N'
/* 발송상세의 반송 정보 삭제(sndngDtlMapper.deleteSndbk) */
UPDATE TB_SNDNG_DTL
- SET UNDLVR_RSN_CD = NULL
- , UNDLVR_RSN_NM = NULL
+ SET BFR_SNDNG_DTL_STTS_CD= NULL
+ , BFR_DLVR_YMD = NULL
+ , BFR_DLVR_HR = NULL
+ , DLVR_YMD = #{sndngDtl.dlvrYmd}
+ , DLVR_TM = #{sndngDtl.dlvrTm}
+ , UNDLVR_RSN_CD = NULL
+ , UNDLVR_RSN_NM = NULL
, SNDNG_DTL_STTS_CD = #{sndngDtl.sndngDtlSttsCd}
- , BFR_SNDNG_DTL_STTS_CD= #{sndngDtl.bfrSndngDtlSttsCd}
, MDFCN_DT =
- , MDFR = #{sndngDtl.modifiedBy}
- WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
+ , MDFR = #{sndngDtl.modifiedBy}
+ WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
AND DEL_YN = 'N'
/* 발송상세의 공시송달 정보를 수정(sndngDtlMapper.updateSndngDtlSvbtc) */
UPDATE TB_SNDNG_DTL
- SET SVBTC_ID = #{sndngDtl.svbtcId}
- , BFR_SNDNG_DTL_STTS_CD= SNDNG_DTL_STTS_CD
+ SET SVBTC_ID = #{sndngDtl.svbtcId}
+ , BFR_SNDNG_DTL_STTS_CD= SNDNG_DTL_STTS_CD
, SNDNG_DTL_STTS_CD = #{sndngDtl.sndngDtlSttsCd}
, MDFCN_DT =
- , MDFR = #{sndngDtl.modifiedBy}
- WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
+ , MDFR = #{sndngDtl.modifiedBy}
+ WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
AND DEL_YN = 'N'
/* 발송상세의 공시송달 정보를 삭제(sndngDtlMapper.deleteSndngDtlSvbtc) */
UPDATE TB_SNDNG_DTL
- SET SVBTC_ID = NULL
- , BFR_SNDNG_DTL_STTS_CD= SNDNG_DTL_STTS_CD
+ SET SVBTC_ID = NULL
+ , BFR_SNDNG_DTL_STTS_CD= SNDNG_DTL_STTS_CD
, SNDNG_DTL_STTS_CD = #{sndngDtl.sndngDtlSttsCd}
, MDFCN_DT =
- , MDFR = #{sndngDtl.modifiedBy}
- WHERE SVBTC_ID = #{sndngDtl.svbtcId}
+ , MDFR = #{sndngDtl.modifiedBy}
+ WHERE SVBTC_ID = #{sndngDtl.svbtcId}
- AND SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
+ AND SNDNG_DTL_ID = #{sndngDtl.sndngDtlId}
AND DEL_YN = 'N'
diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp
index 43c39397..fae2526e 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp
@@ -409,7 +409,11 @@
let btnTitle = $("#btnRemove--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
- dialog.alert(showMessage); // 메시지 출력
+ // 메시지 출력
+ dialog.alert({
+ content : showMessage
+ , onOK : () => { }
+ });
if (resp.saved) {
$P.refreshList(); // 자료 재조회
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 2f37dfe7..a9fe64a2 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
@@ -138,10 +138,14 @@
// 저장 callback
$P.control.onSave = (resp) => {
- let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html();
- let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
+ let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html();
+ let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
- dialog.alert(showMessage);
+ // 메시지 출력
+ dialog.alert({
+ content : showMessage
+ , onOK : () => { }
+ });
if (resp.saved) {
dialog.close($P.control.prefix + "Dialog");
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 8348927f..0289230c 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
@@ -452,9 +452,13 @@
// 삭제 callback
$P.control.onRemove = (resp) => {
let btnTitle = $("#btnRemove--${pageName}").attr("title");
- let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
+ let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
- dialog.alert(showMessage); // 메시지 출력
+ // 메시지 출력
+ dialog.alert({
+ content : showMessage
+ , onOK : () => { }
+ });
if (resp.saved) {
$P.refreshList(); // 자료 재조회
diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp
index ba4591c9..7a030774 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp
@@ -230,10 +230,14 @@
// 저장 callback
$P.control.onSave = (resp) => {
- let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html();
- let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
+ let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html();
+ let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
- dialog.alert(showMessage);
+ // 메시지 출력
+ dialog.alert({
+ content : showMessage
+ , onOK : () => { }
+ });
if (resp.saved) {
// 폼을 리셋해서 uploadFiles에 출력된 선택 파일을 초기화시킨다.
diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp
index 7da15c12..3ec136dd 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp
@@ -176,10 +176,14 @@
// 저장 callback
$P.control.onSave = (resp) => {
- let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html();
- let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
+ let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html();
+ let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
- dialog.alert(showMessage);
+ // 메시지 출력
+ dialog.alert({
+ content : showMessage
+ , onOK : () => { }
+ });
if (resp.saved) {
dialog.close($P.control.prefix + "Dialog");
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 fcbde9b0..833fff07 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
@@ -49,7 +49,7 @@
-
+
@@ -62,160 +62,172 @@
/**************************************************************************
* Global Variable
**************************************************************************/
- // URL
- var ${pageName}PrefixUrl = "/sndb/sndb01";
+ pageObject["${pageName}"] = {};
+
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
var ${pageName}CallPurpose = "${callPurpose}";
- // FormFields
- var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
/**************************************************************************
- * DatasetControl
+ * script 진입
**************************************************************************/
- var ${pageName}Control = new DatasetControl({
- prefix : "sndbkInfo"
- , prefixName : "반송"
- , keymapper : info => info ? info.SNDNG_DTL_ID : ""
- , dataGetter : obj => obj.sndbkInfo
- });
+ $(document).ready(function() {
+ // pageObject
+ var $P = pageObject["${pageName}"];
+
+ // URL
+ $P.PrefixUrl = "/sndb/sndb01";
+ // FormFields
+ $P.formFields = new FimsFormFields("#frmEdit--${pageName}");
+
+ /**************************************************************************
+ * DatasetControl
+ **************************************************************************/
+ $P.control = new DatasetControl({
+ prefix : "sndbk"
+ , prefixName : "반송"
+ , keymapper : info => info ? info.SNDNG_DTL_ID : ""
+ , dataGetter : obj => obj.sndbkInfo
+ });
- ${pageName}Control.onCurrentChange = item => {
- if (!item) return;
+ /**************************************************************************
+ * DatasetControl 이벤트
+ **************************************************************************/
+ $P.control.onCurrentChange = item => {
+ if (!item) return;
- // Dataset 셋팅
- ${pageName}Fields.set(item);
+ // Dataset 셋팅
+ $P.formFields.set(item);
- // 업무구분에 따른 url 변경
- setURL${pageName}(item.data.TASK_SE_CD);
+ // 업무구분에 따른 URL 변경
+ $P.setURL(item.data.TASK_SE_CD);
- // 배달일자
- if ($("#dlvrYmd--${pageName}").val() == "") {
- $("#dlvrYmd--${pageName}").datepicker("setDate", new Date());
+ // 호출용도가 등록 이라면..
+ if (${pageName}CallPurpose == "create") {
+ $("#dlvrYmd--${pageName}").datepicker("setDate", new Date()); // 배달일자
+ }
}
- }
- /**************************************************************************
- * DatasetControl 이벤트
- **************************************************************************/
- // 저장 callback
- ${pageName}Control.onSave = (resp) => {
- let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html();
- let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
+ // 저장 callback
+ $P.control.onSave = (resp) => {
+ let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html();
+ let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
- dialog.alert(showMessage);
+ dialog.alert({
+ content : showMessage
+ , onOK : () => { }
+ });
- if (resp.saved) {
- dialog.close(${pageName}Control.prefix + "Dialog");
+ if (resp.saved) {
+ dialog.close($P.control.prefix + "Dialog");
+ }
}
- }
- // 저장
- ${pageName}Control.save = (info) => {
- if (!info) return;
+ // 저장
+ $P.control.save = (info) => {
+ if (!info) return;
- let create = (${pageName}CallPurpose == "create");
-
- ajax.post({
- url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create
- , data : info
- , success : resp => ${pageName}Control.onSave(resp)
- });
- }
-
- /**************************************************************************
- * 버튼 clickEvent
- **************************************************************************/
- // 저장 버튼 클릭 이벤트
- fnSave${pageName} = () => {
- // validate 확인
- if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
-
- dialog.alert({
- content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?"
- , onOK : () => {
- ${pageName}Control.save(${pageName}Fields.get());
+ let create = false;
+ if (${pageName}CallPurpose == "create") {
+ create = true;
+ info.sndngDtlSttsCd = "05"; // FIM050 - 05 반송
+ } else {
+ create = false;
}
- });
- }
- /**************************************************************************
- * 초기 셋팅
- **************************************************************************/
- // 이벤트 설정
- setEvent${pageName} = () => {
- // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
- $("#frmEdit--${pageName}").find(".form-date").each(function() {
- $(this).on("input",function() {
- let value = this.value.replaceAll("-", "");
-
- if (value.length > 7) {
- this.value = value.substring(0,4) + "-" + value.substring(4,6) + "-" + value.substring(6);
- } else if(value.length > 5) {
- this.value = value.substring(0,4) + "-" + value.substring(4);
+ ajax.post({
+ url : !create ? $P.control.urls.update : $P.control.urls.create
+ , data : info
+ , success : resp => $P.control.onSave(resp)
+ });
+ }
+
+ /**************************************************************************
+ * 버튼 clickEvent
+ **************************************************************************/
+ // 저장 버튼 클릭 이벤트
+ $P.fnSave = () => {
+ // validate 확인
+ if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
+
+ dialog.alert({
+ content : "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
+ , onOK : () => {
+ $P.control.save($P.formFields.get());
}
});
- });
+ }
- $("#undlvrRsnCd--${pageName}").change(function() {
- if ($("#undlvrRsnCd--${pageName}").val() == "00") {
- $("#undlvrRsnNm--${pageName}").prop("readonly", false);
- $("#undlvrRsnNm--${pageName}").val("");
- } else {
- $("#undlvrRsnNm--${pageName}").prop("readonly", true);
- $("#undlvrRsnNm--${pageName}").val($("#undlvrRsnCd--${pageName} option:selected").text());
+ /**************************************************************************
+ * 초기 셋팅
+ **************************************************************************/
+ // 이벤트 설정
+ $P.setEvent = () => {
+ // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
+ $("#frmEdit--${pageName}").find(".form-date").each(function() {
+ $(this).on("input",function() {
+ let value = this.value.replaceAll("-", "");
+
+ if (value.length > 7) {
+ this.value = value.substring(0,4) + "-" + value.substring(4,6) + "-" + value.substring(6);
+ } else if(value.length > 5) {
+ this.value = value.substring(0,4) + "-" + value.substring(4);
+ }
+ });
+ });
+
+ // 업무 버튼 이벤트
+ $("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장
+
+ // 미배달 사유 변경 이벤트
+ $("#undlvrRsnCd--${pageName}").change(function() {
+ if ($("#undlvrRsnCd--${pageName}").val() == "00") {
+ $("#undlvrRsnNm--${pageName}").val("");
+ } else {
+ $("#undlvrRsnNm--${pageName}").val($("#undlvrRsnCd--${pageName} option:selected").text());
+ }
+ });
+ }
+
+ // 초기 화면 설정
+ $P.initForm = () => {
+ // 달력 초기화
+ initDatepicker("frmEdit--${pageName}");
+ $("#dlvrYmd--${pageName}").datepicker("setDate", new Date());
+
+ if (${pageName}CallPurpose == "view") {
+ // input 요소들을 disabled
+ $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true);
+ // button 요소들을 disabled
+ $("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼
}
- });
+ }
- }
-
- // 초기 기본 설정
- initForm${pageName} = () => {
- // 화면 초기화
- $("#frmEdit--${pageName}")[0].reset();
-
- // 달력 초기화
- initDatepicker("frmEdit--${pageName}");
- $("#dlvrYmd--${pageName}").datepicker("setDate", new Date());
- }
-
- // 기본 데이터 설정
- setFormData${pageName} = () => {
- // 미배달 사유 변경 이벤트
- $("#undlvrRsnCd--${pageName}").trigger("change");
-
- if (${pageName}CallPurpose == "view") {
- // input 요소들을 disabled
- $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true);
- // button 요소들을 disabled
- $("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼
- } else if (${pageName}CallPurpose == "create") {
- //
- } else if (${pageName}CallPurpose == "update") {
- //
+ // 기본 데이터 설정
+ $P.initData = () => {
+ // 미배달 사유 변경 이벤트 실행
+ $("#undlvrRsnCd--${pageName}").trigger("change");
}
- }
- // 업무구분에 따른 url 변경
- setURL${pageName} = (taskSeCd) => {
- ${pageName}Control.urls.create = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/220/create.do");
- ${pageName}Control.urls.update = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/220/update.do");
- }
+ // 업무구분에 따른 URL 설정
+ $P.setURL = (taskSeCd) => {
+ $P.control.urls.create = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/220/create.do");
+ $P.control.urls.update = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/220/update.do");
+ }
- /**************************************************************************
- * script 진입
- **************************************************************************/
- $(document).ready(function() {
- // 이벤트 설정
- setEvent${pageName}();
+ /**************************************************************************
+ * 최초 실행 함수
+ **************************************************************************/
+ // 1. 이벤트 설정
+ $P.setEvent();
- // 초기 기본 설정
- initForm${pageName}();
+ // 2. 초기 화면 설정
+ $P.initForm();
- // Dataset 설정
- ${pageName}Control.setData([${sndbkInfo}]);
+ // 3. 기본 데이터 설정
+ $P.initData();
- // 기본 데이터 설정
- setFormData${pageName}();
+ // 4. Dataset 설정
+ $P.control.setData([${sndbkInfo}]);
});
diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp
index 6086e9a4..f58fa943 100644
--- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp
+++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp
@@ -32,7 +32,7 @@
-