main
jjh 11 months ago
parent 45ed96b739
commit c2eeec7b6d

@ -41,6 +41,7 @@ public class EpostQuery extends CmmnQuery {
private String schSendDateTo; // 전자우편 접수 등록 대장(TB_EPOST_RCPT_REG)_전송 일자 종료
private String schRceptYmdFrom; // 전자우편 접수 등록 대장(TB_EPOST_RCPT_REG)_접수 일자 시작
private String schRceptYmdTo; // 전자우편 접수 등록 대장(TB_EPOST_RCPT_REG)_접수 일자 종료
private String schSndngSeCd; // 발송 구분 코드
// 상세 검색 조건
private String schDetailRegDtOpt; // 상세 검색 등록 일자 구분
private String schDetailRegDtFrom; // 상세 검색 등록 일자 시작
@ -56,6 +57,8 @@ public class EpostQuery extends CmmnQuery {
private String relorsectCd; // 전자우편 접수 등록 대장(TB_EPOST_RCPT_REG)_연계기관결제부서코드
private String postPrcsSttsCdFrom; // 전자우편 접수 등록 대장(TB_EPOST_RCPT_REG)_우편 처리 상태 코드 시작
private String postPrcsSttsCdTo; // 전자우편 접수 등록 대장(TB_EPOST_RCPT_REG)_우편 처리 상태 코드 종료
private String ttlNm; // 전자우편 안내문(TB_EPOST_GDCC)_제목 명
// ETC
private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회).
private String useYN; // 사용 여부
@ -274,6 +277,15 @@ public class EpostQuery extends CmmnQuery {
return self();
}
public String getSchSndngSeCd() {
return ifEmpty(schSndngSeCd, () -> null);
}
public <T extends EpostQuery> T setSchSndngSeCd(String schSndngSeCd) {
this.schSndngSeCd = schSndngSeCd;
return self();
}
// 상세 검색 조건 ///////////////////////////////////////////////////////////////
public String getSchDetailRegDtOpt() {
return ifEmpty(schDetailRegDtOpt, () -> null);
@ -393,6 +405,15 @@ public class EpostQuery extends CmmnQuery {
this.postPrcsSttsCdTo = postPrcsSttsCdTo;
return self();
}
public String getTtlNm() {
return ifEmpty(ttlNm, () -> null);
}
public <T extends EpostQuery> T setTtlNm(String ttlNm) {
this.ttlNm = ttlNm;
return self();
}
// 동적 검색 조건 ///////////////////////////////////////////////////////////////
// ETC /////////////////////////////////////////////////////////////////////

@ -55,12 +55,13 @@ public class Epst02Controller extends ApplicationController {
ManagedUser managedUser = (ManagedUser)currentUser().getUser();
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM047", "FIM054");
return mav
.addObject("pageName", "epst02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "epostGdcc") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
;
}

@ -50,8 +50,8 @@
<if test="taskSeCd != null">
AND EG.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
</if>
<if test="sndngSeCd != null">
AND EG.SNDNG_SE_CD = #{sndngSeCd} /* 발송 구분 코드 */
<if test="schSndngSeCd != null">
AND EG.SNDNG_SE_CD = #{schSndngSeCd} /* 발송 구분 코드 */
</if>
<if test="useYN != null">
AND EG.USE_YN = #{useYN} /* 사용 여부 */
@ -90,6 +90,22 @@
<otherwise>
</otherwise>
</choose>
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
<include refid="dynamicSearch.start" />
<choose>
<when test="by == 'sndngSeCd'"> EG.SNDNG_SE_CD </when>
<when test="by == 'ttlNm'"> EG.TTL_NM </when>
<when test="by == 'wordsCn'"> EG.WORDS_CN </when>
<when test="by == 'lastUseDt'"> EG.LAST_USE_DT </when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
<otherwise>
</otherwise>
</choose>
</if>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>

@ -79,6 +79,11 @@
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-300" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
@ -356,24 +361,18 @@
$("#btnRemove--${pageName}").prop("disabled", keys.length < 1);
};
// 전자우편 안내문 dialog
${pageName}Control.getInfo = (callPurpose, gdccId) => {
//
if (typeof callPurpose == "undefined" || callPurpose == null || callPurpose == "") {
callPurpose = "view";
}
// 수정 dialog
${pageName}Control.getInfo = (params) => {
if (!params) return;
let params = {
callPurpose : callPurpose
, sggCd : $("#sggCd--${pageName}").val() // 시군구 코드
, taskSeCd : $("input[name=taskSeCd]:checked").val() // 업무 구분 코드
};
let dialogTitle = "";
if (callPurpose == "view" || callPurpose == "update") {
// ID가 없다면.. 종료
if (typeof gdccId == "undefined" || gdccId == null || gdccId == "") return;
params.gdccId = gdccId; // 안내문 ID
if (params.callPurpose == "create") {
dialogTitle = ${pageName}Control.prefixName + " 등록";
} else if (params.callPurpose == "update") {
dialogTitle = ${pageName}Control.prefixName + " 수정";
} else {
dialogTitle = ${pageName}Control.prefixName + " 정보";
}
ajax.get({
@ -381,12 +380,11 @@
, data : params || {}
, success : resp => {
dialog.open({
id : "epostGdccDialog"
, title : "전자우편 안내문 정보"
id : ${pageName}Control.prefixed("Dialog")
, title :dialogTitle
, content : resp
, size : ${pageName}Control.infoSize
, init : () => { }
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
, onClose : () => { refreshList${pageName}(); } // 자료 재조회
});
}
});
@ -401,10 +399,7 @@
// 자료 재조회
if (resp.saved) {
${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum;
${pageName}Control.load(1);
refreshList${pageName}(); // 자료 재조회
}
}
@ -471,7 +466,13 @@
/**************************************************************************
* 사용자 함수
**************************************************************************/
// 검색 자료 재조회
refreshList${pageName} = () => {
${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum;
${pageName}Control.load(1);
}
/**************************************************************************
* 버튼 clickEvent
@ -544,6 +545,16 @@
}
// 발송 취소 버튼 이벤트
fnUpdate${pageName} = () => {
}
// 발송 삭제 버튼 이벤트
fnRemove${pageName} = () => {
}
// 탭0
fnTabEpostRcpt0${pageName} = () => {
$("#tabEpostRcpt0").html($("#datatable--${pageName}"));
@ -607,37 +618,17 @@
fnSearchList${pageName}("tab8");
}
// 전자우편 안내문 등록 버튼 이벤트
fnCreate${pageName} = () => {
${pageName}Control.getInfo("create");
}
// 발송 취소 버튼 이벤트
fnUpdate${pageName} = () => {
}
// 발송 삭제 버튼 이벤트
fnRemove${pageName} = () => {
dialog.alert({
content : "선택한 발송 정보를 삭제하시겠습니까?"
, onOK : () => {
${pageName}Control.remove();
}
});
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트
setEvent${pageName} = () => {
// 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
// $("#term--${pageName}").keypress(function(e) {
// if (e.keyCode == 13) {
// fnSearchList${pageName}();   
// }
// });
$("#term--${pageName}").keypress(function(e) {
if (e.keyCode == 13) {
fnSearchList${pageName}();   
}
});
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmSearch--${pageName}").find(".form-date").each(function() {

@ -48,11 +48,23 @@
</c:forEach>
</span>
</div>
<!-- -->
<!-- 발송 구분 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">발송구분</label>
<select class="form-select w-px-150" id="schSndngSeCd--${pageName}" name="schSndngSeCd">
<option value="">전체</option>
<c:forEach items="${FIM047List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-300" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
@ -140,7 +152,7 @@
<th class="cmn" style="width: 120px;">발송구분</th>
<th class="cmn" style="width: 100px;">사용여부</th>
<th class="cmn" style="width: 180px;">최종사용일시</th>
<th class="cmn" style="width: 300px;">제목</th>
<th class="cmn" style="width: 300px;" onclick="searchFromGridTitle('TTL_NM', this.innerText, 'match', 'part');">제목</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 180px;">수정일시</th>
@ -278,7 +290,7 @@
, data : params || {}
, success : resp => {
dialog.open({
id : "epostGdccDialog"
id : ${pageName}Control.prefixed("Dialog")
, title : dialogTitle
, content : resp
, size : ${pageName}Control.infoSize
@ -371,7 +383,6 @@
${pageName}Control.load(1);
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
@ -417,9 +428,8 @@
fnCreate${pageName} = () => {
let params = {
callPurpose : "create"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sggCd : $("#sggCd--${pageName}").val() // 시군구 코드
, taskSeCd : $("input[name=taskSeCd]:checked").val() // 업무 구분 코드
};
${pageName}Control.getInfo(params);
@ -458,11 +468,11 @@
// 이벤트
setEvent${pageName} = () => {
// 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
// $("#term--${pageName}").keypress(function(e) {
// if (e.keyCode == 13) {
// fnSearchList${pageName}();   
// }    
// });
$("#term--${pageName}").keypress(function(e) {
if (e.keyCode == 13) {
fnSearchList${pageName}();   
}    
});
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmSearch--${pageName}").find(".form-date").each(function() {

@ -547,7 +547,7 @@
let levyExclId = ${pageName}Control.dataset.getValue("LEVY_EXCL_ID");
let levyExclSeCd = ${pageName}Control.dataset.getValue("LEVY_EXCL_SE_CD");
// 부과제외ID 가 없다면.. return
// 부과제외 ID 가 없다면.. return
if (typeof levyExclId == "undefined" || levyExclId == null || levyExclId == "") return;
let params = {

@ -74,7 +74,7 @@
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 의견제출상태 -->
<!-- 의견 제출 상태 코드 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">의견제출상태</label>
<select class="form-select w-px-150" id="schOpnnSbmsnSttsCd--${pageName}" name="schOpnnSbmsnSttsCd">
@ -84,7 +84,7 @@
</c:forEach>
</select>
</div>
<!-- 단속일자 -->
<!-- 단속 일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">단속일자</label>
<span class="form-search-linebox">

@ -370,8 +370,6 @@
checkbox.prop("checked", keys.includes(checkbox.val()));
});
$("#btnLevyExclRemove--${pageName}").prop("disabled", keys.length < 1);
};
/**************************************************************************

@ -37,12 +37,12 @@
<!-- 회계 구분 코드 -->
<div class="col-md-4">
<label for="acntgSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">회계구분</label>
<input type="text" class="form-control w-15" id="acntgSeCd--${pageName}" name="acntgSeCd" data-map="ACNTG_SE_CD" readonly />
<input type="text" class="form-control w-15" id="acntgSeCd--${pageName}" name="acntgSeCd" data-map="ACNTG_SE_CD" />
</div>
<!-- 세목 코드 -->
<div class="col-md-4">
<label for="txitmCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">세목</label>
<input type="text" class="form-control w-30" id="txitmCd--${pageName}" name="txitmCd" data-map="TXITM_CD" readonly />
<input type="text" class="form-control w-30" id="txitmCd--${pageName}" name="txitmCd" data-map="TXITM_CD" />
</div>
<!-- -->
<div class="col-md-4">
@ -50,32 +50,32 @@
<!-- 회계연도 -->
<div class="col-md-4">
<label for="fyr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">회계연도</label>
<input type="text" class="form-control w-20" id="fyr--${pageName}" name="fyr" data-map="FYR" readonly />
<input type="text" class="form-control w-20" id="fyr--${pageName}" name="fyr" data-map="FYR" />
</div>
<!-- 부과 번호 -->
<div class="col-md-4">
<label for="levyNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">부과번호</label>
<input type="text" class="form-control w-30" id="levyNo--${pageName}" name="levyNo" data-map="LEVY_NO" readonly />
<input type="text" class="form-control w-30" id="levyNo--${pageName}" name="levyNo" data-map="LEVY_NO" />
</div>
<!-- 분납 순번 -->
<div class="col-md-4">
<label for="levyNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">분납순번</label>
<input type="text" class="form-control w-15" id="inspySn--${pageName}" name="inspySn" data-map="INSPY_SN" readonly />
<input type="text" class="form-control w-15" id="inspySn--${pageName}" name="inspySn" data-map="INSPY_SN" />
</div>
<!-- 부과 본세 -->
<div class="col-md-4">
<label for="levyPcptax--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">부과본세</label>
<input type="text" class="form-control w-30 text-end" id="levyPcptax--${pageName}" name="levyPcptax" data-map="LEVY_PCPTAX" readonly />
<input type="text" class="form-control w-30 text-end" id="levyPcptax--${pageName}" name="levyPcptax" data-map="LEVY_PCPTAX" />
</div>
<!-- 부과 가산금 -->
<div class="col-md-4">
<label for="levyAdamt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">부과가산금</label>
<input type="text" class="form-control w-30 text-end" id="levyAdamt--${pageName}" name="levyAdamt" data-map="LEVY_ADAMT" readonly />
<input type="text" class="form-control w-30 text-end" id="levyAdamt--${pageName}" name="levyAdamt" data-map="LEVY_ADAMT" />
</div>
<!-- 분납 이자 -->
<div class="col-md-4">
<label for="inspyInt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">분납이자</label>
<input type="text" class="form-control w-30 text-end" id="inspyInt--${pageName}" name="inspyInt" data-map="INSPY_INT" readonly />
<input type="text" class="form-control w-30 text-end" id="inspyInt--${pageName}" name="inspyInt" data-map="INSPY_INT" />
</div>
<p></p>
@ -218,10 +218,10 @@
${pageName}Control.save = (info) => {
if (!info) return;
let create = (${pageName}CallPurpose == "create");
info.rcvmtInptSeCd = "03"; // 수납 입력 구분 코드(FIM044) : 03 수기
let create = (${pageName}CallPurpose == "create");
ajax.post({
url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create
, data : info
@ -298,6 +298,14 @@
$("#crdnYmdTm--${pageName}").prop("readonly", true); // 단속 일시
$("#vhrno--${pageName}").prop("readonly", true); // 차량번호
$("#crdnSttsNm--${pageName}").prop("readonly", true); // 단속 상태
$("#acntgSeCd--${pageName}").prop("readonly", true); // 회계 구분 코드
$("#txitmCd--${pageName}").prop("readonly", true); // 세목 코드
$("#fyr--${pageName}").prop("readonly", true); // 회계연도
$("#levyNo--${pageName}").prop("readonly", true); // 부과 번호
$("#inspySn--${pageName}").prop("readonly", true); // 분납 순번
$("#levyPcptax--${pageName}").prop("readonly", true); // 부과 본세
$("#levyAdamt--${pageName}").prop("readonly", true); // 부과 가산금
$("#inspyInt--${pageName}").prop("readonly", true); // 단속 상태
if (${pageName}CallPurpose == "view") {
// input 요소들을 disabled

Loading…
Cancel
Save