1. 개별총정보 - 단속정보 수정 -> 수정

2. 개별총정보 - 단속상태 변경 -> 수정
main
jjh 5 months ago
parent ed8f2b5426
commit 1e14d9396e

@ -263,26 +263,27 @@ public class CrdnBean extends AbstractBean {
*/
public String updateCrackdown(Crdn crdn) {
// 변수 선언
int effected = 0; // DB 처리 결과
String rtnMsg = ""; // 처리 결과 메시지
int effected = 0; // DB 처리 결과
//금액 계산
int[] basicAmt = crdnStngBean.getBasicAmt(crdn);
crdn.setFfnlgCrdnAmt(basicAmt[0]);
crdn.setFfnlgAmt(basicAmt[0]);
crdn.setAdvntceAmt(basicAmt[1]);
// 단속(TB_CRDN) 대장을 수정 한다.
effected = crdnUpdtMapper.updateEditCrdn(crdn);
if (effected != 1) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("단속 대장 수정에 실패하였습니다.");
throw new RuntimeException("단속 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
// 단속 부가 정보(TB_CRDN_ADI) 대장을 수정 한다.
effected = crdnUpdtMapper.updateCrdnAddition(crdn);
if (effected != 1) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("단속 부가 정보 수정에 실패하였습니다.");
throw new RuntimeException("단속 부가 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
/** .
@ -294,8 +295,7 @@ public class CrdnBean extends AbstractBean {
*/
public String removeCrackdown(Crdn crdn) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = ""; // 처리 결과 메시지
boolean rtnScs = false; // DB 처리 결과
int effected = 0;
// 단속 ID로 단속 정보 조회
@ -303,7 +303,6 @@ public class CrdnBean extends AbstractBean {
// 단속상태이력(TB_CRDN_STTS_HSTRY)
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
crdnSttsHstry.setCrdnId(infoCrdn.string("CRDN_ID"));
crdnSttsHstry.setBfrSttsCd(infoCrdn.string("CRDN_STTS_CD"));
crdnSttsHstry.setBfrSttsChgDt(infoCrdn.string("CRDN_STTS_CHG_DT"));
@ -312,8 +311,7 @@ public class CrdnBean extends AbstractBean {
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다.
rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("단속 삭제 중 단속 대장의 단속상태코드 변경에 실패하였습니다.");
throw new RuntimeException("단속 삭제 중 단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
Map<String, Object> paramMap = new HashMap<String, Object>();
@ -324,20 +322,16 @@ public class CrdnBean extends AbstractBean {
// 단속(TB_CRDN) 대장을 삭제 한다.
effected = crdnUpdtMapper.deleteCrdn(paramMap);
if (effected != 1) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("단속 대장 삭제에 실패하였습니다.");
throw new RuntimeException("단속 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
// 단속(TB_CRDN) 대장을 삭제 한다.
effected = crdnUpdtMapper.deleteCrdnAdi(paramMap);
if (effected != 1) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("단속 부가 정보 삭제에 실패하였습니다.");
throw new RuntimeException("단속 부가 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
/** ID .
@ -348,20 +342,13 @@ public class CrdnBean extends AbstractBean {
* </ul>
*/
public String removeCrackdownPayer(Crdn crdn) {
// 변수 선언
String rtnMsg = ""; // 처리 결과 메시지
int effected = 0;
// 단속(TB_CRDN) 대장에 납부자 ID를 삭제 한다.
effected = crdnUpdtMapper.deleteCrdnPayer(crdn);
int effected = crdnUpdtMapper.deleteCrdnPayer(crdn);
if (effected != 1) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("단속 자료의 납부자 정보가 없습니다.");
throw new RuntimeException("단속 자료의 납부자 정보가 없습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
/** .
@ -372,16 +359,11 @@ public class CrdnBean extends AbstractBean {
* </ul>
*/
public String updateCrackdownStatus(Crdn crdn) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = ""; // 처리 결과 메시지
// 단속 ID로 단속 정보 조회
DataObject infoCrdn = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId());
// 단속상태이력(TB_CRDN_STTS_HSTRY)
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
crdnSttsHstry.setCrdnId(infoCrdn.string("CRDN_ID"));
crdnSttsHstry.setBfrSttsCd(infoCrdn.string("CRDN_STTS_CD"));
crdnSttsHstry.setBfrSttsChgDt(infoCrdn.string("CRDN_STTS_CHG_DT"));
@ -389,15 +371,12 @@ public class CrdnBean extends AbstractBean {
crdnSttsHstry.setCrdnSttsCd(crdn.getCrdnSttsCd());
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다.
rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("단속 대장의 단속상태코드 변경에 실패하였습니다.");
throw new RuntimeException("단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
return "[S] 작업이 정상 처리 되었습니다.";
}
/** .

@ -354,7 +354,7 @@ public class Crdn06Controller extends ApplicationController {
*/
@Task
@RequestMapping(name="단속자료 상태 조회", value=METHOD_URL.getCrackdownStatusInfo)
public ModelAndView getCrackdownStatusInfo(CrdnQuery query) {
public ModelAndView getCrackdownStatusInfo(HttpServletRequest hReq, CrdnQuery query) {
DataObject crdnInfo = crdnService.getCrackdownInfo(query);
boolean json = jsonResponse();
@ -364,8 +364,10 @@ public class Crdn06Controller extends ApplicationController {
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM010");
return mav
.addObject("pageName", "crdn06030") //
.addObject("FIM010List", commonCodes.get("FIM010")) // 단속 처리 상태 코드(CRDN_STTS_CD)
.addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName
.addObject("pageName", "crdn06030") // jsp pageName
.addObject("infoPrefixUrl", "/crdn/crdn06") // prefixUrl
.addObject("FIM010List", commonCodes.get("FIM010")) // 단속 처리 상태 코드(CRDN_STTS_CD)
.addObject("crdnInfo", json ? crdnInfo : toJson(crdnInfo))
;
}

@ -117,6 +117,7 @@
, C.GPS_X <!-- GPS X -->
, C.GPS_Y <!-- GPS Y -->
, V.VLTN_CD <!-- 위반 코드 -->
, V.VLTN_ARTCL <!-- 위반 항목 -->
, V.VLTN_LAW_NM <!-- 위반 법 명 -->
, V.VLTN_LAW1 <!-- 위반 법1 -->
, V.VLTN_LAW2 <!-- 위반 법2 -->

@ -121,7 +121,7 @@
WHERE CRDN_ID = #{crdnId} /* 단속 ID */
</update>
<update id="updateEditCrdn" parameterType="map">/* 단속 정보 수정(crdnUpdtMapper.updateEditCrdn) */
<update id="updateEditCrdn" parameterType="cokr.xit.fims.crdn.Crdn">/* 단속 정보 수정(crdnUpdtMapper.updateEditCrdn) */
UPDATE TB_CRDN
SET CRDN_YMD = #{crdnYmd} <!-- 단속 일자 -->
, CRDN_TM = #{crdnTm} <!-- 단속 시각 -->
@ -138,6 +138,9 @@
, VIN = #{vin} <!-- 차대번호 -->
, VHCL_NM = #{vhclNm} <!-- 차량 명 -->
, VHCL_COLOR = #{vhclColor} <!-- 차량 색상 -->
, FFNLG_CRDN_AMT = #{ffnlgCrdnAmt} <!-- 과태료 단속 금액 -->
, FFNLG_AMT = #{ffnlgAmt} <!-- 과태료 금액 -->
, ADVNTCE_AMT = #{advntceAmt} <!-- 사전통지 금액 -->
, ETC_CN = #{etcCn} <!-- 기타 내용 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정일시 -->
, MDFR = #{modifiedBy} <!-- 수정자 -->

@ -100,8 +100,7 @@
, (SELECT GET_CODE_NM('CMN006', CA.OVTIME_YN) FROM DUAL) AS OVTIME_NM <!-- 시간초과 여부 명 -->
, CA.OVTIME_PRTTN_YN <!-- 시간초과 분할 여부 -->
, (SELECT GET_CODE_NM('CMN006', CA.OVTIME_PRTTN_YN) FROM DUAL) AS OVTIME_PRTTN_NM <!-- 시간초과 분할 여부 명 -->
, V.TXITM_NM <!-- 세목 명 -->
, V.OPER_ITEM_NM <!-- 운영 항목 명 -->
, V.VLTN_ARTCL <!-- 위반 항목 -->
, P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_INPT_SE_CD <!-- 납부자 입력 구분 코드 -->
, (SELECT GET_CODE_NM('FIM015', P.RTPYR_INPT_SE_CD) FROM DUAL) AS RTPYR_INPT_SE_NM <!-- 납부자 입력 구분 명 -->

@ -1,14 +1,15 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">단속자료 수정</c:set>
<!-- inner page html -->
<div class="content-wrapper">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0">
<c:set var="prefixName" scope="request">단속자료 수정</c:set>
<!-- Page Body -->
<div class="card">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
@ -60,7 +61,7 @@
법정동
</label>
<input type="text" id="crdnStdgNm--${pageName}" name="crdnStdgNm"
class="form-control w-50" data-map="CRDN_STDG_NM" list="stdgNmList--${pageName}" />
class="form-control w-40" data-map="CRDN_STDG_NM" list="stdgNmList--${pageName}" />
<datalist id="stdgNmList--${pageName}">
<c:forEach items="${stdgNmList}" var="item">
<option value="${item}"></option>
@ -74,7 +75,7 @@
도로명
</label>
<input type="text" id="crdnRoadNm--${pageName}" name="crdnRoadNm"
class="form-control w-50" data-map="CRDN_ROAD_NM" />
class="form-control w-40" data-map="CRDN_ROAD_NM" />
</div>
<!-- 단속 장소 -->
<div class="col-md-12">
@ -117,11 +118,12 @@
<div class="col-md-6" slot="edit">
<template class="pvs">
<slot>
<label for="towngYnNm--${pageName}">
<input type="checkbox" id="towngYnNm--${pageName}" name="towngYnNm"
class="form-check-input" data-map="TOWNG_YN_NM" />
견인여부
</label>
<label for="ovtimeYn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">2시간초과</label>
<select class="form-select" id="ovtimeYn--${pageName}" name="ovtimeYn" data-map="OVTIME_YN" required>
<c:forEach items="${CMN006List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</slot>
</template>
</div>
@ -161,7 +163,7 @@
class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
차종
</label>
<select id="ffnlgCarmdlCd--${pageName}" name ="ffnlgCarmdlCd"
<select id="ffnlgCarmdlCd--${pageName}" name="ffnlgCarmdlCd"
class="form-select" data-map="FFNLG_CARMDL_CD">
<option value=""></option>
<c:forEach items="${FIM009List}" var="item">
@ -232,39 +234,6 @@
</slot>
</template>
</div>
<div class="col-md-12" slot="edit">
<template class="pvs bpv">
<slot>
<label for="teamId--${pageName}"
class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
단속조
</label>
<select id="teamId--${pageName}" name="teamId" class="form-select" data-map="TEAM_ID">
<option value=""></option>
<c:forEach items="${TeamList}" var="item">
<option value="${item.TEAM_ID}">${item.TEAM_NM}</option>
</c:forEach>
</select>
</slot>
</template>
</div>
<div class="col-md-12" slot="edit">
<template class="pvs bpv">
<slot>
<label class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">
단속원
</label>
<input type="text" id="teamer1--${pageName}" name="teamer1"
class="form-control" data-map="TEAMER_1" />
<input type="text" id="teamer2--${pageName}" name="teamer2"
class="form-control" data-map="TEAMER_2" />
<input type="text" id="teamer3--${pageName}" name="teamer3"
class="form-control" data-map="TEAMER_3" />
<input type="text" id="teamer4--${pageName}" name="teamer4"
class="form-control" data-map="TEAMER_4" />
</slot>
</template>
</div>
</div>
</form>
<!-- /입력 영역 -->
@ -298,10 +267,8 @@
**************************************************************************/
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
let $P = pageObject["${pageName}"];
// URL
$P.PrefixUrl = "/crdn/crdn06";
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
// FormFields
@ -311,43 +278,43 @@
* DatasetControl
**************************************************************************/
$P.control = new DatasetControl({
prefix : "crdn"
, prefixName : "단속"
, keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.crdnInfo
prefix: "crdn"
, prefixName: "단속"
, keymapper: info => info ? info.CRDN_ID : ""
, dataGetter: obj => obj.crdnInfo
});
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
$P.control.onCurrentChange = (DI) => {
if (!DI) return;
$P.control.onCurrentChange = (item) => {
if (!item) return;
// Dataset 셋팅
$P.formFields.set($P.control,DI);
// 1. 업무별 입력 항목
$P.fnRenderTask(item.data.TASK_SE_CD);
// 업무별 입력 항목
$P.renderTask(DI.data.TASK_SE_CD);
// 2. Dataset 셋팅
$P.formFields.set($P.control, item);
// 업무구분에 따른 URL 변경
$P.setURL(DI.data.TASK_SE_CD);
// 3. 업무구분에 따른 URL 변경
$P.fnSetURL(item.data.TASK_SE_CD);
}
// 저장 callback
$P.control.onSave = (resp) => {
let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html();
let dialogTitle = $("#" + $P.control.prefix + "Dialog--${openerPageName}").find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
dialog.alert({
content : showMessage,
init : function(){
content: showMessage
, init: function() {
setDialogZindex();
focusClose();
}
});
if (resp.saved) {
dialog.close($P.control.prefix + "Dialog");
dialog.close($P.control.prefix + "Dialog--${openerPageName}");
}
}
@ -356,9 +323,9 @@
if (!info) return;
ajax.post({
url : $P.control.urls.update
, data : info
, success : resp => $P.control.onSave(resp)
url: $P.control.urls.update
, data: info || {}
, success: resp => $P.control.onSave(resp)
});
}
@ -366,24 +333,27 @@
* 사용자 함수(function)
**************************************************************************/
// 업무별 입력 항목
$P.renderTask = (taskSeCd) => {
$P.fnRenderTask = (taskSeCd) => {
if (taskSeCd == undefined || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#taskSeCd--${pageName}").val().toLowerCase();
} else {
taskSeCd = taskSeCd.toLowerCase();
taskSeCd = $("#taskSeCd--${pageName}").val();
}
renderForTask("frmEdit--${pageName}", taskSeCd);
renderForTask("frmEdit--${pageName}", taskSeCd.toLowerCase());
}
// 업무구분에 따른 URL 설정
$P.fnSetURL = (taskSeCd) => {
$P.control.urls.update = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/020/update.do"); // 수정
}
// 차적 조회
$P.getVehicle = (params) => {
$P.fnGetVehicle = (params) => {
if (!params) return;
json.post({
url : wctx.url("/payer/vehicle.do")
, data : params || {}
, success : resp => {
url: wctx.url("/payer/vehicle.do")
, data: params || {}
, success: resp => {
// 항목 초기화
$("#vin--${pageName}").val("");
$("#vhclNm--${pageName}").val("");
@ -393,8 +363,8 @@
if (!resp.found) {
dialog.alert({
content : "차량 정보가 없습니다.",
init : function(){
content: "차량 정보가 없습니다.",
init: function() {
setDialogZindex();
focusClose();
}
@ -432,9 +402,6 @@
});
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 차적 조회
$P.fnVehicle = (title) => {
let crdnYmd = $("#crdnYmd--${pageName}").val().replaceAll("-", "");
@ -443,42 +410,43 @@
// 단속일자
if (crdnYmd == "") {
dialog.alert({
content : "단속일자를 입력하세요.",
init : function(){
content: "단속일자를 입력하세요.",
init: function() {
setDialogZindex();
focusClose();
},
onClose : function() { $("#crdnYmd--${pageName}").focus(); }
});
return;
}
// 차량번호
if (vhrno == "") {
dialog.alert({
content : "차량번호를 입력하세요.",
init : function(){
content: "차량번호를 입력하세요.",
init: function() {
setDialogZindex();
focusClose();
},
onClose : function() { $("#vhrno--${pageName}").focus(); }
});
return;
}
let params = {
inqire_se_code : "3"
, sggCd : $("#sggCd--${pageName}").val()
, levy_stdde : crdnYmd
, vhrno : vhrno
, sggCd: $("#sggCd--${pageName}").val()
, levy_stdde: crdnYmd
, vhrno: vhrno
}
$P.getVehicle(params);
$P.fnGetVehicle(params);
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 저장
$P.fnSave = (title) => {
$P.fnSave = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
@ -488,17 +456,12 @@
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
dialog.alert({
content : "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?",
init : function(){
content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
, init: function() {
setDialogZindex();
focusOK();
},
onOK : () => {
// 파리미터 설정
let params = $P.formFields.get(); // formFields
params.title = title; // 타이틀
$P.control.save(params);
}, onOK: () => {
$P.control.save($P.formFields.get()); // formFields
}
});
}
@ -539,31 +502,22 @@
$P.fnVehicle("차적 조회");
}
});
// 차량번호 조회 버튼 이벤트
$("#btnVehicle--${pageName}").on("click", function() {
$P.fnVehicle($(this).attr("title"));
});
// 저장 버튼 이벤트
$("#btnSave--${pageName}").on("click", function() {
$P.fnSave($(this).attr("title"));
});
// 버튼 이벤트
$("#btnVehicle--${pageName}").on("click", () => $P.fnVehicle()); // 차량번호 조회
$("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장
}
// 초기 화면 설정
$P.initForm = () => {
// Dialog 마우스로 드래그 할 수 있도록 설정.
fnMakeDraggableDialog(document.getElementById($P.control.prefix + "Dialog"));
fnMakeDraggableDialog(document.getElementById($P.control.prefix + "Dialog--${openerPageName}"));
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#crdnYmd--${pageName}").datepicker("setDate", TODAY());
}
// 업무구분에 따른 URL 설정
$P.setURL = (taskSeCd) => {
$P.control.urls.update = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/020/update.do"); // 수정
}
/**************************************************************************
* 최초 실행 함수
**************************************************************************/

@ -1,14 +1,15 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">단속 상태 정보</c:set>
<!-- inner page html -->
<div class="content-wrapper">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0">
<c:set var="prefixName" scope="request">단속 상태 정보</c:set>
<!-- Page Body -->
<div class="card">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
@ -70,10 +71,8 @@
**************************************************************************/
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
let $P = pageObject["${pageName}"];
// URL
$P.PrefixUrl = "/crdn/crdn06";
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
// FormFields
@ -83,41 +82,41 @@
* DatasetControl
**************************************************************************/
$P.control = new DatasetControl({
prefix : "crdnSttsCd"
, prefixName : "단속 상태"
, keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.crdnInfo
prefix: "crdnSttsCd"
, prefixName: "단속처리상태"
, keymapper: info => info ? info.CRDN_ID : ""
, dataGetter: obj => obj.crdnInfo
});
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = (DI) => {
if (!DI) return;
$P.control.onCurrentChange = (item) => {
if (!item) return;
// Dataset 셋팅
$P.formFields.set($P.control,DI);
$P.formFields.set($P.control, item);
// 업무구분에 따른 URL 변경
$P.setURL(DI.data.TASK_SE_CD);
$P.fnSetURL(item.data.TASK_SE_CD);
}
// 저장 callback
$P.control.onSave = (resp) => {
let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html();
let dialogTitle = $("#" + $P.control.prefix + "Dialog--${openerPageName}").find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
dialog.alert({
content : showMessage,
init : function(){
content : showMessage
, init : function(){
setDialogZindex();
focusClose();
}
});
if (resp.saved) {
dialog.close($P.control.prefix + "Dialog");
dialog.close($P.control.prefix + "Dialog--${openerPageName}");
}
}
@ -126,16 +125,19 @@
if (!info) return;
ajax.post({
url : $P.control.urls.update
, data : info
, success : resp => $P.control.onSave(resp)
url: $P.control.urls.update
, data: info || {}
, success: resp => $P.control.onSave(resp)
});
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 업무구분에 따른 URL 설정
$P.fnSetURL = (taskSeCd) => {
$P.control.urls.update = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/030/update.do"); // 수정
}
/**************************************************************************
* 버튼 clickEvent
@ -146,16 +148,11 @@
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({
content : "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?",
init : function() {
content : "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
, init : function() {
focusOK();
},
onOK : () => {
// 파리미터 설정
let params = $P.formFields.get(); // formFields
params.title = title; // 타이틀
$P.control.save(params);
}, onOK : () => {
$P.control.save($P.formFields.get()); // formFields
}
});
}
@ -165,21 +162,14 @@
**************************************************************************/
// 이벤트 설정
$P.setEvent = () => {
// 저장 버튼 이벤트
$("#btnSave--${pageName}").on("click", function() {
$P.fnSave($(this).attr("title"));
});
// 버튼 이벤트
$("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장
}
// 초기 화면 설정
$P.initForm = () => {
// Dialog 마우스로 드래그 할 수 있도록 설정.
fnMakeDraggableDialog(document.getElementById($P.control.prefix + "Dialog"));
}
// 업무구분에 따른 URL 설정
$P.setURL = (taskSeCd) => {
$P.control.urls.update = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/030/update.do"); // 수정
fnMakeDraggableDialog(document.getElementById($P.control.prefix + "Dialog--${openerPageName}"));
}
/**************************************************************************

@ -14,7 +14,7 @@
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger col-form-label text-sm-center">단속 정보</label>
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">단속 정보</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary" id="btnViewCvlcptOrgnl--${pageName}" title="민원 원본 보기">
@ -76,8 +76,8 @@
</div>
<!-- 위반 내용 -->
<div class="col-md-4">
<label for="vltnNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">위반내용</label>
<input type="text" class="form-control w-40" id="vltnNm--${pageName}" name="vltnNm" data-map="VLTN_NM" readonly />
<label for="vltnArtcl--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">위반내용</label>
<input type="text" class="form-control w-40" id="vltnArtcl--${pageName}" name="vltnArtcl" data-map="VLTN_ARTCL" readonly />
<label for="dstrbncYn--${pageName}" id="lbDstrbncYn--${pageName}">
<input type="checkbox" id="dstrbncYn--${pageName}" name="dstrbncYn" data-map="DSTRBNC_YN" disabled /> 1면 방해
</label>
@ -219,7 +219,7 @@
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger col-form-label text-sm-center">납부자 정보</label>
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">납부자 정보</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary" id="btnDeleteCrdnPayer--${pageName}" title="납부자 초기화">
@ -383,9 +383,7 @@
, onOK: () => { }
});
if (resp.saved) {
fnClose${pageNameMain}(true);
}
if (resp.saved) { fnClose${pageNameMain}(true); }
}
// 삭제
@ -477,11 +475,11 @@
$P.callbackRsn = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose : "remove"
, crdnId : $P.control.dataset.getValue("CRDN_ID") // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, delRsn : obj.reason // 삭제 사유
callPurpose: "remove"
, crdnId: $P.control.dataset.getValue("CRDN_ID") // 단속 ID
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, delRsn: obj.reason // 삭제 사유
};
$P.control.remove(params);
@ -511,15 +509,15 @@
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/crdn/crdn06/030/info.do")
, data : params || {}
, success : resp => {
url: wctx.url("/" + params.taskSeCd + "/crdn/crdn06/030/info.do") + "?openerPageName=${pageName}"
, data: params || {}
, success: resp => {
dialog.open({
id : "crdnSttsCdDialog"
, title : params.title
, content : resp
, size : "lg"
, onClose : () => { $P.refreshDataInfo(); }
id: "crdnSttsCdDialog--${pageName}"
, title: params.title
, content: resp
, size: "lg"
, onClose: () => { $P.fnRefreshDataInfo(); }
});
}
});
@ -541,7 +539,7 @@
});
if (resp.saved) {
$P.refreshDataInfo();
$P.fnRefreshDataInfo();
}
}
});
@ -564,11 +562,11 @@
, data : params || {}
, success : resp => {
dialog.open({
id : "payerDialog"
, title : dialogTitle
, content : resp
, size : "lg"
, onClose : () => { $P.refreshDataInfo(); }
id: "payerDialog"
, title: dialogTitle
, content: resp
, size: "lg"
, onClose: () => { $P.fnRefreshDataInfo(); }
});
}
});
@ -787,11 +785,11 @@
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose : "update"
, title : title
, crdnId : crdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
callPurpose: "update"
, title: title
, crdnId: crdnId // 단속 ID
, sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
};
$P.getInfoCrdnSttsCd(params);

Loading…
Cancel
Save