1. 개별총정보 - 부과체납 정보 수정.

2. 개별총정보 - 수납 정보 수정.
main
jjh 10 months ago
parent 8d7cd6bb1d
commit c9c1a7e97b

@ -37,6 +37,11 @@ public class Rcvmt extends AbstractEntity {
*/
private String rcvmtInptSeCd;
/**
*
*/
private String deptCd;
/**
*
*/

@ -63,31 +63,4 @@ public interface RcvmtService {
*/
String removeRcvmt(Rcvmt rcvmt);
/** .
* @param rcvmt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean create(Rcvmt rcvmt);
/** .
* @param rcvmt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean update(Rcvmt rcvmt);
/** .
* @param rcvmt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean remove(Rcvmt rcvmt);
}

@ -109,6 +109,8 @@ public class RcvmtBean extends AbstractComponent {
DataObject levyInfo = rcvmtMapper.selectLevyInfo(new RcvmtQuery().setLevyId(rcvmt.getLevyId()).setDelYN("N"));
String rcvmtSeCd = ""; // 수납 구분 코드(FIM041)
rcvmt.setDeptCd(levyInfo.string("DEPT_CD"));
rcvmt.setLastPcptax(levyInfo.number("LAST_PCPTAX").intValue()); // 최종 본세
rcvmt.setLastAdamt(levyInfo.number("LAST_ADAMT").intValue()); // 최종 가산금
@ -203,7 +205,7 @@ public class RcvmtBean extends AbstractComponent {
return rtnMsg;
}
/** .
/** , .
* @param rcvmt
* @return
* <ul><li> true</li>
@ -212,6 +214,61 @@ public class RcvmtBean extends AbstractComponent {
*/
public String updateRcvmtRtrcn(Rcvmt rcvmt) {
// 변수 선언
// boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
// 수납 취소
rtnMsg = updateRcvmtCancle(rcvmt);
if (rtnMsg.contains("[F]")) {
throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback
}
// 과오납 등록
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
}
/** , .
* @param rcvmt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String removeRcvmt(Rcvmt rcvmt) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
// 수납 취소
rtnMsg = updateRcvmtCancle(rcvmt);
if (rtnMsg.contains("[F]")) {
throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback
}
// 수납 삭제
rtnScs = rcvmtMapper.delete(rcvmt);
if (!rtnScs) {
throw new RuntimeException("수납 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
}
/** .
* @param rcvmt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String updateRcvmtCancle(Rcvmt rcvmt) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
@ -292,59 +349,4 @@ public class RcvmtBean extends AbstractComponent {
return rtnMsg;
}
/** .
* @param rcvmt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String removeRcvmt(Rcvmt rcvmt) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
rtnScs = rcvmtMapper.delete(rcvmt);
if (!rtnScs) {
throw new RuntimeException("수납 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
}
/** .
* @param rcvmt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean create(Rcvmt rcvmt) {
return rcvmtMapper.insert(rcvmt);
}
/** .
* @param rcvmt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean update(Rcvmt rcvmt) {
return rcvmtMapper.update(rcvmt);
}
/** .
* @param rcvmt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean remove(Rcvmt rcvmt) {
return rcvmtMapper.delete(rcvmt);
}
}

@ -70,19 +70,4 @@ public class RcvmtServiceBean extends AbstractServiceBean implements RcvmtServic
return rcvmtBean.removeRcvmt(rcvmt);
}
@Override
public boolean create(Rcvmt rcvmt) {
return rcvmtBean.create(rcvmt);
}
@Override
public boolean update(Rcvmt rcvmt) {
return rcvmtBean.update(rcvmt);
}
@Override
public boolean remove(Rcvmt rcvmt) {
return rcvmtBean.remove(rcvmt);
}
}

@ -266,47 +266,4 @@ public class Rcvm01Controller extends ApplicationController {
.addObject("rtnMsg", rtnMsg);
}
/** .
* @param rcvmt
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
public ModelAndView create(Rcvmt rcvmt) {
boolean saved = rcvmtService.create(rcvmt);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/** .
* @param rcvmt
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
public ModelAndView update(Rcvmt rcvmt) {
boolean saved = rcvmtService.update(rcvmt);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/** .
* @param rcvmtIDs
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
public ModelAndView remove(Rcvmt rcvmt) {
boolean saved = rcvmtService.remove(rcvmt);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
}

@ -105,7 +105,7 @@ public interface SndngDtlService {
* <li> false</li>
* </ul>
*/
String deleteSndbk(SndngDtl sndngDtl);
String removeSndbk(SndngDtl sndngDtl);

@ -276,7 +276,7 @@ public class SndngDtlBean extends AbstractComponent {
* <li> false</li>
* </ul>
*/
public String deleteSndbk(SndngDtl sndngDtl) {
public String removeSndbk(SndngDtl sndngDtl) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지

@ -95,8 +95,8 @@ public class SndngDtlServiceBean extends AbstractServiceBean implements SndngDtl
}
@Override
public String deleteSndbk(SndngDtl sndngDtl) {
return sndngDtlBean.deleteSndbk(sndngDtl);
public String removeSndbk(SndngDtl sndngDtl) {
return sndngDtlBean.removeSndbk(sndngDtl);
}

@ -89,10 +89,10 @@ public class Sndb01Controller extends ApplicationController {
, unitySendBackTargetMain = "/210/main.do" // 통합 반송 등록 메인
, removeSendBack = "/210/remove.do" // 반송 삭제
, getSendBackInfo = "/220/info.do" // 반송 정보 조회
, createSendBack = "/220/create.do" // 반송 등록
, updateSendBack = "/220/update.do" // 반송 수정
, deleteSendBack = "/210/delete.do" // 반송 삭제
, removeServiceByPublicNoticeEach = "/250/remove.do" // 공시송달 개별 삭제
@ -1132,9 +1132,9 @@ public class Sndb01Controller extends ApplicationController {
* "saved": true, false
* }</code></pre>
*/
public ModelAndView deleteSendBack(SndngDtl sndngDtl) {
public ModelAndView removeSendBack(SndngDtl sndngDtl) {
boolean saved = false;
String rtnMsg = sndngDtlService.deleteSndbk(sndngDtl);
String rtnMsg = sndngDtlService.removeSndbk(sndngDtl);
if (rtnMsg.contains("[S]")) {
saved = true;

@ -681,9 +681,9 @@ public class DpvController {
}
@Override
@RequestMapping(name="발송상세의 반송 정보 삭제", value=METHOD_URL.deleteSendBack)
public ModelAndView deleteSendBack(SndngDtl sndngDtl) {
return super.deleteSendBack(sndngDtl);
@RequestMapping(name="발송상세의 반송 정보 삭제", value=METHOD_URL.removeSendBack)
public ModelAndView removeSendBack(SndngDtl sndngDtl) {
return super.removeSendBack(sndngDtl);
}
@Override

@ -50,86 +50,86 @@
</resultMap>
<sql id="selectList">
SELECT R.RCVMT_ID /* 수납 ID */
, R.SGG_CD /* 시군구 코드 */
, R.TASK_SE_CD /* 업무 구분 코드 */
, R.RCVMT_INPT_SE_CD /* 수납 입력 구분 코드 */
, R.DEPT_CD /* 부서 코드 */
, R.FYR /* 회계연도 */
, R.ACNTG_SE_CD /* 회계 구분 코드 */
, R.TXITM_CD /* 세목 코드 */
, R.LEVY_NO /* 부과 번호 */
, R.INSPY_SN /* 분납 일련번호 */
, R.LAST_PCPTAX /* 최종 본세 */
, R.LAST_ADAMT /* 최종 가산금 */
, R.RCVMT_SN /* 수납 일련번호 */
, R.RCVMT_YMD /* 수납 일자 */
, R.RCVMT_AMT /* 수납 금액 */
, R.RCVMT_PCPTAX /* 수납 본세 */
, R.RCVMT_ADAMT /* 수납 가산금 */
, R.RCVMT_INT /* 수납 이자 */
, R.RCVMT_BANK_NM /* 수납 은행 명 */
, R.PAY_MTHD_SE_CD /* 납부 방법 구분 코드 */
, R.PSTMRK_YMD /* 소인 일자 */
, R.ACNTG_YMD /* 회계 일자 */
, R.VRACTNO /* 가상계좌번호 */
, R.EPAYNO /* 전자납부번호 */
, R.RCVMT_SE_CD /* 수납 구분 코드 */
, R.NXRP_LEVY_KEY /* 세외수입 부과 키 */
, R.RCVMT_RTRCN_YN /* 수납 취소 여부 */
, R.RCVMT_RTRCN_DT /* 수납 취소 일시 */
, R.RCVMT_RTRCN_RSN /* 수납 취소 사유 */
, R.RCVMT_STTS_CD /* 수납 상태 코드 */
, R.DEL_YN /* 삭제 여부 */
, R.REG_DT /* 등록 일시 */
, R.MDFCN_DT /* 수정 일시 */
, R.DEL_DT /* 삭제 일시 */
, R.DEL_RSN /* 삭제 사유 */
, (SELECT GET_CODE_NM('FIM054', R.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 명 */
, (SELECT GET_CODE_NM('FIM044', R.RCVMT_INPT_SE_CD) FROM DUAL) AS RCVMT_INPT_SE_NM /* 수납 입력 구분 명 */
, (SELECT GET_CODE_NM('FIM074', R.ACNTG_SE_CD) FROM DUAL) AS ACNTG_SE_NM /* 회계 구분 명 */
, (SELECT GET_CODE_NM('FIM075', R.TXITM_CD) FROM DUAL) AS TXITM_NM /* 세목 코드 명 */
, (SELECT GET_CODE_NM('FIM045', R.PAY_MTHD_SE_CD) FROM DUAL) AS PAY_MTHD_SE_NM /* 납부 방법 구분 명 */
, (SELECT GET_CODE_NM('FIM041', R.RCVMT_SE_CD) FROM DUAL) AS RCVMT_SE_NM /* 수납 구분 명 */
, (SELECT GET_CODE_NM('CMN005', R.RCVMT_RTRCN_YN) FROM DUAL) AS RCVMT_RTRCN_NM /* 수납 취소 여부 명 */
, (SELECT GET_CODE_NM('FIM020', R.RCVMT_STTS_CD) FROM DUAL) AS RCVMT_STTS_NM /* 수납 상태 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.RGTR) AS RGTR_NM /* 등록자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.MDFR) AS MDFR_NM /* 수정자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.DLTR) AS DLTR_NM /* 삭제자 명 */
, L.LEVY_ID /* 부과 ID */
, L.LEVY_YMD /* 부과 일자 */
, L.FRST_DUDT_YMD /* 최초 납기 일자 */
, L.DUDT_YMD /* 납기 일자 */
, L.FFNLG_AMT /* 과태료 금액 */
, L.LEVY_PCPTAX /* 부과 본세 */
, L.LEVY_ADAMT /* 부과 가산금 */
, L.INSPY_INT /* 분납 이자 */
, L.SZR_YMD /* 압류 일자 */
, L.SZR_THING /* 압류 물건 */
, L.RPM_SZR_VHRNO /* 대체 압류 자동차등록번호 */
, L.SZR_RMV_YMD /* 압류 해제 일자 */
, L.SZR_RMV_RSN /* 압류 해제 사유 */
, C.CRDN_ID /* 단속 ID */
, C.CRDN_YMD /* 단속 일자 */
, C.CRDN_TM /* 단속 시각 */
, C.VHRNO /* 차량번호 */
, C.CRDN_STDG_NM /* 단속 법정동 명 */
, C.CRDN_ROAD_NM /* 단속 도로 명 */
, C.CRDN_PLC /* 단속 장소 */
, C.CRDN_STTS_CD /* 단속 상태 코드 */
, C.CRDN_STTS_CHG_DT /* 단속 상태 변경 일시 */
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, P.RTPYR_ID /* 납부자 ID */
, P.RTPYR_SE_CD /* 납부자 구분 코드 */
, P.RTPYR_NO /* 납부자 번호 */
, P.RTPYR_NM /* 납부자 명 */
, P.RTPYR_BRDT /* 납부자 생년월일 */
, P.ZIP /* 우편번호 */
, P.ADDR /* 주소 */
, P.DTL_ADDR /* 상세 주소 */
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */
, (SELECT GET_BRDT_FORMAT(P.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_MASK /* 납부자 생년월일 마스크 */
SELECT R.RCVMT_ID <!-- 수납 ID -->
, R.SGG_CD <!-- 시군구 코드 -->
, R.TASK_SE_CD <!-- 업무 구분 코드 -->
, R.RCVMT_INPT_SE_CD <!-- 수납 입력 구분 코드 -->
, R.DEPT_CD <!-- 부서 코드 -->
, R.FYR <!-- 회계연도 -->
, R.ACNTG_SE_CD <!-- 회계 구분 코드 -->
, R.TXITM_CD <!-- 세목 코드 -->
, R.LEVY_NO <!-- 부과 번호 -->
, R.INSPY_SN <!-- 분납 일련번호 -->
, R.LAST_PCPTAX <!-- 최종 본세 -->
, R.LAST_ADAMT <!-- 최종 가산금 -->
, R.RCVMT_SN <!-- 수납 일련번호 -->
, R.RCVMT_YMD <!-- 수납 일자 -->
, R.RCVMT_AMT <!-- 수납 금액 -->
, R.RCVMT_PCPTAX <!-- 수납 본세 -->
, R.RCVMT_ADAMT <!-- 수납 가산금 -->
, R.RCVMT_INT <!-- 수납 이자 -->
, R.RCVMT_BANK_NM <!-- 수납 은행 명 -->
, R.PAY_MTHD_SE_CD <!-- 납부 방법 구분 코드 -->
, R.PSTMRK_YMD <!-- 소인 일자 -->
, R.ACNTG_YMD <!-- 회계 일자 -->
, R.VRACTNO <!-- 가상계좌번호 -->
, R.EPAYNO <!-- 전자납부번호 -->
, R.RCVMT_SE_CD <!-- 수납 구분 코드 -->
, R.NXRP_LEVY_KEY <!-- 세외수입 부과 키 -->
, R.RCVMT_RTRCN_YN <!-- 수납 취소 여부 -->
, R.RCVMT_RTRCN_DT <!-- 수납 취소 일시 -->
, R.RCVMT_RTRCN_RSN <!-- 수납 취소 사유 -->
, R.RCVMT_STTS_CD <!-- 수납 상태 코드 -->
, R.DEL_YN <!-- 삭제 여부 -->
, R.REG_DT <!-- 등록 일시 -->
, R.MDFCN_DT <!-- 수정 일시 -->
, R.DEL_DT <!-- 삭제 일시 -->
, R.DEL_RSN <!-- 삭제 사유 -->
, (SELECT GET_CODE_NM('FIM054', R.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, (SELECT GET_CODE_NM('FIM044', R.RCVMT_INPT_SE_CD) FROM DUAL) AS RCVMT_INPT_SE_NM <!-- 수납 입력 구분 명 -->
, (SELECT GET_CODE_NM('FIM074', R.ACNTG_SE_CD) FROM DUAL) AS ACNTG_SE_NM <!-- 회계 구분 명 -->
, (SELECT GET_CODE_NM('FIM075', R.TXITM_CD) FROM DUAL) AS TXITM_NM <!-- 세목 코드 명 -->
, (SELECT GET_CODE_NM('FIM045', R.PAY_MTHD_SE_CD) FROM DUAL) AS PAY_MTHD_SE_NM <!-- 납부 방법 구분 명 -->
, (SELECT GET_CODE_NM('FIM041', R.RCVMT_SE_CD) FROM DUAL) AS RCVMT_SE_NM <!-- 수납 구분 명 -->
, (SELECT GET_CODE_NM('CMN005', R.RCVMT_RTRCN_YN) FROM DUAL) AS RCVMT_RTRCN_NM <!-- 수납 취소 여부 명 -->
, (SELECT GET_CODE_NM('FIM020', R.RCVMT_STTS_CD) FROM DUAL) AS RCVMT_STTS_NM <!-- 수납 상태 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.DLTR) AS DLTR_NM <!-- 삭제자 명 -->
, L.LEVY_ID <!-- 부과 ID -->
, L.LEVY_YMD <!-- 부과 일자 -->
, L.FRST_DUDT_YMD <!-- 최초 납기 일자 -->
, L.DUDT_YMD <!-- 납기 일자 -->
, L.FFNLG_AMT <!-- 과태료 금액 -->
, L.LEVY_PCPTAX <!-- 부과 본세 -->
, L.LEVY_ADAMT <!-- 부과 가산금 -->
, L.INSPY_INT <!-- 분납 이자 -->
, L.SZR_YMD <!-- 압류 일자 -->
, L.SZR_THING <!-- 압류 물건 -->
, L.RPM_SZR_VHRNO <!-- 대체 압류 자동차등록번호 -->
, L.SZR_RMV_YMD <!-- 압류 해제 일자 -->
, L.SZR_RMV_RSN <!-- 압류 해제 사유 -->
, C.CRDN_ID <!-- 단속 ID -->
, C.CRDN_YMD <!-- 단속 일자 -->
, C.CRDN_TM <!-- 단속 시각 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_ROAD_NM <!-- 단속 도로 명 -->
, C.CRDN_PLC <!-- 단속 장소 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_SE_CD <!-- 납부자 구분 코드 -->
, P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 -->
, P.RTPYR_BRDT <!-- 납부자 생년월일 -->
, P.ZIP <!-- 우편번호 -->
, P.ADDR <!-- 주소 -->
, P.DTL_ADDR <!-- 상세 주소 -->
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM <!-- 납부자 구분 명 -->
, (SELECT GET_BRDT_FORMAT(P.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_MASK <!-- 납부자 생년월일 마스크 -->
FROM TB_RCVMT R
LEFT OUTER JOIN TB_LEVY L ON (R.LEVY_ID = L.LEVY_ID)
LEFT OUTER JOIN TB_CRDN C ON (L.CRDN_ID = C.CRDN_ID)
@ -139,50 +139,50 @@
<select id="selectRcvmtList" parameterType="map" resultType="dataobject">/* 수납 대장 목록 조회(rcvmtMapper.selectRcvmtList) */
<include refid="utility.paging-prefix" />
<include refid="selectList" />
WHERE R.SGG_CD = #{sggCd} /* 시군구 코드 */
AND R.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
WHERE R.SGG_CD = #{sggCd} <!-- 시군구 코드 -->
AND R.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
<if test="schPstmrkYmdFrom != null">
AND R.PSTMRK_YMD <![CDATA[ >= ]]> #{schPstmrkYmdFrom} /* 소인 일자 시작 */
AND R.PSTMRK_YMD <![CDATA[ >= ]]> #{schPstmrkYmdFrom} <!-- 소인 일자 시작 -->
</if>
<if test="schPstmrkYmdTo != null">
AND R.PSTMRK_YMD <![CDATA[ <= ]]> #{schPstmrkYmdTo} /* 소인 일자 종료 */
AND R.PSTMRK_YMD <![CDATA[ <= ]]> #{schPstmrkYmdTo} <!-- 소인 일자 종료 -->
</if>
<if test="schRcvmtYmdFrom != null">
AND R.PSTMRK_YMD <![CDATA[ >= ]]> #{schRcvmtYmdFrom} /* 소인 일자 시작 */
AND R.PSTMRK_YMD <![CDATA[ >= ]]> #{schRcvmtYmdFrom} <!-- 소인 일자 시작 -->
</if>
<if test="schRcvmtYmdTo != null">
AND R.RCVMT_YMD <![CDATA[ <= ]]> #{schRcvmtYmdTo} /* 소인 일자 종료 */
AND R.RCVMT_YMD <![CDATA[ <= ]]> #{schRcvmtYmdTo} <!-- 소인 일자 종료 -->
</if>
<if test="schCrdnYmdFrom != null">
AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} /* 단속 일자 시작 */
AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} <!-- 단속 일자 시작 -->
</if>
<if test="schCrdnYmdTo != null">
AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} /* 단속 일자 종료 */
AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} <!-- 단속 일자 종료 -->
</if>
<if test="schVhrno != null">
AND C.VHRNO = #{schVhrno} /* 차량번호 */
AND C.VHRNO = #{schVhrno} <!-- 차량번호 -->
</if>
<if test="schRtpyrNm != null">
AND P.RTPYR_NM = #{schRtpyrNm} /* 납부자 명 */
AND P.RTPYR_NM = #{schRtpyrNm} <!-- 납부자 명 -->
</if>
<if test="delYN != null">
AND R.DEL_YN = #{delYN} /* 삭제 여부 */
AND R.DEL_YN = #{delYN} <!-- 삭제 여부 -->
</if>
<choose>
<when test="schRegDateOpt == 'regDt'">
<if test="schRegDateFrom != null">
AND R.REG_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') /* 등록 일자 시작 */
AND R.REG_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') <!-- 등록 일자 시작 -->
</if>
<if test="schRegDateTo != null">
AND R.REG_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') /* 등록 일자 종료 */
AND R.REG_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') <!-- 등록 일자 종료 -->
</if>
</when>
<when test="schRegDateOpt == 'mdfcnDt'">
<if test="schRegDateFrom != null">
AND R.MDFCN_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') /* 수정 일자 시작 */
AND R.MDFCN_DT <![CDATA[>=]]> CONCAT(#{schRegDateFrom},'000000') <!-- 수정 일자 시작 -->
</if>
<if test="schRegDateTo != null">
AND R.MDFCN_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') /* 수정 일자 종료 */
AND R.MDFCN_DT <![CDATA[<=]]> CONCAT(#{schRegDateTo},'235959') <!-- 수정 일자 종료 -->
</if>
</when>
<otherwise>
@ -191,12 +191,12 @@
<choose>
<when test="schRgtrOpt == 'rgtr'">
<if test="schRgtrCd != null">
AND R.RGTR = #{schRgtrCd} /* 등록자 코드 */
AND R.RGTR = #{schRgtrCd} <!-- 등록자 코드 -->
</if>
</when>
<when test="schRgtrOpt == 'mdfr'">
<if test="schRgtrCd != null">
AND R.MDFR = #{schRgtrCd} /* 수정자 코드 */
AND R.MDFR = #{schRgtrCd} <!-- 수정자 코드 -->
</if>
</when>
<otherwise>
@ -254,54 +254,54 @@
</select>
<sql id="select">
SELECT R.RCVMT_ID /* 수납 ID */
, R.SGG_CD /* 시군구 코드 */
, R.TASK_SE_CD /* 업무 구분 코드 */
, R.RCVMT_INPT_SE_CD /* 수납 입력 구분 코드 */
, R.DEPT_CD /* 부서 코드 */
, R.FYR /* 회계연도 */
, R.ACNTG_SE_CD /* 회계 구분 코드 */
, R.TXITM_CD /* 세목 코드 */
, R.LEVY_NO /* 부과 번호 */
, R.INSPY_SN /* 분납 일련번호 */
, R.LAST_PCPTAX /* 최종 본세 */
, R.LAST_ADAMT /* 최종 가산금 */
, R.RCVMT_SN /* 수납 일련번호 */
, R.RCVMT_YMD /* 수납 일자 */
, R.RCVMT_AMT /* 수납 금액 */
, R.RCVMT_PCPTAX /* 수납 본세 */
, R.RCVMT_ADAMT /* 수납 가산금 */
, R.RCVMT_INT /* 수납 이자 */
, R.RCVMT_BANK_NM /* 수납 은행 명 */
, R.PAY_MTHD_SE_CD /* 납부 방법 구분 코드 */
, R.PSTMRK_YMD /* 소인 일자 */
, R.ACNTG_YMD /* 회계 일자 */
, R.VRACTNO /* 가상계좌번호 */
, R.EPAYNO /* 전자납부번호 */
, R.RCVMT_SE_CD /* 수납 구분 코드 */
, R.NXRP_LEVY_KEY /* 세외수입 부과 키 */
, R.RCVMT_RTRCN_YN /* 수납 취소 여부 */
, R.RCVMT_RTRCN_DT /* 수납 취소 일시 */
, R.RCVMT_RTRCN_RSN /* 수납 취소 사유 */
, R.RCVMT_STTS_CD /* 수납 상태 코드 */
, R.DEL_YN /* 삭제 여부 */
, R.REG_DT /* 등록 일시 */
, R.MDFCN_DT /* 수정 일시 */
, R.DEL_DT /* 삭제 일시 */
, R.DEL_RSN /* 삭제 사유 */
, (SELECT GET_CODE_NM('FIM054', R.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM /* 업무 구분 명 */
, (SELECT GET_CODE_NM('FIM044', R.RCVMT_INPT_SE_CD) FROM DUAL) AS RCVMT_INPT_SE_NM /* 수납 입력 구분 명 */
, (SELECT GET_CODE_NM('FIM074', R.ACNTG_SE_CD) FROM DUAL) AS ACNTG_SE_NM /* 회계 구분 명 */
, (SELECT GET_CODE_NM('FIM075', R.TXITM_CD) FROM DUAL) AS TXITM_NM /* 세목 코드 명 */
, (SELECT GET_CODE_NM('FIM045', R.PAY_MTHD_SE_CD) FROM DUAL) AS PAY_MTHD_SE_NM /* 납부 방법 구분 명 */
, (SELECT GET_CODE_NM('FIM041', R.RCVMT_SE_CD) FROM DUAL) AS RCVMT_SE_NM /* 수납 구분 명 */
, (SELECT GET_CODE_NM('CMN005', R.RCVMT_RTRCN_YN) FROM DUAL) AS RCVMT_RTRCN_NM /* 수납 취소 여부 명 */
, (SELECT GET_CODE_NM('FIM020', R.RCVMT_STTS_CD) FROM DUAL) AS RCVMT_STTS_NM /* 수납 상태 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.RGTR) AS RGTR_NM /* 등록자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.MDFR) AS MDFR_NM /* 수정자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.DLTR) AS DLTR_NM /* 삭제자 명 */
, L.LEVY_ID /* 부과 ID */
, C.CRDN_ID /* 단속 ID */
SELECT R.RCVMT_ID <!-- 수납 ID -->
, R.SGG_CD <!-- 시군구 코드 -->
, R.TASK_SE_CD <!-- 업무 구분 코드 -->
, R.RCVMT_INPT_SE_CD <!-- 수납 입력 구분 코드 -->
, R.DEPT_CD <!-- 부서 코드 -->
, R.FYR <!-- 회계연도 -->
, R.ACNTG_SE_CD <!-- 회계 구분 코드 -->
, R.TXITM_CD <!-- 세목 코드 -->
, R.LEVY_NO <!-- 부과 번호 -->
, R.INSPY_SN <!-- 분납 일련번호 -->
, R.LAST_PCPTAX <!-- 최종 본세 -->
, R.LAST_ADAMT <!-- 최종 가산금 -->
, R.RCVMT_SN <!-- 수납 일련번호 -->
, R.RCVMT_YMD <!-- 수납 일자 -->
, R.RCVMT_AMT <!-- 수납 금액 -->
, R.RCVMT_PCPTAX <!-- 수납 본세 -->
, R.RCVMT_ADAMT <!-- 수납 가산금 -->
, R.RCVMT_INT <!-- 수납 이자 -->
, R.RCVMT_BANK_NM <!-- 수납 은행 명 -->
, R.PAY_MTHD_SE_CD <!-- 납부 방법 구분 코드 -->
, R.PSTMRK_YMD <!-- 소인 일자 -->
, R.ACNTG_YMD <!-- 회계 일자 -->
, R.VRACTNO <!-- 가상계좌번호 -->
, R.EPAYNO <!-- 전자납부번호 -->
, R.RCVMT_SE_CD <!-- 수납 구분 코드 -->
, R.NXRP_LEVY_KEY <!-- 세외수입 부과 키 -->
, R.RCVMT_RTRCN_YN <!-- 수납 취소 여부 -->
, R.RCVMT_RTRCN_DT <!-- 수납 취소 일시 -->
, R.RCVMT_RTRCN_RSN <!-- 수납 취소 사유 -->
, R.RCVMT_STTS_CD <!-- 수납 상태 코드 -->
, R.DEL_YN <!-- 삭제 여부 -->
, R.REG_DT <!-- 등록 일시 -->
, R.MDFCN_DT <!-- 수정 일시 -->
, R.DEL_DT <!-- 삭제 일시 -->
, R.DEL_RSN <!-- 삭제 사유 -->
, (SELECT GET_CODE_NM('FIM054', R.TASK_SE_CD) FROM DUAL) AS TASK_SE_NM <!-- 업무 구분 명 -->
, (SELECT GET_CODE_NM('FIM044', R.RCVMT_INPT_SE_CD) FROM DUAL) AS RCVMT_INPT_SE_NM <!-- 수납 입력 구분 명 -->
, (SELECT GET_CODE_NM('FIM074', R.ACNTG_SE_CD) FROM DUAL) AS ACNTG_SE_NM <!-- 회계 구분 명 -->
, (SELECT GET_CODE_NM('FIM075', R.TXITM_CD) FROM DUAL) AS TXITM_NM <!-- 세목 코드 명 -->
, (SELECT GET_CODE_NM('FIM045', R.PAY_MTHD_SE_CD) FROM DUAL) AS PAY_MTHD_SE_NM <!-- 납부 방법 구분 명 -->
, (SELECT GET_CODE_NM('FIM041', R.RCVMT_SE_CD) FROM DUAL) AS RCVMT_SE_NM <!-- 수납 구분 명 -->
, (SELECT GET_CODE_NM('CMN005', R.RCVMT_RTRCN_YN) FROM DUAL) AS RCVMT_RTRCN_NM <!-- 수납 취소 여부 명 -->
, (SELECT GET_CODE_NM('FIM020', R.RCVMT_STTS_CD) FROM DUAL) AS RCVMT_STTS_NM <!-- 수납 상태 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.RGTR) AS RGTR_NM <!-- 등록자 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.DLTR) AS DLTR_NM <!-- 삭제자 명 -->
, L.LEVY_ID <!-- 부과 ID -->
, C.CRDN_ID <!-- 단속 ID -->
FROM TB_RCVMT R
LEFT OUTER JOIN TB_LEVY L ON (R.LEVY_ID = L.LEVY_ID)
LEFT OUTER JOIN TB_CRDN C ON (L.CRDN_ID = C.CRDN_ID)
@ -311,71 +311,71 @@
<include refid="select" />
<where>
<if test="rcvmtId != null">
AND R.RCVMT_ID = #{rcvmtId} /* 수납 ID */
AND R.RCVMT_ID = #{rcvmtId} <!-- 수납 ID -->
</if>
<if test="levyId != null">
AND L.LEVY_ID = #{levyId} /* 부과 ID */
AND L.LEVY_ID = #{levyId} <!-- 부과 ID -->
</if>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} /* 단속 ID */
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
</if>
<if test="delYN != null">
AND R.DEL_YN = #{delYN} /* 삭제 여부 */
AND R.DEL_YN = #{delYN} <!-- 삭제 여부 -->
</if>
</where>
<include refid="utility.orderBy" />
</select>
<select id="selectLevyInfo" parameterType="map" resultType="dataobject">/* 부과 대장 객체 가져오기(rcvmtMapper.selectLevyInfo) */
SELECT L.LEVY_ID /* 부과 ID */
, L.DEPT_CD /* 부서 코드 */
, L.FYR /* 회계연도 */
, L.ACNTG_SE_CD /* 회계 구분 코드 */
, L.TXITM_CD /* 세목 코드 */
, L.LEVY_NO /* 부과 번호 */
, L.FFNLG_AMT /* 과태료 금액 */
, L.LEVY_PCPTAX /* 부과 본세 */
, L.LEVY_ADAMT /* 부과 가산금 */
, L.INSPY_INT /* 분납 이자 */
, L.RCVMT_PCPTAX /* 수납 본세 */
, L.RCVMT_ADAMT /* 수납 가산금 */
, L.LEVY_PCPTAX - L.RCVMT_PCPTAX - L.RDCAMT_PCPTAX AS LAST_PCPTAX /* 최종 본세 */
, L.LEVY_ADAMT - L.RCVMT_ADAMT - L.RDCAMT_ADAMT AS LAST_ADAMT /* 가산금 */
, C.CRDN_ID /* 단속 ID */
, C.SGG_CD /* 시군구 코드 */
, C.TASK_SE_CD /* 업무 구분 코드 */
, C.VHRNO /* 차량번호 */
, C.CRDN_PLC /* 단속 장소 */
, C.CRDN_STTS_CD /* 단속 상태 코드 */
, C.CRDN_STTS_CHG_DT /* 단속 상태 변경 일시 */
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, <include refid="utility.today" /> AS RCVMT_YMD /* 수납 일자 */
, <include refid="utility.today" /> AS PSTMRK_YMD /* 소인 일자 */
, <include refid="utility.today" /> AS ACNTG_YMD /* 회계 일자 */
SELECT L.LEVY_ID <!-- 부과 ID -->
, L.DEPT_CD <!-- 부서 코드 -->
, L.FYR <!-- 회계연도 -->
, L.ACNTG_SE_CD <!-- 회계 구분 코드 -->
, L.TXITM_CD <!-- 세목 코드 -->
, L.LEVY_NO <!-- 부과 번호 -->
, L.FFNLG_AMT <!-- 과태료 금액 -->
, L.LEVY_PCPTAX <!-- 부과 본세 -->
, L.LEVY_ADAMT <!-- 부과 가산금 -->
, L.INSPY_INT <!-- 분납 이자 -->
, L.RCVMT_PCPTAX <!-- 수납 본세 -->
, L.RCVMT_ADAMT <!-- 수납 가산금 -->
, L.LEVY_PCPTAX - L.RCVMT_PCPTAX - L.RDCAMT_PCPTAX AS LAST_PCPTAX <!-- 최종 본세 -->
, L.LEVY_ADAMT - L.RCVMT_ADAMT - L.RDCAMT_ADAMT AS LAST_ADAMT <!-- 가산금 -->
, C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_PLC <!-- 단속 장소 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM <!-- 단속 일시 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, <include refid="utility.today" /> AS RCVMT_YMD <!-- 수납 일자 -->
, <include refid="utility.today" /> AS PSTMRK_YMD <!-- 소인 일자 -->
, <include refid="utility.today" /> AS ACNTG_YMD <!-- 회계 일자 -->
FROM TB_LEVY L
INNER JOIN TB_CRDN C ON (L.CRDN_ID = C.CRDN_ID)
<choose>
<when test="crdnId != null">
WHERE L.CRDN_ID = #{crdnId} /* 단속 ID */
WHERE L.CRDN_ID = #{crdnId} <!-- 단속 ID -->
</when>
<otherwise>
WHERE L.LEVY_ID = #{levyId} /* 부과 ID */
WHERE L.LEVY_ID = #{levyId} <!-- 부과 ID -->
</otherwise>
</choose>
AND L.DEL_YN = #{delYN} /* 삭제 여부 */
AND L.DEL_YN = #{delYN} <!-- 삭제 여부 -->
<include refid="utility.orderBy" />
</select>
<update id="updateRcvmtRtrcn" parameterType="map">/* 수납 대장 수납취소 정보 수정(rcvmtMapper.updateRcvmtRtrcn) */
UPDATE TB_RCVMT
SET RCVMT_RTRCN_YN = #{rcvmt.rcvmtRtrcnYn} /* 수납 취소 여부 */
, RCVMT_RTRCN_DT = <include refid="utility.now" /> /* 수납 취소 일시 */
, RCVMT_RTRCN_RSN = #{rcvmt.rcvmtRtrcnRsn} /* 수납 취소 사유 */
, MDFCN_DT = #{rcvmt.lastModified} /* 수정 일시 */
, MDFR = #{rcvmt.modifiedBy} /* 수정자 */
WHERE RCVMT_ID = #{rcvmt.rcvmtId} /* 수납 ID */
AND DEL_YN = 'N' /* 삭제 여부 */
SET RCVMT_RTRCN_YN = #{rcvmt.rcvmtRtrcnYn} <!-- 수납 취소 여부 -->
, RCVMT_RTRCN_DT = <include refid="utility.now" /> <!-- 수납 취소 일시 -->
, RCVMT_RTRCN_RSN = #{rcvmt.rcvmtRtrcnRsn} <!-- 수납 취소 사유 -->
, MDFCN_DT = #{rcvmt.lastModified} <!-- 수정 일시 -->
, MDFR = #{rcvmt.modifiedBy} <!-- 수정자 -->
WHERE RCVMT_ID = #{rcvmt.rcvmtId} <!-- 수납 ID -->
AND DEL_YN = 'N' <!-- 삭제 여부 -->
</update>
<insert id="insertRcvmt" parameterType="map">/* 수납 대장 등록(rcvmtMapper.insertRcvmt) */
@ -387,127 +387,127 @@
</selectKey>
INSERT
INTO TB_RCVMT (
RCVMT_ID /* 수납 ID */
, SGG_CD /* 시군구 코드 */
, TASK_SE_CD /* 업무 구분 코드 */
, LEVY_ID /* 부과 ID */
, RCVMT_INPT_SE_CD /* 수납 입력 구분 코드 */
, DEPT_CD /* 부서 코드 */
, FYR /* 회계연도 */
, ACNTG_SE_CD /* 회계 구분 코드 */
, TXITM_CD /* 세목 코드 */
, LEVY_NO /* 부과 번호 */
, INSPY_SN /* 분납 일련번호 */
, LAST_PCPTAX /* 최종 본세 */
, LAST_ADAMT /* 최종 가산금 */
, RCVMT_SN /* 수납 일련번호 */
, RCVMT_YMD /* 수납 일자 */
, RCVMT_AMT /* 수납 금액 */
, RCVMT_PCPTAX /* 수납 본세 */
, RCVMT_ADAMT /* 수납 가산금 */
, RCVMT_INT /* 수납 이자 */
, RCVMT_BANK_NM /* 수납 은행 명 */
, PAY_MTHD_SE_CD /* 납부 방법 구분 코드 */
, PSTMRK_YMD /* 소인 일자 */
, ACNTG_YMD /* 회계 일자 */
, VRACTNO /* 가상계좌번호 */
, EPAYNO /* 전자납부번호 */
, RCVMT_SE_CD /* 수납 구분 코드 */
, NXRP_LEVY_KEY /* 세외수입 부과 키 */
, RCVMT_RTRCN_YN /* 수납 취소 여부 */
, RCVMT_RTRCN_DT /* 수납 취소 일시 */
, RCVMT_RTRCN_RSN /* 수납 취소 사유 */
, RCVMT_STTS_CD /* 수납 상태 코드 */
, DEL_YN /* 삭제 여부 */
, REG_DT /* 등록 일시 */
, RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */
RCVMT_ID <!-- 수납 ID -->
, SGG_CD <!-- 시군구 코드 -->
, TASK_SE_CD <!-- 업무 구분 코드 -->
, LEVY_ID <!-- 부과 ID -->
, RCVMT_INPT_SE_CD <!-- 수납 입력 구분 코드 -->
, DEPT_CD <!-- 부서 코드 -->
, FYR <!-- 회계연도 -->
, ACNTG_SE_CD <!-- 회계 구분 코드 -->
, TXITM_CD <!-- 세목 코드 -->
, LEVY_NO <!-- 부과 번호 -->
, INSPY_SN <!-- 분납 일련번호 -->
, LAST_PCPTAX <!-- 최종 본세 -->
, LAST_ADAMT <!-- 최종 가산금 -->
, RCVMT_SN <!-- 수납 일련번호 -->
, RCVMT_YMD <!-- 수납 일자 -->
, RCVMT_AMT <!-- 수납 금액 -->
, RCVMT_PCPTAX <!-- 수납 본세 -->
, RCVMT_ADAMT <!-- 수납 가산금 -->
, RCVMT_INT <!-- 수납 이자 -->
, RCVMT_BANK_NM <!-- 수납 은행 명 -->
, PAY_MTHD_SE_CD <!-- 납부 방법 구분 코드 -->
, PSTMRK_YMD <!-- 소인 일자 -->
, ACNTG_YMD <!-- 회계 일자 -->
, VRACTNO <!-- 가상계좌번호 -->
, EPAYNO <!-- 전자납부번호 -->
, RCVMT_SE_CD <!-- 수납 구분 코드 -->
, NXRP_LEVY_KEY <!-- 세외수입 부과 키 -->
, RCVMT_RTRCN_YN <!-- 수납 취소 여부 -->
, RCVMT_RTRCN_DT <!-- 수납 취소 일시 -->
, RCVMT_RTRCN_RSN <!-- 수납 취소 사유 -->
, RCVMT_STTS_CD <!-- 수납 상태 코드 -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
)
VALUES (
#{rcvmt.rcvmtId} /* 수납 ID */
, #{rcvmt.sggCd} /* 시군구 코드 */
, #{rcvmt.taskSeCd} /* 업무 구분 코드 */
, #{rcvmt.levyId} /* 부과 ID */
, #{rcvmt.rcvmtInptSeCd} /* 수납 입력 구분 코드 */
, #{rcvmt.deptCd} /* 부서 코드 */
, #{rcvmt.fyr} /* 회계 연도 */
, #{rcvmt.acntgSeCd} /* 회계 구분 코드 */
, #{rcvmt.txitmCd} /* 세목 코드 */
, #{rcvmt.levyNo} /* 부과 번호 */
, #{rcvmt.inspySn} /* 분납 일련번호 */
, #{rcvmt.lastPcptax} /* 최종 본세 */
, #{rcvmt.lastAdamt} /* 최종 가산금 */
, #{rcvmt.rcvmtSn} /* 수납 일련번호 */
, #{rcvmt.rcvmtYmd} /* 수납 일자 */
, #{rcvmt.rcvmtAmt} /* 수납 금액 */
, #{rcvmt.rcvmtPcptax} /* 수납 본세 */
, #{rcvmt.rcvmtAdamt} /* 수납 가산금 */
, #{rcvmt.rcvmtInt} /* 수납 이자 */
, #{rcvmt.rcvmtBankNm} /* 수납 은행 명 */
, #{rcvmt.payMthdSeCd} /* 납부 방법 구분 코드 */
, #{rcvmt.pstmrkYmd} /* 소인 일자 */
, #{rcvmt.acntgYmd} /* 회계 일자 */
, #{rcvmt.vractno} /* 가상계좌번호 */
, #{rcvmt.epayno} /* 전자납부번호 */
, #{rcvmt.rcvmtSeCd} /* 수납 구분 코드 */
, #{rcvmt.nxrpLevyKey} /* 세외수입 부과 키 */
, #{rcvmt.rcvmtRtrcnYn} /* 수납 취소 여부 */
, #{rcvmt.rcvmtRtrcnDt} /* 수납 취소 일시 */
, #{rcvmt.rcvmtRtrcnRsn} /* 수납 취소 사유 */
, #{rcvmt.rcvmtSttsCd} /* 수납 상태 코드 */
, 'N' /* 삭제 여부 */
, #{rcvmt.createdAt} /* 등록 일시 */
, #{rcvmt.createdBy} /* 등록자 */
, #{rcvmt.lastModified} /* 수정 일시 */
, #{rcvmt.modifiedBy} /* 수정자 */
#{rcvmt.rcvmtId} <!-- 수납 ID -->
, #{rcvmt.sggCd} <!-- 시군구 코드 -->
, #{rcvmt.taskSeCd} <!-- 업무 구분 코드 -->
, #{rcvmt.levyId} <!-- 부과 ID -->
, #{rcvmt.rcvmtInptSeCd} <!-- 수납 입력 구분 코드 -->
, #{rcvmt.deptCd} <!-- 부서 코드 -->
, #{rcvmt.fyr} <!-- 회계 연도 -->
, #{rcvmt.acntgSeCd} <!-- 회계 구분 코드 -->
, #{rcvmt.txitmCd} <!-- 세목 코드 -->
, #{rcvmt.levyNo} <!-- 부과 번호 -->
, #{rcvmt.inspySn} <!-- 분납 일련번호 -->
, #{rcvmt.lastPcptax} <!-- 최종 본세 -->
, #{rcvmt.lastAdamt} <!-- 최종 가산금 -->
, #{rcvmt.rcvmtSn} <!-- 수납 일련번호 -->
, #{rcvmt.rcvmtYmd} <!-- 수납 일자 -->
, #{rcvmt.rcvmtAmt} <!-- 수납 금액 -->
, #{rcvmt.rcvmtPcptax} <!-- 수납 본세 -->
, #{rcvmt.rcvmtAdamt} <!-- 수납 가산금 -->
, #{rcvmt.rcvmtInt} <!-- 수납 이자 -->
, #{rcvmt.rcvmtBankNm} <!-- 수납 은행 명 -->
, #{rcvmt.payMthdSeCd} <!-- 납부 방법 구분 코드 -->
, #{rcvmt.pstmrkYmd} <!-- 소인 일자 -->
, #{rcvmt.acntgYmd} <!-- 회계 일자 -->
, #{rcvmt.vractno} <!-- 가상계좌번호 -->
, #{rcvmt.epayno} <!-- 전자납부번호 -->
, #{rcvmt.rcvmtSeCd} <!-- 수납 구분 코드 -->
, #{rcvmt.nxrpLevyKey} <!-- 세외수입 부과 키 -->
, #{rcvmt.rcvmtRtrcnYn} <!-- 수납 취소 여부 -->
, #{rcvmt.rcvmtRtrcnDt} <!-- 수납 취소 일시 -->
, #{rcvmt.rcvmtRtrcnRsn} <!-- 수납 취소 사유 -->
, #{rcvmt.rcvmtSttsCd} <!-- 수납 상태 코드 -->
, 'N' <!-- 삭제 여부 -->
, #{rcvmt.createdAt} <!-- 등록 일시 -->
, #{rcvmt.createdBy} <!-- 등록자 -->
, #{rcvmt.lastModified} <!-- 수정 일시 -->
, #{rcvmt.modifiedBy} <!-- 수정자 -->
)
</insert>
<update id="updateRcvmt" parameterType="map">/* 수납 대장 수정(rcvmtMapper.updateRcvmt) */
UPDATE TB_RCVMT
SET LEVY_ID = #{rcvmt.levyId} /* 부과 ID */
, RCVMT_INPT_SE_CD = #{rcvmt.rcvmtInptSeCd} /* 수납 입력 구분 코드 */
, DEPT_CD = #{rcvmt.deptCd} /* 부서 코드 */
, FYR = #{rcvmt.fyr} /* 회계연도 */
, ACNTG_SE_CD = #{rcvmt.acntgSeCd} /* 회계 구분 코드 */
, TXITM_CD = #{rcvmt.txitmCd} /* 세목 코드 */
, LEVY_NO = #{rcvmt.levyNo} /* 부과 번호 */
, INSPY_SN = #{rcvmt.inspySn} /* 분납 일련번호 */
, LAST_PCPTAX = #{rcvmt.lastPcptax} /* 최종 본세 */
, LAST_ADAMT = #{rcvmt.lastAdamt} /* 최종 가산금 */
, RCVMT_SN = #{rcvmt.rcvmtSn} /* 수납 일련번호 */
, RCVMT_YMD = #{rcvmt.rcvmtYmd} /* 수납 일자 */
, RCVMT_AMT = #{rcvmt.rcvmtAmt} /* 수납 금액 */
, RCVMT_PCPTAX = #{rcvmt.rcvmtPcptax} /* 수납 본세 */
, RCVMT_ADAMT = #{rcvmt.rcvmtAdamt} /* 수납 가산금 */
, RCVMT_INT = #{rcvmt.rcvmtInt} /* 수납 이자 */
, RCVMT_BANK_NM = #{rcvmt.rcvmtBankNm} /* 수납 은행 명 */
, PAY_MTHD_SE_CD = #{rcvmt.payMthdSeCd} /* 납부 방법 구분 코드 */
, PSTMRK_YMD = #{rcvmt.pstmrkYmd} /* 소인 일자 */
, ACNTG_YMD = #{rcvmt.acntgYmd} /* 회계 일자 */
, VRACTNO = #{rcvmt.vractno} /* 가상계좌번호 */
, EPAYNO = #{rcvmt.epayno} /* 전자납부번호 */
, RCVMT_SE_CD = #{rcvmt.rcvmtSeCd} /* 수납 구분 코드 */
, NXRP_LEVY_KEY = #{rcvmt.nxrpLevyKey} /* 세외수입 부과 키 */
, RCVMT_RTRCN_YN = #{rcvmt.rcvmtRtrcnYn} /* 수납 취소 여부 */
, RCVMT_RTRCN_DT = #{rcvmt.rcvmtRtrcnDt} /* 수납 취소 일시 */
, RCVMT_RTRCN_RSN = #{rcvmt.rcvmtRtrcnRsn} /* 수납 취소 사유 */
, RCVMT_STTS_CD = #{rcvmt.rcvmtSttsCd} /* 수납 상태 코드 */
, MDFCN_DT = #{rcvmt.lastModified} /* 수정 일시 */
, MDFR = #{rcvmt.modifiedBy} /* 수정자 */
WHERE RCVMT_ID = #{rcvmt.rcvmtId} /* 수납 ID */
AND DEL_YN = 'N' /* 삭제 여부 */
SET LEVY_ID = #{rcvmt.levyId} <!-- 부과 ID -->
, RCVMT_INPT_SE_CD = #{rcvmt.rcvmtInptSeCd} <!-- 수납 입력 구분 코드 -->
, DEPT_CD = #{rcvmt.deptCd} <!-- 부서 코드 -->
, FYR = #{rcvmt.fyr} <!-- 회계연도 -->
, ACNTG_SE_CD = #{rcvmt.acntgSeCd} <!-- 회계 구분 코드 -->
, TXITM_CD = #{rcvmt.txitmCd} <!-- 세목 코드 -->
, LEVY_NO = #{rcvmt.levyNo} <!-- 부과 번호 -->
, INSPY_SN = #{rcvmt.inspySn} <!-- 분납 일련번호 -->
, LAST_PCPTAX = #{rcvmt.lastPcptax} <!-- 최종 본세 -->
, LAST_ADAMT = #{rcvmt.lastAdamt} <!-- 최종 가산금 -->
, RCVMT_SN = #{rcvmt.rcvmtSn} <!-- 수납 일련번호 -->
, RCVMT_YMD = #{rcvmt.rcvmtYmd} <!-- 수납 일자 -->
, RCVMT_AMT = #{rcvmt.rcvmtAmt} <!-- 수납 금액 -->
, RCVMT_PCPTAX = #{rcvmt.rcvmtPcptax} <!-- 수납 본세 -->
, RCVMT_ADAMT = #{rcvmt.rcvmtAdamt} <!-- 수납 가산금 -->
, RCVMT_INT = #{rcvmt.rcvmtInt} <!-- 수납 이자 -->
, RCVMT_BANK_NM = #{rcvmt.rcvmtBankNm} <!-- 수납 은행 명 -->
, PAY_MTHD_SE_CD = #{rcvmt.payMthdSeCd} <!-- 납부 방법 구분 코드 -->
, PSTMRK_YMD = #{rcvmt.pstmrkYmd} <!-- 소인 일자 -->
, ACNTG_YMD = #{rcvmt.acntgYmd} <!-- 회계 일자 -->
, VRACTNO = #{rcvmt.vractno} <!-- 가상계좌번호 -->
, EPAYNO = #{rcvmt.epayno} <!-- 전자납부번호 -->
, RCVMT_SE_CD = #{rcvmt.rcvmtSeCd} <!-- 수납 구분 코드 -->
, NXRP_LEVY_KEY = #{rcvmt.nxrpLevyKey} <!-- 세외수입 부과 키 -->
, RCVMT_RTRCN_YN = #{rcvmt.rcvmtRtrcnYn} <!-- 수납 취소 여부 -->
, RCVMT_RTRCN_DT = #{rcvmt.rcvmtRtrcnDt} <!-- 수납 취소 일시 -->
, RCVMT_RTRCN_RSN = #{rcvmt.rcvmtRtrcnRsn} <!-- 수납 취소 사유 -->
, RCVMT_STTS_CD = #{rcvmt.rcvmtSttsCd} <!-- 수납 상태 코드 -->
, MDFCN_DT = #{rcvmt.lastModified} <!-- 수정 일시 -->
, MDFR = #{rcvmt.modifiedBy} <!-- 수정자 -->
WHERE RCVMT_ID = #{rcvmt.rcvmtId} <!-- 수납 ID -->
AND DEL_YN = 'N' <!-- 삭제 여부 -->
</update>
<update id="deleteRcvmt" parameterType="map">/* 수납 대장 삭제(rcvmtMapper.deleteRcvmt) */
UPDATE TB_RCVMT
SET DEL_YN = 'Y' /* 삭제 여부 */
, DEL_DT = #{rcvmt.lastModified} /* 삭제 일시 */
, DLTR = #{rcvmt.modifiedBy} /* 삭제자 */
, DEL_RSN = #{rcvmt.delRsn} /* 삭제 사유 */
WHERE RCVMT_ID = #{rcvmt.rcvmtId} /* 수납 ID */
AND DEL_YN = 'N' /* 삭제 여부 */
SET DEL_YN = 'Y' <!-- 삭제 여부 -->
, DEL_DT = #{rcvmt.lastModified} <!-- 삭제 일시 -->
, DLTR = #{rcvmt.modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{rcvmt.delRsn} <!-- 삭제 사유 -->
WHERE RCVMT_ID = #{rcvmt.rcvmtId} <!-- 수납 ID -->
AND DEL_YN = 'N' <!-- 삭제 여부 -->
</update>
</mapper>

@ -686,9 +686,9 @@
// 삭제 메세지 확인
dialog.alert({
content : "선택하신 단속 정보를 삭제하시겠습니까?"
content : "선택한 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : () => {
// 삭제 사유 입력
// 사유 입력
let popupWidth = 640;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);

@ -200,6 +200,7 @@
**************************************************************************/
$P.control = new DatasetControl({
prefix : "opnn"
, prefixName : "의견제출"
, keymapper : info => info ? info.OPNN_ID : ""
, dataGetter : obj => obj.opnnSbmsn
, formats : {
@ -429,7 +430,7 @@
$P.control.getInfo(params);
}
// 의견제출삭제 버튼 이벤트
// 의견제출 삭제 버튼 이벤트
$P.fnRemoveOpnnSbmsn = () => {
// 버튼 title
let btnTitle = $("#btnRemoveOpnnSbmsn--${pageName}").attr("title");
@ -445,7 +446,8 @@
// 의견제출 상태 코드 확인
if (opnnSbmsnSttsCd != '00' && opnnSbmsnSttsCd != '03') {
dialog.alert({
content : "의견제출 심의결과가 '" + opnnSbmsnSttsNm + "' 입니다."
content : "의견제출 심의결과가 '접수' 또는 '자진취하' 자료만 삭제 가능합니다."
// + "<br>" + "의견제출 심의결과가 '" + opnnSbmsnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
@ -454,9 +456,9 @@
// 삭제 메세지 확인
dialog.alert({
content : "선택한 의견제출 정보를 삭제하시겠습니까?"
content : "선택한 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : () => {
// 삭제 사유 입력
// 사유 입력
let popupWidth = 640;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);

@ -210,7 +210,7 @@
// 발송 상세 정보 DatasetControl
$P.sndngDtlControl = new DatasetControl({
prefix : "sndng"
, prefixName : "발송 상세 정보"
, prefixName : "발송상세"
, keymapper : info => info ? info.SNDNG_DTL_ID : ""
, dataGetter : obj => obj.sndngDtlList
, appendData : true
@ -228,7 +228,7 @@
// 공시송달 정보 DatasetControl
$P.svbtcControl = new DatasetControl({
prefix : "svbtc"
, prefixName : "공시송달 정보"
, prefixName : "공시송달"
, keymapper : info => info ? info.SVBTC_ID : ""
, dataGetter : obj => obj.svbtcList
, appendData : true
@ -246,11 +246,6 @@
$P.renderSndngList();
};
// 공시송달 Dataset 변경
$P.svbtcControl.onDatasetChange = obj => {
$P.renderSvbtcList();
}
// 발송 상세 선택 자료 변경 이벤트
$P.sndngDtlControl.onCurrentChange = item => {
if (!item) return;
@ -287,6 +282,11 @@
$("#epayno--${pageName}").val(item.data.EPAYNO_MASK); // 전자납부번호
}
// 공시송달 Dataset 변경
$P.svbtcControl.onDatasetChange = obj => {
$P.renderSvbtcList();
}
// 공시송달 선택 자료 변경 이벤트
$P.svbtcControl.onCurrentChange = item => {
if (!item) return;
@ -335,7 +335,7 @@
if (!params) return;
ajax.post({
url : wctx.url("/" + params.taskSeCd + "/sndb/sndb01/210/delete.do")
url : wctx.url("/" + params.taskSeCd + "/sndb/sndb01/210/remove.do")
, data : params
, success : resp => $P.sndngDtlControl.onRemove(resp)
});
@ -381,8 +381,8 @@
**************************************************************************/
// 자료 재조회
$P.refreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -447,7 +447,7 @@
// 발송상세 상태코드 확인 (FIM050 - 03:발송 04:발송확인)
if (sndngDtlSttsCd != "03" && sndngDtlSttsCd != "04") {
dialog.alert({
content : "발송상세 상태가 '" + sndngDtlSttsNm + "' 입니다."
content : "발송상세 상태가 '발송' 또는 '발송확인' 자료만 등록 가능합니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
@ -506,7 +506,7 @@
// 발송상세 상태코드 확인 (FIM050 - 05:반송)
if (sndngDtlSttsCd != "05") {
dialog.alert({
content : "발송상세 상태가 '" + sndngDtlSttsNm + "' 입니다."
content : "발송상세 상태가 '반송' 자료만 삭제 가능합니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});

@ -685,9 +685,9 @@
// 삭제 메세지 확인
dialog.alert({
content : "선택하신 " + $P.rductControl.prefixName + " 정보를 삭제하시겠습니까?"
content : "선택 " + $P.rductControl.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : () => {
// 삭제 사유 입력
// 사유 입력
let popupWidth = 640;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
@ -814,9 +814,9 @@
// 삭제 메세지 확인
dialog.alert({
content : "선택하신 " + $P.levyExclControl.prefixName + " 정보를 삭제하시겠습니까?"
content : "선택 " + $P.levyExclControl.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : () => {
// 삭제 사유 입력
// 사유 입력
let popupWidth = 640;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
@ -842,13 +842,13 @@
// 이벤트 설정
$P.setEvent = () => {
// 업무 버튼 이벤트
$("#btnCreateRduct--${pageName}").on("click", () => $P.fnCreateRduct()); // 개별 반송 등록 버튼 이벤트
$("#btnUpdateRduct--${pageName}").on("click", () => $P.fnUpdateRduct()); // 개별 반송 수정 버튼 이벤트
$("#btnRemoveRduct--${pageName}").on("click", () => $P.fnRemoveRduct()); // 개별 반송 삭제 버튼 이벤트
$("#btnCreateWrng--${pageName}").on("click", () => $P.fnCreateWrng()); // 개별 반송 등록 버튼 이벤트
$("#btnCreateLevyExcl--${pageName}").on("click", () => $P.fnCreateLevyExcl()); // 개별 반송 등록 버튼 이벤트
$("#btnUpdateLevyExcl--${pageName}").on("click", () => $P.fnUpdateLevyExcl()); // 개별 반송 수정 버튼 이벤트
$("#btnRemoveLevyExcl--${pageName}").on("click", () => $P.fnRemoveLevyExcl()); // 개별 반송 삭제 버튼 이벤트
$("#btnCreateRduct--${pageName}").on("click", () => $P.fnCreateRduct()); // 감경 등록 버튼 이벤트
$("#btnUpdateRduct--${pageName}").on("click", () => $P.fnUpdateRduct()); // 감경 수정 버튼 이벤트
$("#btnRemoveRduct--${pageName}").on("click", () => $P.fnRemoveRduct()); // 감경 삭제 버튼 이벤트
$("#btnCreateWrng--${pageName}").on("click", () => $P.fnCreateWrng()); // 계고 등록 버튼 이벤트
$("#btnCreateLevyExcl--${pageName}").on("click", () => $P.fnCreateLevyExcl()); // 비부과 등록 버튼 이벤트
$("#btnUpdateLevyExcl--${pageName}").on("click", () => $P.fnUpdateLevyExcl()); // 부과제외 수정 버튼 이벤트
$("#btnRemoveLevyExcl--${pageName}").on("click", () => $P.fnRemoveLevyExcl()); // 부과제외 삭제 버튼 이벤트
// DataTables width 변경 조정
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );

@ -260,17 +260,23 @@
/**************************************************************************
* Global Variable
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/sprt/sprt02";
pageObject["${pageName}"] = {};
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
/**************************************************************************
* DatasetControl 이벤트
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "totalInfoLevy"
, prefixName : "부과체납 정보"
$P.control = new DatasetControl({
prefix : "levy"
, keymapper : info => info ? info.LEVY_ID : ""
, dataGetter : obj => obj.levy
, formats : {
@ -293,12 +299,19 @@
}
});
${pageName}Control.onCurrentChange = item => {
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = item => {
if (!item) return;
${pageName}Fields.set(item);
$P.formFields.set(item);
let key = item.data.LEVY_ID;
// 가상계좌번호
if (key != null) {
let vrActno = "";
if (item.data.BANK_NM != null && item.data.BANK_NM != "") vrActno += item.data.BANK_NM + " " + item.data.VR_ACTNO + "\n"; // 가상 계좌번호
@ -324,14 +337,15 @@
$("#vrActno--${pageName}").val(vrActno);
}
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 자료 재조회
refreshDataInfo${pageName} = () => {
$P.refreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -344,22 +358,21 @@
};
ajax.get({
url : wctx.url(params.taskSeCd + "/sprt/sprt02/060/info.do")
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/060/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data : params || {}
, success : resp => {
// 화면 초기화
$("#frmEdit--${pageName}")[0].reset();
// Dataset 초기화
${pageName}Control.dataset.clear();
// 초기화
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.control.dataset.clear(); // Dataset 초기화
// 의견제출 정보
// 부과 정보
if (resp.levy) {
${pageName}Control.setData([resp.levy]);
$P.control.setData([resp.levy]);
}
// 최상단 단속 Data 셋팅
if (resp.totalInfo) {
${pageNameMain}Control.setData([resp.totalInfo]);
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
}
}
});
@ -374,45 +387,32 @@
* 초기 셋팅
**************************************************************************/
// 이벤트 설정
setEvent${pageName} = () => {
}
// 화면 초기 설정
initForm${pageName} = () => {
// 화면 초기화
$("#frmEdit--${pageName}")[0].reset();
$P.setEvent = () => {
// 업무 버튼 이벤트
}
// 화면 데이터 셋팅
setFormData${pageName} = () => {
// 기본 데이터 설정
$P.initData = () => {
// 화면 호출(callPurpose)이 view 라면 버튼 비활성화
if (${pageNameMain}CallPurpose == "view") {
// button 요소들을 disabled = true
} else {
// button 요소들을 disabled = false
}
}
/**************************************************************************
* script 진입
* 최초 실행 함수
**************************************************************************/
$(document).ready(function() {
// 이벤트 설정
setEvent${pageName}();
// 1. 이벤트 설정
$P.setEvent();
// 화면 초기 설정
initForm${pageName}();
// 2. 기본 데이터 설정
$P.initData();
// 부과 정보 Data 셋팅
let levy = ${levy};
// 3. Dataset 설정
let levy = ${levy}; // 부과 정보
if (levy) {
${pageName}Control.setData([levy]);
$P.control.setData([levy]);
}
// 화면 데이터 셋팅
setFormData${pageName}();
});
// #sourceURL=sprt02060-info.jsp
</script>

@ -13,13 +13,13 @@
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">수납 정보</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateRcvmt--${pageName}" title="수납 등록" onclick="fnCreateRcvmt${pageName}();">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateRcvmt--${pageName}" title="수납 등록">
수납 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateRcvmtRtrc--${pageName}" title="수납 취소" onclick="fnUpdateRcvmtRtrcn${pageName}();">
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateRcvmtRtrc--${pageName}" title="수납 취소">
수납 취소
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveRcvmt--${pageName}" title="수납 삭제" onclick="fnRemoveRcvmt${pageName}();">
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveRcvmt--${pageName}" title="수납 삭제">
수납 삭제
</button>
</span>
@ -62,10 +62,10 @@
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<template id="rcvmtRow--${pageName}">
<tr data-key="{RCVMT_ID}">
<td class="text-center" onclick="{onclick}">{RCVMT_SN}</td>
<td class="text-center" onclick="{onclick}">{RCVMT_RTRCN_NM}</td>
<td class="text-center text-red" onclick="{onclick}">{RCVMT_RTRCN_NM}</td>
<td class="text-center" onclick="{onclick}">{FYR}</td>
<td class="text-center" onclick="{onclick}">{ACNTG_SE_CD}</td>
<td class="text-center" onclick="{onclick}">{TXITM_CD}</td>
@ -91,7 +91,7 @@
<td class="text-center" onclick="{onclick}">{RGTR_NM}</td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<template id="rcvmtNotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="25" class="dataTables_empty text-center">수납정보 이력 정보를 찾지 못했습니다.</td>
</tr>
@ -227,19 +227,27 @@
/**************************************************************************
* Global Variable
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/rcvm/rcvm01";
pageObject["${pageName}"] = {};
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
/**************************************************************************
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
$P.control = new DatasetControl({
prefix : "rcvmt"
, prefixName : "수납 정보"
, prefixName : "수납"
, keymapper : info => info ? info.RCVMT_ID : ""
, dataGetter : obj => obj.rcvmt
, appendData : true
, formats : {
RCVMT_YMD : dateFormat
, ACNTG_YMD : dateFormat
@ -258,127 +266,107 @@
* DatasetControl 이벤트
**************************************************************************/
// Dataset 변경 이벤트
${pageName}Control.onDatasetChange = obj => {
renderList${pageName}();
$("#paging--${pageName}").setPagingInfo({
list : ${pageName}Control.dataset
, prefix : "paging--${pageName}"
, start : obj.${infoPrefix}Start
, totalSize : obj.${infoPrefix}Total
, fetchSize : obj.${infoPrefix}Fetch
, func : "${pageName}Control.load({index})"
});
$P.control.onDatasetChange = obj => {
$P.renderList();
};
// 현재 선택 자료 변경 이벤트
${pageName}Control.onCurrentChange = item => {
$P.control.onCurrentChange = item => {
if (!item) return;
let key = item.data.RCVMT_ID;
$("#tbody--${pageName}").setCurrentRow(key); // datatable에 자료 셋팅
${pageName}Fields.set(item); // 화면에 자료 셋팅
$P.formFields.set(item); // 화면에 자료 셋팅
};
// 수기 수납 등록
${pageName}Control.getInfo = (params) => {
let dialogTitle = "";
if (params.callPurpose == "create") {
dialogTitle = ${pageName}Control.prefixName + " 등록";
} else if (params.callPurpose == "update") {
dialogTitle = ${pageName}Control.prefixName + " 수정";
} else {
return;
}
$P.control.getInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do")
url : wctx.url("/" + params.taskSeCd + "/rcvm/rcvm01/020/info.do")
, data : params || {}
, success : resp => {
dialog.open({
id : ${pageName}Control.prefixed("Dialog")
, title : dialogTitle
id : $P.control.prefixed("Dialog")
, title : params.btnTitle
, content : resp
, size : "lg"
, init : () => { }
, onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 재조회
, onClose : () => { $P.refreshDataInfo(); }
});
}
});
}
// 수기 수납 취소
updateRcvmtRtrcn${pageName} = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, rcvmtId : ${pageName}Control.dataset.getValue("RCVMT_ID") // 수납 ID
, rcvmtRtrcnYn : "Y" // 수납 취소 여부
, rcvmtRtrcnRsn : obj.reason // 수납 취소 사유
};
ajax.post({
url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/010/updateRcvmtRtrcn.do")
, data : params
, success : resp => {
let btnTitle = $("#btnUpdateRcvmtRtrc--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
// 수기 수납 취소 callback
$P.control.onSave = (resp) => {
let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
dialog.alert(showMessage); // 메시지 출력
// 메시지 출력
dialog.alert({
content : showMessage
, onOK : () => { }
});
if (resp.saved) {
refreshDataInfo${pageName}(); // 자료 재조회
$P.refreshDataInfo();
}
}
});
}
// 수기 수납 삭제
removeRcvmt${pageName} = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose : "remove"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, rcvmtId : ${pageName}Control.dataset.getValue("RCVMT_ID") // 수납 ID
, delRsn : obj.reason // 삭제 사유
};
// 수기 수납 취소
$P.control.save = (params) => {
if (!params) return;
ajax.post({
url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/010/remove.do")
url : wctx.url("/" + params.taskSeCd + "/rcvm/rcvm01/010/updateRcvmtRtrcn.do")
, data : params
, success : resp => {
, success : resp => $P.control.onSave(resp)
});
}
// 수기 수납 삭제 callback
$P.control.onRemove = (resp) => {
let btnTitle = $("#btnRemoveRcvmt--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); // 메시지 출력
dialog.alert({
content : showMessage
, onOK : () => { }
});
if (resp.saved) {
refreshDataInfo${pageName}(); // 자료 재조회
$P.refreshDataInfo();
}
}
// 수기 수납 삭제
$P.control.remove = (params) => {
if (!params) return;
ajax.post({
url : wctx.url("/" + params.taskSeCd + "/rcvm/rcvm01/010/remove.do")
, data : params
, success : resp => $P.control.onRemove(resp)
});
}
/**************************************************************************
* DataTables 이벤트
**************************************************************************/
// DataTables에 click 이벤트
renderList${pageName} = () => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty;
// DataTables에 click, dbclick 이벤트
$P.renderList = () => {
let rcvmtList = $P.control.dataset;
let empty = rcvmtList.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
[document.getElementById("rcvmtNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
rcvmtList.inStrings(
document.getElementById("rcvmtRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("RCVMT_ID") + "');")
.replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("RCVMT_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
@ -388,9 +376,9 @@
* 사용자 함수(function)
**************************************************************************/
// 자료 재조회
refreshDataInfo${pageName} = () => {
$P.refreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -403,65 +391,106 @@
};
ajax.get({
url : wctx.url(params.taskSeCd + "/sprt/sprt02/070/info.do")
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/070/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data : params || {}
, success : resp => {
// Dataset 초기화
${pageName}Control.dataset.clear();
// 초기화
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.control.dataset.clear(); // 수납 Dataset 초기화
// Dataset 셋팅
$P.control.setData(resp.rcvmt); // 수납 정보
// 단속 정보
// 최상단 단속 Data 셋팅
if (resp.totalInfo) {
${pageNameMain}Control.setData([resp.totalInfo]);
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
}
// 수납 정보
${pageName}Control.setData(resp.rcvmt);
}
});
}
// 수정 callback
$P.callbackUpdate = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose : "update"
, rcvmtId : $P.control.dataset.getValue("RCVMT_ID") // 수납 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, rcvmtRtrcnYn : "Y" // 수납 취소 여부
, rcvmtRtrcnRsn : obj.reason // 수납 취소 사유
};
$P.control.save(params);
}
// 삭제 callback
$P.callbackRemove = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose : "remove"
, rcvmtId : $P.control.dataset.getValue("RCVMT_ID") // 수납 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, delRsn : obj.reason // 삭제 사유
};
$P.control.remove(params);
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 수기 수납 등록
fnCreateRcvmt${pageName} = () => {
let crdnId = $("#crdnId--${pageNameMain}").val();
$P.fnCreateRcvmt = () => {
// 버튼 title
let btnTitle = $("#btnCreateRcvmt--${pageName}").attr("title");
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose : "create"
, btnTitle : btnTitle
, crdnId : crdnId
, sggCd : $("#sggCd--${pageNameMain}").val()
, taskSeCd : $("#taskSeCd--${pageNameMain}").val()
};
${pageName}Control.getInfo(params);
$P.control.getInfo(params);
}
// 수기 수납 취소
fnUpdateRcvmtRtrcn${pageName} = () => {
// 수납 ID
let rcvmtId = ${pageName}Control.dataset.getValue("RCVMT_ID");
$P.fnUpdateRcvmtRtrcn = () => {
// 버튼 title
let btnTitle = $("#btnUpdateRcvmtRtrc--${pageName}").attr("title");
// 수납 ID
let rcvmtId = $P.control.dataset.getValue("RCVMT_ID");
// 수납 ID 가 없다면.. return
if (typeof rcvmtId == "undefined" || rcvmtId == null || rcvmtId == "") return;
// 수납 취소 메세지 확인
dialog.alert({
content : "수납 취소시 과오납 대장이 생성됩니다.<br>계속하시겠습니까?"
content : btnTitle + " 진행시 과오납이 발생합니다."
+ "<br>" + "계속 진행하시겠습니까?"
, onOK : () => {
let callbackFuncName = "updateRcvmtRtrcn${pageName}";
// 사유 입력
let popupWidth = 640;
let popupHeight = 360;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY= (window.screen.height / 2) - (popupHeight / 2);
let popupY = (window.screen.height / 2) - (popupHeight / 2);
window.open(
wctx.url("/resources/html/inputRsnDialog.html"
+ "?callbackFuncName=" + callbackFuncName
+ "&CALL_PURPOSE=" + "update"
)
encodeURI(wctx.url("/resources/html/inputRsnDialog.html"
+ "?openerPageName=${pageName}"
+ "&prefix=" + $P.control.prefix
+ "&usePurpose=" + "update"
+ "&ttlNm=" + "취소"
))
, "inputDelRsnDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
);
@ -470,64 +499,63 @@
}
// 수기 수납 삭제
fnRemoveRcvmt${pageName} = () => {
// 수납 ID
let rcvmtId = ${pageName}Control.dataset.getValue("RCVMT_ID");
$P.fnRemoveRcvmt = () => {
// 버튼 title
let btnTitle = $("#btnRemoveRcvmt--${pageName}").attr("title");
// 수납 ID
let rcvmtId = $P.control.dataset.getValue("RCVMT_ID");
// 수납 ID 가 없다면.. return
if (typeof rcvmtId == "undefined" || rcvmtId == null || rcvmtId == "") return;
// 수납 입력 구분이 03(수기) 일때만 삭제 가능
if (${pageName}Control.dataset.getValue("RCVMT_INPT_SE_CD") != "03") {
dialog.alert({
content : "수납입력구분이 수기로 등록된 자료만 삭제 가능합니다."
, onOK : () => { }
});
return;
}
// 수납 취소 여부가 "Y" 일때만 삭제 가능
if (${pageName}Control.dataset.getValue("RCVMT_RTRCN_YN") != "Y") {
let rcvmtInptSeCd = $P.control.dataset.getValue("RCVMT_INPT_SE_CD");
let rcvmtInptSeNm = $P.control.dataset.getValue("RCVMT_INPT_SE_NM");
if (rcvmtInptSeCd != "03") {
dialog.alert({
content : "수납이 취소된 자료만 삭제 가능합니다."
content : "수납입력 구분이 '수기' 자료만 삭제 가능합니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
let callbackFuncName = "removeRcvmt${pageName}";
// 삭제 메세지 확인
dialog.alert({
content : "선택한 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : () => {
// 사유 입력
let popupWidth = 640;
let popupHeight = 360;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY= (window.screen.height / 2) - (popupHeight / 2);
let popupY = (window.screen.height / 2) - (popupHeight / 2);
window.open(
wctx.url("/resources/html/inputRsnDialog.html"
+ "?callbackFuncName=" + callbackFuncName
+ "&CALL_PURPOSE=" + "remove"
)
encodeURI(wctx.url("/resources/html/inputRsnDialog.html"
+ "?openerPageName=${pageName}"
+ "&prefix=" + $P.control.prefix
+ "&usePurpose=" + "remove"
+ "&ttlNm=" + "삭제"
))
, "inputDelRsnDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
);
}
});
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트 설정
setEvent${pageName} = () => {
$P.setEvent = () => {
$("#btnCreateRcvmt--${pageName}").on("click", () => $P.fnCreateRcvmt()); // 수납 등록 버튼 이벤트
$("#btnUpdateRcvmtRtrc--${pageName}").on("click", () => $P.fnUpdateRcvmtRtrcn()); // 수납 취소 버튼 이벤트
$("#btnRemoveRcvmt--${pageName}").on("click", () => $P.fnRemoveRcvmt()); // 수납 삭제 버튼 이벤트
}
// 화면 초기 설정
initForm${pageName} = () => {
// 화면 초기화
$("#frmEdit--${pageName}")[0].reset();
}
// 화면 초기값 설정
setFormData${pageName} = () => {
// 기본 데이터 설정
$P.initData = () => {
// 화면 호출(callPurpose)이 view 라면 버튼 비활성화
if (${pageNameMain}CallPurpose == "view") {
$("#btnCreateRcvmt--${pageName}").prop("disabled", true);
@ -541,7 +569,7 @@
// 주정차위반, 전용차로위반과태료 외에는 수납 등록, 취소, 삭제 기능이 없어야 한다.
let taskSeCd = $("#taskSeCd--${pageNameMain}").val();
/*
/*
if (taskSeCd == "BPV" || taskSeCd == "PVS") {
$("#btnCreateRcvmt--${pageName}").show();
$("#btnUpdateRcvmtRtrc--${pageName}").show();
@ -551,27 +579,23 @@
$("#btnUpdateRcvmtRtrc--${pageName}").hide();
$("#btnRemoveRcvmt--${pageName}").hide();
}
*/
*/
}
/**************************************************************************
* script 진입
* 최초 실행 함수
**************************************************************************/
$(document).ready(function() {
// 이벤트 설정
setEvent${pageName}();
// 1. 이벤트 설정
$P.setEvent();
// 화면 초기 설정
initForm${pageName}();
// 2. 기본 데이터 설정
$P.initData();
// 수납 정보 Data 셋팅
let rcvmt = ${rcvmt};
// 3. Dataset 설정
let rcvmt = ${rcvmt}; // 수납 정보 Data 셋팅
if (rcvmt) {
${pageName}Control.setData(${rcvmt});
$P.control.setData(${rcvmt});
}
// 화면 데이터 셋팅
setFormData${pageName}();
});
</script>

@ -77,8 +77,12 @@
, reason : $("#reason").val() // 사유
};
if (usePurpose == "remove") {
if (usePurpose == "update") {
window.opener.pageObject[openerPageName].callbackUpdate(obj);
} else if (usePurpose == "remove") {
window.opener.pageObject[openerPageName].callbackRemove(obj);
} else if (usePurpose == "download") {
window.opener.pageObject[openerPageName].callbackDownload(obj);
} else {
window.opener.pageObject[openerPageName].callback(obj);
}

Loading…
Cancel
Save