1. 개별 총정보 수정.

main
jjh 5 months ago
parent 8d9f8dc46f
commit ed8f2b5426

@ -5,6 +5,7 @@ import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.poi.ss.usermodel.CellStyle;
import org.springframework.stereotype.Controller;
@ -254,7 +255,7 @@ public class Crdn06Controller extends ApplicationController {
*/
@Task
@RequestMapping(name="단속자료 상세 조회", value=METHOD_URL.getCrackdownInfo)
public ModelAndView getCrackdownInfo(CrdnQuery query) {
public ModelAndView getCrackdownInfo(HttpServletRequest hReq, CrdnQuery query) {
DataObject crdnInfo = crdnService.getCrackdownInfo(query);
boolean json = jsonResponse();
@ -278,7 +279,8 @@ public class Crdn06Controller extends ApplicationController {
case "PES" -> { vltnByTask = "FIM064"; }
}
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM011","FIM053","LVS005",vltnByTask);
Map<String, List<CommonCode>> commonCodes = getCodesOf("CMN006", "FIM011","FIM053","LVS005",vltnByTask);
mav.addObject("CMN006List", commonCodes.get("CMN006"));
mav.addObject("FIM011List", commonCodes.get("FIM011"));
mav.addObject("FIM053List", commonCodes.get("FIM053"));
mav.addObject("LVS005List", commonCodes.get("LVS005"));
@ -311,7 +313,9 @@ public class Crdn06Controller extends ApplicationController {
}
return mav
.addObject("pageName", "crdn06020") //
.addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName
.addObject("pageName", "crdn06020") // jsp pageName
.addObject("infoPrefixUrl", "/crdn/crdn06") // prefixUrl
.addObject("crdnInfo", json ? crdnInfo : toJson(crdnInfo))
;
}

@ -157,6 +157,7 @@ public class Sprt02Controller extends ApplicationController {
// 재조회로 호출되었다면..
if (req.getCallPurpose().equals("refresh")) {
DataObject totalInfo = sprt02Service.getCrdnInfo(req); // 단속(TB_CRDN) 대장 조회
mav.addObject("totalInfo", json ? totalInfo : toJson(totalInfo)); // 단속 정보
}

@ -114,6 +114,8 @@
, C.NXRP_CRDN_LINK_DT <!-- 세외수입 단속 연계 일시 -->
, C.LINK_TBL_NM <!-- 연계 테이블 명 -->
, C.LINK_ID <!-- 연계 ID -->
, C.GPS_X <!-- GPS X -->
, C.GPS_Y <!-- GPS Y -->
, V.VLTN_CD <!-- 위반 코드 -->
, V.VLTN_LAW_NM <!-- 위반 법 명 -->
, V.VLTN_LAW1 <!-- 위반 법1 -->
@ -122,13 +124,11 @@
, CA.TEAM_ID <!-- 조 ID -->
, CA.DTL_CRDN_PLC <!-- 상세 단속 장소 -->
, CA.CRDN_SPAREA_CD <!-- 단속 특별구역 코드 -->
, CA.CRDN_BGNG_TM
, CA.CRDN_END_TM
, CA.CRDN_BGNG_TM <!-- 단속 시작 시각 -->
, CA.CRDN_END_TM <!-- 단속 종료 시각 -->
, CA.CRDN_SN <!-- 단속 순번 -->
, C.GPS_X
, C.GPS_Y
, CA.MOSC_X
, CA.MOSC_Y
, CA.MOSC_X <!-- 모자이크 X -->
, CA.MOSC_Y <!-- 모자이크 Y -->
, CA.TOWNG_YN <!-- 견인 여부 -->
, CA.USE_FUEL_CD <!-- 사용 연료 코드 -->
, CA.FFNLG_CARMDL_CD <!-- 과태료 차종 코드 -->

@ -31,13 +31,17 @@
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 코드 명 -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, (SELECT GET_CODE_NM('FIM026', C.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM <!-- 단속 등록 구분 명 -->
, C.CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
, (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM <!-- 단속 입력 구분 명 -->
, C.CVLCPT_LINK_YN <!-- 민원 연계 여부 -->
, C.LINK_TBL_NM <!-- 연계 테이블 명 -->
, C.LINK_ID <!-- 연계 ID -->
, C.CRDN_YMD <!-- 단속 일자 -->
, C.CRDN_TM <!-- 단속 시각 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
@ -58,48 +62,44 @@
, C.OPNN_SBMSN_YN <!-- 의견 제출 여부 -->
, C.ETC_CN <!-- 기타 내용 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, C.BFR_CRDN_ID <!-- 이전 단속 ID -->
, C.DEL_YN <!-- 삭제 여부 -->
, C.REG_DT <!-- 등록 일시 -->
, C.RGTR <!-- 등록자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, C.MDFCN_DT <!-- 수정 일시 -->
, C.MDFR <!-- 수정자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, C.DEL_DT <!-- 삭제 일시 -->
, C.DLTR <!-- 삭제자 -->
, C.DEL_RSN <!-- 삭제 사유 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 코드 명 -->
, (SELECT GET_CODE_NM('FIM026', C.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM <!-- 단속 등록 구분 명 -->
, (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM <!-- 단속 입력 구분 명 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.DLTR) AS DLTR_NM <!-- 삭제자 명 -->
, CA.CRDN_SE_CD <!-- 단속 구분 코드 -->
, (SELECT GET_CODE_NM('FIM002', CA.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM <!-- 단속 구분 명 -->
, CA.TEAM_ID <!-- 조 ID -->
, CA.DTL_CRDN_PLC <!-- 상세 단속 장소 -->
, CA.CRDN_SPAREA_CD <!-- 단속 특별구역 코드 -->
, (SELECT GET_CODE_NM('FIM007', CA.CRDN_SPAREA_CD) FROM DUAL) AS CRDN_SPAREA_NM <!-- 단속 특별구역 명 -->
, CA.CRDN_BGNG_TM <!-- 단속 시작 시각 -->
, CA.CRDN_END_TM <!-- 단속 종료 시각 -->
, CA.CRDN_SN <!-- 단속 일련번호 -->
, CA.MOSC_X <!-- 모자이크 X -->
, CA.MOSC_Y <!-- 모자이크 Y -->
, CA.TOWNG_YN <!-- 견인 여부 -->
, (SELECT GET_CODE_NM('FIM053', CA.TOWNG_YN) FROM DUAL) AS TOWNG_NM <!-- 견인 여부 명 -->
, CA.USE_FUEL_CD <!-- 사용 연료 코드 -->
, CA.FFNLG_CARMDL_CD <!-- 과태료 차종 코드 -->
, CA.PARKNG_PSBLTY_RSLT_CD <!-- 주차 가능 결과 코드 -->
, CA.VLTN_NMTM <!-- 위반 횟수 -->
, CA.OVTIME_YN <!-- 시간외 여부 -->
, CA.OVTIME_PRTTN_YN <!-- 시간외 분할 여부 -->
, (SELECT GET_CODE_NM('FIM002', CA.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM <!-- 단속 구분 명 -->
, (SELECT GET_CODE_NM('FIM007', CA.CRDN_SPAREA_CD) FROM DUAL) AS CRDN_SPAREA_NM <!-- 단속 특별구역 명 -->
, (SELECT GET_CODE_NM('FIM006', CA.TOWNG_YN) FROM DUAL) AS TOWNG_YN_NM <!-- 견인 여부 명 -->
, (SELECT GET_CODE_NM('LVS005', CA.USE_FUEL_CD) FROM DUAL) AS USE_FUEL_NM <!-- 사용 연료 명 -->
, CA.FFNLG_CARMDL_CD <!-- 과태료 차종 코드 -->
, (SELECT GET_CODE_NM('FIM009', CA.FFNLG_CARMDL_CD) FROM DUAL) AS FFNLG_CARMDL_NM <!-- 과태료 차종 명 -->
, CA.PARKNG_PSBLTY_RSLT_CD <!-- 주차 가능 결과 코드 -->
, (SELECT GET_CODE_NM('FIM034', CA.PARKNG_PSBLTY_RSLT_CD) FROM DUAL) AS PARKNG_PSBLTY_RSLT_NM <!-- 주차 가능 결과 명 -->
, (SELECT GET_CODE_NM('FIM006', CA.OVTIME_YN) FROM DUAL) AS OVTIME_YN_NM <!-- 시간외 여부 명 -->
, (SELECT GET_CODE_NM('FIM006', CA.OVTIME_PRTTN_YN) FROM DUAL) AS OVTIME_PRTTN_YN_NM <!-- 시간외 분할 여부 명 -->
, CA.VLTN_NMTM <!-- 위반 횟수 -->
, CA.OVTIME_YN <!-- 시간초과 여부 -->
, (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 <!-- 운영 항목 명 -->
, P.RTPYR_ID <!-- 납부자 ID -->
@ -143,24 +143,8 @@
, CC.CVLCPT_PRCS_CMPTN_DT <!-- 민원 처리 완료 일시 -->
, CC.CVLCPT_PRCS_PIC <!-- 민원 처리 담당자 -->
, L.LEVY_ID <!-- 부과 ID -->
, L.INST_CD <!-- 기관 코드 -->
, L.DEPT_CD <!-- 부서 코드 -->
, L.SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, L.FYR <!-- 회계 연도 -->
, L.ACNTG_SE_CD <!-- 회계 구분 코드 -->
, L.TXITM_CD <!-- 세목 코드 -->
, L.LEVY_NO <!-- 부과 번호 -->
, L.INSPY_SN <!-- 분납 일련번호 -->
, L.LEVY_PCPTAX <!-- 부과 본세 -->
, L.LEVY_ADAMT <!-- 부과 가산금 -->
, L.INSPY_INT <!-- 분납 이자 -->
, L.RCVMT_PCPTAX <!-- 수납 본세 -->
, L.RCVMT_ADAMT <!-- 수납 가산금 -->
, L.RDCAMT_PCPTAX <!-- 감액 본세 -->
, L.RDCAMT_ADAMT <!-- 감액 가산금 -->
, L.SUM_AMT <!-- 합계 금액 -->
, (CONCAT(L.FYR, '-', L.LEVY_NO)) AS GOJI_NO <!-- 고지번호 -->
, (L.LEVY_PCPTAX + L.LEVY_ADAMT + L.INSPY_INT) AS LEVY_AMT <!-- 부과금액 -->
, (L.LEVY_PCPTAX + L.LEVY_ADAMT) AS LEVY_AMT <!-- 부과 금액 -->
, (L.RCVMT_PCPTAX + L.RCVMT_ADAMT) AS RCVMT_AMT <!-- 수납 금액 -->
, (L.RDCAMT_PCPTAX + L.RDCAMT_ADAMT) AS RDCAMT_AMT <!-- 감액 금액 -->
FROM TB_CRDN C

@ -8,7 +8,6 @@
multiple accept="image/*" hidden />
</form>
<div class="fs-4 fw-bold d-block">등록된 사진</div>
<div class="col-md-12 d-flex justify-content-between">
<div class="my-1">
<button type="button" id="btnOpenVideoCapture--${pageName}" class="btn btn-primary">
@ -56,7 +55,7 @@
<label class="mx-1 d-flex flex-row">
<input type="radio" name="{name}" class="form-check-input" value="{value}" checked="" />
<div class="position-relative">
<img src="{src}" width="240" height="160"
<img src="{src}" width="240" height="150"
data-crdn-photo-id="{crdnPhotoId}"
data-mosaic="{mosaic}"
onload='fn_photoMask($("#photoMask--top").is(":checked"),this);' />

@ -14,7 +14,7 @@
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">단속 정보</label>
<label class="w-px-120 bg-label-danger col-form-label text-sm-center">단속 정보</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary" id="btnViewCvlcptOrgnl--${pageName}" title="민원 원본 보기">
@ -187,13 +187,13 @@
</div>
<!-- 견인 여부 -->
<div class="col-md-3" id="divTowngYnNm--${pageName}">
<label for="towngYnNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">견인여부</label>
<input type="text" class="form-control w-25" id="towngYnNm--${pageName}" name="towngYnNm" data-map="TOWNG_YN_NM" readonly />
<label for="towngNm--${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="towngNm--${pageName}" name="towngNm" data-map="TOWNG_NM" readonly />
</div>
<!-- 시간외 여부 -->
<div class="col-md-3" id="divOvtimeYnNm--${pageName}">
<label for="ovtimeYnNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">시간외여부</label>
<input type="text" class="form-control w-25" id="ovtimeYnNm--${pageName}" name="ovtimeYnNm" data-map="OVTIME_YN_NM" readonly />
<label for="ovtimeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">2시간초과</label>
<input type="text" class="form-control w-25" id="ovtimeNm--${pageName}" name="ovtimeNm" data-map="OVTIME_NM" readonly />
</div>
<!-- 과태료 차종 -->
<div class="col-md-3" id="divFfnlgCarmdlNm--${pageName}">
@ -219,7 +219,7 @@
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">납부자 정보</label>
<label class="w-px-120 bg-label-danger col-form-label text-sm-center">납부자 정보</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary" id="btnDeleteCrdnPayer--${pageName}" title="납부자 초기화">
@ -306,7 +306,7 @@
**************************************************************************/
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
let $P = pageObject["${pageName}"];
$("#photoMainWrapper--${pageName}").addClass("w-px-320 min-w-px-320");
@ -345,28 +345,29 @@
* DatasetControl 이벤트
**************************************************************************/
// 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = item => {
$P.control.onCurrentChange = (item) => {
if (!item) return;
// Dataset 셋팅
$P.formFields.set($P.control, item);
let key = item.data.CRDN_ID;
}
// 단속 Dialog
// 단속 정보 Dialog
$P.control.getInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/crdn/crdn06/020/info.do")
url: wctx.url("/" + params.taskSeCd + "/crdn/crdn06/020/info.do") + "?openerPageName=${pageName}"
, data: params || {}
, success: resp => {
dialog.open({
id : "crdnDialog"
id: "crdnDialog--${pageName}"
, title: params.title
, content: resp
, size: "lg"
, onClose : () => { $P.refreshDataInfo(); }
, onClose: () => { $P.fnRefreshDataInfo(); }
});
}
});
@ -402,7 +403,7 @@
* 사용자 함수(function)
**************************************************************************/
// 자료 재조회
$P.refreshDataInfo = () => {
$P.fnRefreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
@ -425,14 +426,13 @@
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.control.dataset.clear(); // Dataset 초기화
// sprt02010-main 단속 정보
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
// 단속, 납부자 정보
if (resp.crdnPayer) {
$P.control.setData([resp.crdnPayer]);
}
// 최상단 단속 정보
if (resp.totalInfo) {
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
}
}
});
}

@ -5,9 +5,7 @@
<div class="content-wrapper">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
<input type="hidden" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" />
<input type="text" name="dialogId" hidden />
<input type="text" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" hidden />
<div class="d-flex flex-row justify-content-evenly">
<!-- 화면 왼쪽 -->
@ -125,7 +123,7 @@
</div> <!-- <div class="col-xl-9 mx-1"> -->
<!-- 화면 오른쪽 -->
<div class="col-xl-3 mx-1">
<div class="col-xl-3 mx-0">
<!-- 심의 정보 -->
<div class="card">
<!-- 업무 버튼 -->
@ -231,7 +229,7 @@
if (!params) return;
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/excl/excl02/020/info.do")
url: wctx.url("/" + params.taskSeCd + "/excl/excl02/020/info.do") + "?openerPageName=${pageName}"
, data: params || {}
, success: resp => {
if ((typeof resp) != "string") {
@ -241,7 +239,7 @@
return;
} else {
dialog.open({
id: $P.control.prefixed("Dialog")
id: $P.control.prefixed("Dialog--${pageName}")
, title: params.title
, content: resp
, size: "lg"
@ -305,14 +303,14 @@
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.control.dataset.clear(); // Dataset 초기화
// 의견제출 정보
if (resp.opnnSbmsn) {
$P.control.setData([resp.opnnSbmsn]);
}
// 최상단 단속 Data 셋팅
if (resp.totalInfo) {
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
}
// 의견제출 정보
if (resp.opnnSbmsn) {
$P.control.setData([resp.opnnSbmsn]);
}
}
});
}
@ -322,11 +320,11 @@
if (!params) return;
ajax.get({
url: wctx.url("/" + params.taskSeCd + "/excl/excl02/030/info.do")
url: wctx.url("/" + params.taskSeCd + "/excl/excl02/030/info.do") + "?openerPageName=${pageName}"
, data: params || {}
, success: resp => {
dialog.open({
id: "opnnDlbrDialog"
id: "opnnDlbrDialog--${pageName}"
, title: params.title
, content: resp
, size: "lg"

@ -125,7 +125,7 @@
<div class="row g-1">
<!-- 가상계좌 -->
<div class="col-md-12">
<textarea type="text" class="form-control w-100" id="vrActno--${pageName}" name="vrActno" cols="100%" rows="7" readonly></textarea>
<textarea type="text" class="form-control w-100" id="vrActno--${pageName}" name="vrActno" cols="100%" rows="8" readonly></textarea>
</div>
<!-- 전자납부번호 -->
<div class="col-md-12">

Loading…
Cancel
Save