개별총정보 - 발송반송 정보 수정.

main
jjh 9 months ago
parent 9de10cf883
commit d87c8652f4

@ -98,17 +98,18 @@ public class LevyExclBean extends AbstractComponent {
* @return
*/
public DataObject getLevyExclInfo(LevyExclQuery req) {
DataObject levyExclInfo = new DataObject();
//
DataObject info = new DataObject();
if (req.getCallPurpose().equals("create")) {
levyExclInfo = levyExclMapper.selectCrdnInfo(req.getCrdnId());
info = levyExclMapper.selectCrdnInfo(req.getCrdnId());
levyExclInfo.set("LEVY_EXCL_SE_CD", req.getLevyExclSeCd()); // 부과 제외 구분 코드
info.set("LEVY_EXCL_SE_CD", req.getLevyExclSeCd()); // 부과 제외 구분 코드
} else {
levyExclInfo = levyExclMapper.selectLevyExclInfo(req);
info = levyExclMapper.selectLevyExclInfo(req);
}
return levyExclInfo;
return info;
}
/** .

@ -148,7 +148,17 @@ public class SndngDtlBean extends AbstractComponent {
* @return
*/
public DataObject getSndbkInfo(SndbQuery req) {
return sndngDtlMapper.selectSndbkInfo(req);
//
DataObject info = new DataObject();
if (req.getCallPurpose().equals("create")) {
info = sndngDtlMapper.selectSndngDtlInfo(req);
} else {
info = sndngDtlMapper.selectSndbkInfo(req);
}
return info;
}
/** .

@ -82,10 +82,6 @@ public class SndngDtlServiceBean extends AbstractServiceBean implements SndngDtl
@Override
public DataObject getSndbkInfo(SndbQuery req) {
if (req.getCallPurpose() == null) {
req.setCallPurpose("view");
}
return sndngDtlBean.getSndbkInfo(req);
}

@ -1036,36 +1036,145 @@ public class Sndb01Controller extends ApplicationController {
.addObject("rtnMsg", rtnMsg);
}
/** (sndb/sndb01/220-info) .
/** (sndb/sndb01/220-main) .
*
* @return /sndb/sndb01/220-main
*/
public ModelAndView sendBackMain() {
ModelAndView mav = new ModelAndView("fims/sndb/sndb01220-main");
// 사용자 정보
ManagedUser managedUser = (ManagedUser)currentUser().getUser();
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM047", "FIM054", "FIM061", "FIM064", "FIM081");
addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064");
return mav.addObject("pageName", "sndb01220") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "sndbk") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록
.addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_ID)
.addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_ID)
.addObject("FIM006List", commonCodes.get("FIM006")) // 장애인주차위반 내역 코드(VLTN_ID)
.addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("FIM061List", commonCodes.get("FIM061")) // 전기차 충전구역 및 충전방해 위반 코드(VLTN_ID)
.addObject("FIM064List", commonCodes.get("FIM064")) // 화물자동차 밤샘주차 위반 코드(VLTN_ID)
.addObject("FIM081List", commonCodes.get("FIM081")) // 미배달 사유 코드(UNDLVR_RSN_CD)
;
}
/** .
* {@link SndngService#getSndngList(SndngQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "sndngList": [ ]
* "sndngStart":
* "sndngFetch":
* "sndngTotal":
* }</code></pre>
*/
public ModelAndView getSendBackList(SndbQuery req) {
if (!"xls".equals(req.getDownload())) {
List<?> result = sndngDtlService.getSndbkList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndbk");
} else {
// 현재 날짜 구하기
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String dateTime = dateFormat.format(System.currentTimeMillis());
List<CellDef> cellDefs = fromJson(req.getCellDefs(), CellDef.listType());
XLSWriter xlsx = new XLSWriter()
.setFilename("반송현황" + "_목록_" + dateTime + ".xlsx")
.worksheet(0);
// CellStyle 지정은 여기에서..
CellStyle center = xlsx.cellStyle(Styler.CENTER); // 가운데 정렬
CellStyle numeric = xlsx.n_nn0(); // 숫자 3자리 콤마(,)
CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일
CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
List<DataObject> list = sndngDtlService.getSndbkList(req.setFetchSize(0));
Map<String,Object> valueMap = new HashMap<String,Object>();
valueMap.put("업무구분", xlsx.style("TASK_SE_NM", center));
valueMap.put("고지번호", xlsx.style("GOJI_NO", center));
valueMap.put("등기번호", xlsx.style("RG_NO", center));
valueMap.put("배달일자", xlsx.format(o -> xlsx.str2date(o.get("DLVR_YMD"))).style(dateYMD));
valueMap.put("배달시간", "DLVR_TM");
valueMap.put("미배달사유", "UNDLVR_RSN_NM");
valueMap.put("수령인", "ACTL_RCPN_NM");
valueMap.put("수령인관계", "RCPN_REL_NM");
valueMap.put("발송구분", xlsx.style("SNDNG_SE_NM", center));
valueMap.put("발송일자", xlsx.format(o -> xlsx.str2date(o.get("SNDNG_YMD"))).style(dateYMD));
valueMap.put("과태료금액", xlsx.style("FFNLG_AMT", numeric));
valueMap.put("성명", "RCPN_NM");
valueMap.put("우편번호", xlsx.style("RCPN_ZIP", center));
valueMap.put("주소", "RCPN_ADDR");
valueMap.put("상세주소", "RCPN_DTL_ADDR");
valueMap.put("단속일시", xlsx.format(o -> xlsx.str2datetime(o.get("CRDN_YMD_TM"))).style(dateDT));
valueMap.put("차량번호", "VHRNO");
valueMap.put("납부자구분", xlsx.style("RTPYR_SE_NM", center));
valueMap.put("납부자번호", xlsx.style("RTPYR_NO", center));
valueMap.put("납부자명", "RTPYR_NM");
valueMap.put("단속법정동", xlsx.style("CRDN_STDG_NM", center));
valueMap.put("단속장소", "CRDN_PLC");
valueMap.put("처리상태", "CRDN_STTS_NM");
valueMap.put("등록일시", xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT));
valueMap.put("등록사용자", xlsx.style("RGTR_NM", center));
valueMap.put("수정일시", xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT));
valueMap.put("수정사용자", xlsx.style("MDFR_NM", center));
CellDef.setValues(cellDefs, valueMap);
xlsx.cell(0, 0)
.value("반송현황", center)
.merge(0, cellDefs.size() - 1)
.cell(3, 0)
.rowValues(CellDef.header(cellDefs, () -> CmmnUtil.headerStyle(xlsx)))
.cell(4, 0)
.values(list, CellDef.values(cellDefs));
return new ModelAndView("xlsView")
.addObject("xls", xlsx);
}
}
/** (sndb/sndb01/230-info) .
* @param sndngId ID
* @return fims/sndb/sndb01220-info jsonView
* @return fims/sndb/sndb01230-info jsonView
* <pre>{
* "sndngDtls":
* }</pre>
*/
public ModelAndView getSendBackInfo(SndbQuery req) {
DataObject sndbkInfo = sndngDtlService.getSndbkInfo(req);
//
DataObject info = sndngDtlService.getSndbkInfo(req);
// 등록을 호출하였지만 등록된 미배달 사유가 있는지 확인.
if (req.getCallPurpose().equals("create") && !sndbkInfo.string("UNDLVR_RSN_NM").equals("")) {
if (req.getCallPurpose().equals("create") && !info.string("UNDLVR_RSN_NM").equals("")) {
ModelAndView mav = new ModelAndView("jsonView");
return mav.addObject("pageName", "sndb01220")
return mav.addObject("pageName", "sndb01230")
.addObject("rtnMsg", "이미 등록된 미배달 사유가 있습니다.")
;
} else {
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sndb/sndb01220-info");
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sndb/sndb01230-info");
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054", "FIM081");
return mav.addObject("pageName", "sndb01220")
return mav.addObject("pageName", "sndb01230")
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("FIM081List", commonCodes.get("FIM081")) // 미배달 사유 코드(UNDLVR_RSN_CD)
.addObject("sndbkInfo", json ? sndbkInfo : toJson(sndbkInfo)) // 반송 정보
.addObject("sndbkInfo", json ? info : toJson(info)) // 반송 정보
;
}
}
@ -1158,114 +1267,6 @@ public class Sndb01Controller extends ApplicationController {
.addObject("rtnMsg", rtnMsg);
}
/** (sndb/sndb01/220-main) .
*
* @return /sndb/sndb01/220-main
*/
public ModelAndView sendBackMain() {
ModelAndView mav = new ModelAndView("fims/sndb/sndb01220-main");
// 사용자 정보
ManagedUser managedUser = (ManagedUser)currentUser().getUser();
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM047", "FIM054", "FIM061", "FIM064", "FIM081");
addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064");
return mav.addObject("pageName", "sndb01220") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "sndbk") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록
.addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_ID)
.addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_ID)
.addObject("FIM006List", commonCodes.get("FIM006")) // 장애인주차위반 내역 코드(VLTN_ID)
.addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("FIM061List", commonCodes.get("FIM061")) // 전기차 충전구역 및 충전방해 위반 코드(VLTN_ID)
.addObject("FIM064List", commonCodes.get("FIM064")) // 화물자동차 밤샘주차 위반 코드(VLTN_ID)
.addObject("FIM081List", commonCodes.get("FIM081")) // 미배달 사유 코드(UNDLVR_RSN_CD)
;
}
/** .
* {@link SndngService#getSndngList(SndngQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "sndngList": [ ]
* "sndngStart":
* "sndngFetch":
* "sndngTotal":
* }</code></pre>
*/
public ModelAndView getSendBackList(SndbQuery req) {
if (!"xls".equals(req.getDownload())) {
List<?> result = sndngDtlService.getSndbkList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "sndbk");
} else {
// 현재 날짜 구하기
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String dateTime = dateFormat.format(System.currentTimeMillis());
List<CellDef> cellDefs = fromJson(req.getCellDefs(), CellDef.listType());
XLSWriter xlsx = new XLSWriter()
.setFilename("반송현황" + "_목록_" + dateTime + ".xlsx")
.worksheet(0);
// CellStyle 지정은 여기에서..
CellStyle center = xlsx.cellStyle(Styler.CENTER); // 가운데 정렬
CellStyle numeric = xlsx.n_nn0(); // 숫자 3자리 콤마(,)
CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일
CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간
List<DataObject> list = sndngDtlService.getSndbkList(req.setFetchSize(0));
Map<String,Object> valueMap = new HashMap<String,Object>();
valueMap.put("업무구분", xlsx.style("TASK_SE_NM", center));
valueMap.put("고지번호", xlsx.style("GOJI_NO", center));
valueMap.put("등기번호", xlsx.style("RG_NO", center));
valueMap.put("배달일자", xlsx.format(o -> xlsx.str2date(o.get("DLVR_YMD"))).style(dateYMD));
valueMap.put("배달시간", "DLVR_TM");
valueMap.put("미배달사유", "UNDLVR_RSN_NM");
valueMap.put("수령인", "ACTL_RCPN_NM");
valueMap.put("수령인관계", "RCPN_REL_NM");
valueMap.put("발송구분", xlsx.style("SNDNG_SE_NM", center));
valueMap.put("발송일자", xlsx.format(o -> xlsx.str2date(o.get("SNDNG_YMD"))).style(dateYMD));
valueMap.put("과태료금액", xlsx.style("FFNLG_AMT", numeric));
valueMap.put("성명", "RCPN_NM");
valueMap.put("우편번호", xlsx.style("RCPN_ZIP", center));
valueMap.put("주소", "RCPN_ADDR");
valueMap.put("상세주소", "RCPN_DTL_ADDR");
valueMap.put("단속일시", xlsx.format(o -> xlsx.str2datetime(o.get("CRDN_YMD_TM"))).style(dateDT));
valueMap.put("차량번호", "VHRNO");
valueMap.put("납부자구분", xlsx.style("RTPYR_SE_NM", center));
valueMap.put("납부자번호", xlsx.style("RTPYR_NO", center));
valueMap.put("납부자명", "RTPYR_NM");
valueMap.put("단속법정동", xlsx.style("CRDN_STDG_NM", center));
valueMap.put("단속장소", "CRDN_PLC");
valueMap.put("처리상태", "CRDN_STTS_NM");
valueMap.put("등록일시", xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT));
valueMap.put("등록사용자", xlsx.style("RGTR_NM", center));
valueMap.put("수정일시", xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT));
valueMap.put("수정사용자", xlsx.style("MDFR_NM", center));
CellDef.setValues(cellDefs, valueMap);
xlsx.cell(0, 0)
.value("반송현황", center)
.merge(0, cellDefs.size() - 1)
.cell(3, 0)
.rowValues(CellDef.header(cellDefs, () -> CmmnUtil.headerStyle(xlsx)))
.cell(4, 0)
.values(list, CellDef.values(cellDefs));
return new ModelAndView("xlsView")
.addObject("xls", xlsx);
}
}
/** (sndb/sndb01/240-main) .
*
* @return /sndb/sndb01/240-main

@ -209,6 +209,7 @@
, S.DEPT_CD <!-- 부서 코드 -->
, S.TASK_SE_CD <!-- 업무 구분 코드 -->
, S.SNDNG_REG_SE_CD <!-- 발송 등록 구분 코드 -->
, S.SNDNG_SE_CD <!-- 발송 구분 코드 -->
, S.LEVY_BGNG_YMD <!-- 부과 시작 일자 -->
, S.LEVY_END_YMD <!-- 부과 종료 일자 -->
, S.TTL_NM <!-- 제목 명 -->
@ -221,6 +222,7 @@
, S.SNDNG_STTS_CD <!-- 발송 상태 코드 -->
, S.RESND_YN <!-- 재발송 여부 -->
, (SELECT GET_CODE_NM('FIM047', S.SNDNG_SE_CD) FROM DUAL) AS SNDNG_SE_NM <!-- 발송 구분 명 -->
, (SELECT GET_CODE_NM('EGP002', S.DIV_KB) FROM DUAL) AS DIV_KB_NM <!-- 취급 구분 명 -->
FROM TB_SNDNG_DTL SD
LEFT OUTER JOIN TB_SNDNG S ON (SD.SNDNG_ID = S.SNDNG_ID)
</sql>

@ -102,7 +102,11 @@
// 호출용도가 등록 이라면..
if ($P.callPurpose == "create") {
$("#dlvrYmd--${pageName}").datepicker("setDate", new Date()); // 배달일자
// 배달일자
$("#dlvrYmd--${pageName}").datepicker("setDate", new Date());
// 미배달 사유 변경 이벤트 실행
$("#undlvrRsnCd--${pageName}").val("99").attr("selected", "selected");
$("#undlvrRsnCd--${pageName}").trigger("change");
}
}
@ -175,7 +179,7 @@
// 미배달 사유 변경 이벤트
$("#undlvrRsnCd--${pageName}").change(function() {
if ($("#undlvrRsnCd--${pageName}").val() == "00") {
if ($("#undlvrRsnCd--${pageName}").val() == "99") {
$("#undlvrRsnNm--${pageName}").val("");
} else {
$("#undlvrRsnNm--${pageName}").val($("#undlvrRsnCd--${pageName} option:selected").text());
@ -200,9 +204,6 @@
// button 요소들을 disabled
$("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼
}
// 미배달 사유 변경 이벤트 실행
$("#undlvrRsnCd--${pageName}").trigger("change");
}
// 업무구분에 따른 URL 설정

@ -32,8 +32,11 @@
<button type="button" class="btn btn-primary" id="btnCreateCrdnReReg--${pageName}" title="단속 재등록">
단속 재등록
</button>
<button type="button" class="btn btn-primary" id="btnPrintNht--${pageName}" title="고지서 출력">
고지서 출력
<button type="button" class="btn btn-primary" id="btnPrintNhtPdf01--${pageName}" title="고지서 출력(PDF-A4)">
고지서출력(A4)
</button>
<button type="button" class="btn btn-primary" id="btnPrintNhtPdf02--${pageName}" title="고지서 출력(PDF-Letter)">
고지서서출력(Letter)
</button>
<button type="button" class="btn btn-primary" id="btnUpdateCrdnSttsCd--${pageName}" title="단속 상태 변경">
단속 상태 변경
@ -285,6 +288,8 @@
</form> <!-- /입력 영역 -->
</div> <!-- <div style="width:1170px;"> -->
<span id="tempArea--${pageName}" hidden></span>
<!-- 단속 이미지 -->
<jsp:include page="/WEB-INF/jsp/fims/photo-main.jsp" />
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
@ -443,7 +448,7 @@
, success : resp => {
dialog.open({
id : "cvlcptOrgnlDialog--${pageName}"
, title : params.btnTitle
, title : params.title
, content : resp
, size : "xl"
});
@ -461,7 +466,7 @@
, success : resp => {
dialog.open({
id : "answerPreviewDialog--${pageName}"
, title : params.btnTitle
, title : params.title
, content : resp
, size : "xl"
});
@ -664,7 +669,7 @@
// 단속 상태 코드 확인
if (Number(crdnSttsCd) > 51) {
dialog.alert({
content : "[" + title + "]" + " 작업은 단속상태가 부과 이전 자료만 처리 가능합니다."
content : "[" + title + "]" + " 작업은 단속상태가 '부과 이전' 자료만 처리 가능합니다."
+ "<br>" + "단속상태 : " + crdnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
@ -709,7 +714,7 @@
// 단속 상태 코드 확인
if (Number(crdnSttsCd) < 80 || Number(crdnSttsCd) > 88) {
dialog.alert({
content : "[" + title + "]" + " 작업은 단속상태가 비부과, 계고, 부과취소 자료만 처리 가능합니다."
content : "[" + title + "]" + " 작업은 단속상태가 '비부과', '계고', '부과취소' 자료만 처리 가능합니다."
+ "<br>" + "단속상태 : " + crdnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
@ -717,6 +722,9 @@
return;
}
dialog.alert({
content : "현재 단속 정보를 재등록 하겠습니까?"
, onOK : () => {
let params = {
callPurpose : "create"
, title : title
@ -725,17 +733,42 @@
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
};
dialog.alert({
content : "현재 단속 정보를 재등록 하겠습니까?"
, onOK : () => {
$P.createCrdnReReg(params);
}
});
}
// 고지서출력
$P.fnPrintNht = (title) => {
return;
$P.fnMakeFileNht = (title, fileType, paper) => {
//
if (fileType == "pdf") {
url = wctx.url("/sprt/sprt01/150/makeNhtPdf.do");
} else if (fileType == "outsourcing") {
url = wctx.url("/sprt/sprt01/150/makeNhtOutsourcing.do");
}
let params = {
crdnIds : $P.control.dataset.getValue("CRDN_ID") // 단속 ID
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분
};
if (fileType == "pdf") {
params.paperSeCd = paper;
}
ajax.post({
url : url
, data : params
, success : (resp) => {
if (resp.filePath != null && resp.filePath != "") {
if (fileType == "pdf") {
openPDF(resp.filePath, resp.fileName, resp.fileName);
} else {
downloadFile(resp.filePath, resp.fileName, "tempArea--${pageName}");
}
}
}
});
}
// 단속 상태 변경
@ -766,8 +799,18 @@
// 납부자 ID
let rtpyrId = $P.control.dataset.getValue("RTPYR_ID");
// 납부자 ID 가 없다면.. return
if (rtpyrId == null || rtpyrId == "") return;
if (rtpyrId == null || rtpyrId == "") {
dialog.alert({
content : "조회된 납부자 대장 정보가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
dialog.alert({
content : "선택한 자료의 납부자 정보를 초기화 하시겠습니까?"
, onOK : () => {
let params = {
callPurpose : "remove"
, title : title
@ -778,9 +821,6 @@
, delYN : "N"
};
dialog.alert({
content : "선택한 자료의 납부자 정보를 초기화 하시겠습니까?"
, onOK : () => {
$P.deleteCrdnPayer(params);
}
});
@ -840,8 +880,12 @@
$P.fnCreateCrdnReReg($(this).attr("title"));
});
// 고지서 출력
$("#btnPrintNht--${pageName}").on("click", function() {
$P.fnPrintNht($(this).attr("title"));
$("#btnPrintNhtPdf01--${pageName}").on("click", function() {
$P.fnMakeFileNht($(this).attr("title"), "pdf", "01");
});
// 고지서 출력
$("#btnPrintNhtPdf02--${pageName}").on("click", function() {
$P.fnMakeFileNht($(this).attr("title"), "pdf", "02");
});
// 단속 상태 변경
$("#btnUpdateCrdnSttsCd--${pageName}").on("click", function() {

@ -242,7 +242,7 @@
} else {
dialog.open({
id : $P.control.prefixed("Dialog")
, title : params.btnTitle
, title : params.title
, content : resp
, size : "lg"
, onClose : () => { $P.refreshDataInfo(); }
@ -327,7 +327,7 @@
, success : resp => {
dialog.open({
id : "opnnSbmsnDialog"
, title : params.btnTitle
, title : params.title
, content : resp
, size : "lg"
, onClose : () => { $P.refreshDataInfo(); }
@ -376,10 +376,7 @@
* 버튼 clickEvent
**************************************************************************/
// 의견제출 등록 버튼 이벤트
$P.fnCreateOpnnSbmsn = () => {
// 버튼 title
let btnTitle = $("#btnCreateOpnnSbmsn--${pageName}").attr("title");
$P.fnCreateOpnnSbmsn = (title) => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
@ -391,8 +388,9 @@
// 단속 상태 코드 확인
if (Number(crdnSttsCd) < 01 || Number(crdnSttsCd) > 45) {
dialog.alert({
content : "단속상태가 '" + crdnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
content : "[" + title + "]" + " 작업은 단속상태가 '부과 이전' 자료만 처리 가능합니다."
+ "<br>" + "단속상태 : " + crdnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
@ -400,7 +398,7 @@
let params = {
callPurpose : "create"
, btnTitle : btnTitle
, title : title
, crdnId : crdnId // 단속 ID
, sggCd : $("#sggCd--${pageNameMain}").val() // 시군구 코드
, taskSeCd : $("#taskSeCd--${pageNameMain}").val() // 업무 구분 코드
@ -410,18 +408,22 @@
}
// 의견제출 수정 버튼 이벤트
$P.fnUpdateOpnnSbmsn = () => {
// 버튼 title
let btnTitle = $("#btnUpdateOpnnSbmsn--${pageName}").attr("title");
$P.fnUpdateOpnnSbmsn = (title) => {
// 의견제출 ID
let opnnId = $P.control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return;
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") {
dialog.alert({
content : "조회된 의견제출 대장 정보가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
let params = {
callPurpose : "update"
, btnTitle : btnTitle
, title : title
, opnnId : opnnId // 의견제출 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
@ -431,14 +433,18 @@
}
// 의견제출 삭제 버튼 이벤트
$P.fnRemoveOpnnSbmsn = () => {
// 버튼 title
let btnTitle = $("#btnRemoveOpnnSbmsn--${pageName}").attr("title");
$P.fnRemoveOpnnSbmsn = (title) => {
// 의견제출 ID
let opnnId = $P.control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return;
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") {
dialog.alert({
content : "조회된 의견제출 대장 정보가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
// 의견제출 상태 코드
let opnnSbmsnSttsCd = $("#opnnSbmsnSttsCd--${pageName}").val();
@ -446,9 +452,9 @@
// 의견제출 상태 코드 확인
if (opnnSbmsnSttsCd != '00' && opnnSbmsnSttsCd != '03') {
dialog.alert({
content : "의견제출 심의결과가 '접수' 또는 '자진취하' 자료만 삭제 가능합니다."
// + "<br>" + "의견제출 심의결과가 '" + opnnSbmsnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
content : "[" + title + "]" + " 작업은 심의결과가 '접수', '자진취하' 자료만 삭제 가능합니다."
+ "<br>" + "심의결과 : " + opnnSbmsnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
@ -479,18 +485,22 @@
}
// 심의의결서 출력 버튼 이벤트
$P.fnPrintDlbrDecsn = () => {
// 버튼 title
let btnTitle = $("#btnPrintDlbrDecsn--${pageName}").attr("title");
$P.fnPrintDlbrDecsn = (title) => {
// 의견제출 ID
let opnnId = $P.control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return;
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") {
dialog.alert({
content : "조회된 의견제출 대장 정보가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
let params = {
callPurpose : "view"
, btnTitle : btnTitle
, title : title
, opnnIds : opnnId // 의견제출 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
@ -500,24 +510,28 @@
}
// 의견제출 심의 버튼 이벤트
$P.fnUpdateOpnnSbmsnDlbrt = () => {
// 버튼 title
let btnTitle = $("#btnUpdateOpnnSbmsnDlbrt--${pageName}").attr("title");
$P.fnUpdateOpnnSbmsnDlbrt = (title) => {
// 의견제출 ID
let opnnId = $P.control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return;
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") {
dialog.alert({
content : "조회된 의견제출 대장 정보가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
// 단속 상태 코드
let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val();
let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val();
// 단속 상태 코드 확인
if ( (Number(crdnSttsCd) != 82 && Number(crdnSttsCd) != 87)
&& (Number(crdnSttsCd) < 21 || Number(crdnSttsCd) > 45) ) {
if ( (Number(crdnSttsCd) != 82 && Number(crdnSttsCd) != 87) && (Number(crdnSttsCd) < 21 || Number(crdnSttsCd) > 45) ) {
dialog.alert({
content : "단속상태가 '" + crdnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
content : "[" + title + "]" + " 작업은 단속상태가 '의견제출수용', '경찰서이첩', '부과 이전' 자료만 처리 가능합니다."
+ "<br>" + "단속상태 : " + crdnSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
@ -525,7 +539,7 @@
let params = {
callPurpose : "update"
, btnTitle : btnTitle
, title : title
, opnnId : opnnId // 의견제출 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
@ -596,12 +610,26 @@
**************************************************************************/
// 이벤트 설정
$P.setEvent = () => {
// 업무 버튼 이벤트
$("#btnCreateOpnnSbmsn--${pageName}").on("click", () => $P.fnCreateOpnnSbmsn()); // 의견제출 등록 버튼 이벤트
$("#btnUpdateOpnnSbmsn--${pageName}").on("click", () => $P.fnUpdateOpnnSbmsn()); // 의견제출 수정 버튼 이벤트
$("#btnRemoveOpnnSbmsn--${pageName}").on("click", () => $P.fnRemoveOpnnSbmsn()); // 의견제출 삭제 버튼 이벤트
$("#btnPrintDlbrDecsn--${pageName}").on("click", () => $P.fnPrintDlbrDecsn()); // 심의의결서 출력 버튼 이벤트
$("#btnUpdateOpnnSbmsnDlbrt--${pageName}").on("click", () => $P.fnUpdateOpnnSbmsnDlbrt()); // 의견제출 심의 버튼 이벤트
// 의견제출 등록 버튼 이벤트
$("#btnCreateOpnnSbmsn--${pageName}").on("click", function() {
$P.fnCreateOpnnSbmsn($(this).attr("title"));
});
// 의견제출 수정 버튼 이벤트
$("#btnUpdateOpnnSbmsn--${pageName}").on("click", function() {
$P.fnUpdateOpnnSbmsn($(this).attr("title"));
});
// 의견제출 삭제 버튼 이벤트
$("#btnRemoveOpnnSbmsn--${pageName}").on("click", function() {
$P.fnRemoveOpnnSbmsn($(this).attr("title"));
});
// 심의의결서 출력 버튼 이벤트
$("#btnPrintDlbrDecsn--${pageName}").on("click", function() {
$P.fnPrintDlbrDecsn($(this).attr("title"));
});
// 의견제출 심의 버튼 이벤트
$("#btnUpdateOpnnSbmsnDlbrt--${pageName}").on("click", function() {
$P.fnUpdateOpnnSbmsnDlbrt($(this).attr("title"));
});
}
// 초기 화면 설정

@ -38,6 +38,7 @@
<tr id="theadTrSndngDtl--${pageName}">
<th class="cmn" style="width: 120px">발송상태</th>
<th class="cmn" style="width: 100px">수납</th>
<th class="cmn" style="width: 100px">취급구분</th>
<th class="cmn" style="width: 140px">발송구분</th>
<th class="cmn" style="width: 120px">발송일자</th>
<th class="cmn" style="width: 120px">납기일자</th>
@ -67,6 +68,7 @@
<tr data-key="{SNDNG_DTL_ID}">
<td class="text-center" onclick="{onclick}">{SNDNG_DTL_STTS_NM}</td>
<td class="text-center" onclick="{onclick}">{SNDNG_RCVMT_NM}</td>
<td class="text-center" onclick="{onclick}">{DIV_KB_NM}</td>
<td class="text-center" onclick="{onclick}">{SNDNG_SE_NM}</td>
<td class="text-center" onclick="{onclick}">{SNDNG_YMD}</td>
<td class="text-center" onclick="{onclick}">{DUDT_YMD}</td>
@ -242,12 +244,12 @@
* DatasetControl 이벤트
**************************************************************************/
// 발송 상세 Dataset 변경
$P.sndngDtlControl.onDatasetChange = obj => {
$P.sndngDtlControl.onDatasetChange = (obj) => {
$P.renderSndngList();
};
// 발송 상세 선택 자료 변경 이벤트
$P.sndngDtlControl.onCurrentChange = item => {
$P.sndngDtlControl.onCurrentChange = (item) => {
if (!item) return;
let key = item.data.SNDNG_DTL_ID;
@ -283,12 +285,12 @@
}
// 공시송달 Dataset 변경
$P.svbtcControl.onDatasetChange = obj => {
$P.svbtcControl.onDatasetChange = (obj) => {
$P.renderSvbtcList();
}
// 공시송달 선택 자료 변경 이벤트
$P.svbtcControl.onCurrentChange = item => {
$P.svbtcControl.onCurrentChange = (item) => {
if (!item) return;
let key = item.data.SVBTC_ID;
@ -306,7 +308,7 @@
, success : resp => {
dialog.open({
id : "sndbkDialog"
, title : params.btnTitle
, title : params.title
, content : resp
, size : "md"
, onClose : () => { $P.refreshDataInfo(); }
@ -326,7 +328,7 @@
});
if (resp.saved) {
$P.refreshDataInfo(); // 자료 재조회
$P.refreshDataInfo();
}
}
@ -420,10 +422,7 @@
* 버튼 clickEvent
**************************************************************************/
// 개별 반송 등록
$P.fnCreateSndbk = () => {
// 버튼 title
let btnTitle = $("#btnCreateSndbk--${pageName}").attr("title");
$P.fnCreateSndbk = (title) => {
// 발송 상세 ID
let sndngDtlId = $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_ID");
// 발송상세ID 가 없다면.. return
@ -435,7 +434,7 @@
if (undlvrRsnNm != "" ) {
dialog.alert({
content : "미배달 사유가 " + undlvrRsnNm + " (으)로 반송 등록 되어 있습니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
@ -447,8 +446,9 @@
// 발송상세 상태코드 확인 (FIM050 - 03:발송 04:발송확인)
if (sndngDtlSttsCd != "03" && sndngDtlSttsCd != "04") {
dialog.alert({
content : "발송상세 상태가 '발송' 또는 '발송확인' 자료만 등록 가능합니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
content : "[" + title + "]" + " 작업은 발송상세 상태가 '발송' 또는 '발송확인' 자료만 처리 가능합니다."
+ "<br>" + "발송상세상태 : " + sndngDtlSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
@ -456,7 +456,7 @@
let params = {
callPurpose : "create"
, btnTitle : btnTitle
, title : title
, sndngDtlId : sndngDtlId // 발송 상세 ID
, sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
@ -467,10 +467,7 @@
}
// 개별 반송 수정
$P.fnUpdateSndbk = () => {
// 버튼 title
let btnTitle = $("#btnUpdateSndbk--${pageName}").attr("title");
$P.fnUpdateSndbk = (title) => {
// 발송 상세 ID
let sndngDtlId = $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_ID");
// 발송상세ID 가 없다면.. return
@ -482,8 +479,8 @@
// 발송상세 상태코드 확인 (FIM050 - 05:반송)
if (undlvrRsnCd == "") {
dialog.alert({
content : "반송(미배달) 사유가 없습니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
content : "조회된 반송(미배달) 사유가 없습니다."
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
@ -491,7 +488,7 @@
let params = {
callPurpose : "update"
, btnTitle : btnTitle
, title : title
, sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID
@ -504,10 +501,7 @@
}
// 개별 반송 삭제
$P.fnRemoveSndbk = () => {
// 버튼 title
let btnTitle = $("#btnRemoveSndbk--${pageName}").attr("title");
$P.fnRemoveSndbk = (title) => {
// 발송 상세 ID
let sndngDtlId = $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_ID");
// 발송상세ID 가 없다면.. return
@ -519,8 +513,9 @@
// 발송상세 상태코드 확인 (FIM050 - 05:반송)
if (sndngDtlSttsCd != "05") {
dialog.alert({
content : "발송상세 상태가 '반송' 자료만 삭제 가능합니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
content : "[" + title + "]" + " 작업은 발송상세 상태가 '반송' 자료만 처리 가능합니다."
+ "<br>" + "발송상세상태 : " + sndngDtlSttsNm
+ "<br><br>" + "[" + title + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
@ -528,7 +523,7 @@
let params = {
callPurpose : "delete"
, btnTitle : btnTitle
, title : title
, sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID
@ -545,9 +540,13 @@
// 우편 종적 보기
$P.fnViewPostTrace = () => {
// 취급 구분
let divKb = $P.sndngDtlControl.dataset.getValue("DIV_KB");
// 취급 구분이 일반이라면..
if (typeof divKb == "undefined" || divKb == null || divKb == "" || divKb == "000") return;
// 등기번호
let rgNo = $P.sndngDtlControl.dataset.getValue("RG_NO");
// 등기번호가 없다면..
if (typeof rgNo == "undefined" || rgNo == null || rgNo == "") return;
@ -559,11 +558,22 @@
**************************************************************************/
// 이벤트 설정
$P.setEvent = () => {
// 업무 버튼 이벤트
$("#btnCreateSndbk--${pageName}").on("click", () => $P.fnCreateSndbk()); // 개별 반송 등록 버튼 이벤트
$("#btnUpdateSndbk--${pageName}").on("click", () => $P.fnUpdateSndbk()); // 개별 반송 수정 버튼 이벤트
$("#btnRemoveSndbk--${pageName}").on("click", () => $P.fnRemoveSndbk()); // 개별 반송 삭제 버튼 이벤트
$("#btnViewPostTrace--${pageName}").on("click", () => $P.fnViewPostTrace()); // 우편 종적 보기 버튼 이벤트
// 개별 반송 등록 버튼 이벤트
$("#btnCreateSndbk--${pageName}").on("click", function() {
$P.fnCreateSndbk($(this).attr("title"));
});
// 개별 반송 수정 버튼 이벤트
$("#btnUpdateSndbk--${pageName}").on("click", function() {
$P.fnUpdateSndbk($(this).attr("title"));
});
// 개별 반송 삭제 버튼 이벤트
$("#btnRemoveSndbk--${pageName}").on("click", function() {
$P.fnRemoveSndbk($(this).attr("title"));
});
// 우편 종적 보기 버튼 이벤트
$("#btnViewPostTrace--${pageName}").on("click", function() {
$P.fnViewPostTrace($(this).attr("title"));
});
// DataTables width 변경 조정
fnMakeResizableTable($("#table-responsive-sndngDtl--${pageName}")[0]);

Loading…
Cancel
Save