부과제외 등록 수정.

main
jjh 1 year ago
parent 8031c39051
commit b52e82cf82

@ -39,7 +39,9 @@ public class Excl01Query extends QueryRequest {
private String schRtpyrNm; // 납부자 명 - 납부자(TB_PAYER)
//
private String levyExclId;
private String levyExclId; // 부과 제외 ID
private String crdnId; // 단속 ID
private String levyExclSeCd; // 부과 제외 구분 코드
public String getSggCd() {
return ifEmpty(sggCd, () -> null);
@ -221,7 +223,6 @@ public class Excl01Query extends QueryRequest {
return self();
}
public String getLevyExclId() {
return ifEmpty(levyExclId, () -> null);
}
@ -232,4 +233,24 @@ public class Excl01Query extends QueryRequest {
return self();
}
public String getCrdnId() {
return ifEmpty(crdnId, () -> null);
}
public <T extends Excl01Query> T setCrdnId(String crdnId) {
this.crdnId = crdnId;
return self();
}
public String getLevyExclSeCd() {
return ifEmpty(levyExclSeCd, () -> null);
}
public <T extends Excl01Query> T setLevyExclSeCd(String levyExclSeCd) {
this.levyExclSeCd = levyExclSeCd;
return self();
}
}

@ -39,10 +39,10 @@ public interface Excl01Mapper extends AbstractMapper {
* @param levyExclId ID
* @return
*/
Excl01 selectLevyExcl(Excl01Query req);
DataObject selectLevyExcl(Excl01Query req);
default Excl01 selectLevyExclInfo(String levyExclId) {
Excl01 levyExclInfo = selectLevyExcl(new Excl01Query().setLevyExclId(levyExclId));
default DataObject selectLevyExclInfo(String levyExclId) {
DataObject levyExclInfo = selectLevyExcl(new Excl01Query().setLevyExclId(levyExclId));
return levyExclInfo;
}

@ -34,7 +34,7 @@ public interface Excl01Service {
* @param levyExclId ID
* @return
*/
Excl01 getLevyExclusionInfo(String levyExclId);
DataObject getLevyExclusionInfo(Excl01Query req);
/** .
* @param excl
@ -64,3 +64,11 @@ public interface Excl01Service {
boolean removeLevyExclusion(Excl01 excl01);
}
///**지정한 ID의 부과제외 정보를 반환한다.<br />
// * @param levyExclId 부과 제외 ID
// * @return 부과제외 정보
// */
//Excl01 getLevyExclusionInfo(String levyExclId);

@ -49,8 +49,8 @@ public class Excl01Bean extends AbstractComponent {
* @param levyExclId ID
* @return
*/
public Excl01 getLevyExclusionInfo(String levyExclId) {
return excl01Mapper.selectLevyExclInfo(levyExclId);
public DataObject getLevyExclusionInfo(Excl01Query req) {
return excl01Mapper.selectLevyExcl(req);
}
/** .
@ -87,3 +87,12 @@ public class Excl01Bean extends AbstractComponent {
}
}
///**지정한 ID의 부과제외 정보를 반환한다.<br />
// * @param levyExclId 부과제외 ID
// * @return 부과제외 정보
// */
//public Excl01 getLevyExclusionInfo(String levyExclId) {
// return excl01Mapper.selectLevyExclInfo(levyExclId);
//}

@ -1,5 +1,7 @@
package cokr.xit.fims.excl.service.bean;
import static org.mockito.ArgumentMatchers.nullable;
import java.util.List;
import javax.annotation.Resource;
@ -40,8 +42,14 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
}
@Override
public Excl01 getLevyExclusionInfo(String levyExclId) {
return excl01Bean.getLevyExclusionInfo(levyExclId);
public DataObject getLevyExclusionInfo(Excl01Query req) {
// 단속 ID 확인
if (req.getCrdnId() == null || "".equals(req.getCrdnId())) {
// 단속 ID가 없다면 오류 발생..
return excl01Bean.getLevyExclusionInfo(req);
} else {
return excl01Bean.getLevyExclusionInfo(req);
}
}
@Override
@ -60,3 +68,10 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
}
}
//@Override
//public Excl01 getLevyExclusionInfo(String levyExclId) {
// return excl01Bean.getLevyExclusionInfo(levyExclId);
//}

@ -44,12 +44,14 @@ public class Excl01Controller extends ApplicationController {
ModelAndView mav = new ModelAndView("fims/excl/excl01010-main");
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM021", "FIM054");
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM021", "FIM022", "FIM054");
addCodes(commonCodes, mav, "FIM021", "FIM022");
return mav.addObject("pageName", "excl01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("urlPrefix", "/excl/excl01") // URL로 사용할 prefix
.addObject("infoPrefix", "levyExcl") // prefix
.addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD)
.addObject("FIM021List", commonCodes.get("FIM021")) // 업무 구분 코드(TASK_SE_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
;
}
@ -80,31 +82,27 @@ public class Excl01Controller extends ApplicationController {
* }</pre>
*/
@RequestMapping(name = "부과제외 정보 조회", value = "/020/info.do")
public ModelAndView getLevyExclusionInfo(String levyExclId) {
public ModelAndView getLevyExclusionInfo(Excl01Query req) {
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM021", "FIM022", "FIM054");
DataObject levyExclusionInfo = excl01Service.getLevyExclusionInfo(req);
if (!isEmpty(levyExclId)) {
// DataObject levyExclusionInfo = excl01Service.getLevyExclusionInfo(levyExclId);
Excl01 levyExclusionInfo = excl01Service.getLevyExclusionInfo(levyExclId);
boolean json = jsonResponse();
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/excl/excl01020-info")
.addObject("pageName", "excl01020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
;
return new ModelAndView(json ? "jsonView" : "fims/excl/excl01020-info")
.addObject("pageName", "excl01020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("pageMode", "update") //
.addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD)
.addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("levyExclInfo", json ? levyExclusionInfo : toJson(levyExclusionInfo))
// 조회 결과가 없다면.. 0
if (levyExclusionInfo == null) {
return mav
.addObject("pageMode", "create") //
.addObject("levyExclSeCd", req.getLevyExclSeCd())
;
} else {
return new ModelAndView("fims/excl/excl01020-info")
.addObject("pageName", "excl01020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("pageMode", "create") //
.addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD)
.addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
return mav
.addObject("pageMode", "update") //
.addObject("levyExclSeCd", levyExclusionInfo.string("LEVY_EXCL_SE_CD"))
.addObject("levyExclInfo", json ? levyExclusionInfo : toJson(levyExclusionInfo))
;
}
}
@ -155,4 +153,41 @@ public class Excl01Controller extends ApplicationController {
.addObject("saved", saved);
}
}
}
///**지정한 ID의 부과제외 정보를 반환한다.
// * @param levyExclId 부과 제외 ID
// * @return fims/excl/excl01020-info 또는 jsonView
// * <pre>{
// * "levyExclusionInfo": 부과제외 정보
// * }</pre>
// */
//@RequestMapping(name = "부과제외 정보 조회", value = "/020/info.do")
//public ModelAndView getLevyExclusionInfo(String levyExclId) {
// // View(jsp)에서 사용할 공통코드를 조회
// Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM021", "FIM022", "FIM054");
//
// if (!isEmpty(levyExclId)) {
// Excl01 levyExclusionInfo = excl01Service.getLevyExclusionInfo(levyExclId);
//
// boolean json = jsonResponse();
//
// return new ModelAndView(json ? "jsonView" : "fims/excl/excl01020-info")
// .addObject("pageName", "excl01020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
// .addObject("pageMode", "update") //
// .addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD)
// .addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD)
// .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
// .addObject("levyExclInfo", json ? levyExclusionInfo : toJson(levyExclusionInfo))
// ;
// } else {
// return new ModelAndView("fims/excl/excl01020-info")
// .addObject("pageName", "excl01020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
// .addObject("pageMode", "create") //
// .addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD)
// .addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD)
// .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
// ;
// }
//}

@ -179,9 +179,15 @@
FROM TB_LEVY_EXCL A
</sql>
<select id="selectLevyExcl" parameterType="map" resultMap="excl01Row">/* 부과제외 대장 객체 가져오기(excl01Mapper.selectLevyExcl) */
<select id="selectLevyExcl" parameterType="map" resultType="dataobject">/* 부과제외 대장 객체 가져오기(excl01Mapper.selectLevyExcl) */
<include refid="select" />
WHERE A.LEVY_EXCL_ID = #{levyExclId} /* 부과 제외 ID */
WHERE A.DEL_YN = 'N' /* 삭제 여부 */
<if test="levyExclId != null">
AND A.LEVY_EXCL_ID = #{levyExclId} /* 부과 제외 ID */
</if>
<if test="crdnId != null">
AND A.CRDN_ID = #{crdnId} /* 단속 ID */
</if>
<include refid="utility.orderBy" />
</select>

@ -250,6 +250,10 @@
**************************************************************************/
var prefixUrl = "/excl/excl01";
// 공통 코드
var FIM021 = new CommonCodes(${FIM021}, true);
var FIM022 = new CommonCodes(${FIM022}, true);
/**************************************************************************
* DatasetControl
**************************************************************************/
@ -340,7 +344,7 @@
$("th input[type='checkbox']").prop("checked", false);
}
// DataTables 더블클릭 이벤트
//
${pageName}Control.getInfo = (params) => {
let info = ${pageName}Control.dataset.getCurrent("item");
@ -349,12 +353,15 @@
url : ${pageName}Control.urls.getInfo
, data : params || {}
, success : resp => {
resp = resp.replace(/infoPrefix/g, this.prefix)
.replace(/prefixName/g, this.prefixName)
dialog.open({
id : ${pageName}Control.prefixed("dialog")
, title : ${pageName}Control.prefixName + " 정보"
, content : resp
, size : ${pageName}Control.infoSize
, init : () => ${pageName}Control.setInfo(info)
, onClose : () => { ${pageName}Control.load("1"); } // callback
});
}
});
@ -369,6 +376,12 @@
${pageName}Control.getInfo();
}
// Create 신규 등록
${pageName}Control.afterNewInfo = (obj) => {
// ${pageName}Control.dataset.append(obj || {});
${pageName}Control.getInfo(obj);
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
@ -433,25 +446,19 @@
// 등록
function fnCreate${pageName}(levyExclSeCd) {
let dialogInfo = {};
if (levyExclSeCd == "1") {
dialogInfo = {
id : "notLevy" + "dialog"
, title : "비부과 등록"
}
} else if (levyExclSeCd == "2") {
dialogInfo = {
id : "warning" + "dialog"
, title : "계고 등록"
}
} else {
return;
}
dialogInfo.levyExclSeCd = levyExclSeCd;
${pageName}Control.newInfo(dialogInfo);
let dialogInfo = {
callMode : "create"
, crdnId : "4148020180000150"
, levyExclSeCd : levyExclSeCd
};
// 테이블에서 선택한 현재 자료
// dialogInfo = ${pageName}Control.getCurrent();
// dialogInfo.callMode = "create";
// dialogInfo.crdnId = "4148020180000150";
// dialogInfo.levyExclSeCd = levyExclSeCd;
${pageName}Control.afterNewInfo(dialogInfo);
}
// 삭제

@ -2,34 +2,30 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body -->
<!-- 입력 영역 -->
<form id="frmInput--${pageName}" name="frmInput">
<input type="hidden" name="levyExclId" />
<input type="hidden" name="crdnId" />
<div class="card">
<!-- 입력 영역 -->
<form id="formInput--${pageName}" name="formInput">
<input type="hidden" name="levyExclId" data-map="LEVY_EXCL_ID" />
<input type="hidden" name="crdnId" data-map="CRDN_ID" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 부과제외 구분 -->
<div class="col-md-12">
<label for="levyExclSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">처리 구분</label>
<select class="form-select" id="levyExclSeCd--${pageName}" name="levyExclSeCd" required >
<c:forEach items="${FIM021List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
<input id="levyExclSeNm--${pageName}" type="text" readonly class="form-control"/>
<input id="levyExclSeCd--${pageName}" type="hidden" data-map="LEVY_EXCL_SE_CD"/>
</div>
<!-- 부과제외 일자 -->
<div class="col-md-12">
<label for="levyExclYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">처리 일자</label>
<input type="text" class="form-control form-date" id="levyExclYmd--${pageName}" name="levyExclYmd"
<input type="text" class="form-control form-date" id="levyExclYmd--${pageName}" name="levyExclYmd" data-map="LEVY_EXCL_YMD"
data-fmt-type="day" title="날짜 선택" required />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</div>
<!-- 부과제외 사유 -->
<div class="col-md-12">
<label for="levyExclRsnCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">처리 사유</label>
<select class="form-select" id="levyExclRsnCd--${pageName}" name="levyExclRsnCd" required>
<select class="form-select" id="levyExclRsnCd--${pageName}" name="levyExclRsnCd" data-map="LEVY_EXCL_RSN_CD" required>
<option value="">선택하세요</option>
<c:forEach items="${FIM022List}" var="item">
<option value="${item.code}">${item.value}</option>
@ -39,12 +35,13 @@
<!-- 기타 내용 -->
<div class="col-md-12">
<label for="levyExclRsnCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">기타 내용</label>
<input type="text" class="form-control w-px-400" id="etcCn--${pageName}" name="etcCn" />
<input type="text" class="form-control w-px-400" id="etcCn--${pageName}" name="etcCn" data-map="ETC_CN" />
</div>
</div>
</div>
</form>
<!-- /입력 영역 -->
</form>
<!-- /입력 영역 -->
</div>
<!-- <div class="card"> -->
<!-- 업무 버튼 표시 -->
<div>
@ -61,7 +58,7 @@
/**************************************************************************
* Global Variable
**************************************************************************/
var ${pageName}Fields = new FormFields("#frmInput--${pageName}");
var ${pageName}Fields = new FormFields("#formInput--${pageName}");
var ${pageName}Mode = "${pageMode}";
/**************************************************************************
@ -69,6 +66,7 @@
**************************************************************************/
var ${pageName}Info = new Dataset({
prefix : "levyExcl"
, prefixName : "부과제외"
, keymapper : info => info ? info.levyExclId : ""
, urls : {
load : wctx.url(prefixUrl + "/010/list.do")
@ -78,10 +76,11 @@
, remove : wctx.url(prefixUrl + "/020/remove.do")
}
, formats : {
levyExclYmd : dateFormat
LEVY_EXCL_YMD : dateFormat
}
, onCurrentChange : item => {
${pageName}Fields.set(item);
setFim021(item.data.LEVY_EXCL_SE_CD);
}
});
@ -93,7 +92,6 @@
if (resp.saved) {
dialog.alert("저장됐습니다.");
dialog.close(${pageName}Info.conf.prefix + "dialog");
excl01010Control.load("1");
}
}
@ -104,24 +102,35 @@
${pageName}Info.save = (info) => {
if (!info) return;
let item = ${pageName}Info.getCurrent("item"),
create = "added" == item.state;
let item = ${pageName}Info.getCurrent("item");
let create = item == null ? "added" : item.state;
ajax.post({
url : !create ? ${pageName}Info.urls.update : ${pageName}Info.urls.create
url : !create ? ${pageName}Info.conf.urls.update : ${pageName}Info.conf.urls.create
, data : info
, success : resp => ${pageName}Info.onSave(resp)
});
}
function setFim021(code) {
let cmnCode = FIM021[code];
$("#levyExclSeCd--${pageName}").val(cmnCode.code);
$("#levyExclSeNm--${pageName}").val(cmnCode.value);
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 검색조건 초기값 셋팅
function initSearch${pageName}() {
// 달력 초기화
initDatepicker("frmInput--${pageName}");
initDatepicker("formInput--${pageName}");
$("#levyExclYmd--${pageName}").datepicker("setDate", new Date());
// 부과제외구분에 따른 부과제외사유 코드 설정
setFim021("${levyExclSeCd}");
let reasons = FIM022.list().filter(reason => "1" == "${levyExclSeCd}" ? reason.code < "200" : reason.code > "200");
$("#levyExclRsnCd--${pageName}").html(reasons.map(reason => "<option value='" + reason.code + "'>" + reason.value + "</option>").join());
}
//
@ -135,33 +144,14 @@
**************************************************************************/
// 저장
function fnSave${pageName}() {
if (!$("#frmInput--${pageName} input").validInputs()) return;
let formFields = new FimsFormFields("#frmInput--${pageName}");
let data = formFields.get();
if (${pageName}Mode == "create") {
create${pageName}(data);
} else if (${pageName}Mode == "update") {
}
}
// 등록
function create${pageName}(data) {
ajax.post({
url : wctx.url(prefixUrl + "/020/create.do")
, data : data
, success : resp => ${pageName}Info.onSave(resp)
});
}
// 수정
function update${pageName}(data) {
ajax.post({
url : wctx.url(prefixUrl + "/020/update.do")
, data : data
, success : resp => ${pageName}Info.onSave(resp)
let formFields = new FimsFormFields("#frmInput--${pageName}");
let data = formFields.get();
dialog.alert({
content : "현재 " + ${pageName}Info.conf.prefixName + " 정보를 저장하시겠습니까?"
, onOK : () => {
${pageName}Info.save(formFields.get());
}
});
}
@ -169,7 +159,7 @@
* script 진입
**************************************************************************/
$(document).ready(function() {
// 검색조건 초기값 설정
// 초기값 설정
initSearch${pageName}();
// 이벤트 설정
@ -178,11 +168,12 @@
// Data 셋팅
if (${pageName}Mode == "create") {
} else if (${pageName}Mode == "update") {
${pageName}Info.setData([${levyExclInfo}]).setState();
} else {
} else if (${pageName}Mode == "update") {
${pageName}Info.setData([${levyExclInfo}]);
} else {
}
});
// #sourceURL=excl01020-info.jsp

@ -334,7 +334,7 @@
let key = item.data.OPNN_ID;
$("#${infoPrefix}List").setCurrentRow(key);
$("#tbody--${pageName}").setCurrentRow(key);
};
// DataTables checkbox 클릭 이벤트

@ -277,7 +277,7 @@
let key = item.data.RE_REG_ID;
$("#${infoPrefix}List").setCurrentRow(key);
$("#tbody--${pageName}").setCurrentRow(key);
};
// DataTables checkbox 클릭 이벤트

Loading…
Cancel
Save