반송 재발송 수정

master
mjkhan21 3 months ago
parent 84aa95a681
commit a878a24fb3

@ -113,7 +113,7 @@ public class JasperController extends AbstractController {
}
@RequestMapping(name="사전통지서 미리보기", value="/prenotice.do")
public ModelAndView previewPrenotice(SndbQuery req, FimsPrintOption printOption) {
public ModelAndView previewPrenotice(SndbQuery req) {
List<DataObject> dtlList = sndngDtlService.getDetailList(List.of(req.getSndngId()));
String[] crdnIds = dtlList.stream().map(row -> row.string("CRDN_ID")).toList().toArray(new String[dtlList.size()]);
Map<String, List<FileInfo>> crdnFiles = fileBean.getFilesOf(Crdn.INF_TYPE, crdnIds).stream()
@ -129,33 +129,28 @@ public class JasperController extends AbstractController {
userPhoneNo = user.getPhoneNo(),
userEmail = user.getEmailAddress();
List<InputStream> inputStreams = dtlList.stream()
.flatMap(crdn -> {
crdn.set("CRDN_YMD_TM", DataFormat.yyyy_mm_dd(crdn.get("CRDN_YMD")) + " " + DataFormat.hh_mm_ss(crdn.get("CRDN_TM")))
.set("ADVNTCE_DUDT_YMD", DataFormat.yyyy_mm_dd(crdn.get("ADVNTCE_DUDT_YMD")))
.flatMap(dtl -> {
dtl.set("CRDN_YMD_TM", DataFormat.yyyy_mm_dd(dtl.get("CRDN_YMD")) + " " + DataFormat.hh_mm_ss(dtl.get("CRDN_TM")))
.set("ADVNTCE_DUDT_YMD", DataFormat.yyyy_mm_dd(dtl.get("ADVNTCE_DUDT_YMD")))
.set("issueYear", year).set("issueMonth", month).set("issueDay", day)
.set("managerName", userName).set("managerPhoneNo", userPhoneNo).set("managerEmail", userEmail)
;
List<FileInfo> files = crdnFiles.get(crdn.string("CRDN_ID"));
List<FileInfo> files = crdnFiles.get(dtl.string("CRDN_ID"));
List<InputStream> inputs = isEmpty(files) ? Collections.emptyList() :
files.stream()
.map(FileInfo::getInputStream)
.toList();
for (int i = 0; i < Math.min(4, inputs.size()); ++i) {
crdn.set("VLTN_IMG" + i, inputs.get(i));
dtl.set("VLTN_IMG" + i, inputs.get(i));
}
return inputs.stream();
})
.toList();
String jasper = switch (printOption.getPaperSeCd()) {
case "01" -> "/prenotice-a4.jasper";
case "02" -> "/prenotice-letter.jasper";
default -> throw new IllegalArgumentException("paperSeCd: " + printOption.getPaperSeCd());
};
return new ModelAndView("jasperView")
.addObject("jasper", jasper)
.addObject("jasper", "/prenotice-a4.jasper")
.addObject("dataMap", dtlList)
.addObject("filename", "prenotice.pdf")
.addObject("closables", inputStreams);
@ -197,18 +192,31 @@ public class JasperController extends AbstractController {
@RequestMapping(name="고지서 미리보기", value="/notice.do")
public ModelAndView previewNotice(SndbQuery req, FimsPrintOption printOption) {
List<DataObject> crdnList = sndngDtlService.getDetailList(List.of(req.getSndngId())); //getCrdnList(req);
setBankAccounts(crdnList);
List<DataObject> dtlList = sndngDtlService.getDetailList(List.of(req.getSndngId())); //getCrdnList(req);
setBankAccounts(dtlList);
String today = dateFormats.format("yyyyMMdd", System.currentTimeMillis());
String today = dateFormats.format("yyyyMMdd", System.currentTimeMillis()),
year = today.substring(0, 4),
month = today.substring(4, 6),
day = today.substring(6);
FimsUser user = (FimsUser)currentUser().getUser();
String userName = user.getName(),
userPhoneNo = user.getPhoneNo(),
userEmail = user.getEmailAddress();
dtlList.forEach(dtl ->
dtl.set("CRDN_YMD_TM", DataFormat.yyyy_mm_dd(dtl.get("CRDN_YMD")) + " " + DataFormat.hh_mm_ss(dtl.get("CRDN_TM")))
.set("DUDT_YMD", DataFormat.yyyy_mm_dd(dtl.get("DUDT_YMD")))
.set("DUDT_AFTR_YMD", DataFormat.yyyy_mm_dd(dtl.get("DUDT_AFTR_YMD")))
.set("issueYear", year).set("issueMonth", month).set("issueDay", day)
.set("managerName", userName).set("managerPhoneNo", userPhoneNo).set("managerEmail", userEmail)
);
DataObject params = new DataObject()
.set("thisYear", today.substring(0, 4))
.set("thisMonth", today.substring(4, 6))
.set("thisDay", today.substring(6))
.set("managerName", user.getName())
.set("managerPhoneNo", user.getPhoneNo())
.set("managerEmail", user.getEmailAddress());
.set("thisYear", year)
.set("thisMonth", month)
.set("thisDay", day)
.set("managerName", userName)
.set("managerPhoneNo", userPhoneNo)
.set("managerEmail", userEmail);
String jasper = switch (printOption.getPaperSeCd()) {
case "01" -> "/notice-a4.jasper";
@ -218,7 +226,7 @@ public class JasperController extends AbstractController {
return new ModelAndView("jasperView")
.addObject("jasper", jasper)
.addObject("params", params)
.addObject("dataMap", crdnList)
.addObject("dataMap", dtlList)
.addObject("filename", "prenotice.pdf");
}
}

@ -44,6 +44,10 @@
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end align-top" for="etcCn">기타내용</label>
<textarea is="id-textarea" class="form-control w-87" name="etcCn" rows="2" data-maxlengthb="1000" autocomplete="off"></textarea>
</div>
<div class="col-md-12">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end align-top" for="etcCn">우편취급</label>
<select name="divKb" class="form-select" required></select>
</div>
</div> <!-- <div class="row g-1"> -->
</form>
<!-- 입력 영역 -->
@ -59,9 +63,7 @@
</div>
<!-- 업무 버튼 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" name="btnSave" title="저장">
저장
</button>
<button type="button" class="btn btn-primary w-px-120" name="btnSave" title="저장">저장</button>
</span>
</span>
</div> <!-- 업무 버튼 및 건수 표시 -->
@ -143,15 +145,15 @@
/**************************************************************************
* Global Variable
**************************************************************************/
pageObject["${pageName}"] = newDoctxFinder("${pageName}");
// pageObject["${pageName}"] = newDoctxFinder("${pageName}");
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// pageObject
let $P = pageObject["${pageName}"];
let $P = pageObject["${pageName}"] = newDoctxFinder("${pageName}");
// URL
$P.prefixUrl = "${prefixUrl}";
// datasetControl
@ -160,6 +162,10 @@
$P.callPurpose = "${callPurpose}";
// main 의 검색 조건을 그대로 유지
$P.mainQuery = ${mainQuery};
let divKb = $P.ctrl.find('[name="divKb"]');
divKb.innerHTML = ${EGP002}
.map(row => '<option value="{code}">{value}</option>'.replace(/{code}/gi, row.code).replace(/{value}/gi, row.value))
.join("\n");
/**************************************************************************
* DataTables 이벤트
@ -237,10 +243,10 @@
// 검색조건과 저장 파라미터 객체를 합친다.
let params = $.extend({}, $P.ctrl.query, formFields);
params.divKb = "000"; // 취급 구분 - 일반
params.divKb = $P.$findn("divKb").val(); // 취급 구분 - 일반
params.sndngRegSeCd = "01"; // 발송 등록 구분 코드(SNDNG_REG_SE_CD) - 01: 일괄
params.vltnCd = items[0].data.VLTN_CD;
params.rsndYn = "N"; // 재발송 여부
params.rsndYn = $P.mainQuery.rsndYn; // 재발송 여부
params.delYn = "N"; // 삭제 여부
$P.ctrl.save(params);
@ -317,6 +323,8 @@
// 3. 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
divKb.value = "000"; // 일반
});
//# sourceURL=sndb01020-info.jsp
</script>

@ -44,6 +44,10 @@
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end align-top" for="etcCn">기타내용</label>
<textarea is="id-textarea" class="form-control w-87" name="etcCn" rows="2" data-maxlengthb="1000" autocomplete="off"></textarea>
</div>
<div class="col-md-12">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end align-top" for="etcCn">우편취급</label>
<select name="divKb" class="form-select" required></select>
</div>
</div> <!-- <div class="row g-1"> -->
</form>
<!-- 입력 영역 -->
@ -69,7 +73,7 @@
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer">
<div class="table-responsive ox-scroll oy-scroll h-px-300" name="tableRspns">
<div class="table-responsive h-px-300" name="tableRspns">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr name="theadTr" data-search-target="[data-doctx='${pageName}']">
@ -172,6 +176,10 @@
$P.callPurpose = "${callPurpose}";
// main 의 검색 조건을 그대로 유지
$P.mainQuery = ${mainQuery};
let divKb = $P.ctrl.find('[name="divKb"]');
divKb.innerHTML = ${EGP002}
.map(row => '<option value="{code}">{value}</option>'.replace(/{code}/gi, row.code).replace(/{value}/gi, row.value))
.join("\n");
/**************************************************************************
* DataTables 이벤트
@ -226,8 +234,8 @@
// validate 확인
if (!AppSupport.customValidate($P.$findn("frmEdit").find("input,select,textarea"))) return;
let items = $P.ctrl.getDataset("item");
let invalid = items
let items = $P.ctrl.getDataset("item"),
invalid = items
.filter(item =>
isEmpty(item.data.ADDR) ||
<%-- isEmpty(item.data.DTL_ADDR) || --%>
@ -240,7 +248,6 @@
onOK: () => {}
});
}
dialog.alert({
content: "현재 " + $P.ctrl.prefixName + " 정보를 저장하시겠습니까?"
, init: () => { AppSupport.setDialogZindex(); }
@ -249,10 +256,10 @@
// 검색조건과 저장 파라미터 객체를 합친다.
let params = $.extend({}, $P.ctrl.query, formFields);
params.divKb = "001"; // 취급 구분 - 등기
params.divKb = $P.$findn("divKb").val();
params.sndngRegSeCd = "01"; // 발송 등록 구분 코드(SNDNG_REG_SE_CD) - 01: 일괄
params.vltnCd = items[0].data.VLTN_CD;
params.rsndYn = "N"; // 재발송 여부
params.rsndYn = $P.mainQuery.rsndYn; // 재발송 여부
params.delYn = "N"; // 삭제 여부
$P.ctrl.save(params);
@ -333,6 +340,7 @@
// 3. 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
divKb.value = "Y" != $P.mainQuery.rsndYn ? "001" : "000"; // 등기
});
//# sourceURL=sndb01060-info.jsp
</script>

@ -372,55 +372,7 @@
// validate 확인
if (!AppSupport.customValidate($P.$findn("frmEdit").find("input,select,textarea"))) return;
let submitParam = new FimsFormFields($P.selectorn("frmEdit")).get(); // formFields
let url = "";
let fileTypeName = "";
if (fileType == "pdf") {
// url = wctx.url($P.prefixUrl + "/080/makeAdvntcePdf.do");
url = wctx.url("/preview/prenotice.do");
fileTypeName = "PDF 파일";
} else if (fileType == "outsourcing") {
url = wctx.url($P.prefixUrl + "/080/makeAdvntceOutsourcing.do");
fileTypeName = "외주 요청 파일";
}
let inBrowser = false;
if (fileType == "pdf") {
submitParam.paperSeCd = paper;
inBrowser = true;
}
if (inBrowser) {
var parameter = toQuery(submitParam);
var filenameInHeader = "";
fetch(url + "?" + parameter)
.then((response) => {
var header = response.headers.get('Content-Disposition');
if(!header){
response.json().then((responseJson)=>{
dialog.alert({
content: fileTypeName+" 생성 중 오류가 발생하였습니다."
+"<br/>"
+responseJson.description,
init: () => { AppSupport.setDialogZindex(); }
});
});
new Error("");
}
var parts = header.split(';');
filenameInHeader = decodeURIComponent(parts[1].split('=')[1]);
return response.blob();
})
.then((blob) => {
AppSupport.openPDF(blob, filenameInHeader);
})
.catch(()=>{});
} else {
var parameter = toQuery(submitParam);
document.location.href = url + "?" + parameter;
}
woopyonMoa.preview("prenotice", new FimsFormFields($P.selectorn("frmEdit")).get().sndngId);
}
$P.downloadPrenotice = () => woopyonMoa.downloadRequest(new FimsFormFields($P.selectorn("frmEdit")).get());

@ -122,6 +122,10 @@
<label for="etcCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">기타내용</label>
<textarea type="text" class="form-control w-85" id="etcCn--${pageName}" name="etcCn" rows="2" data-maxlengthb="1000"></textarea>
</div>
<div class="col-md-12">
<label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end align-top" for="etcCn">우편취급</label>
<select name="divKb" class="form-select" required></select>
</div>
</div>
</form>
<!-- 입력 영역 -->
@ -186,6 +190,11 @@
$P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
$P.control.query = { pageNum : 1, fetchSize : $P.control.defaultFetchSize };
$P.control.beforeCurrent = null;
$P.mainQuery = ${mainQuery};
let divKb = $P.control.find('[name="divKb"]');
divKb.innerHTML = ${EGP002}
.map(row => '<option value="{code}">{value}</option>'.replace(/{code}/gi, row.code).replace(/{value}/gi, row.value))
.join("\n");
/**************************************************************************
@ -193,12 +202,28 @@
**************************************************************************/
// 저장 callback
$P.control.onSave = (resp) => {
let dialogTitle = $("#" + $P.control.prefix + "Dialog--${openerPageName}").find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
let msg = resp.rtnMsg.replace(/\[S\]|\[F\]/g, "");
// 메시지 출력
if (!resp.saved)
return dialog.alert({
content: msg
, onOK: () => { }
});
let sndng = resp.sndng,
resend = "Y" == sndng.rsndYn;
if (!resend)
return dialog.alert(msg);
woopyonMoa.preview("notice", sndng.sndngId);
woopyonMoa.downloadRequest({
sggCd: MY_INFO.info.sggCd,
taskSeCd: currentTask(),
sndngId: sndng.sndngId
});
<%--
dialog.alert({
content: showMessage
content: msg
, init: () => { AppSupport.setDialogZindex(); }
, onOK: () => { }
});
@ -206,6 +231,7 @@
if (resp.saved) {
dialog.close($P.control.prefix + "Dialog--${openerPageName}");
}
--%>
}
// 저장
@ -305,7 +331,7 @@
// 검색조건과 저장 파라미터 객체를 합친다.
let params = $.extend({}, $P.formEditFields.get(), $P.formFields.get());
params.sndngRegSeCd = "01"; // 발송 등록 구분 코드(SNDNG_REG_SE_CD) - 01: 일괄
params.rsndYn = "N"; // 재발송 여부
params.rsndYn = $P.mainQuery.rsndYn; // 재발송 여부
params.delYn = "N"; // 삭제 여부
$P.control.save(params);
@ -423,6 +449,7 @@
// 3. 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
divKb.value = "Y" != $P.mainQuery.rsndYn ? "001" : "000"; // 등기
});
</script>
//# sourceURL=sndb01100-info.jsp
</script>

@ -160,6 +160,9 @@
<button type="button" class="btn btn-primary w-px-120" name="btnRemove" title="반송 삭제">
반송 삭제
</button>
<button type="button" class="btn btn-primary w-px-120" name="btnCreateSndngLink" title="재발송">
재발송 등록
</button>
<button hidden type="button" class="btn btn-primary w-px-120" name="btnCreateSlctnSndngLink" title="선택 통합우편 발송">
선택 통합우편 발송
</button>
@ -192,8 +195,10 @@
<th class="cmn" style="width: 120px;" onclick="FimsSupport.searchFromGridTitle('DLVR_YMD', this.innerText, 'ymd', '');">배달일자</th>
<th class="cmn" style="width: 100px;" onclick="FimsSupport.searchFromGridTitle('DLVR_TM', this.innerText, 'time', '');">배달시간</th>
<th class="cmn" style="width: 200px;" onclick="FimsSupport.searchFromGridTitle('UNDLVR_RSN_NM', this.innerText, 'match', 'part');">미배달사유</th>
<%--
<th class="cmn" style="width: 160px;" onclick="FimsSupport.searchFromGridTitle('ACTL_RCPN_NM', this.innerText, 'match', 'part');">수령인</th>
<th class="cmn" style="width: 160px;" onclick="FimsSupport.searchFromGridTitle('RCPN_REL_NM', this.innerText, 'match', 'part');">수령인관계</th>
--%>
<th class="cmn" style="width: 160px;" onclick="FimsSupport.searchFromGridTitle('SNDNG_SE_CD', this.innerText, 'codeValue', 'FIM047');">발송구분</th>
<th class="cmn" style="width: 120px;" onclick="FimsSupport.searchFromGridTitle('SNDNG_YMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 120px;" onclick="FimsSupport.searchFromGridTitle('FFNLG_AMT', this.innerText, 'match', 'part');">과태료금액</th>
@ -226,8 +231,10 @@
<td class="cmn text-center" onclick ondblclick>{DLVR_YMD}</td>
<td class="cmn text-center" onclick ondblclick>{DLVR_TM}</td>
<td class="cmn text-start" onclick ondblclick>{UNDLVR_RSN_NM}</td>
<%--
<td class="cmn text-start" onclick ondblclick>{ACTL_RCPN_NM}</td>
<td class="cmn text-start" onclick ondblclick>{RCPN_REL_NM}</td>
--%>
<td class="cmn text-center" onclick ondblclick>{SNDNG_SE_NM}</td>
<td class="cmn text-center" onclick ondblclick>{SNDNG_YMD}</td>
<td class="cmn text-end" onclick ondblclick>{FFNLG_AMT}</td>
@ -254,22 +261,22 @@
</template>
<template name="tmpltNotFound">
<tr class="bpv">
<td valign="top" colspan="30" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="28" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dpv">
<td valign="top" colspan="30" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="28" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="dvs">
<td valign="top" colspan="30" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="28" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="eca">
<td valign="top" colspan="30" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="28" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="rvs pvs">
<td valign="top" colspan="30" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="28" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
<tr class="pes">
<td valign="top" colspan="30" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
<td valign="top" colspan="28" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
@ -287,6 +294,7 @@
<script>
LoadScript("sndb01220Script", wctx.url("/resources/js/fims/sndb/sndb01220.js?ver=${ver}"));
LoadScript("woopyonmoaScript", wctx.url("/resources/js/fims/sndb/woopyonmoa.js?ver=${ver}"));
/**************************************************************************
* Global Variable
@ -565,6 +573,48 @@
});
}
// 재발송 버튼 이벤트
$P.fnCreateSndngLink = (btnTitle) => {
let selected = $P.ctrl.getDataset("selected"); // 선택 자료
if (selected.length < 1)
selected = $P.ctrl.getDataset();
let selectedIndex = $P.ctrl.find('[name="schSndngSeCd"]').selectedIndex,
url = [
null,
{label: "계도장", type: "11", path: "/sndb/sndb01/020/info.do"},
{label: "사전통지", type: "02", path: "/sndb/sndb01/060/info.do"},
{label: "고지서", type: "03", path: "/sndb/sndb01/100/info.do"}
][selectedIndex];
// 파라미터 설정
let params = $P.ctrl.query; // 검색 조건
params.btnTitle = btnTitle; // 타이틀
params.callPurpose = "create"; // 호출 용도 (등록)
params.crdnIds = selected.map(info => info.CRDN_ID).join(",") // 단속 IDs
params.sndngSeCd = url.type; // 발송 구분 코드(FIM047)
params.rsndYn = "Y"; // 재발송 여부
params.delYn = "N"; // 삭제 여부
return ajax.get({
url: wctx.url(url.path),
data: params,
success: resp => {
dialog.open({
title: url.label + " 재발송 등록",
content: resp,
size: "xl",
onOK: () => {}
});
}
});
params.deptCd = $P.ctrl.dataset.getValue("DEPT_CD"); // 부서코드
params.tnocs = $P.ctrl.dataset.getValue("TOT_CNT"); // 총건수
params.sndngDtlIds = selected.map(info => info.SNDNG_DTL_ID).join(","); // 발송 상세 IDs
}
// 선택 통합우편 발송 버튼 이벤트
$P.fnCreateSlctnSndngLink = (btnTitle) => {
let selected = $P.ctrl.getDataset("selected"); // 선택 자료
@ -631,6 +681,9 @@
$P.$findn("btnRemove").on("click", function() {
$P.fnRemove($P.$findn("btnRemove").attr("title")); // 반송 삭제
});
$P.$findn("btnCreateSndngLink").on("click", function() {
$P.fnCreateSndngLink($P.$findn("btnCreateSndngLink").attr("title")); // 선택 통합우편 발송
});
$P.$findn("btnCreateSlctnSndngLink").on("click", function() {
$P.fnCreateSlctnSndngLink($P.$findn("btnCreateSlctnSndngLink").attr("title")); // 선택 통합우편 발송
});

@ -65,7 +65,10 @@
<field name="DUDT_AFTR_YMD" class="java.lang.String">
<description><![CDATA[의견제출기한]]></description>
</field>
<field name="LEVY_NO" class="java.lang.String">
<field name="DUDT_AFTR_AMT" class="java.lang.String">
<description><![CDATA[의견제출기한]]></description>
</field>
<field name="NXRP_LEVY_KEY" class="java.lang.String">
<description><![CDATA[부과번호]]></description>
</field>
<field name="TXITM_CD" class="java.lang.String">
@ -113,6 +116,39 @@
<field name="accountName" class="java.lang.String">
<description><![CDATA[회계과목]]></description>
</field>
<field name="SAccountNo" class="java.lang.String">
<description><![CDATA[신한은행 가상계좌]]></description>
</field>
<field name="WAccountNo" class="java.lang.String">
<description><![CDATA[우리은행 가상계좌]]></description>
</field>
<field name="HAccountNo" class="java.lang.String">
<description><![CDATA[keb하나은행 가상계좌]]></description>
</field>
<field name="KAccountNo" class="java.lang.String">
<description><![CDATA[국민은행 가상계좌]]></description>
</field>
<field name="IAccountNo" class="java.lang.String">
<description><![CDATA[기업은행 가상계좌]]></description>
</field>
<field name="PAccountNo" class="java.lang.String">
<description><![CDATA[우체국 가상계좌]]></description>
</field>
<field name="CAccountNo" class="java.lang.String">
<description><![CDATA[시티은행 가상계좌]]></description>
</field>
<field name="NAccountNo" class="java.lang.String">
<description><![CDATA[농협 가상계좌]]></description>
</field>
<field name="FAccountNo" class="java.lang.String">
<description><![CDATA[수협 가상계좌]]></description>
</field>
<field name="OAccountNo" class="java.lang.String">
<description><![CDATA[카카오뱅크 가상계좌]]></description>
</field>
<field name="QAccountNo" class="java.lang.String">
<description><![CDATA[케이뱅크 가상계좌]]></description>
</field>
<detail>
<band height="842" splitType="Stretch">
<element kind="frame" uuid="210f49b4-e1a7-468b-9b88-cc14cad7cf51" x="0" y="0" width="595" height="842">
@ -167,21 +203,21 @@
<expression><![CDATA[$F{DUDT_YMD}]]></expression>
</element>
<element kind="textField" uuid="609f6dcc-5535-4788-ad9d-48e1bb7229e5" x="464" y="576" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{bankAccount1}]]></expression>
<expression><![CDATA[$F{SAccountNo}]]></expression>
</element>
<element kind="textField" uuid="b80baf1c-baab-480c-b2a7-a595c2980cd3" x="464" y="593" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{bankAccount2}]]></expression>
<expression><![CDATA[$F{WAccountNo}]]></expression>
</element>
<element kind="textField" uuid="d81a74cd-fe70-4f18-881f-af5f22cc28f3" x="464" y="626" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{bankAccount4}]]></expression>
<expression><![CDATA[$F{KAccountNo}]]></expression>
</element>
<element kind="textField" uuid="ed4e1de9-02ff-4bd5-88c5-9b6afa17c190" x="464" y="609" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{bankAccount3}]]></expression>
<expression><![CDATA[$F{HAccountNo}]]></expression>
</element>
<element kind="textField" uuid="496f0f19-0694-4434-b49f-41edea400277" x="464" y="643" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{bankAccount5}]]></expression>
<expression><![CDATA[$F{IAccountNo}]]></expression>
</element>
<element kind="textField" uuid="06f5e0b9-fdc1-4e4d-b129-530b022d753a" x="212" y="297" width="107" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true" hTextAlign="Left">
<element kind="textField" uuid="06f5e0b9-fdc1-4e4d-b129-530b022d753a" x="212" y="297" width="167" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true" hTextAlign="Left">
<expression><![CDATA[$F{EPAYNO}]]></expression>
</element>
<element kind="textField" uuid="f633287f-fa21-4520-9b26-31547b4c2044" x="210" y="399" width="70" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true" hTextAlign="Right">
@ -218,12 +254,12 @@
<expression><![CDATA[$P{thisDay}]]></expression>
</element>
<element kind="textField" uuid="f2db2edf-e175-4a33-b737-4c0197316a6e" x="546" y="318" width="42" height="12" fontName="굴림체" fontSize="7.0" blankWhenNull="true">
<expression><![CDATA[$F{LEVY_NO}]]></expression>
<expression><![CDATA[$F{NXRP_LEVY_KEY}]]></expression>
</element>
<element kind="textField" uuid="dfc3b4f9-c41f-4e11-8a4f-a96d78b9538e" x="211" y="362" width="169" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{VHRNO}]]></expression>
</element>
<element kind="textField" uuid="29b034f5-48e1-4020-85df-52bb910cc4c6" x="210" y="318" width="108" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<element kind="textField" uuid="29b034f5-48e1-4020-85df-52bb910cc4c6" x="210" y="318" width="168" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{RTPYR_NM}]]></expression>
</element>
<element kind="textField" uuid="43642b0a-d10b-402c-a669-dadd933d0165" x="546" y="298" width="42" height="12" fontName="굴림체" fontSize="7.0" blankWhenNull="true">
@ -235,12 +271,6 @@
<element kind="textField" uuid="d3af4441-0585-451b-97d7-7a6aa0a88b3b" x="469" y="407" width="100" height="12" fontName="굴림체" fontSize="8.0" pattern="#,##0" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{LEVY_PCPTAX}]]></expression>
</element>
<element kind="textField" uuid="4b6cc45f-4cc6-47bc-be13-766a10d6f6b8" x="364" y="491" width="76" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true" hTextAlign="Center">
<expression><![CDATA[$F{DUDT_YMD}]]></expression>
</element>
<element kind="textField" uuid="6a82d50b-5d4a-435b-bb20-55bc7cb06fcc" x="364" y="507" width="76" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true" hTextAlign="Center">
<expression><![CDATA[$F{DUDT_YMD}]]></expression>
</element>
<element kind="textField" uuid="fdd9722c-b0be-4999-94c3-49cdcc88bddf" x="211" y="332" width="169" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{RTPYR_ADDR}]]></expression>
</element>
@ -259,11 +289,11 @@
<element kind="textField" uuid="7c577e8e-6d9d-4aa9-bb86-35d94a1214fd" x="81" y="615" width="67" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{TXITM_CD}]]></expression>
</element>
<element kind="textField" uuid="51a341ca-668b-46cc-bdad-024aa3a136cf" x="278" y="69" width="102" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<element kind="textField" uuid="51a341ca-668b-46cc-bdad-024aa3a136cf" x="280" y="69" width="102" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$P{managerName}]]></expression>
</element>
<element kind="textField" uuid="637ca3e9-511c-4d55-a0bc-f294ef84252a" x="278" y="79" width="102" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$P{managerPhoneNo}]]></expression>
<element kind="staticText" uuid="146060e7-a897-45c7-a644-6fcee55d72bb" x="281" y="80" width="98" height="13" fontName="굴림체">
<text><![CDATA[02-2148-1853]]></text>
</element>
<element kind="textField" uuid="d3c2ca39-fcbc-4948-92b9-4ad913b08cd1" x="58" y="310" width="87" height="16" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{CRDN_STDG_NM}]]></expression>
@ -272,7 +302,7 @@
<expression><![CDATA[$F{RTPYR_DTL_ADDR}]]></expression>
</element>
<element kind="textField" uuid="441d662b-a8d6-4e1b-81d3-517d07d4a427" x="472" y="449" width="100" height="12" fontName="굴림체" fontSize="8.0" pattern="#,##0" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{LEVY_AMT}]]></expression>
<expression><![CDATA[$F{DUDT_AFTR_AMT}]]></expression>
</element>
<element kind="textField" uuid="7df0186f-41be-485e-a945-7e35ebad55bd" x="316" y="436" width="79" height="12" fontName="굴림체" fontSize="8.0" pattern="#,##0원" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{LEVY_AMT}]]></expression>
@ -281,13 +311,34 @@
<expression><![CDATA[$F{DUDT_AFTR_YMD}]]></expression>
</element>
<element kind="textField" uuid="32a9168d-69b0-4652-96e1-11e1f78fc273" x="81" y="638" width="62" height="12" fontName="굴림체" fontSize="7.0" blankWhenNull="true">
<expression><![CDATA[$F{LEVY_NO}]]></expression>
<expression><![CDATA[$F{NXRP_LEVY_KEY}]]></expression>
</element>
<element kind="textField" uuid="5957a696-519c-4cce-9bfb-459a7135a1fb" x="63" y="705" width="68" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{DUDT_AFTR_YMD}]]></expression>
</element>
<element kind="textField" uuid="dc734853-a53c-4793-8982-4ff2b9f87c0d" x="64" y="740" width="79" height="12" fontName="굴림체" fontSize="8.0" pattern="#,##0원" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{LEVY_AMT}]]></expression>
<expression><![CDATA[$F{DUDT_AFTR_AMT}]]></expression>
</element>
<element kind="textField" uuid="b588b302-a07f-4e1f-bb6e-b3ab38f27128" x="403" y="458" width="52" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{DUDT_AFTR_YMD}]]></expression>
</element>
<element kind="textField" uuid="e93e68ec-74dc-4878-94ee-bdd692a008bf" x="464" y="658" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{PAccountNo}]]></expression>
</element>
<element kind="textField" uuid="8f3d4ebc-e599-43ca-b6eb-acfc184cf3f4" x="464" y="675" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{CAccountNo}]]></expression>
</element>
<element kind="textField" uuid="6c234978-b1fc-4fe4-9c3f-f9e0cff2ad7f" x="464" y="691" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{NAccountNo}]]></expression>
</element>
<element kind="textField" uuid="e99a3b38-775e-47cd-bff5-cfcbdf62b817" x="464" y="707" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{FAccountNo}]]></expression>
</element>
<element kind="textField" uuid="5d9ae746-9c5c-4d16-b6f4-5406590a66c3" x="464" y="724" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{OAccountNo}]]></expression>
</element>
<element kind="textField" uuid="85bfcec0-998e-4f44-998c-943272bacdcc" x="464" y="741" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{QAccountNo}]]></expression>
</element>
</element>
</band>

@ -38,6 +38,9 @@
<field name="VHRNO" class="java.lang.String">
<description><![CDATA[차량번호]]></description>
</field>
<field name="CRDN_STDG_NM" class="java.lang.String">
<description><![CDATA[단속법정동]]></description>
</field>
<field name="CRDN_PLC" class="java.lang.String">
<description><![CDATA[위반장소]]></description>
</field>
@ -50,7 +53,7 @@
<field name="ADVNTCE_DUDT_YMD" class="java.lang.String">
<description><![CDATA[의견제출기한]]></description>
</field>
<field name="LEVY_NO" class="java.lang.String">
<field name="NXRP_LEVY_KEY" class="java.lang.String">
<description><![CDATA[부과번호]]></description>
</field>
<field name="TXITM_CD" class="java.lang.String">
@ -71,20 +74,38 @@
<field name="EPAYNO" class="java.lang.String">
<description><![CDATA[전자납부번호]]></description>
</field>
<field name="bankAccount1" class="java.lang.String">
<description><![CDATA[은행 가상계좌1]]></description>
<field name="SAccountNo" class="java.lang.String">
<description><![CDATA[신한은행 가상계좌]]></description>
</field>
<field name="WAccountNo" class="java.lang.String">
<description><![CDATA[우리은행 가상계좌]]></description>
</field>
<field name="HAccountNo" class="java.lang.String">
<description><![CDATA[keb하나은행 가상계좌]]></description>
</field>
<field name="KAccountNo" class="java.lang.String">
<description><![CDATA[국민은행 가상계좌]]></description>
</field>
<field name="IAccountNo" class="java.lang.String">
<description><![CDATA[기업은행 가상계좌]]></description>
</field>
<field name="PAccountNo" class="java.lang.String">
<description><![CDATA[우체국 가상계좌]]></description>
</field>
<field name="bankAccount2" class="java.lang.String">
<description><![CDATA[은행 가상계좌2]]></description>
<field name="CAccountNo" class="java.lang.String">
<description><![CDATA[시티은행 가상계좌]]></description>
</field>
<field name="bankAccount3" class="java.lang.String">
<description><![CDATA[은행 가상계좌3]]></description>
<field name="NAccountNo" class="java.lang.String">
<description><![CDATA[농협 가상계좌]]></description>
</field>
<field name="bankAccount4" class="java.lang.String">
<description><![CDATA[은행 가상계좌4]]></description>
<field name="FAccountNo" class="java.lang.String">
<description><![CDATA[수협 가상계좌]]></description>
</field>
<field name="bankAccount5" class="java.lang.String">
<description><![CDATA[은행 가상계좌5]]></description>
<field name="OAccountNo" class="java.lang.String">
<description><![CDATA[카카오뱅크 가상계좌]]></description>
</field>
<field name="QAccountNo" class="java.lang.String">
<description><![CDATA[케이뱅크 가상계좌]]></description>
</field>
<field name="VLTN_LAW_NM" class="java.lang.String">
<description><![CDATA[법적 근거]]></description>
@ -136,7 +157,7 @@
<band height="842" splitType="Stretch">
<element kind="frame" uuid="210f49b4-e1a7-468b-9b88-cc14cad7cf51" x="0" y="0" width="595" height="842">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<element kind="image" uuid="01c39ecb-dee4-4b92-a857-5abe67435573" x="0" y="0" width="595" height="842">
<element kind="image" uuid="01c39ecb-dee4-4b92-a857-5abe67435573" x="0" y="0" width="595" height="842" linkType="None" linkTarget="Self">
<expression><![CDATA[($P{resDir} == null ? "." : $P{resDir}) + "/img/prenotice-1.jpg"]]></expression>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
@ -164,41 +185,59 @@
<element kind="textField" uuid="4831cc2a-fe57-498f-827b-1a6ae80428aa" x="370" y="205" width="200" height="20" fontName="굴림체" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{RTPYR_ZIP}]]></expression>
</element>
<element kind="textField" uuid="1787cc60-3dba-4874-8a9f-de379d064675" x="370" y="181" width="200" height="20" fontName="굴림체" blankWhenNull="true" hTextAlign="Right">
<element kind="textField" uuid="1787cc60-3dba-4874-8a9f-de379d064675" x="370" y="180" width="200" height="20" fontName="굴림체" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{RTPYR_DTL_ADDR}]]></expression>
</element>
<element kind="textField" uuid="788f009a-71c4-4cfb-a632-f87b078be261" x="370" y="194" width="200" height="20" fontName="굴림체" blankWhenNull="true" hTextAlign="Right">
<element kind="textField" uuid="788f009a-71c4-4cfb-a632-f87b078be261" x="370" y="193" width="200" height="20" fontName="굴림체" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{RTPYR_NM} + " 귀하"]]></expression>
</element>
<element kind="textField" uuid="1c5fd9d6-faed-43d8-93a6-bb696992afd3" x="370" y="166" width="200" height="20" fontName="굴림체" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{RTPYR_ADDR}]]></expression>
</element>
<element kind="textField" uuid="5ff866b5-c4a1-4ec7-9d2d-8b4bd25bb5af" x="209" y="350" width="105" height="20" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<element kind="textField" uuid="5ff866b5-c4a1-4ec7-9d2d-8b4bd25bb5af" x="211" y="360" width="105" height="10" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{CRDN_PLC}]]></expression>
</element>
<element kind="textField" uuid="e98d269b-20e7-4de2-9589-6eb11b67136c" x="210" y="376" width="103" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<element kind="textField" uuid="e98d269b-20e7-4de2-9589-6eb11b67136c" x="211" y="376" width="103" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{VLTN_ARTCL}]]></expression>
</element>
<element kind="textField" uuid="55e711a7-ea45-43c4-a2b6-8575fa69f047" x="210" y="331" width="103" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<element kind="textField" uuid="55e711a7-ea45-43c4-a2b6-8575fa69f047" x="211" y="331" width="103" height="12" fontName="굴림체" fontSize="8.0" linkType="None" linkTarget="Self" blankWhenNull="true">
<expression><![CDATA[$F{CRDN_YMD_TM}]]></expression>
</element>
<element kind="textField" uuid="934170fb-63ea-486a-9e42-998b84372036" x="13" y="387" width="67" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<element kind="textField" uuid="934170fb-63ea-486a-9e42-998b84372036" x="14" y="387" width="67" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{ADVNTCE_DUDT_YMD}]]></expression>
</element>
<element kind="textField" uuid="609f6dcc-5535-4788-ad9d-48e1bb7229e5" x="464" y="576" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{bankAccount1}]]></expression>
<expression><![CDATA[$F{SAccountNo}]]></expression>
</element>
<element kind="textField" uuid="b80baf1c-baab-480c-b2a7-a595c2980cd3" x="464" y="593" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{bankAccount2}]]></expression>
<expression><![CDATA[$F{WAccountNo}]]></expression>
</element>
<element kind="textField" uuid="d81a74cd-fe70-4f18-881f-af5f22cc28f3" x="464" y="626" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{bankAccount4}]]></expression>
<expression><![CDATA[$F{KAccountNo}]]></expression>
</element>
<element kind="textField" uuid="ed4e1de9-02ff-4bd5-88c5-9b6afa17c190" x="464" y="609" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{bankAccount3}]]></expression>
<expression><![CDATA[$F{HAccountNo}]]></expression>
</element>
<element kind="textField" uuid="496f0f19-0694-4434-b49f-41edea400277" x="464" y="643" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{bankAccount5}]]></expression>
<expression><![CDATA[$F{IAccountNo}]]></expression>
</element>
<element kind="textField" uuid="496f0f19-0694-4434-b49f-41edea400278" x="464" y="660" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{PAccountNo}]]></expression>
</element>
<element kind="textField" uuid="496f0f19-0694-4434-b49f-41edea400279" x="464" y="677" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{CAccountNo}]]></expression>
</element>
<element kind="textField" uuid="496f0f19-0694-4434-b49f-41edea400280" x="464" y="691" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{NAccountNo}]]></expression>
</element>
<element kind="textField" uuid="496f0f19-0694-4434-b49f-41edea400281" x="464" y="708" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{FAccountNo}]]></expression>
</element>
<element kind="textField" uuid="496f0f19-0694-4434-b49f-41edea400282" x="464" y="725" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{OAccountNo}]]></expression>
</element>
<element kind="textField" uuid="496f0f19-0694-4434-b49f-41edea400283" x="464" y="740" width="123" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{QAccountNo}]]></expression>
</element>
<element kind="textField" uuid="06f5e0b9-fdc1-4e4d-b129-530b022d753a" x="40" y="331" width="107" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true" hTextAlign="Left">
<expression><![CDATA[$F{EPAYNO}]]></expression>
@ -230,7 +269,7 @@
<element kind="textField" uuid="1da0c3f7-a620-482f-ab3e-368ac187f82e" x="12" y="490" width="29" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{issueYear}]]></expression>
</element>
<element kind="textField" uuid="63e6c181-a163-417b-8ece-90a00ed87ed2" x="209" y="510" width="103" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true" hTextAlign="Left">
<element kind="textField" uuid="63e6c181-a163-417b-8ece-90a00ed87ed2" x="211" y="510" width="103" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true" hTextAlign="Left">
<expression><![CDATA[$F{managerEmail}]]></expression>
</element>
<element kind="textField" uuid="4c0146d2-f56a-4653-a799-f4a7562ec94a" x="65" y="745" width="37" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true" hTextAlign="Right">
@ -242,12 +281,12 @@
<element kind="textField" uuid="e0936131-ef7f-4b25-98b2-a2dba6e689fa" x="123" y="745" width="16" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{issueDay}]]></expression>
</element>
<element kind="image" uuid="6c70f430-84b2-44fa-81d9-96241bc9d3d1" x="322" y="331" width="128" height="108" scaleImage="FillFrame" linkType="None" linkTarget="Self" lazy="true">
<element kind="image" uuid="6c70f430-84b2-44fa-81d9-96241bc9d3d1" x="322" y="331" width="164" height="107" scaleImage="FillFrame" linkType="None" linkTarget="Self" lazy="true">
<printWhenExpression><![CDATA[null != $F{VLTN_IMG0}]]></printWhenExpression>
<expression><![CDATA[$F{VLTN_IMG0}]]></expression>
</element>
<element kind="textField" uuid="f2db2edf-e175-4a33-b737-4c0197316a6e" x="81" y="387" width="67" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{LEVY_NO}]]></expression>
<element kind="textField" uuid="f2db2edf-e175-4a33-b737-4c0197316a6e" x="82" y="387" width="67" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{NXRP_LEVY_KEY}]]></expression>
</element>
<element kind="textField" uuid="dfc3b4f9-c41f-4e11-8a4f-a96d78b9538e" x="41" y="302" width="102" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{RTPYR_NM} + "(" + $F{VHRNO} + ")"]]></expression>
@ -261,11 +300,11 @@
<element kind="textField" uuid="5627d8f7-9e01-49a3-8e94-79b0bd338333" x="15" y="365" width="67" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{DEPT_CD}]]></expression>
</element>
<element kind="textField" uuid="d3af4441-0585-451b-97d7-7a6aa0a88b3b" x="486" y="491" width="100" height="12" fontName="굴림체" fontSize="8.0" pattern="#,##0" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{ADVNTCE_AMT} + "원"]]></expression>
<element kind="textField" uuid="d3af4441-0585-451b-97d7-7a6aa0a88b3b" x="486" y="491" width="98" height="12" fontName="굴림체" fontSize="8.0" pattern="#,##0" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{ADVNTCE_AMT}]]></expression>
</element>
<element kind="textField" uuid="bad65a27-967b-4c0b-9d4b-dca4e8a8fc52" x="486" y="508" width="100" height="12" fontName="굴림체" fontSize="8.0" pattern="#,##0" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{ADVNTCE_AMT} + "원"]]></expression>
<element kind="textField" uuid="bad65a27-967b-4c0b-9d4b-dca4e8a8fc52" x="486" y="508" width="98" height="12" fontName="굴림체" fontSize="8.0" pattern="#,##0" blankWhenNull="true" hTextAlign="Right">
<expression><![CDATA[$F{ADVNTCE_AMT}]]></expression>
</element>
<element kind="textField" uuid="4b6cc45f-4cc6-47bc-be13-766a10d6f6b8" x="364" y="491" width="76" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true" hTextAlign="Center">
<expression><![CDATA[$F{ADVNTCE_DUDT_YMD}]]></expression>
@ -291,15 +330,23 @@
<element kind="textField" uuid="7c577e8e-6d9d-4aa9-bb86-35d94a1214fd" x="81" y="631" width="67" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{TXITM_CD}]]></expression>
</element>
<element kind="textField" uuid="51a341ca-668b-46cc-bdad-024aa3a136cf" x="278" y="69" width="102" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<element kind="textField" uuid="51a341ca-668b-46cc-bdad-024aa3a136cf" x="280" y="68" width="102" height="12" fontName="굴림체" blankWhenNull="true">
<expression><![CDATA[$F{managerName}]]></expression>
</element>
<element kind="textField" uuid="637ca3e9-511c-4d55-a0bc-f294ef84252a" x="278" y="79" width="102" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{managerPhoneNo}]]></expression>
</element>
<element kind="image" uuid="6691c582-b0ea-4b92-b191-ca777893bf97" x="459" y="331" width="128" height="108" scaleImage="FillFrame" linkType="None" linkTarget="Self" lazy="true">
<element kind="image" uuid="6691c582-b0ea-4b92-b191-ca777893bf97" x="490" y="367" width="95" height="26" scaleImage="FillFrame" linkType="None" linkTarget="Self" lazy="true">
<printWhenExpression><![CDATA[null != $F{VLTN_IMG0}]]></printWhenExpression>
<expression><![CDATA[$F{VLTN_IMG1}]]></expression>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</element>
<element kind="textField" uuid="c9b37d63-f5bb-4036-920d-a18872e34ab5" x="211" y="350" width="105" height="10" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{CRDN_STDG_NM}]]></expression>
</element>
<element kind="staticText" uuid="146060e7-a897-45c7-a644-6fcee55d72bb" x="281" y="80" width="98" height="13" fontName="굴림체">
<text><![CDATA[02-2148-1853]]></text>
</element>
<element kind="textField" uuid="495c140d-3890-45ba-b33a-4f0f3dc637af" x="83" y="652" width="60" height="12" fontName="굴림체" fontSize="8.0" blankWhenNull="true">
<expression><![CDATA[$F{NXRP_LEVY_KEY}]]></expression>
</element>
</element>
</band>

@ -71,19 +71,40 @@ function newSndb01020Control(pageName, doctx="[data-doctx='sndb01020']") {
// 저장 callback
ctrl.onSave = (params, resp) => {
let modalId = $(document.querySelector(doctx)).parents(".modal")[0].id;
let dialogTitle = $("#" + modalId).find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
let modalId = $(document.querySelector(doctx)).parents(".modal")[0].id,
title = $("#" + modalId).find("h5.modal-title").html(),
msg = resp.rtnMsg.replace(/[S]|[F]/g, title);
// 메시지 출력
if (!resp.saved)
return dialog.alert({
content: msg
, onOK: () => { }
});
let sndng = resp.sndng,
resend = "Y" == sndng.rsndYn;
if (!resend)
return dialog.alert({
content: msg
, onClose: () => dialog.close(modalId)
});
woopyonMoa.preview("warning", sndng.sndngId);
woopyonMoa.downloadRequest({
sggCd: MY_INFO.info.sggCd,
taskSeCd: currentTask(),
sndngId: sndng.sndngId
});
/*
dialog.alert({
content: showMessage
content: msg
, init: () => { AppSupport.setDialogZindex(); }
, onOK: resp.saved ? undefined : () => { }
, onClose: () => {
if (resp.saved) { dialog.close(modalId); }
}
});
*/
}
// 저장
@ -93,9 +114,9 @@ function newSndb01020Control(pageName, doctx="[data-doctx='sndb01020']") {
ajax.post({
url: ctrl.urls.create
, data: params || {}
, success: (resp) => { ctrl.onSave(params, resp); }
, success: resp => ctrl.onSave(params, resp)
});
}
return ctrl;
}
}

@ -71,19 +71,30 @@ function newSndb01060Control(pageName, doctx="[data-doctx='sndb01060']") {
// 저장 callback
ctrl.onSave = (params, resp) => {
let modalId = $(document.querySelector(doctx)).parents(".modal")[0].id;
let dialogTitle = $("#" + modalId).find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
// 메시지 출력
dialog.alert({
content: showMessage
, init: () => { AppSupport.setDialogZindex(); }
, onOK: resp.saved ? undefined : () => { }
, onClose: () => {
if (resp.saved) { dialog.close(modalId); }
}
});
let modalId = $(document.querySelector(doctx)).parents(".modal")[0].id,
title = $("#" + modalId).find("h5.modal-title").html(),
msg = resp.rtnMsg.replace(/[S]|[F]/g, title);
if (!resp.saved)
return dialog.alert({
content: msg
, onOK: () => { }
});
let sndng = resp.sndng,
resend = "Y" == sndng.rsndYn;
if (!resend)
return dialog.alert({
content: msg
, onClose: () => dialog.close(modalId)
});
woopyonMoa.preview("prenotice", sndng.sndngId);
woopyonMoa.downloadRequest({
sggCd: MY_INFO.info.sggCd,
taskSeCd: currentTask(),
sndngId: sndng.sndngId
});
}
// 저장
@ -93,9 +104,9 @@ function newSndb01060Control(pageName, doctx="[data-doctx='sndb01060']") {
ajax.post({
url: ctrl.urls.create
, data: params || {}
, success: (resp) => { ctrl.onSave(params, resp); }
, success: (resp) => ctrl.onSave(params, resp)
});
}
return ctrl;
}
}

@ -64,7 +64,7 @@ function newSndb01220Control(pageName, doctx="[data-doctx='sndb01220']") {
let noMore = (dataList.length >= obj["Paging"]?.totalSize); // 전체 건수
let initScroll = (ctrl.query.pageNum < 2);
if (option != null && option.reloaded) {
if (option != null && option.reloaded) {7
initScroll = false;
}
@ -79,6 +79,8 @@ function newSndb01220Control(pageName, doctx="[data-doctx='sndb01220']") {
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
let selected = ctrl.find('[name="schSndngSeCd"]').selectedIndex;
$(ctrl.find("[name='btnCreateSndngLink']")).prop("disabled", empty || ![1, 2, 3].includes(selected));
};
// 현재 선택 자료 변경 이벤트

@ -1,4 +1,45 @@
var woopyonMoa = {
urls: {
warning: "warning.do",
prenotice: "prenotice.do",
notice: "notice.do"
},
preview: (type, sndngId) => {
let url = woopyonMoa.urls[type];
if (!url)
throw "Url not found for " + type;
url = wctx.url("/preview/" + url);
let params = {
sggCd: MY_INFO.info.sggCd,
taskSeCd: currentTask(),
sndngId: sndngId
};
let filenameInHeader = "";
fetch(url + "?" + toQuery(params))
.then((resp) => {
let header = resp.headers.get('Content-Disposition');
if(!header){
resp.json().then((json)=>{
dialog.alert({
content: "파일생성 중 오류가 발생하였습니다."
+"<br/>"
+json.description,
init: () => { AppSupport.setDialogZindex(); }
});
});
throw new Error("");
}
let parts = header.split(';');
filenameInHeader = decodeURIComponent(parts[1].split('=')[1]);
return resp.blob();
})
.then((blob) => {
AppSupport.openPDF(blob, filenameInHeader);
})
},
downloadRequest: (params) => {
params.template = "woopyonmoa-upload.xls";
download.post({
@ -6,6 +47,7 @@ var woopyonMoa = {
data: params
});
},
updateStatus: (file) => upload({
url: wctx.url("/woopyonmoa/update.do"),
data: {upload: file},

Loading…
Cancel
Save