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

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

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

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

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

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

Loading…
Cancel
Save