시설공단 API 추가 요청사항 적용

main
이범준 3 months ago
parent 62dd6fff1b
commit ec66bafd87

@ -103,7 +103,7 @@
</select>
<select id="selectSisulDefaultResiList" parameterType="hashmap" resultType="hashmap">
<select id="selectSisulDefaultResiList" parameterType="hashmap" resultType="hashmap">
/* 시설공단 미납 데이터 목록 조회 (전체기간, 차량번호, 주민번호, 법인번호) */
SELECT A1.CAR_NO
, A1.WORKER_ID
@ -119,21 +119,43 @@
, A1.RECEIPT_RESULT_ID
, A1.RECEIPT_FULL_NAME
, (CASE
WHEN A1.RECEIPT_YN IS NULL
THEN A1.VIRTUAL_BANK
ELSE '-'
WHEN A1.RECEIPT_YN IS NOT NULL
THEN '-'
WHEN (A1.END_DATE IS NULL OR A1.END_DATE = '')
THEN '-'
WHEN A1.END_DATE <![CDATA[ < ]]> TO_CHAR(SYSDATE,'YYYYMMDD')
THEN '-'
ELSE A1.VIRTUAL_BANK
END) AS VIRTUAL_BANK
, (CASE
WHEN A1.RECEIPT_YN IS NULL
THEN A1.NAP_NO
ELSE ''
WHEN A1.RECEIPT_YN IS NOT NULL
THEN ''
ELSE A1.NAP_NO
END) AS NAP_NO
, (CASE
WHEN A1.RECEIPT_YN IS NULL
THEN A1.END_DATE
ELSE '-'
WHEN A1.RECEIPT_YN IS NOT NULL
THEN '-'
ELSE A1.END_DATE
END) AS END_DATE
, A1.REMARKS
, (CASE
WHEN A1.RECEIPT_YN IS NOT NULL
THEN 'N'
WHEN (A1.END_DATE IS NULL OR A1.END_DATE = '')
THEN 'N'
WHEN A1.END_DATE <![CDATA[ < ]]> TO_CHAR(SYSDATE,'YYYYMMDD')
THEN 'N'
ELSE 'Y'
END) AS ETAX_LINK_YN
, (CASE
WHEN A1.RECEIPT_YN IS NOT NULL
THEN '2'
WHEN (A1.END_DATE IS NULL OR A1.END_DATE = '')
THEN '0'
WHEN A1.END_DATE <![CDATA[ < ]]> TO_CHAR(SYSDATE,'YYYYMMDD')
THEN '1'
ELSE '0'
END) AS REMARKS_CODE
FROM (
SELECT A.CAR_NO
, A.WORKER_ID
@ -147,7 +169,7 @@
, C.RECEIPT_YN
, A.RECEIPT_RESULT_ID
, DECODE(A.RECEIPT_RESULT_ID,'00','미납','수납완료') AS RECEIPT_FULL_NAME
, LEVY_AMOUNT
, FUN_FMT_COMMA(LEVY_AMOUNT) AS LEVY_AMOUNT
, (
'우리 '||FN_ETAX_VIRTUALACCOUNT('1',A.MANAGE_YEAR,A.MANAGE_NO,'1')||CHR(13)||CHR(10)
|| '신한 '||FN_ETAX_VIRTUALACCOUNT('2',A.MANAGE_YEAR,A.MANAGE_NO,'1')||CHR(13)||CHR(10)
@ -188,6 +210,7 @@
AND A.SEQNO = D.SEQNO
AND A.YEAR >= '2021'
AND A.RECEIPT_RESULT_ID = '00'
AND A.READ_RESULT_ID != '01'
<choose>
<when test="carDiv == 'personal'">
AND A.CAR_NO = #{carNo}
@ -214,12 +237,40 @@
) A1
WHERE (A1.RECEIPT_YN IS NULL OR A1.RECEIPT_YN ='0')
AND A1.PEN_GOJI_CANCEL_YN = 'N'
ORDER BY A1.PASS_DATE, A1.WORK_TIMES
ORDER BY A1.PASS_DATE DESC, A1.WORK_TIMES DESC
</select>
<select id="sisulPenaltyNotification" parameterType="hashmap" resultType="hashmap">
/* 시설공단 과태료 데이터 목록 조회 */
SELECT P1.CAR_NO
, P1.FARE_OFFICE_ID
, P1.BOOTH_ID
, P1.PASS_DATE
, P1.FARE_OFFICE_NM
, P1.BOOTH_NM
, P1.RECEIPT_YN
, P1.RECEIPT_RESULT
, P1.LEVY_AMOUNT
, (CASE
WHEN (P1.DELIVERY_DATE IS NULL OR P1.DELIVERY_DATE = '')
THEN '-'
WHEN P1.DELIVERY_DATE <![CDATA[ < ]]> TO_CHAR(SYSDATE,'YYYYMMDD')
THEN '-'
ELSE P1.VIRTUAL_BANK
END) AS VIRTUAL_BANK
, (CASE
WHEN (P1.DELIVERY_DATE IS NULL OR P1.DELIVERY_DATE = '')
THEN '-'
WHEN P1.DELIVERY_DATE <![CDATA[ < ]]> TO_CHAR(SYSDATE,'YYYYMMDD')
THEN 'N'
ELSE 'Y'
END) AS ETAX_LINK_YN
, P1.NAP_NO
, P1.DELIVERY_DATE
, P1.MOTION_ID
, MAX(P1.MOTION_ID) AS MAX_MOTION_ID
FROM (
SELECT P.CAR_NO
, P.FARE_OFFICE_ID
, P.BOOTH_ID
@ -228,11 +279,13 @@
, (TO_NUMBER(P.BOOTH_ID)||'차로') AS BOOTH_NM
, P.RECEIPT_YN
, DECODE(P.RECEIPT_YN, '0', '미납', '수납') AS RECEIPT_RESULT
, (CASE
, FUN_FMT_COMMA(
CASE
WHEN RS.MOTION_ID IS NOT NULL
THEN DBUSER_CFS.FUN_GET_PENALTY_AMT_RENT_REAL(P.PENALTY_MANAGE_YEAR,P.PENALTY_SEQNO,TO_CHAR(SYSDATE,'YYYYMMDD'),'')
ELSE DBUSER_CFS.FUN_GET_PENALTY_AMT_REAL(P.PENALTY_MANAGE_YEAR,P.PENALTY_SEQNO,TO_CHAR(SYSDATE,'YYYYMMDD'),'')
END) LEVY_AMOUNT
END
) LEVY_AMOUNT
, (
'우리 '||FN_VIRTUALACCOUNT('1',P.PENALTY_MANAGE_YEAR,P.PENALTY_SEQNO)||CHR(13)||CHR(10)
|| '신한 '||FN_VIRTUALACCOUNT('2',P.PENALTY_MANAGE_YEAR,P.PENALTY_SEQNO)||CHR(13)||CHR(10)
@ -244,9 +297,14 @@
) AS NAP_NO
, (CASE
WHEN RS.MOTION_ID IS NOT NULL
THEN TO_CHAR(RS.DELIVERY_DATE,'YYYMMDD')
ELSE TO_CHAR(S.DELIVERY_DATE,'YYYMMDD')
THEN TO_CHAR(RS.DELIVERY_DATE,'YYYYMMDD')
ELSE TO_CHAR(S.DELIVERY_DATE,'YYYYMMDD')
END) AS DELIVERY_DATE
, (CASE
WHEN RS.MOTION_ID IS NOT NULL
THEN RS.MOTION_ID
ELSE S.MOTION_ID
END) AS MOTION_ID
FROM PENALTY_DETAIL_INFO_DAMO P
, SEND_RENT_INFO RS
, SEND_INFO S
@ -260,6 +318,7 @@
AND P.PASS_DATE = #{passDate}
AND P.WORK_TIMES = #{workTimes}
AND P.SEQNO = #{seqno}
) P1
</select>

@ -1,5 +1,6 @@
package cfs.trsmrcv.web;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@ -41,8 +42,29 @@ public class CommSisulController {
@RequestMapping(value="/rest/api/sisulPenaltyList", method=RequestMethod.POST)
public @ResponseBody List<Map<String, Object>> sisulPenaltyList(@RequestBody Map<String, Object> param, HttpServletRequest request) throws Exception {
List<Map<String, Object>> list = commSisulDao.sisulPenaltyNotification(param);
return commSisulDao.sisulPenaltyNotification(param);
if(list != null && !list.isEmpty() && list.size() > 1){
String maxMotionId = list.get(0).get("MAX_MOTION_ID").toString();
Iterator<Map<String, Object>> it = list.iterator();
while(it.hasNext()) {
Map<String, Object> item = it.next();
if (!item.get("MOTION_ID").toString().equals(maxMotionId)) {
it.remove();
}
}
}
if(list != null && !list.isEmpty()){
Iterator<Map<String, Object>> it = list.iterator();
while(it.hasNext()) {
Map<String, Object> item = it.next();
item.remove("MAX_MOTION_ID");
item.remove("MOTION_ID");
}
}
return list;
}

Loading…
Cancel
Save