공시송달 등록 수정.

main
jjh 10 months ago
parent d123051c01
commit cca1ed452f

@ -59,6 +59,7 @@ public class SndbQuery extends CmmnQuery {
private String rcpnRelNm2;
private String rcpnRelNm3;
private String rcpnRelNm4;
private String tnocs; // 총건수
// ETC
private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회).
private String delRsn; // 삭제 사유
@ -414,6 +415,15 @@ public class SndbQuery extends CmmnQuery {
this.rcpnRelNm4 = rcpnRelNm4;
return self();
}
public String getTnocs() {
return ifEmpty(tnocs, () -> null);
}
public <T extends SndbQuery> T setTnocs(String tnocs) {
this.tnocs = tnocs;
return self();
}
// 동적 검색 조건 ///////////////////////////////////////////////////////////////
// ETC /////////////////////////////////////////////////////////////////////

@ -85,6 +85,8 @@ public class SvbtcBean extends AbstractComponent {
svbtcInfo.set("SGG_CD", req.getSggCd()); // 시군구 코드
svbtcInfo.set("TASK_SE_CD", req.getTaskSeCd()); // 업무 구분 코드
svbtcInfo.set("SNDNG_SE_CD", req.getSndngSeCd()); // 발송 구분 코드
svbtcInfo.set("TNOCS", req.getTnocs()); // 총건수
} else {
svbtcInfo = svbtcMapper.selectSvbtcInfo(req);
}

@ -1459,9 +1459,16 @@ public class Sndb01Controller extends ApplicationController {
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sndb/sndb01260-info");
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM047", "FIM054");
addCodes(commonCodes, mav, "FIM047", "FIM054");
return mav
.addObject("pageName", "sndb01260")
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("sndbkQuery", json ? req : toJson(req)) // Query
.addObject("svbtcInfo", json ? svbtcInfo : toJson(svbtcInfo)) // 공시송달 정보
;
}
@ -1474,7 +1481,7 @@ public class Sndb01Controller extends ApplicationController {
* "saved": true, false
* }</code></pre>
*/
public ModelAndView createServiceByPublicNotice(Svbtc svbtc) {
public ModelAndView createServiceByPublicNotice(SndbQuery req, Svbtc svbtc) {
boolean saved = false;
String rtnMsg = sndngDtlService.createSvbtc(svbtc);

@ -687,8 +687,8 @@ public class DpvController {
@Override
@RequestMapping(name="공시송달 등록", value=METHOD_URL.createServiceByPublicNotice)
public ModelAndView createServiceByPublicNotice(Svbtc svbtc) {
return super.createServiceByPublicNotice(svbtc);
public ModelAndView createServiceByPublicNotice(SndbQuery req, Svbtc svbtc) {
return super.createServiceByPublicNotice(req, svbtc);
}
@Override

@ -151,6 +151,7 @@
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
// main 의 검색 조건을 그대로 유지
var ${pageName}Query = ${query};
/**************************************************************************
* DatasetControl
**************************************************************************/

@ -159,7 +159,7 @@
<button type="button" class="btn btn-primary w-px-120" id="btnSndngLink--${pageName}" title="통합우편 발송" onclick="fnSndngLink${pageName}();">
통합우편 발송
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnSvbtcInfo--${pageName}" title="공시송달 등록" onclick="fnSvbtcInfo${pageName}();">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateSvbtc--${pageName}" title="공시송달 등록" onclick="fnCreateSvbtc${pageName}();">
공시송달 등록
</button>
</span>
@ -182,7 +182,6 @@
<template id="${infoPrefix}Col--${pageName}">
<th class="cmn" style="width: 72px;">NO.</th>
<th class="cmn" style="width: 56px;"><input type="checkbox" class="form-check-input" onchange="${pageName}Control.select(this.checked);"></th>
<th class="cmn" style="width: 160px;">업무구분</th>
<th class="cmn" style="width: 140px;">고지번호</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RG_NO', this.innerText, 'match', 'part');">등기번호</th>
@ -215,7 +214,6 @@
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{SNDNG_DTL_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center"><input type="checkbox" class="form-check-input" value="{SNDNG_DTL_ID}" onchange="${pageName}Control.select('{SNDNG_DTL_ID}', this.checked);"></td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TASK_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{GOJI_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RG_NO}</td>
@ -347,44 +345,6 @@
$("#tbody--${pageName}").setCurrentRow(key);
};
// 선택(체크) 변경 이벤트
${pageName}Control.onSelectionChange = selected => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let keys = selected.map(e => ${infoPrefix}List.getKey(e));
$("#tbody--${pageName} input[type='checkbox']").each(function() {
let checkbox = $(this);
checkbox.prop("checked", keys.includes(checkbox.val()));
});
$("#btnSvbtcInfo--${pageName}").prop("disabled", keys.length < 1);
};
// 등록 callback
${pageName}Control.onCreate = (resp) => {
let btnTitle = $("#btnSvbtcInfo--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); // 메시지 출력
if (resp.saved) {
refreshList${pageName}(); // 자료 재조회
}
}
// 등록
${pageName}Control.create = (params) => {
if (!params) return;
ajax.post({
url : ${pageName}Control.urls.create
, data : params
, success : resp => ${pageName}Control.onCreate(resp)
});
}
/**************************************************************************
* DataTables 이벤트
**************************************************************************/
@ -492,26 +452,33 @@
});
}
// 공시송달 등록 callback
callbackSvbtcInfo${pageName} = (obj) => {
let taskSeCd = $("input[name='taskSeCd']:checked").val(); // 업무 구분 코드
let selected = ${pageName}Control.dataset.getKeys("selected"); // 선택 자료
// 공시송달 등록
getSvbtcInfo${pageName} = (params) => {
if (!params) return;
if (selected.length < 1) return;
let dialogTitle = "";
let params = {
sndngDtlIDs : selected.join(",") // 발송 상세 IDs
, sggCd : $("#sggCd--${pageName}").val() // 시군구 코드
, taskSeCd : taskSeCd // 업무 구분 코드
, sndngSeCd : ${pageName}Control.dataset.getValue("SNDNG_SE_CD") // 발송 구분 코드
, svbtcYmd : obj.calYmd // 공시송달 일자
, ttlNm : obj.ttlNm // 제목 명
, docNo : obj.docNo // 문서 번호
, etcCn : obj.etcCn // 기타 내용
, tnocs : obj.tnocs // 총건수
if (params.callPurpose == "create") {
dialogTitle = ${pageName}Control.prefixName + " 등록";
} else if (params.callPurpose == "update") {
dialogTitle = ${pageName}Control.prefixName + " 수정";
} else {
dialogTitle = ${pageName}Control.prefixName + " 정보";
}
${pageName}Control.create(params);
ajax.get({
url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/260/info.do") // 등록
, data : params || {}
, success : resp => {
dialog.open({
id : ${pageName}Control.prefixed("svbtcDialog")
, title : dialogTitle
, content : resp
, size : "md"
, onClose : () => { refreshList${pageName}(); } // 자료 재조회
});
}
});
}
// 검색 자료 재조회
@ -592,38 +559,17 @@
}
// 공시송달 등록 버튼 이벤트
fnSvbtcInfo${pageName} = () => {
let callbackFuncName = "callbackSvbtcInfo${pageName}";
let selected = ${pageName}Control.dataset.getKeys("selected");
let taskSeCd = $("input:radio[name='taskSeCd']:checked").val();
let sndng = $("#schSndngSeCd--${pageName} option:selected").text();
let ttlNm = "";
if (sndng == "전체") {
ttlNm = FIM054[taskSeCd].value + " " + "공시송달";
} else {
ttlNm = FIM054[taskSeCd].value + " " + sndng.replace("(개별)", "") + " " + "공시송달";
}
fnCreateSvbtc${pageName} = () => {
//
let params = ${pageName}Control.query;
params.callPurpose = "create";
params.sggCd = ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
params.taskSeCd = ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
params.sndngSeCd = ${pageName}Control.dataset.getValue("SNDNG_SE_CD") // 발송 구분 코드
params.tnocs = ${pageName}Control.dataset.getValue("TOT_CNT") // 총건수
let popupWidth = 640;
let popupHeight = 360;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY= (window.screen.height / 2) - (popupHeight / 2);
window.open(
wctx.url("/resources/html/inputTtlDocNoDialog.html"
+ "?callbackFuncName=" + callbackFuncName
+ "&CALL_PURPOSE=" + "create"
+ "&TNOCS=" + selected.length
+ "&CAL_YMD=" + DateUtil.getDateDay().date
+ "&TTL_NM=" + ttlNm
+ "&DOC_NO=" + ""
+ "&ETC_CN=" + ""
)
, "inputSvbtcDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
);
getSvbtcInfo${pageName}(params);
}
/**************************************************************************
@ -759,7 +705,6 @@
// URL 설정
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/230/list.do"); // 조회
${pageName}Control.urls.create = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/240/create.do"); // 등록
}
/**************************************************************************

@ -145,10 +145,10 @@
<button type="button" class="btn btn-primary w-px-120" id="btnHwpPrint--${pageName}" title="한글파일 출력" onclick="fnHwpPrint${pageName}();">
한글파일 출력
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdate--${pageName}" title="공시송달 수정" onclick="fnUpdate${pageName}();">
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateSvbtc--${pageName}" title="공시송달 수정" onclick="fnUpdateSvbtc${pageName}();">
공시송달 수정
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="공시송달 삭제" onclick="fnRemove${pageName}();">
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveSvbtc--${pageName}" title="공시송달 삭제" onclick="fnRemoveSvbtc${pageName}();">
공시송달 삭제
</button>
</span>
@ -437,7 +437,7 @@
});
}
// 공시송달 수정 callback
// 공시송달 수정
getSvbtcInfo${pageName} = (params) => {
if (!params) return;
@ -467,7 +467,7 @@
}
// 삭제 callback
callbackRemove${pageName} = (obj) => {
callbackRemoveSvbtc${pageName} = (obj) => {
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
@ -544,7 +544,7 @@
}
// 수정 버튼 이벤트
fnUpdate${pageName} = () => {
fnUpdateSvbtc${pageName} = () => {
let svbtcId = ${pageName}Control.dataset.getValue("SVBTC_ID");
// 공시송달 ID 가 없다면.. return
@ -562,7 +562,7 @@
}
// 삭제 버튼 이벤트
fnRemove${pageName} = () => {
fnRemoveSvbtc${pageName} = () => {
// 선택 자료
let selected = ${pageName}Control.dataset.getKeys("selected");
@ -573,7 +573,7 @@
content : "선택하신 " + ${pageName}Control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : () => {
// 삭제 사유 입력
let callbackFuncName = "callbackRemove${pageName}";
let callbackFuncName = "callbackRemoveSvbtc${pageName}";
let popupWidth = 640;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);

@ -74,6 +74,11 @@
var ${pageName}CallPurpose = "${callPurpose}";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
// main 의 검색 조건을 그대로 유지
var ${pageName}Query = ${sndbkQuery};
// 공통 코드
var FIM047 = new CommonCodes(${FIM047}, true);
var FIM054 = new CommonCodes(${FIM054}, true);
/**************************************************************************
* DatasetControl
@ -91,9 +96,18 @@
// Dataset 셋팅
${pageName}Fields.set(item);
// 호출용도가 등록
// 호출용도가 등록이라면..
if (${pageName}CallPurpose == "create") {
$("#svbtcYmd--${pageName}").datepicker("setDate", new Date());
let taskSeCd = item.data.TASK_SE_CD;
let sndngSeCd = item.data.SNDNG_SE_CD;
if (sndngSeCd == "") {
$("#ttlNm--${pageName}").val(FIM054[taskSeCd].value + " " + "공시송달");
} else {
$("#ttlNm--${pageName}").val(FIM054[taskSeCd].value + " " + FIM047[sndngSeCd].value.replace("(개별)", "") + " " + "공시송달");
}
}
// 업무구분에 따른 url 변경
@ -119,11 +133,12 @@
${pageName}Control.save = (info) => {
if (!info) return;
let create = isEmpty(info.svbtcId);
let create = (${pageName}CallPurpose == "create");
let params = $.extend({}, ${pageName}Query, info); // 객체를 합친다.
ajax.post({
url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create
, data : info
, data : params
, success : resp => ${pageName}Control.onSave(resp)
});
}

Loading…
Cancel
Save