교부청구서 출력대상조회 화면 추가

main
이범준 1 year ago
parent a7cc7a2351
commit e035d0ea91

@ -42,7 +42,8 @@ public class Sprt01Controller extends ApplicationController {
inputEtcCnMain = "/100/info.do", inputEtcCnMain = "/100/info.do",
inputEtcCn = "/100/update.do", inputEtcCn = "/100/update.do",
printCrdnMain = "/110/info.do" printCrdnMain = "/110/info.do",
printBillMain = "/120/info.do"
; ;
} }
@ -277,4 +278,16 @@ public class Sprt01Controller extends ApplicationController {
return mav; return mav;
} }
/**, .
*
* @return /fims/sprt/sprt01120
*/
public ModelAndView printBillMain(String... crdnIds) {
ModelAndView mav = new ModelAndView("fims/sprt/sprt01120-info");
mav.addObject("crdnIds", toJson(crdnIds));
return mav;
}
} }

@ -366,6 +366,11 @@ public class CmnController {
return super.printCrdnMain(crdnIds); return super.printCrdnMain(crdnIds);
} }
@Override
@RequestMapping(name="교부청구서,채권신고서 출력 화면", value=METHOD_URL.printBillMain)
public ModelAndView printBillMain(String... crdnIds) {
return super.printBillMain(crdnIds);
}
} }
@Controller @Controller

@ -323,8 +323,9 @@ integrationSearch.fnManageEtcCn = (updown) => {
cur = integrationSearchControl.downdataset.getCurrent(); cur = integrationSearchControl.downdataset.getCurrent();
} }
if(cur != null){ if(cur.length <= 0){
dialog.alert("처리할 자료가 없습니다.");
return;
} }
} }
@ -340,6 +341,7 @@ integrationSearch.fnInputEtcCn = (updown) => {
} }
if(cur.length <= 0){ if(cur.length <= 0){
dialog.alert("처리할 자료가 없습니다.");
return; return;
} }
@ -381,6 +383,7 @@ integrationSearch.fnPrintCrdn = () => {
var downDataset = integrationSearchControl.downdataset; var downDataset = integrationSearchControl.downdataset;
if((upDataset.length <= 0) && (downDataset.length <= 0)){ if((upDataset.length <= 0) && (downDataset.length <= 0)){
dialog.alert("출력할 자료가 없습니다.");
return; return;
} }
@ -418,6 +421,62 @@ integrationSearch.fnPrintCrdn = () => {
} }
//교부청구서,채권신고서
integrationSearch.fnPrintBill = () => {
var upDataset = integrationSearchControl.updataset;
if(upDataset.length <= 0){
dialog.alert("출력할 자료가 없습니다.");
return;
}
var upArr = upDataset.getDataset();
var crdnIds = Object.keys(Object.groupBy(upArr, ({ CRDN_ID }) => CRDN_ID));
var url = wctx.url("/sprt/sprt01/120/info.do");
var dialogId = "printBillDialog";
ajax.get({
url : url
, data : { crdnIds : crdnIds.join(",") }
, success : resp => {
dialog.open({
id : dialogId
, title : "종합조회-교부청구서,채권신고서"
, size : "xl"
, content : resp
, init : () => {
$("#"+dialogId).find("input[name='dialogId']").val(dialogId);
var found = $("#"+dialogId).find("template")[0].innerHTML;
var trs = upDataset.inStrings(found, null);
$("#"+dialogId).find("tbody").html(trs.join());
var parentRes = new Object();
var childReq = pageObject.childReq.pop();
for(var reqKey in childReq) {
if(integrationSearch.provide[reqKey]){
parentRes[reqKey] = integrationSearch.provide[reqKey];
} else {
parentRes[reqKey] = function(){};
}
}
pageObject.parentRes.push(parentRes);
}
, onClose : () => { }
});
}
});
}
//개별총정보 dialog //개별총정보 dialog
integrationSearch.getInfo = (taskSeCd, crdnId) => { integrationSearch.getInfo = (taskSeCd, crdnId) => {
if (crdnId == undefined || crdnId == null || crdnId == "") { if (crdnId == undefined || crdnId == null || crdnId == "") {
@ -446,10 +505,33 @@ integrationSearch.getInfo = (taskSeCd, crdnId) => {
} }
}); });
} }
integrationSearch.provide = {
"getInfo" : function(crdnId){
var upDataset = integrationSearchControl.updataset;
var downDataset = integrationSearchControl.downdataset;
if(upDataset.length > 0){
var info = upDataset.getData(crdnId);
if(info != null){
return info;
}
}
if(downDataset.length > 0){
var info = downDataset.getData(crdnId);
if(info != null){
return info;
}
}
return null;
}
};
/************************************************************************** /**************************************************************************
* Event * Event
**************************************************************************/ **************************************************************************/
//이벤트 //이벤트
integrationSearch.setEvent = () => { integrationSearch.setEvent = () => {
@ -457,6 +539,7 @@ integrationSearch.setEvent = () => {
$("#btnSearch--${pageName}").on("click", function(){ integrationSearch.fnSearchList(); }); $("#btnSearch--${pageName}").on("click", function(){ integrationSearch.fnSearchList(); });
$("#btnPrintCrdn--${pageName}").on("click", function(){ integrationSearch.fnPrintCrdn(); }); $("#btnPrintCrdn--${pageName}").on("click", function(){ integrationSearch.fnPrintCrdn(); });
$("#btnPrintBill--${pageName}").on("click", function(){ integrationSearch.fnPrintBill(); });
$("#btnUpExcel--${pageName}").on("click", function(){ integrationSearch.fnExcel("up"); }); $("#btnUpExcel--${pageName}").on("click", function(){ integrationSearch.fnExcel("up"); });
$("#btnDownExcel--${pageName}").on("click", function(){ integrationSearch.fnExcel("down"); }); $("#btnDownExcel--${pageName}").on("click", function(){ integrationSearch.fnExcel("down"); });

@ -23,8 +23,8 @@
title="고지서" onclick=""> title="고지서" onclick="">
고지서 고지서
</button> </button>
<button type="button" id="" class="btn btn-info w-px-120" <button type="button" id="btnPrintBill--${pageName}" class="btn btn-info w-px-120"
title="교부청구서/채권신고서" onclick=""> title="교부청구서/채권신고서">
교부청구서/채권신고서 교부청구서/채권신고서
</button> </button>
<button type="button" id="" class="btn btn-search w-px-120" <button type="button" id="" class="btn btn-search w-px-120"

@ -26,7 +26,7 @@
<tbody id="tbody--${pageName}"> <tbody id="tbody--${pageName}">
</tbody> </tbody>
<template id="found--${pageName}"> <template id="found--${pageName}">
<tr> <tr data-key="{CRDN_ID}" onclick="pageObject['${pageName}'].clickGrid(this);">
<td>{SGG_NM}</td> <td>{SGG_NM}</td>
<td>{TASK_SE_NM}</td> <td>{TASK_SE_NM}</td>
<td>{CRDN_YMD_TM}</td> <td>{CRDN_YMD_TM}</td>
@ -73,6 +73,14 @@ $(document).ready(function(){
$P.crdnIds = ${crdnIds}; $P.crdnIds = ${crdnIds};
//그리드클릭
$P.clickGrid = (element) => {
var key = element.dataset.key;
$("#tbody--${pageName}").setCurrentRow(key);
}
//특기사항 입력
$P.fnInputEtcCn = () => { $P.fnInputEtcCn = () => {
var etcCn = $("#etcCn--${pageName}").val(); var etcCn = $("#etcCn--${pageName}").val();
if(etcCn == ""){ if(etcCn == ""){
@ -96,7 +104,11 @@ $(document).ready(function(){
}); });
} }
//버튼 이벤트
$("#btnInputEtcCn--${pageName}").on("click", () => $P.fnInputEtcCn() ); $("#btnInputEtcCn--${pageName}").on("click", () => $P.fnInputEtcCn() );
//첫번째 줄 클릭
$("#tbody--${pageName}").find("tr:eq(0)").click();
}); });

@ -47,7 +47,7 @@
<tbody id="tbody--${pageName}"> <tbody id="tbody--${pageName}">
</tbody> </tbody>
<template id="found--${pageName}"> <template id="found--${pageName}">
<tr> <tr data-key="{CRDN_ID}" onclick="pageObject['${pageName}'].clickGrid(this);">
<td>{SGG_NM}</td> <td>{SGG_NM}</td>
<td>{TASK_SE_NM}</td> <td>{TASK_SE_NM}</td>
<td>{RPM_SZR_VHRNO}</td> <td>{RPM_SZR_VHRNO}</td>
@ -86,6 +86,15 @@ $(document).ready(function(){
$P.crdnIds = ${crdnIds}; $P.crdnIds = ${crdnIds};
//그리드클릭
$P.clickGrid = (element) => {
var key = element.dataset.key;
$("#tbody--${pageName}").setCurrentRow(key);
}
//첫번째 줄 클릭
$("#tbody--${pageName}").find("tr:eq(0)").click();
}); });
</script> </script>

@ -0,0 +1,169 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">출력대상-교부청구서,채권신고서</c:set>
<div class="d-flex flex-row justify-content-evenly">
<div class="card">
<div class="row mt-4 mb-3 justify-content-start">
<div class="col-md-12">
<div class="float-start ps-4">
<button type="button" id="" class="btn btn-info">교부청구서출력</button>
<button type="button" id="" class="btn btn-info">채권신고서출력</button>
</div>
</div>
</div>
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer">
<div class="table-responsive"
style="overflow-x:scroll; height:300px; overflow-y:scroll;" >
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer"
id="table--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead" >
<tr id="theadTr--${pageName}">
<th style="width:120px">시군구명</th>
<th style="width:180px">과태료명</th>
<th style="width:120px">대체차량번호</th>
<th style="width:120px">차량번호</th>
<th style="width:120px">단속구분</th>
<th style="width:200px">단속일시</th>
<th style="width:200px">단속장소</th>
<th style="width:120px">고지번호</th>
<th style="width:120px">수납일자</th>
<th style="width:120px">처리상태</th>
<th style="width:120px">수납금액</th>
<th style="width:120px">잔액</th>
<th style="width:120px">성명</th>
<th style="width:400px">주소</th>
<th style="width:400px">번지</th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="found--${pageName}">
<tr data-key="{CRDN_ID}" onclick="pageObject['${pageName}'].clickGrid(this);">
<td>{SGG_NM}</td>
<td>{TASK_SE_NM}</td>
<td>{RPM_SZR_VHRNO}</td>
<td>{VHRNO}</td>
<th>{CRDN_SE_NM}</th>
<td>{CRDN_YMD_TM}</td>
<td>{CRDN_PLC}</td>
<td>{GOJI_NO}</td>
<td>{RCVMT_YMD}</td>
<td>{CRDN_STTS_NM}</td>
<td>{RCVMT_AMT}</td>
<td>{SUM_AMT}</td>
<td>{RTPYR_NM}</td>
<td>{RTPYR_ADDR}</td>
<td>{RTPYR_DTL_ADDR}</td>
</tr>
</template>
</table>
</div>
</div>
</div>
<form id="frmEdit--${pageName}">
<input type="text" name="dialogId" hidden />
<div class="row g-1">
<div class="col-md-4">
<label for="docNo--${pageName}"
class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">
문서번호
</label>
<input type="text" id="docNo--${pageName}" name="docNo"
class="form-control" maxlength="100" />
</div>
<div class="col-md-4">
<label for="caseNo--${pageName}"
class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">
사건번호
</label>
<input type="text" id="caseNo--${pageName}" name="caseNo"
class="form-control" maxlength="100" />
</div>
<div class="col-md-4">
<label for="receiver--${pageName}"
class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">
수신처 지정
</label>
<input type="text" id="receiver--${pageName}" name="receiver"
class="form-control" maxlength="100" />
</div>
<div class="col-md-6">
<label for="rtpyrNm--${pageName}"
class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">
납부자명
</label>
<input type="text" id="rtpyrNm--${pageName}" name="rtpyrNm"
class="form-control" data-map="RTPYR_NM" maxlength="100" />
</div>
<div class="col-md-6">
<label for="rtpyrNo--${pageName}"
class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">
납부자번호
</label>
<input type="text" id="rtpyrNo--${pageName}" name="rtpyrNo"
class="form-control" data-map="RTPYR_NO" maxlength="100" />
</div>
<div class="col-md-12">
<label for="vhrno--${pageName}"
class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">
물건
</label>
<input type="text" id="vhrno--${pageName}" name="vhrno"
class="form-control w-px-500" data-map="VHRNO" maxlength="100" />
</div>
<div class="col-md-12">
<label for="rtpyrFullAddr--${pageName}"
class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">
주소(소재지)
</label>
<input type="text" id="rtpyrFullAddr--${pageName}" name="rtpyrFullAddr"
class="form-control w-px-500" data-map="RTPYR_FULL_ADDR" maxlength="300" />
</div>
</div>
</form>
</div>
</div>
<script>
pageObject["${pageName}"] = {};
pageObject["${pageName}"].provided = {};
pageObject.childReq = [];
pageObject.childReq.push({
getInfo : function(){ return null; },
});
$(document).ready(function(){
var $P = pageObject["${pageName}"];
$P.crdnIds = ${crdnIds};
if(pageObject.parentRes.length > 0){
$P.provided = pageObject.parentRes.pop();
} else {
$P.provided = pageObject.childReq.pop();
}
//그리드클릭
$P.clickGrid = (element) => {
var key = element.dataset.key;
$("#tbody--${pageName}").setCurrentRow(key);
var info = $P.provided.getInfo(key);
var ff = new FimsFormFields("#frmEdit--${pageName}");
ff.set(info);
}
//첫번째 줄 클릭
$("#tbody--${pageName}").find("tr:eq(0)").click();
});
</script>
Loading…
Cancel
Save