1. 소스정리.

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

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

@ -61,10 +61,11 @@ public class Levy01Controller extends ApplicationController {
@Resource(name="levyService") @Resource(name="levyService")
private LevyService levyService; private LevyService levyService;
/** 업무 정보 서비스 */ /**업무 정보 서비스 */
@Resource(name="taskBean") @Resource(name="taskBean")
private TaskBean taskBean; private TaskBean taskBean;
/**설정 정보 Bean */
@Resource(name="stngBean") @Resource(name="stngBean")
private StngBean stngBean; private StngBean stngBean;
@ -86,13 +87,13 @@ public class Levy01Controller extends ApplicationController {
return mav return mav
.addObject("pageName", "levy01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("pageName", "levy01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "rductLevyTrgt") // prefix .addObject("infoPrefix", "rductLevyTrgt") // prefix
.addObject("infoPrefixUrl", "/levy/levy01") // prefixUrl
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054")))
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
; ;
} }
/** .<br /> /** .
* {@link LevyService#getRductLevyTrgtList(LevyQuery)} * {@link LevyService#getRductLevyTrgtList(LevyQuery)}
* @param req * @param req
* @return jsonView * @return jsonView
@ -103,7 +104,7 @@ public class Levy01Controller extends ApplicationController {
* "levyTotal": * "levyTotal":
* }</code></pre> * }</code></pre>
*/ */
@Task @Task({"DPV", "PVS","BPV"})
@RequestMapping(name="사전 감경부과 대상 목록 조회", value=METHOD_URL.getReductionLevyTargetList) @RequestMapping(name="사전 감경부과 대상 목록 조회", value=METHOD_URL.getReductionLevyTargetList)
public ModelAndView getReductionLevyTargetList(LevyQuery req) { public ModelAndView getReductionLevyTargetList(LevyQuery req) {
if (!"xls".equals(req.getDownload())) { if (!"xls".equals(req.getDownload())) {
@ -169,7 +170,7 @@ public class Levy01Controller extends ApplicationController {
* "rductLevyYmdInfo": * "rductLevyYmdInfo":
* }</pre> * }</pre>
*/ */
@Task @Task({"DPV", "PVS","BPV"})
@RequestMapping(name="사전 감경부과 정보 조회", value=METHOD_URL.getReductionLevyTargetInfo) @RequestMapping(name="사전 감경부과 정보 조회", value=METHOD_URL.getReductionLevyTargetInfo)
public ModelAndView getReductionLevyTargetInfo(LevyQuery req) { public ModelAndView getReductionLevyTargetInfo(LevyQuery req) {
// 감경 부과일자 // 감경 부과일자
@ -177,7 +178,6 @@ public class Levy01Controller extends ApplicationController {
.setTaskSeCd(req.getTaskSeCd())); .setTaskSeCd(req.getTaskSeCd()));
boolean json = jsonResponse(); boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/levy/levy01020-info"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/levy/levy01020-info");
// 이전에 조회되었던 총건수, 금액 // 이전에 조회되었던 총건수, 금액
@ -187,6 +187,8 @@ public class Levy01Controller extends ApplicationController {
return mav return mav
.addObject("pageName", "levy01020") .addObject("pageName", "levy01020")
.addObject("infoPrefix", "rductLevyTrgt") // prefix
.addObject("infoPrefixUrl", "/levy/levy01") // prefixUrl
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("mainQuery", json ? req : toJson(req)) // 검색 조건 .addObject("mainQuery", json ? req : toJson(req)) // 검색 조건
.addObject("rductLevyTrgtInfo", json ? info : toJson(info)) .addObject("rductLevyTrgtInfo", json ? info : toJson(info))
@ -200,7 +202,7 @@ public class Levy01Controller extends ApplicationController {
* "saved": true, false * "saved": true, false
* }</code></pre> * }</code></pre>
*/ */
@Task @Task({"DPV", "PVS","BPV"})
@RequestMapping(name="사전 감경부과 대장 등록", value=METHOD_URL.createReductionLevyList) @RequestMapping(name="사전 감경부과 대장 등록", value=METHOD_URL.createReductionLevyList)
public ModelAndView createReductionLevyList(LevyQuery req) { public ModelAndView createReductionLevyList(LevyQuery req) {
boolean saved = false; boolean saved = false;
@ -232,15 +234,15 @@ public class Levy01Controller extends ApplicationController {
return mav.addObject("pageName", "levy01050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix return mav.addObject("pageName", "levy01050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "levy") // prefix .addObject("infoPrefix", "levy") // prefix
.addObject("infoPrefixUrl", "/levy/levy01") // prefixUrl
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054")))
.addObject("FIM010List", commonCodes.get("FIM010")) // 단속 상태 코드(CRDN_STTS_CD) .addObject("FIM010List", commonCodes.get("FIM010")) // 단속 상태 코드(CRDN_STTS_CD)
.addObject("FIM046List", commonCodes.get("FIM046")) // 감경 구분 코드(RDUCT_SE_CD) .addObject("FIM046List", commonCodes.get("FIM046")) // 감경 구분 코드(RDUCT_SE_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
; ;
} }
/** .<br /> /** .
* {@link LevyService#getLevyList(LevyQuery)} * {@link LevyService#getLevyList(LevyQuery)}
* @param req * @param req
* @return jsonView * @return jsonView
@ -339,6 +341,11 @@ public class Levy01Controller extends ApplicationController {
} }
} }
/** . /** .
* @param levy * @param levy
* @return jsonView * @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.levy.service.bean.LevyBean;
import cokr.xit.fims.mngt.VltnQuery; import cokr.xit.fims.mngt.VltnQuery;
import cokr.xit.fims.mngt.service.bean.VltnBean; 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.SndbQuery;
import cokr.xit.fims.sndb.Sndng; import cokr.xit.fims.sndb.Sndng;
import cokr.xit.fims.sndb.SndngDtl; import cokr.xit.fims.sndb.SndngDtl;
@ -55,10 +54,6 @@ public class SndngBean extends AbstractComponent {
@Resource(name = "sndngDtlMapper") @Resource(name = "sndngDtlMapper")
private SndngDtlMapper sndngDtlMapper; private SndngDtlMapper sndngDtlMapper;
/** 세외수입 매칭 내역 정보 DAO */
@Resource(name = "nxrpMtchgMapper")
private NxrpMtchgMapper nxrpMtchgMapper;
/** 단속 상태 이력 정보 Bean */ /** 단속 상태 이력 정보 Bean */
@Resource(name = "crdnSttsHstryBean") @Resource(name = "crdnSttsHstryBean")
private CrdnSttsHstryBean 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"> <div class="container-xxl flex-grow-1 px-0">
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card">
<div class="wrapper-list"> <div class="wrapper-list">
<!-- 상단 버튼 --> <!-- 상단 버튼 -->
<div class="container-page-btn"> <div class="container-page-btn">
@ -509,6 +510,26 @@
$P.control.load(1); $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 * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
@ -528,12 +549,6 @@
$P.control.dataset.clear(); $P.control.dataset.clear();
} }
// 사용자검색 callback
$P.callbackFindUser = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
}
// 사용자검색 버튼 클릭 이벤트 // 사용자검색 버튼 클릭 이벤트
$P.fnGetFindUser = () => { $P.fnGetFindUser = () => {
let params = { let params = {
@ -602,20 +617,6 @@
$P.control.getInfo(params); $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) => { $P.fnRemove = (title) => {
// 선택 자료 // 선택 자료

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

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

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

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

@ -9,6 +9,7 @@
<div class="container-xxl flex-grow-1 px-0"> <div class="container-xxl flex-grow-1 px-0">
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card">
<div class="wrapper-list"> <div class="wrapper-list">
<!-- 상단 버튼 --> <!-- 상단 버튼 -->
<div class="container-page-btn"> <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"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">사전 감경부과</c:set>
<!-- inner page html --> <!-- inner page html -->
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content --> <!-- Content -->
<div class="container-xxl flex-grow-1 px-0"> <div class="container-xxl flex-grow-1 px-0">
<c:set var="prefixName" scope="request">사전 감경부과</c:set>
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card">
<div class="wrapper-list"> <div class="wrapper-list">
<!-- 상단 버튼 --> <!-- 상단 버튼 -->
<div class="container-page-btn"> <div class="container-page-btn">
@ -283,9 +284,9 @@
</div> </div>
</div> </div>
<!-- / DataTables(그리드) --> <!-- / DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> --> </div> <!-- / <div class="wrapper-list"> -->
</div> <!-- <div class="card"> --> </div> <!-- / <div class="card"> -->
</div> <!-- <div class="container-xxl flex-grow-1 px-0"> --> </div> <!-- / <div class="container-xxl flex-grow-1 px-0"> -->
<!-- / Content --> <!-- / Content -->
<div class="content-backdrop fade"></div> <div class="content-backdrop fade"></div>
@ -296,6 +297,8 @@
/************************************************************************** /**************************************************************************
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
pageObject["${pageName}"] = {};
// 공통 코드 // 공통 코드
var FIM004 = new CommonCodes(${FIM004}, true); // 주정차위반 내역 코드 var FIM004 = new CommonCodes(${FIM004}, true); // 주정차위반 내역 코드
var FIM005 = new CommonCodes(${FIM005}, true); // 전용차로위반 내역 코드 var FIM005 = new CommonCodes(${FIM005}, true); // 전용차로위반 내역 코드
@ -303,17 +306,13 @@
var FIM061 = new CommonCodes(${FIM061}, true); // 전기차 충전구역 및 충전방해 위반 코드 var FIM061 = new CommonCodes(${FIM061}, true); // 전기차 충전구역 및 충전방해 위반 코드
var FIM064 = new CommonCodes(${FIM064}, true); // 화물자동차 밤샘주차 위반 코드 var FIM064 = new CommonCodes(${FIM064}, true); // 화물자동차 밤샘주차 위반 코드
pageObject["${pageName}"] = {};
/************************************************************************** /**************************************************************************
* script 진입 * script 진입
**************************************************************************/ **************************************************************************/
$(document).ready(function() { $(document).ready(function() {
// pageObject // pageObject
var $P = pageObject["${pageName}"]; let $P = pageObject["${pageName}"];
// URL
$P.PrefixUrl = "/levy/levy01";
// FormFields // FormFields
$P.formFields = new FimsFormFields("#frmSearch--${pageName}"); $P.formFields = new FimsFormFields("#frmSearch--${pageName}");
@ -321,27 +320,27 @@
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
$P.control = new DatasetControl({ $P.control = new DatasetControl({
prefix : "rductLevyTrgt" prefix: "rductLevyTrgt"
, prefixName : "감경부과 대상" , prefixName: "감경부과 대상"
, infoSize : "md" , infoSize: "md"
, keymapper : info => info ? info.CRDN_ID : "" , keymapper: info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.${infoPrefix}List , dataGetter: obj => obj.${infoPrefix}List
, appendData : true , appendData: true
, formats : { , formats: {
CRDN_YMD_TM : datetimeFormat CRDN_YMD_TM: datetimeFormat
, CVLCPT_RCPT_YMD : dateFormat , CVLCPT_RCPT_YMD: dateFormat
, FFNLG_CRDN_AMT : numberFormat , FFNLG_CRDN_AMT: numberFormat
, FFNLG_AMT : numberFormat , FFNLG_AMT: numberFormat
, CVLCPT_PRCS_CMPTN_DT : datetimeFormat , CVLCPT_PRCS_CMPTN_DT: datetimeFormat
, REG_DT : datetimeFormat , REG_DT: datetimeFormat
, MDFCN_DT : datetimeFormat , MDFCN_DT: datetimeFormat
} }
}); });
// $P.control 설정 // $P.control 설정
$P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 $P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
$P.control.untilPageNum = 0; // 현재 페이지 번호 $P.control.untilPageNum = 0; // 현재 페이지 번호
$P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
$P.control.beforeCurrent = null; $P.control.beforeCurrent = null;
$P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
/************************************************************************** /**************************************************************************
* DatasetControl 이벤트 * DatasetControl 이벤트
@ -395,22 +394,22 @@
} }
}; };
// 부과 정보 dialog // 상세정보 dialog
$P.control.getInfo = (params) => { $P.control.getInfo = (params) => {
if (!params) return; if (!params) return;
ajax.get({ ajax.get({
url : $P.control.urls.getInfo url: wctx.url("/" + params.taskSeCd + "${infoPrefixUrl}" + "/020/info.do")
, data : params || {} , data: params || {}
, success : resp => { , success: resp => {
dialog.open({ dialog.open({
id : $P.control.prefixed("Dialog") id: $P.control.prefixed("Dialog")
, title : params.title , title: params.title
, content : resp , content: resp
, size : $P.control.infoSize , size: $P.control.infoSize
, onClose : () => { , onClose: () => {
$P.control.query.crdnIds = null; // 체크 자료 $P.control.query.crdnIds = null; // 체크 자료
$P.refreshList(); // 자료 재조회 $P.fnRefreshList(); // 자료 재조회
} }
}); });
} }
@ -468,51 +467,21 @@
$P.control.load($P.control.query.pageNum + 1); $P.control.load($P.control.query.pageNum + 1);
} }
/************************************************************************** // DataTables에 더블 클릭시 개별총정보 dialog
* 사용자 함수(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
$P.getTotalInfo = (crdnId) => { $P.getTotalInfo = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = { let params = {
callControlName : "pageObject['${pageName}'].control" callControlName: "pageObject['${pageName}'].control"
, sggCd : $("#sggCd--${pageName}").val() , sggCd: $P.control.dataset.getValue("SGG_CD")
, taskSeCd : $("input[name=taskSeCd]:checked").val() , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD")
, crdnId : crdnId , crdnId: crdnId
} }
ajax.get({ ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/010/main.do") url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/010/main.do")
, data : params , data: params
, success : resp => { , success: resp => {
dialog.open({ dialog.open({
id : "totalInfoMainDialog" id : "totalInfoMainDialog"
, title : "개별총정보" , title : "개별총정보"
@ -523,14 +492,23 @@
}); });
} }
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 검색 자료 재조회 // 검색 자료 재조회
$P.refreshList = () => { $P.fnRefreshList = () => {
$P.control.untilPageNum = $P.control.query.pageNum; $P.control.untilPageNum = $P.control.query.pageNum;
$P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum; $P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum;
$P.control.load(1); $P.control.load(1);
} }
// 사용자검색 callback
$P.callbackFindUser = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
}
/************************************************************************** /**************************************************************************
* 버튼 clickEvent * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
@ -552,10 +530,31 @@
$P.control.dataset.clear(); $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.fnSearchList = () => {
// 검색조건 // 검색조건
$P.control.query = $P.formFields.get(); $P.control.query = $P.formFields.get(); // 검색 조건
$P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수 $P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수
$P.control.query.delYn = "N"; // 삭제 여부 $P.control.query.delYn = "N"; // 삭제 여부
@ -569,7 +568,6 @@
content : "검색된 자료가 없습니다." content : "검색된 자료가 없습니다."
, onOK : () => { } , onOK : () => { }
}); });
return; return;
} }
@ -581,28 +579,23 @@
$P.control.download(); $P.control.download();
} }
// 사용자 조회 버튼 이벤트
$P.fnFindUser = () => {
$P.getFindUser();
}
// 선택 감경부과 등록 버튼 이벤트 // 선택 감경부과 등록 버튼 이벤트
$P.fnCreateSlctnTrgtRductLevy = (title) => { $P.fnCreateSlctnTrgt = (title) => {
// 선택 자료 // 선택 자료
let selected = $P.control.dataset.getKeys("selected"); let selected = $P.control.dataset.getKeys("selected");
if (selected.length < 1) return; if (selected.length < 1) return;
let tnocs = selected.length; let tnocs = selected.length;
let strAmt = "";
let gramtFfnlgAmt = 0; let gramtFfnlgAmt = 0;
let gramtAdvntceAmt = 0; let gramtAdvntceAmt = 0;
selected.forEach (function (el, index) { selected.forEach (function (el, index) {
pageObject['${pageName}'].control.setCurrent(selected[index]); pageObject['${pageName}'].control.setCurrent(selected[index]);
let str = $P.control.dataset.getValue("FFNLG_AMT"); strAmt = $P.control.dataset.getValue("FFNLG_AMT");
gramtFfnlgAmt = gramtFfnlgAmt + Number(str.replaceAll(",", "")); gramtFfnlgAmt = gramtFfnlgAmt + Number(strAmt.replaceAll(",", ""));
gramtAdvntceAmt = gramtAdvntceAmt + Number($P.control.dataset.getValue("ADVNTCE_AMT")); gramtAdvntceAmt = gramtAdvntceAmt + Number($P.control.dataset.getValue("ADVNTCE_AMT"));
}); });
@ -620,13 +613,12 @@
} }
// 전체 감경부과 등록 버튼 이벤트 // 전체 감경부과 등록 버튼 이벤트
$P.fnCreateWholTrgtRductLevy = (title) => { $P.fnCreateWholTrgt = (title) => {
if ($P.control.dataset.empty) { if ($P.control.dataset.empty) {
dialog.alert({ dialog.alert({
content : "검색된 자료가 없습니다." content : "검색된 자료가 없습니다."
, onOK : () => { } , onOK : () => { }
}); });
return; return;
} }
@ -651,7 +643,7 @@
$("#btnReset--${pageName}").on("click", () => $P.fnResetAndChangeBiz()); // 초기화 $("#btnReset--${pageName}").on("click", () => $P.fnResetAndChangeBiz()); // 초기화
$("#btnSearch--${pageName}").on("click", () => $P.fnSearchList()); // 검색 $("#btnSearch--${pageName}").on("click", () => $P.fnSearchList()); // 검색
$("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀 $("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀
$("#btnFindUser--${pageName}").on("click", () => $P.fnFindUser()); // 사용자 검색 $("#btnFindUser--${pageName}").on("click", () => $P.fnGetFindUser()); // 사용자 검색
// 동적검색에서 엔터(Enter) 키를 누르면 검색한다. // 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
$("#term--${pageName}").keypress(function(e) { $("#term--${pageName}").keypress(function(e) {
@ -674,12 +666,12 @@
}); });
// 선택 대상 등록 버튼 이벤트 // 선택 대상 등록 버튼 이벤트
$("#btnCreateSlctnTrgtRductLevy--${pageName}").on("click", function() { $("#btnCreateSlctnTrgt--${pageName}").on("click", function() {
$P.fnCreateSlctnTrgtRductLevy($(this).attr("title")); $P.fnCreateSlctnTrgt($(this).attr("title"));
}); });
// 전체 대상 감경부과 등록 버튼 이벤트 // 전체 대상 감경부과 등록 버튼 이벤트
$("#btnCreateWholTrgtRductLevy--${pageName}").on("click", function() { $("#btnCreateWholTrgt--${pageName}").on("click", function() {
$P.fnCreateWholTrgtRductLevy($(this).attr("title")); $P.fnCreateWholTrgt($(this).attr("title"));
}); });
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고 // DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
@ -709,14 +701,13 @@
// 달력 초기화 // 달력 초기화
initDatepicker("frmSearch--${pageName}"); initDatepicker("frmSearch--${pageName}");
$("#schCrdnYmdFrom--${pageName}").datepicker("setDate", new Date());
$("#schCrdnYmdTo--${pageName}").datepicker("setDate", new Date());
// 동적 검색 // 동적 검색
$("#byOutput--${pageName}").val("동적 검색"); $("#byOutput--${pageName}").val("동적 검색");
// 사용자 이름 // 사용자 이름
$("#schRgtrNm--${pageName}").prop("readonly", true); $("#schRgtrNm--${pageName}").prop("readonly", true);
// 기본 데이터 설정(업무구분)
$P.initData($("input[name=taskSeCd]:checked").val());
} }
// 기본 데이터 설정 // 기본 데이터 설정
@ -755,6 +746,9 @@
// 업무 구분별 설정 // 업무 구분별 설정
$P.setTask = (taskSeCd) => { $P.setTask = (taskSeCd) => {
// 검색 url
$P.control.urls.load = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/010/list.do");
let clsForTask = taskSeCd.toLowerCase(); let clsForTask = taskSeCd.toLowerCase();
// 업무별 조회조건 // 업무별 조회조건
@ -769,15 +763,6 @@
colsOuterHTML += this.outerHTML; colsOuterHTML += this.outerHTML;
}); });
$("#table-responsive--${pageName}")[0].changeColumn(colsOuterHTML); $("#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"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">부과 정보</c:set>
<!-- inner page html --> <!-- inner page html -->
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content --> <!-- Content -->
<div class="container flex-grow-1 px-0"> <div class="container flex-grow-1 px-0">
<c:set var="prefixName" scope="request">부과 정보</c:set>
<!-- Page Body --> <!-- Page Body -->
<div class="card"> <div class="card">
<!-- 입력 영역 --> <!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit"> <form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden --> <!-- hidden -->
@ -83,10 +84,8 @@
**************************************************************************/ **************************************************************************/
$(document).ready(function() { $(document).ready(function() {
// pageObject // pageObject
var $P = pageObject["${pageName}"]; let $P = pageObject["${pageName}"];
// URL
$P.PrefixUrl = "/levy/levy01";
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
$P.callPurpose = "${callPurpose}"; $P.callPurpose = "${callPurpose}";
// FormFields // FormFields
@ -98,28 +97,28 @@
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
$P.control = new DatasetControl({ $P.control = new DatasetControl({
prefix : "rductLevyTrgt" prefix: "rductLevyTrgt"
, prefixName : "감경부과" , prefixName: "감경부과"
, keymapper : info => info ? info.CRDN_ID : "" , keymapper: info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.${infoPrefix}Info , dataGetter: obj => obj.${infoPrefix}Info
, formats : { , formats: {
TNOCS : numberFormat TNOCS: numberFormat
, GRAMT_FFNLG_AMT : numberFormat , GRAMT_FFNLG_AMT: numberFormat
, GRAMT_ADVNTCE_AMT : numberFormat , GRAMT_ADVNTCE_AMT: numberFormat
} }
}); });
/************************************************************************** /**************************************************************************
* DatasetControl 이벤트 * DatasetControl 이벤트
**************************************************************************/ **************************************************************************/
// 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = item => { $P.control.onCurrentChange = item => {
if (!item) return; if (!item) return;
// Dataset 셋팅 // Dataset 셋팅
$P.formFields.set($P.control,item); $P.formFields.set($P.control,item);
// 업무구분에 따른 URL 변경 // 업무구분에 따른 URL 변경
$P.setURL(item.data.TASK_SE_CD); $P.fnSetURL(item.data.TASK_SE_CD);
} }
// 저장 callback // 저장 callback
@ -129,8 +128,8 @@
// 메시지 출력 // 메시지 출력
dialog.alert({ dialog.alert({
content : showMessage content: showMessage
, onOK : () => { } , onOK: () => { }
}); });
if (resp.saved) { if (resp.saved) {
@ -146,16 +145,19 @@
let params = $.extend({}, $P.mainQuery, info); let params = $.extend({}, $P.mainQuery, info);
ajax.post({ ajax.post({
url : $P.control.urls.create url: $P.control.urls.create
, data : params , data: params || {}
, success : resp => $P.control.onSave(resp) , success: resp => $P.control.onSave(resp)
}); });
} }
/************************************************************************** /**************************************************************************
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// 업무구분에 따른 URL 설정
$P.fnSetURL = (taskSeCd) => {
$P.control.urls.create = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/020/createRductLevyList.do"); // 등록
}
/************************************************************************** /**************************************************************************
* 버튼 clickEvent * 버튼 clickEvent
@ -166,13 +168,9 @@
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({ dialog.alert({
content : "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?" content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?"
, onOK : () => { , onOK: () => {
// 파리미터 설정 $P.control.save($P.formFields.get()); // formFields
let params = $P.formFields.get(); // formFields
params.title = title; // 타이틀
$P.control.save(params);
} }
}); });
} }
@ -204,9 +202,7 @@
}); });
// 저장 버튼 이벤트 // 저장 버튼 이벤트
$("#btnSave--${pageName}").on("click", function() { $("#btnSave--${pageName}").on("click", () => $P.fnSave());
$P.fnSave($(this).attr("title"));
});
} }
// 초기 화면 설정 // 초기 화면 설정
@ -218,7 +214,6 @@
initDatepicker("frmEdit--${pageName}"); initDatepicker("frmEdit--${pageName}");
$("#levyYmd--${pageName}").datepicker("setDate", new Date()); $("#levyYmd--${pageName}").datepicker("setDate", new Date());
$("#dudtYmd--${pageName}").datepicker("setDate", new Date()); $("#dudtYmd--${pageName}").datepicker("setDate", new Date());
$("#tnocs--${pageName}").prop("readonly", true); // 총건수 $("#tnocs--${pageName}").prop("readonly", true); // 총건수
$("#gramtFfnlgAmt--${pageName}").prop("readonly", true); // 총금액 $("#gramtFfnlgAmt--${pageName}").prop("readonly", true); // 총금액
$("#advntceRductRt--${pageName}").prop("readonly", true); // 감경율 $("#advntceRductRt--${pageName}").prop("readonly", true); // 감경율
@ -233,10 +228,6 @@
$("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼 $("#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: 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: 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('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('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('UNTY_SE_CD', this.innerText, 'codeValue', 'FIM072');">통합구분</th>
<th class="cmn" style="width: 100px;" onclick="searchFromGridTitle('RDUCT_SE_CD', this.innerText, 'codeValue', 'FIM046');">감경구분</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_CD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{TXITM_NM}</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}">{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}">{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}">{UNTY_SE_NM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RDUCT_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}">{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_PCPTAX}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RDCAMT_ADAMT}</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}">{TXTN_THING}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{NPMNT_RSN_NM}</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> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RCVMT_YMD}</td>

Loading…
Cancel
Save