우편발송 상세내역 조회 수정.

main
jjh 11 months ago
parent 707b7b46ef
commit 660a1d20bb

@ -29,6 +29,7 @@ public class EpostQuery extends CmmnQuery {
private String gdccId; // 안내문 ID private String gdccId; // 안내문 ID
private String[] rcptRsltIDs; // 접수 결과 IDs private String[] rcptRsltIDs; // 접수 결과 IDs
private String rcptRsltId; // 접수 결과 ID private String rcptRsltId; // 접수 결과 ID
private String conKey; // 외부연계식별키
// 검색 조건 // 검색 조건
private String schLevyExclYmdFrom; // 부과제외_부과제외 일자 시작 private String schLevyExclYmdFrom; // 부과제외_부과제외 일자 시작
private String schLevyExclYmdTo; // 부과제외_부과제외 일자 종료 private String schLevyExclYmdTo; // 부과제외_부과제외 일자 종료
@ -173,6 +174,15 @@ public class EpostQuery extends CmmnQuery {
return self(); return self();
} }
public String getConKey() {
return ifEmpty(conKey, () -> null);
}
public <T extends EpostQuery> T setConKey(String conKey) {
this.conKey = conKey;
return self();
}
public String getSchLevyExclYmdFrom() { public String getSchLevyExclYmdFrom() {
return ifEmpty(schLevyExclYmdFrom, () -> null); return ifEmpty(schLevyExclYmdFrom, () -> null);
} }

@ -54,6 +54,12 @@ public interface EpostRcptRegMapper extends AbstractMapper {
return !epostRcptReg.isEmpty() ? epostRcptReg.get(0) : null; return !epostRcptReg.isEmpty() ? epostRcptReg.get(0) : null;
} }
/** .
* @param req
* @return
*/
List<DataObject> selectEpostSndngSttses(EpostQuery req);
/** .<br /> /** .<br />
* @param req * @param req
* @return * @return

@ -18,6 +18,7 @@ import cokr.xit.fims.epst.EpostQuery;
* </pre> * </pre>
*/ */
public interface EpostRcptRegService { public interface EpostRcptRegService {
/** . /** .
* @param req * @param req
* @return * @return
@ -31,11 +32,17 @@ public interface EpostRcptRegService {
List<DataObject> getEpostRcptRegs(EpostQuery req); List<DataObject> getEpostRcptRegs(EpostQuery req);
/** . /** .
* @param req * @param req
* @return * @return
*/ */
DataObject getEpostRcptRegInfo(EpostQuery req); DataObject getEpostRcptRegInfo(EpostQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getEpostSndngSttsInfo(EpostQuery req);
/** . /** .
* @param epostRcptReg * @param epostRcptReg
* @return * @return

@ -93,6 +93,31 @@ public class EpostRcptRegBean extends AbstractComponent {
return dataInfo; return dataInfo;
} }
/** .
* @param req
* @return
*/
List<DataObject> getEpostSndngSttsInfo(EpostQuery req) {
// 사용 여부 확인
if (req.getUseYN() == null) {
req.setUseYN("Y");
}
// 삭제 여부 확인
if (req.getDelYN() == null) {
req.setDelYN("N");
}
// 정렬 확인
if (req.getOrderBy() == null) {
if (req.getBy() == null) {
req.setOrderBy("CON_KEY, RGST_NMBR");
} else {
req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy()));
}
}
return epostRcptRegMapper.selectEpostSndngSttses(req);
}
/** /**
* @param req * @param req
* @return * @return

@ -45,6 +45,11 @@ public class EpostRcptRegServiceBean extends AbstractServiceBean implements Epos
return epostRcptRegBean.getEpostRcptRegInfo(req); return epostRcptRegBean.getEpostRcptRegInfo(req);
} }
@Override
public List<DataObject> getEpostSndngSttsInfo(EpostQuery req) {
return epostRcptRegBean.getEpostSndngSttsInfo(req);
}
@Override @Override
public boolean create(EpostRcptReg epostRcptReg) { public boolean create(EpostRcptReg epostRcptReg) {
return epostRcptRegBean.create(epostRcptReg); return epostRcptRegBean.create(epostRcptReg);

@ -44,20 +44,21 @@ public class Epst02Controller extends ApplicationController {
public class METHOD_URL { public class METHOD_URL {
public static final String public static final String
epostGuidanceDocumentMain = "/010/main.do" // 전자우편 안내문 메인 epostGuidanceDocumentMain = "/010/main.do" // 전자우편 안내문 메인
, getEpostGuidanceDocumentList = "/010/list.do" // 전자우편 안내문 목록 조회 , getEpostGuidanceDocumentList = "/010/list.do" // 전자우편 안내문 목록 조회
, getEpostGuidanceDocumentInfo = "/020/info.do" // 전자우편 안내문 정보 조회 , getEpostGuidanceDocumentInfo = "/020/info.do" // 전자우편 안내문 상세 정보 조회
, createEpostGuidanceDocument = "/020/create.do" // 전자우편 안내문 등록 , createEpostGuidanceDocument = "/020/create.do" // 전자우편 안내문 등록
, updateEpostGuidanceDocument = "/020/update.do" // 전자우편 안내문 수정 , updateEpostGuidanceDocument = "/020/update.do" // 전자우편 안내문 수정
, removeEpostGuidanceDocument = "/010/remove.do" // 전자우편 안내문 삭제 , removeEpostGuidanceDocument = "/010/remove.do" // 전자우편 안내문 삭제
, epostReceiptRegistrationMain = "/030/main.do" // 전자우편 우편발송 메인 , epostSendingStatusMain = "/030/main.do" // 전자우편 우편발송 메인
, getEpostReceiptRegistrationList = "/030/list.do" // 전자우편 우편발송 목록 조회 , getEpostSendingStatusList = "/030/list.do" // 전자우편 발송 목록 조회
, updateEpostReceiptPostProcessStatus = "/030/updateSttsCd.do" // 전자우편 우편발송 우편처리상태코드 수정 , getEpostSendingStatusInfo = "/040/info.do" // 전자우편 발송 상세 정보 조회
, removeEpostReceiptRegistration = "/030/remove.do" // 전자우편 우편발송 삭제 // , updateEpostSendingStatus = "/030/update.do" // 전자우편 발송 수정
, getEpostReceiptRegistrationInfo = "/040/info.do" // 전자우편 우편발송 정보 조회 , updateEpostSendingProcessStatus = "/030/updateSttsCd.do" // 전자우편 발송 처리상태코드 수정
, epostReceiptResultMain = "/050/main.do" // 전자우편 접수 결과 메인 , removeEpostSendingStatus = "/030/remove.do" // 전자우편 발송 삭제
, getEpostReceiptResultList = "/050/list.do" // 전자우편 접수 결과 목록 조회 , epostReceiptResultMain = "/050/main.do" // 전자우편 접수 결과 메인
, getEpostReceiptResultSumAmount = "/050/sumAmt.do" // 전자우편 접수 결과 합계 금액 조회 , getEpostReceiptResultList = "/050/list.do" // 전자우편 접수 결과 목록 조회
, getEpostReceiptResultSumAmount = "/050/sumAmt.do" // 전자우편 접수 결과 합계 금액 조회
; ;
} }
@ -191,8 +192,6 @@ public class Epst02Controller extends ApplicationController {
// View(jsp)에서 사용할 공통코드를 조회 // View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM047", "FIM054"); Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM047", "FIM054");
addCodes(commonCodes, mav, "FIM047", "FIM054");
return mav return mav
.addObject("pageName", "epst02020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("pageName", "epst02020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("callPurpose", req.getCallPurpose()) // 호출 용도
@ -269,11 +268,10 @@ public class Epst02Controller extends ApplicationController {
.addObject("rtnMsg", rtnMsg); .addObject("rtnMsg", rtnMsg);
} }
/** (epostRcptReg/epostRcptReg-main) . /** (fims/epst/epst02030-main) .
* {@link #getEpostRcptRegList(EpostRcptRegQuery) } . * @return /fims/epst/epst02030-main
* @return /epostRcptReg/epostRcptReg-main
*/ */
public ModelAndView epostReceiptRegistrationMain() { public ModelAndView epostSendingStatusMain() {
ModelAndView mav = new ModelAndView("fims/epst/epst02030-main"); ModelAndView mav = new ModelAndView("fims/epst/epst02030-main");
// 사용자 정보 // 사용자 정보
@ -282,7 +280,8 @@ public class Epst02Controller extends ApplicationController {
// View(jsp)에서 사용할 공통코드를 조회 // View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054"); Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
return mav.addObject("pageName", "epst02030") // View(jsp)에서 사용할 id 뒤에 붙일 suffix return mav
.addObject("pageName", "epst02030") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "epostRcptReg") // prefix .addObject("infoPrefix", "epostRcptReg") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("deptCd", managedUser.getDeptCode()) // 부서 코드(DEPT_CD) 7자리 .addObject("deptCd", managedUser.getDeptCode()) // 부서 코드(DEPT_CD) 7자리
@ -301,7 +300,7 @@ public class Epst02Controller extends ApplicationController {
* "epostRcptRegTotal": * "epostRcptRegTotal":
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getEpostReceiptRegistrationList(EpostQuery req) { public ModelAndView getEpostSendingStatusList(EpostQuery req) {
if (!"xls".equals(req.getDownload())) { if (!"xls".equals(req.getDownload())) {
List<?> result = epostRcptRegService.getEpostRcptRegList(setFetchSize(req)); List<?> result = epostRcptRegService.getEpostRcptRegList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "epostRcptReg"); return setCollectionInfo(new ModelAndView("jsonView"), result, "epostRcptReg");
@ -362,33 +361,87 @@ public class Epst02Controller extends ApplicationController {
} }
} }
/** (info) . /** (info) .
* @param req * @param req
* @return fims/epst/epst01020-info jsonView * @return fims/epst/epst02040-info jsonView
* <pre>{ * <pre>{
* "epostRcptReg": * "epostRcptReg":
* }</pre> * }</pre>
*/ */
public ModelAndView getEpostReceiptRegistrationInfo(EpostQuery req) { public ModelAndView getEpostSendingStatusInfo(EpostQuery req) {
// // 엑셀 저장이 아니라면.. 검색
DataObject epostRcptRegInfo = epostRcptRegService.getEpostRcptRegInfo(req); if (!"xls".equals(req.getDownload())) {
List<DataObject> epostSndngSttsInfo = epostRcptRegService.getEpostSndngSttsInfo(req);
boolean json = jsonResponse(); boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/epst/epst02040-info"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/epst/epst02040-info");
// View(jsp)에서 사용할 공통코드를 조회 return mav
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM047", "FIM054"); .addObject("pageName", "epst02040") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("sggCd", req.getSggCd()) // 시군구 코드(SGG_CD)
.addObject("taskSeCd", req.getTaskSeCd()) // 업무 구분 코드(TASK_SE_CD)
.addObject("epostSndngSttsInfo", json ? epostSndngSttsInfo : toJson(epostSndngSttsInfo))
;
} else {
XLSWriter xlsx = new XLSWriter()
.setFilename("우편통합 발송상세 정보.xlsx")
.worksheet(0);
addCodes(commonCodes, mav, "FIM047", "FIM054"); CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
return mav String[] excelTitle = req.getExcelTitle();
.addObject("pageName", "epst02040") // View(jsp)에서 사용할 id 뒤에 붙일 suffix List<String> titles = new ArrayList<String>();
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도 for (int iLoop = 0; iLoop < excelTitle.length; iLoop++) {
.addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD) String item = excelTitle[iLoop];
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) titles.add(item);
.addObject("epostRcptRegInfo", json ? epostRcptRegInfo : toJson(epostRcptRegInfo)) }
;
int[] excelTitleWidth = req.getExcelTitleWidth();
List<Integer> widths = new ArrayList<>();
for (int jLoop = 0; jLoop < excelTitleWidth.length; jLoop++) {
int item = excelTitleWidth[jLoop];
widths.add(item);
}
List<Styler> headerStylers = CmmnUtil.makeHeadersByDiffrentWidths(widths, xlsx);
xlsx.cell(0, 0)
.value("우편통합 발송상세", XLSWriter.Styler.CENTER)
.merge(0, 13)
.cell(3, 0)
.rowValues(CmmnUtil.mergeListByIndex(titles, headerStylers));
List<DataObject> list = epostRcptRegService.getEpostSndngSttsInfo(req.setFetchSize(0));
BiFunction<String, String, ?> getValue = (titleNm, nothing) -> {
switch (titleNm) {
case "등록일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT);
case "등기번호" : return xlsx.style("RGST_NMBR", XLSWriter.Styler.CENTER);
case "우편번호" : return xlsx.style("RECEV_CAR_OWNER_ZIPCODE", XLSWriter.Styler.CENTER);
case "수취인명" : return xlsx.style("RECEV_CAR_OWNER_NM", XLSWriter.Styler.LEFT);
case "배달일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("DELIV_YMD_TM"))).style(dateDT);
case "배달결과" : return xlsx.style("DELIVRSLTCD_NM", XLSWriter.Styler.CENTER);
case "수령인명" : return xlsx.style("SUBRECPRSNNM", XLSWriter.Styler.LEFT);
case "수령인관계" : return xlsx.style("RELRECPRSNCDNM", XLSWriter.Styler.LEFT);
case "미배달사유" : return xlsx.style("NONDELIVREASNCDNM", XLSWriter.Styler.LEFT);
case "주소" : return xlsx.style("RECEV_CAR_OWNER_ADDR", XLSWriter.Styler.LEFT);
case "상세주소" : return xlsx.style("RECEV_CAR_OWNER_DETAILADDR", XLSWriter.Styler.LEFT);
case "등록사용자" : return xlsx.style("RGTR_NM", XLSWriter.Styler.CENTER);
case "수정일시" : return xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT);
case "수정사용자" : return xlsx.style("MDFR_NM", XLSWriter.Styler.CENTER);
}
return "";
};
xlsx.cell(4, 0)
.values(list, titles.stream().map((item) -> { return getValue.apply(item, null); }).toArray());
return new ModelAndView("xlsView")
.addObject("xls", xlsx);
}
} }
/** . /** .
@ -398,7 +451,7 @@ public class Epst02Controller extends ApplicationController {
* "saved": true, false * "saved": true, false
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView updateEpostReceiptPostProcessStatus(EpostRcptReg epostRcptReg) { public ModelAndView updateEpostSendingProcessStatus(EpostRcptReg epostRcptReg) {
boolean saved = false; boolean saved = false;
String rtnMsg = epostRcptRegService.updatePostPrcsSttsCd(epostRcptReg); String rtnMsg = epostRcptRegService.updatePostPrcsSttsCd(epostRcptReg);
@ -421,7 +474,7 @@ public class Epst02Controller extends ApplicationController {
* "saved": true, false * "saved": true, false
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView removeEpostReceiptRegistration(EpostRcptReg epostRcptReg) { public ModelAndView removeEpostSendingStatus(EpostRcptReg epostRcptReg) {
boolean saved = false; boolean saved = false;
String rtnMsg = epostRcptRegService.remove(epostRcptReg); String rtnMsg = epostRcptRegService.remove(epostRcptReg);
@ -456,8 +509,6 @@ public class Epst02Controller extends ApplicationController {
// View(jsp)에서 사용할 공통코드를 조회 // View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("EGP002", "FIM054", "FIM082"); Map<String, List<CommonCode>> commonCodes = getCodesOf("EGP002", "FIM054", "FIM082");
addCodes(commonCodes, mav, "EGP002", "FIM054", "FIM082");
return mav return mav
.addObject("pageName", "epst02050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("pageName", "epst02050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "epostRcptRslt") // prefix .addObject("infoPrefix", "epostRcptRslt") // prefix
@ -547,9 +598,9 @@ public class Epst02Controller extends ApplicationController {
} }
} }
/** ID , . /** , .
* @param crdnId ID * @param req
* @return fims/sprt/sprt02020-main jsonView * @return ,
* <pre><code> { * <pre><code> {
* "crdnPayer": {...} * "crdnPayer": {...}
* }</code></pre> * }</code></pre>

@ -580,9 +580,9 @@ public class CmnController {
} }
@Override @Override
@RequestMapping(name="발송상태", value=METHOD_URL.epostReceiptRegistrationMain) @RequestMapping(name="우편발송", value=METHOD_URL.epostSendingStatusMain)
public ModelAndView epostReceiptRegistrationMain() { public ModelAndView epostSendingStatusMain() {
return super.epostReceiptRegistrationMain(); return super.epostSendingStatusMain();
} }
@Override @Override

@ -937,21 +937,27 @@ public class DpvController {
} }
@Override @Override
@RequestMapping(name="전자우편 우편발송 목록 조회", value=METHOD_URL.getEpostReceiptRegistrationList) @RequestMapping(name="전자우편 발송 목록 조회", value=METHOD_URL.getEpostSendingStatusList)
public ModelAndView getEpostReceiptRegistrationList(EpostQuery req) { public ModelAndView getEpostSendingStatusList(EpostQuery req) {
return super.getEpostReceiptRegistrationList(req); return super.getEpostSendingStatusList(req);
} }
@Override @Override
@RequestMapping(name="전자우편 우편발송 우편처리상태코드 수정", value=METHOD_URL.updateEpostReceiptPostProcessStatus) @RequestMapping(name="전자우편 발송 상세 정보 조회", value=METHOD_URL.getEpostSendingStatusInfo)
public ModelAndView updateEpostReceiptPostProcessStatus(EpostRcptReg epostRcptReg) { public ModelAndView getEpostSendingStatusInfo(EpostQuery req) {
return super.updateEpostReceiptPostProcessStatus(epostRcptReg); return super.getEpostSendingStatusInfo(req);
} }
@Override @Override
@RequestMapping(name="전자우편 우편발송 삭제", value=METHOD_URL.removeEpostReceiptRegistration) @RequestMapping(name="전자우편 발송 우편처리상태코드 수정", value=METHOD_URL.updateEpostSendingProcessStatus)
public ModelAndView removeEpostReceiptRegistration(EpostRcptReg epostRcptReg) { public ModelAndView updateEpostSendingProcessStatus(EpostRcptReg epostRcptReg) {
return super.removeEpostReceiptRegistration(epostRcptReg); return super.updateEpostSendingProcessStatus(epostRcptReg);
}
@Override
@RequestMapping(name="전자우편 발송 삭제", value=METHOD_URL.removeEpostSendingStatus)
public ModelAndView removeEpostSendingStatus(EpostRcptReg epostRcptReg) {
return super.removeEpostSendingStatus(epostRcptReg);
} }
@Override @Override

@ -63,58 +63,58 @@
</resultMap> </resultMap>
<sql id="selectEpostRcptReg"> <sql id="selectEpostRcptReg">
SELECT ERR.CON_KEY <!-- 외부연계식별키 --> SELECT ERR.CON_KEY /* 외부연계식별키 */
, ERR.CON_ORG <!-- 외부기관구분코드 --> , ERR.CON_ORG /* 외부기관구분코드 */
, ERR.SNDNG_ID <!-- 발송 ID --> , ERR.SNDNG_ID /* 발송 ID */
, ERR.RCEPT_ID <!-- 접수우체국국기호 --> , ERR.RCEPT_ID /* 접수우체국국기호 */
, ERR.RCEPT_YMD <!-- 접수 일자 --> , ERR.RCEPT_YMD /* 접수 일자 */
, ERR.DATA_CD <!-- 접수코드 --> , ERR.DATA_CD /* 접수코드 */
, ERR.DIV_KB <!-- 취급구분 --> , ERR.DIV_KB /* 취급구분 */
, ERR.DFPAYYN <!-- 결재방법 --> , ERR.DFPAYYN /* 결재방법 */
, ERR.RCPT_KB <!-- 내용문 유형 --> , ERR.RCPT_KB /* 내용문 유형 */
, ERR.SEAL_CD <!-- 내용문 상세 종류 --> , ERR.SEAL_CD /* 내용문 상세 종류 */
, ERR.WORD_KB <!-- 내용문 종류 --> , ERR.WORD_KB /* 내용문 종류 */
, ERR.MAIL_CNT <!-- 내용문 매수 --> , ERR.MAIL_CNT /* 내용문 매수 */
, ERR.RECEV_CNT <!-- 수취인 수 --> , ERR.RECEV_CNT /* 수취인 수 */
, ERR.ENV_CD <!-- 봉투 종류 --> , ERR.ENV_CD /* 봉투 종류 */
, ERR.COLOR_YN <!-- 칼라우편물 --> , ERR.COLOR_YN /* 칼라우편물 */
, ERR.MM_YN <!-- 메일머지 플래그 --> , ERR.MM_YN /* 메일머지 플래그 */
, ERR.FLEX_CD <!-- 이면구분 --> , ERR.FLEX_CD /* 이면구분 */
, ERR.DM_CNT <!-- 동봉물 개수 --> , ERR.DM_CNT /* 동봉물 개수 */
, ERR.SB_FG <!-- 반송불필요 여부 --> , ERR.SB_FG /* 반송불필요 여부 */
, ERR.APVL_NB <!-- 승인번호 --> , ERR.APVL_NB /* 승인번호 */
, ERR.SEND_DATE <!-- 신청 일자 --> , ERR.SEND_DATE /* 신청 일자 */
, ERR.SEND_TIME <!-- 전송 시간 --> , ERR.SEND_TIME /* 전송 시간 */
, ERR.RELORSECT_CD <!-- 연계기관결제부서코드 --> , ERR.RELORSECT_CD /* 연계기관결제부서코드 */
, ERR.RECEV_SENDER_ORG_CODE <!-- 발송기관코드 --> , ERR.RECEV_SENDER_ORG_CODE /* 발송기관코드 */
, ERR.RECEV_SENDER_NM <!-- 발송인명 --> , ERR.RECEV_SENDER_NM /* 발송인명 */
, ERR.RECEV_SENDER_ZIPCODE <!-- 발송인 우편번호 --> , ERR.RECEV_SENDER_ZIPCODE /* 발송인 우편번호 */
, ERR.RECEV_SENDER_ADDR <!-- 주소 --> , ERR.RECEV_SENDER_ADDR /* 주소 */
, ERR.RECEV_SENDER_DETAILADDR <!-- 상세주소 --> , ERR.RECEV_SENDER_DETAILADDR /* 상세주소 */
, ERR.RECEV_SENDER_DEPART_TEL <!-- 부과부서 전화번호 --> , ERR.RECEV_SENDER_DEPART_TEL /* 부과부서 전화번호 */
, ERR.RECEV_SENDER_DEPART_NM <!-- 부과부서 --> , ERR.RECEV_SENDER_DEPART_NM /* 부과부서 */
, ERR.RECEV_DIV_CD <!-- 등기구분 --> , ERR.RECEV_DIV_CD /* 등기구분 */
, ERR.RECEV_PRINT_DT <!-- 출력일자 --> , ERR.RECEV_PRINT_DT /* 출력일자 */
, ERR.RECEV_PRINT_YEAR <!-- 출력연도 --> , ERR.RECEV_PRINT_YEAR /* 출력연도 */
, ERR.RECEV_PRINT_MONTH <!-- 출력월 --> , ERR.RECEV_PRINT_MONTH /* 출력월 */
, ERR.RECEV_PRINT_DAY <!-- 출력일 --> , ERR.RECEV_PRINT_DAY /* 출력일 */
, ERR.RECEV_SENDER_FAX <!-- 부과부서 팩스번호 --> , ERR.RECEV_SENDER_FAX /* 부과부서 팩스번호 */
, ERR.RECEV_SERDER_STAFF <!-- 부과부서 담당자 --> , ERR.RECEV_SERDER_STAFF /* 부과부서 담당자 */
, ERR.RECEV_SENDER_EMAIL <!-- 부과부서 이메일 --> , ERR.RECEV_SENDER_EMAIL /* 부과부서 이메일 */
, ERR.REG_VAR_DATA1 <!-- 추가 데이터1 --> , ERR.REG_VAR_DATA1 /* 추가 데이터1 */
, ERR.REG_VAR_DATA2 <!-- 추가 데이터2 --> , ERR.REG_VAR_DATA2 /* 추가 데이터2 */
, ERR.REG_VAR_DATA3 <!-- 추가 데이터3 --> , ERR.REG_VAR_DATA3 /* 추가 데이터3 */
, ERR.REG_VAR_DATA4 <!-- 추가 데이터4 --> , ERR.REG_VAR_DATA4 /* 추가 데이터4 */
, ERR.REG_VAR_DATA5 <!-- 추가 데이터5 --> , ERR.REG_VAR_DATA5 /* 추가 데이터5 */
, ERR.JOB_CD <!-- 작업 코드 --> , ERR.JOB_CD /* 작업 코드 */
, ERR.POST_PRCS_STTS_CD <!-- 우편 처리 상태 코드 --> , ERR.POST_PRCS_STTS_CD /* 우편 처리 상태 코드 */
, ERR.DEL_YN <!-- 삭제 여부 --> , ERR.DEL_YN /* 삭제 여부 */
, ERR.REG_DT <!-- 등록 일시 --> , ERR.REG_DT /* 등록 일시 */
, ERR.RGTR <!-- 등록자 --> , ERR.RGTR /* 등록자 */
, ERR.MDFCN_DT <!-- 수정 일시 --> , ERR.MDFCN_DT /* 수정 일시 */
, ERR.MDFR <!-- 수정자 --> , ERR.MDFR /* 수정자 */
, ERR.DEL_DT <!-- 삭제 일시 --> , ERR.DEL_DT /* 삭제 일시 */
, ERR.DLTR <!-- 삭제자 --> , ERR.DLTR /* 삭제자 */
, (SELECT GET_CODE_NM('EGP002', ERR.DIV_KB) FROM DUAL) AS DIV_KB_NM /* 취급 구분 명 */ , (SELECT GET_CODE_NM('EGP002', ERR.DIV_KB) FROM DUAL) AS DIV_KB_NM /* 취급 구분 명 */
, (SELECT GET_CODE_NM('EGP012', ERR.POST_PRCS_STTS_CD) FROM DUAL) AS POST_PRCS_STTS_NM /* 우편 처리 상태 명 */ , (SELECT GET_CODE_NM('EGP012', ERR.POST_PRCS_STTS_CD) FROM DUAL) AS POST_PRCS_STTS_NM /* 우편 처리 상태 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.RGTR) AS RGTR_NM /* 등록자 명 */ , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.RGTR) AS RGTR_NM /* 등록자 명 */
@ -216,57 +216,90 @@
<include refid="utility.orderBy" /> <include refid="utility.orderBy" />
</select> </select>
<select id="selectEpostSndngSttses" parameterType="map" resultType="dataobject">/* 전자우편 발송 상태 정보들을 가져오기(epostRcptRegMapper.selectEpostSndngSttses) */
SELECT ERR.CON_KEY /* 외부연계식별키 */
, ERR.CON_ORG /* 외부기관구분코드 */
, ERR.REG_DT /* 등록 일시 */
, ERR.RGTR /* 등록자 */
, ERR.MDFCN_DT /* 수정 일시 */
, ERR.MDFR /* 수정자 */
, ERD.RGST_NMBR /* 등기 번호 */
, ERD.RECEV_CAR_OWNER_ZIPCODE /* 우편번호 */
, ERD.RECEV_CAR_OWNER_ADDR /* 주소 */
, ERD.RECEV_CAR_OWNER_DETAILADDR /* 상세주소 */
, ERD.RECEV_CAR_OWNER_NM /* 소유자명 */
, EDR.DELIVRSLTCD /* 배달결과코드 */
, EDR.NONDELIVREASNCD /* 미배달사유코드 */
, EDR.NONDELIVREASNCDNM /* 미배달사유명 */
, EDR.SUBRECPRSNNM /* 수령인명 */
, EDR.RELRECPRSNCD /* 수령인관계코드 */
, EDR.RELRECPRSNCDNM /* 수령인관계명 */
, EDR.MDFCN_DT /* 수정 일시 */
, (CASE WHEN LENGTH(EDR.DELIVHHMI) = 4 THEN CONCAT(EDR.DELIVYMD, EDR.DELIVHHMI, '00')
ELSE CONCAT(EDR.DELIVYMD, EDR.DELIVHHMI)
END) AS DELIV_YMD_TM /* 배달일시 */
, (SELECT GET_CODE_NM('EGP009', EDR.DELIVRSLTCD) FROM DUAL) AS DELIVRSLTCD_NM /* 배달결과코드 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.RGTR) AS RGTR_NM /* 등록자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = ERR.MDFR) AS MDFR_NM /* 수정자 명 */
FROM TB_EPOST_RCPT_REG ERR
INNER JOIN TB_EPOST_RCPT_DTL ERD ON (ERR.CON_KEY = ERD.CON_KEY)
LEFT OUTER JOIN TB_EPOST_DLVR_RSLT EDR ON (ERD.DLVR_RSLT_ID = EDR.DLVR_RSLT_ID)
WHERE ERR.CON_KEY = #{conKey}
AND ERR.DEL_YN = 'N'
<include refid="utility.orderBy" />
</select>
<select id="selectEpostSenderRegSeq" parameterType="String" resultType="String">/* 전자우편 접수 CON_KEY 조회(epostRcptRegMapper.selectEpostSenderRegSeq) */ <select id="selectEpostSenderRegSeq" parameterType="String" resultType="String">/* 전자우편 접수 CON_KEY 조회(epostRcptRegMapper.selectEpostSenderRegSeq) */
SELECT LPAD(IFNULL(RIGHT(MAX(CON_KEY), 3), '000') + 1, 3, '0') AS CON_KEY <!-- 외부연계식별키 --> SELECT LPAD(IFNULL(RIGHT(MAX(CON_KEY), 3), '000') + 1, 3, '0') AS CON_KEY /* 외부연계식별키 */
FROM TB_EPOST_RCPT_REG FROM TB_EPOST_RCPT_REG
WHERE CON_KEY LIKE CONCAT(#{conKey}, '%') WHERE CON_KEY LIKE CONCAT(#{conKey}, '%')
</select> </select>
<select id="selectEpostRgNo" parameterType="String" resultType="String">/* 전자우편 등기번호 조회(epostRcptRegMapper.selectEpostRgNo) */ <select id="selectEpostRgNo" parameterType="String" resultType="String">/* 전자우편 등기번호 조회(epostRcptRegMapper.selectEpostRgNo) */
SELECT RG_NO <!-- 등기 번호 --> SELECT RG_NO /* 등기 번호 */
, RG_NO_NEXT <!-- 다음 등기 번호 --> , RG_NO_NEXT /* 다음 등기 번호 */
FROM TB_EPOST_RG_NO FROM TB_EPOST_RG_NO
WHERE SGG_CD = #{sggCd} WHERE SGG_CD = #{sggCd}
AND TASK_SE_CD = #{taskSeCd} AND TASK_SE_CD = #{taskSeCd}
AND USE_PSBLTY_PSTN = 'Y' AND USE_PSBLTY_PSTN = 'Y'
</select> </select>
<select id="selectDeptSggInfo" parameterType="String" resultType="dataobject">/* 시군구 및 부서 정보 조회(epostRcptRegMapper.selectDeptSggInfo) */ <select id="selectDeptSggInfo" parameterType="String" resultType="dataobject">/* 시군구 및 부서 정보 조회(epostRcptRegMapper.selectDeptSggInfo) */
SELECT D.DEPT_CD <!-- 부서 코드 --> SELECT D.DEPT_CD /* 부서 코드 */
, D.DEPT_NM <!-- 부서 명 --> , D.DEPT_NM /* 부서 명 */
, D.DEPT_TELNO <!-- 부서 전화번호 --> , D.DEPT_TELNO /* 부서 전화번호 */
, D.DEPT_FXNO <!-- 부서 팩스번호 --> , D.DEPT_FXNO /* 부서 팩스번호 */
, D.VRBACNT_LINK_SE_CD <!-- 가상계좌 연계 구분 코드 --> , D.VRBACNT_LINK_SE_CD /* 가상계좌 연계 구분 코드 */
, D.PSTOFC_NM <!-- 우체국 명 --> , D.PSTOFC_NM /* 우체국 명 */
, D.RG_NO_HEADER <!-- 등기 번호 헤더 --> , D.RG_NO_HEADER /* 등기 번호 헤더 */
, D.SNDNG_LINK_SE_CD <!-- 발송 연계 구분 코드 --> , D.SNDNG_LINK_SE_CD /* 발송 연계 구분 코드 */
, D.EGP_CON_ORG <!-- E그린 외부기관구분코드 --> , D.EGP_CON_ORG /* E그린 외부기관구분코드 */
, D.EGP_RCEPT_ID <!-- E그린 접수우체국국기호 --> , D.EGP_RCEPT_ID /* E그린 접수우체국국기호 */
, D.EGP_APVL_NB <!-- E그린 후납계약승인번호 --> , D.EGP_APVL_NB /* E그린 후납계약승인번호 */
, D.EGP_ESB_PATH <!-- E그린 ESB경로 --> , D.EGP_ESB_PATH /* E그린 ESB경로 */
, D.EGP_CERT_CN <!-- E그린 인증서CN --> , D.EGP_CERT_CN /* E그린 인증서CN */
, D.ENS_INTERFACE_ID <!-- 세외수입 인터페이스ID --> , D.ENS_INTERFACE_ID /* 세외수입 인터페이스ID */
, D.ENS_SOURCE_CD <!-- 세외수입 소스코드 --> , D.ENS_SOURCE_CD /* 세외수입 소스코드 */
, D.ENS_TARGET_CD <!-- 세외수입 타겟코드 --> , D.ENS_TARGET_CD /* 세외수입 타겟코드 */
, D.ENS_URL <!-- 세외수입 URL --> , D.ENS_URL /* 세외수입 URL */
, D.SRVR_OS <!-- 서버 OS --> , D.SRVR_OS /* 서버 OS */
, S.SGG_CD <!-- 시군구 코드 --> , S.SGG_CD /* 시군구 코드 */
, S.SGG_NM <!-- 시군구 명 --> , S.SGG_NM /* 시군구 명 */
, S.INST_SE_CD <!-- 기관 구분 코드 --> , S.INST_SE_CD /* 기관 구분 코드 */
, S.INST_CD <!-- 기관 코드 --> , S.INST_CD /* 기관 코드 */
, S.INST_NM <!-- 기관 명 --> , S.INST_NM /* 기관 명 */
, S.INST_ADDR <!-- 기관 주소 --> , S.INST_ADDR /* 기관 주소 */
, S.INST_DADDR <!-- 기관 상세주소 --> , S.INST_DADDR /* 기관 상세주소 */
, S.INST_ZIP <!-- 기관 우편번호 --> , S.INST_ZIP /* 기관 우편번호 */
, S.UP_INST_CD <!-- 상위 기관 코드 --> , S.UP_INST_CD /* 상위 기관 코드 */
, S.UP_INST_NM <!-- 상위 기관 명 --> , S.UP_INST_NM /* 상위 기관 명 */
, CASE WHEN S.INST_SE_CD = '01' THEN CONCAT(S.SGG_NM, '장') , CASE WHEN S.INST_SE_CD = '01' THEN CONCAT(S.SGG_NM, '장')
WHEN S.INST_SE_CD = '02' THEN CONCAT(S.SGG_NM, '청장') WHEN S.INST_SE_CD = '02' THEN CONCAT(S.SGG_NM, '청장')
WHEN S.INST_SE_CD = '03' THEN CONCAT(S.SGG_NM, '수') WHEN S.INST_SE_CD = '03' THEN CONCAT(S.SGG_NM, '수')
WHEN S.INST_SE_CD = '04' THEN CONCAT(S.SGG_NM, '지사') WHEN S.INST_SE_CD = '04' THEN CONCAT(S.SGG_NM, '지사')
WHEN S.INST_SE_CD = '05' THEN CONCAT(S.SGG_NM, '장') WHEN S.INST_SE_CD = '05' THEN CONCAT(S.SGG_NM, '장')
ELSE S.SGG_NM ELSE S.SGG_NM
END AS INST_CHIEF_NM <!-- 기관 장 명 --> END AS INST_CHIEF_NM /* 기관 장 명 */
FROM TB_DEPT D FROM TB_DEPT D
INNER JOIN TB_SGG S ON (D.SGG_CD = S.SGG_CD AND D.INST_CD = S.INST_CD) INNER JOIN TB_SGG S ON (D.SGG_CD = S.SGG_CD AND D.INST_CD = S.INST_CD)
WHERE D.DEPT_CD = #{deptCd} WHERE D.DEPT_CD = #{deptCd}
@ -275,9 +308,9 @@
<update id="updatePostPrcsSttsCd" parameterType="map">/* 전자우편 접수 등록 정보의 우편 처리 상태 코드를 수정(epostRcptRegMapper.updatePostPrcsSttsCd) */ <update id="updatePostPrcsSttsCd" parameterType="map">/* 전자우편 접수 등록 정보의 우편 처리 상태 코드를 수정(epostRcptRegMapper.updatePostPrcsSttsCd) */
UPDATE TB_EPOST_RCPT_REG UPDATE TB_EPOST_RCPT_REG
SET POST_PRCS_STTS_CD = #{epostRcptReg.postPrcsSttsCd} <!-- 우편 처리 상태 --> SET POST_PRCS_STTS_CD = #{epostRcptReg.postPrcsSttsCd} /* 우편 처리 상태 */
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 --> , MDFCN_DT = <include refid="utility.now" /> /* 수정 일시 */
, MDFR = #{epostRcptReg.modifiedBy} <!-- 수정자 --> , MDFR = #{epostRcptReg.modifiedBy} /* 수정자 */
WHERE CON_KEY = #{epostRcptReg.conKey} WHERE CON_KEY = #{epostRcptReg.conKey}
AND DEL_YN = 'N' AND DEL_YN = 'N'
</update> </update>
@ -285,158 +318,158 @@
<insert id="insertEpostRcptReg" parameterType="map">/* 전자우편 접수 등록 등록(epostRcptRegMapper.insertEpostRcptReg) */ <insert id="insertEpostRcptReg" parameterType="map">/* 전자우편 접수 등록 등록(epostRcptRegMapper.insertEpostRcptReg) */
INSERT INSERT
INTO TB_EPOST_RCPT_REG ( INTO TB_EPOST_RCPT_REG (
CON_KEY <!-- 외부연계식별키 --> CON_KEY /* 외부연계식별키 */
, CON_ORG <!-- 외부기관구분코드 --> , CON_ORG /* 외부기관구분코드 */
, SNDNG_ID <!-- 발송 ID --> , SNDNG_ID /* 발송 ID */
, RCEPT_ID <!-- 접수우체국국기호 --> , RCEPT_ID /* 접수우체국국기호 */
, RCEPT_YMD <!-- 접수 일자 --> , RCEPT_YMD /* 접수 일자 */
, DATA_CD <!-- 접수코드 --> , DATA_CD /* 접수코드 */
, DIV_KB <!-- 취급구분 --> , DIV_KB /* 취급구분 */
, DFPAYYN <!-- 결재방법 --> , DFPAYYN /* 결재방법 */
, RCPT_KB <!-- 내용문 유형 --> , RCPT_KB /* 내용문 유형 */
, SEAL_CD <!-- 내용문 상세 종류 --> , SEAL_CD /* 내용문 상세 종류 */
, WORD_KB <!-- 내용문 종류 --> , WORD_KB /* 내용문 종류 */
, MAIL_CNT <!-- 내용문 매수 --> , MAIL_CNT /* 내용문 매수 */
, RECEV_CNT <!-- 수취인 수 --> , RECEV_CNT /* 수취인 수 */
, ENV_CD <!-- 봉투 종류 --> , ENV_CD /* 봉투 종류 */
, COLOR_YN <!-- 칼라우편물 --> , COLOR_YN /* 칼라우편물 */
, MM_YN <!-- 메일머지 플래그 --> , MM_YN /* 메일머지 플래그 */
, FLEX_CD <!-- 이면구분 --> , FLEX_CD /* 이면구분 */
, DM_CNT <!-- 동봉물 개수 --> , DM_CNT /* 동봉물 개수 */
, SB_FG <!-- 반송불필요 여부 --> , SB_FG /* 반송불필요 여부 */
, APVL_NB <!-- 승인번호 --> , APVL_NB /* 승인번호 */
, SEND_DATE <!-- 신청 일자 --> , SEND_DATE /* 신청 일자 */
, SEND_TIME <!-- 전송 시간 --> , SEND_TIME /* 전송 시간 */
, RELORSECT_CD <!-- 연계기관결제부서코드 --> , RELORSECT_CD /* 연계기관결제부서코드 */
, RECEV_SENDER_ORG_CODE <!-- 발송기관코드 --> , RECEV_SENDER_ORG_CODE /* 발송기관코드 */
, RECEV_SENDER_NM <!-- 발송인명 --> , RECEV_SENDER_NM /* 발송인명 */
, RECEV_SENDER_ZIPCODE <!-- 발송인 우편번호 --> , RECEV_SENDER_ZIPCODE /* 발송인 우편번호 */
, RECEV_SENDER_ADDR <!-- 주소 --> , RECEV_SENDER_ADDR /* 주소 */
, RECEV_SENDER_DETAILADDR <!-- 상세주소 --> , RECEV_SENDER_DETAILADDR /* 상세주소 */
, RECEV_SENDER_DEPART_TEL <!-- 부과부서 전화번호 --> , RECEV_SENDER_DEPART_TEL /* 부과부서 전화번호 */
, RECEV_SENDER_DEPART_NM <!-- 부과부서 --> , RECEV_SENDER_DEPART_NM /* 부과부서 */
, RECEV_DIV_CD <!-- 등기구분 --> , RECEV_DIV_CD /* 등기구분 */
, RECEV_PRINT_DT <!-- 출력일자 --> , RECEV_PRINT_DT /* 출력일자 */
, RECEV_PRINT_YEAR <!-- 출력연도 --> , RECEV_PRINT_YEAR /* 출력연도 */
, RECEV_PRINT_MONTH <!-- 출력월 --> , RECEV_PRINT_MONTH /* 출력월 */
, RECEV_PRINT_DAY <!-- 출력일 --> , RECEV_PRINT_DAY /* 출력일 */
, RECEV_SENDER_FAX <!-- 부과부서 팩스번호 --> , RECEV_SENDER_FAX /* 부과부서 팩스번호 */
, RECEV_SERDER_STAFF <!-- 부과부서 담당자 --> , RECEV_SERDER_STAFF /* 부과부서 담당자 */
, RECEV_SENDER_EMAIL <!-- 부과부서 이메일 --> , RECEV_SENDER_EMAIL /* 부과부서 이메일 */
, REG_VAR_DATA1 <!-- 추가 데이터1 --> , REG_VAR_DATA1 /* 추가 데이터1 */
, REG_VAR_DATA2 <!-- 추가 데이터2 --> , REG_VAR_DATA2 /* 추가 데이터2 */
, REG_VAR_DATA3 <!-- 추가 데이터3 --> , REG_VAR_DATA3 /* 추가 데이터3 */
, REG_VAR_DATA4 <!-- 추가 데이터4 --> , REG_VAR_DATA4 /* 추가 데이터4 */
, REG_VAR_DATA5 <!-- 추가 데이터5 --> , REG_VAR_DATA5 /* 추가 데이터5 */
, JOB_CD <!-- 작업 코드 --> , JOB_CD /* 작업 코드 */
, POST_PRCS_STTS_CD <!-- 우편 처리 상태 --> , POST_PRCS_STTS_CD /* 우편 처리 상태 */
, DEL_YN <!-- 삭제 여부 --> , DEL_YN /* 삭제 여부 */
, REG_DT <!-- 등록 일시 --> , REG_DT /* 등록 일시 */
, RGTR <!-- 등록자 --> , RGTR /* 등록자 */
, MDFCN_DT <!-- 수정 일시 --> , MDFCN_DT /* 수정 일시 */
, MDFR <!-- 수정자 --> , MDFR /* 수정자 */
) )
VALUES ( VALUES (
#{epostRcptReg.conKey} <!-- 외부연계식별키 --> #{epostRcptReg.conKey} /* 외부연계식별키 */
, #{epostRcptReg.conOrg} <!-- 외부기관구분코드 --> , #{epostRcptReg.conOrg} /* 외부기관구분코드 */
, #{epostRcptReg.sndngId} <!-- 발송 ID --> , #{epostRcptReg.sndngId} /* 발송 ID */
, #{epostRcptReg.rceptId} <!-- 접수우체국국기호 --> , #{epostRcptReg.rceptId} /* 접수우체국국기호 */
, #{epostRcptReg.rceptYmd} <!-- 접수 일자 --> , #{epostRcptReg.rceptYmd} /* 접수 일자 */
, #{epostRcptReg.dataCd} <!-- 접수코드 --> , #{epostRcptReg.dataCd} /* 접수코드 */
, #{epostRcptReg.divKb} <!-- 취급구분 --> , #{epostRcptReg.divKb} /* 취급구분 */
, #{epostRcptReg.dfpayyn} <!-- 결재방법 --> , #{epostRcptReg.dfpayyn} /* 결재방법 */
, #{epostRcptReg.rcptKb} <!-- 내용문 유형 --> , #{epostRcptReg.rcptKb} /* 내용문 유형 */
, #{epostRcptReg.sealCd} <!-- 내용문 상세 종류 --> , #{epostRcptReg.sealCd} /* 내용문 상세 종류 */
, #{epostRcptReg.wordKb} <!-- 내용문 종류 --> , #{epostRcptReg.wordKb} /* 내용문 종류 */
, #{epostRcptReg.mailCnt} <!-- 내용문 매수 --> , #{epostRcptReg.mailCnt} /* 내용문 매수 */
, #{epostRcptReg.recevCnt} <!-- 수취인 수 --> , #{epostRcptReg.recevCnt} /* 수취인 수 */
, #{epostRcptReg.envCd} <!-- 봉투 종류 --> , #{epostRcptReg.envCd} /* 봉투 종류 */
, #{epostRcptReg.colorYn} <!-- 칼라우편물 --> , #{epostRcptReg.colorYn} /* 칼라우편물 */
, #{epostRcptReg.mmYn} <!-- 메일머지 플래그 --> , #{epostRcptReg.mmYn} /* 메일머지 플래그 */
, #{epostRcptReg.flexCd} <!-- 이면구분 --> , #{epostRcptReg.flexCd} /* 이면구분 */
, #{epostRcptReg.dmCnt} <!-- 동봉물 개수 --> , #{epostRcptReg.dmCnt} /* 동봉물 개수 */
, #{epostRcptReg.sbFg} <!-- 반송불필요 여부 --> , #{epostRcptReg.sbFg} /* 반송불필요 여부 */
, #{epostRcptReg.apvlNb} <!-- 승인번호 --> , #{epostRcptReg.apvlNb} /* 승인번호 */
, #{epostRcptReg.sendDate} <!-- 신청 일자 --> , #{epostRcptReg.sendDate} /* 신청 일자 */
, #{epostRcptReg.sendTime} <!-- 전송 시간 --> , #{epostRcptReg.sendTime} /* 전송 시간 */
, #{epostRcptReg.relorsectCd} <!-- 연계기관결제부서코드 --> , #{epostRcptReg.relorsectCd} /* 연계기관결제부서코드 */
, #{epostRcptReg.recevSenderOrgCode} <!-- 발송기관코드 --> , #{epostRcptReg.recevSenderOrgCode} /* 발송기관코드 */
, #{epostRcptReg.recevSenderNm} <!-- 발송인명 --> , #{epostRcptReg.recevSenderNm} /* 발송인명 */
, #{epostRcptReg.recevSenderZipcode} <!-- 발송인 우편번호 --> , #{epostRcptReg.recevSenderZipcode} /* 발송인 우편번호 */
, #{epostRcptReg.recevSenderAddr} <!-- 주소 --> , #{epostRcptReg.recevSenderAddr} /* 주소 */
, #{epostRcptReg.recevSenderDetailaddr} <!-- 상세주소 --> , #{epostRcptReg.recevSenderDetailaddr} /* 상세주소 */
, #{epostRcptReg.recevSenderDepartTel} <!-- 부과부서 전화번호 --> , #{epostRcptReg.recevSenderDepartTel} /* 부과부서 전화번호 */
, #{epostRcptReg.recevSenderDepartNm} <!-- 부과부서 --> , #{epostRcptReg.recevSenderDepartNm} /* 부과부서 */
, #{epostRcptReg.recevDivCd} <!-- 등기구분 --> , #{epostRcptReg.recevDivCd} /* 등기구분 */
, #{epostRcptReg.recevPrintDt} <!-- 출력일자 --> , #{epostRcptReg.recevPrintDt} /* 출력일자 */
, #{epostRcptReg.recevPrintYear} <!-- 출력연도 --> , #{epostRcptReg.recevPrintYear} /* 출력연도 */
, #{epostRcptReg.recevPrintMonth} <!-- 출력월 --> , #{epostRcptReg.recevPrintMonth} /* 출력월 */
, #{epostRcptReg.recevPrintDay} <!-- 출력일 --> , #{epostRcptReg.recevPrintDay} /* 출력일 */
, #{epostRcptReg.recevSenderFax} <!-- 부과부서 팩스번호 --> , #{epostRcptReg.recevSenderFax} /* 부과부서 팩스번호 */
, #{epostRcptReg.recevSerderStaff} <!-- 부과부서 담당자 --> , #{epostRcptReg.recevSerderStaff} /* 부과부서 담당자 */
, #{epostRcptReg.recevSenderEmail} <!-- 부과부서 이메일 --> , #{epostRcptReg.recevSenderEmail} /* 부과부서 이메일 */
, #{epostRcptReg.regVarData1} <!-- 추가 데이터1 --> , #{epostRcptReg.regVarData1} /* 추가 데이터1 */
, #{epostRcptReg.regVarData2} <!-- 추가 데이터2 --> , #{epostRcptReg.regVarData2} /* 추가 데이터2 */
, #{epostRcptReg.regVarData3} <!-- 추가 데이터3 --> , #{epostRcptReg.regVarData3} /* 추가 데이터3 */
, #{epostRcptReg.regVarData4} <!-- 추가 데이터4 --> , #{epostRcptReg.regVarData4} /* 추가 데이터4 */
, #{epostRcptReg.regVarData5} <!-- 추가 데이터5 --> , #{epostRcptReg.regVarData5} /* 추가 데이터5 */
, #{epostRcptReg.jobCd} <!-- 작업 코드 --> , #{epostRcptReg.jobCd} /* 작업 코드 */
, #{epostRcptReg.postPrcsSttsCd} <!-- 우편 처리 상태 --> , #{epostRcptReg.postPrcsSttsCd} /* 우편 처리 상태 */
, 'N' <!-- 삭제 여부 --> , 'N' /* 삭제 여부 */
, <include refid="utility.now" /> <!-- 등록 일시 --> , <include refid="utility.now" /> /* 등록 일시 */
, #{epostRcptReg.createdBy} <!-- 등록자 --> , #{epostRcptReg.createdBy} /* 등록자 */
, <include refid="utility.now" /> <!-- 수정 일시 --> , <include refid="utility.now" /> /* 수정 일시 */
, #{epostRcptReg.modifiedBy} <!-- 수정자 --> , #{epostRcptReg.modifiedBy} /* 수정자 */
) )
</insert> </insert>
<update id="updateEpostRcptReg" parameterType="map">/* 전자우편 접수 등록 수정(epostRcptRegMapper.updateEpostRcptReg) */ <update id="updateEpostRcptReg" parameterType="map">/* 전자우편 접수 등록 수정(epostRcptRegMapper.updateEpostRcptReg) */
UPDATE TB_EPOST_RCPT_REG UPDATE TB_EPOST_RCPT_REG
SET RCEPT_YMD = #{epostRcptReg.rceptYmd} <!-- 접수 일자 --> SET RCEPT_YMD = #{epostRcptReg.rceptYmd} /* 접수 일자 */
, CON_ORG = #{epostRcptReg.conOrg} <!-- 접수우체국국기호 --> , CON_ORG = #{epostRcptReg.conOrg} /* 접수우체국국기호 */
, RCEPT_ID = #{epostRcptReg.rceptId} <!-- 접수우체국국기호 --> , RCEPT_ID = #{epostRcptReg.rceptId} /* 접수우체국국기호 */
, DATA_CD = #{epostRcptReg.dataCd} <!-- 접수코드 --> , DATA_CD = #{epostRcptReg.dataCd} /* 접수코드 */
, DIV_KB = #{epostRcptReg.divKb} <!-- 취급구분 --> , DIV_KB = #{epostRcptReg.divKb} /* 취급구분 */
, DFPAYYN = #{epostRcptReg.dfpayyn} <!-- 결재방법 --> , DFPAYYN = #{epostRcptReg.dfpayyn} /* 결재방법 */
, RCPT_KB = #{epostRcptReg.rcptKb} <!-- 내용문 유형 --> , RCPT_KB = #{epostRcptReg.rcptKb} /* 내용문 유형 */
, SEAL_CD = #{epostRcptReg.sealCd} <!-- 내용문 상세 종류 --> , SEAL_CD = #{epostRcptReg.sealCd} /* 내용문 상세 종류 */
, WORD_KB = #{epostRcptReg.wordKb} <!-- 내용문 종류 --> , WORD_KB = #{epostRcptReg.wordKb} /* 내용문 종류 */
, MAIL_CNT = #{epostRcptReg.mailCnt} <!-- 내용문 매수 --> , MAIL_CNT = #{epostRcptReg.mailCnt} /* 내용문 매수 */
, RECEV_CNT = #{epostRcptReg.recevCnt} <!-- 수취인 수 --> , RECEV_CNT = #{epostRcptReg.recevCnt} /* 수취인 수 */
, ENV_CD = #{epostRcptReg.envCd} <!-- 봉투 종류 --> , ENV_CD = #{epostRcptReg.envCd} /* 봉투 종류 */
, COLOR_YN = #{epostRcptReg.colorYn} <!-- 칼라우편물 --> , COLOR_YN = #{epostRcptReg.colorYn} /* 칼라우편물 */
, MM_YN = #{epostRcptReg.mmYn} <!-- 메일머지 플래그 --> , MM_YN = #{epostRcptReg.mmYn} /* 메일머지 플래그 */
, FLEX_CD = #{epostRcptReg.flexCd} <!-- 이면구분 --> , FLEX_CD = #{epostRcptReg.flexCd} /* 이면구분 */
, DM_CNT = #{epostRcptReg.dmCnt} <!-- 동봉물 개수 --> , DM_CNT = #{epostRcptReg.dmCnt} /* 동봉물 개수 */
, SB_FG = #{epostRcptReg.sbFg} <!-- 반송불필요 여부 --> , SB_FG = #{epostRcptReg.sbFg} /* 반송불필요 여부 */
, APVL_NB = #{epostRcptReg.apvlNb} <!-- 승인번호 --> , APVL_NB = #{epostRcptReg.apvlNb} /* 승인번호 */
, SEND_DATE = #{epostRcptReg.sendDate} <!-- 신청 일자 --> , SEND_DATE = #{epostRcptReg.sendDate} /* 신청 일자 */
, SEND_TIME = #{epostRcptReg.sendTime} <!-- 전송 시간 --> , SEND_TIME = #{epostRcptReg.sendTime} /* 전송 시간 */
, RELORSECT_CD = #{epostRcptReg.relorsectCd} <!-- 연계기관결제부서코드 --> , RELORSECT_CD = #{epostRcptReg.relorsectCd} /* 연계기관결제부서코드 */
, RECEV_SENDER_ORG_CODE = #{epostRcptReg.recevSenderOrgCode} <!-- 발송기관코드 --> , RECEV_SENDER_ORG_CODE = #{epostRcptReg.recevSenderOrgCode} /* 발송기관코드 */
, RECEV_SENDER_NM = #{epostRcptReg.recevSenderNm} <!-- 발송인명 --> , RECEV_SENDER_NM = #{epostRcptReg.recevSenderNm} /* 발송인명 */
, RECEV_SENDER_ZIPCODE = #{epostRcptReg.recevSenderZipcode} <!-- 발송인 우편번호 --> , RECEV_SENDER_ZIPCODE = #{epostRcptReg.recevSenderZipcode} /* 발송인 우편번호 */
, RECEV_SENDER_ADDR = #{epostRcptReg.recevSenderAddr} <!-- 주소 --> , RECEV_SENDER_ADDR = #{epostRcptReg.recevSenderAddr} /* 주소 */
, RECEV_SENDER_DETAILADDR = #{epostRcptReg.recevSenderDetailaddr} <!-- 상세주소 --> , RECEV_SENDER_DETAILADDR = #{epostRcptReg.recevSenderDetailaddr} /* 상세주소 */
, RECEV_SENDER_DEPART_TEL = #{epostRcptReg.recevSenderDepartTel} <!-- 부과부서 전화번호 --> , RECEV_SENDER_DEPART_TEL = #{epostRcptReg.recevSenderDepartTel} /* 부과부서 전화번호 */
, RECEV_SENDER_DEPART_NM = #{epostRcptReg.recevSenderDepartNm} <!-- 부과부서 --> , RECEV_SENDER_DEPART_NM = #{epostRcptReg.recevSenderDepartNm} /* 부과부서 */
, RECEV_DIV_CD = #{epostRcptReg.recevDivCd} <!-- 등기구분 --> , RECEV_DIV_CD = #{epostRcptReg.recevDivCd} /* 등기구분 */
, RECEV_PRINT_DT = #{epostRcptReg.recevPrintDt} <!-- 출력일자 --> , RECEV_PRINT_DT = #{epostRcptReg.recevPrintDt} /* 출력일자 */
, RECEV_PRINT_YEAR = #{epostRcptReg.recevPrintYear} <!-- 출력연도 --> , RECEV_PRINT_YEAR = #{epostRcptReg.recevPrintYear} /* 출력연도 */
, RECEV_PRINT_MONTH = #{epostRcptReg.recevPrintMonth} <!-- 출력월 --> , RECEV_PRINT_MONTH = #{epostRcptReg.recevPrintMonth} /* 출력월 */
, RECEV_PRINT_DAY = #{epostRcptReg.recevPrintDay} <!-- 출력일 --> , RECEV_PRINT_DAY = #{epostRcptReg.recevPrintDay} /* 출력일 */
, RECEV_SENDER_FAX = #{epostRcptReg.recevSenderFax} <!-- 부과부서 팩스번호 --> , RECEV_SENDER_FAX = #{epostRcptReg.recevSenderFax} /* 부과부서 팩스번호 */
, RECEV_SERDER_STAFF = #{epostRcptReg.recevSerderStaff} <!-- 부과부서 담당자 --> , RECEV_SERDER_STAFF = #{epostRcptReg.recevSerderStaff} /* 부과부서 담당자 */
, RECEV_SENDER_EMAIL = #{epostRcptReg.recevSenderEmail} <!-- 부과부서 이메일 --> , RECEV_SENDER_EMAIL = #{epostRcptReg.recevSenderEmail} /* 부과부서 이메일 */
, REG_VAR_DATA1 = #{epostRcptReg.regVarData1} <!-- 추가 데이터1 --> , REG_VAR_DATA1 = #{epostRcptReg.regVarData1} /* 추가 데이터1 */
, REG_VAR_DATA2 = #{epostRcptReg.regVarData2} <!-- 추가 데이터2 --> , REG_VAR_DATA2 = #{epostRcptReg.regVarData2} /* 추가 데이터2 */
, REG_VAR_DATA3 = #{epostRcptReg.regVarData3} <!-- 추가 데이터3 --> , REG_VAR_DATA3 = #{epostRcptReg.regVarData3} /* 추가 데이터3 */
, REG_VAR_DATA4 = #{epostRcptReg.regVarData4} <!-- 추가 데이터4 --> , REG_VAR_DATA4 = #{epostRcptReg.regVarData4} /* 추가 데이터4 */
, REG_VAR_DATA5 = #{epostRcptReg.regVarData5} <!-- 추가 데이터5 --> , REG_VAR_DATA5 = #{epostRcptReg.regVarData5} /* 추가 데이터5 */
, JOB_CD = #{epostRcptReg.jobCd} <!-- 작업 코드 --> , JOB_CD = #{epostRcptReg.jobCd} /* 작업 코드 */
, POST_PRCS_STTS_CD = #{epostRcptReg.postPrcsSttsCd} <!-- 우편 처리 상태 --> , POST_PRCS_STTS_CD = #{epostRcptReg.postPrcsSttsCd} /* 우편 처리 상태 */
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 --> , MDFCN_DT = <include refid="utility.now" /> /* 수정 일시 */
, MDFR = #{epostRcptReg.modifiedBy} <!-- 수정자 --> , MDFR = #{epostRcptReg.modifiedBy} /* 수정자 */
WHERE CON_KEY = #{epostRcptReg.conKey} WHERE CON_KEY = #{epostRcptReg.conKey}
AND DEL_YN = 'N' AND DEL_YN = 'N'
</update> </update>

@ -241,7 +241,7 @@
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCEPT_YMD', this.innerText, 'ymd', '');">접수일자</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RCEPT_YMD', this.innerText, 'ymd', '');">접수일자</th>
<th class="cmn" style="width: 240px;" onclick="searchFromGridTitle('CON_KEY', this.innerText, 'match', 'part');">자료키</th> <th class="cmn" style="width: 240px;" onclick="searchFromGridTitle('CON_KEY', this.innerText, 'match', 'part');">자료키</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RECEV_CNT', this.innerText, 'match', 'part');">발송건수</th> <th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RECEV_CNT', this.innerText, 'match', 'part');">발송건수</th>
<th class="cmn" style="width: 220px;" onclick="searchFromGridTitle('POST_PRCS_STTS_CD', this.innerText, 'codeValue', 'EGP012');">우편처리상태</th> <th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('POST_PRCS_STTS_CD', this.innerText, 'codeValue', 'EGP012');">우편처리상태</th>
<th class="cmn" style="width: 180px;">등록일시</th> <th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th> <th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn dummy-th"></th> <th class="cmn dummy-th"></th>
@ -303,7 +303,7 @@
var ${pageName}Control = new DatasetControl({ var ${pageName}Control = new DatasetControl({
prefix : "epostRcptReg" prefix : "epostRcptReg"
, prefixName : "우편 발송" , prefixName : "우편 발송"
, infoSize : "md" , infoSize : "xxl"
, keymapper : info => info ? info.CON_KEY : "" , keymapper : info => info ? info.CON_KEY : ""
, dataGetter : obj => obj.epostRcptRegList , dataGetter : obj => obj.epostRcptRegList
, appendData : true , appendData : true
@ -360,9 +360,20 @@
$("#btnRemove--${pageName}").prop("disabled", keys.length < 1); $("#btnRemove--${pageName}").prop("disabled", keys.length < 1);
}; };
// 수정 dialog // 상세 정보 dialog
${pageName}Control.getInfo = (params) => { ${pageName}Control.getInfo = (callPurpose, conKey) => {
if (!params) return; if (typeof conKey == "undefined" || conKey == null || conKey == "") return;
if (typeof callPurpose == "undefined" || callPurpose == null || callPurpose == "") {
callPurpose = "view";
}
let params = {
callPurpose : callPurpose
, sggCd : $("#sggCd--${pageName}").val()
, taskSeCd : $("input[name=taskSeCd]:checked").val()
, conKey : conKey
}
let dialogTitle = ""; let dialogTitle = "";
@ -383,7 +394,7 @@
, title :dialogTitle , title :dialogTitle
, content : resp , content : resp
, size : ${pageName}Control.infoSize , size : ${pageName}Control.infoSize
, onClose : () => { refreshList${pageName}(); } // 자료 재조회 , onClose : () => { } // callback
}); });
} }
}); });
@ -457,7 +468,7 @@
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str (str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("CON_KEY") + "');") .replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("CON_KEY") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('update', '" + dataItem.getValue("CON_KEY") + "');") .replace(/{ondblclick}/gi, "${pageName}Control.getInfo('view', '" + dataItem.getValue("CON_KEY") + "');")
); );
let noMore = (totalSize == ${infoPrefix}List.length); let noMore = (totalSize == ${infoPrefix}List.length);

@ -5,54 +5,87 @@
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content --> <!-- Content -->
<div class="container flex-grow-1 px-0"> <div class="container flex-grow-1 px-0">
<c:set var="prefixName" scope="request">우편통합 안내문 정보</c:set> <c:set var="prefixName" scope="request">우편통합 발송 내역</c:set>
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card">
<!-- 입력 영역 --> <!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit"> <form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden --> <!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" /> <input type="hidden" id="sggCd--${pageName}" name="sggCd" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" data-map="TASK_SE_CD" /> <input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" />
<input type="hidden" id="gdccId--${pageName}" name="gdccId" data-map="GDCC_ID" />
<div class="row g-1">
<!-- 발송 구분 코드 -->
<div class="col-md-12">
<label for="sndngSeCd--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end required">발송구분</label>
<select class="form-select" id="sndngSeCd--${pageName}" name="sndngSeCd" data-map="SNDNG_SE_CD" required>
<option value="">선택하세요</option>
<c:forEach items="${FIM047List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 제목 명 -->
<div class="col-md-12">
<label for="ttlNm--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end required">제목</label>
<input type="text" class="form-control w-75" id="ttlNm--${pageName}" name="ttlNm" data-map="TTL_NM" required autocomplete="off" />
</div>
<!-- 문구 내용 -->
<div class="col-md-12">
<label for="wordsCn--${pageName}" class="w-px-100 bg-lighter pe-2 col-form-label text-sm-end">문구내용</label>
</div>
<div class="col-md-12">
<textarea class="form-control w-100" id="wordsCn--${pageName}" name="wordsCn" data-map="WORDS_CN" rows="15" data-maxlengthb="4000" autocomplete="off"></textarea>
</div>
</div>
</form> <!-- /입력 영역 --> </form> <!-- /입력 영역 -->
</div> <!-- <div class="card"> -->
<!-- 업무 버튼 표시 --> <!-- 업무 버튼 표시 -->
<div> <div>
<span class="container-page-btn"> <span class="container-page-btn">
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<button type="button" class="btn btn-primary w-px-80" id="btnSave--${pageName}" title="저장" onclick="fnSave${pageName}()">저장</button> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();">
엑셀
</button>
</span>
</span> </span>
</span> </div>
</div> <!-- / 업무 버튼 표시 -->
<!-- / 업무 버튼 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap" id="datatable--${pageName}">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive" id="table-responsive--${pageName}" style="overflow-x:scroll; height:480px; overflow-y:scroll;" >
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 160px;">등기번호</th>
<th class="cmn" style="width: 100px;">우편번호</th>
<th class="cmn" style="width: 200px;">수취인명</th>
<th class="cmn" style="width: 180px;">배달일시</th>
<th class="cmn" style="width: 120px;">배달결과</th>
<th class="cmn" style="width: 120px;">수령인명</th>
<th class="cmn" style="width: 120px;">수령인관계</th>
<th class="cmn" style="width: 200px;">미배달사유</th>
<th class="cmn" style="width: 280px;">주소</th>
<th class="cmn" style="width: 320px;">상세주소</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
<th class="cmn" style="width: 140px;">수정사용자</th>
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{RGST_NMBR}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGST_NMBR}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RECEV_CAR_OWNER_ZIPCODE}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RECEV_CAR_OWNER_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DELIV_YMD_TM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DELIVRSLTCD_NM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{SUBRECPRSNNM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RELRECPRSNCDNM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{NONDELIVREASNCDNM}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RECEV_CAR_OWNER_ADDR}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RECEV_CAR_OWNER_DETAILADDR}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFCN_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{MDFR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="15" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div>
<!-- / DataTables(그리드) -->
</div> <!-- <div class="card"> -->
</div> <!-- / Content <div class="container flex-grow-1 px-0"> --> </div> <!-- / Content <div class="container flex-grow-1 px-0"> -->
</div> <!-- / inner page html <div class="content-wrapper"> --> </div> <!-- / inner page html <div class="content-wrapper"> -->
@ -63,58 +96,143 @@
**************************************************************************/ **************************************************************************/
// URL // URL
var ${pageName}PrefixUrl = "/epst/epst02"; var ${pageName}PrefixUrl = "/epst/epst02";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
var ${pageName}CallPurpose = "${callPurpose}"; var ${pageName}CallPurpose = "${callPurpose}";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ var ${pageName}Control = new DatasetControl({
prefix : "epostGdcc" prefix : "epostRcptReg"
, prefixName : "안내문 정보" , prefixName : "우편 발송 정보"
, keymapper : info => info ? info.GDCC_ID : "" , keymapper : info => info ? info.RGST_NMBR : ""
, dataGetter : obj => obj.epostGdccInfo , dataGetter : obj => obj.epostRcptRegInfo
, appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : {
DELIV_YMD_TM : datetimeFormat
, REG_DT : datetimeFormat
, MDFCN_DT : datetimeFormat
}
}); });
${pageName}Control.onCurrentChange = item => { /**************************************************************************
if (!item) return; * DatasetControl 이벤트
**************************************************************************/
// Dataset 변경 이벤트
${pageName}Control.onDatasetChange = obj => {
renderList${pageName}(obj.${infoPrefix}Total);
// Dataset 셋팅 $("#paging--${pageName}").setPagingInfo({
${pageName}Fields.set(item); list : ${pageName}Control.dataset
, prefix : "paging--${pageName}"
, start : obj.${infoPrefix}Start
, totalSize : obj.${infoPrefix}Total
, fetchSize : obj.${infoPrefix}Fetch
, func : "${pageName}Control.load({index})"
});
// 업무구분에 따른 url 변경 ${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 true
${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/create.do"); };
${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/update.do");
} // 현재 선택 자료 변경 이벤트
${pageName}Control.onCurrentChange = item => {
if (!item) return;
let key = item.data.RGST_NMBR;
$("#tbody--${pageName}").setCurrentRow(key);
// CON_KEY
$("#conKey--${pageName}").val(item.data.CON_KEY);
};
/************************************************************************** /**************************************************************************
* DatasetControl 이벤트 * DataTables 이벤트
**************************************************************************/ **************************************************************************/
// 저장 callback // DataTables에 click, dbclick 이벤트
${pageName}Control.onSave = (resp) => { renderList${pageName} = (totalSize) => {
let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html(); let ${infoPrefix}List = ${pageName}Control.dataset;
let showMessage = resp.retMessage.replace(/[S]|[F]/g, dialogTitle); let empty = ${infoPrefix}List.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("RGST_NMBR") + "');")
);
let noMore = (totalSize == ${infoPrefix}List.length);
let initScroll = (${pageName}Control.query.pageNum < 2) && (${pageName}Control.untilPageNum == 0);
dialog.alert(showMessage); $("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore);
if (resp.saved) { if (${pageName}Control.untilPageNum != 0) {
dialog.close(${pageName}Control.prefix + "Dialog"); ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize;
${pageName}Control.query.pageNum = ${pageName}Control.untilPageNum;
${pageName}Control.untilPageNum = 0;
} }
// checkbox 체크 해제
$("th input[type='checkbox']").prop("checked", false);
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
} }
// 저장 // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
${pageName}Control.save = (info) => { scrollDataList${pageName} = () => {
if (!info) return; ${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false
let create = (${pageName}CallPurpose == "create"); // if 문 ${pageName}Control.load(${pageName}Control.query.pageNum + 1);
}
ajax.post({ /**************************************************************************
url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create * 사용자 함수(function)
, data : info **************************************************************************/
, success : resp => ${pageName}Control.onSave(resp)
});
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 엑셀 버튼 이벤트
fnExcel${pageName} = () => {
if (${pageName}Control.dataset.empty) {
dialog.alert({
content : "검색된 자료가 없습니다."
, onOK : () => { }
});
return;
}
let excelTitle = [];
let excelTitleWidth = [];
$("#theadTr--${pageName} th").not(".dummy-th").each(function() {
let title = $(this).text();
if (title != "" ) {
excelTitle.push(title);
let titleWidth = Math.ceil($(this).outerWidth() / 10) + 2;
excelTitleWidth.push(titleWidth);
}
});
${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 1 페이지당 조회되는 자료 건수
${pageName}Control.query.conKey = ${pageName}Control.dataset.getValue("CON_KEY"); // conKey
${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.query.excelTitle = excelTitle.join(",");
${pageName}Control.query.excelTitleWidth = excelTitleWidth.join(",");
${pageName}Control.download();
} }
/************************************************************************** /**************************************************************************
@ -122,43 +240,46 @@
**************************************************************************/ **************************************************************************/
// 이벤트 설정 // 이벤트 설정
setEvent${pageName} = () => { setEvent${pageName} = () => {
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// DataTables 스크롤 이벤트 생성
fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName});
} }
// 화면 초기 설정 // 초기 기본 설정
initForm${pageName} = () => { initForm${pageName} = () => {
if (${pageName}CallPurpose == "view") { // 화면 초기화
$("#sndngSeCd--${pageName}").attr("disabled", true); $("#frmEdit--${pageName}")[0].reset();
$("#ttlNm--${pageName}").attr("disabled", true);
$("#wordsCn--${pageName}").attr("disabled", true); // 달력 초기화
$("#btnSave--${pageName}").attr("disabled", true); initDatepicker("frmEdit--${pageName}");
} else { }
$("#sndngSeCd--${pageName}").attr("disabled", false);
$("#ttlNm--${pageName}").attr("disabled", false); // URL 설정
$("#wordsCn--${pageName}").attr("disabled", false); setURL${pageName} = () => {
$("#btnSave--${pageName}").attr("disabled", false); let taskSeCd = $("#taskSeCd--${pageName}").val();
}
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/040/info.do"); // 엑셀(조회)
} }
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName} = () => { setFormData${pageName} = () => {
// 화면 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
$("#taskSeCd--${pageName}").val("${taskSeCd}"); // 업무 구분 코드
} // ${pageName}Control 설정
${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
/************************************************************************** if (${pageName}CallPurpose == "view") {
* function // input 요소들을 disabled
**************************************************************************/ $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true);
// 저장 } else if (${pageName}CallPurpose == "create") {
fnSave${pageName} = () => { //
// validate 확인 } else if (${pageName}CallPurpose == "update") {
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; //
}
dialog.alert({
content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?"
, onOK : () => {
${pageName}Control.save(${pageName}Fields.get());
}
});
} }
/************************************************************************** /**************************************************************************
@ -168,14 +289,17 @@
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 화면 초기 설정 // 초기 기본 설정
initForm${pageName}(); initForm${pageName}();
// Dataset 셋팅 - 단건일 경우 setData // Dataset 설정
${pageName}Control.setData([${epostGdccInfo}]); ${pageName}Control.setData(${epostSndngSttsInfo});
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName}(); setFormData${pageName}();
// URL 설정
setURL${pageName}();
}); });
</script> </script>

Loading…
Cancel
Save