부과제외 수정.

main
jjh 1 year ago
parent 4deeae4604
commit 2d0eac6aab

@ -18,11 +18,6 @@ import lombok.Setter;
@Setter
public class Excl01 extends AbstractEntity {
/**
* IDs
*/
private String[] levyExclIDs;
/**
* ID
*/
@ -139,9 +134,34 @@ public class Excl01 extends AbstractEntity {
*/
private String cvlcptPrcsCd;
/**
* (TB_CRDN_CVLCPT) -
*/
private String cvlcptPrcsSumry;
/**
* (TB_CRDN_CVLCPT) -
*/
private String cvlcptPrcsRsltCn;
/**
* (TB_CRDN_CVLCPT) -
*/
private String cvlcptPrcsCmptnDt;
/**
* (TB_CRDN_CVLCPT) -
*/
private String cvlcptPrcsPic;
/**
* (TB_CRDN_CVLCPT) -
*/
private String cvlcptTrsmCd;
/**
* (TB_SNDNG_DTL) -
*/
private String sndngRcvmtCd;
}

@ -61,6 +61,7 @@ public class Excl01Query extends QueryRequest {
// ETC
private String ansRsnCd; // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) - 답변 사유 코드
private String delRsn; // 삭제 사유
private String sndngRcvmtCd; // 발송 수납 코드
public String getSggCd() {
return ifEmpty(sggCd, () -> null);
@ -404,5 +405,16 @@ public class Excl01Query extends QueryRequest {
return self();
}
public String getSndngRcvmtCd() {
return ifEmpty(sndngRcvmtCd, () -> null);
}
public <T extends Excl01Query> T setSndngRcvmtCd(String sndngRcvmtCd) {
this.sndngRcvmtCd = sndngRcvmtCd;
return self();
}
// ETC /////////////////////////////////////////////////////////////////////
}

@ -20,11 +20,6 @@ public class Excl02 extends AbstractEntity {
public static String INF_TYPE = "110"; // 의견 진술 첨부파일
/**
* IDs
*/
private String[] opnnIDs;
/**
* ID
*/

@ -20,11 +20,6 @@ public class Excl03 extends AbstractEntity {
public static String INF_TYPE = "100"; // 단속 사진
/**
* IDs
*/
private String[] reRegIDs;
/**
* ID
*/

@ -122,7 +122,7 @@ public interface Excl01Mapper extends AbstractMapper {
return excl01 != null && updateCrdnCvlcptPrcs(params().set("excl01", excl01)) == 1;
}
/**(TB_CRDN_CVLCPT) .
/**(TB_CRDN_CVLCPT) (CVLCPT_PRCS_RSLT_CN) .
* @param excl
* @return
*/
@ -132,7 +132,17 @@ public interface Excl01Mapper extends AbstractMapper {
return excl01 != null && updateCvlcptPrcsRsltCn(params().set("excl01", excl01)) == 1;
}
/**(TB_CRDN) .
/**(TB_CRDN_CVLCPT) .
* @param excl
* @return
*/
int updateCrdnCvlcpt(Map<String, Object> params);
default boolean updateCrdnCvlcpt(Excl01 excl01) {
return excl01 != null && updateCrdnCvlcpt(params().set("excl01", excl01)) == 1;
}
/**(TB_CRDN) .
* @param excl
* @return
*/
@ -148,8 +158,9 @@ public interface Excl01Mapper extends AbstractMapper {
*/
DataObject selectSndngDtl(Excl01Query req);
default DataObject selectSndngDtlInfo(String crdnId) {
DataObject sndngDtlInfo = selectSndngDtl(new Excl01Query().setCrdnId(crdnId));
default DataObject selectSndngDtlInfo(String crdnId, String sndngRcvmtCd) {
DataObject sndngDtlInfo = selectSndngDtl(new Excl01Query().setCrdnId(crdnId)
.setSndngRcvmtCd(sndngRcvmtCd));
return sndngDtlInfo;
}

@ -1,7 +1,6 @@
package cokr.xit.fims.excl.service;
import java.util.List;
import java.util.Map;
import cokr.xit.fims.excl.Excl01;
import cokr.xit.fims.excl.Excl01Query;
@ -23,13 +22,13 @@ public interface Excl01Service {
* @param req
* @return
*/
List<DataObject> getLevyExclusionList(Excl01Query req);
List<DataObject> getLevyExclList(Excl01Query req);
/** ID .<br />
* @param levyExclId ID
* @return
*/
DataObject getInfo(Excl01Query req);
DataObject getLevyExclInfo(Excl01Query req);
/** .
* @param excl
@ -38,7 +37,7 @@ public interface Excl01Service {
* <li> false</li>
* </ul>
*/
Map<String, String> create(Excl01 excl01);
boolean createLevyExcl(Excl01 excl01);
/** .
* @param excl
@ -47,7 +46,7 @@ public interface Excl01Service {
* <li> false</li>
* </ul>
*/
Map<String, String> update(Excl01 excl01);
boolean updateLevyExcl(Excl01 excl01);
/** .
* @param excl
@ -56,7 +55,7 @@ public interface Excl01Service {
* <li> false</li>
* </ul>
*/
boolean remove(Excl01 excl01);
boolean removeLevyExcl(Excl01 excl01);
/** .
* @param excl
@ -65,6 +64,6 @@ public interface Excl01Service {
* <li> false</li>
* </ul>
*/
boolean removeList(Excl01Query req);
boolean removeLevyExclList(Excl01Query req);
}

@ -1,6 +1,7 @@
package cokr.xit.fims.excl.service.bean;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
@ -33,7 +34,7 @@ public class Excl01Bean extends AbstractComponent {
* @param req
* @return
*/
public List<DataObject> getLevyExclusionList(Excl01Query req) {
public List<DataObject> getLevyExclList(Excl01Query req) {
req.setOrderBy("LEVY_EXCL_ID"); // 정렬
return excl01Mapper.selectLevyExclList(req);
@ -43,7 +44,7 @@ public class Excl01Bean extends AbstractComponent {
* @param levyExclId ID
* @return
*/
public DataObject getInfo(Excl01Query req) {
public DataObject getLevyExclInfo(Excl01Query req) {
if (req.getLevyExclId() != null) {
return excl01Mapper.selectInfo(req.getLevyExclId()); // 수정(부과제외 조회)
} else {
@ -64,7 +65,7 @@ public class Excl01Bean extends AbstractComponent {
* <li> false</li>
* </ul>
*/
public boolean create(Excl01 excl01) {
public boolean createLevyExcl(Excl01 excl01) {
return excl01Mapper.insert(excl01);
}
@ -75,7 +76,7 @@ public class Excl01Bean extends AbstractComponent {
* <li> false</li>
* </ul>
*/
public boolean update(Excl01 excl01) {
public boolean updateLevyExcl(Excl01 excl01) {
return excl01Mapper.update(excl01);
}
@ -86,7 +87,7 @@ public class Excl01Bean extends AbstractComponent {
* <li> false</li>
* </ul>
*/
public boolean remove(Excl01 excl01) {
public boolean removeLevyExcl(Excl01 excl01) {
return excl01Mapper.delete(excl01);
}
@ -117,7 +118,7 @@ public class Excl01Bean extends AbstractComponent {
return excl01Mapper.updateCrdnCvlcptPrcs(excl01);
}
/**(TB_CRDN_CVLCPT) .
/**(TB_CRDN_CVLCPT) (CVLCPT_PRCS_RSLT_CN) .
* @param excl
* @return
* <ul><li> true</li>
@ -128,6 +129,17 @@ public class Excl01Bean extends AbstractComponent {
return excl01Mapper.updateCvlcptPrcsRsltCn(excl01);
}
/**(TB_CRDN_CVLCPT) .
* @param excl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean updateCrdnCvlcpt(Excl01 excl01) {
return excl01Mapper.updateCrdnCvlcpt(excl01);
}
/**(TB_CRDN) .
* @param excl
* @return
@ -143,8 +155,8 @@ public class Excl01Bean extends AbstractComponent {
* @param crdnId ID
* @return ,
*/
public DataObject selectSndngDtlInfo(String crdnId) {
return excl01Mapper.selectSndngDtlInfo(crdnId);
public DataObject selectSndngDtlInfo(String crdnId, String sndngRcvmtCd) {
return excl01Mapper.selectSndngDtlInfo(crdnId, sndngRcvmtCd);
}
/**(TB_SNDNG_DTL) .

@ -1,8 +1,8 @@
package cokr.xit.fims.excl.service.bean;
import java.util.HashMap;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
@ -13,6 +13,7 @@ import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean;
import cokr.xit.fims.excl.Excl01;
import cokr.xit.fims.excl.Excl01Query;
import cokr.xit.fims.excl.service.Excl01Service;
import cokr.xit.foundation.UserInfo;
import cokr.xit.foundation.component.AbstractServiceBean;
import cokr.xit.foundation.data.DataObject;
@ -38,13 +39,13 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
private CrdnSttsHstryBean crdnSttsHstryBean;
@Override
public List<DataObject> getLevyExclusionList(Excl01Query req) {
return excl01Bean.getLevyExclusionList(req);
public List<DataObject> getLevyExclList(Excl01Query req) {
return excl01Bean.getLevyExclList(req);
}
@Override
public DataObject getInfo(Excl01Query req) {
DataObject levyExcl = excl01Bean.getInfo(req);
public DataObject getLevyExclInfo(Excl01Query req) {
DataObject levyExcl = excl01Bean.getLevyExclInfo(req);
// 등록으로 실행했는데 부과제외 ID가 존재한다면 이미 등록되었으므로 오류로 처리..
if (req.getLevyExclId() == null) {
@ -58,9 +59,8 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
}
@Override
public Map<String, String> create(Excl01 excl01) {
public boolean createLevyExcl(Excl01 excl01) {
// 변수 선언
Map<String, String> retMap = new HashMap<String, String>(); // 결과 return
boolean retSuccess = false; // DB 처리 결과
String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD)
String newCvlcptPrcsCd = ""; // 신규 민원 처리 코드(CVLCPT_PRCS_CD)
@ -71,125 +71,121 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
// 부과제외 ID가 있다면 이미 부과제외 자료가 존재하므로 종료..
if (!infoCrdnLevyExcl.string("LEVY_EXCL_ID").equals("")) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 정보가 이미 존재합니다.");
return retMap;
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과제외 정보가 이미 존재합니다.");
}
// 단속 상태 코드(CRDN_STTS_CD) 확인..
if (excl01.getLevyExclSeCd().equals("1") || excl01.getLevyExclSeCd().equals("2")) { // 비부과(서손), 계고
// 단속 상태 코드가 부과(51) 보다 크다면, 비부과 또는 계고를 등록 할 수 없다. 종료..
if (Integer.parseInt(infoCrdnLevyExcl.string("CRDN_STTS_CD")) > 50) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다");
return retMap;
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다");
}
} else if (excl01.getLevyExclSeCd().equals("5")) {
// 단속 상태 코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다. 종료.. 전액감액 등록은 부과이후...
if (Integer.parseInt(infoCrdnLevyExcl.string("CRDN_STTS_CD")) < 51) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다");
}
// } else if (excl01.getLevyExclSeCd().equals("5")) {
// // 단속 상태 코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다. 종료..
// if (Integer.parseInt(infoCrdnLevyExcl.string("CRDN_STTS_CD")) < 50) {
// retMap.put("retSaved", "false");
// retMap.put("retMessage", "단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다");
//
// return retMap;
// }
}
// 여러 대장 수정에 사용한다.
Excl01 updtCrdn = new Excl01();
updtCrdn.setCrdnId(infoCrdnLevyExcl.string("CRDN_ID")); // 단속 ID
updtCrdn.setCvlcptLinkId(infoCrdnLevyExcl.string("CVLCPT_LINK_ID")); // 민원 연계 ID
// 비부과(서손), 계고 등록 하는데, 단속 민원 대장(TB_CRDN_CVLCPT)의 민원처리코드가 초기상태면 답변대상으로 수정한다
// 비부과(서손), 계고 등록 하는데,
if (excl01.getLevyExclSeCd().equals("1") || excl01.getLevyExclSeCd().equals("2")) {
// 자동등록 자료만 민원답변 부분을 처리
if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02")) {
// 단속등록구분코드(CRDN_REG_SE_CD)를 확인하여 민원처리코드(CVLCPT_PRCS_CD) 수정.
if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("00")
|| infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("01")
|| infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("04")) {
newCvlcptPrcsCd = "06"; // 민원 처리 코드 - 답변 미대상 변환등록, 수기등록, 복사등록, 재등록
newCvlcptTrsmCd = "02"; // 민원 전송 코드 - 전송 미대상 변환등록, 수기등록, 복사등록, 재등록
} else if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("03")) {
/*
if Msg_Confirm(' .' + #13 + ' ?') <> mrYes then new_as_state := ANSWER_STATE_CANCEL_COPY
else new_as_state := ANSWER_STATE_ANSWER_FOR_CANCEL; // 답변대상(서손)
*/
newCvlcptPrcsCd = "06"; // 민원 처리 코드 - 답변 미대상 변환등록, 수기등록, 복사등록, 재등록
newCvlcptTrsmCd = "02"; // 민원 전송 코드 - 전송 미대상 변환등록, 수기등록, 복사등록, 재등록
} else {
// 답변완료후 서손처리에 대해서는 답변 상태를 업데이트 하지 않는다
// 처리완료(부과), 처리완료(계도), 처리완료(서손), 처리완료(수기), 답변 미대상 변환등록, 수기등록, 복사등록, 재등록
if (!(infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("06") || infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02"))) {
// 단속민원ID가 있다면..
if (!infoCrdnLevyExcl.string("CVLCPT_LINK_ID").equals("")) {
// 자동등록 자료만 단속민원(TB_CRDN_CVLCPT) 답변 부분을 처리
if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02")) {
// 단속민원(TB_CRDN_CVLCPT) 대장
Excl01 updtCrdnCvlcpt = new Excl01();
updtCrdnCvlcpt.setCvlcptLinkId(infoCrdnLevyExcl.string("CVLCPT_LINK_ID")); // 민원 연계 ID
// 답변내용을 초기화, 답변대상이었다가 답변내용보기를 했다가 서손처리하면 답변내용이 이미 세팅되어 있으므로 초기화해야 한다.
// 서손사유 수정시도 답변내용보기를 했을 수 있으므로 초기화해야 한다.
// 서손취소시도 답변내용이 부과 기본 내용으로 바꾸이야 하므로 초기화해야 한다.
// 단속민원 민원처리결과내용 수정
retSuccess = excl01Bean.updateCvlcptPrcsRsltCn(updtCrdnCvlcpt);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과제외 등록 중 단속민원 대장의 민원처리결과내용 초기화에 실패하였습니다.");
}
// 답변완료 후 서손처리에 대해서는 답변 상태를 업데이트 하지 않는다
// 전송대상, 전송 미대상 자료에 대해서 업데이트한다.
if (infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("01")
|| infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("02")
|| infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("03")) {
// 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장 조회
DataObject infoCvlcptAnsWords = excl01Bean.selectCvlcptAnsWordsInfo(excl01.getLevyExclRsnCd());
// 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장에 답변 사유 코드가 존재한다면..
// 비부과(서손)사유가 민원 답변대상인가? 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장에 답변 사유 코드가 존재한다면..
if (!infoCvlcptAnsWords.string("ANS_WORDS_ID").equals("")) {
newCvlcptPrcsCd = "04"; // 민원 처리 코드 - 불수용(과태료 부과제외)
newCvlcptTrsmCd = "01"; // 민원 전송 코드 - 전송 대상
newCvlcptPrcsCd = "04"; // 민원 처리 코드 - 불수용(과태료 부과제외)
newCvlcptTrsmCd = "01"; // 민원 전송 코드 - 전송 대상
} else {
newCvlcptPrcsCd = "07"; // 민원 처리 코드 - 비부과(서손)사유가 답변 미대상
newCvlcptTrsmCd = "03"; // 민원 전송 코드 - 비부과(서손)사유가 전송 미대상
newCvlcptPrcsCd = "07"; // 민원 처리 코드 - 비부과(서손)사유가 답변 미대상
newCvlcptTrsmCd = "03"; // 민원 전송 코드 - 비부과(서손)사유가 전송 미대상
}
// 단속민원(TB_CRDN_CVLCPT) 대장을 수정 한다.
updtCrdn.setCvlcptPrcsCd(newCvlcptPrcsCd); // 민원 처리 코드
updtCrdn.setCvlcptTrsmCd(newCvlcptTrsmCd); // 민원 전송 코드
// 현재 날짜 구하기
LocalDate now = LocalDate.now();
// 포맷 정의
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); // yyyy년 MM월 dd일 HH시 mm분 ss초
// 포맷 적용
String formatedNow = now.format(formatter);
retSuccess = excl01Bean.updateCrdnCvlcptPrcs(updtCrdn); // 단속민원 민원처리코드 수정
// 단속민원(TB_CRDN_CVLCPT) 대장을 수정 한다.
updtCrdnCvlcpt.setCvlcptPrcsCd(newCvlcptPrcsCd); // 민원 처리 코드
updtCrdnCvlcpt.setCvlcptPrcsSumry(infoCvlcptAnsWords.string("PRCS_SUMRY")); // 민원 처리 요약
updtCrdnCvlcpt.setCvlcptPrcsRsltCn(infoCvlcptAnsWords.string("PRCS_RSLT_CN")); // 민원 처리 결과 내용
updtCrdnCvlcpt.setCvlcptPrcsCmptnDt(formatedNow); // 민원 처리 완료 일시
updtCrdnCvlcpt.setCvlcptPrcsPic(UserInfo.current().getId()); // 민원 처리 담당자
updtCrdnCvlcpt.setCvlcptTrsmCd(newCvlcptTrsmCd); // 민원 전송 코드
// 단속민원 민원처리코드 수정
retSuccess = excl01Bean.updateCrdnCvlcpt(updtCrdnCvlcpt);
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 등록 중 민원처리코드 수정에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
throw new RuntimeException("부과제외 등록 중 단속민원답변 수정에 실패하였습니다.");
}
}
}
// 답변내용을 초기화,
// 답변대상이었다가 답변내용보기를 했다가 서손처리하면 답변내용이 이미 세팅되어 있으므로 초기화해야 한다.
// 서손사유 수정시도 답변내용보기를 했을 수 있으므로 초기화해야 한다.
// 서손취소시도 답변내용이 부과 기본 내용으로 바꾸이야 하므로 초기화해야 한다.
retSuccess = excl01Bean.updateCvlcptPrcsRsltCn(updtCrdn); // 단속민원 민원처리결과내용 수정
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 등록 중 단속민원 대장의 민원처리결과내용 초기화에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
}
} // if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02"))
} // if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02"))
} // 단속민원ID가 있다면..
// 표지정보 확인여부가 미확인이면 -> 조회미대상 으로
if (infoCrdnLevyExcl.string("PARKNG_PSBLTY_RSLT_CD").equals("0")) {
// 단속(TB_CRDN) 대장을 수정 한다.
// 단속(TB_CRDN) 대장
Excl01 updtCrdn = new Excl01();
updtCrdn.setCrdnId(excl01.getCrdnId()); // 단속 ID
updtCrdn.setParkngPsbltyRsltCd("9"); // 주차 가능 결과 코드
retSuccess = excl01Bean.updateParkngPsbltyRsltCd(updtCrdn); // 단속민원 민원처리결과내용 수정
// 단속민원 민원처리결과내용 수정
retSuccess = excl01Bean.updateParkngPsbltyRsltCd(updtCrdn);
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 등록 중 단속 대장의 표지정보확인여부 수정에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
throw new RuntimeException("부과제외 등록 중 단속 대장의 표지정보확인여부 수정에 실패하였습니다.");
}
}
}
// 전액감액일 경우.. 부과(TB_LEVY)에 감액금액 입력이 필요..
} else if (excl01.getLevyExclSeCd().equals("5")) {
}
// 단속 ID로 발송 상세(TB_SNDNG_DTL) 대장 정보 조회
DataObject infoSndngDtl = excl01Bean.selectSndngDtlInfo(excl01.getCrdnId());
DataObject infoSndngDtl = excl01Bean.selectSndngDtlInfo(excl01.getCrdnId(), "1");
if (infoSndngDtl != null) {
retSuccess = excl01Bean.updateRcvmtCd(updtCrdn); // 발송상세 수납코드 수정
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 등록 중 발송상세 대장의 수납코드 수정에 실패하였습니다.");
// 발송 상세(TB_SNDNG_DTL) 대장
Excl01 updtSndngDtl = new Excl01();
updtSndngDtl.setCrdnId(excl01.getCrdnId()); // 단속 ID
// 발송상세 수납코드를 수정
retSuccess = excl01Bean.updateRcvmtCd(updtSndngDtl);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
throw new RuntimeException("부과제외 등록 중 발송상세 대장의 수납코드 수정에 실패하였습니다.");
}
}
@ -203,13 +199,10 @@ else new_as_state := ANSWER_STATE_ANSWER_FOR_CANCEL; // 답변대상(서
}
// 부과제외(TB_LEVY_EXCL) 대장을 등록 한다.
retSuccess = excl01Bean.create(excl01);
retSuccess = excl01Bean.createLevyExcl(excl01);
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 대장 등록에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
throw new RuntimeException("부과제외 대장 등록에 실패하였습니다.");
}
// 단속상태이력(TB_CRDN_STTS_HSTRY)
@ -225,50 +218,102 @@ else new_as_state := ANSWER_STATE_ANSWER_FOR_CANCEL; // 답변대상(서
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다.
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 등록 중 단속상태코드 변경에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
throw new RuntimeException("부과제외 등록 중 단속상태코드 변경에 실패하였습니다.");
}
// 처리 성공
retMap.put("retSaved", "true");
retMap.put("retMessage", "저장 되었습니다.");
return retMap;
return true;
}
@Override
public Map<String, String> update(Excl01 excl01) {
public boolean updateLevyExcl(Excl01 excl01) {
// 변수 선언
Map<String, String> retMap = new HashMap<String, String>(); // 결과 return
boolean retSuccess = false; // DB 처리 결과
String newCvlcptPrcsCd = ""; // 신규 민원 처리 코드(CVLCPT_PRCS_CD)
String newCvlcptTrsmCd = ""; // 민원 전송 코드(CVLCPT_TRSM_CD)
retSuccess = excl01Bean.update(excl01);
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 대장 수정에 실패하였습니다.");
// 부과제외(TB_LEVY_EXCL) + 단속(TB_CRDN) 자료 조회
DataObject infoCrdnLevyExcl = excl01Bean.getLevyExclInfo(new Excl01Query().setLevyExclId(excl01.getLevyExclId()));
// 부과제외(TB_LEVY_EXCL) 대장을 수정 한다.
retSuccess = excl01Bean.updateLevyExcl(excl01);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException(retMap.get("retMessage"));
throw new RuntimeException("부과제외 대장 수정에 실패하였습니다.");
}
// 처리 성공
retMap.put("retSaved", "true");
retMap.put("retMessage", "저장 되었습니다.");
// 비부과(서손)일 경우..
if (excl01.getLevyExclSeCd().equals("1") ) {
// 단속민원(TB_CRDN_CVLCPT)에 자료가 있는지 확인
if (!infoCrdnLevyExcl.string("CVLCPT_LINK_ID").equals("")) {
// 단속 민원 대장
Excl01 updtCrdnCvlcpt = new Excl01();
updtCrdnCvlcpt.setCrdnId(infoCrdnLevyExcl.string("CRDN_ID")); // 단속 ID
updtCrdnCvlcpt.setCvlcptLinkId(infoCrdnLevyExcl.string("CVLCPT_LINK_ID")); // 민원 연계 ID
// 답변대상이었다가 답변내용보기를 했다가 서손처리하면 답변내용이 이미 세팅되어 있으므로 초기화해야 한다.
// 서손사유 수정시도 답변내용보기를 했을 수 있으므로 초기화해야 한다.
// 서손취소시도 답변내용이 부과 기본 내용으로 바꾸이야 하므로 초기화해야 한다.
retSuccess = excl01Bean.updateCvlcptPrcsRsltCn(updtCrdnCvlcpt); // 단속민원 민원처리결과내용 초기화
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과제외 수정 중 단속민원 대장의 민원처리결과내용 초기화에 실패하였습니다.");
}
// 자동등록 자료만..
if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02")) {
// 민원전송코드가 전송대상(01) 또는 전송미대상(03) 자료만 민원답변 부분을 처리
if (infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("01") || infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("03")) {
// 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장 조회
DataObject infoCvlcptAnsWords = excl01Bean.selectCvlcptAnsWordsInfo(excl01.getLevyExclRsnCd());
// 비부과(서손)사유가 민원 답변대상인가? 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장에 답변 사유 코드가 존재한다면..
if (infoCvlcptAnsWords != null) {
newCvlcptPrcsCd = "04"; // 민원 처리 코드 - 불수용(과태료 부과제외)
newCvlcptTrsmCd = "01"; // 민원 전송 코드 - 전송 대상
// 답변 문구가 필요해 보임..
} else {
newCvlcptPrcsCd = "07"; // 민원 처리 코드 - 비부과(서손)사유가 답변 미대상
newCvlcptTrsmCd = "03"; // 민원 전송 코드 - 비부과(서손)사유가 전송 미대상
}
// 현재 날짜 구하기
LocalDate now = LocalDate.now();
// 포맷 정의
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); // yyyy년 MM월 dd일 HH시 mm분 ss초
// 포맷 적용
String formatedNow = now.format(formatter);
// 단속민원(TB_CRDN_CVLCPT) 대장을 수정 한다.
updtCrdnCvlcpt.setCvlcptPrcsCd(newCvlcptPrcsCd); // 민원 처리 코드
updtCrdnCvlcpt.setCvlcptPrcsSumry(infoCvlcptAnsWords.string("PRCS_SUMRY")); // 민원 처리 요약
updtCrdnCvlcpt.setCvlcptPrcsRsltCn(infoCvlcptAnsWords.string("PRCS_RSLT_CN")); // 민원 처리 결과 내용
updtCrdnCvlcpt.setCvlcptPrcsCmptnDt(formatedNow); // 민원 처리 완료 일시
updtCrdnCvlcpt.setCvlcptPrcsPic(UserInfo.current().getId()); // 민원 처리 담당자
updtCrdnCvlcpt.setCvlcptTrsmCd(newCvlcptTrsmCd); // 민원 전송 코드
retSuccess = excl01Bean.updateCrdnCvlcpt(updtCrdnCvlcpt); // 단속민원 민원처리코드 수정
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과제외 등록 중 민원처리코드 수정에 실패하였습니다.");
}
}
} // 자동등록 자료만..
} // 단속민원(TB_CRDN_CVLCPT)에 자료가 있는지 확인
} // 비부과(서손)일 경우..
return retMap;
return true;
}
@Override
public boolean remove(Excl01 excl01) {
public boolean removeLevyExcl(Excl01 excl01) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
DataObject infoCrdnLevyExcl = new DataObject(); // 단속(TB_CRDN) 조회
// 부과제외(TB_LEVY_EXCL) + 단속(TB_CRDN) 자료 조회
infoCrdnLevyExcl = excl01Bean.getInfo(new Excl01Query().setLevyExclId(excl01.getLevyExclId()));
DataObject infoCrdnLevyExcl = excl01Bean.getLevyExclInfo(new Excl01Query().setLevyExclId(excl01.getLevyExclId()));
// 단속 상태 코드(CRDN_STTS_CD) 확인..
if (infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("1") && !infoCrdnLevyExcl.string("CRDN_STTS_CD").equals("81")) { // 비부과(서손)
@ -288,106 +333,42 @@ else new_as_state := ANSWER_STATE_ANSWER_FOR_CANCEL; // 답변대상(서
}
// 부과제외(TB_LEVY_EXCL) 대장을 삭제 한다.
retSuccess = excl01Bean.remove(excl01);
retSuccess = excl01Bean.removeLevyExcl(excl01);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과제외 대장 삭제에 실패하였습니다.");
}
// 부과제외구분이 비부과(서손), 계고일 경우
if (infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("1") || infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("2")) {
/*
if GB <> 3 then
begin
//서손 취소하는데, cp_answer의 처리상태가 답변대상 또는 서손의 답변 미대상 자료이면 원래 초기상태로 되돌린다
with qryAnswer_Get do begin
Close;
ParamByName('AS_MMCODE').AsString :=MainInfo.mm_code;
Open;
if (not IsEmpty) then
begin
{
old_state := FieldByName('AS_STATE').AsString;
if (FieldByName('AS_STATE').AsString = ANSWER_STATE_ANSWER_FOR_CANCEL) or
(FieldByName('AS_STATE').AsString = ANSWER_STATE_CANCEL_IGNORE) then
begin
qryAnswer_SetState.ParamByName('AS_STATE').AsString := ANSWER_STATE_FIRST;
qryAnswer_SetState.ParamByName('AS_STATE_DT').AsString := sDateTime;
qryAnswer_SetState.ParamByName('AS_MMCODE').AsString := MainInfo.mm_code;
qryAnswer_SetState.ExecSQL;
end;
}
//2017.01.17 서손취소를 하면 무조건 초기상태로 되게
{
qryAnswer_SetState.ParamByName('AS_STATE').AsString := ANSWER_STATE_FIRST;
qryAnswer_SetState.ParamByName('AS_STATE_DT').AsString := sDateTime;
qryAnswer_SetState.ParamByName('AS_MMCODE').AsString := MainInfo.mm_code;
qryAnswer_SetState.ExecSQL;
}
//20201203 UIJIN 재등록 자료가 서손>취소>차적조회 시에 사전통보 대상에 올라오지 않아서 추가..
if (MainInfo.MM_DLGB = '3') or
(MainInfo.MM_DLGB = '4') then
as_state := ANSWER_STATE_CANCEL_COPY
else
as_state := ANSWER_STATE_FIRST;
qryAnswer_Set.ParamByName('AS_POST_DT').AsString := '';
qryAnswer_Set.ParamByName('AS_STATE').AsString := as_state;
qryAnswer_Set.ParamByName('AS_TEXT').AsString := '';
qryAnswer_Set.ParamByName('AS_REUSER').AsInteger := 0;
qryAnswer_Set.ParamByName('AS_MMCODE').AsString := MainInfo.mm_code;
qryAnswer_Set.ExecSQL;
end;
end;
// 답변내용을 초기화,
// 답변대상이었다가 답변내용보기를 했다가 서손처리하면 답변내용이 이미 세팅되어 있으므로 초기화해야 한다.
// 서손사유 수정시도 답변내용보기를 했을 수 있으므로 초기화해야 한다.
// 서손취소시도 답변내용이 부과 기본 내용으로 바꾸이야 하므로 초기화해야 한다.
with qryAnswer_SetTextNull do begin
ParamByName('AS_MMCODE').AsString := MainInfo.mm_code;
ExecSQL;
end;
//표지정보 확인여부가 조회미대상이면 -> 미확인 으로
//혹시 차적조회가 안되었으면? 놔두자 차적조회되면 그 때 표지정보 BJ_Send가 처리할테니
if MainInfo.mm_carcheck = CARCHECK_STATE_IGNORE then
begin
with qryMain_SetCarCheck do begin
ParamByName('MM_CARCHECK').AsString := CARCHECK_STATE_BEFORE;
ParamByName('MM_CODE').AsString := MainInfo.mm_code;
ExecSQL;
end;
if MainCD <> nil then
begin
if MainCD.FindField('MM_CARCHECK') <> nil then
begin
MainCD.Edit;
MainCD.FieldByName('MM_CARCHECK').AsString := CARCHECK_STATE_BEFORE;
MainCD.Post;
end;
end;
end;
end;
*/
}
// 처리 성공
retSuccess = true;
// 부과제외 구분이 비부과(서손)일 경우
if (infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("1")) {
// 단속민원(TB_CRDN_CVLCPT)에 자료가 있는지 확인
if (!infoCrdnLevyExcl.string("CVLCPT_LINK_ID").equals("")) {
// 자동등록 자료만 민원답변 부분을 처리
if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02")) {
// 비부과(서손) 취소하는데, 단속민원 전송상태가 전송대상(01) 또는 전송미대상(03), 전송요청(04) 자료이면 초기상태(전송대상)로 되돌린다
if (infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("01")
|| infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("03") || infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("04")) {
Excl01 updtCrdnCvlcpt = new Excl01();
updtCrdnCvlcpt.setCvlcptLinkId(infoCrdnLevyExcl.string("CVLCPT_LINK_ID"));
updtCrdnCvlcpt.setCvlcptPrcsCd("00"); // 민원 처리 코드 - 00 접수
updtCrdnCvlcpt.setCvlcptTrsmCd("01"); // 민원 전송 코드 - 01 전송대상
retSuccess = excl01Bean.updateCrdnCvlcptPrcs(updtCrdnCvlcpt); // 민원답변 정보 초기화
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과제외 삭제 중 민원답변 정보 초기화에 실패하였습니다.");
}
}
} // 자동등록 자료만 민원답변 부분을 처리
} // 단속민원(TB_CRDN_CVLCPT)에 자료가 있는지 확인
} // 부과제외 구분이 비부과(서손)일 경우
return retSuccess;
return true;
}
@Override
public boolean removeList(Excl01Query req) {
public boolean removeLevyExclList(Excl01Query req) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
@ -404,16 +385,13 @@ else new_as_state := ANSWER_STATE_ANSWER_FOR_CANCEL; // 답변대상(서
infoLevyExcl.setDelRsn(req.getDelRsn()); // 삭제 사유
// 부과제외 삭제 호출
retSuccess = remove(infoLevyExcl);
retSuccess = removeLevyExcl(infoLevyExcl);
if (!retSuccess) {
return retSuccess;
}
}
// 처리 성공
retSuccess = true;
return retSuccess;
return true;
}
}

@ -64,8 +64,8 @@ public class Excl01Controller extends ApplicationController {
* }</code></pre>
*/
@RequestMapping(name = "부과제외 대장 조회", value = "/010/list.do")
public ModelAndView getLevyExclusionList(Excl01Query req) {
List<?> result = excl01Service.getLevyExclusionList(setFetchSize(req));
public ModelAndView getLevyExclList(Excl01Query req) {
List<?> result = excl01Service.getLevyExclList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "levyExcl");
}
@ -78,8 +78,8 @@ public class Excl01Controller extends ApplicationController {
* }</pre>
*/
@RequestMapping(name = "부과제외 정보 조회", value = "/020/info.do")
public ModelAndView getInfo(Excl01Query req) {
DataObject levyExclusionInfo = excl01Service.getInfo(req);
public ModelAndView getLevyExclInfo(Excl01Query req) {
DataObject levyExclusionInfo = excl01Service.getLevyExclInfo(req);
boolean json = jsonResponse();
@ -107,12 +107,11 @@ public class Excl01Controller extends ApplicationController {
* }</code></pre>
*/
@PostMapping(name = "부과제외 대장 등록", value = "/020/create.do")
public ModelAndView create(Excl01 excl01) {
Map<String, String> retMap = excl01Service.create(excl01);
public ModelAndView createLevyExcl(Excl01 excl01) {
boolean saved = excl01Service.createLevyExcl(excl01);
return new ModelAndView("jsonView")
.addObject("retSaved", retMap.get("retSaved"))
.addObject("retMessage", retMap.get("retMessage"));
.addObject("saved", saved);
}
/** .
@ -123,12 +122,11 @@ public class Excl01Controller extends ApplicationController {
* }</code></pre>
*/
@PostMapping(name = "부과제외 대장 수정", value = "/020/update.do")
public ModelAndView update(Excl01 excl01) {
Map<String, String> retMap = excl01Service.update(excl01);
public ModelAndView updateLevyExcl(Excl01 excl01) {
boolean saved = excl01Service.updateLevyExcl(excl01);
return new ModelAndView("jsonView")
.addObject("retSaved", retMap.get("retSaved"))
.addObject("retMessage", retMap.get("retMessage"));
.addObject("saved", saved);
}
/** ID .
@ -140,11 +138,11 @@ public class Excl01Controller extends ApplicationController {
* }</code></pre>
*/
@PostMapping(name = "부과제외 대장 제거", value = "/010/remove.do")
public ModelAndView remove(Excl01 excl01) {
boolean saved = excl01Service.remove(excl01);
public ModelAndView removeLevyExcl(Excl01 excl01) {
boolean saved = excl01Service.removeLevyExcl(excl01);
return new ModelAndView("jsonView")
.addObject("saved", saved);
.addObject("saved", saved);
}
/** ID .
@ -156,11 +154,11 @@ public class Excl01Controller extends ApplicationController {
* }</code></pre>
*/
@PostMapping(name = "부과제외 대장 제거", value = "/010/removes.do")
public ModelAndView removeList(Excl01Query req) {
boolean saved = excl01Service.removeList(req);
public ModelAndView removeLevyExclList(Excl01Query req) {
boolean saved = excl01Service.removeLevyExclList(req);
return new ModelAndView("jsonView")
.addObject("saved", saved);
.addObject("saved", saved);
}
}

@ -48,52 +48,48 @@
, A.DEL_DT /* 삭제 일시 */
, A.DLTR /* 삭제자 */
, A.DEL_RSN /* 삭제 사유 */
, C.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM026', C.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM /* 단속 등록 구분 명 */
, C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */
, C.CRDN_SE_CD /* 단속 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM002', C.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM /* 단속 구분 명 */
, C.CRDN_YMD /* 단속 일자 */
, C.CRDN_TM /* 단속 시각 */
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */
, C.VHRNO /* 차량번호 */
, C.CRDN_STDG_NM /* 단속 법정동 명 */
, C.CRDN_ROAD_NM /* 단속 도로 명 */
, C.CRDN_PLC /* 단속 장소 */
, C.DTL_CRDN_PLC /* 상세 단속 장소 */
, C.FFNLG_AMT /* 과태료 금액 */
, C.LEVY_AMT /* 부과 금액 */
, C.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, D.RTPYR_ID /* 납부자 ID */
, D.RTPYR_SE_CD /* 납부자 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM011', D.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */
, D.RTPYR_NO /* 납부자 번호 */
, D.RTPYR_NM /* 납부자 명 */
, D.RTPYR_BRDT /* 납부자 생년월일 */
, (SELECT FN_GET_BRDT_FORMAT(D.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_FORMAT /* 납부자 생년월일 */
, D.ZIP /* 우편번호 */
, D.ADDR /* 주소 */
, D.DTL_ADDR /* 상세 주소 */
, E.CVLCPT_LINK_ID /* 민원 연계 ID */
, E.CVLCPT_RCPT_YMD /* 민원 접수 일자 */
, E.CVLCPT_APLY_NO /* 민원 신청 번호 */
, E.CVLCPT_RCPT_NO /* 민원 접수 번호 */
, E.CVLCPT_APLCNT_NM /* 민원 신청인 명 */
, E.CVLCPT_PRCS_PIC_NM /* 민원 처리 담당자 명 */
FROM TB_LEVY_EXCL A
INNER JOIN TB_CRDN C ON (A.CRDN_ID = C.CRDN_ID)
LEFT OUTER JOIN TB_PAYER D ON (C.RTPYR_ID = D.RTPYR_ID)
LEFT OUTER JOIN TB_CRDN_CVLCPT E ON (C.CRDN_ID = E.CRDN_ID AND E.DEL_YN = 'N')
, H.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM026', H.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM /* 단속 등록 구분 명 */
, H.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM003', H.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */
, H.CRDN_YMD /* 단속 일자 */
, H.CRDN_TM /* 단속 시각 */
, (CONCAT(H.CRDN_YMD, H.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */
, H.VHRNO /* 차량번호 */
, H.CRDN_STDG_NM /* 단속 법정동 명 */
, H.CRDN_ROAD_NM /* 단속 도로 명 */
, H.CRDN_PLC /* 단속 장소 */
, H.FFNLG_AMT /* 과태료 금액 */
, H.LEVY_AMT /* 부과 금액 */
, H.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM010', H.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, J.RTPYR_ID /* 납부자 ID */
, J.RTPYR_SE_CD /* 납부자 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM011', J.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */
, J.RTPYR_NO /* 납부자 번호 */
, J.RTPYR_NM /* 납부자 명 */
, J.RTPYR_BRDT /* 납부자 생년월일 */
, (SELECT FN_GET_BRDT_FORMAT(J.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_FORMAT /* 납부자 생년월일 */
, J.ZIP /* 우편번호 */
, J.ADDR /* 주소 */
, J.DTL_ADDR /* 상세 주소 */
, K.CVLCPT_LINK_ID /* 민원 연계 ID */
, K.CVLCPT_RCPT_YMD /* 민원 접수 일자 */
, K.CVLCPT_APLY_NO /* 민원 신청 번호 */
, K.CVLCPT_RCPT_NO /* 민원 접수 번호 */
FROM TB_LEVY_EXCL A
INNER JOIN TB_CRDN H ON (A.CRDN_ID = H.CRDN_ID)
INNER JOIN TB_CRDN_ADI I ON (H.CRDN_ID = I.CRDN_ID)
LEFT OUTER JOIN TB_PAYER J ON (H.RTPYR_ID = J.RTPYR_ID)
LEFT OUTER JOIN TB_CRDN_CVLCPT K ON (H.LINK_ID = K.CVLCPT_LINK_ID AND H.CVLCPT_LINK_YN = 'Y' AND K.DEL_YN = 'N')
</sql>
<select id="selectLevyExclList" parameterType="map" resultType="dataobject">/* 부과제외 대장 목록 조회(excl01Mapper.selectLevyExclList) */
<include refid="utility.paging-prefix" />
<include refid="selectList" />
WHERE A.DEL_YN = 'N' /* 삭제 여부 */
AND C.SGG_CD = #{sggCd} /* 시군구 코드 */
AND C.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
AND H.SGG_CD = #{sggCd} /* 시군구 코드 */
AND H.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
<if test="schLevyExclYmdFrom != null">
AND A.LEVY_EXCL_YMD <![CDATA[ >= ]]> #{schLevyExclYmdFrom} /* 부과제외 일자 시작 */
</if>
@ -101,19 +97,19 @@
AND A.LEVY_EXCL_YMD <![CDATA[ <= ]]> #{schLevyExclYmdTo} /* 부과제외 일자 종료 */
</if>
<if test="schCrdnYmdFrom != null">
AND C.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} /* 단속 일자 시작 */
AND H.CRDN_YMD <![CDATA[ >= ]]> #{schCrdnYmdFrom} /* 단속 일자 시작 */
</if>
<if test="schCrdnYmdTo != null">
AND C.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} /* 단속 일자 종료 */
AND H.CRDN_YMD <![CDATA[ <= ]]> #{schCrdnYmdTo} /* 단속 일자 종료 */
</if>
<if test="schLevyExclSeCd != null">
AND A.LEVY_EXCL_SE_CD = #{schLevyExclSeCd} /* 부과 제외 구분 코드 */
</if>
<if test="schVhrno != null">
AND C.VHRNO = #{schVhrno} /* 차량번호 */
AND H.VHRNO = #{schVhrno} /* 차량번호 */
</if>
<if test="schRtpyrNm != null">
AND D.RTPYR_NM = #{schRtpyrNm} /* 납부자 명 */
AND J.RTPYR_NM = #{schRtpyrNm} /* 납부자 명 */
</if>
<choose>
<when test="schRegDateOpt == 'regDt'">
@ -158,16 +154,16 @@
<when test="by == 'levyExclSeNm'"> A.LEVY_EXCL_SE_CD </when>
<when test="by == 'levyExclRsnNm'"> A.LEVY_EXCL_RSN_CD </when>
<when test="by == 'etcCn'"> A.ETC_CN </when>
<when test="by == 'cvlcptRcptNo'"> E.CVLCPT_RCPT_NO </when>
<when test="by == 'cvlcptRcptYmd'"> E.CVLCPT_RCPT_YMD </when>
<when test="by == 'crdnYmd'"> C.CRDN_YMD </when>
<when test="by == 'vhrno'"> C.VHRNO </when>
<when test="by == 'crdnStdgNm'"> C.CRDN_STDG_NM </when>
<when test="by == 'crdnPlc'"> C.CRDN_PLC </when>
<when test="by == 'crdnSttsNm'"> C.CRDN_STTS_CD </when>
<when test="by == 'rtpyrNm'"> D.RTPYR_NM </when>
<when test="by == 'rtpyrNo'"> D.RTPYR_NO </when>
<when test="by == 'rtpyrBrdt'"> D.RTPYR_BRDT </when>
<when test="by == 'crdnYmd'"> H.CRDN_YMD </when>
<when test="by == 'vhrno'"> H.VHRNO </when>
<when test="by == 'crdnStdgNm'"> H.CRDN_STDG_NM </when>
<when test="by == 'crdnPlc'"> H.CRDN_PLC </when>
<when test="by == 'crdnSttsNm'"> H.CRDN_STTS_CD </when>
<when test="by == 'rtpyrNm'"> J.RTPYR_NM </when>
<when test="by == 'rtpyrNo'"> J.RTPYR_NO </when>
<when test="by == 'rtpyrBrdt'"> J.RTPYR_BRDT </when>
<when test="by == 'cvlcptRcptNo'"> K.CVLCPT_RCPT_NO </when>
<when test="by == 'cvlcptRcptYmd'"> K.CVLCPT_RCPT_YMD </when>
</choose>
<include refid="dynamicSearch.center" />#{term}<include refid="dynamicSearch.end" />
</when>
@ -198,38 +194,27 @@
, A.DEL_DT /* 삭제 일시 */
, A.DLTR /* 삭제자 */
, A.DEL_RSN /* 삭제 사유 */
, C.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */
, C.CRDN_SE_CD /* 단속 구분 코드 */
, C.CRDN_YMD /* 단속 일자 */
, C.CRDN_TM /* 단속 시각 */
, C.VHRNO /* 차량번호 */
, C.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, D.RTPYR_NM /* 납부자 명 */
, E.CVLCPT_LINK_ID /* 민원 연계 ID */
, E.CVLCPT_INPT_SE_CD /* 민원 입력 구분 코드 */
, E.CVLCPT_RCPT_YMD /* 민원 접수 일자 */
, E.CVLCPT_APLY_SE_CD /* 민원 신청 구분 코드 */
, E.CVLCPT_APLY_NO /* 민원 신청 번호 */
, E.CVLCPT_RCPT_NO /* 민원 접수 번호 */
, E.CVLCPT_LIST_NO /* 민원 목록 번호*/
, E.CVLCPT_APLCNT_NM /* 민원 신청인 명 */
, E.CVLCPT_APLY_DT /* 민원 신청 일시 */
, E.CVLCPT_APLY_TTL_NM /* 민원 신청 제목 명 */
, E.CVLCPT_APLY_CN /* 민원 신청 내용 */
, E.CVLCPT_GIST /* 민원 요지 */
, E.CVLCPT_PRCS_PIC_NM /* 민원 처리 담당자 명 */
, E.CVLCPT_PRCS_PRNMNT_DT /* 민원 처리 예정 일시 */
, E.CVLCPT_PRCS_CD /* 민원 처리 코드 */
, E.CVLCPT_PRCS_SUMRY /* 민원 처리 요약 */
, E.CVLCPT_PRCS_RSLT_CN /* 민원 처리 결과 내용 */
, E.CVLCPT_PRCS_CMPTN_DT /* 민원 처리 완료 일시 */
, E.CVLCPT_PRCS_PIC /* 민원 처리 담당자 */
FROM TB_LEVY_EXCL A
INNER JOIN TB_CRDN C ON (A.CRDN_ID = C.CRDN_ID)
LEFT OUTER JOIN TB_PAYER D ON (C.RTPYR_ID = D.RTPYR_ID)
LEFT OUTER JOIN TB_CRDN_CVLCPT E ON (C.CRDN_ID = E.CRDN_ID AND E.DEL_YN = 'N')
, H.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, H.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */
, H.CRDN_YMD /* 단속 일자 */
, H.CRDN_TM /* 단속 시각 */
, H.VHRNO /* 차량번호 */
, H.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM010', H.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, I.CRDN_SE_CD /* 단속 구분 코드 */
, J.RTPYR_NM /* 납부자 명 */
, K.CVLCPT_LINK_ID /* 민원 연계 ID */
, K.CVLCPT_PRCS_CD /* 민원 처리 코드 */
, K.CVLCPT_PRCS_SUMRY /* 민원 처리 요약 */
, K.CVLCPT_PRCS_RSLT_CN /* 민원 처리 결과 내용 */
, K.CVLCPT_PRCS_CMPTN_DT /* 민원 처리 완료 일시 */
, K.CVLCPT_TRSM_CD /* 민원 전송 코드 */
, K.CVLCPT_TRSM_DT /* 민원 전송 일시 */
FROM TB_LEVY_EXCL A
INNER JOIN TB_CRDN H ON (A.CRDN_ID = H.CRDN_ID)
INNER JOIN TB_CRDN_ADI I ON (H.CRDN_ID = I.CRDN_ID)
LEFT OUTER JOIN TB_PAYER J ON (H.RTPYR_ID = J.RTPYR_ID)
LEFT OUTER JOIN TB_CRDN_CVLCPT K ON (H.LINK_ID = K.CVLCPT_LINK_ID AND H.CVLCPT_LINK_YN = 'Y' AND K.DEL_YN = 'N')
</sql>
<select id="selectLevyExcls" parameterType="map" resultType="dataobject">/* 부과제외 대장 객체 가져오기(excl01Mapper.selectLevyExcl) */
@ -290,12 +275,12 @@
<update id="updateLevyExcl" parameterType="map">/* 부과제외 대장 수정(excl01Mapper.updateLevyExcl) */
UPDATE TB_LEVY_EXCL
SET LEVY_EXCL_YMD = #{excl01.levyExclYmd} /* 부과 제외 일자 */
, LEVY_EXCL_SE_CD = #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */
, LEVY_EXCL_RSN_CD = #{excl01.levyExclRsnCd} /* 부과 제외 사유 코드 */
, ETC_CN = #{excl01.etcCn} /* 기타 내용 */
, MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */
, MDFR = #{excl01.modifiedBy} /* 수정자 */
WHERE LEVY_EXCL_ID = #{excl01.levyExclId} /* 부과 제외 ID */
AND LEVY_EXCL_SE_CD = #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */
AND DEL_YN = 'N' /* 삭제 여부 */
</update>
@ -317,28 +302,23 @@
, A.CRDN_YMD /* 단속 일자 */
, A.CRDN_TM /* 단속 시각 */
, A.VHRNO /* 차량번호 */
, A.PARKNG_PSBLTY_RSLT_CD /* 주차 가능 결과 코드 */
, A.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM010', A.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, A.CRDN_STTS_CHG_DT /* 단속 상태 변경 일시 */
, B.RTPYR_ID /* 납부자 ID */
, B.RTPYR_NM /* 납부자 명 */
, C.CVLCPT_LINK_ID /* 민원 연계 ID */
, C.CVLCPT_PRCS_CD /* 민원 처리 코드 */
, C.CVLCPT_PRCS_CMPTN_DT /* 민원 처리 완료 일시 */
, C.CVLCPT_TRSM_CD /* 민원 전송 코드 */
, D.LEVY_EXCL_ID /* 부과 제외 ID */
, C.RTPYR_ID /* 납부자 ID */
, C.RTPYR_NM /* 납부자 명 */
, H.LEVY_EXCL_ID /* 부과 제외 ID */
, <include refid="utility.today" /> AS TODAY /* 오늘 일자 */
FROM TB_CRDN A
LEFT OUTER JOIN TB_PAYER B ON (A.RTPYR_ID = B.RTPYR_ID)
LEFT OUTER JOIN TB_CRDN_CVLCPT C ON (A.CRDN_ID = C.CRDN_ID AND C.DEL_YN = 'N')
LEFT OUTER JOIN TB_LEVY_EXCL D ON (A.CRDN_ID = D.CRDN_ID AND D.DEL_YN = 'N')
LEFT OUTER JOIN TB_PAYER C ON (A.RTPYR_ID = C.RTPYR_ID)
LEFT OUTER JOIN TB_LEVY_EXCL H ON (A.CRDN_ID = H.CRDN_ID AND H.DEL_YN = 'N')
WHERE A.CRDN_ID = #{crdnId} /* 단속 ID */
</select>
<select id="selectCvlcptAnsWords" parameterType="map" resultType="dataobject">/* 민원답변문구 대장 객체 가져오기(excl01Mapper.selectCvlcptAnsWords) */
SELECT A.ANS_WORDS_ID /* 답변 문구 ID */
, A.ANS_SE_CD /* 답변 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM060', A.ANS_SE_CD) FROM DUAL) AS ANS_SE_NM /* 답변 구분 명 */
, A.ANS_RSN_CD /* 답변 사유 코드 */
, A.ANS_RSN_NM /* 답변 사유 명 */
, A.PRCS_SUMRY /* 처리 요약 */
@ -350,20 +330,24 @@
AND A.USE_YN = 'Y' /* 사용 여부 */
</select>
<update id="updateCrdnCvlcptPrcs" parameterType="map">/* 단속민원 대장 민원처리코드, 민원전송코드 수정 (excl01Mapper.updateCrdnCvlcptPrcs) */
<update id="updateCvlcptPrcsRsltCn" parameterType="map">/* 단속민원 대장 민원처리결과내용 초기화(excl01Mapper.updateCvlcptPrcsRsltCn) */
UPDATE TB_CRDN_CVLCPT
SET CVLCPT_PRCS_CD = #{excl01.cvlcptPrcsCd} /* 민원 처리 코드 */
, CVLCPT_PRCS_CMPTN_DT = #{excl01.lastModified} /* 민원 처리 완료 일시 */
, CVLCPT_TRSM_CD = #{excl01.cvlcptTrsmCd} /* 민원 전송 코드 */
SET CVLCPT_PRCS_SUMRY = NULL /* 민원 처리 요약 */
, CVLCPT_PRCS_RSLT_CN = NULL /* 민원 처리 결과 내용 */
, MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */
, MDFR = #{excl01.modifiedBy} /* 수정자 */
WHERE CVLCPT_LINK_ID = #{excl01.cvlcptLinkId} /* 민원 연계 ID */
AND DEL_YN = 'N' /* 삭제 여부 */
</update>
<update id="updateCvlcptPrcsRsltCn" parameterType="map">/* 단속민원 대장 민원처리결과내용 수정(excl01Mapper.updateCvlcptPrcsRsltCn) */
<update id="updateCrdnCvlcpt" parameterType="map">/* 단속민원 대장 민원답변 수정(excl01Mapper.updateCrdnCvlcpt) */
UPDATE TB_CRDN_CVLCPT
SET CVLCPT_PRCS_RSLT_CN = '' /* 민원 처리 결과 내용 */
SET CVLCPT_PRCS_CD = #{excl01.cvlcptPrcsCd} /* 민원 처리 코드 */
, CVLCPT_PRCS_SUMRY = #{excl01.cvlcptPrcsSumry} /* 민원 처리 요약 */
, CVLCPT_PRCS_RSLT_CN = #{excl01.cvlcptPrcsRsltCn} /* 민원 처리 결과 내용 */
, CVLCPT_PRCS_CMPTN_DT = #{excl01.cvlcptPrcsCmptnDt} /* 민원 처리 완료 일시 */
, CVLCPT_PRCS_PIC = #{excl01.cvlcptPrcsPic} /* 민원 처리 담당자 */
, CVLCPT_TRSM_CD = #{excl01.cvlcptTrsmCd} /* 민원 전송 코드 */
, MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */
, MDFR = #{excl01.modifiedBy} /* 수정자 */
WHERE CVLCPT_LINK_ID = #{excl01.cvlcptLinkId} /* 민원 연계 ID */
@ -371,7 +355,7 @@
</update>
<update id="updateParkngPsbltyRsltCd" parameterType="map">/* 단속 대장 주차가능결과코드를 수정(excl01Mapper.updateParkngPsbltyRsltCd) */
UPDATE TB_CRDN
UPDATE TB_CRDN_ADI
SET PARKNG_PSBLTY_RSLT_CD = #{excl01.parkngPsbltyRsltCd} /* 주차 가능 결과 코드 */
, MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */
, MDFR = #{excl01.modifiedBy} /* 수정자 */
@ -385,12 +369,12 @@
, A.SNDNG_RCVMT_CD /* 발송 수납 코드 */
FROM TB_SNDNG_DTL A
WHERE A.CRDN_ID = #{crdnId} /* 단속 ID */
AND A.SNDNG_RCVMT_CD = '1'
AND A.SNDNG_RCVMT_CD = #{sndngRcvmtCd}
</select>
<update id="updateRcvmtCd" parameterType="map">/* 발송상세 대장 수납코드를 수정(excl01Mapper.updateRcvmtCd) */
UPDATE TB_SNDNG_DTL
SET SNDNG_RCVMT_CD = '' /* 발송 수납 코드 */
SET SNDNG_RCVMT_CD = NULL /* 발송 수납 코드 */
, MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */
, MDFR = #{excl01.modifiedBy} /* 수정자 */
WHERE CRDN_ID = #{excl01.crdnId} /* 단속 ID */

@ -366,8 +366,7 @@
});
}
/*
// 수정 dialog -> callback 추가 sample
// 수정 dialog -> callback 추가
${pageName}Control.getInfo = (params) => {
let info = ${pageName}Control.dataset.getCurrent("item");
@ -392,7 +391,7 @@
${pageName}Control.setInfo(info);
}
}
/*
// 삭제 -> callback 추가 sample
${pageName}Control.remove = (params) => {
let selected = ${pageName}Control.dataset.getKeys("selected");

@ -101,8 +101,8 @@
**************************************************************************/
// 저장 callback
${pageName}Control.onSave = (resp) => {
if (resp.retSaved == "true") {
dialog.alert(resp.retMessage);
if (resp.saved) {
dialog.alert("저장됐습니다.");
dialog.close(${pageName}Control.prefix + "dialog");
}
}
@ -169,9 +169,9 @@
function fnSave${pageName}() {
let formFields = new FimsFormFields("#frmEdit--${pageName}");
let data = formFields.get();
debugger;
dialog.alert({
content : "현재 prefixName 정보를 저장하시겠습니까?"
content : "현재 " + ${pageName}Control.prefixName + "정보를 저장하시겠습니까?"
, onOK : () => {
${pageName}Control.save(formFields.get());
}

Loading…
Cancel
Save