diff --git a/src/main/java/cokr/xit/fims/epst/EpostRcptReg.java b/src/main/java/cokr/xit/fims/epst/EpostRcptReg.java index 673fc5aa..899c0d99 100644 --- a/src/main/java/cokr/xit/fims/epst/EpostRcptReg.java +++ b/src/main/java/cokr/xit/fims/epst/EpostRcptReg.java @@ -18,24 +18,24 @@ public class EpostRcptReg extends AbstractEntity { private String conKey; /** - * 발송 ID + * 외부기관구분코드 */ - private String sndngId; + private String conOrg; /** - * 접수 일자 + * 발송 ID */ - private String rceptYmd; + private String sndngId; /** - * 외부기관구분코드 + * 접수우체국국기호 */ - private String conOrg; + private String rceptId; /** - * 접수우체국국기호 + * 접수 일자 */ - private String rceptId; + private String rceptYmd; /** * 접수코드 @@ -242,4 +242,9 @@ public class EpostRcptReg extends AbstractEntity { */ private String delYn; + /** + * 외부연계식별키s + */ + private String[] conKeys; + } diff --git a/src/main/java/cokr/xit/fims/epst/dao/EpostRcptRegMapper.java b/src/main/java/cokr/xit/fims/epst/dao/EpostRcptRegMapper.java index 310b3452..10f24afd 100644 --- a/src/main/java/cokr/xit/fims/epst/dao/EpostRcptRegMapper.java +++ b/src/main/java/cokr/xit/fims/epst/dao/EpostRcptRegMapper.java @@ -112,6 +112,19 @@ public interface EpostRcptRegMapper extends AbstractMapper { return epostRcptReg != null && updateEpostRcptReg(params().set("epostRcptReg", epostRcptReg)) == 1; } + /**전자우편 접수 등록 정보의 우편 처리 상태 코드를 수정한다. + * @param params 파라미터 + * + * @return 저장된 정보수 + */ + int updatePostPrcsSttsCd(Map params); + + default boolean updatePostPrcsSttsCd(EpostRcptReg epostRcptReg) { + return epostRcptReg != null && updatePostPrcsSttsCd(params().set("epostRcptReg", epostRcptReg)) == 1; + } + /**지정한 전자우편 접수 등록을 삭제한다. * @param params 파라미터 * */ - boolean remove(EpostRcptReg epostRcptReg); + String remove(EpostRcptReg epostRcptReg); } diff --git a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegBean.java b/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegBean.java index 6788b856..0c477934 100644 --- a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegBean.java +++ b/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegBean.java @@ -9,6 +9,8 @@ import org.springframework.stereotype.Component; import cokr.xit.foundation.AbstractComponent; import cokr.xit.foundation.data.DataObject; import cokr.xit.fims.epst.dao.EpostRcptRegMapper; +import cokr.xit.fims.sndb.Sndng; +import cokr.xit.fims.sndb.dao.SndngMapper; import cokr.xit.fims.cmmn.CmmnUtil; import cokr.xit.fims.epst.EpostQuery; import cokr.xit.fims.epst.EpostRcptReg; @@ -30,6 +32,10 @@ public class EpostRcptRegBean extends AbstractComponent { @Resource(name = "epostRcptRegMapper") private EpostRcptRegMapper epostRcptRegMapper; + /** 발송 대장 정보 DAO */ + @Resource(name = "sndngMapper") + private SndngMapper sndngMapper; + /**지정한 조건에 따라 전자우편 접수 등록 목록을 조회하여 반환한다. * @param req 전자우편 접수 등록 조회 조건 * @return 전자우편 접수 등록 목록 @@ -140,6 +146,44 @@ public class EpostRcptRegBean extends AbstractComponent { return epostRcptRegMapper.update(epostRcptReg); } + /**전자우편 접수 등록 정보의 우편 처리 상태 코드를 수정한다. + * @param epostRcptReg 전자우편 접수 등록 + * @return 저장 여부 + * + */ + public String updatePostPrcsSttsCd(EpostRcptReg epostRcptReg) { + // 변수 선언 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = "[F] "; // 처리 결과 메시지 + + // 전자우편 접수 등록 정보의 우편 처리 상태 코드를 수정한다. + epostRcptReg.setPostPrcsSttsCd("02"); + + rtnScs = epostRcptRegMapper.updatePostPrcsSttsCd(epostRcptReg); + if (!rtnScs) { + rtnMsg = "전자우편 접수등록 정보 수정에 실패하였습니다."; + throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback + } + + // 발송 정보의 발송 상태 코드를 수정한다. + Sndng sndng = new Sndng(); + + sndng.setSndngId(epostRcptReg.getSndngId()); // 발송 ID + sndng.setSndngSttsCd("02"); // 발송 상태 코드 + + rtnScs = sndngMapper.updateSndngSttsCd(sndng); + if (!rtnScs) { + rtnMsg = "발송 대장 정보 수정에 실패하였습니다."; + throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback + } + + rtnMsg = "[S] 작업이 정상 처리 되었습니다."; + + return rtnMsg; + } + /**전자우편 접수 등록 정보를 삭제한다. * @param epostRcptReg 전자우편 접수 등록 * @return 저장 여부 @@ -147,8 +191,21 @@ public class EpostRcptRegBean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean remove(EpostRcptReg epostRcptReg) { - return epostRcptRegMapper.delete(epostRcptReg); + public String remove(EpostRcptReg epostRcptReg) { + // 변수 선언 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = "[F] "; // 처리 결과 메시지 + + // 전자우편 접수 등록 정보를 삭제한다. + rtnScs = epostRcptRegMapper.delete(epostRcptReg); + if (!rtnScs) { + rtnMsg = "전자우편 접수등록 정보 삭제에 실패하였습니다."; + throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback + } + + rtnMsg = "[S] 작업이 정상 처리 되었습니다."; + + return rtnMsg; } } diff --git a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegServiceBean.java b/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegServiceBean.java index cd3c1cad..cf082367 100644 --- a/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegServiceBean.java +++ b/src/main/java/cokr/xit/fims/epst/service/bean/EpostRcptRegServiceBean.java @@ -56,7 +56,12 @@ public class EpostRcptRegServiceBean extends AbstractServiceBean implements Epos } @Override - public boolean remove(EpostRcptReg epostRcptReg) { + public String updatePostPrcsSttsCd(EpostRcptReg epostRcptReg) { + return epostRcptRegBean.updatePostPrcsSttsCd(epostRcptReg); + } + + @Override + public String remove(EpostRcptReg epostRcptReg) { return epostRcptRegBean.remove(epostRcptReg); } diff --git a/src/main/java/cokr/xit/fims/epst/web/Epst01Controller.java b/src/main/java/cokr/xit/fims/epst/web/Epst01Controller.java index 3b85c24d..8cfb8adb 100644 --- a/src/main/java/cokr/xit/fims/epst/web/Epst01Controller.java +++ b/src/main/java/cokr/xit/fims/epst/web/Epst01Controller.java @@ -26,7 +26,7 @@ public class Epst01Controller extends ApplicationController { public static final String createEpostReceiptRegistration = "/010/create.do" // 전자우편 접수 정보 등록 , updateEpostReceiptRegistration = "/010/update.do" // 전자우편 접수 정보 수정 - , deleteEpostReceiptRegistration = "/010/delete.do" // 전자우편 접수 정보 삭제 + , removeEpostReceiptRegistration = "/010/remove.do" // 전자우편 접수 정보 삭제 ; } @@ -68,10 +68,19 @@ public class Epst01Controller extends ApplicationController { * "saved": 저장되었으면 true, 그렇지 않으면 false * } */ - public ModelAndView deleteEpostReceiptRegistration(EpostRcptReg epostRcptReg) { - boolean saved = epostRcptRegService.remove(epostRcptReg); + public ModelAndView removeEpostReceiptRegistration(EpostRcptReg epostRcptReg) { + boolean saved = false; + String rtnMsg = epostRcptRegService.remove(epostRcptReg); + + if (rtnMsg.contains("[S]")) { + saved = true; + } else { + saved = false; + } + return new ModelAndView("jsonView") - .addObject("saved", saved); + .addObject("saved", saved) + .addObject("rtnMsg", rtnMsg); } } diff --git a/src/main/java/cokr/xit/fims/epst/web/Epst02Controller.java b/src/main/java/cokr/xit/fims/epst/web/Epst02Controller.java index 101d732b..795690b0 100644 --- a/src/main/java/cokr/xit/fims/epst/web/Epst02Controller.java +++ b/src/main/java/cokr/xit/fims/epst/web/Epst02Controller.java @@ -7,10 +7,7 @@ import java.util.function.BiFunction; import javax.annotation.Resource; -import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.CellStyle; -import org.apache.poi.ss.usermodel.Font; -import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.springframework.web.servlet.ModelAndView; import cokr.xit.base.code.CommonCode; @@ -23,6 +20,7 @@ import cokr.xit.fims.cmmn.CmmnUtil; import cokr.xit.fims.cmmn.service.DeptService; import cokr.xit.fims.epst.EpostGdcc; import cokr.xit.fims.epst.EpostQuery; +import cokr.xit.fims.epst.EpostRcptReg; import cokr.xit.fims.epst.EpostRcptRslt; import cokr.xit.fims.epst.service.EpostGdccService; import cokr.xit.fims.epst.service.EpostRcptDtlService; @@ -46,18 +44,20 @@ public class Epst02Controller extends ApplicationController { public class METHOD_URL { public static final String - epostGuidanceDocumentMain = "/010/main.do" // 전자우편 안내문 메인 - , getEpostGuidanceDocumentList = "/010/list.do" // 전자우편 안내문 목록 조회 - , getEpostGuidanceDocumentInfo = "/020/info.do" // 전자우편 안내문 정보 조회 - , createEpostGuidanceDocument = "/020/create.do" // 전자우편 안내문 등록 - , updateEpostGuidanceDocument = "/020/update.do" // 전자우편 안내문 수정 - , removeEpostGuidanceDocument = "/010/remove.do" // 전자우편 안내문 삭제 - , epostReceiptRegistrationMain = "/030/main.do" // 전자우편 발송 상태 메인 - , getEpostReceiptRegistrationList = "/030/list.do" // 전자우편 발송 상태 목록 조회 - , getEpostReceiptRegistrationInfo = "/040/info.do" // 전자우편 발송 상태 정보 조회 - , epostReceiptResultMain = "/050/main.do" // 전자우편 접수 결과 메인 - , getEpostReceiptResultList = "/050/list.do" // 전자우편 접수 결과 목록 조회 - , getEpostReceiptResultSumAmount = "/050/sumAmt.do" // 전자우편 접수 결과 합계 금액 조회 + epostGuidanceDocumentMain = "/010/main.do" // 전자우편 안내문 메인 + , getEpostGuidanceDocumentList = "/010/list.do" // 전자우편 안내문 목록 조회 + , getEpostGuidanceDocumentInfo = "/020/info.do" // 전자우편 안내문 정보 조회 + , createEpostGuidanceDocument = "/020/create.do" // 전자우편 안내문 등록 + , updateEpostGuidanceDocument = "/020/update.do" // 전자우편 안내문 수정 + , removeEpostGuidanceDocument = "/010/remove.do" // 전자우편 안내문 삭제 + , epostReceiptRegistrationMain = "/030/main.do" // 전자우편 우편발송 메인 + , getEpostReceiptRegistrationList = "/030/list.do" // 전자우편 우편발송 목록 조회 + , updateEpostReceiptPostProcessStatus = "/030/updateSttsCd.do" // 전자우편 우편발송 우편처리상태코드 수정 + , removeEpostReceiptRegistration = "/030/remove.do" // 전자우편 우편발송 삭제 + , getEpostReceiptRegistrationInfo = "/040/info.do" // 전자우편 우편발송 정보 조회 + , epostReceiptResultMain = "/050/main.do" // 전자우편 접수 결과 메인 + , getEpostReceiptResultList = "/050/list.do" // 전자우편 접수 결과 목록 조회 + , getEpostReceiptResultSumAmount = "/050/sumAmt.do" // 전자우편 접수 결과 합계 금액 조회 ; } @@ -149,8 +149,8 @@ public class Epst02Controller extends ApplicationController { List list = epostGdccService.getEpostGdccList(req.setFetchSize(0)); - BiFunction getValue = (title1, noting) -> { - switch (title1) { + BiFunction getValue = (titleNm, nothing) -> { + switch (titleNm) { case "업무구분" : return xlsx.style("TASK_SE_NM", XLSWriter.Styler.CENTER); case "발송구분" : return xlsx.style("SNDNG_SE_NM", XLSWriter.Styler.CENTER); case "사용여부" : return xlsx.style("USE_YN_NM", XLSWriter.Styler.CENTER); @@ -307,7 +307,7 @@ public class Epst02Controller extends ApplicationController { return setCollectionInfo(new ModelAndView("jsonView"), result, "epostRcptReg"); } else { XLSWriter xlsx = new XLSWriter() - .setFilename("우편통합 발송상태 목록.xlsx") + .setFilename("우편통합 우편발송 목록.xlsx") .worksheet(0); CellStyle numeric = xlsx.n_nn0() // 숫자 3자리 콤마(,) @@ -331,15 +331,15 @@ public class Epst02Controller extends ApplicationController { List headerStylers = CmmnUtil.makeHeadersByDiffrentWidths(widths, xlsx); xlsx.cell(0, 0) - .value("우편통합 발송상태", XLSWriter.Styler.CENTER) + .value("우편통합 우편발송", XLSWriter.Styler.CENTER) .merge(0, 8) .cell(3, 0) .rowValues(CmmnUtil.mergeListByIndex(titles, headerStylers)); List list = epostRcptRegService.getEpostRcptRegList(req.setFetchSize(0)); - BiFunction getValue = (title1, noting) -> { - switch (title1) { + BiFunction getValue = (titleNm, nothing) -> { + switch (titleNm) { case "발송일자" : return xlsx.format(o -> xlsx.str2date(o.get("SEND_DATE"))).style(dateYMD); case "발송내역" : return xlsx.style("JOB_CD", XLSWriter.Styler.CENTER); case "취급구분" : return xlsx.style("DIV_KB_NM", XLSWriter.Styler.CENTER); @@ -391,6 +391,51 @@ public class Epst02Controller extends ApplicationController { ; } + /**전자우편 접수 등록 정보의 우편 처리 상태 코드를 수정한다. + * @param epostRcptReg 전자우편 접수 등록 + * @return jsonView + *
     {
    +	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    +	 * }
    + */ + public ModelAndView updateEpostReceiptPostProcessStatus(EpostRcptReg epostRcptReg) { + boolean saved = false; + String rtnMsg = epostRcptRegService.updatePostPrcsSttsCd(epostRcptReg); + + if (rtnMsg.contains("[S]")) { + saved = true; + } else { + saved = false; + } + + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("rtnMsg", rtnMsg); + } + + /**지정한 전자우편 접수 등록 정보를 제거한다. + * @param epostRcptReg 전자우편 접수 등록 + * @return jsonView + *
     {
    +	 *     "affected": 저장된 정보수
    +	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
    +	 * }
    + */ + public ModelAndView removeEpostReceiptRegistration(EpostRcptReg epostRcptReg) { + boolean saved = false; + String rtnMsg = epostRcptRegService.remove(epostRcptReg); + + if (rtnMsg.contains("[S]")) { + saved = true; + } else { + saved = false; + } + + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("rtnMsg", rtnMsg); + } + /**전자우편 접수 결과 관리 메인화면(epostRcptRslt/epostRcptRslt-main)을 연다. * 조건없는 {@link #getEpostRcptRsltList(EpostRcptRsltQuery) 전자우편 접수 결과 조회 결과}를 포함시킨다. * @return /epostRcptRslt/epostRcptRslt-main @@ -475,8 +520,8 @@ public class Epst02Controller extends ApplicationController { List list = epostRcptRsltService.getEpostRcptRsltList(req.setFetchSize(0)); - BiFunction getValue = (title1, noting) -> { - switch (title1) { + BiFunction getValue = (titleNm, nothing) -> { + switch (titleNm) { case "발송자료키" : return xlsx.style("RELETCDATA", XLSWriter.Styler.CENTER); case "우편물코드" : return xlsx.style("JOB_CD", XLSWriter.Styler.CENTER); case "우편물종류" : return xlsx.style("JOB_CD3_NM", XLSWriter.Styler.CENTER); diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java index 2348d61e..1fe8ee5e 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java @@ -135,8 +135,8 @@ public class Excl02Controller extends ApplicationController { List list = opnnSbmsnService.getOpnnSbmsnList(req.setFetchSize(0)); - BiFunction getValue = (title1, noting) -> { - switch (title1) { + BiFunction getValue = (titleNm, nothing) -> { + switch (titleNm) { case "업무구분" : return xlsx.style("TASK_SE_NM", XLSWriter.Styler.CENTER); case "접수일자" : return xlsx.format(o -> xlsx.str2date(o.get("RCPT_YMD"))).style(dateYMD); case "접수번호" : return xlsx.style("RCPT_NO", XLSWriter.Styler.CENTER); diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java index 74e667ba..74d14a7a 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl03Controller.java @@ -120,8 +120,8 @@ public class Excl03Controller extends ApplicationController { List list = crdnReRegService.getCrdnReRegList(req.setFetchSize(0)); - BiFunction getValue = (title1, noting) -> { - switch (title1) { + BiFunction getValue = (titleNm, nothing) -> { + switch (titleNm) { case "업무구분" : return xlsx.style("TASK_SE_NM", XLSWriter.Styler.CENTER); case "재등록일자" : return xlsx.format(o -> xlsx.str2date(o.get("RE_REG_YMD"))).style(dateYMD); case "단속등록구분" : return xlsx.style("CRDN_REG_SE_NM", XLSWriter.Styler.CENTER); diff --git a/src/main/java/cokr/xit/fims/nxrp/service/bean/NxrpMtchgBean.java b/src/main/java/cokr/xit/fims/nxrp/service/bean/NxrpMtchgBean.java index 48afd9a5..65f13d69 100644 --- a/src/main/java/cokr/xit/fims/nxrp/service/bean/NxrpMtchgBean.java +++ b/src/main/java/cokr/xit/fims/nxrp/service/bean/NxrpMtchgBean.java @@ -9,7 +9,6 @@ import org.springframework.stereotype.Component; import cokr.xit.foundation.AbstractComponent; import cokr.xit.foundation.data.DataObject; import cokr.xit.fims.nxrp.dao.NxrpMtchgMapper; -import cokr.xit.fims.levy.Levy; import cokr.xit.fims.nxrp.NxrpMtchg; import cokr.xit.fims.nxrp.NxrpMtchgQuery; import cokr.xit.fims.sndb.SndngDtl; diff --git a/src/main/java/cokr/xit/fims/rcvm/RcvmtQuery.java b/src/main/java/cokr/xit/fims/rcvm/RcvmtQuery.java index 6559bde6..a03df4ae 100644 --- a/src/main/java/cokr/xit/fims/rcvm/RcvmtQuery.java +++ b/src/main/java/cokr/xit/fims/rcvm/RcvmtQuery.java @@ -1,7 +1,6 @@ package cokr.xit.fims.rcvm; import cokr.xit.fims.cmmn.CmmnQuery; -import cokr.xit.fims.excl.LevyExclQuery; /**수납 대장 정보 조회 요청 * 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 6e906072..467c1fcc 100644 --- a/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java +++ b/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java @@ -229,6 +229,19 @@ public interface SndngMapper extends AbstractMapper { return sndng != null && updateSndng(params().set("sndng", sndng)) == 1; } + /**발송 대장 정보의 발송 상태 코드를 수정한다. + * @param params 파라미터 + *
    • "sndng" - 발송 대장
    • + *
    • "currentUser" - 현재 접속한 사용자
    • + *
    + * @return 저장된 정보수 + */ + int updateSndngSttsCd(Map params); + + default boolean updateSndngSttsCd(Sndng sndng) { + return sndng != null && updateSndngSttsCd(params().set("sndng", sndng)) == 1; + } + /**지정한 발송 대장을 삭제한다. * @param params 파라미터 *
    • "sndng" - 발송 대장
    • 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 b3d9c407..ebf570b2 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/SndngService.java +++ b/src/main/java/cokr/xit/fims/sndb/service/SndngService.java @@ -90,24 +90,62 @@ public interface SndngService { + /**발송 대장 정보를 등록한다. + * @param sndng 발송 대장 + * @return 저장 여부 + *
      • 저장됐으면 true
      • + *
      • 그렇지 않으면 false
      • + *
      + */ + String createSndng(Sndng sndng); + /**전자우편(EPost) 대장 정보를 등록한다. + * @param sndng 발송 대장 + * @return 저장 여부 + *
      • 저장됐으면 true
      • + *
      • 그렇지 않으면 false
      • + *
      + */ + String createSndngLink(Sndng sndng); + /**발송 대장 정보를 수정한다. + * @param sndng 발송 대장 + * @return 저장 여부 + *
      • 저장됐으면 true
      • + *
      • 그렇지 않으면 false
      • + *
      + */ + boolean updateSndng(Sndng sndng); + /**발송 대장 정보의 발송 상태 코드를 수정한다. + * @param sndng 발송 대장 + * @return 저장 여부 + *
      • 저장됐으면 true
      • + *
      • 그렇지 않으면 false
      • + *
      + */ + boolean updateSndngSttsCd(Sndng sndng); - - - - - - - /**발송 대장 정보를 등록한다. + /**발송 대장 정보를 삭제한다. * @param sndng 발송 대장 * @return 저장 여부 *
      • 저장됐으면 true
      • *
      • 그렇지 않으면 false
      • *
      */ - String createSndng(Sndng sndng); + boolean removeSndng(Sndng sndng); + + + + + + + + + + + + /**지정한 조건에 따라 발송 대장 목록을 조회하여 반환한다. * @param req 발송 대장 조회 조건 @@ -145,33 +183,6 @@ public interface SndngService { */ List getSvbtcDtls(SndbQuery req); - /**발송 대장 정보를 수정한다. - * @param sndng 발송 대장 - * @return 저장 여부 - *
      • 저장됐으면 true
      • - *
      • 그렇지 않으면 false
      • - *
      - */ - boolean updateSndng(Sndng sndng); - - /**발송 대장 정보를 삭제한다. - * @param sndng 발송 대장 - * @return 저장 여부 - *
      • 저장됐으면 true
      • - *
      • 그렇지 않으면 false
      • - *
      - */ - boolean removeSndng(Sndng sndng); - - /**전자우편(EPost) 대장 정보를 등록한다. - * @param sndng 발송 대장 - * @return 저장 여부 - *
      • 저장됐으면 true
      • - *
      • 그렇지 않으면 false
      • - *
      - */ - String createSndngLink(Sndng sndng); - /**발송 상세 정보를 등록한다. * @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 f58e7617..564c4ebc 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 @@ -139,18 +139,6 @@ public class SndngBean extends AbstractComponent { return sndngMapper.selectAdvntceTrgts(req); } - - - - - - - - - - - - /**지정한 조건에 따라 반송 목록을 조회하여 반환한다. * @param req 발송 대장 조회 조건 * @return 반송 목록 @@ -374,6 +362,17 @@ public class SndngBean extends AbstractComponent { return sndngMapper.updateSndng(sndng); } + /**발송 대장 정보의 발송 상태 코드를 수정한다. + * @param sndng 발송 대장 + * @return 저장 여부 + *
      • 저장됐으면 true
      • + *
      • 그렇지 않으면 false
      • + *
      + */ + public boolean updateSndngSttsCd(Sndng sndng) { + return sndngMapper.updateSndngSttsCd(sndng); + } + /**발송 대장 정보를 삭제한다. * @param sndng 발송 대장 * @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 fc4fc319..3bf143ab 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 @@ -111,23 +111,28 @@ public class SndngServiceBean extends AbstractServiceBean implements SndngServic } @Override - public boolean updateSndng(Sndng sndng) { - return sndngBean.updateSndng(sndng); + public String createSndng(Sndng sndng) { + return sndngBean.createSndng(sndng); } @Override - public boolean removeSndng(Sndng sndng) { - return sndngBean.removeSndng(sndng); + public String createSndngLink(Sndng sndng) { + return sndngBean.createEPost(sndng); } @Override - public String createSndng(Sndng sndng) { - return sndngBean.createSndng(sndng); + public boolean updateSndng(Sndng sndng) { + return sndngBean.updateSndng(sndng); } @Override - public String createSndngLink(Sndng sndng) { - return sndngBean.createEPost(sndng); + public boolean updateSndngSttsCd(Sndng sndng) { + return sndngBean.updateSndngSttsCd(sndng); + } + + @Override + public boolean removeSndng(Sndng sndng) { + return sndngBean.removeSndng(sndng); } @Override 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 c11219fc..0ec72b62 100644 --- a/src/main/java/cokr/xit/fims/task/web/DpvController.java +++ b/src/main/java/cokr/xit/fims/task/web/DpvController.java @@ -12,6 +12,7 @@ import cokr.xit.fims.crdn.CrdnQuery; import cokr.xit.fims.cvlc.CrdnCvlcpt; import cokr.xit.fims.epst.EpostGdcc; import cokr.xit.fims.epst.EpostQuery; +import cokr.xit.fims.epst.EpostRcptReg; import cokr.xit.fims.excl.CrdnReReg; import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.fims.excl.LevyExcl; @@ -936,11 +937,23 @@ public class DpvController { } @Override - @RequestMapping(name="전자우편 발송 상태 목록 조회", value=METHOD_URL.getEpostReceiptRegistrationList) + @RequestMapping(name="전자우편 우편발송 목록 조회", value=METHOD_URL.getEpostReceiptRegistrationList) public ModelAndView getEpostReceiptRegistrationList(EpostQuery req) { return super.getEpostReceiptRegistrationList(req); } + @Override + @RequestMapping(name="전자우편 우편발송 우편처리상태코드 수정", value=METHOD_URL.updateEpostReceiptPostProcessStatus) + public ModelAndView updateEpostReceiptPostProcessStatus(EpostRcptReg epostRcptReg) { + return super.updateEpostReceiptPostProcessStatus(epostRcptReg); + } + + @Override + @RequestMapping(name="전자우편 우편발송 삭제", value=METHOD_URL.removeEpostReceiptRegistration) + public ModelAndView removeEpostReceiptRegistration(EpostRcptReg epostRcptReg) { + return super.removeEpostReceiptRegistration(epostRcptReg); + } + @Override @RequestMapping(name="전자우편 접수 결과 목록 조회", value=METHOD_URL.getEpostReceiptResultList) public ModelAndView getEpostReceiptResultList(EpostQuery req) { diff --git a/src/main/resources/sql/mapper/fims/epst/epostRcptReg-mapper.xml b/src/main/resources/sql/mapper/fims/epst/epostRcptReg-mapper.xml index 2aee0f38..25623680 100644 --- a/src/main/resources/sql/mapper/fims/epst/epostRcptReg-mapper.xml +++ b/src/main/resources/sql/mapper/fims/epst/epostRcptReg-mapper.xml @@ -273,6 +273,15 @@ AND D.USE_YN = 'Y' + /* 전자우편 접수 등록 정보의 우편 처리 상태 코드를 수정(epostRcptRegMapper.updatePostPrcsSttsCd) */ + UPDATE TB_EPOST_RCPT_REG + SET POST_PRCS_STTS_CD = #{epostRcptReg.postPrcsSttsCd} + , MDFCN_DT = + , MDFR = #{epostRcptReg.modifiedBy} + WHERE CON_KEY = #{epostRcptReg.conKey} + AND DEL_YN = 'N' + + /* 전자우편 접수 등록 등록(epostRcptRegMapper.insertEpostRcptReg) */ INSERT INTO TB_EPOST_RCPT_REG ( @@ -437,7 +446,16 @@ SET DEL_YN = 'Y' /* 삭제 여부 */ , DEL_DT = /* 삭제 일시 */ , DLTR = #{epostRcptReg.removedBy} /* 삭제자 */ - WHERE CON_KEY = #{epostRcptReg.conKey} + + + WHERE CON_KEY IN ( /* 외부연계식별키s */ + #{epostRcptReg.conKey} + ) + + + WHERE CON_KEY = #{epostRcptReg.conKey} /* 외부연계식별키 */ + + AND DEL_YN = 'N' 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 07e529b5..7ab33be6 100644 --- a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml @@ -1150,6 +1150,15 @@ AND DEL_YN = 'N' + /* 발송 대장 정보의 발송 상태 코드를 수정(sndngMapper.updateSndngSttsCd) */ + UPDATE TB_SNDNG + SET SNDNG_STTS_CD = #{sndng.sndngSttsCd} /* 발송 상태 코드 */ + , MDFCN_DT = /* 수정 일시 */ + , MDFR = #{sndng.modifiedBy} /* 수정자 */ + WHERE SNDNG_ID = #{sndng.sndngId} /* 발송 ID */ + AND DEL_YN = 'N' + + /* 발송 대장 삭제(sndngMapper.deleteSndng) */ UPDATE TB_SNDNG SET DEL_YN = 'Y' /* 삭제 여부 */ diff --git a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp index 1dd342ce..6a1f3905 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp @@ -458,8 +458,11 @@ // 엑셀 버튼 이벤트 fnExcel${pageName} = () => { if (${pageName}Control.dataset.empty) { - alert("조회된 자료가 없습니다."); - return; + dialog.alert({ + content : "검색된 자료가 없습니다." + , onOK : () => { } + }); + return; } let excelTitle = []; @@ -502,7 +505,7 @@ // 전자우편 안내문 삭제 버튼 이벤트 fnRemove${pageName} = () => { dialog.alert({ - content : "선택한 전자우편 안내문 정보를 삭제하시겠습니까?" + content : "선택한 " + ${pageName}Control.prefixName + " 정보를 삭제하시겠습니까?" , onOK : () => { ${pageName}Control.remove(); } diff --git a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02030-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02030-main.jsp index ecacf436..ca04efc0 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02030-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02030-main.jsp @@ -5,7 +5,7 @@
      - 우편통합 발송 상태 + 우편통합 우편발송
      @@ -302,7 +302,7 @@ **************************************************************************/ var ${pageName}Control = new DatasetControl({ prefix : "epostRcptReg" - , prefixName : "발송 상태" + , prefixName : "우편 발송" , infoSize : "md" , keymapper : info => info ? info.CON_KEY : "" , dataGetter : obj => obj.epostRcptRegList @@ -389,10 +389,33 @@ }); } + // 저장 callback + ${pageName}Control.onSave = (resp) => { + let btnTitle = $("#btnUpdate--${pageName}").attr("title"); + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); + + dialog.alert(showMessage); + + if (resp.saved) { + refreshList${pageName}(); + } + } + + // 저장 + ${pageName}Control.save = (info) => { + if (!info) return; + + ajax.post({ + url : ${pageName}Control.urls.update + , data : info + , success : resp => ${pageName}Control.onSave(resp) + }); + } + // 삭제 callback ${pageName}Control.onRemove = (selected, resp) => { let btnTitle = $("#btnRemove--${pageName}").attr("title"); - let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); dialog.alert(showMessage); @@ -410,7 +433,7 @@ if (!params) { params = {}; - params["GdccIDs"] = selected.join(","); // IDs + params["conKeys"] = selected.join(","); // IDs } ajax.post({ @@ -563,8 +586,11 @@ // 엑셀 버튼 이벤트 fnExcel${pageName} = () => { if (${pageName}Control.dataset.empty) { - alert("조회된 자료가 없습니다."); - return; + dialog.alert({ + content : "검색된 자료가 없습니다." + , onOK : () => { } + }); + return; } let excelTitle = []; @@ -595,12 +621,60 @@ // 발송 취소 버튼 이벤트 fnUpdate${pageName} = () => { + let conKey = ${pageName}Control.dataset.getValue("CON_KEY"); // 외부연계식별키 + let sndngId = ${pageName}Control.dataset.getValue("SNDNG_ID"); // 발송 ID + let postPrcsSttsCd = ${pageName}Control.dataset.getValue("POST_PRCS_STTS_CD"); // 우편 처리 상태 코드 + + // 외부연계식별키 가 없다면.. return + if (typeof conKey == "undefined" || conKey == null || conKey == "") return; + // 우편 처리 상태 확인 + if (postPrcsSttsCd != "01") { + dialog.alert({ + content : "처리상태가 발송대기 자료만 취소 가능합니다." + , onOK : () => { } + }); + return; + } + dialog.alert({ + content : "현재 " + ${pageName}Control.prefixName + " 정보를 취소하시겠습니까?" + , onOK : () => { + let params = { + callPurpose : "update" + , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 + , conKey : conKey // 외부연계식별키 + , sndngId : sndngId // 발송 ID + }; + + ${pageName}Control.save(params); + } + }); } // 발송 삭제 버튼 이벤트 fnRemove${pageName} = () => { + let conKey = ${pageName}Control.dataset.getValue("CON_KEY"); // 외부연계식별키 + let postPrcsSttsCd = ${pageName}Control.dataset.getValue("POST_PRCS_STTS_CD"); // 우편 처리 상태 코드 + + // 외부연계식별키 가 없다면.. return + if (typeof conKey == "undefined" || conKey == null || conKey == "") return; + // 우편 처리 상태 확인 + if (postPrcsSttsCd != "02" && postPrcsSttsCd != "03" && postPrcsSttsCd != "05" + && postPrcsSttsCd != "21" && postPrcsSttsCd != "22" && postPrcsSttsCd != "23" + && postPrcsSttsCd != "24" && postPrcsSttsCd != "61" && postPrcsSttsCd != "62") { + dialog.alert({ + content : "처리상태가 제작불가, 발송취소, 전송, 접수 자료만 삭제 가능합니다." + , onOK : () => { } + }); + return; + } + dialog.alert({ + content : "선택한 " + ${pageName}Control.prefixName + " 정보를 삭제하시겠습니까?" + , onOK : () => { + ${pageName}Control.remove(); + } + }); } // 탭0 @@ -712,7 +786,7 @@ // 달력 초기화 initDatepicker("frmSearch--${pageName}"); - $("#schSendDateFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-1365).date); + $("#schSendDateFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date); $("#schSendDateTo--${pageName}").datepicker("setDate", new Date()); // 사용자 이름 @@ -724,9 +798,10 @@ // URL 설정 setURL${pageName} = (taskSeCd) => { - ${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/030/list.do"); // 조회 - ${pageName}Control.urls.remove = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/030/remove.do"); // 삭제 - ${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/040/info.do"); // 정보 + ${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/030/list.do"); // 조회 + ${pageName}Control.urls.update = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/030/updateSttsCd.do"); // 수정 (발송취소) + ${pageName}Control.urls.remove = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/030/remove.do"); // 삭제 + ${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/040/info.do"); // 정보 } // 기본 데이터 설정 diff --git a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02050-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02050-main.jsp index 9c2c2bf8..8e9876a0 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02050-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02050-main.jsp @@ -482,8 +482,11 @@ // 엑셀 버튼 이벤트 fnExcel${pageName} = () => { if (${pageName}Control.dataset.empty) { - alert("조회된 자료가 없습니다."); - return; + dialog.alert({ + content : "검색된 자료가 없습니다." + , onOK : () => { } + }); + return; } let excelTitle = []; @@ -560,7 +563,7 @@ // 달력 초기화 initDatepicker("frmSearch--${pageName}"); - $("#schExtriRegymdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date); + $("#schExtriRegymdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date); $("#schExtriRegymdTo--${pageName}").datepicker("setDate", new Date()); // 사용자 이름 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 8e3d5a4c..94cf8046 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 @@ -558,8 +558,11 @@ // 엑셀 버튼 이벤트 fnExcel${pageName} = () => { if (${pageName}Control.dataset.empty) { - alert("조회된 자료가 없습니다."); - return; + dialog.alert({ + content : "검색된 자료가 없습니다." + , onOK : () => { } + }); + return; } let excelTitle = []; 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 b86414e5..eaae29d5 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 @@ -585,8 +585,11 @@ // 엑셀 버튼 이벤트 fnExcel${pageName} = () => { if (${pageName}Control.dataset.empty) { - alert("조회된 자료가 없습니다."); - return; + dialog.alert({ + content : "검색된 자료가 없습니다." + , onOK : () => { } + }); + return; } let excelTitle = []; diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp index e2a3938f..6390044b 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp @@ -426,8 +426,11 @@ // 엑셀 버튼 이벤트 fnExcel${pageName} = () => { if (${pageName}Control.dataset.empty) { - alert("조회된 자료가 없습니다."); - return; + dialog.alert({ + content : "검색된 자료가 없습니다." + , onOK : () => { } + }); + return; } let excelTitle = [];