feat: 단속현황관리 진행

- dataset(fmt-type)에 따른 출력 포맷 적용
      - 위반정보 출력 항목 조정 및 fmt-type 적용
main
minuk926 2 years ago
parent c8bcf4912d
commit 8e92949fa3

@ -8,38 +8,42 @@
************************************************************************************************************** -->
<sql id="sqlRtReglt">
SELECT trr.reglt_id
, trr.payer_id
, trr.instt_code
, trr.sys_code
, trr.reglt_se_code
, trr.input_se_code
, trr.payer_id -- 납부자ID
, trr.instt_code -- 기관코드
, trr.sys_code -- 시스템코드
, trr.reglt_se_code -- 단속구분코드
, trr.input_se_code -- 입력구분코드
, trr.reglt_de
, trr.reglt_begin_time
, trr.reglt_end_time
, trr.violt_lrg_code
, trr.violt_dtls_code
, trr.violt_dtls_etc_cn
, trr.reglt_place
, trr.violt_co
, trr.violt_legaldong_code
, trr.reglt_begin_time -- 단속시작시간
, trr.reglt_end_time -- 단속종료시간
, trr.violt_lrg_code -- 위반 법규 코드
, trr.violt_dtls_code -- 위반내역코드
, trr.violt_dtls_etc_cn -- 위반내역 기타 내용
, trr.reglt_place -- 위반장소
, trr.violt_co -- 위반횟수
, trr.violt_legaldong_code -- 위반법정코드
, trr.gps_x
, trr.gps_y
, trr.towng_at_code
, trr.stickr_no
, trr.image_nmrs
, trr.redution_amount
, trr.redution_aft_amount
, trr.rciv_amount
, trr.rdcamt
, trr.adamt
, trr.vhcle_no
, trr.vhcle_nm
, trr.regist_dt
, trr.spcmnt_matter
, trr.towng_at_code -- 견인여부 코드
, trr.stickr_no -- 스티커 번호
, trr.image_nmrs -- 이미지매수
, trr.redution_amount -- 감경금액
, trr.redution_aft_amount -- 감경후 금액
, trr.rciv_amount -- 수납금액
, trr.rdcamt -- 감액
, trr.adamt -- 가산금
, trr.vhcle_no -- 차량번호
, trr.vhcle_nm -- 차량명
, trr.vhcty_cl_code -- 차종분류코드
, trr.vhcty_asort_code -- 차종종별코드
, trr.vin -- 차대번호
, trr.spcmnt_matter -- 특기사항
, trr.reglt_specl_zone_se_code -- 단속특별구역코드
, trr.reglt_process_sttus_code
, trr.regist_dt
FROM tb_rt_reglt trr
LEFT OUTER JOIN tb_rt_erpp tre
ON trr.reglt_id = tre.reglt_id
-- LEFT OUTER JOIN tb_rt_erpp tre
-- ON trr.reglt_id = tre.reglt_id
</sql>
<!--
/* TODO : 차적조회를 안하고 바로 자료 전송 하여 payer를 알수 없음
@ -52,18 +56,32 @@
<select id="selectRtReglts" resultType="kr.xit.fims.biz.rt.model.RtDTO$Reglt">
/* rt-reglt-and-erpp-mysql-mapper|selectRtReglts-단속 목록 조회|julim */
<include refid="sqlRtReglt"/>
<where>
<if test='sch_date_opt eq "regltDe"'>
<where>
<if test='sch_date_opt eq "regltDe"'>
AND trr.reglt_de BETWEEN #{sch_date_from} AND #{sch_date_to}
</if>
<if test='sch_date_opt eq "registDt"'>
</if>
<if test='sch_date_opt eq "registDt"'>
AND trr.regist_dt BETWEEN #{sch_date_from} AND #{sch_date_to}
</if>
<if test='vhcleNo != null and vhcleNo != ""'>
</if>
<if test='vhcleNo != null and vhcleNo != ""'>
AND INSTR(trr.vhcle_no, #{vhcleNo}) > 0
</if>
</if>
<if test='sysCode != null and sysCode != ""'>
AND trr.sys_code = #{sysCode}
</if>
<if test='regltSeCode != null and regltSeCode != ""'>
AND trr.reglt_se_code = #{regltSeCode}
</if>
<if test='cnfmYn != null and cnfmYn != ""'>
<if test='cnfmYn eq "Y"'>
AND LENGTH(IFNULL(trr.vhcty_cl_code, '')) > 0
</if>
<if test='cnfmYn eq "N"'>
AND LENGTH(IFNULL(trr.vhcty_cl_code, '')) = 0
</if>
</if>
</where>
ORDER BY trr.reglt_de, trr.reglt_se_code, trr.vhcle_no, trr.reglt_begin_time
ORDER BY trr.sys_code, trr.reglt_se_code, trr.reglt_de, trr.vhcle_no, trr.reglt_begin_time
</select>
<select id="selectRtReglt" resultType="kr.xit.fims.biz.rt.model.RtDTO$Reglt">

@ -158,12 +158,12 @@ Date Author Description
<table class="tbl03">
<caption><c:out value="${bizName}"/> 상세</caption>
<colgroup>
<col style="width: 13%;"/>
<col style="width: 20%;"/>
<col style="width: 13%;"/>
<col style="width: 20%;"/>
<col style="width: 13%;"/>
<col style="width: 20%;"/>
<col style="width: 12%;"/>
<col style="width: 22%;"/>
<col style="width: 12%;"/>
<col style="width: 21%;"/>
<col style="width: 12%;"/>
<col style="width: 21%;"/>
</colgroup>
<tbody>
<tr>
@ -176,60 +176,107 @@ Date Author Description
</tr>
<tr>
<th>차량번호</th>
<td><input type="text" id="vhcleNo" name="vhcleNo" value="${regltDTO.vhcleNo }"></td>
<th>단속일자</th>
<td><input type="text" id="regltDe" name="regltDe" value="${regltDTO.regltDe }"></td>
<th>입력구분</th>
<td><code:select id="violtDtlsCode" name="violtDtlsCode" codeId="FIM004" defaultSelect="${regltDTO.violtDtlsCode}" title="위반내역코드" cls="selectBoxTotal" alt="위반내역코드"/></td>
<td>
<input type="text" id="vhcleNo" name="vhcleNo" value="${regltDTO.vhcleNo}">
</td>
<th>단속일</th>
<td>
<fmt:parseDate value="${regltDTO.regltDe}" var="regltDe" pattern="yyyyMMdd"/>
<input type="text" data-fmt-type="day" name="regltDe" value='<fmt:formatDate value="${regltDe}" pattern="yyyy-MM-dd"/>' readonly>
</td>
<th>위반횟수</th>
<td>
<input type="text" data-fmt-type="number" name="violtCo" value='<fmt:formatNumber type="number" value="${regltDTO.violtCo}" pattern="#,###"/>' style="text-align: right">
</td>
</tr>
<tr>
<th>단속장소</th>
<td colspan=""><input type="text" id="regltPlace" name="regltPlace" value="${regltDTO.regltPlace }"></td>
<td><input type="text" id="regltPlace" name="regltPlace" value="${regltDTO.regltPlace }"></td>
<th>단속시작시간</th>
<td colspan=""><input type="text" id="regltBeginTime" name="regltBeginTime" value="${regltDTO.regltBeginTime }"></td>
<td>
<fmt:parseDate value="${regltDTO.regltBeginTime}" var="regltBeginTime" pattern="HHmmss"/>
<input type="text" data-fmt-type="time" name="regltBeginTime" value='<fmt:formatDate value="${regltBeginTime}" pattern="HH:mm:ss"/>' readonly>
</td>
<th>단속종료시간</th>
<td><input type="text" id="regltEndTime" name="regltEndTime" value="${regltDTO.regltEndTime }"></td>
<td>
<fmt:parseDate value="${regltDTO.regltEndTime}" var="regltEndTime" pattern="HHmmss"/>
<input type="text" data-fmt-type="time" name="regltEndTime" value='<fmt:formatDate value="${regltEndTime}" pattern="HH:mm:ss"/>' readonly>
</td>
</tr>
<tr>
<th>위반법규</th>
<td><code:select id="violtLrgCode" name="violtLrgCode" codeId="WEB002" defaultSelect="${regltDTO.violtLrgCode}" title="위반내역코드" cls="selectBoxTotal" alt="위반내역코드"/></td>
<th>위반내역</th>
<td><code:select id="violtDtlsCode" name="violtDtlsCode" codeId="FIM004" defaultSelect="${regltDTO.violtDtlsCode}" title="위반내역코드" cls="selectBoxTotal" alt="위반내역코드"/></td>
<th>위반횟수</th>
<td colspan=""><input type="text" id="violtCo" name="violtCo" value="${regltDTO.violtCo }"></td>
<th>처리상태</th>
<td>
<code:select id="regltProcessSttusCode" name="regltProcessSttusCode" codeId="FIM010" defaultSelect="${regltDTO.regltProcessSttusCode}" title="단속처리상태" cls="selectBoxTotal" alt="단속처리상태"/>
</td>
</tr>
<tr>
<th>감경금액</th>
<td><input type="text" id="redutionAmount" name="redutionAmount" value="${regltDTO.redutionAmount}"></td>
<td>
<input type="text" data-fmt-type="number" name="redutionAmount" value='<fmt:formatNumber type="number" value="${regltDTO.redutionAmount}" pattern="#,###"/>' style="text-align: right">
</td>
<th>감경후 금액</th>
<td colspan=""><input type="text" id="redutionAftAmount" name="redutionAftAmount" value="${regltDTO.redutionAftAmount}"></td>
<td>
<input type="text" data-fmt-type="number" name="redutionAftAmount" value='<fmt:formatNumber type="number" value="${regltDTO.redutionAftAmount}" pattern="#,###"/>' style="text-align: right">
</td>
<th>수납금액</th>
<td><input type="text" id="rcivAmount" name="rcivAmount" value="${regltDTO.rcivAmount}"></td>
<td>
<input type="text" data-fmt-type="number" name="rcivAmount" value='<fmt:formatNumber type="number" value="${regltDTO.rcivAmount}" pattern="#,###"/>' style="text-align: right">
</td>
</tr>
<tr>
<th>감액</th>
<td><input type="text" id="rdcamt" name="rdcamt" value="${regltDTO.rdcamt}"></td>
<td>
<input type="text" data-fmt-type="number" name="rdcamt" value='<fmt:formatNumber type="number" value="${regltDTO.rdcamt}" pattern="#,###"/>' style="text-align: right">
</td>
<th>가산금</th>
<td><input type="text" id="adamt" name="adamt" value="${regltDTO.adamt}"></td>
<td colspan="2"></td>
<td>
<input type="text" data-fmt-type="number" name="adamt" value='<fmt:formatNumber type="number" value="${regltDTO.adamt}" pattern="#,###"/>' style="text-align: right">
</td>
<th>입력구분</th>
<td>
<code:select id="inputSeCode" name="inputSeCode" codeId="FIM003" defaultSelect="${regltDTO.inputSeCode}" title="입력구분" cls="selectBoxTotal" alt="입력구분"/>
</td>
</tr>
<tr>
<th>특이사항</th>
<td colspan="5"><textarea id="spcmntMatter" name="spcmntMatter" value="${regltDTO.spcmntMatter}"></textarea></td>
</tr>
<tr>
<th>처리상태</th>
<td><code:select id="regltProcessSttusCode" name="regltProcessSttusCode" codeId="FIM010" defaultSelect="${regltDTO.regltProcessSttusCode}" title="단속처리상태" cls="selectBoxTotal" alt="단속처리상태"/></td>
<th>등록일시</th>
<td><input type="text" id="registDt" name="registDt" value="${regltDTO.registDt}"></td>
<th>등록자</th>
<td><input type="text" id="register" name="register" value="${regltDTO.register}"></td>
<th>차량명</th>
<td>
<input type="text" name="vhcleNm" value="${regltDTO.vhcleNm}" readonly>
</td>
<th>차종분류코드</th>
<td>
<input type="text" name="vhctyClCode" value="${regltDTO.vhctyClCode}" readonly>
</td>
<th>차종종별코드</th>
<td>
<input type="text" name="vhctyAsortCode" value="${regltDTO.vhctyAsortCode}" readonly>
</td>
</tr>
<tr>
<th>등록일시</th>
<td>
<fmt:parseDate value="${regltDTO.registDt}" var="registDt" pattern="yyyyMMddHHmmss"/>
<input type="text" data-fmt-type="dt" name="registDt" value='<fmt:formatDate value="${registDt}" pattern="yyyy-MM-dd HH:mm:ss"/>' readonly>
</td>
<th>최종처리일시</th>
<td><input type="text" id="lastProcessDt" name="lastProcessDt" value="${regltDTO.lastProcessDt}"></td>
<td>
<fmt:parseDate value="${regltDTO.lastProcessDt}" var="lastProcessDt" pattern="yyyyMMddHHmmss"/>
<input type="text" data-fmt-type="dt" name="lastProcessDt" value='<fmt:formatDate value="${lastProcessDt}" pattern="yyyy-MM-dd HH:mm:ss"/>' readonly>
</td>
<th>최종처리자</th>
<td colspan=""><input type="text" id="lastOpetr" name="lastOpetr" value="${regltDTO.lastOpetr}"></td>
<td>
<input type="text" id="lastOpetr" name="lastOpetr" value="${regltDTO.lastOpetr}" readonly>
</td>
<%-- <th>등록자</th>--%>
<%-- <td><input type="text" id="register" name="register" value="${regltDTO.register}"></td>--%>
</tr>
</tbody>
</table>
@ -596,6 +643,16 @@ Date Author Description
* event
**************************************************************************/
$(() => {
$(window).on("unload", function (e) {
window.opener?.unblockUI();
window.opener?.callbackSearch();
return null;
});
$("#btnClose").on('click', () => {
window.close()
});
$('#btnRegist').on('click', () => {
fnBiz.add();
});
@ -618,7 +675,6 @@ Date Author Description
});
})
$('#next').on('click', () => {
window.opener.pageNav.onClickNavBtn('next', (gridInfo) => {
fnBiz.search(gridInfo.curRowData);
@ -782,6 +838,7 @@ Date Author Description
orgData = $('form').serialize();
downloadImgParam = {regltId: '${regltDTO.regltId}', regltSeCode: '${regltDTO.regltSeCode}'};
//fnBiz.search(downloadImgParam);
fnBiz.downloadImg();
window.opener.pageNav.reloadNav($('#prev'), $('#next'), $('span#totCnt'))

@ -0,0 +1,830 @@
<%--
================================================================================
File : /fims/biz/cmm/cmmCrackdownMgtPopup.jsp
Name : 단속 처리 메인 팝업 - 단속관리>단속현황관리
Auth : lim.jong.uk
Date : 2022-01-20
Desc : 단속자료 처리를 위한 메인 팝업
================================================================================
Date Author Description
================================================================================
================================================================================
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp"%>
<c:set var="isUpdate" value="${!empty regltDTO.regltId}"/>
<%--2022.10.05 박소영 웹폰트 링크 추가--%>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&display=swap" rel="stylesheet">
<form id="frmSearch" name="frmSearch">
<input type="hidden" id="payerId" name="payerId" value="<c:out value="${regltDTO.payerId }"/>">
<div class="conttitle">
<img src="${ctx }/resources/biz/content/images/common/main/titleLogo_01.png"/>
<p class="title">개별총정보</p>
</div>
<div class="row">
<div id="popupTabs">
<ul>
<li><a href="#tabs_0" id="0">위반정보<span id="t0"></span></a></li>
<li><a href="#tabs_1" id="1">의견진술<span id="t1"></span></a></li>
<li><a href="#tabs_2" id="2">세부내역<span id="t2"></span></a></li>
<li><a href="#tabs_3" id="3">민원내역<span id="t3"></span></a></li>
</ul>
<div id="tabs_0">
<div class="w_fix01 gridGroup">
<p class="title deco_01">위반정보</p>
<%--
<table class="basics_F mTB_01">
<colgroup>
<col style="width: 5%;"/>
<col style="width: 12%;"/>
<col style="width: 4%;"/>
<col style="width: 13%;"/>
<col style="width: 4%;"/>
<col style="width: 13%;"/>
</colgroup>
<tr>
<td colspan="6"></td>
</tr>
<tr>
<td>등록구분</td>
<td><input type="text" id="regltId" name="regltId" value="<c:out value="${regltDTO.regltId }"/>">
</td>
<td>자료출처</td>
<td><input type="text" name="" value=""></td>
<td colspan="0"><label><input type="checkbox" value="의견진술">의견진술</label></td>
</tr>
<tr>
<td>단속일</td>
<td>
<fmt:parseDate value="${regltDTO.regltDe}" var="regltDe" pattern="yyyyMMdd"/>
<input type="text" name="regltDe" value='<fmt:formatDate value="${regltDe}" pattern="yyyy-MM-dd"/>' readonly>
</td>
<td>차량번호</td>
<td colspan="2"><input type="text" id="vhcleNo" name="vhcleNo" value="${regltDTO.vhcleNo }"></td>
</tr>
<tr>
<td>단속구분</td>
<td>
<code:select id="regltSeCode" name="regltSeCode" codeId="FIM002" defaultSelect="${regltDTO.regltSeCode}" title="단속구분코드" cls="selectBoxTotal" alt="단속구분코드" />
</td>
<td>위반내역</td>
<td colspan="2">
<code:select id="violtDtlsCode" name="violtDtlsCode" codeId="FIM004" defaultSelect="${regltDTO.violtDtlsCode}" title="위반내역코드" cls="selectBoxTotal" alt="위반내역코드"/>
</td>
</tr>
<tr>
<td>단속장소</td>
<td colspan="4"><input type="text" id="regltPlace" name="regltPlace" value="${regltDTO.regltPlace}"></td>
</tr>
<tr>
<td>등록일시</td>
<td>
<fmt:parseDate value="${regltDTO.registDt}" var="registDt" pattern="yyyyMMddHHmmss"/>
<input type="text" name="registDt" value='<fmt:formatDate value="${registDt}" pattern="yyyy-MM-dd HH:mm:ss"/>' readonly>
</td>
</tr>
</table>
<table class="basics_F mTB_01">
<colgroup>
<col style="width: 5%;"/>
<col style="width: 12%;"/>
<col style="width: 4%;"/>
<col style="width: 13%;"/>
<col style="width: 3%;"/>
<col style="width: 15%;"/>
</colgroup>
<tr>
<td colspan="6"></td>
</tr>
<tr>
<td>위반횟수</td>
<td>
<input type="text" id="violtCo" name="violtCo" value='<fmt:formatNumber type="number" value="${regltDTO.violtCo}" pattern="#,###"/>' style="text-align: right">
</td>
<td>시군구</td>
<td>
<input type="text" name="" value="">
</td>
<td>법정동</td>
<td>
<input type="text" name="" value="">
</td>
</tr>
<tr>
<td>사전통지금액</td>
<td>
<input type="text" name="redutionAftAmount" value='<fmt:formatNumber type="number" value="${regltDTO.redutionAftAmount}" pattern="#,###"/>' style="text-align: right">
</td>
<td>부과금액</td>
<td colspan="3">
<input type="text" name="" value='<fmt:formatNumber type="number" value="1111111" pattern="#,###"/>' style="text-align: right">
</td>
</tr>
<tr>
<td>감액금액</td>
<td>
<input type="text" name="redutionAmount" value='<fmt:formatNumber type="number" value="${regltDTO.redutionAmount}" pattern="#,###"/>' style="text-align: right">
</td>
<td>총수납액</td>
<td>
<input type="text" name="rcivAmount" value='<fmt:formatNumber type="number" value="${regltDTO.rcivAmount}" pattern="#,###"/>' style="text-align: right">
</td>
<td>잔액</td>
<td>
<input type="text" name="" value='<fmt:formatNumber type="number" value="22222222222" pattern="#,###"/>' style="text-align: right">
</td>
</tr>
<tr>
<td>특이사항</td>
<td colspan="4">
<input type="text" id="spcmntMatter" name="spcmntMatter" value="${regltDTO.spcmntMatter}">
</td>
</tr>
<tr>
<td>처리상태</td>
<td colspan="4">
<code:select id="regltProcessSttusCode" name="regltProcessSttusCode" codeId="FIM010" defaultSelect="${regltDTO.regltProcessSttusCode}" title="위반내역코드" cls="selectBoxTotal" alt="위반내역코드"/>
</td>
</tr>
</table>
--%>
<table class="tbl03">
<caption><c:out value="${bizName}"/> 상세</caption>
<colgroup>
<col style="width: 13%;"/>
<col style="width: 20%;"/>
<col style="width: 13%;"/>
<col style="width: 20%;"/>
<col style="width: 13%;"/>
<col style="width: 20%;"/>
</colgroup>
<tbody>
<tr>
<th>기관코드</th>
<td><code:select id="insttCode" name="insttCode" codeId="XIT025" defaultSelect="${regltDTO.insttCode}" title="기관코드" cls="selectBoxTotal" alt="기관코드"/></td>
<th>과태료코드</th>
<td><code:select id="sysCode" name="sysCode" codeId="FIM001" defaultSelect="${regltDTO.sysCode}" title="과태료코드" cls="selectBoxTotal" alt="과태료코드"/></td>
<th>단속구분</th>
<td><code:select id="regltSeCode" name="regltSeCode" codeId="FIM002" defaultSelect="${regltDTO.regltSeCode}" title="단속구분코드" cls="selectBoxTotal" alt="단속구분코드"/></td>
</tr>
<tr>
<th>차량번호</th>
<td>
<input type="text" id="vhcleNo" name="vhcleNo" value="${regltDTO.vhcleNo}">
</td>
<th>단속일</th>
<td>
<fmt:parseDate value="${regltDTO.regltDe}" var="regltDe" pattern="yyyyMMdd"/>
<input type="text" name="regltDe" value='<fmt:formatDate value="${regltDe}" pattern="yyyy-MM-dd"/>' readonly>
</td>
<th>입력구분</th>
<td><code:select id="inputSeCode" name="inputSeCode" codeId="FIM003" defaultSelect="${regltDTO.inputSeCode}" title="입력구분" cls="selectBoxTotal" alt="입력구분"/></td>
</tr>
<tr>
<th>단속장소</th>
<td colspan=""><input type="text" id="regltPlace" name="regltPlace" value="${regltDTO.regltPlace }"></td>
<th>단속시작시간</th>
<td>
<%-- <input type="text" id="regltBeginTime" name="regltBeginTime" value="${regltDTO.regltBeginTime }">--%>
<%-- <fmt:formatDate type="time" value="${regltDTO.regltBeginTime}" var="regltBeginTime" pattern="hhmmss"/>--%>
<fmt:parseDate value="${regltDTO.regltBeginTime}" var="regltBeginTime" pattern="HHmmss"/>
<input type="text" name="regltBeginTime" value='<fmt:formatDate value="${regltBeginTime}" pattern="HH:mm:ss"/>' readonly>
</td>
<th>단속종료시간</th>
<td>
<fmt:parseDate value="${regltDTO.regltEndTime}" var="regltEndTime" pattern="HHmmss"/>
<input type="text" name="regltEndTime" value='<fmt:formatDate value="${regltEndTime}" pattern="HH:mm:ss"/>' readonly>
</td>
</tr>
<tr>
<th>위반법규</th>
<td><code:select id="violtLrgCode" name="violtLrgCode" codeId="WEB002" defaultSelect="${regltDTO.violtLrgCode}" title="위반내역코드" cls="selectBoxTotal" alt="위반내역코드"/></td>
<th>위반내역</th>
<td><code:select id="violtDtlsCode" name="violtDtlsCode" codeId="FIM004" defaultSelect="${regltDTO.violtDtlsCode}" title="위반내역코드" cls="selectBoxTotal" alt="위반내역코드"/></td>
<th>위반횟수</th>
<td colspan="">
<input type="text" id="violtCo" name="violtCo" value='<fmt:formatNumber type="number" value="${regltDTO.violtCo}" pattern="#,###"/>' style="text-align: right">
</td>
</tr>
<tr>
<th>감경금액</th>
<td>
<input type="text" name="redutionAmount" value='<fmt:formatNumber type="number" value="${regltDTO.redutionAmount}" pattern="#,###"/>' style="text-align: right">
</td>
<th>감경후 금액</th>
<td>
<input type="text" name="redutionAftAmount" value='<fmt:formatNumber type="number" value="${regltDTO.redutionAftAmount}" pattern="#,###"/>' style="text-align: right">
</td>
<th>수납금액</th>
<td>
<input type="text" name="rcivAmount" value='<fmt:formatNumber type="number" value="${regltDTO.rcivAmount}" pattern="#,###"/>' style="text-align: right">
</td>
</tr>
<tr>
<th>감액</th>
<td>
<input type="text" name="rdcamt" value='<fmt:formatNumber type="number" value="${regltDTO.rdcamt}" pattern="#,###"/>' style="text-align: right">
</td>
<th>가산금</th>
<td>
<input type="text" name="adamt" value='<fmt:formatNumber type="number" value="${regltDTO.adamt}" pattern="#,###"/>' style="text-align: right">
</td>
<td colspan="2"></td>
</tr>
<tr>
<th>특이사항</th>
<td colspan="5"><textarea id="spcmntMatter" name="spcmntMatter" value="${regltDTO.spcmntMatter}"></textarea></td>
</tr>
<tr>
<th>처리상태</th>
<td><code:select id="regltProcessSttusCode" name="regltProcessSttusCode" codeId="FIM010" defaultSelect="${regltDTO.regltProcessSttusCode}" title="단속처리상태" cls="selectBoxTotal" alt="단속처리상태"/></td>
<th>등록일시</th>
<td>
<fmt:parseDate value="${regltDTO.registDt}" var="registDt" pattern="yyyyMMddHHmmss"/>
<input type="text" name="registDt" value='<fmt:formatDate value="${registDt}" pattern="yyyy-MM-dd HH:mm:ss"/>' readonly>
</td>
<th>등록자</th>
<td><input type="text" id="register" name="register" value="${regltDTO.register}"></td>
</tr>
<tr>
<th>최종처리일시</th>
<td>
<fmt:parseDate value="${regltDTO.lastProcessDt}" var="lastProcessDt" pattern="yyyyMMddHHmmss"/>
<input type="text" name="lastProcessDt" value='<fmt:formatDate value="${lastProcessDt}" pattern="yyyy-MM-dd HH:mm:ss"/>' readonly>
</td>
<th>최종처리자</th>
<td colspan="3"><input type="text" id="lastOpetr" name="lastOpetr" value="${regltDTO.lastOpetr}"></td>
</tr>
</tbody>
</table>
<%--<p class="title deco_01 mT_02">소유주 정보</p>
<table class="basics_F mTB_01 mT_02">
<colgroup>
<col style="width: 5%;"/>
<col style="width: 12%;"/>
<col style="width: 4%;"/>
<col style="width: 13%;"/>
<col style="width: 3%;"/>
<col style="width: 15%;"/>
</colgroup>
<tr>
<td>소유주</td>
<td><input type="text" id="payerNm" name="payerNm" value="${regltDTO.payerNm}"></td>
<td>aaa</td>
<td><input type="text" id="" name="" value=""></td>
<td>등록구분</td>
<td><input type="text" id="" name="" value=""></td>
</tr>
<tr>
<td>주민번호</td>
<td><input type="text" id=payerNo"" name="payerNo" value="${regltDTO.payerNo}"></td>
<td>aaaa</td>
<td><input type="text" id="" name="" value=""></td>
<td>우편번호</td>
<td><input type="text" id="zip" name="zip" value="${regltDTO.zip}"></td>
</tr>
<tr>
<td>주소</td>
<td colspan="4"><input type="text" id="adres" name="adres" value="${regltDTO.adres}"></td>
</tr>
<tr>
<td>상세주소</td>
<td colspan="4"><input type="text" id="detailAdres" name="detailAdres" value="${regltDTO.detailAdres}"></td>
</tr>
<tr>
<td>차대번호</td>
<td colspan="3"><input type="text" id="" name="" value=""></td>
<td>도로코드</td>
<td><input type="text" id="" name="" value=""></td>
</tr>
</table>--%>
</div>
<div class="w_fix01 gridGroup" style="width:0px; min-width:300px!important;">
<p class="title deco_01">위반사진</p>
<div id="imgList"></div>
<div>
<img id="uploadImage"/>
</div>
</div>
</div>
<%@include file="/WEB-INF/jsp/framework/biz-popup-tab-btn.jsp" %>
<div id="tabs_1" style="display: flex;">
<div class="w_fix02 gridGroup mR_01">
<p class="title deco_01">진술내역</p>
<table class="basics_F mTB_01">
<colgroup>
<col style="width: 10%;"/>
<col style="width: 0%;"/>
<col style="width: 0%;"/>
<col style="width: 13%;"/>
<col style="width: 10%;"/>
<col style="width: 27%;"/>
</colgroup>
<tr>
<td colspan="6"></td>
</tr>
<tr>
<td>등록구분</td>
<td colspan="3"><input type="text"></td>
<td>진술일</td>
<td><input type="text"></td>
</tr>
<tr>
<td>성명</td>
<td colspan="3"><input type="text">
</td>
<td>주민등록번호</td>
<td><input type="text"></td>
</tr>
<tr>
<td>주소</td>
<td colspan="5"><input type="text"></td>
</tr>
<tr>
<td>번지</td>
<td colspan="5"><input type="text"></td>
</tr>
<tr>
<td>우편번호</td>
<td colspan="3"><input type="text"></td>
<td>연락처</td>
<td><input type="text"></td>
</tr>
<tr>
<td>차주와의 관계</td>
<td colspan="3"><input type="text"></td>
<td>이메일 주소</td>
<td><input type="text"></td>
</tr>
<tr>
<td>회신방법</td>
<td colspan="3"><input type="text"></td>
</tr>
<tr>
<td>진술요지</td>
<td colspan="6"><input type="text" style=" width:88%;"></td>
</tr>
<tr>
<td style="position: absolute;">진술 내용</td>
<td colspan="6"><textarea cols="0" rows="15"
style="overflow-y: scroll; width:90%;"></textarea></td>
</tr>
</table>
</div>
<div class="w_fix02 gridGroup">
<p class="title deco_01">판정</p>
<table class="basics_F mTB_01">
<colgroup>
<col style="width: 10%;"/>
<col style="width: 20%;"/>
<col style="width: 10%;"/>
<col style="width: 20%;"/>
</colgroup>
<tr>
<td colspan="4"></td>
</tr>
<tr>
<td>처리일시</td>
<td colspan="3"><input type="text"></td>
</tr>
<tr>
<td>처리결과</td>
<td colspan="3"><input type="text">
</td>
</tr>
<tr>
<td style="position: absolute;">담당자 의견</td>
<td colspan="4"><textarea cols="50" rows="15"
style="overflow-y: scroll; width:90%;"></textarea></td>
</tr>
</table>
</div>
</div>
<div id="tabs_2">
<div class="w_fix05">
<%-- <div class="w_fix03 gridGroup">
<div style="width: 100%; border:0px solid black">
<p class="title deco_01">처리상태 변동이력</p>
<div id="grid_t0"></div>
&lt;%&ndash;삭제조심&ndash;%&gt;
</div>
</div>--%>
<div class="w_fix04 gridGroup">
<p class="title deco_01">감경처리</p>
<table class="basics_F mTB_02">
<colgroup>
<col style="width: 21%;"/>
<col style="width: 8%;"/>
<col style="width: 11%;"/>
</colgroup>
<tr>
<td>처리일</td>
<td colspan="4"><input type="text" id="" name="" value="">
</td>
</td>
</tr>
<tr>
<td>감경사유</td>
<td colspan="4"><input type="text" id="" name="" value="">
</td>
</tr>
<tr>
<td>감경금액</td>
<td colspan="4"><input type="text" id="redutionAmount" name="redutionAmount" value="${regltDTO.redutionAmount}"></td>
</tr>
<tr>
<td>처리자</td>
<td colspan="4"><input type="text" name="" value="">
</td>
</tr>
<tr>
<td>특이사항</td>
<td colspan="4"><input type="textarea" name="" value=""></td>
</tr>
</table>
</div>
<div class="w_fix04 gridGroup">
<p class="title deco_01">서손처리</p>
<table class="basics_F mTB_02">
<colgroup>
<col style="width: 21%;"/>
<col style="width: 8%;"/>
<col style="width: 11%;"/>
</colgroup>
<tr>
<td>처리일</td>
<td colspan="4"><input type="text" id="" name="" value="">
</td>
</td>
</tr>
<tr>
<td>감경사유</td>
<td colspan="4"><input type="text" id="" name="" value="">
</td>
</tr>
<tr>
<td>감경금액</td>
<td colspan="4"><input type="text" id="" name="" value=""></td>
</tr>
<tr>
<td>처리자</td>
<td colspan="4"><input type="text" id="" name="" value="">
</td>
</tr>
<tr>
<td>특이사항</td>
<td colspan="4"><input type="text" id="" name="" value=""></td>
</tr>
</table>
</div>
</div>
<%--box_01--%>
<div class="w_fix06 gridGroup">
<p class="title deco_02">처리상태 변동이력</p>
<div style="display: flex; width: 100%; border:0px solid chocolate; margin-bottom: 5px;">
<div id="grid_t0" style="width:100%;"></div>
</div>
</div>
<div class="w_fix06 gridGroup">
<p class="title deco_02">주소 변동이력</p>
<div style="display: flex; width: 100%; border:0px solid chocolate; margin-bottom: 5px;">
<div id="grid_d1" style="width:100%;"></div>
</div>
</div>
<div class="w_fix06 gridGroup" style="margin-top:17px;">
<p class="title deco_02">발송 이력</p>
<div style="display: flex; width: 100%; height:150px; border:0px solid black; margin-bottom: 20px;">
<div id="grid_d2" style="width:100%;"></div>
</div>
</div>
<div class="topBtnArea-a" style="/*width: 990px;*/ width:75%; min-width: 430px;">
<ul class="btnList">
<li>
<%@include file="/WEB-INF/jsp/framework/biz-popup-btn.jsp" %>
</li>
</ul>
</div>
</div>
<div id="tabs_3">
<div class="w_fix05-a gridGroup">
<div style="width: 100%; border:0px solid black">
<p class="title deco_01">민원내역</p>
<div id="grid_m1"></div>
</div>
</div>
<div class="box mT_02">
<div class="w_fix06 gridGroup">
<p class="title deco_01">민원내용</p>
<div style="height: 200px; border:1px solid #a1a1a1; margin:11px; border-radius: 4px;">
<%--<div id="grid"></div>--%>
</div>
</div>
</div><%--box--%>
<div class="topBtnArea-a" style="min-width: 440px; width:75%;">
<ul class="btnList" style="padding-left:10px;">
<li>
<%@include file="/WEB-INF/jsp/framework/biz-popup-btn.jsp" %>
</li>
</ul>
</div>
</div>
</div><!--popupTabs -->
</div><!--row -->
</form>
<script type="text/javascript" src="${pageContext.request.contextPath}/resources/framework/js/cmm/cmmDownloadImg.js"></script>
<script type="text/javaScript">
//전역변수선언
let orgData;
const ARR_INSTANCE = [null,null,null];
let CUR_TAB_SEQ = 0;
var callbackSearch = () => fnBiz.search();
/* *******************************
* Biz function
******************************* */
const fnBiz = {
search: (params) => {
cmmAjax({
showSuccessMsg: false
,url: fimsApiUrl.FIND_RT_REGLT_INFO_AND_ATTCH_FILES
,data: params
,success: (res) => {
cmmImgDownload('#imgList', res.attchFiles, true);
window.opener.pageNav.reloadNav($('#prev'), $('#next'), $('span#totCnt'))
setFormData(document.querySelector('form'), res.dto);
}
})
}
,downloadImg: () => {
cmmAjax({
showSuccessMsg: false
,url: fimsApiUrl.FIND_RT_REGLT_ATTCH_FILES
,data: downloadImgParam
,success: (res) => {
cmmImgDownload('#imgList', res.data?.contents, true);
}
})
},
add: () => {
if (!fnBiz.validate()) return;
cmmBizAjax('add', {
url: '<c:url value="/cmm/fimsPopup/add.do"/>'
, data: $("#frmSearch").serialize()
})
}
,modify: () => {
/*if (!fnBiz.validate()) return;*/
cmmBizAjax('modify', {
url: '<c:url value="/cmm/fimsPopup/update.do"/>'
,data: $("#frmSearch").serialize()
});
}
,remove: () => {
$("input[name=useAt]").val('N');
cmmBizAjax('remove', {
url: '<c:url value="/cmm/fimsPopup/remove.do"/>'
,data: $("#frmSearch").serialize()
});
}
,validate: () => {
if(orgData === $('form').serialize()){
alert('변경된 내용이 없습니다.');
return false;
}
/*if(!validateTemplateInf(document.getElementById("templateInf"))) return false;*/
return true;
}
,preview: () => {
if ($("#tmplatSeCode").val() === 'TMPT01') {
const url = "<c:url value='/framework/biz/mng/bbs/mngBoardTmplPreviewPopup.do'/>";
CmmPopup.open(url, {tmplateCours: $("#tmplatCours").val()}, {width: 1024, height: 500}, "템플릿 미리보기");
} else {
alert('템플릿경로 지정 후 선택해 주세요.');
}
}
};
/**************************************************************************
* event
**************************************************************************/
$(() => {
$(window).on("unload", function (e) {
window.opener?.unblockUI();
window.opener?.callbackSearch();
return null;
});
$("#btnClose").on('click', () => {
window.close()
});
$('#btnRegist').on('click', () => {
fnBiz.add();
});
$('#btnModify').on('click', () => {
fnBiz.modify();
});
$('#btnPreview').on('click', () => {
fnBiz.preview();
});
$('#btnRemove').on('click', () => {
fnBiz.remove();
});
$('#prev').on('click', () => {
window.opener.pageNav.onClickNavBtn('prev', (gridInfo) => {
fnBiz.search(gridInfo.curRowData)
});
})
$('#next').on('click', () => {
window.opener.pageNav.onClickNavBtn('next', (gridInfo) => {
fnBiz.search(gridInfo.curRowData);
});
});
});
/* ******************************
* Grid
****************************** */
const initGrid = () => {
const tab0Columns = [ //Grid 컬럼 정보(명칭,매핑 field, 기타옵션 등)
{
header: '발송결과',
name: 'sndng_result_code',
width: 150,
//editor: 'text',
sortable: true,
align: 'center',
filter: {
type: 'text',
showClearBtn: true
}
},
{
header: '오류내용',
name: 'error_cn',
width: 150,
//editor: 'text',
sortable: true,
align: 'center'
},
{
header: '미납자',
name: 'om_name',
minWidth: 120,
//editor: 'text',
sortable: true,
align: 'center'
},
{
header: '주민등록번호',
name: 'ihidnum',
width: 120,
//editor: 'text',
sortable: true,
align: 'center'
},
{
header: '차량번호',
name: 'mm_carno',
minWidth: 120,
//editor: 'text',
sortable: true,
align: 'center'
},
{
header: '요청일시',
name: 'requst_dt',
width: 150,
//editor: 'text',
sortable: true,
align: 'center'
},
{
header: '조회일시',
name: 'inqire_dt',
width: 150,
//editor: 'text',
sortable: true,
align: 'center'
},
{
header: '열람일시',
name: 'readng_dt',
width: 150,
//editor: 'text',
sortable: true,
align: 'center'
},
{
header: '등록일시',
name: 'regist_dt',
width: 150,
//editor: 'text',
sortable: true,
align: 'center'
}
];
//DataSource
let tab0Datasource = {
//initialRequest: false, // 화면 load시 조회 안함 - default
api: {
readData: {
url: '<c:url value="/adm/send/rqst/mng/find.do"/>'
, serializer: (params) => fnAddPageInfo(document.frmSearch, params)
}
}
};
const tab0Options = {
el: 'grid_t0',
minBodyHeight: 100,
bodyHeight: 100, //[선택]Grid 높이 (number(단위: px)|'auto'|'fitToParent')
rowHeaders: ['rowNum'],
pageOptions: {
perPage: 100,
type: 'scroll'
},
columns: tab0Columns,
columnOptions: {
frozenCount: 0 //고정컬럼 갯수
, minWidth: 80 //최소 사이즈
},
};
const tab1Options = $.extend(true, {}, tab0Options, {
el: 'grid_d1',
minBodyHeight: 100,
bodyHeight: 100,
});
const tab2Options = $.extend(true, {}, tab0Options, {
el: 'grid_d2',
minBodyHeight: 100,
bodyHeight: 100,
});
const tab3Options = $.extend(true, {}, tab0Options, {
el: 'grid_m1',
minBodyHeight: 250,
bodyHeight: 250,
});
ARR_INSTANCE[0] = TuiGrid.of(tab0Options, tab0Datasource, (res) => {
ARR_TOTCNT[0] = res.data.pagination.totalCount;
});
ARR_INSTANCE[1] = TuiGrid.of(tab1Options, tab0Datasource, (res) => {
ARR_TOTCNT[1] = res.data.pagination.totalCount;
});
ARR_INSTANCE[2] = TuiGrid.of(tab2Options, tab0Datasource, (res) => {
ARR_TOTCNT[2] = res.data.pagination.totalCount;
});
ARR_INSTANCE[3] = TuiGrid.of(tab3Options, tab0Datasource, (res) => {
ARR_TOTCNT[3] = res.data.pagination.totalCount;
});
//tab 클릭 이벤트
/*$("#popupTabs").on("click", "li", function(){
var tab = parseInt($("#popupTabs .ui-tabs-active a").attr("id"));
var tabbb = $('#popupTabs').children('div').not($('#tabs_'+tab));
$('#tabs_'+tab).show(500);
$('#sch_tab_id').val(tab);
//ARR_INSTANCE[tab].refreshLayout();
});*/
}
$(document).ready(function(){
initGrid();
$("#popupTabs").tabs({active : 0});
orgData = $('form').serialize();
downloadImgParam = {regltId: '${regltDTO.regltId}', regltSeCode: '${regltDTO.regltSeCode}'};
fnBiz.downloadImg();
window.opener.pageNav.reloadNav($('#prev'), $('#next'), $('span#totCnt'))
});
</script>

@ -24,9 +24,12 @@ Date Author Description
<span class="title"><label style="padding-right: 5px;">구분</label></span>
<code:select codeId="FIM001" id="sysCode" name="sysCode" title="시스템구분" cls="selectBox" alt="selectBox tag"/>
<code:select type="CMM_ETC2" id="regltSeCode" name="regltSeCode" codeId="FIM002" title="단속구분코드" cls="selectBoxTotal" alt="단속구분코드" />
<label><input type="radio" name="regltYn" value="">전체</label>
<label><input type="radio" name="regltYn" value="Y" checked>단속</label>
<label><input type="radio" name="regltYn" value="N">미처리</label>
<!-- 데이타 확인 여부 : 차종분류코드가 있는지 여부로 판별 -->
<select id="cnfmYn" name="cnfmYn" title="확인여부" class="selectBox">
<option value="">전체</option>
<option value="Y">확인</option>
<option value="N">미확인</option>
</select>
</li>
<li>
<span class="title"><label style="padding-right: 26px;">조회일자 :</label></span>
@ -313,6 +316,10 @@ Date Author Description
,sch_date_from: $('#sch_date_from').val()
,sch_date_to: $('#sch_date_to').val()
,[$('#sch_opt').val()]: $('#sch_word').val()
,sysCode: $('#sysCode').val()
,regltSeCode: $('#regltSeCode').val()
//,cnfmYn: $('input[name=regltYn]:checked').val()
,cnfmYn: $('#cnfmYn').val()
}
return getPageParam(param, params);
}
@ -348,7 +355,7 @@ Date Author Description
* initialize
**************************************************************************/
$(document).ready(function(){
$('#sch_date_from').datepicker('setDate', DateUtil.getDateDay(-364).date);
$('#sch_date_from').datepicker('setDate', DateUtil.getDateDay(-5475).date);
$('#sch_date_to').datepicker('setDate', new Date());
initGrid();
});

@ -38,8 +38,8 @@ ComboCodeData = {
,{value: '03', text: '시민'}
]
// 위반내역코드 : FIM004
,inputSeCode: [
// 위반내역코드(주정차) : FIM004
,violtDtlsCode: [
{value: '01', text: '주정차 금지구역'}
,{value: '02', text: '보도(인도)위'}
,{value: '03', text: '어린이보호구역'}
@ -59,7 +59,7 @@ ComboCodeData = {
]
// 위반내역코드(전용차로) : FIM005
,violtDtlsCode: [
,violtDtlsCode2: [
{value: '01', text: '버스전용차로'}
,{value: '02', text: '버스전용차로'}
,{value: '03', text: '다인승전용차로'}
@ -67,7 +67,7 @@ ComboCodeData = {
]
// 단속 특별 구역 구분 코드 : FIM006
,FIM006: [
,regltSpeclZoneSeCode: [
{value: '01', text: '어린이 보호구역'}
,{value: '02', text: '노인 보호구역'}
,{value: '03', text: '소방시설'}

@ -537,6 +537,7 @@ function serialize (formData) {
/**
* form json data set
* 태그명으로 일치 - 동일 태그명이 여럿존재하는 경우 idx만 set
* element tag에 data-fmt-type 으로 데이타 format이 지정된 경우 해당 포맷으로 출력
* @param {object} formObj document.querySelector('form')
* @param {object} jsonData json type data
* @param {number} idx 태그명 배열의 index (default = 0)
@ -545,7 +546,31 @@ function setFormData(formObj, jsonData, idx= 0){
let els = formObj.elements;
if(!els) els = formObj[0];
for(let e of els){
document.getElementsByName(e.name)[idx].value = jsonData[e.name] ?? '' ;
let val = jsonData[e.name] ?? '';
// element data-fmt-type에 정의된 format 적용
// dt - yyyy-mm-dd HH:mm:ss, day - yyyy-mm-dd, time - HH:mm:ss, number - #,###
if(e.dataset.fmtType){
const fmtType = e.dataset.fmtType;
switch (fmtType) {
case 'dt' :
val = setDateTimeFmt(val );
break;
case 'day' :
val = setDateFmt(val);
break;
case 'time' :
val = setTimeFmt(val);
break;
case 'number' :
val = setComma(val);
break;
default:
break;
}
}
document.getElementsByName(e.name)[idx].value = val ;
}
}

Loading…
Cancel
Save