diff --git a/src/main/java/cokr/xit/fims/excl/OpnnSbmsn.java b/src/main/java/cokr/xit/fims/excl/OpnnSbmsn.java index b9039635..82919852 100644 --- a/src/main/java/cokr/xit/fims/excl/OpnnSbmsn.java +++ b/src/main/java/cokr/xit/fims/excl/OpnnSbmsn.java @@ -114,11 +114,6 @@ public class OpnnSbmsn extends AbstractEntity { */ private String opnnSbmsnGist; - /** - * 첨부 파일 수 - */ - private Integer atchFileCnt; - /** * 문서 번호 */ 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 6c2760ae..6e906072 100644 --- a/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java +++ b/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java @@ -101,23 +101,6 @@ public interface SndngMapper extends AbstractMapper { return !InfoSndngTrgt.isEmpty() ? InfoSndngTrgt.get(0) : null; } - - - - - - - - - - - - - - - - - /**지정한 발송 ID에 따라 발송 대상 객체들을 반환한다. * @param req 발송 대장 조회 조건 * @return 발송 대상 객체 목록 @@ -136,15 +119,31 @@ public interface SndngMapper extends AbstractMapper { return !InfoCrdnPayerTrgt.isEmpty() ? InfoCrdnPayerTrgt.get(0) : null; } + + /** * @param req 발송 상세 조회 조건 * @return 발송 상세 객체 목록 */ DataObject selectSndngDtlLevyInfo(String sndngDtlId); + + + /**지정한 조건에 따라 발송 상세 목록을 조회하여 반환한다. + * @param req 발송 조회 조건 + * @return 발송 상세 반송 정보 + */ + List selectSndbkList(SndbQuery req); + + /**지정한 조건에 따라 발송 상세 객체들을 반환한다. + * @param req 발송 조회 조건 + * @return 발송 상세 반송 정보 + */ + List selectSndbks(SndbQuery req); + /**지정한 조건에 따라 발송 상세 객체의 마지막 1개를 반환한다. * @param req 발송 조회 조건 - * @return 발송상세 미배달 정보 + * @return 발송 상세 반송 정보 */ default DataObject selectSndbkInfo(SndbQuery req) { // 기본 정렬 @@ -152,17 +151,11 @@ public interface SndngMapper extends AbstractMapper { req.setOrderBy("SD.SNDNG_DTL_ID DESC"); } - List sndbkInfo = selectSndngDtls(req); + List sndbkInfo = selectSndbks(req); return !sndbkInfo.isEmpty() ? sndbkInfo.get(0) : null; } - /**지정한 조건에 따라 반송 목록을 조회하여 반환한다.
- * @param req 발송 대장 조회 조건 - * @return 반송 목록 - */ - List selectSndbkList(SndbQuery req); - /**발송 상세의 반송 정보를 등록한다. * @param sndngDtl 발송 상세 * @return 저장된 정보수 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 05570291..494ffbb4 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 @@ -1223,6 +1223,16 @@ public class SndngBean extends AbstractComponent { boolean retSuccess = false; // DB 처리 결과 String retMessage = "[F] "; // 처리 결과 메시지 + // 반송 내역 조회 + DataObject sndbkInfo = sndngMapper.selectSndbkInfo(new SndbQuery().setSndngDtlId(sndngDtl.getSndngDtlId()) + .setDelYn("N")); + + // 반송 등록이 가능한지 확인. + + // + sndngDtl.setBfrSndngDtlSttsCd(sndbkInfo.string("SNDNG_DTL_STTS_CD")); // 전 발송 상세 상태 코드 + sndngDtl.setSndngDtlSttsCd("05"); // 발송 상세 상태 코드 FIM050 - 05:반송 + // 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록 한다. retSuccess = sndngMapper.createSndbk(sndngDtl); if (!retSuccess) { @@ -1271,6 +1281,16 @@ public class SndngBean extends AbstractComponent { boolean retSuccess = false; // DB 처리 결과 String retMessage = "[F] "; // 처리 결과 메시지 + // 반송 내역 조회 + DataObject sndbkInfo = sndngMapper.selectSndbkInfo(new SndbQuery().setSndngDtlId(sndngDtl.getSndngDtlId()) + .setDelYn("N")); + + // 반송 삭제가 가능한지 확인. + + // + sndngDtl.setBfrSndngDtlSttsCd(sndbkInfo.string("SNDNG_DTL_STTS_CD")); // 전 발송 상세 상태 코드 <- 발송 상세 상태 코드 + sndngDtl.setSndngDtlSttsCd(sndbkInfo.string("BFR_SNDNG_DTL_STTS_CD")); // 발송 상세 상태 코드 <- 전 발송 상세 상태 코드 + // 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록 한다. retSuccess = sndngMapper.deleteSndbk(sndngDtl); if (!retSuccess) { @@ -1286,11 +1306,6 @@ public class SndngBean extends AbstractComponent { - - - - - /**지정한 조건에 따라 발송 대장 객체들을 반환한다. * @param req 발송 대장 조회 조건 * @return 발송 대장 객체 목록 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 f5f10883..fc4fc319 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 @@ -157,6 +157,8 @@ public class SndngServiceBean extends AbstractServiceBean implements SndngServic + + @Override public List getSndngs(SndbQuery req) { return sndngBean.getSndngs(req); diff --git a/src/main/resources/sql/mapper/fims/excl/opnnSbmsn-mapper.xml b/src/main/resources/sql/mapper/fims/excl/opnnSbmsn-mapper.xml index cdf982f4..b881786b 100644 --- a/src/main/resources/sql/mapper/fims/excl/opnnSbmsn-mapper.xml +++ b/src/main/resources/sql/mapper/fims/excl/opnnSbmsn-mapper.xml @@ -30,7 +30,6 @@ - @@ -71,7 +70,6 @@ , OS.OPNN_SBMSN_SE_CD , (SELECT GET_CODE_NM('FIM033', OS.OPNN_SBMSN_SE_CD) FROM DUAL) AS OPNN_SBMSN_SE_NM , OS.OPNN_SBMSN_GIST - , OS.ATCH_FILE_CNT , OS.DOC_NO , OS.NTFCTN_SE_CD , (SELECT GET_CODE_NM('FIM030', OS.NTFCTN_SE_CD) FROM DUAL) AS NTFCTN_SE_NM @@ -284,7 +282,6 @@ , OS.OPNN_SBMSN_SE_CD , (SELECT GET_CODE_NM('FIM033', OS.OPNN_SBMSN_SE_CD) FROM DUAL) AS OPNN_SBMSN_SE_NM , OS.OPNN_SBMSN_GIST - , OS.ATCH_FILE_CNT , OS.DOC_NO , OS.NTFCTN_SE_CD , (SELECT GET_CODE_NM('FIM030', OS.NTFCTN_SE_CD) FROM DUAL) AS NTFCTN_SE_NM @@ -395,7 +392,6 @@ , OPNN_SBMSN_CN , OPNN_SBMSN_SE_CD , OPNN_SBMSN_GIST - , ATCH_FILE_CNT , DOC_NO , NTFCTN_SE_CD , PIC_RVW_OPNN @@ -427,7 +423,6 @@ , #{opnnSbmsn.opnnSbmsnCn} , #{opnnSbmsn.opnnSbmsnSeCd} , #{opnnSbmsn.opnnSbmsnGist} - , #{opnnSbmsn.atchFileCnt} , #{opnnSbmsn.docNo} , #{opnnSbmsn.ntfctnSeCd} , #{opnnSbmsn.picRvwOpnn} @@ -460,7 +455,6 @@ , OPNN_SBMSN_CN = #{opnnSbmsn.opnnSbmsnCn} , OPNN_SBMSN_SE_CD = #{opnnSbmsn.opnnSbmsnSeCd} , OPNN_SBMSN_GIST = #{opnnSbmsn.opnnSbmsnGist} - , ATCH_FILE_CNT = #{opnnSbmsn.atchFileCnt} , PIC_RVW_OPNN = #{opnnSbmsn.picRvwOpnn} , MDFCN_DT = , MDFR = #{opnnSbmsn.modifiedBy} 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 dbbe37d4..b0ecb5c9 100644 --- a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml @@ -1058,200 +1058,6 @@ WHERE SD.SNDNG_DTL_ID = #{sndngDtlId} - - - - /* 발송 대장 등록(sndngMapper.insertSndng) */ SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(SNDNG_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID @@ -1689,14 +1495,263 @@ AND DEL_YN = 'N' + + + + SELECT SD.SNDNG_DTL_ID /* 발송 상세 ID */ + , SD.CRDN_ID /* 단속 ID */ + , SD.SVBTC_ID /* 공시송달 ID */ + , SD.RG_NO /* 등기 번호 */ + , SD.DLVR_YMD /* 배달 일자 */ + , SD.DLVR_TM /* 배달 시각 */ + , SD.UNDLVR_RSN_CD /* 미배달 사유 코드 */ + , SD.UNDLVR_RSN_NM /* 미배달 사유 명 */ + , SD.RCPN_NM /* 수령인 명 */ + , SD.RCPN_REL_NM /* 수령인 관계 명 */ + , SD.SNDNG_DTL_STTS_CD /* 발송 상세 상태 코드 */ + , SD.BFR_SNDNG_DTL_STTS_CD /* 전 발송 상세 상태 코드 */ + , SD.BFR_DLVR_YMD /* 전 배달 일자 */ + , SD.BFR_DLVR_HR /* 전 배달 시간 */ + , S.SNDNG_ID /* 발송 ID */ + , S.SGG_CD /* 시군구 코드 */ + , S.TASK_SE_CD /* 업무 구분 코드 */ + FROM TB_SNDNG_DTL SD + INNER JOIN TB_SNDNG S ON (SD.SNDNG_ID = S.SNDNG_ID) + + + + /* 발송상세의 반송 정보 수정(sndngMapper.createSndbk) */ UPDATE TB_SNDNG_DTL - SET BFR_SNDNG_DTL_STTS_CD = SNDNG_DTL_STTS_CD /* 전 발송 상세 상태 코드 */ - , DLVR_YMD = #{sndngDtl.dlvrYmd} /* 배달 일자 */ + SET 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} @@ -1717,14 +1772,21 @@ /* 발송상세의 반송 정보 삭제(sndngMapper.deleteSndbk) */ UPDATE TB_SNDNG_DTL - SET BFR_SNDNG_DTL_STTS_CD = SNDNG_DTL_STTS_CD /* 전 발송 상세 상태 코드 */ - , UNDLVR_RSN_CD = NULL /* 미배달 사유 코드 */ + SET 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} /* 발송 상세 ID */ AND DEL_YN = 'N' + + diff --git a/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml index f3bf86ee..0db2c4d5 100644 --- a/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml @@ -8,69 +8,69 @@ ============================ --> - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - SELECT SV.SVBTC_ID - , SV.SGG_CD - , SV.TASK_SE_CD - , (SELECT GET_CODE_NM('FIM054', SV.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM - , SV.SNDNG_SE_CD - , (SELECT GET_CODE_NM('FIM047', SV.SNDNG_SE_CD) FROM DUAL) AS SNDNG_SE_NM - , SV.SVBTC_YMD - , SV.TTL_NM - , SV.DOC_NO - , SV.ETC_CN - , SV.TNOCS - , SV.DEL_YN - , SV.REG_DT - , SV.RGTR - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SV.RGTR) AS RGTR_NM - , SV.MDFCN_DT - , SV.MDFR - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SV.MDFR) AS MDFR_NM - , SV.DEL_DT - , SV.DLTR - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SV.DLTR) AS DLTR_NM - , SV.DEL_RSN - FROM TB_SVBTC SV + SELECT SV.SVBTC_ID + , SV.SGG_CD + , SV.TASK_SE_CD + , SV.SNDNG_SE_CD + , SV.SVBTC_YMD + , SV.TTL_NM + , SV.DOC_NO + , SV.ETC_CN + , SV.TNOCS + , SV.DEL_YN + , SV.REG_DT + , SV.RGTR + , SV.MDFCN_DT + , SV.MDFR + , SV.DEL_DT + , SV.DLTR + , SV.DEL_RSN + , (SELECT GET_CODE_NM('FIM054', SV.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM + , (SELECT GET_CODE_NM('FIM047', SV.SNDNG_SE_CD) FROM DUAL) AS SNDNG_SE_NM + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SV.RGTR) AS RGTR_NM + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SV.MDFR) AS MDFR_NM + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = SV.DLTR) AS DLTR_NM + FROM TB_SVBTC SV @@ -79,16 +79,16 @@ - AND SV.SVBTC_ID = #{svbtcId} + AND SV.SVBTC_ID = #{svbtcId} - AND SD.SNDNG_DTL_ID = #{sndngDtlId} + AND SD.SNDNG_DTL_ID = #{sndngDtlId} - AND SD.SNDNG_ID = #{sndngId} + AND SD.SNDNG_ID = #{sndngId} - AND SV.DEL_YN = #{delYn} + AND SV.DEL_YN = #{delYn} @@ -120,7 +120,6 @@ , SD.SNDNG_DTL_ID , SD.SNDNG_ID , SD.CRDN_ID - , SD.LEVY_ID , SD.SNDNG_SE_CD , (SELECT GET_CODE_NM('FIM047', SD.SNDNG_SE_CD) FROM DUAL) AS SNDNG_SE_NM , VHRNO 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 28823ee3..02ff9f3b 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 @@ -451,7 +451,7 @@ $("#btnAddFile--${pageName}").on('click', () => { $("#uploadFiles--${pageName}").trigger("click"); }); } - // 화면 초기 설정 + // 초기 기본 설정 initForm${pageName} = () => { // 화면 초기화 $("#frmEdit--${pageName}")[0].reset(); 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 5434a940..8640f16e 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 @@ -64,6 +64,8 @@ **************************************************************************/ // URL var ${pageName}PrefixUrl = "/sndb/sndb01"; + // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) + var ${pageName}CallPurpose = "${callPurpose}"; // FormFields var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}"); @@ -112,7 +114,7 @@ ${pageName}Control.save = (info) => { if (!info) return; - let create = isEmpty(info.sndngDtlId); + let create = (${pageName}CallPurpose == "create"); ajax.post({ url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create @@ -121,6 +123,22 @@ }); } + /************************************************************************** + * 버튼 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()); + } + }); + } + /************************************************************************** * 초기 셋팅 **************************************************************************/ @@ -151,27 +169,31 @@ } - // 화면 초기값 셋팅 - setForm${pageName} = () => { + // 초기 기본 설정 + initForm${pageName} = () => { + // 화면 초기화 + $("#frmEdit--${pageName}")[0].reset(); + // 달력 초기화 initDatepicker("frmEdit--${pageName}"); $("#dlvrYmd--${pageName}").datepicker("setDate", new Date()); } - /************************************************************************** - * 버튼 click Event - **************************************************************************/ - // 저장 버튼 클릭 이벤트 - fnSave${pageName} = () => { - // validate 확인 - if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; + // 기본 데이터 설정 + setFormData${pageName} = () => { + // 미배달 사유 변경 이벤트 + $("#undlvrRsnCd--${pageName}").trigger("change"); - dialog.alert({ - content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?" - , onOK : () => { - ${pageName}Control.save(${pageName}Fields.get()); - } - }); + 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") { + // + } } /************************************************************************** @@ -181,13 +203,14 @@ // 이벤트 설정 setEvent${pageName}(); - // 화면 초기 설정 - setForm${pageName}(); + // 초기 기본 설정 + initForm${pageName}(); + // Dataset 설정 ${pageName}Control.setData([${sndbkInfo}]); - // 미배달 사유 변경 이벤트 - $("#undlvrRsnCd--${pageName}").trigger("change"); + // 기본 데이터 설정 + setFormData${pageName}(); }); 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 c6b70cca..d94623d3 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 @@ -403,7 +403,7 @@ ${pageName}${pageDataName2}Dataset.clear(); // Dataset 셋팅 - ${pageName}Control.setData(resp.cvlcptDscsn); // 발송 이력 정보 + ${pageName}Control.setData(resp.sndngDtl); // 발송 이력 정보 ${pageName}${pageDataName2}Dataset.setData(resp.svbtcList); // 공시송달 이력 정보 // 최상단 단속 Data 셋팅 @@ -492,6 +492,8 @@ let btnTitle = $("#btnRemoveSndbk--${pageName}").attr("title"); let sndngDtlId = ${pageName}Control.dataset.getValue("SNDNG_DTL_ID"); // 발송 상세 ID let undlvrRsnNm = ${pageName}Control.dataset.getValue("UNDLVR_RSN_NM"); // 미배달 사유 명 + let sndngDtlSttsNm = ${pageName}Control.dataset.getValue("SNDNG_DTL_STTS_NM"); // 발송 상세 상태 코드 + // 발송상세ID 가 없다면.. return if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return;