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 저장 여부 - * - */ - 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 저장 여부 + * + */ + 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 @@ - - - - @@ -31,11 +31,12 @@