1. 부과 - 사전감경부과

- 감경부과 등록 수정.
2. 기타 수정.
main
jjh 9 months ago
parent af941b54c0
commit 6f0dca7fe2

@ -468,4 +468,9 @@ public class Levy extends AbstractEntity {
*/
private String delRsn;
/**
* Ids
*/
private String[] crdnIds;
}

@ -17,11 +17,11 @@ public class LevyQuery extends CmmnQuery {
private static final long serialVersionUID = 1L;
// ID
private String[] crdnIDs; // 단속 IDs
private String[] crdnIds; // 단속 IDs
private String crdnId; // 단속 ID
private String[] levyIDs; // 부과 IDs
private String[] levyIds; // 부과 IDs
private String levyId; // 부과 ID
private String[] rductIDs; // 감경 IDs
private String[] rductIds; // 감경 IDs
private String rductId; // 감경 ID
// 검색 조건
private String schFyr; // 회계연도
@ -61,12 +61,12 @@ public class LevyQuery extends CmmnQuery {
private String crdnSttsCd; // 단속 상태 코드
// ID
public String[] getCrdnIDs() {
return ifEmpty(crdnIDs, () -> null);
public String[] getCrdnIds() {
return ifEmpty(crdnIds, () -> null);
}
public <T extends LevyQuery> T setCrdnIDs(String... crdnIDs) {
this.crdnIDs = crdnIDs;
public <T extends LevyQuery> T setCrdnIds(String... crdnIds) {
this.crdnIds = crdnIds;
return self();
}
@ -81,12 +81,12 @@ public class LevyQuery extends CmmnQuery {
return self();
}
public String[] getLevyIDs() {
return ifEmpty(levyIDs, () -> null);
public String[] getLevyIds() {
return ifEmpty(levyIds, () -> null);
}
public <T extends LevyQuery> T setLevyIDs(String... levyIDs) {
this.levyIDs = levyIDs;
public <T extends LevyQuery> T setLevyIds(String... levyIds) {
this.levyIds = levyIds;
return self();
}
@ -101,12 +101,12 @@ public class LevyQuery extends CmmnQuery {
return self();
}
public String[] getRductIDs() {
return ifEmpty(rductIDs, () -> null);
public String[] getRductIds() {
return ifEmpty(rductIds, () -> null);
}
public <T extends LevyQuery> T setRductIDs(String... rductIDs) {
this.rductIDs = rductIDs;
public <T extends LevyQuery> T setRductIds(String... rductIds) {
this.rductIds = rductIds;
return self();
}

@ -29,6 +29,12 @@ public interface LevyMapper extends AbstractMapper {
*/
List<DataObject> selectRductLevyTrgtList(LevyQuery req);
/** ID .<br />
* @param req
* @return ID
*/
List<DataObject> selectRductLevyTrgtIds(LevyQuery req);
/** .<br />
* @param req
* @return

@ -112,6 +112,44 @@ public class LevyBean extends AbstractComponent {
return levyMapper.selectMaxLevyNo(req);
}
/** .
* @param levy
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String createRductLevyList(LevyQuery req) {
// 변수 선언
String rtnMsg = "[F] "; // 처리 결과 메시지
// 최초 조회
List<DataObject> trgtList = levyMapper.selectRductLevyTrgtIds(req);
// 조회 건수와 등록 대상 건수 확인
if (!req.getTnocs().equals(Integer.toString(trgtList.size()))) {
rtnMsg = "[F] 조회된 총 건수와 대상 건수가 다릅니다.";
return rtnMsg;
}
for (int iLoop = 0; iLoop < trgtList.size() ; iLoop++) {
Levy levy = new Levy();
levy.setCrdnId(trgtList.get(iLoop).string("CRDN_ID")); // 단속 ID
levy.setLevyYmd(req.getLevyYmd()); // 부과 일자
levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자
levy.setDudtYmd(req.getDudtYmd()); // 납기 일자
rtnMsg = createRductLevy(levy);
if (rtnMsg.contains("[F]")) {
throw new RuntimeException(rtnMsg);
}
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
}
/** .
* @param levy
* @return
@ -239,58 +277,6 @@ public class LevyBean extends AbstractComponent {
return rtnMsg;
}
/** .
* @param levy
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String createRductLevyList(LevyQuery req) {
// 변수 선언
String rtnMsg = "[F] "; // 처리 결과 메시지
// 최초 조회
List<DataObject> rductLevyTrgtList = levyMapper.selectRductLevyTrgtList(req);
// 조회 건수와 등록 대상 건수 확인
if (!req.getTnocs().equals(rductLevyTrgtList.get(0).string("TNOCS"))) {
rtnMsg = "[F] 조회된 총 건수와 대상 건수가 다릅니다.";
return rtnMsg;
}
// 총 페이지 건수 확인
int totalPageCnt = rductLevyTrgtList.get(0).number("TOT_CNT").intValue() / req.getFetchSize() + ((rductLevyTrgtList.get(0).number("TOT_CNT").intValue() % req.getFetchSize() == 0) ? 0 : 1);
// 페이지 건수 + 1 만큼 반복문 실행..
for (int iLoop = 1; iLoop <= totalPageCnt; iLoop++) {
if (iLoop != 1) {
req.setPageNum(iLoop);
rductLevyTrgtList = levyMapper.selectRductLevyTrgtList(req);
}
for (int jLoop = 0; jLoop < rductLevyTrgtList.size(); jLoop++) {
Levy levy = new Levy();
levy.setCrdnId(rductLevyTrgtList.get(jLoop).string("CRDN_ID")); // 단속 ID
levy.setLevyYmd(req.getLevyYmd()); // 부과 일자
levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자
levy.setDudtYmd(req.getDudtYmd()); // 납기 일자
rtnMsg = createRductLevy(levy);
if (rtnMsg.contains("[F]")) {
throw new RuntimeException(rtnMsg);
}
}
}
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return rtnMsg;
}
/** , , .
* @param levy
* @return

@ -74,17 +74,17 @@ public class RductServiceBean extends AbstractServiceBean implements RductServic
String rtnMsg = ""; // 처리 결과 메시지
// 감경 IDs 건수를 확인하여 1건이하면.. 종료
if (req.getRductIDs().length < 1 ) {
if (req.getRductIds().length < 1 ) {
rtnMsg = "작업 중 선택 자료가 존재하지 않습니다.";
return rtnMsg;
}
// 감경 IDs 만큼 반복..
for (int iLoop = 0; iLoop < req.getRductIDs().length; iLoop++) {
for (int iLoop = 0; iLoop < req.getRductIds().length; iLoop++) {
Rduct rduct = new Rduct();
rduct.setRductId(req.getRductIDs()[iLoop]); // 감경 ID
rduct.setDelRsn(req.getDelRsn()); // 삭제 사유
rduct.setRductId(req.getRductIds()[iLoop]); // 감경 ID
rduct.setDelRsn(req.getDelRsn()); // 삭제 사유
// 과태료 감경 삭제 호출
rtnMsg = rductBean.removeRduct(rduct);

@ -90,7 +90,7 @@ public class NxrpMtchgBean extends AbstractComponent {
// 세외수입 연계관련 정보 확인
// 발송상세 대상를 조회
List<DataObject> sndngDtlIds = sndngDtlMapper.selectSndngTrgtDtlIDs(req.getSndngId());
List<DataObject> sndngDtlIds = sndngDtlMapper.selectSndngTrgtDtlIds(req.getSndngId());
// 발송상세 대상 자료로 세외수입 매핑 내역 등록한다.
for (int iLoop = 0; iLoop < sndngDtlIds.size(); iLoop++) {

@ -54,13 +54,13 @@ public interface SndngDtlMapper extends AbstractMapper {
* @param req
* @return
*/
List<DataObject> selectSndngTrgtDtlIDs(String sndngId);
List<DataObject> selectSndngTrgtDtlIds(String sndngId);
/** ID ID .
* @param req
* @return
*/
List<DataObject> selectSndngTrgtCrdnIDs(String sndngId);
List<DataObject> selectSndngTrgtCrdnIds(String sndngId);
/**
* @param req
@ -170,7 +170,7 @@ public interface SndngDtlMapper extends AbstractMapper {
* @param req
* @return
*/
List<DataObject> selectSvbtcsTrgtSndngDtlIDs(SndbQuery req);
List<DataObject> selectSvbtcsTrgtSndngDtlIds(SndbQuery req);
/** 1 .
* @param req

@ -36,13 +36,13 @@ public interface SndngDtlService {
* @param req
* @return
*/
List<DataObject> getSndngTrgtDtlIDs(String sndngId);
List<DataObject> getSndngTrgtDtlIds(String sndngId);
/** ID ID .
* @param req
* @return
*/
List<DataObject> getSndngTrgtCrdnIDs(String sndngId);
List<DataObject> getSndngTrgtCrdnIds(String sndngId);
/** .
* @param sndngDtl

@ -1043,7 +1043,7 @@ public class SndngBean extends AbstractComponent {
recevSubj3 = deptSggInfo.string("SGG_NM");
// 9. 전자우편 접수 상세 조회
List<DataObject> sndngTrgts = sndngDtlMapper.selectSndngTrgtDtlIDs(sndng.getSndngId());
List<DataObject> sndngTrgts = sndngDtlMapper.selectSndngTrgtDtlIds(sndng.getSndngId());
for (int iLoop = 0; iLoop < sndngTrgts.size(); iLoop++) {
// 전자우편 접수 상세

@ -83,16 +83,16 @@ public class SndngDtlBean extends AbstractComponent {
* @param req
* @return
*/
public List<DataObject> getSndngTrgtDtlIDs(String sndngId) {
return sndngDtlMapper.selectSndngTrgtDtlIDs(sndngId);
public List<DataObject> getSndngTrgtDtlIds(String sndngId) {
return sndngDtlMapper.selectSndngTrgtDtlIds(sndngId);
}
/** ID ID .
* @param req
* @return
*/
public List<DataObject> getSndngTrgtCrdnIDs(String sndngId) {
return sndngDtlMapper.selectSndngTrgtCrdnIDs(sndngId);
public List<DataObject> getSndngTrgtCrdnIds(String sndngId) {
return sndngDtlMapper.selectSndngTrgtCrdnIds(sndngId);
}
/** .
@ -163,7 +163,7 @@ public class SndngDtlBean extends AbstractComponent {
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
List<DataObject> sndngDtlList = sndngDtlMapper.selectSndngTrgtDtlIDs(req.getSndngId());
List<DataObject> sndngDtlList = sndngDtlMapper.selectSndngTrgtDtlIds(req.getSndngId());
// 조회 건수 확인
if (sndngDtlList == null || sndngDtlList.size() < 1) {

@ -46,13 +46,13 @@ public class SndngDtlServiceBean extends AbstractServiceBean implements SndngDtl
}
@Override
public List<DataObject> getSndngTrgtDtlIDs(String sndngId) {
return sndngDtlBean.getSndngTrgtDtlIDs(sndngId);
public List<DataObject> getSndngTrgtDtlIds(String sndngId) {
return sndngDtlBean.getSndngTrgtDtlIds(sndngId);
}
@Override
public List<DataObject> getSndngTrgtCrdnIDs(String sndngId) {
return sndngDtlBean.getSndngTrgtCrdnIDs(sndngId);
public List<DataObject> getSndngTrgtCrdnIds(String sndngId) {
return sndngDtlBean.getSndngTrgtCrdnIds(sndngId);
}
@Override

@ -142,14 +142,14 @@ public class SvbtcBean extends AbstractComponent {
if (svbtc.getSndngDtlIds() == null || svbtc.getSndngDtlIds().length < 1) {
req.setOrderBy("SD.SNDNG_DTL_ID");
sndngDtlList = sndngDtlMapper.selectSvbtcsTrgtSndngDtlIDs(req);
sndngDtlList = sndngDtlMapper.selectSvbtcsTrgtSndngDtlIds(req);
} else {
SndbQuery query = new SndbQuery();
query.setSndngDtlIds(svbtc.getSndngDtlIds());
query.setOrderBy("SD.SNDNG_DTL_ID");
sndngDtlList = sndngDtlMapper.selectSvbtcsTrgtSndngDtlIDs(query);
sndngDtlList = sndngDtlMapper.selectSvbtcsTrgtSndngDtlIds(query);
}
// 발송 상세 대장에 공시송달 정보 수정

@ -1600,7 +1600,7 @@ public class Sndb01Controller extends ApplicationController {
public ModelAndView makeAdvntcePdf(PrintOption printOption, String sndngId) {
ModelAndView mav = new ModelAndView("jsonView");
List<DataObject> list = sndngDtlService.getSndngTrgtCrdnIDs(sndngId);
List<DataObject> list = sndngDtlService.getSndngTrgtCrdnIds(sndngId);
String[] crdnIds = new String[list.size()];
@ -1621,7 +1621,7 @@ public class Sndb01Controller extends ApplicationController {
public ModelAndView makeAdvntceOutsourcing(PrintOption printOption, String sndngId) {
ModelAndView mav = new ModelAndView("jsonView");
List<DataObject> list = sndngDtlService.getSndngTrgtCrdnIDs(sndngId);
List<DataObject> list = sndngDtlService.getSndngTrgtCrdnIds(sndngId);
String[] crdnIds = new String[list.size()];

@ -161,6 +161,12 @@
, (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM <!-- 납부자 구분 명 -->
, (GET_BRDT_FORMAT(P.RTPYR_BRDT, '.')) AS RTPYR_BRDT_MASK <!-- 납부자 생년월일 마스크 -->
, L.LEVY_ID <!-- 부과 ID -->
<include refid="fromRductLevyTrgt" />
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<sql id="fromRductLevyTrgt">
FROM TB_CRDN C
INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_ID)
LEFT OUTER JOIN TB_CRDN_CVLCPT CC ON (C.LINK_ID = CC.CVLCPT_LINK_ID AND C.CVLCPT_LINK_YN = 'Y' AND CC.DEL_YN = 'N')
@ -172,6 +178,11 @@
AND C.CRDN_STTS_CD BETWEEN '21' AND '31' <!-- 단속 상태 코드 -->
AND C.RTPYR_ID IS NOT NULL <!-- 납부자 ID -->
AND L.LEVY_ID IS NULL <!-- 부과 ID -->
<if test="crdnIds != null">
AND C.CRDN_ID IN ( <!-- 단속 Ids -->
<foreach collection="crdnIds" item="crdnId" separator=","> #{crdnId} </foreach>
)
</if>
<if test="schCrdnYmdFrom != null">
AND C.CRDN_YMD <![CDATA[>=]]> #{schCrdnYmdFrom} <!-- 단속 일자 시작 -->
</if>
@ -179,10 +190,10 @@
AND C.CRDN_YMD <![CDATA[<=]]> #{schCrdnYmdTo} <!-- 단속 일자 종료 -->
</if>
<if test="schVhrno != null">
AND C.VHRNO = #{schVhrno} <!-- 차량번호 -->
AND C.VHRNO = #{schVhrno} <!-- 차량번호 -->
</if>
<if test="schVltnCd != null">
AND V.VLTN_CD = #{schVltnCd} <!-- 위반 코드 -->
AND V.VLTN_CD = #{schVltnCd} <!-- 위반 코드 -->
</if>
<if test="schCvlcptRcptYmdFrom != null">
AND CC.CVLCPT_RCPT_YMD <![CDATA[>=]]> #{schCvlcptRcptYmdFrom} <!-- 민원 접수 일자 시작 -->
@ -200,9 +211,9 @@
AND CC.CVLCPT_PRCS_PIC = #{schCvlcptPrcsPic} <!-- 민원 처리 담당자 -->
</if>
<if test="schRtpyrNm != null">
AND P.RTPYR_NM = #{schRtpyrNm} <!-- 납부자 명 -->
AND P.RTPYR_NM = #{schRtpyrNm} <!-- 납부자 명 -->
</if>
AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
<choose>
<when test="schRegDateOpt == 'regDt'">
<if test="schRegDateFrom != null">
@ -268,8 +279,12 @@
</otherwise>
</choose>
</if>
</sql>
<select id="selectRductLevyTrgtIds" parameterType="map" resultType="dataobject">/* 감경부과 대상 목록 조회(levyMapper.selectRductLevyTrgtIds) */
SELECT C.CRDN_ID <!-- 단속 ID -->
<include refid="fromRductLevyTrgt" />
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<sql id="select">
@ -528,9 +543,9 @@
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
</if>
<if test="levyIDs != null">
AND L.LEVY_ID IN ( <!-- 부과 IDs -->
<foreach collection="levyIDs" item="levyId" separator=","> #{levyId} </foreach>
<if test="levyIds != null">
AND L.LEVY_ID IN ( <!-- 부과 Ids -->
<foreach collection="levyIds" item="levyId" separator=","> #{levyId} </foreach>
)
</if>
<if test="levyId != null">

@ -275,7 +275,7 @@
<include refid="utility.orderBy" />
</select>
<select id="selectSndngTrgtDtlIDs" parameterType="String" resultType="dataobject">/* 발송 ID로 발송상세 ID를 가져오기(sndngDtlMapper.selectSndngTrgtDtlIDs) */
<select id="selectSndngTrgtDtlIds" parameterType="String" resultType="dataobject">/* 발송 ID로 발송상세 ID를 가져오기(sndngDtlMapper.selectSndngTrgtDtlIds) */
SELECT SNDNG_DTL_ID <!-- 발송 상세 ID -->
FROM TB_SNDNG_DTL
WHERE SNDNG_ID = #{sndngId} <!-- 발송 ID -->
@ -283,7 +283,7 @@
ORDER BY SNDNG_DTL_ID
</select>
<select id="selectSndngTrgtCrdnIDs" parameterType="String" resultType="dataobject">/* 발송 ID로 단속 ID를 가져오기(sndngDtlMapper.selectSndngTrgtCrdnIDs) */
<select id="selectSndngTrgtCrdnIds" parameterType="String" resultType="dataobject">/* 발송 ID로 단속 ID를 가져오기(sndngDtlMapper.selectSndngTrgtCrdnIds) */
SELECT CRDN_ID <!-- 단속 ID -->
FROM TB_SNDNG_DTL
WHERE SNDNG_ID = #{sndngId} <!-- 발송 ID -->
@ -977,7 +977,7 @@
</if>
</sql>
<select id="selectSvbtcsTrgtSndngDtlIDs" parameterType="map" resultType="dataobject">/* 공시송달 대상 발송 상세 ID 가져오기(sndngMapper.selectSvbtcsTrgtSndngDtlIDs) */
<select id="selectSvbtcsTrgtSndngDtlIds" parameterType="map" resultType="dataobject">/* 공시송달 대상 발송 상세 ID 가져오기(sndngMapper.selectSvbtcsTrgtSndngDtlIds) */
SELECT SD.SNDNG_DTL_ID <!-- 발송 상세 ID -->
<include refid="fromSndbk" />
<include refid="utility.orderBy" />

@ -408,7 +408,10 @@
, title : params.title
, content : resp
, size : $P.control.infoSize
, onClose : () => { $P.refreshList(); } // 자료 재조회
, onClose : () => {
$P.control.query.crdnIds = null; // 체크 자료
$P.refreshList(); // 자료 재조회
}
});
}
});

Loading…
Cancel
Save