1. 소스정리.

2. 이전 세외수입 연계 관련 정보 삭제.
main
jjh 6 months ago
parent 6f5140018e
commit c12bbef5c0

@ -221,7 +221,6 @@ public class Excl02Controller extends ApplicationController {
return mav.addObject("rtnMsg", "이미 등록된 의견제출 정보가 있습니다.");
} else {
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/excl/excl02020-info");
// View(jsp)에서 사용할 공통코드를 조회

@ -65,6 +65,7 @@ public class Levy01Controller extends ApplicationController {
@Resource(name="taskBean")
private TaskBean taskBean;
/**설정 정보 Bean */
@Resource(name="stngBean")
private StngBean stngBean;
@ -86,13 +87,13 @@ public class Levy01Controller extends ApplicationController {
return mav
.addObject("pageName", "levy01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "rductLevyTrgt") // prefix
.addObject("infoPrefixUrl", "/levy/levy01") // prefixUrl
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054")))
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
;
}
/** .<br />
/** .
* {@link LevyService#getRductLevyTrgtList(LevyQuery)}
* @param req
* @return jsonView
@ -103,7 +104,7 @@ public class Levy01Controller extends ApplicationController {
* "levyTotal":
* }</code></pre>
*/
@Task
@Task({"DPV", "PVS","BPV"})
@RequestMapping(name="사전 감경부과 대상 목록 조회", value=METHOD_URL.getReductionLevyTargetList)
public ModelAndView getReductionLevyTargetList(LevyQuery req) {
if (!"xls".equals(req.getDownload())) {
@ -169,7 +170,7 @@ public class Levy01Controller extends ApplicationController {
* "rductLevyYmdInfo":
* }</pre>
*/
@Task
@Task({"DPV", "PVS","BPV"})
@RequestMapping(name="사전 감경부과 정보 조회", value=METHOD_URL.getReductionLevyTargetInfo)
public ModelAndView getReductionLevyTargetInfo(LevyQuery req) {
// 감경 부과일자
@ -177,7 +178,6 @@ public class Levy01Controller extends ApplicationController {
.setTaskSeCd(req.getTaskSeCd()));
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/levy/levy01020-info");
// 이전에 조회되었던 총건수, 금액
@ -187,6 +187,8 @@ public class Levy01Controller extends ApplicationController {
return mav
.addObject("pageName", "levy01020")
.addObject("infoPrefix", "rductLevyTrgt") // prefix
.addObject("infoPrefixUrl", "/levy/levy01") // prefixUrl
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("mainQuery", json ? req : toJson(req)) // 검색 조건
.addObject("rductLevyTrgtInfo", json ? info : toJson(info))
@ -200,7 +202,7 @@ public class Levy01Controller extends ApplicationController {
* "saved": true, false
* }</code></pre>
*/
@Task
@Task({"DPV", "PVS","BPV"})
@RequestMapping(name="사전 감경부과 대장 등록", value=METHOD_URL.createReductionLevyList)
public ModelAndView createReductionLevyList(LevyQuery req) {
boolean saved = false;
@ -232,15 +234,15 @@ public class Levy01Controller extends ApplicationController {
return mav.addObject("pageName", "levy01050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "levy") // prefix
.addObject("infoPrefixUrl", "/levy/levy01") // prefixUrl
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054")))
.addObject("FIM010List", commonCodes.get("FIM010")) // 단속 상태 코드(CRDN_STTS_CD)
.addObject("FIM046List", commonCodes.get("FIM046")) // 감경 구분 코드(RDUCT_SE_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
;
}
/** .<br />
/** .
* {@link LevyService#getLevyList(LevyQuery)}
* @param req
* @return jsonView
@ -339,6 +341,11 @@ public class Levy01Controller extends ApplicationController {
}
}
/** .
* @param levy
* @return jsonView

@ -1,205 +0,0 @@
package cokr.xit.fims.nxrp;
import cokr.xit.foundation.AbstractEntity;
import lombok.Getter;
import lombok.Setter;
/**
*
* @author JoJH
*/
@Getter
@Setter
public class NxrpMtchg extends AbstractEntity {
/**
* ID
*/
private String mtchgId;
/**
* ID
*/
private String crdnId;
/**
*
*/
private String crdnDt;
/**
*
*/
private String stdgNm;
/**
*
*/
private String crdnPlc;
/**
* ID
*/
private String linkRsltId;
/**
*
*/
private String lvyKey;
/**
*
*/
private String acntgYr;
/**
*
*/
private String levyNo;
/**
*
*/
private int levyAmt;
/**
*
*/
private int adtnAmt;
/**
*
*/
private int sumAmt;
/**
*
*/
private String epayno;
/**
* 1
*/
private String bankNm;
/**
* 1
*/
private String vrActno;
/**
* 2
*/
private String bankNm2;
/**
* 2
*/
private String vrActno2;
/**
* 3
*/
private String bankNm3;
/**
* 3
*/
private String vrActno3;
/**
* 4
*/
private String bankNm4;
/**
* 4
*/
private String vrActno4;
/**
* 5
*/
private String bankNm5;
/**
* 5
*/
private String vrActno5;
/**
* 6
*/
private String bankNm6;
/**
* 6
*/
private String vrActno6;
/**
* 7
*/
private String bankNm7;
/**
* 7
*/
private String vrActno7;
/**
* 8
*/
private String bankNm8;
/**
* 8
*/
private String vrActno8;
/**
* 9
*/
private String bankNm9;
/**
* 9
*/
private String vrActno9;
/**
* 10
*/
private String bankNm10;
/**
* 10
*/
private String vrActno10;
/**
* 11
*/
private String bankNm11;
/**
* 11
*/
private String vrActno11;
/**
*
*/
private String nxrpMtchgSttsCd;
/**
*
*/
private String delYn;
/**
*
*/
private String delRsn;
}

@ -1,144 +0,0 @@
package cokr.xit.fims.nxrp;
import cokr.xit.foundation.component.QueryRequest;
/**
*
* <p> :
*
* <pre>
* ============ ============
* 2023-11-16 JoJH
* ================================
* </pre>
*/
public class NxrpMtchgQuery extends QueryRequest {
private static final long serialVersionUID = 1L;
// ID
private String mtchgId; // 매칭 ID
private String lvyKey; // 부과 키
private String[] crdnIDs; // 단속 IDs
private String crdnId; // 단속 ID
private String[] sndngIds; // 발송 IDs
private String sndngId; // 발송 ID
private String[] sndngDtlIds; // 발송 상세 IDs
private String sndngDtlId; // 발송 상세 ID
// ETC
private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회).
private String delYn; // 삭제 여부
private String delRsn; // 삭제 사유
private String crdnDelYn; // 단속 삭제 여부
public String getMtchgId() {
return ifEmpty(mtchgId, () -> null);
}
public <T extends NxrpMtchgQuery> T setMtchgId(String mtchgId) {
this.mtchgId = mtchgId;
return self();
}
public String getLvyKey() {
return ifEmpty(lvyKey, () -> null);
}
public <T extends NxrpMtchgQuery> T setLvyKey(String lvyKey) {
this.lvyKey = lvyKey;
return self();
}
public String[] getCrdnIDs() {
return ifEmpty(crdnIDs, () -> null);
}
public <T extends NxrpMtchgQuery> T setCrdnIDs(String... crdnIDs) {
this.crdnIDs = crdnIDs;
return self();
}
public String getCrdnId() {
return ifEmpty(crdnId, () -> null);
}
public <T extends NxrpMtchgQuery> T setCrdnId(String crdnId) {
this.crdnId = crdnId;
return self();
}
public String[] getSndngIds() {
return ifEmpty(sndngIds, () -> null);
}
public <T extends NxrpMtchgQuery> T setSndngIds(String... sndngIds) {
this.sndngIds = sndngIds;
return self();
}
public String getSndngId() {
return ifEmpty(sndngId, () -> null);
}
public <T extends NxrpMtchgQuery> T setSndngId(String sndngId) {
this.sndngId = sndngId;
return self();
}
public String[] getSndngDtlIds() {
return ifEmpty(sndngDtlIds, () -> null);
}
public <T extends NxrpMtchgQuery> T setSndngDtlIds(String... sndngDtlIds) {
this.sndngDtlIds = sndngDtlIds;
return self();
}
public String getSndngDtlId() {
return ifEmpty(sndngDtlId, () -> null);
}
public <T extends NxrpMtchgQuery> T setSndngDtlId(String sndngDtlId) {
this.sndngDtlId = sndngDtlId;
return self();
}
// ETC /////////////////////////////////////////////////////////////////////
public String getCallPurpose() {
return ifEmpty(callPurpose, () -> null);
}
public <T extends NxrpMtchgQuery> T setCallPurpose(String callPurpose) {
this.callPurpose = callPurpose;
return self();
}
public String getDelYn() {
return ifEmpty(delYn, () -> null);
}
public <T extends NxrpMtchgQuery> T setDelYn(String delYn) {
this.delYn = delYn;
return self();
}
public String getDelRsn() {
return ifEmpty(delRsn, () -> null);
}
public <T extends NxrpMtchgQuery> T setDelRsn(String delRsn) {
this.delRsn = delRsn;
return self();
}
public String getCrdnDelYn() {
return ifEmpty(crdnDelYn, () -> null);
}
public <T extends NxrpMtchgQuery> T setCrdnDelYn(String crdnDelYn) {
this.crdnDelYn = crdnDelYn;
return self();
}
// ETC /////////////////////////////////////////////////////////////////////
}

@ -1,174 +0,0 @@
package cokr.xit.fims.nxrp.dao;
import java.util.List;
import java.util.Map;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.nxrp.NxrpMtchg;
import cokr.xit.fims.nxrp.NxrpMtchgQuery;
/** DAO
*
* <p> :
*
* <pre>
* ============ ============
* 2023-11-16 JoJH
* ================================
* </pre>
*/
@Mapper("nxrpMtchgMapper")
public interface NxrpMtchgMapper extends AbstractMapper {
/** .<br />
* @param req
* @return
*/
List<DataObject> selectNxrpMtchgList(NxrpMtchgQuery req);
/** .
* @param req
* @return
*/
List<DataObject> selectNxrpMtchgs(NxrpMtchgQuery req);
/** 1 .
* @param req
* @return
*/
default DataObject selectNxrpMtchgInfo(NxrpMtchgQuery req) {
// 기본 정렬
if (req.getDelYn() == null) {
req.setDelYn("N");
}
if (req.getOrderBy() == null) {
req.setOrderBy("NM.MTCHG_ID DESC");
}
List<DataObject> nxrpMtchgs = selectNxrpMtchgs(req);
return !nxrpMtchgs.isEmpty() ? nxrpMtchgs.get(0) : null;
}
/** ID .
* @param req
* @return
*/
DataObject selectCrdnLevy(String crdnId);
/** .
* @param params
* <ul><li>"nxrpMtchg" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int insertNxrpMtchg(Map<String, Object> params);
/** .
* @param nxrpMtchg
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean insert(NxrpMtchg nxrpMtchg) {
return nxrpMtchg != null && insertNxrpMtchg(params().set("nxrpMtchg", nxrpMtchg)) == 1;
}
/** .
* @param params
* <ul><li>"nxrpMtchg" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int updateNxrpMtchg(Map<String, Object> params);
/** .
* @param nxrpMtchg
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean update(NxrpMtchg nxrpMtchg) {
return nxrpMtchg != null && updateNxrpMtchg(params().set("nxrpMtchg", nxrpMtchg)) == 1;
}
/** ID .
* @param params
* <ul><li>"nxrpMtchg" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int updateLinkRsltId(Map<String, Object> params);
default boolean updateLinkRsltId(NxrpMtchg nxrpMtchg) {
return nxrpMtchg != null && updateLinkRsltId(params().set("nxrpMtchg", nxrpMtchg)) == 1;
}
/** .
* @param params
* <ul><li>"nxrpMtchg" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int updatePrcsSttsCd(Map<String, Object> params);
default boolean updatePrcsSttsCd(NxrpMtchg nxrpMtchg) {
return nxrpMtchg != null && updatePrcsSttsCd(params().set("nxrpMtchg", nxrpMtchg)) == 1;
}
/** .
* @param params
* <ul><li>"nxrpMtchg" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int updateNxrpLink(Map<String, Object> params);
default boolean updateNxrpLink(NxrpMtchg nxrpMtchg) {
return nxrpMtchg != null && updateNxrpLink(params().set("nxrpMtchg", nxrpMtchg)) == 1;
}
/** .
* @param params
* <ul><li>"nxrpMtchg" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int deleteNxrpMtchg(Map<String, ?> params);
/** .
* @param nxrpMtchg
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean delete(NxrpMtchg nxrpMtchg) {
return nxrpMtchg != null && deleteNxrpMtchg(params().set("nxrpMtchg", nxrpMtchg)) == 1;
}
/** ID .
* @param params
* <ul><li>"nxrpMtchg" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int deleteCrdnNxrpMtchg(Map<String, ?> params);
default boolean deleteCrdnNxrpMtchg(NxrpMtchg nxrpMtchg) {
return nxrpMtchg != null && deleteNxrpMtchg(params().set("nxrpMtchg", nxrpMtchg)) == 1;
}
}

@ -1,79 +0,0 @@
package cokr.xit.fims.nxrp.service;
import java.util.List;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.nxrp.NxrpMtchg;
import cokr.xit.fims.nxrp.NxrpMtchgQuery;
/** .
*
* <p> :
*
* <pre>
* ============ ============
* 2023-11-16 JoJH
* ================================
* </pre>
*/
public interface NxrpMtchgService {
/** .
* @param req
* @return
*/
List<DataObject> getNxrpMtchgList(NxrpMtchgQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getNxrpMtchgs(NxrpMtchgQuery req);
/** .
* @param req
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
String createNxrpLink(NxrpMtchgQuery req);
/** .
* @param req
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
String updateNxrpLink(NxrpMtchgQuery req);
/** .
* @param nxrpMtchg
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
String createNxrpMtchg(NxrpMtchg nxrpMtchg);
/** .
* @param nxrpMtchg
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
String updateNxrpMtchg(NxrpMtchg nxrpMtchg);
/** .
* @param nxrpMtchg
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
String removeNxrpMtchg(NxrpMtchg nxrpMtchg);
}

@ -1,325 +0,0 @@
package cokr.xit.fims.nxrp.service.bean;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.nxrp.dao.NxrpMtchgMapper;
import cokr.xit.fims.nxrp.NxrpMtchg;
import cokr.xit.fims.nxrp.NxrpMtchgQuery;
import cokr.xit.fims.sndb.SndbQuery;
import cokr.xit.fims.sndb.SndngDtl;
import cokr.xit.fims.sndb.dao.SndngDtlMapper;
import cokr.xit.fims.sndb.dao.SndngMapper;
/** Bean
*
* <p> :
*
* <pre>
* ============ ============
* 2023-11-16 JoJH
* ================================
* </pre>
*/
@Component("nxrpMtchgBean")
public class NxrpMtchgBean extends AbstractComponent {
/** 세외수입 매칭 내역 정보 DAO */
@Resource(name = "nxrpMtchgMapper")
private NxrpMtchgMapper nxrpMtchgMapper;
/** 발송 대장 정보 DAO */
@Resource(name = "sndngMapper")
private SndngMapper sndngMapper;
/** 발송 대장 정보 DAO */
@Resource(name = "sndngDtlMapper")
private SndngDtlMapper sndngDtlMapper;
/** .
* @param req
* @return
*/
public List<DataObject> getNxrpMtchgList(NxrpMtchgQuery req) {
return nxrpMtchgMapper.selectNxrpMtchgList(req);
}
/** .
* @param req
* @return
*/
public List<DataObject> getNxrpMtchgs(NxrpMtchgQuery req) {
return nxrpMtchgMapper.selectNxrpMtchgs(req);
}
/** ID 1 .
* @param req
* @return
*/
public DataObject getNxrpMtchgInfo(NxrpMtchgQuery req) {
return nxrpMtchgMapper.selectNxrpMtchgInfo(req);
}
/** .
* @param req
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String createNxrpLink(NxrpMtchgQuery req) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
// 2023.02.01 KDH 용인 밤샘주차는 세외수입 전송시 본고지 공문번호로 변경하여 전송해야됨
// 20200327 UIJIN 서울시 세외수입 엑셀 양식
// if () {
// rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
// return rtnMsg;
// }
// 세외수입 연계관련 정보 확인
//
// 세외수입 연계관련 정보 확인
// 발송상세 대상를 조회
SndbQuery sndbQuery = new SndbQuery();
sndbQuery.setSndngId(req.getSndngId());
sndbQuery.setDelYn("N");
List<DataObject> sndngDtlIds = sndngDtlMapper.selectSndngTrgtDtlIds(sndbQuery);
// 발송상세 대상 자료로 세외수입 매핑 내역 등록한다.
for (int iLoop = 0; iLoop < sndngDtlIds.size(); iLoop++) {
// 단속 자료 조회
DataObject sndngDtlInfo = sndngDtlMapper.selectSndngDtlInfo(new SndbQuery().setSndngDtlId(sndngDtlIds.get(iLoop).string("SNDNG_DTL_ID")));
if (sndngDtlInfo == null) {
throw new RuntimeException("세외수입 등록 작업중 단속자료가 존재하지 않습니다."); // 예외를 발생시켜서 DB Rollback
}
// 발송 상세 상태 코드 확인.
if ("00,01,02".contains(sndngDtlInfo.string("SNDNG_DTL_STTS_CD"))) {
// 세외수입 연계 등록 서비스 호출 //////////////////////////////////////////////
String linkRsltId = "0000000000";
// 세외수입 매칭 내역 정보 조회
DataObject nxrpMtchgInfo = nxrpMtchgMapper.selectNxrpMtchgInfo(new NxrpMtchgQuery().setCrdnId(sndngDtlInfo.string("CRDN_ID")));
NxrpMtchg nxrpMtchg = new NxrpMtchg();
if (nxrpMtchgInfo == null) {
nxrpMtchg.setCrdnId(sndngDtlInfo.string("CRDN_ID")); // 단속 ID
nxrpMtchg.setCrdnDt(sndngDtlInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시
nxrpMtchg.setStdgNm(sndngDtlInfo.string("CRDN_STDG_NM")); // 법정동 명
nxrpMtchg.setCrdnPlc(sndngDtlInfo.string("CRDN_PLC")); // 단속 장소
nxrpMtchg.setLinkRsltId(linkRsltId); // 연계 결과 ID
nxrpMtchg.setAcntgYr(sndngDtlInfo.string("FYR")); // 회계 연도
nxrpMtchg.setLevyNo(sndngDtlInfo.string("LEVY_NO")); // 부과 번호
nxrpMtchg.setLevyAmt(sndngDtlInfo.number("PCPTAX").intValue()); // 부과 금액
nxrpMtchg.setAdtnAmt(sndngDtlInfo.number("ADAMT").intValue()); // 가산 금액
nxrpMtchg.setSumAmt(sndngDtlInfo.number("SUM_AMT").intValue()); // 합계 금액
nxrpMtchg.setNxrpMtchgSttsCd("01"); // FIM073(세외수입 매칭 상태 코드) - 01 처리전
rtnScs = nxrpMtchgMapper.insert(nxrpMtchg); // 세외수입 매칭 내역 등록
} else {
nxrpMtchg.setMtchgId(nxrpMtchgInfo.string("MTCHG_ID")); // 매칭 ID
nxrpMtchg.setLinkRsltId(linkRsltId); // 연계 결과 ID
nxrpMtchg.setNxrpMtchgSttsCd("01"); // FIM073(세외수입 매칭 상태 코드) - 01 처리전
rtnScs = nxrpMtchgMapper.updateLinkRsltId(nxrpMtchg); // 세외수입 매칭 내역 수정
}
// 발송 상세 상태 코드 수정.
SndngDtl sndngDtl = new SndngDtl();
// sndngDtl.setMtchgId(nxrpMtchg.getMtchgId()); // 매칭 ID
sndngDtl.setSndngDtlSttsCd("01"); // FIM050(발송 상세 상태 코드) - 01 세외수입부과
sndngDtl.setSndngDtlId(sndngDtlIds.get(iLoop).string("SNDNG_DTL_ID")); // 발송 상세 ID
rtnScs = sndngDtlMapper.updateSndngDtlSttsCd(sndngDtl);
if (!rtnScs) {
throw new RuntimeException("세외수입 매칭 정보를 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
}
/** .
* @param req
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String updateNxrpLink(NxrpMtchgQuery req) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
for (int iLoop = 0; iLoop < req.getSndngDtlIds().length; iLoop++) {
// 세외수입 매칭 내역 정보 조회
DataObject nxrpMtchgInfo = nxrpMtchgMapper.selectNxrpMtchgInfo(new NxrpMtchgQuery().setCrdnId(req.getCrdnIDs()[iLoop])
.setDelYn("N"));
// 세외수입 조회 연계 호출 //////////////////////////////////////////////////
// 세외수입 매칭(TB_NXRP_MTCHG) 내역을 수정한다.
// NxrpMtchg nxrpMtchg = new NxrpMtchg();
// nxrpMtchg.setLvyKey("");
// nxrpMtchg.setAcntgYr("");
// nxrpMtchg.setLevyNo("");
// nxrpMtchg.setLevyAmt(0);
// nxrpMtchg.setAdtnAmt(0);
// nxrpMtchg.setSumAmt(0);
// nxrpMtchg.setNxrpMtchgSttsCd("02"); // FIM073(세외수입 매칭 상태 코드) - 02 처리완료
//
// rtnScs = nxrpMtchgMapper.updateNxrpLink(nxrpMtchg);
// if (!rtnScs) {
// throw new RuntimeException("세외수입매칭 대장에 세외수입연계 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
// }
// 부과 대장(TB_LEVY) 내역을 수정 한다.
// Levy levy = new Levy();
// 발송 상세(TB_SNDNG_DTL) 내역을 수정 한다.
// SndngDtl sndngDtl = new SndngDtl();
// sndngDtl.setLevKey("");
// sndngDtl.setFyr("");
// sndngDtl.setLevyNo("");
// sndngDtl.setPcptax(0);
// sndngDtl.setAdamt(0);
// sndngDtl.setSumAmt(0);
// sndngDtl.setEpayno("");
// sndngDtl.setBankNm("");
// sndngDtl.setVrActno("");
// sndngDtl.setBankNm2("");
// sndngDtl.setVrActno2("");
// sndngDtl.setBankNm3("");
// sndngDtl.setVrActno3("");
// sndngDtl.setBankNm4("");
// sndngDtl.setVrActno4("");
// sndngDtl.setBankNm5("");
// sndngDtl.setVrActno5("");
// sndngDtl.setBankNm6("");
// sndngDtl.setVrActno6("");
// sndngDtl.setBankNm7("");
// sndngDtl.setVrActno7("");
// sndngDtl.setBankNm8("");
// sndngDtl.setVrActno8("");
// sndngDtl.setBankNm9("");
// sndngDtl.setVrActno9("");
// sndngDtl.setBankNm10("");
// sndngDtl.setVrActno10("");
// sndngDtl.setBankNm11("");
// sndngDtl.setVrActno11("");
//
// sndngDtl.setSndngDtlSttsCd("02"); // FIM050(발송 상세 상태 코드) - 02 가상계좌취득
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
}
/** .
* @param nxrpMtchg
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String createNxrpMtchg(NxrpMtchg nxrpMtchg) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
rtnScs = nxrpMtchgMapper.insert(nxrpMtchg);
if (!rtnScs) {
throw new RuntimeException("세외수입 매칭 내역 정보를 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
}
/** .
* @param nxrpMtchg
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String updateNxrpMtchg(NxrpMtchg nxrpMtchg) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
rtnScs = nxrpMtchgMapper.update(nxrpMtchg);
if (!rtnScs) {
throw new RuntimeException("세외수입 매칭 내역 정보를 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
}
/** .
* @param nxrpMtchg
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String removeNxrpMtchg(NxrpMtchg nxrpMtchg) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
rtnScs = nxrpMtchgMapper.delete(nxrpMtchg);
if (!rtnScs) {
throw new RuntimeException("세외수입 매칭 내역 정보를 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
}
/** ID .
* @param nxrpMtchg
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String removeCrdnNxrpMtchg(NxrpMtchg delNxrpMtchg) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
rtnScs = nxrpMtchgMapper.deleteCrdnNxrpMtchg(delNxrpMtchg);
if (!rtnScs) {
throw new RuntimeException("세외수입 매칭 내역 정보를 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
}
}

@ -1,67 +0,0 @@
package cokr.xit.fims.nxrp.service.bean;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import cokr.xit.foundation.component.AbstractServiceBean;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.nxrp.service.NxrpMtchgService;
import cokr.xit.fims.nxrp.NxrpMtchg;
import cokr.xit.fims.nxrp.NxrpMtchgQuery;
/** .
*
* <p> :
*
* <pre>
* ============ ============
* 2023-11-16 JoJH
* ================================
* </pre>
*/
@Service("nxrpMtchgService")
public class NxrpMtchgServiceBean extends AbstractServiceBean implements NxrpMtchgService {
/** 세외수입 매칭 내역 정보 Bean */
@Resource(name = "nxrpMtchgBean")
private NxrpMtchgBean nxrpMtchgBean;
@Override
public List<DataObject> getNxrpMtchgList(NxrpMtchgQuery req) {
return nxrpMtchgBean.getNxrpMtchgList(req);
}
@Override
public List<DataObject> getNxrpMtchgs(NxrpMtchgQuery req) {
return nxrpMtchgBean.getNxrpMtchgs(req);
}
@Override
public String createNxrpLink(NxrpMtchgQuery req) {
return nxrpMtchgBean.createNxrpLink(req);
}
@Override
public String updateNxrpLink(NxrpMtchgQuery req) {
return nxrpMtchgBean.updateNxrpLink(req);
}
@Override
public String createNxrpMtchg(NxrpMtchg nxrpMtchg) {
return nxrpMtchgBean.createNxrpMtchg(nxrpMtchg);
}
@Override
public String updateNxrpMtchg(NxrpMtchg nxrpMtchg) {
return nxrpMtchgBean.updateNxrpMtchg(nxrpMtchg);
}
@Override
public String removeNxrpMtchg(NxrpMtchg nxrpMtchg) {
return nxrpMtchgBean.removeNxrpMtchg(nxrpMtchg);
}
}

@ -1,194 +0,0 @@
package cokr.xit.fims.nxrp.web;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import cokr.xit.fims.nxrp.NxrpMtchg;
import cokr.xit.fims.nxrp.NxrpMtchgQuery;
import cokr.xit.fims.nxrp.service.NxrpMtchgService;
import cokr.xit.fims.task.Task;
import cokr.xit.foundation.web.AbstractController;
/**
*
* <p> :
*
* <pre>
* ============ ============
* 2023-11-16 JoJH
* ================================
* </pre>
*/
@Controller
@RequestMapping(name="세외수입 매핑", value=Nxrp03Controller.CLASS_URL)
public class Nxrp03Controller extends AbstractController {
public static final String CLASS_URL = "/nxrp/nxrp01";
public class METHOD_URL {
public static final String
createNonTaxReceiptLink = "/010/createNxrpLink.do" // 세외수입 연계 등록 및 매핑 등록
, updateNonTaxReceiptLink = "/010/updateNxrpLink.do" // 세외수입 연계 조회 및 매핑 수정
, createNonTaxReceiptMatching = "/010/create.do" // 세외수입 매핑 내역 등록
, updateNonTaxReceiptMatching = "/010/update.do" // 세외수입 매칭 내역 수정
, removeNonTaxReceiptMatching = "/010/remove.do" // 세외수입 매칭 내역 제거
;
}
/**세외수입 매칭 내역 서비스*/
@Resource(name = "nxrpMtchgService")
private NxrpMtchgService nxrpMtchgService;
/** .
* @param req
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@Task
@RequestMapping(name="세외수입 등록 연계 및 매핑 등록", value=METHOD_URL.createNonTaxReceiptLink)
public ModelAndView createNonTaxReceiptLink(NxrpMtchgQuery req) {
boolean saved = false;
String rtnMsg = nxrpMtchgService.createNxrpLink(req);
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("rtnMsg", rtnMsg);
}
/** .
* @param req
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@Task
@RequestMapping(name="세외수입 조회 연계 및 매핑 수정", value=METHOD_URL.updateNonTaxReceiptLink)
public ModelAndView updateNonTaxReceiptLink(NxrpMtchgQuery req) {
boolean saved = false;
String rtnMsg = nxrpMtchgService.updateNxrpLink(req);
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("rtnMsg", rtnMsg);
}
/** .
* @param nxrpMtchg
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@Task
@RequestMapping(name="세외수입 매핑 내역 등록", value=METHOD_URL.createNonTaxReceiptMatching)
public ModelAndView createNonTaxReceiptMatching(NxrpMtchg nxrpMtchg) {
boolean saved = false;
String rtnMsg = nxrpMtchgService.createNxrpMtchg(nxrpMtchg);
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("rtnMsg", rtnMsg);
}
/** .
* @param nxrpMtchg
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@Task
@RequestMapping(name="세외수입 매핑 내역 수정", value=METHOD_URL.updateNonTaxReceiptMatching)
public ModelAndView updateNonTaxReceiptMatching(NxrpMtchg nxrpMtchg) {
boolean saved = false;
String rtnMsg = nxrpMtchgService.updateNxrpMtchg(nxrpMtchg);
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("rtnMsg", rtnMsg);
}
/** .
* @param nxrpMtchgIDs
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
@Task
@RequestMapping(name="세외수입 매핑 내역 제거", value=METHOD_URL.removeNonTaxReceiptMatching)
public ModelAndView removeNonTaxReceiptMatching(NxrpMtchg nxrpMtchg) {
boolean saved = false;
String rtnMsg = nxrpMtchgService.removeNxrpMtchg(nxrpMtchg);
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("rtnMsg", rtnMsg);
}
/** (enisMtchg/enisMtchg-main) .
* {@link #getEnisMtchgList(NxrpMtchgQuery) } .
* @return /enisMtchg/enisMtchg-main
*/
// @RequestMapping(name = "세외수입 매칭 내역 메인", value = "/main.do")
// public ModelAndView main() {
// ModelAndView mav = getEnisMtchgList(new NxrpMtchgQuery().setPageNum(1));
// mav.setViewName("/enisMtchg/enisMtchg-main");
// return mav.addObject("enisMtchgList", toJson(mav.getModel().get("enisMtchgList")));
// }
/** .<br />
* {@link EnisMtchgService#getEnisMtchgList(NxrpMtchgQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "enisMtchgList": [ ]
* "enisMtchgStart":
* "enisMtchgFetch":
* "enisMtchgTotal":
* }</code></pre>
*/
// @RequestMapping(name = "세외수입 매칭 내역 조회", value = "/list.do")
// public ModelAndView getEnisMtchgList(NxrpMtchgQuery req) {
// List<?> result = enisMtchgService.getEnisMtchgList(setFetchSize(req));
// return setCollectionInfo(new ModelAndView("jsonView"), result, "enisMtchg");
// }
}

@ -25,7 +25,6 @@ import cokr.xit.fims.levy.Levy;
import cokr.xit.fims.levy.service.bean.LevyBean;
import cokr.xit.fims.mngt.VltnQuery;
import cokr.xit.fims.mngt.service.bean.VltnBean;
import cokr.xit.fims.nxrp.dao.NxrpMtchgMapper;
import cokr.xit.fims.sndb.SndbQuery;
import cokr.xit.fims.sndb.Sndng;
import cokr.xit.fims.sndb.SndngDtl;
@ -55,10 +54,6 @@ public class SndngBean extends AbstractComponent {
@Resource(name = "sndngDtlMapper")
private SndngDtlMapper sndngDtlMapper;
/** 세외수입 매칭 내역 정보 DAO */
@Resource(name = "nxrpMtchgMapper")
private NxrpMtchgMapper nxrpMtchgMapper;
/** 단속 상태 이력 정보 Bean */
@Resource(name = "crdnSttsHstryBean")
private CrdnSttsHstryBean crdnSttsHstryBean;

@ -1,381 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.nxrp.dao.NxrpMtchgMapper">
<!-- 세외수입 매칭 내역 정보 매퍼
========== 변경 이력 ==========
2023-11-16 JoJH 최초 작성
============================ -->
<resultMap id="nxrpMtchgRow" type="cokr.xit.fims.nxrp.NxrpMtchg"> <!-- TB_NXRP_MTCHG 세외수입 매칭 내역 -->
<result property="mtchgId" column="MTCHG_ID" /> <!-- 매칭 ID -->
<result property="crdnId" column="CRDN_ID" /> <!-- 단속 ID -->
<result property="crdnDt" column="CRDN_DT" /> <!-- 단속 일시 -->
<result property="stdgNm" column="STDG_NM" /> <!-- 법정동 명 -->
<result property="crdnPlc" column="CRDN_PLC" /> <!-- 단속 장소 -->
<result property="lvyKey" column="LVY_KEY" /> <!-- 부과 키 -->
<result property="acntgYr" column="ACNTG_YR" /> <!-- 회계 연도 -->
<result property="levyNo" column="LEVY_NO" /> <!-- 부과 번호 -->
<result property="levyAmt" column="LEVY_AMT" /> <!-- 부과 금액 -->
<result property="adtnAmt" column="ADTN_AMT" /> <!-- 가산 금액 -->
<result property="sumAmt" column="SUM_AMT" /> <!-- 합계 금액 -->
<result property="nxrpMtchgSttsCd" column="NXRP_MTCHG_STTS_CD" /> <!-- 처리 상태 코드 -->
<result property="epayno" column="EPAYNO" /> <!-- 전자납부번호 -->
<result property="bankNm1" column="BANK_NM1" /> <!-- 은행 명1 -->
<result property="vractno1" column="VRACTNO1" /> <!-- 가상계좌번호1 -->
<result property="bankNm2" column="BANK_NM2" /> <!-- 은행 명2 -->
<result property="vractno2" column="VRACTNO2" /> <!-- 가상계좌번호2 -->
<result property="bankNm3" column="BANK_NM3" /> <!-- 은행 명3 -->
<result property="vractno3" column="VRACTNO3" /> <!-- 가상계좌번호3 -->
<result property="bankNm4" column="BANK_NM4" /> <!-- 은행 명4 -->
<result property="vractno4" column="VRACTNO4" /> <!-- 가상계좌번호4 -->
<result property="bankNm5" column="BANK_NM5" /> <!-- 은행 명5 -->
<result property="vractno5" column="VRACTNO5" /> <!-- 가상계좌번호5 -->
<result property="bankNm6" column="BANK_NM6" /> <!-- 은행 명6 -->
<result property="vractno6" column="VRACTNO6" /> <!-- 가상계좌번호6 -->
<result property="bankNm7" column="BANK_NM7" /> <!-- 은행 명7 -->
<result property="vractno7" column="VRACTNO7" /> <!-- 가상계좌번호7 -->
<result property="bankNm8" column="BANK_NM8" /> <!-- 은행 명8 -->
<result property="vractno8" column="VRACTNO8" /> <!-- 가상계좌번호8 -->
<result property="bankNm9" column="BANK_NM9" /> <!-- 은행 명9 -->
<result property="vractno9" column="VRACTNO9" /> <!-- 가상계좌번호9 -->
<result property="bankNm10" column="BANK_NM10" /> <!-- 은행 명10 -->
<result property="vractno10" column="VRACTNO10" /> <!-- 가상계좌번호10 -->
<result property="bankNm11" column="BANK_NM11" /> <!-- 은행 명11 -->
<result property="vractno11" column="VRACTNO11" /> <!-- 가상계좌번호11 -->
<result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 -->
<result property="lastModified" column="MDFCN_DT" /> <!-- 수정 일시 -->
<result property="modifiedBy" column="MDFR" /> <!-- 수정자 -->
<result property="delDt" column="DEL_DT" /> <!-- 삭제 일시 -->
<result property="dltr" column="DLTR" /> <!-- 삭제자 -->
<result property="delRsn" column="DEL_RSN" /> <!-- 삭제 사유 -->
</resultMap>
<sql id="select">
SELECT NM.MTCHG_ID <!-- 매칭 ID -->
, NM.CRDN_ID <!-- 단속 ID -->
, NM.CRDN_DT <!-- 단속 일시 -->
, NM.STDG_NM <!-- 법정동 명 -->
, NM.CRDN_PLC <!-- 단속 장소 -->
, NM.LINK_RSLT_ID <!-- 연계 결과 ID -->
, NM.LVY_KEY <!-- 부과 키 -->
, NM.ACNTG_YR <!-- 회계 연도 -->
, NM.LEVY_NO <!-- 부과 번호 -->
, NM.LEVY_AMT <!-- 부과 금액 -->
, NM.ADTN_AMT <!-- 가산 금액 -->
, NM.SUM_AMT <!-- 합계 금액 -->
, NM.NXRP_MTCHG_STTS_CD <!-- 세외수입 매칭 상태 코드 -->
, NM.EPAYNO <!-- 전자납부번호 -->
, NM.BANK_NM <!-- 은행 명 -->
, NM.VR_ACTNO <!-- 가상 계좌번호 -->
, NM.BANK_NM2 <!-- 은행 명2 -->
, NM.VR_ACTNO2 <!-- 가상 계좌번호2 -->
, NM.BANK_NM3 <!-- 은행 명3 -->
, NM.VR_ACTNO3 <!-- 가상 계좌번호3 -->
, NM.BANK_NM4 <!-- 은행 명4 -->
, NM.VR_ACTNO4 <!-- 가상 계좌번호4 -->
, NM.BANK_NM5 <!-- 은행 명5 -->
, NM.VR_ACTNO5 <!-- 가상 계좌번호5 -->
, NM.BANK_NM6 <!-- 은행 명6 -->
, NM.VR_ACTNO6 <!-- 가상 계좌번호6 -->
, NM.BANK_NM7 <!-- 은행 명7 -->
, NM.VR_ACTNO7 <!-- 가상 계좌번호7 -->
, NM.BANK_NM8 <!-- 은행 명8 -->
, NM.VR_ACTNO8 <!-- 가상 계좌번호8 -->
, NM.BANK_NM9 <!-- 은행 명9 -->
, NM.VR_ACTNO9 <!-- 가상 계좌번호9 -->
, NM.BANK_NM10 <!-- 은행 명10 -->
, NM.VR_ACTNO10 <!-- 가상 계좌번호10 -->
, NM.BANK_NM11 <!-- 은행 명11 -->
, NM.VR_ACTNO11 <!-- 가상 계좌번호11 -->
, NM.REG_DT <!-- 등록 일시 -->
, NM.RGTR <!-- 등록자 -->
, NM.MDFCN_DT <!-- 수정 일시 -->
, NM.MDFR <!-- 수정자 -->
FROM TB_NXRP_MTCHG NM
</sql>
<select id="selectNxrpMtchgList" parameterType="map" resultType="dataobject">/* 세외수입 매칭 내역 목록 조회(nxrpMtchgMapper.selectNxrpMtchgList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
<where></where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectNxrpMtchgs" parameterType="map" resultType="dataobject">/* 세외수입 매칭 내역 객체 가져오기(nxrpMtchgMapper.selectNxrpMtchgs) */
<include refid="select" />
<where>
<if test="mtchgId != null">
AND NM.MTCHG_ID = #{mtchgId} <!-- 매칭 ID -->
</if>
<if test="crdnId != null">
AND NM.CRDN_ID = #{crdnId} <!-- 단속 ID -->
</if>
<if test="lvyKey != null">
AND NM.LVY_KEY = #{lvyKey} <!-- 부과키 -->
</if>
<if test="delYn != null">
AND NM.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</if>
</where>
<include refid="utility.orderBy" />
</select>
<select id="selectCrdnLevy" parameterType="String" resultType="dataobject">/* 단속, 부과 내역 객체 가져오기(nxrpMtchgMapper.selectCrdnLevy) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.SGG_CD <!-- 시군구 코드 -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, 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 <!-- 단속 상태 변경 일시 -->
, CA.CRDN_SE_CD <!-- 단속 구분 코드 -->
, CA.CRDN_SPAREA_CD <!-- 단속 특별구역 코드 -->
, CA.PARKNG_PSBLTY_RSLT_CD <!-- 주차 가능 결과 코드 -->
, V.VLTN_ID <!-- 위반 ID -->
, V.VLTN_CD <!-- 위반 코드 -->
, V.VLTN_ARTCL <!-- 위반 항목 -->
, P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_SE_CD <!-- 납부자 구분 코드 -->
, P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 -->
, P.ZIP <!-- 우편번호 -->
, P.ADDR <!-- 주소 -->
, P.DTL_ADDR <!-- 상세 주소 -->
, L.LEVY_ID <!-- 부과 ID -->
, L.INST_CD <!-- 기관 코드 -->
, L.DEPT_CD <!-- 부서 코드 -->
, L.FYR <!-- 회계연도 -->
, L.ACNTG_SE_CD <!-- 회계 구분 코드-->
, L.TXITM_CD <!-- 세목 코드 -->
, L.OPER_ITEM_CD <!-- 운영 항목 코드 -->
, L.SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, L.LEVY_NO <!-- 부과 번호 -->
, L.INSPY_NO <!-- 분납 번호 -->
, L.LEVY_SE_CD <!-- 부과 구분 코드 -->
, L.LEVY_YMD <!-- 부과 일자 -->
, L.FRST_DUDT_YMD <!-- 최초 납기 일자 -->
, L.DUDT_YMD <!-- 납기 일자 -->
, L.DUDT_AFTR_YMD <!-- 납기 후 일자 -->
, L.LEVY_PCPTAX <!-- 부과 본세 -->
, L.LEVY_ADAMT <!-- 부과 가산금 -->
, L.INSPY_INT <!-- 분납 이자 -->
, L.RCVMT_PCPTAX <!-- 수납 본세 -->
, L.RCVMT_ADAMT <!-- 수납 가산금 -->
, L.RDCAMT_PCPTAX <!-- 감액 본세 -->
, L.RDCAMT_ADAMT <!-- 감액 가산금 -->
, L.SUM_AMT <!-- 합계 금액 -->
, (GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':')) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, (CASE WHEN L.FFNLG_AMT IS NOT NULL THEN L.FFNLG_AMT
ELSE C.FFNLG_AMT
END) AS FFNLG_AMT <!-- 과태료 금액 -->
, (L.LEVY_PCPTAX - L.RCVMT_PCPTAX - L.RDCAMT_PCPTAX) AS PCPTAX <!-- 본세 -->
, (L.LEVY_ADAMT - L.RCVMT_ADAMT - L.RDCAMT_ADAMT) AS ADAMT <!-- 가산금 -->
FROM TB_CRDN C
INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID)
INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_ID)
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
LEFT OUTER JOIN TB_LEVY L ON (C.CRDN_ID = L.CRDN_ID AND L.DEL_YN = 'N')
WHERE C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND C.DEL_YN = 'N'
</select>
<insert id="insertNxrpMtchg" parameterType="map">/* 세외수입 매칭 내역 등록(nxrpMtchgMapper.insertNxrpMtchg) */
<selectKey resultType="string" keyProperty="nxrpMtchg.mtchgId" keyColumn="NEW_ID" order="BEFORE">
SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(MTCHG_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID
FROM TB_NXRP_MTCHG
WHERE MTCHG_ID LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%')
</selectKey>
INSERT
INTO TB_NXRP_MTCHG (
MTCHG_ID <!-- 매칭 ID -->
, CRDN_ID <!-- 단속 ID -->
, CRDN_DT <!-- 단속 일시 -->
, STDG_NM <!-- 법정동 명 -->
, CRDN_PLC <!-- 단속 장소 -->
, LINK_RSLT_ID <!-- 연계 결과 ID -->
, LVY_KEY <!-- 부과 키 -->
, ACNTG_YR <!-- 회계 연도 -->
, LEVY_NO <!-- 부과 번호 -->
, LEVY_AMT <!-- 부과 금액 -->
, ADTN_AMT <!-- 가산 금액 -->
, SUM_AMT <!-- 합계 금액 -->
, EPAYNO <!-- 전자납부번호 -->
, BANK_NM <!-- 은행 명 -->
, VR_ACTNO <!-- 가상 계좌번호 -->
, BANK_NM2 <!-- 은행 명2 -->
, VR_ACTNO2 <!-- 가상 계좌번호2 -->
, BANK_NM3 <!-- 은행 명3 -->
, VR_ACTNO3 <!-- 가상 계좌번호3 -->
, BANK_NM4 <!-- 은행 명4 -->
, VR_ACTNO4 <!-- 가상 계좌번호4 -->
, BANK_NM5 <!-- 은행 명5 -->
, VR_ACTNO5 <!-- 가상 계좌번호5 -->
, BANK_NM6 <!-- 은행 명6 -->
, VR_ACTNO6 <!-- 가상 계좌번호6 -->
, BANK_NM7 <!-- 은행 명7 -->
, VR_ACTNO7 <!-- 가상 계좌번호7 -->
, BANK_NM8 <!-- 은행 명8 -->
, VR_ACTNO8 <!-- 가상 계좌번호8 -->
, BANK_NM9 <!-- 은행 명9 -->
, VR_ACTNO9 <!-- 가상 계좌번호9 -->
, BANK_NM10 <!-- 은행 명10 -->
, VR_ACTNO10 <!-- 가상 계좌번호10 -->
, BANK_NM11 <!-- 은행 명11 -->
, VR_ACTNO11 <!-- 가상 계좌번호11 -->
, NXRP_MTCHG_STTS_CD <!-- 세외수입 매칭 상태 코드 -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
)
VALUES (
#{nxrpMtchg.mtchgId} <!-- 매칭 ID -->
, #{nxrpMtchg.crdnId} <!-- 단속 ID -->
, #{nxrpMtchg.crdnDt} <!-- 단속 일시 -->
, #{nxrpMtchg.stdgNm} <!-- 법정동 명 -->
, #{nxrpMtchg.crdnPlc} <!-- 단속 장소 -->
, #{nxrpMtchg.linkRsltId} <!-- 연계 결과 ID -->
, #{nxrpMtchg.lvyKey} <!-- 부과 키 -->
, #{nxrpMtchg.acntgYr} <!-- 회계 연도 -->
, #{nxrpMtchg.levyNo} <!-- 부과 번호 -->
, #{nxrpMtchg.levyAmt} <!-- 부과 금액 -->
, #{nxrpMtchg.adtnAmt} <!-- 가산 금액 -->
, #{nxrpMtchg.sumAmt} <!-- 합계 금액 -->
, #{nxrpMtchg.epayno} <!-- 전자납부번호 -->
, #{nxrpMtchg.bankNm} <!-- 은행 명 -->
, #{nxrpMtchg.vrActno} <!-- 가상 계좌번호 -->
, #{nxrpMtchg.bankNm2} <!-- 은행 명2 -->
, #{nxrpMtchg.vrActno2} <!-- 가상 계좌번호2 -->
, #{nxrpMtchg.bankNm3} <!-- 은행 명3 -->
, #{nxrpMtchg.vrActno3} <!-- 가상 계좌번호3 -->
, #{nxrpMtchg.bankNm4} <!-- 은행 명4 -->
, #{nxrpMtchg.vrActno4} <!-- 가상 계좌번호4 -->
, #{nxrpMtchg.bankNm5} <!-- 은행 명5 -->
, #{nxrpMtchg.vrActno5} <!-- 가상 계좌번호5 -->
, #{nxrpMtchg.bankNm6} <!-- 은행 명6 -->
, #{nxrpMtchg.vrActno6} <!-- 가상 계좌번호6 -->
, #{nxrpMtchg.bankNm7} <!-- 은행 명7 -->
, #{nxrpMtchg.vrActno7} <!-- 가상 계좌번호7 -->
, #{nxrpMtchg.bankNm8} <!-- 은행 명8 -->
, #{nxrpMtchg.vrActno8} <!-- 가상 계좌번호8 -->
, #{nxrpMtchg.bankNm9} <!-- 은행 명9 -->
, #{nxrpMtchg.vrActno9} <!-- 가상 계좌번호9 -->
, #{nxrpMtchg.bankNm10} <!-- 은행 명10 -->
, #{nxrpMtchg.vrActno10} <!-- 가상 계좌번호10 -->
, #{nxrpMtchg.bankNm11} <!-- 은행 명11 -->
, #{nxrpMtchg.vrActno11} <!-- 가상 계좌번호11 -->
, #{nxrpMtchg.nxrpMtchgSttsCd} <!-- 세외수입 매칭 상태 코드 -->
, 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{nxrpMtchg.createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{nxrpMtchg.modifiedBy} <!-- 수정자 -->
)
</insert>
<update id="updateNxrpMtchg" parameterType="map">/* 세외수입 매칭 내역 수정(nxrpMtchgMapper.updateNxrpMtchg) */
UPDATE TB_NXRP_MTCHG
SET CRDN_DT = #{nxrpMtchg.crdnDt} <!-- 단속 일시 -->
, STDG_NM = #{nxrpMtchg.stdgNm} <!-- 법정동 명 -->
, CRDN_PLC = #{nxrpMtchg.crdnPlc} <!-- 단속 장소 -->
, LINK_RSLT_ID = #{nxrpMtchg.linkRsltId} <!-- 연계 결과 ID -->
, LVY_KEY = #{nxrpMtchg.lvyKey} <!-- 부과 키 -->
, ACNTG_YR = #{nxrpMtchg.acntgYr} <!-- 회계 연도 -->
, LEVY_NO = #{nxrpMtchg.levyNo} <!-- 부과 번호 -->
, LEVY_AMT = #{nxrpMtchg.levyAmt} <!-- 부과 금액 -->
, ADTN_AMT = #{nxrpMtchg.adtnAmt} <!-- 가산 금액 -->
, SUM_AMT = #{nxrpMtchg.sumAmt} <!-- 합계 금액 -->
, EPAYNO = #{nxrpMtchg.epayno} <!-- 전자납부번호 -->
, BANK_NM = #{nxrpMtchg.bankNm} <!-- 은행 명1 -->
, VR_ACTNO = #{nxrpMtchg.vrActno} <!-- 가상계좌번호1 -->
, BANK_NM2 = #{nxrpMtchg.bankNm2} <!-- 은행 명2 -->
, VR_ACTNO2 = #{nxrpMtchg.vrActno2} <!-- 가상계좌번호2 -->
, BANK_NM3 = #{nxrpMtchg.bankNm3} <!-- 은행 명3 -->
, VR_ACTNO3 = #{nxrpMtchg.vrActno3} <!-- 가상계좌번호3 -->
, BANK_NM4 = #{nxrpMtchg.bankNm4} <!-- 은행 명4 -->
, VR_ACTNO4 = #{nxrpMtchg.vrActno4} <!-- 가상계좌번호4 -->
, BANK_NM5 = #{nxrpMtchg.bankNm5} <!-- 은행 명5 -->
, VR_ACTNO5 = #{nxrpMtchg.vrActno5} <!-- 가상계좌번호5 -->
, BANK_NM6 = #{nxrpMtchg.bankNm6} <!-- 은행 명6 -->
, VR_ACTNO6 = #{nxrpMtchg.vrActno6} <!-- 가상계좌번호6 -->
, BANK_NM7 = #{nxrpMtchg.bankNm7} <!-- 은행 명7 -->
, VR_ACTNO7 = #{nxrpMtchg.vrActno7} <!-- 가상계좌번호7 -->
, BANK_NM8 = #{nxrpMtchg.bankNm8} <!-- 은행 명8 -->
, VR_ACTNO8 = #{nxrpMtchg.vrActno8} <!-- 가상계좌번호8 -->
, BANK_NM9 = #{nxrpMtchg.bankNm9} <!-- 은행 명9 -->
, VR_ACTNO9 = #{nxrpMtchg.vrActno9} <!-- 가상계좌번호9 -->
, BANK_NM10 = #{nxrpMtchg.bankNm10} <!-- 은행 명10 -->
, VR_ACTNO10 = #{nxrpMtchg.vrActno10} <!-- 가상계좌번호10 -->
, BANK_NM11 = #{nxrpMtchg.bankNm11} <!-- 은행 명11 -->
, VR_ACTNO11 = #{nxrpMtchg.vrActno11} <!-- 가상계좌번호11 -->
, NXRP_MTCHG_STTS_CD = #{nxrpMtchg.nxrpMtchgSttsCd} <!-- 세외수입 매칭 상태 코드 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{nxrpMtchg.modifiedBy} <!-- 수정자 -->
WHERE MTCHG_ID = #{nxrpMtchg.mtchgId}
AND DEL_YN = 'N'
</update>
<update id="updateLinkRsltId" parameterType="map">/* 세외수입매칭 내역에서 연계결과ID 정보를 수정 (nxrpMtchgMapper.updateLinkRsltId) */
UPDATE TB_NXRP_MTCHG
SET LINK_RSLT_ID = #{nxrpMtchg.linkRsltId} <!-- 연계 결과 ID -->
, NXRP_MTCHG_STTS_CD = #{nxrpMtchg.nxrpMtchgSttsCd} <!-- 세외수입 매칭 상태 코드 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{nxrpMtchg.modifiedBy} <!-- 수정자 -->
WHERE MTCHG_ID = #{nxrpMtchg.mtchgId}
AND DEL_YN = 'N'
</update>
<update id="updatePrcsSttsCd" parameterType="map">/* 세외수입매칭 내역에서 처리상태코드 정보를 수정(nxrpMtchgMapper.updatePrcsSttsCd) */
UPDATE TB_NXRP_MTCHG
SET NXRP_MTCHG_STTS_CD = #{nxrpMtchg.nxrpMtchgSttsCd} <!-- 세외수입 매칭 상태 코드 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{nxrpMtchg.modifiedBy} <!-- 수정자 -->
WHERE MTCHG_ID = #{nxrpMtchg.mtchgId}
AND DEL_YN = 'N'
</update>
<update id="updateNxrpLink" parameterType="map">/* 세외수입매칭 내역에서 세외수입연계 정보를 수정(nxrpMtchgMapper.updateNxrpLink) */
UPDATE TB_NXRP_MTCHG
SET LVY_KEY = #{nxrpMtchg.lvyKey} <!-- 부과 키 -->
, ACNTG_YR = #{nxrpMtchg.acntgYr} <!-- 회계 연도 -->
, LEVY_NO = #{nxrpMtchg.levyNo} <!-- 부과 번호 -->
, LEVY_AMT = #{nxrpMtchg.levyAmt} <!-- 부과 금액 -->
, ADTN_AMT = #{nxrpMtchg.adtnAmt} <!-- 가산 금액 -->
, SUM_AMT = #{nxrpMtchg.sumAmt} <!-- 합계 금액 -->
, NXRP_MTCHG_STTS_CD = #{nxrpMtchg.nxrpMtchgSttsCd} <!-- 세외수입 매칭 상태 코드 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{nxrpMtchg.modifiedBy} <!-- 수정자 -->
WHERE MTCHG_ID = #{nxrpMtchg.mtchgId}
AND DEL_YN = 'N'
</update>
<update id="deleteNxrpMtchg" parameterType="map">/* 세외수입매칭 내역 삭제(nxrpMtchgMapper.deleteNxrpMtchg) */
UPDATE TB_NXRP_MTCHG
SET DEL_YN = 'Y' <!-- 삭제 여부 -->
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{nxrpMtchg.modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{nxrpMtchg.delRsn} <!-- 삭제 사유 -->
WHERE MTCHG_ID = #{nxrpMtchg.mtchgId}
AND DEL_YN = 'N'
</update>
<update id="deleteCrdnNxrpMtchg" parameterType="map">/* 단속 ID로 세외수입 매칭 내역 삭제(nxrpMtchgMapper.deleteCrdnNxrpMtchg) */
UPDATE TB_NXRP_MTCHG
SET DEL_YN = 'Y' <!-- 삭제 여부 -->
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{nxrpMtchg.modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{nxrpMtchg.delRsn} <!-- 삭제 사유 -->
WHERE CRDN_ID = #{nxrpMtchg.crdnId}
AND DEL_YN = 'N'
</update>
</mapper>

@ -9,6 +9,7 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
@ -509,6 +510,26 @@
$P.control.load(1);
}
// 사용자검색 callback
$P.callbackFindUser = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
}
// 부과제외 삭제사유 callback
$P.callbackRsn = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {};
let selected = $P.control.dataset.getKeys("selected");
params[$P.control.prefixed("Ids")] = selected.join(","); // IDs
params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드
params.delRsn = obj.reason; // 삭제 사유
$P.control.remove(params);
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
@ -528,12 +549,6 @@
$P.control.dataset.clear();
}
// 사용자검색 callback
$P.callbackFindUser = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
}
// 사용자검색 버튼 클릭 이벤트
$P.fnGetFindUser = () => {
let params = {
@ -602,20 +617,6 @@
$P.control.getInfo(params);
}
// 부과제외 삭제사유 callback
$P.callbackRsn = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {};
let selected = $P.control.dataset.getKeys("selected");
params[$P.control.prefixed("Ids")] = selected.join(","); // IDs
params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드
params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드
params.delRsn = obj.reason; // 삭제 사유
$P.control.remove(params);
}
// 부과제외 삭제 버튼 클릭 이벤트
$P.fnRemove = (title) => {
// 선택 자료

@ -9,6 +9,7 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">

@ -9,6 +9,7 @@
<div class="container flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->

@ -9,12 +9,13 @@
<div class="container flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" data-map="TASK_SE_CD" />
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" />
<div class="row g-1">

@ -9,6 +9,7 @@
<div class="container flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->

@ -9,6 +9,7 @@
<div class="container-xxl flex-grow-1 px-0">
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">

@ -1,14 +1,15 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">사전 감경부과</c:set>
<!-- inner page html -->
<div class="content-wrapper">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0">
<c:set var="prefixName" scope="request">사전 감경부과</c:set>
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<!-- 상단 버튼 -->
<div class="container-page-btn">
@ -283,9 +284,9 @@
</div>
</div>
<!-- / DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> -->
</div> <!-- / <div class="wrapper-list"> -->
</div> <!-- / <div class="card"> -->
</div> <!-- / <div class="container-xxl flex-grow-1 px-0"> -->
<!-- / Content -->
<div class="content-backdrop fade"></div>
@ -296,6 +297,8 @@
/**************************************************************************
* Global Variable
**************************************************************************/
pageObject["${pageName}"] = {};
// 공통 코드
var FIM004 = new CommonCodes(${FIM004}, true); // 주정차위반 내역 코드
var FIM005 = new CommonCodes(${FIM005}, true); // 전용차로위반 내역 코드
@ -303,17 +306,13 @@
var FIM061 = new CommonCodes(${FIM061}, true); // 전기차 충전구역 및 충전방해 위반 코드
var FIM064 = new CommonCodes(${FIM064}, true); // 화물자동차 밤샘주차 위반 코드
pageObject["${pageName}"] = {};
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
let $P = pageObject["${pageName}"];
// URL
$P.PrefixUrl = "/levy/levy01";
// FormFields
$P.formFields = new FimsFormFields("#frmSearch--${pageName}");
@ -340,8 +339,8 @@
// $P.control 설정
$P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
$P.control.untilPageNum = 0; // 현재 페이지 번호
$P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
$P.control.beforeCurrent = null;
$P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
/**************************************************************************
* DatasetControl 이벤트
@ -395,12 +394,12 @@
}
};
// 부과 정보 dialog
// 상세정보 dialog
$P.control.getInfo = (params) => {
if (!params) return;
ajax.get({
url : $P.control.urls.getInfo
url: wctx.url("/" + params.taskSeCd + "${infoPrefixUrl}" + "/020/info.do")
, data: params || {}
, success: resp => {
dialog.open({
@ -410,7 +409,7 @@
, size: $P.control.infoSize
, onClose: () => {
$P.control.query.crdnIds = null; // 체크 자료
$P.refreshList(); // 자료 재조회
$P.fnRefreshList(); // 자료 재조회
}
});
}
@ -468,44 +467,14 @@
$P.control.load($P.control.query.pageNum + 1);
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// callback 사용자 검색
$P.callbackFindUser = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
}
// 사용자 검색
$P.getFindUser = () => {
let params = {
openerPageName : "${pageName}"
, callbackFuncName : "pageObject['${pageName}']['callbackFindUser']"
}
ajax.get({
url : wctx.url("/user/user02/010/main.do")
, data : params || {}
, success : resp => {
dialog.open({
id : "userDialog"
, title : "사용자 검색"
, content : resp
, size : "lg"
});
}
});
}
// 개별총정보 dialog
// DataTables에 더블 클릭시 개별총정보 dialog
$P.getTotalInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callControlName: "pageObject['${pageName}'].control"
, sggCd : $("#sggCd--${pageName}").val()
, taskSeCd : $("input[name=taskSeCd]:checked").val()
, sggCd: $P.control.dataset.getValue("SGG_CD")
, taskSeCd: $P.control.dataset.getValue("TASK_SE_CD")
, crdnId: crdnId
}
@ -523,14 +492,23 @@
});
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 검색 자료 재조회
$P.refreshList = () => {
$P.fnRefreshList = () => {
$P.control.untilPageNum = $P.control.query.pageNum;
$P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum;
$P.control.load(1);
}
// 사용자검색 callback
$P.callbackFindUser = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
@ -552,10 +530,31 @@
$P.control.dataset.clear();
}
// 사용자검색 버튼 클릭 이벤트
$P.fnGetFindUser = () => {
let params = {
openerPageName: "${pageName}"
, callbackFuncName: "pageObject['${pageName}']['callbackFindUser']"
}
ajax.get({
url: wctx.url("/user/user02/010/main.do")
, data: params || {}
, success: resp => {
dialog.open({
id: "userDialog"
, title: "사용자 검색"
, content: resp
, size: "lg"
});
}
});
}
// 검색 버튼 이벤트
$P.fnSearchList = () => {
// 검색조건
$P.control.query = $P.formFields.get();
$P.control.query = $P.formFields.get(); // 검색 조건
$P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수
$P.control.query.delYn = "N"; // 삭제 여부
@ -569,7 +568,6 @@
content : "검색된 자료가 없습니다."
, onOK : () => { }
});
return;
}
@ -581,28 +579,23 @@
$P.control.download();
}
// 사용자 조회 버튼 이벤트
$P.fnFindUser = () => {
$P.getFindUser();
}
// 선택 감경부과 등록 버튼 이벤트
$P.fnCreateSlctnTrgtRductLevy = (title) => {
$P.fnCreateSlctnTrgt = (title) => {
// 선택 자료
let selected = $P.control.dataset.getKeys("selected");
if (selected.length < 1) return;
let tnocs = selected.length;
let strAmt = "";
let gramtFfnlgAmt = 0;
let gramtAdvntceAmt = 0;
selected.forEach (function (el, index) {
pageObject['${pageName}'].control.setCurrent(selected[index]);
let str = $P.control.dataset.getValue("FFNLG_AMT");
gramtFfnlgAmt = gramtFfnlgAmt + Number(str.replaceAll(",", ""));
strAmt = $P.control.dataset.getValue("FFNLG_AMT");
gramtFfnlgAmt = gramtFfnlgAmt + Number(strAmt.replaceAll(",", ""));
gramtAdvntceAmt = gramtAdvntceAmt + Number($P.control.dataset.getValue("ADVNTCE_AMT"));
});
@ -620,13 +613,12 @@
}
// 전체 감경부과 등록 버튼 이벤트
$P.fnCreateWholTrgtRductLevy = (title) => {
$P.fnCreateWholTrgt = (title) => {
if ($P.control.dataset.empty) {
dialog.alert({
content : "검색된 자료가 없습니다."
, onOK : () => { }
});
return;
}
@ -651,7 +643,7 @@
$("#btnReset--${pageName}").on("click", () => $P.fnResetAndChangeBiz()); // 초기화
$("#btnSearch--${pageName}").on("click", () => $P.fnSearchList()); // 검색
$("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀
$("#btnFindUser--${pageName}").on("click", () => $P.fnFindUser()); // 사용자 검색
$("#btnFindUser--${pageName}").on("click", () => $P.fnGetFindUser()); // 사용자 검색
// 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
$("#term--${pageName}").keypress(function(e) {
@ -674,12 +666,12 @@
});
// 선택 대상 등록 버튼 이벤트
$("#btnCreateSlctnTrgtRductLevy--${pageName}").on("click", function() {
$P.fnCreateSlctnTrgtRductLevy($(this).attr("title"));
$("#btnCreateSlctnTrgt--${pageName}").on("click", function() {
$P.fnCreateSlctnTrgt($(this).attr("title"));
});
// 전체 대상 감경부과 등록 버튼 이벤트
$("#btnCreateWholTrgtRductLevy--${pageName}").on("click", function() {
$P.fnCreateWholTrgtRductLevy($(this).attr("title"));
$("#btnCreateWholTrgt--${pageName}").on("click", function() {
$P.fnCreateWholTrgt($(this).attr("title"));
});
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
@ -709,14 +701,13 @@
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schCrdnYmdFrom--${pageName}").datepicker("setDate", new Date());
$("#schCrdnYmdTo--${pageName}").datepicker("setDate", new Date());
// 동적 검색
$("#byOutput--${pageName}").val("동적 검색");
// 사용자 이름
$("#schRgtrNm--${pageName}").prop("readonly", true);
// 기본 데이터 설정(업무구분)
$P.initData($("input[name=taskSeCd]:checked").val());
}
// 기본 데이터 설정
@ -755,6 +746,9 @@
// 업무 구분별 설정
$P.setTask = (taskSeCd) => {
// 검색 url
$P.control.urls.load = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/010/list.do");
let clsForTask = taskSeCd.toLowerCase();
// 업무별 조회조건
@ -769,15 +763,6 @@
colsOuterHTML += this.outerHTML;
});
$("#table-responsive--${pageName}")[0].changeColumn(colsOuterHTML);
// URL 설정
$P.setURL(taskSeCd);
}
// 업무구분에 따른 URL 설정
$P.setURL = (taskSeCd) => {
$P.control.urls.load = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/010/list.do"); // 조회
$P.control.urls.getInfo = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/020/info.do"); // 등록
}
/**************************************************************************

@ -1,14 +1,15 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">부과 정보</c:set>
<!-- inner page html -->
<div class="content-wrapper">
<!-- Content -->
<div class="container flex-grow-1 px-0">
<c:set var="prefixName" scope="request">부과 정보</c:set>
<!-- Page Body -->
<div class="card">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
@ -83,10 +84,8 @@
**************************************************************************/
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
let $P = pageObject["${pageName}"];
// URL
$P.PrefixUrl = "/levy/levy01";
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}";
// FormFields
@ -112,14 +111,14 @@
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = item => {
if (!item) return;
// Dataset 셋팅
$P.formFields.set($P.control,item);
// 업무구분에 따른 URL 변경
$P.setURL(item.data.TASK_SE_CD);
$P.fnSetURL(item.data.TASK_SE_CD);
}
// 저장 callback
@ -147,7 +146,7 @@
ajax.post({
url: $P.control.urls.create
, data : params
, data: params || {}
, success: resp => $P.control.onSave(resp)
});
}
@ -155,7 +154,10 @@
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 업무구분에 따른 URL 설정
$P.fnSetURL = (taskSeCd) => {
$P.control.urls.create = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/020/createRductLevyList.do"); // 등록
}
/**************************************************************************
* 버튼 clickEvent
@ -168,11 +170,7 @@
dialog.alert({
content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
, onOK: () => {
// 파리미터 설정
let params = $P.formFields.get(); // formFields
params.title = title; // 타이틀
$P.control.save(params);
$P.control.save($P.formFields.get()); // formFields
}
});
}
@ -204,9 +202,7 @@
});
// 저장 버튼 이벤트
$("#btnSave--${pageName}").on("click", function() {
$P.fnSave($(this).attr("title"));
});
$("#btnSave--${pageName}").on("click", () => $P.fnSave());
}
// 초기 화면 설정
@ -218,7 +214,6 @@
initDatepicker("frmEdit--${pageName}");
$("#levyYmd--${pageName}").datepicker("setDate", new Date());
$("#dudtYmd--${pageName}").datepicker("setDate", new Date());
$("#tnocs--${pageName}").prop("readonly", true); // 총건수
$("#gramtFfnlgAmt--${pageName}").prop("readonly", true); // 총금액
$("#advntceRductRt--${pageName}").prop("readonly", true); // 감경율
@ -233,10 +228,6 @@
$("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼
}
}
// 업무구분에 따른 URL 설정
$P.setURL = (taskSeCd) => {
$P.control.urls.create = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/020/createRductLevyList.do"); // 등록
}
/**************************************************************************
* 최초 실행 함수

@ -214,7 +214,7 @@
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('TXITM_CD', this.innerText, 'codeValue', 'FIM075');">세목코드</th>
<th class="cmn" style="width: 200px;" onclick="searchFromGridTitle('TXITM_CD', this.innerText, 'codeValue', 'FIM075');">세목명</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('LEVY_NO', this.innerText, 'match', 'part');">부과번호</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('INSPY_NO', this.innerText, 'match', 'part');">분납순번</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('INSPY_SN', this.innerText, 'match', 'part');">분납순번</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('LEVY_SE_CD', this.innerText, 'codeValue', 'FIM040');">부과구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('UNTY_SE_CD', this.innerText, 'codeValue', 'FIM072');">통합구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RDUCT_SE_CD', this.innerText, 'codeValue', 'FIM046');">감경구분</th>
@ -268,7 +268,7 @@
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TXITM_CD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TXITM_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{INSPY_NO}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{INSPY_SN}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{LEVY_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{UNTY_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RDUCT_SE_NM}</td>
@ -282,7 +282,7 @@
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_ADAMT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RDCAMT_PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RDCAMT_ADAMT}</td>
<td class="cmn text-end text-orange fw-bold" onclick="{onclick}" ondblclick="{ondblclick}">{SUM_AMT}</td>
<td class="cmn text-end text-red fw-bold" onclick="{onclick}" ondblclick="{ondblclick}">{SUM_AMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TXTN_THING}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{NPMNT_RSN_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_YMD}</td>

Loading…
Cancel
Save