단속 관리 메인화면 수정

main
이범준 1 year ago
parent 9dfd5d8826
commit 9a02f9b9d4

@ -27,6 +27,7 @@ public class CrdnQuery extends QueryRequest {
private String schRductYmdTo; private String schRductYmdTo;
private String schCrdnYmdFrom; private String schCrdnYmdFrom;
private String schCrdnYmdTo; private String schCrdnYmdTo;
private String crdnInptSeCd;
public String getGrid() { public String getGrid() {
return ifEmpty(grid, () -> null); return ifEmpty(grid, () -> null);
@ -127,4 +128,13 @@ public class CrdnQuery extends QueryRequest {
return self(); return self();
} }
public String getCrdnInptSeCd() {
return ifEmpty(crdnInptSeCd, () -> null);
}
public <T extends CrdnQuery> T setCrdnInptSeCd(String crdnInptSeCd) {
this.crdnInptSeCd = crdnInptSeCd;
return self();
}
} }

@ -28,11 +28,11 @@ public class Crdn06Controller extends ApplicationController {
mav.setViewName("fims/crdn/crdn06010-main"); mav.setViewName("fims/crdn/crdn06010-main");
mav.addObject("pageName", "crdn06010-main"); mav.addObject("pageName", "crdn06010-main");
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM001", "FIM002", "FIM010", "FIM026"); Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM002", "FIM003", "FIM010", "FIM026", "FIM054");
mav.addObject("FIM001List", commonCodes.get("FIM001")); mav.addObject("FIM003List", commonCodes.get("FIM003"));
mav.addObject("FIM002List", commonCodes.get("FIM002"));
mav.addObject("FIM010List", commonCodes.get("FIM010")); mav.addObject("FIM010List", commonCodes.get("FIM010"));
addCodes(commonCodes, mav, "FIM002", "FIM010", "FIM026"); mav.addObject("FIM054List", commonCodes.get("FIM054"));
addCodes(commonCodes, mav, "FIM002", "FIM003", "FIM010", "FIM026");
return mav; return mav;
} }
@ -45,10 +45,10 @@ public class Crdn06Controller extends ApplicationController {
mav.setViewName("fims/crdn/crdn06020-main"); mav.setViewName("fims/crdn/crdn06020-main");
mav.addObject("pageName", "crdn06020-main"); mav.addObject("pageName", "crdn06020-main");
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM001", "FIM002", "FIM003", "FIM010", "FIM026"); Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM002", "FIM003", "FIM010", "FIM026","FIM054");
mav.addObject("FIM001List", commonCodes.get("FIM001"));
mav.addObject("FIM002List", commonCodes.get("FIM002")); mav.addObject("FIM002List", commonCodes.get("FIM002"));
mav.addObject("FIM010List", commonCodes.get("FIM010")); mav.addObject("FIM010List", commonCodes.get("FIM010"));
mav.addObject("FIM054List", commonCodes.get("FIM054"));
addCodes(commonCodes, mav, "FIM002", "FIM003", "FIM010", "FIM026"); addCodes(commonCodes, mav, "FIM002", "FIM003", "FIM010", "FIM026");
return mav; return mav;
@ -77,7 +77,7 @@ public class Crdn06Controller extends ApplicationController {
mav.setViewName("fims/crdn/crdn06040-main"); mav.setViewName("fims/crdn/crdn06040-main");
mav.addObject("pageName","crdn06040-main"); mav.addObject("pageName","crdn06040-main");
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054", "FIM010"); Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM010", "FIM054");
mav.addObject("FIM054List", commonCodes.get("FIM054")); mav.addObject("FIM054List", commonCodes.get("FIM054"));
addCodes(commonCodes, mav, "FIM010"); addCodes(commonCodes, mav, "FIM010");
return mav; return mav;

@ -207,15 +207,20 @@ AND C.${by} LIKE CONCAT('%', #{term}, '%')
<if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if> <if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if>
<if test="taskSeCd != null">AND C.TASK_SE_CD = #{taskSeCd}</if> <if test="taskSeCd != null">AND C.TASK_SE_CD = #{taskSeCd}</if>
<if test="vhrno != null">AND C.VHRNO LIKE CONCAT('%', #{vhrno}, '%')</if> <if test="vhrno != null">AND C.VHRNO LIKE CONCAT('%', #{vhrno}, '%')</if>
<if test="crdnInptSeCd != null">AND C.CRDN_INPT_SE_CD = #{crdnInptSeCd}</if>
<if test="schCrdnYmdFrom != null or schCrdnYmdTo != null">
<if test="schCrdnYmdFrom != null">AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} </if>
<if test="schCrdnYmdTo != null">AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} </if>
</if>
<if test="schDateFrom != null or schDateTo != null"> <if test="schDateFrom != null or schDateTo != null">
<if test="schDateOpt == 'crdnYmd'">
<if test="schDateFrom != null">AND C.CRDN_YMD <![CDATA[ >= ]]> #{schDateFrom} </if>
<if test="schDateTo != null">AND C.CRDN_YMD <![CDATA[ <= ]]> #{schDateTo} </if>
</if>
<if test="schDateOpt == 'regDt'"> <if test="schDateOpt == 'regDt'">
<if test="schDateFrom != null">AND SUBSTR(C.REG_DT,1,8) <![CDATA[ >= ]]> #{schDateFrom} </if> <if test="schDateFrom != null">AND SUBSTR(C.REG_DT,1,8) <![CDATA[ >= ]]> #{schDateFrom} </if>
<if test="schDateTo != null">AND SUBSTR(C.REG_DT,1,8) <![CDATA[ <= ]]> #{schDateTo} </if> <if test="schDateTo != null">AND SUBSTR(C.REG_DT,1,8) <![CDATA[ <= ]]> #{schDateTo} </if>
</if> </if>
<if test="schDateOpt == 'mdfcnDt'">
<if test="schDateFrom != null">AND SUBSTR(C.MDFCN_DT,1,8) <![CDATA[ >= ]]> #{schDateFrom} </if>
<if test="schDateTo != null">AND SUBSTR(C.MDFCN_DT,1,8) <![CDATA[ <= ]]> #{schDateTo} </if>
</if>
</if> </if>
<include refid="utility.orderBy" /> <include refid="utility.orderBy" />
@ -349,8 +354,8 @@ AND FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) LIKE CONCAT('%', #{term}, '%')
<if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if> <if test="crdnId != null">AND C.CRDN_ID = #{crdnId}</if>
<if test="taskSeCd != null">AND C.TASK_SE_CD = #{taskSeCd}</if> <if test="taskSeCd != null">AND C.TASK_SE_CD = #{taskSeCd}</if>
<if test="schRductYmdFrom != null or schRductYmdTo != null"> <if test="schRductYmdFrom != null or schRductYmdTo != null">
<if test="schDateFrom != null">AND SUBSTR(RD.REG_DT,1,8) <![CDATA[ >= ]]> #{schRductYmdFrom} </if> <if test="schRductYmdFrom != null">AND SUBSTR(RD.REG_DT,1,8) <![CDATA[ >= ]]> #{schRductYmdFrom} </if>
<if test="schDateTo != null">AND SUBSTR(RD.REG_DT,1,8) <![CDATA[ <= ]]> #{schRductYmdTo} </if> <if test="schRductYmdTo != null">AND SUBSTR(RD.REG_DT,1,8) <![CDATA[ <= ]]> #{schRductYmdTo} </if>
</if> </if>
<include refid="utility.orderBy" /> <include refid="utility.orderBy" />
<include refid="utility.paging-suffix"/> <include refid="utility.paging-suffix"/>

@ -9,7 +9,7 @@
<div class="wrapper-list"> <div class="wrapper-list">
<div> <div>
<div class="container-page-btn"> <div class="container-page-btn">
<button type="button" class="btn btn-outline-dark">초기화</button> <button type="button" class="btn btn-outline-dark" id="btnReset--${pageName}" title="초기화">초기화</button>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<button type="button" class="btn btn-search" id="btnSearch--${pageName}" title="검색">검색</button> <button type="button" class="btn btn-search" id="btnSearch--${pageName}" title="검색">검색</button>
</span> </span>
@ -21,7 +21,7 @@
<div class="col-6"> <div class="col-6">
<label class="form-label fw-bold form-search-title">시스템구분</label> <label class="form-label fw-bold form-search-title">시스템구분</label>
<span class="form-search-linebox"> <span class="form-search-linebox">
<c:forEach items="${FIM001List}" var="item"> <c:forEach items="${FIM054List}" var="item">
<label> <label>
<input name="taskSeCd" type="radio" value="${item.code}" <input name="taskSeCd" type="radio" value="${item.code}"
class="form-check-input" alt="업무구분" class="form-check-input" alt="업무구분"
@ -44,10 +44,10 @@
</span> </span>
</div> </div>
<div class="col-6"> <div class="col-6">
<label class="form-label fw-bold form-search-title">단속구분</label> <label class="form-label fw-bold form-search-title">자료출처</label>
<select id="crdnSeCd--${pageName}" name="crdnSeCd" class="form-select"> <select id="crdnInptSeCd--${pageName}" name="crdnInptSeCd" class="form-select">
<option value="">전체</option> <option value="">전체</option>
<c:forEach items="${FIM002List}" var="item"> <c:forEach items="${FIM003List}" var="item">
<option value="${item.code}">${item.value}</option> <option value="${item.code}">${item.value}</option>
</c:forEach> </c:forEach>
</select> </select>
@ -56,15 +56,30 @@
<label class="form-label fw-bold form-search-title">차량번호</label> <label class="form-label fw-bold form-search-title">차량번호</label>
<input type="text" id="vhrno--${pageName}" name="vhrno" class="form-control" /> <input type="text" id="vhrno--${pageName}" name="vhrno" class="form-control" />
</div> </div>
<div class="col-12"> <div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" /> <select id="schDateOpt--${pageName}" name="schDateOpt" class="form-select">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" id="schDateFrom--${pageName}" name="schDateFrom" class="form-control form-date"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" id="schDateTo--${pageName}" name="schDateTo" class="form-control form-date"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" id="byOutput--${pageName}" class="form-control" readonly value="동적 검색" /> <input type="text" id="byOutput--${pageName}" class="form-control" readonly value="동적 검색" />
<input type="text" id="term--${pageName}" name="term" class="form-control" /> <input type="text" id="term--${pageName}" name="term" class="form-control" />
<span class="flr"> <span class="flr">
<button type="button" class="btn btn-open-detail" <button type="button" class="btn btn-open-detail"
data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}"> data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i> <i class="bx bx-chevron-down"></i>
상세조회조건 상세검색
</button> </button>
</span> </span>
</div> </div>
@ -82,19 +97,7 @@
</select> </select>
</div> </div>
<div class="col-6"> <div class="col-6">
<select id="schDateOpt--${pageName}" name="schDateOpt" class="form-select">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" id="schDateFrom--${pageName}" name="schDateFrom" class="form-control form-date"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" id="schDateTo--${pageName}" name="schDateTo" class="form-control form-date"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div> </div>
</div> </div>
</div> </div>
@ -123,10 +126,48 @@
> >
<thead> <thead>
<tr id="crdnTheadTr--${pageName}"> <tr id="crdnTheadTr--${pageName}">
<th width="80">No.</th>
<th width="80">자료출처</th>
<th width="80">차량번호</th>
<th width="80">위반일시</th>
<th width="80">신고/단속자</th>
<th width="80">위반장소</th>
<th width="80">체납액</th>
<th width="80">영상매체</th>
<th width="80">사진건수</th>
<th width="80">발행번호</th>
<th width="80">차량확인</th>
<th width="80">처리상태</th>
<th width="80">제외사유</th>
<th width="80">제외처리일자</th>
<th width="80">제외내역</th>
</tr> </tr>
</thead> </thead>
<tbody id="crdnTbody--${pageName}"> <tbody id="crdnTbody--${pageName}"></tbody>
</tbody> <template id="crdnRow--${pageName}">
<tr data-key="{CRDN_ID}">
<td {onclick} {ondblclick} class="text-end">{ROW_NUM}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_INPT_SE_CD}</td>
<td {onclick} {ondblclick} class="text-center">{VHRNO}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_YMD_TM}</td>
<td {onclick} {ondblclick} class="text-center">{APLCNT_CRDN_NM}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_PLC}</td>
<td {onclick} {ondblclick} class="text-center">{체납액}</td>
<td {onclick} {ondblclick} class="text-center">{영상매체}</td>
<td {onclick} {ondblclick} class="text-center">{ATCH_FILE_CNT}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_SN}</td>
<td {onclick} {ondblclick} class="text-center">{차량확인}</td>
<td {onclick} {ondblclick} class="text-center">{CRDN_STTS_CD}</td>
<td {onclick} {ondblclick} class="text-center">{제외사유}</td>
<td {onclick} {ondblclick} class="text-center">{제외처리일자}</td>
<td {onclick} {ondblclick} class="text-center">{제외내역}</td>
</tr>
</template>
<template id="crdnNotFound--${pageName}">
<tr>
<td valign="top" colspan="15" class="dataTables_empty text-center">단속 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table> </table>
</div> </div>
</div> </div>
@ -149,6 +190,7 @@
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
var FIM002 = new CommonCodes(${FIM002}); var FIM002 = new CommonCodes(${FIM002});
var FIM003 = new CommonCodes(${FIM003});
var FIM010 = new CommonCodes(${FIM010}); var FIM010 = new CommonCodes(${FIM010});
var FIM026 = new CommonCodes(${FIM026}); var FIM026 = new CommonCodes(${FIM026});
pageObject["${pageName}"] = {}; pageObject["${pageName}"] = {};
@ -167,6 +209,7 @@ $(document).ready(function(){
getInfo : "" getInfo : ""
}, },
formats: { formats: {
CRDN_INPT_SE_CD: FIM003,
CRDN_YMD_TM : datetimeFormat, CRDN_YMD_TM : datetimeFormat,
REG_DT : datetimeFormat, REG_DT : datetimeFormat,
MDFCN_DT : datetimeFormat, MDFCN_DT : datetimeFormat,
@ -207,8 +250,14 @@ $(document).ready(function(){
$("#crdnTbody--${pageName}").setCurrentRow(key); $("#crdnTbody--${pageName}").setCurrentRow(key);
} }
$P.fnReset = () => {
$('#schCrdnYmdFrom--${pageName}').datepicker('setDate', DateUtil.getDateDay(-5475).date);
$('#schCrdnYmdTo--${pageName}').datepicker('setDate', new Date());
$P.crdnControl.setData([]);
}
$P.fnResetAndChangeBiz = taskSeCd => { $P.fnResetAndChangeBiz = taskSeCd => {
$("#crdnTbody--${pageName}").html(""); $P.fnReset();
$P.crdnControl.urls.load = wctx.url("/crdn/crdn06/010/"+ taskSeCd +"/list.do"); $P.crdnControl.urls.load = wctx.url("/crdn/crdn06/010/"+ taskSeCd +"/list.do");
$P.crdnControl.urls.getInfo = wctx.url("/sprt/sprt01/020/"+ taskSeCd +"/info.do"); $P.crdnControl.urls.getInfo = wctx.url("/sprt/sprt01/020/"+ taskSeCd +"/info.do");
} }
@ -228,16 +277,18 @@ $(document).ready(function(){
var empty = crdnList.empty; var empty = crdnList.empty;
var trs = empty ? [ $P.tbodyTemplate.notFound ] : crdnList.inStrings($P.tbodyTemplate.found); var trs = empty ?
[document.getElementById("crdnNotFound--${pageName}").innerHTML] :
crdnList.inStrings(
document.getElementById("crdnRow--${pageName}").innerHTML,
(str, dataItem) => str
.replace(/{onclick}/gi, 'onclick="pageObject[\'${pageName}\'].crdnControl.setCurrent(\'' + dataItem.getValue("CRDN_ID") + '\');$(\'#crdnTbody--${pageName}\').setCurrentRow(\'' + dataItem.getValue("CRDN_ID") + '\');"')
.replace(/{ondblclick}/gi, 'ondblclick="pageObject[\'${pageName}\'].crdnControl.getInfo(\'' + dataItem.getValue("CRDN_ID") + '\')"')
);
$("#crdnTbody--${pageName}").html(trs.join()); $("#crdnTbody--${pageName}").html(trs.join());
//보안모드 //보안모드
if($("#securityMode--top").is(":checked")){ fn_securityModeToggle($("#securityMode--top").is(":checked"));
fn_securityModeToggle(true);
} else {
fn_securityModeToggle(false);
}
} }
$P.getParams = () => { $P.getParams = () => {
@ -248,58 +299,9 @@ $(document).ready(function(){
return data; return data;
} }
/* *******************************
* Grid
******************************* */
$P.gridColumns = [
{ header: '차량번호', name: 'VHRNO', width: 80, className: 'text-center' },
{ header: '단속구분(신고방법)', name: 'CRDN_SE_CD', width: 100, className: 'text-center' },
{ header: '위반일시', name: 'CRDN_YMD_TM', width: 120, className: 'text-center' },
{ header: '사진건수', name: 'ATCH_FILE_CNT', width: 40, className: 'text-center' },
{ header: '수납금액', name: 'RCVMT_AMT', width: 100, className: 'text-end' },
{ header: '위반횟수', name: 'VLTN_NMTM', width: 80, className: 'text-center' },
{ header: '위반장소', name: 'CRDN_PLC', width: 150 },
{ header: '주민번호(전체)', name: 'RTPYR_NO', width: 110, className: 'text-center privacy' },
{ header: '주민번호(마스킹)', name: 'RTPYR_NO_MASK', width: 110, className: 'text-center privacy-mask' },
{ header: '특기사항', name: 'ETC_CN', width: 80, className: 'text-center' },
{ header: '서손사유', name: 'ETC_CN', width: 80, className: 'text-center' },
{ header: '처리상태명', name: 'CRDN_STTS_NM', width: 80},
{ header: '민원접수번호', name: 'CVLCPT_RCPT_NO', width: 150, className: 'text-center' },
{ header: '민원접수일자', name: 'CVLCPT_RCPT_YMD', width: 80, className: 'text-center' },
{ header: '처리기한', name: 'CVLCPT_PRCS_PRNMNT_DT', width: 80, className: 'text-center' },
{ header: '신고자', name: 'CVLCPT_APLCNT_NM', width: 80, className: 'text-center' },
{ header: '등록구분', name: 'CRDN_REG_SE_CD', width: 50, className: 'text-center' },
{ header: '등록일시', name: 'REG_DT', width: 150, className: 'text-center' },
{ header: '최종처리일시', name: 'MDFCN_DT', width: 150, className: 'text-center' },
{ header: '상태', name: 'CRDN_STTS_CD', width: 150, className: 'text-center' }
];
$P.gridOptions = {
by : 'by--${pageName}',
byOutput : 'byOutput--${pageName}',
theadTr: 'crdnTheadTr--${pageName}',
rowHeader: 'No.',
trDataKey: 'CRDN_ID',
infoPrefix: "crdn",
prefixName : "단속",
clickEvent : "pageObject['${pageName}'].crdnControl.setCurrent('{CRDN_ID}')",
dblClickEvent : "pageObject['${pageName}'].crdnControl.getInfo({})",
columns: $P.gridColumns
};
$P.tbodyTemplate = {};
//그리드 정보 초기화
$P.tbodyTemplate = initGrid($P.gridOptions);
//달력 초기화 //달력 초기화
initDatepicker("frmSearch--${pageName}"); initDatepicker("frmSearch--${pageName}");
$('#schCrdnYmdFrom--${pageName}').datepicker('setDate', DateUtil.getDateDay(-5475).date);
$('#schCrdnYmdTo--${pageName}').datepicker('setDate', new Date());
var defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); var defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked",true); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked",true);
@ -317,22 +319,13 @@ $(document).ready(function(){
} }
}); });
$('#btnReset--${pageName}').on('click', () => $P.fnReset());
$('#btnSearch--${pageName}').on('click', () => $P.searchCrdnList()); $('#btnSearch--${pageName}').on('click', () => $P.searchCrdnList());
$('#btnMenualRegist--${pageName}').on('click', () => {
});
$('#btnExtrRegist--${pageName}').on('click', () => {
});
//보안모드 //보안모드
if($("#securityMode--top").is(":checked")){ fn_securityModeToggle($("#securityMode--top").is(":checked"));
fn_securityModeToggle(true);
} else {
fn_securityModeToggle(false);
}
}); });

Loading…
Cancel
Save