You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
11393 lines
277 KiB
SQL
11393 lines
277 KiB
SQL
DROP FUNCTION NAMSAN3.SF_PASSWORD_ENCODER;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.Sf_Password_Encoder( P_data VARCHAR2 )
|
|
RETURN VARCHAR IS
|
|
/*******************************************************
|
|
현재 저장된 자료를 encoding 하는 함수
|
|
예) Select sf_password_encoder('password') From Dual;
|
|
결과) 'Hzmnslpc'
|
|
********************************************************/
|
|
I_cnt NUMBER := 0;
|
|
Tmp_data VARCHAR(10);
|
|
New_data VARCHAR(10);
|
|
BEGIN
|
|
IF P_data IS NULL THEN
|
|
RETURN NULL;
|
|
END IF;
|
|
I_cnt := LENGTH(RTRIM(P_data));
|
|
New_data := NULL;
|
|
Tmp_data := NULL;
|
|
FOR I IN 1..I_cnt LOOP
|
|
Tmp_data := CHR(ASCII(SUBSTR(P_data,I,1)) - I_cnt + I - 1 );
|
|
New_data := New_data||Tmp_data;
|
|
END LOOP;
|
|
RETURN RTRIM(New_data);
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN P_data;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_WORKER_NAME;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_WORKER_NAME
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR
|
|
)
|
|
RETURN VARCHAR2
|
|
-- 2010.7.1 KIM DONG EUN
|
|
IS
|
|
|
|
V_RET VARCHAR2(20) := '';
|
|
v_cnt number := 0;
|
|
v_date char(8) := '';
|
|
|
|
BEGIN
|
|
|
|
v_date := in_year||in_month||in_day;
|
|
|
|
select count(*)
|
|
into v_cnt
|
|
from worker_his_info
|
|
where worker_id = in_id
|
|
and stt_date <= v_date
|
|
and end_date >= v_date
|
|
and use_yn = '0';
|
|
|
|
if v_cnt = 0 then
|
|
select worker_name
|
|
into v_ret
|
|
from worker_info
|
|
where worker_id = in_id;
|
|
elsif v_cnt >= 0 then
|
|
select worker_name
|
|
into v_ret
|
|
from worker_his_info
|
|
where worker_id = in_id
|
|
and stt_date <= v_date
|
|
and end_date >= v_date
|
|
and use_yn = '0';
|
|
end if;
|
|
|
|
RETURN V_RET;
|
|
|
|
END FUN_WORKER_NAME;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TUNNEL_C;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TUNNEL_C
|
|
(
|
|
v_fare_office_id IN CHAR -- 요금소 코드
|
|
) RETURN varchar2
|
|
IS
|
|
|
|
p_fare_office_id varchar2(60);
|
|
|
|
BEGIN
|
|
|
|
SELECT fare_office_full_name
|
|
INTO p_fare_office_id
|
|
FROM fare_office_code_info
|
|
WHERE fare_office_id = v_fare_office_id;
|
|
|
|
RETURN p_fare_office_id;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN '기타';
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TUNNEL;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TUNNEL
|
|
(
|
|
code_id IN CHAR -- ??? ??
|
|
) RETURN varchar2
|
|
IS
|
|
|
|
p_fare_office_id varchar2(60);
|
|
|
|
BEGIN
|
|
|
|
SELECT fare_office_full_name
|
|
INTO p_fare_office_id
|
|
FROM fare_office_code_info
|
|
WHERE code_id = fare_office_id;
|
|
|
|
RETURN p_fare_office_id;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN '??';
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TTK000Q_ROWCOUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TTK000Q_ROWCOUNT
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
) RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
IF IN_GUBUN = 'DAY' THEN
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM (
|
|
SELECT A.YEAR||'년' AS Y,
|
|
A.MONTH||'월' AS M,
|
|
A.DAY||'일' AS D,
|
|
SUM(DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '00', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '01', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '02', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '03', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '04', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '05', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '06', NVL(A.PASS_QUANTITY,0), 0)
|
|
) AS PASS_AM,
|
|
SUM(DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '21', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '22', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '23', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '24', NVL(A.PASS_QUANTITY,0), 0)
|
|
) AS PASS_PM
|
|
FROM OVERTIME_PASS_INFO A
|
|
WHERE A.FARE_OFFICE_ID LIKE IN_FARE
|
|
AND A.BOOTH_ID LIKE IN_BOOTH
|
|
AND A.YEAR||A.MONTH||A.DAY BETWEEN IN_ST AND IN_ED
|
|
GROUP BY A.YEAR, A.MONTH, A.DAY
|
|
ORDER BY A.YEAR, A.MONTH, A.DAY);
|
|
|
|
ELSIF IN_GUBUN = 'MONTH' THEN
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM (
|
|
SELECT A.YEAR||'년' AS Y,
|
|
A.MONTH||'월' AS M,
|
|
SUM(DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '00', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '01', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '02', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '03', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '04', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '05', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '06', NVL(A.PASS_QUANTITY,0), 0)
|
|
) AS PASS_AM,
|
|
SUM(DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '21', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '22', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '23', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '24', NVL(A.PASS_QUANTITY,0), 0)
|
|
) AS PASS_PM
|
|
FROM OVERTIME_PASS_INFO A
|
|
WHERE A.FARE_OFFICE_ID LIKE IN_FARE
|
|
AND A.BOOTH_ID LIKE IN_BOOTH
|
|
AND A.YEAR||A.MONTH BETWEEN IN_ST AND IN_ED
|
|
GROUP BY A.YEAR, A.MONTH
|
|
ORDER BY A.YEAR, A.MONTH);
|
|
|
|
ELSIF IN_GUBUN = 'YEAR' THEN
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM (
|
|
SELECT A.YEAR||'년' AS Y,
|
|
SUM(DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '00', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '01', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '02', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '03', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '04', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '05', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '06', NVL(A.PASS_QUANTITY,0), 0)
|
|
) AS PASS_AM,
|
|
SUM(DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '21', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '22', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '23', NVL(A.PASS_QUANTITY,0), 0) +
|
|
DECODE(SUBSTR(A.WORK_OVER_STT_TIME,1,2), '24', NVL(A.PASS_QUANTITY,0), 0)
|
|
) AS PASS_PM
|
|
FROM OVERTIME_PASS_INFO A
|
|
WHERE A.FARE_OFFICE_ID LIKE IN_FARE
|
|
AND A.BOOTH_ID LIKE IN_BOOTH
|
|
AND A.YEAR BETWEEN IN_ST AND IN_ED
|
|
GROUP BY A.YEAR
|
|
ORDER BY A.YEAR);
|
|
END IF;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TTK000Q_ROWCOUNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TTJ501Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TTJ501Q_COUNT
|
|
(
|
|
office IN CHAR, -- 요금소
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
|
|
) RETURN NUMBER
|
|
IS
|
|
|
|
tot_row NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT times
|
|
FROM car_time_adjust_info
|
|
WHERE fare_office_id LIKE office
|
|
AND year || month || day BETWEEN from_dt AND to_dt
|
|
GROUP BY times);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TTG002Q_COUNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TTG002Q_COUNT1(
|
|
office IN CHAR, -- 요금소
|
|
booth IN CHAR, -- 차로
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT cars_type_id
|
|
FROM car_day_adjust_info
|
|
WHERE fare_office_id LIKE office
|
|
AND booth_id LIKE booth
|
|
AND year || month || day BETWEEN from_dt AND to_dt
|
|
GROUP BY cars_type_id);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TTG002Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TTG002Q_COUNT(
|
|
office IN CHAR, -- ??? ??
|
|
booth IN CHAR, -- ?? ??
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT fare_office_id, booth_id, cars_type_id, count(*)
|
|
FROM car_day_adjust_info
|
|
WHERE fare_office_id LIKE office
|
|
AND booth_id LIKE booth
|
|
AND year || month || day BETWEEN from_dt AND to_dt
|
|
GROUP BY fare_office_id, booth_id, cars_type_id);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TTG001Q_COUNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TTG001Q_COUNT1(
|
|
office IN CHAR, -- 요금소
|
|
time_gubun IN CHAR, -- 구분
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
-- 구분(시간별:1, 일별: 2, 월별:3)
|
|
if time_gubun = '1' then
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from (select times
|
|
from car_time_adjust_info
|
|
where fare_office_id like office
|
|
and year||month||day between from_dt and to_dt
|
|
group by times);
|
|
|
|
elsif time_gubun = '2' then
|
|
select count(*)
|
|
into tot_row
|
|
from (select day
|
|
from car_day_adjust_info
|
|
where fare_office_id like office
|
|
and year||month||day between from_dt and to_dt
|
|
group by day);
|
|
|
|
elsif time_gubun = '3' then
|
|
select count(*)
|
|
into tot_row
|
|
from (select month
|
|
from car_month_adjust_info
|
|
where fare_office_id like office
|
|
and year||month between from_dt and to_dt
|
|
group by month);
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TTG001Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TTG001Q_COUNT(
|
|
office IN CHAR, -- 요금소
|
|
time_gubun IN CHAR, -- 구분
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
-- 구분(시간별:1, 일별: 2, 월별:3)
|
|
if time_gubun = '1' then
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from (select fare_office_id, booth_id, times, count(*)
|
|
from car_time_adjust_info
|
|
where fare_office_id like office
|
|
and year||month||day between from_dt and to_dt
|
|
group by fare_office_id, booth_id, times);
|
|
|
|
elsif time_gubun = '2' then
|
|
select count(*)
|
|
into tot_row
|
|
from (select fare_office_id, booth_id, day, count(*)
|
|
from car_day_adjust_info
|
|
where fare_office_id like office
|
|
and year||month||day between from_dt and to_dt
|
|
group by fare_office_id, booth_id, day);
|
|
|
|
elsif time_gubun = '3' then
|
|
select count(*)
|
|
into tot_row
|
|
from (select fare_office_id, booth_id, month, count(*)
|
|
from car_month_adjust_info
|
|
where fare_office_id like office
|
|
and year||month between from_dt and to_dt
|
|
group by fare_office_id, booth_id, month);
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TTE000Q_COUNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TTE000Q_COUNT1
|
|
(
|
|
in_car_no IN VARCHAR2, -- 차량번호
|
|
from_dt IN VARCHAR2, -- 시작일자
|
|
to_dt IN VARCHAR2 -- 종료일자
|
|
)
|
|
RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM fare_terminal_info A
|
|
where A.delete_yn = '0'
|
|
AND A.car_no like in_car_no
|
|
AND A.year || A.month || A.day between from_dt and to_dt
|
|
AND A.COLLECT_ID <> '52';
|
|
|
|
/*
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM fare_terminal_info A
|
|
where a.SEQNO =
|
|
(select max(seqno)
|
|
from FARE_TERMINAL_INFO
|
|
where worker_id = A.WORKER_ID
|
|
and fare_office_id = A.FARE_OFFICE_ID
|
|
and booth_id = A.BOOTH_ID
|
|
and year = A.YEAR
|
|
and month = A.MONTH
|
|
and day = A.DAY
|
|
and WORK_TIMES = A.WORK_TIMES)
|
|
AND A.car_no like in_car_no
|
|
AND A.year || A.month || A.day between from_dt and to_dt
|
|
AND A.COLLECT_ID <> '52';
|
|
*/
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TTE000Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TTE000Q_COUNT(
|
|
in_car_no IN VARCHAR2, -- 차량번호
|
|
from_dt IN VARCHAR2, -- 시작일자
|
|
to_dt IN VARCHAR2 -- 종료일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM fare_terminal_info
|
|
WHERE car_no like in_car_no
|
|
AND year || month || day between from_dt and to_dt ;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TTD000Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_ttd000q_count(
|
|
office IN CHAR, -- 요금소
|
|
yoil IN CHAR, -- 요일
|
|
before_from_dt IN CHAR, -- 전년 시작일자
|
|
before_to_dt IN CHAR, -- 전년 종료일자
|
|
after_from_dt IN CHAR, -- 기준 시작일자
|
|
after_to_dt IN CHAR -- 기준 종료일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
before_row number := 0;
|
|
after_row number := 0;
|
|
|
|
BEGIN
|
|
|
|
if yoil = 'A' then -- 총괄
|
|
select count(*)
|
|
into before_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between before_from_dt and before_to_dt
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
|
|
select count(*)
|
|
into after_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between after_from_dt and after_to_dt
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
|
|
elsif yoil = 'P' then -- 평일(토요일 제외)
|
|
select count(*)
|
|
into before_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between before_from_dt and before_to_dt
|
|
AND weekday_kbn = '1'
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
|
|
select count(*)
|
|
into after_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between after_from_dt and after_to_dt
|
|
AND weekday_kbn = '1'
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
|
|
elsif yoil = 'T' then -- 토요일 (평일 제외)
|
|
select count(*)
|
|
into before_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between before_from_dt and before_to_dt
|
|
AND weekday_kbn = '2'
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
|
|
select count(*)
|
|
into after_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between after_from_dt and after_to_dt
|
|
AND weekday_kbn = '2'
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
end if;
|
|
|
|
if before_row >= after_row then
|
|
tot_row := before_row;
|
|
elsif before_row < after_row then
|
|
tot_row := after_row;
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TTC003Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TTC003Q_COUNT
|
|
(
|
|
office IN CHAR, -- 요금소
|
|
from_dt IN CHAR, -- 년/월
|
|
to_dt IN CHAR -- 년/월
|
|
)
|
|
RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month between from_dt and to_dt
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TTC002Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TTC002Q_COUNT(
|
|
office IN CHAR, -- 요금소코드
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
if office = '%%' then
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE year || month between from_dt and to_dt
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
else
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id = office
|
|
AND year || month between from_dt and to_dt
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TTC001Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TTC001Q_COUNT(
|
|
office IN CHAR, -- ??? ??
|
|
pass_ym IN CHAR -- ?? ???
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
if office = '%%' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT month,count(*)
|
|
FROM day_adjust_info
|
|
WHERE year = pass_ym
|
|
GROUP BY month
|
|
ORDER BY month);
|
|
else
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT month,count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id = office
|
|
AND year = pass_ym
|
|
GROUP BY month
|
|
ORDER BY month);
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TTB000Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TTB000Q_COUNT(
|
|
office IN CHAR,
|
|
time_gubun IN CHAR,
|
|
from_dt IN VARCHAR2,
|
|
to_dt IN VARCHAR2
|
|
) RETURN NUMBER
|
|
IS
|
|
|
|
tot_row NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
if time_gubun = '1' then
|
|
begin
|
|
if office = '%%' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT times,count(*)
|
|
FROM time_adjust_info
|
|
WHERE year || month || day between from_dt and to_dt
|
|
GROUP BY times
|
|
ORDER BY times);
|
|
else
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT times,count(*)
|
|
FROM time_adjust_info
|
|
WHERE fare_office_id = office
|
|
AND year || month || day between from_dt and to_dt
|
|
GROUP BY times
|
|
ORDER BY times);
|
|
end if;
|
|
end;
|
|
elsif time_gubun = '2' then
|
|
begin
|
|
if office = '%%' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT day,count(*)
|
|
FROM day_adjust_info
|
|
WHERE year || month || day between from_dt and to_dt
|
|
GROUP BY day
|
|
ORDER BY day);
|
|
else
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT day,count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id = office
|
|
AND year || month || day between from_dt and to_dt
|
|
GROUP BY day
|
|
ORDER BY day);
|
|
end if;
|
|
end;
|
|
elsif time_gubun = '3' then
|
|
begin
|
|
if office = '%%' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT month,count(*)
|
|
FROM month_adjust_info
|
|
WHERE year || month between from_dt and to_dt
|
|
GROUP BY month
|
|
ORDER BY month);
|
|
else
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT month,count(*)
|
|
FROM month_adjust_info
|
|
WHERE fare_office_id = office
|
|
AND year || month between from_dt and to_dt
|
|
GROUP BY month
|
|
ORDER BY month);
|
|
end if;
|
|
end;
|
|
end if;
|
|
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TSE001E_POST_MAX;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TSE001E_POST_MAX
|
|
(
|
|
IN_POST1 IN CHAR,
|
|
IN_POST2 IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT NVL(MAX(ADDRESS_SEQNO), 0)
|
|
INTO V_RET
|
|
FROM ADDRESS_INFO
|
|
WHERE POST_NO1 = IN_POST1
|
|
AND POST_NO2 = IN_POST2;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TSE001E_POST_MAX;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TSE001E_DUPLICATE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TSE001E_DUPLICATE
|
|
(
|
|
IN_CODE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM ADMIN_ADDRESS_INFO
|
|
WHERE ADDRESS_ADMIN_CODE = IN_CODE;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TSE001E_DUPLICATE;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TSD000E_OWNER;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TSD000E_OWNER
|
|
--
|
|
-- ????, ????? ???
|
|
-- ???? ????.
|
|
--
|
|
(
|
|
manage_year IN char, -- ????
|
|
manage_seqno IN number -- ????
|
|
) RETURN varchar2
|
|
IS
|
|
p_owner varchar2(10);
|
|
|
|
BEGIN
|
|
|
|
SELECT hh.owner
|
|
INTO p_owner
|
|
FROM penalty_head_info hh, penalty_detail_info dd
|
|
WHERE dd.penalty_manage_year = manage_year
|
|
AND dd.penalty_seqno = manage_seqno
|
|
AND dd.car_no = hh.car_no
|
|
AND dd.resident_date = hh.resident_date;
|
|
|
|
RETURN p_owner;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN '??';
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TSD000E_MONEY;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TSD000E_MONEY
|
|
/****************************************************
|
|
** 관리년도, 일련번호를 받아서
|
|
** 과태료를 반환한다.
|
|
****************************************************/
|
|
(
|
|
manage_year IN char, -- 관리년도
|
|
manage_seqno IN number -- 일련번호
|
|
) RETURN number
|
|
IS
|
|
p_monty number := 0;
|
|
BEGIN
|
|
SELECT LAVY_AMOUNT
|
|
INTO p_monty
|
|
FROM penalty_detail_info
|
|
WHERE penalty_manage_year = manage_year
|
|
AND penalty_seqno = manage_seqno;
|
|
|
|
RETURN p_monty;
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TSD000E_CAR_TYPE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TSD000E_CAR_TYPE
|
|
/****************************************************
|
|
** 관리년도, 일련번호를 받아서
|
|
** 차종을 반환한다.
|
|
****************************************************/
|
|
(
|
|
manage_year IN char, -- 관리년도
|
|
manage_seqno IN number -- 일련번호
|
|
) RETURN varchar2
|
|
IS
|
|
p_car_name varchar2(60) := '';
|
|
p_cars_type_abb_name varchar2(60) := '';
|
|
BEGIN
|
|
SELECT CC.CARS_TYPE_FULL_NAME
|
|
INTO p_car_name
|
|
FROM penalty_head_info hh,
|
|
penalty_detail_info dd,
|
|
cars_type_code_info cc
|
|
WHERE dd.car_no = hh.car_no
|
|
AND dd.resident_date = hh.resident_date
|
|
AND dd.resident_no = hh.resident_no
|
|
AND dd.owner = hh.owner
|
|
AND HH.CAR_TYPE_ID = CC.CARS_TYPE_ID
|
|
AND dd.penalty_manage_year = RTRIM(manage_year)
|
|
AND dd.penalty_seqno = manage_seqno;
|
|
|
|
p_cars_type_abb_name := RTRIM(p_car_name, ' ');
|
|
|
|
RETURN p_cars_type_abb_name;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN '기타';
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TSD000E_ADDRESS;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TSD000E_ADDRESS
|
|
/******************************************************
|
|
** 관리년도, 일련번호를 받아서
|
|
** 주소를 반환한다.
|
|
*******************************************************/
|
|
(
|
|
manage_year IN char, -- 관리년도
|
|
manage_seqno IN number -- 일련번호
|
|
) RETURN varchar2
|
|
IS
|
|
add_name varchar2(60) := '';
|
|
add_number varchar2(40) := '';
|
|
p_address varchar2(100) := '';
|
|
BEGIN
|
|
SELECT hh.address_name, hh.address_number
|
|
INTO add_name, add_number
|
|
FROM penalty_head_info hh,
|
|
penalty_detail_info dd
|
|
WHERE dd.penalty_manage_year = manage_year
|
|
AND dd.penalty_seqno = manage_seqno
|
|
AND dd.car_no = hh.car_no
|
|
AND dd.resident_date = hh.resident_date;
|
|
|
|
p_address := RTRIM(add_name, ' ') || ' ' || RTRIM(add_number, ' ');
|
|
|
|
RETURN p_address;
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN ' ';
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRL000Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRL000Q_COUNT
|
|
(
|
|
in_fare IN CHAR, -- 요금소
|
|
jinso_gubun IN CHAR, -- 징수구분
|
|
-- in_ymd IN CHAR, -- 년
|
|
in_st IN CHAR, -- 시작일자
|
|
in_ed IN CHAR -- 종료일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
-- 구분 (일일징수부:1, 기간징수부:2)
|
|
if jinso_gubun = '1' then
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from (select fare_office_id, day
|
|
from car_day_adjust_info
|
|
where fare_office_id like in_fare
|
|
and year || month || day = in_st
|
|
group by fare_office_id, day);
|
|
|
|
elsif jinso_gubun = '2' then
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from (select fare_office_id, day
|
|
from car_day_adjust_info
|
|
where fare_office_id like in_fare
|
|
and year || month || day between in_st and in_ed
|
|
group by fare_office_id, day);
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRL000Q_2_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRL000Q_2_COUNT (
|
|
office IN CHAR, -- ??? ??
|
|
jinso_gubun IN CHAR, -- ?? ??
|
|
yymmdd_dt IN CHAR, -- ??
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
-- ?? (?????:1, ?????:2)
|
|
if jinso_gubun = '1' then
|
|
select count(*)
|
|
into tot_row
|
|
from (select fare_office_id, day, count(*)
|
|
from car_day_adjust_info
|
|
where fare_office_id like office
|
|
and year || month || day = yymmdd_dt
|
|
group by fare_office_id, day);
|
|
|
|
elsif jinso_gubun = '2' then
|
|
select count(*)
|
|
into tot_row
|
|
from (select fare_office_id, day, count(*)
|
|
from car_day_adjust_info
|
|
where fare_office_id like office
|
|
and year || month || day between from_dt and to_dt
|
|
group by fare_office_id, day);
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRG502Q_03_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRG502Q_03_COUNT (
|
|
office IN CHAR, -- ??? ??
|
|
years IN CHAR, -- ?? ?
|
|
months IN CHAR, -- ?? ?
|
|
days IN CHAR -- ?? ?
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT year, month, day, booth_id, count(*)
|
|
FROM car_time_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between years || '01' || '01' and years || months || days
|
|
GROUP BY year, month, day, booth_id);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRG502Q_02_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRG502Q_02_COUNT (
|
|
office IN CHAR, -- ??? ??
|
|
years IN CHAR, -- ?? ?
|
|
months IN CHAR, -- ?? ?
|
|
days IN CHAR -- ?? ?
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT month, day, booth_id, count(*)
|
|
FROM car_time_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between years || months || '01' and years || months || days
|
|
GROUP BY month, day, booth_id);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRG502Q_01_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRG502Q_01_COUNT (
|
|
office IN CHAR, -- ??? ??
|
|
years IN CHAR, -- ?? ?
|
|
months IN CHAR, -- ?? ?
|
|
days IN CHAR -- ?? ?
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT day, booth_id, count(*)
|
|
FROM car_time_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day = years || months || days
|
|
GROUP BY day, booth_id);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRG501Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRG501Q_COUNT (
|
|
office IN CHAR, -- 요금소
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 죵료일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from (select times
|
|
from car_time_adjust_info
|
|
where fare_office_id like office
|
|
and year || month || day between from_dt and to_dt
|
|
group by times);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRF000Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_trf000q_count(
|
|
office IN CHAR, -- 요금소
|
|
yoil IN CHAR, -- 요일
|
|
before_from_dt IN CHAR, -- 전년 시작일자
|
|
before_to_dt IN CHAR, -- 전년 종료일자
|
|
after_from_dt IN CHAR, -- 기준 시작일자
|
|
after_to_dt IN CHAR -- 기준 종료일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
before_row number := 0;
|
|
after_row number := 0;
|
|
|
|
BEGIN
|
|
|
|
if yoil = 'A' then -- 전체
|
|
select count(*)
|
|
into before_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between before_from_dt and before_to_dt
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
|
|
select count(*)
|
|
into after_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between after_from_dt and after_to_dt
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
|
|
elsif yoil = 'P' then -- 평일(토요일 제외)
|
|
select count(*)
|
|
into before_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between before_from_dt and before_to_dt
|
|
AND weekday_kbn = '1'
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
|
|
select count(*)
|
|
into after_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between after_from_dt and after_to_dt
|
|
AND weekday_kbn = '1'
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
|
|
elsif yoil = 'T' then -- 토요일 (평일 제외)
|
|
select count(*)
|
|
into before_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between before_from_dt and before_to_dt
|
|
AND weekday_kbn = '2'
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
|
|
select count(*)
|
|
into after_row
|
|
from (SELECT year, month, count(*)
|
|
FROM day_adjust_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between after_from_dt and after_to_dt
|
|
AND weekday_kbn = '2'
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
end if;
|
|
|
|
if before_row >= after_row then
|
|
tot_row := before_row;
|
|
elsif before_row < after_row then
|
|
tot_row := after_row;
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRE502Q_SALE_K;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRE502Q_SALE_K
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
-- 정액권 판매 일계, 누계를 구한다.
|
|
IS
|
|
|
|
V_RETURN NUMBER := 0;
|
|
V_DATE CHAR(8);
|
|
V_LEVY NUMBER := 0;
|
|
V_K_LEVY NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
V_DATE := RTRIM(IN_YEAR,' ')||RTRIM(IN_MONTH,' ')||RTRIM(IN_DAY,' ');
|
|
|
|
IF IN_GUBUN = 'DAY' THEN
|
|
|
|
SELECT NVL(SUM(NVL(COUPON_SALE_QUANTITY,0) + NVL(K_COUPON_SALE_Q,0)),0)
|
|
INTO V_RETURN
|
|
FROM FARE_ADJUST_INFO A
|
|
WHERE A.FARE_OFFICE_ID = IN_FARE
|
|
AND A.YEAR||A.MONTH||A.DAY = V_DATE
|
|
GROUP BY A.YEAR||A.MONTH||A.DAY;
|
|
|
|
ELSIF IN_GUBUN = 'TOTAL' THEN
|
|
|
|
SELECT NVL(SUM(NVL(COUPON_SALE_QUANTITY,0) + NVL(K_COUPON_SALE_Q,0)),0)
|
|
INTO V_RETURN
|
|
FROM FARE_ADJUST_INFO A
|
|
WHERE A.FARE_OFFICE_ID = IN_FARE
|
|
AND A.YEAR||A.MONTH||A.DAY <= V_DATE;
|
|
|
|
END IF;
|
|
|
|
RETURN V_RETURN;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRE502Q_SALE_K;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRE502Q_SALE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRE502Q_SALE
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
-- 정액권 판매 일계, 누계를 구한다.
|
|
IS
|
|
|
|
V_RETURN NUMBER := 0;
|
|
V_RET NUMBER := 0;
|
|
V_K_RET NUMBER := 0;
|
|
V_DATE CHAR(8);
|
|
V_LEVY NUMBER := 0;
|
|
V_K_LEVY NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
V_DATE := IN_YEAR||IN_MONTH||IN_DAY;
|
|
|
|
-- 정액권 요금정보
|
|
SELECT LEVY_AMOUNT
|
|
INTO V_LEVY
|
|
FROM FARE_INFO
|
|
WHERE TO_CHAR(STT_DATE, 'YYYYMMDD') <= V_DATE
|
|
AND TO_CHAR(END_DATE, 'YYYYMMDD') >= V_DATE
|
|
AND COLLECT_ID = '52';
|
|
|
|
SELECT LEVY_AMOUNT
|
|
INTO V_K_LEVY
|
|
FROM FARE_INFO
|
|
WHERE TO_CHAR(STT_DATE, 'YYYYMMDD') <= V_DATE
|
|
AND TO_CHAR(END_DATE, 'YYYYMMDD') >= V_DATE
|
|
AND COLLECT_ID = '54';
|
|
|
|
IF IN_GUBUN = 'DAY' THEN
|
|
|
|
SELECT NVL(SUM(LEVY_AMOUNT / V_LEVY),0)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO A
|
|
WHERE A.FARE_OFFICE_ID = IN_FARE
|
|
AND A.YEAR||A.MONTH||A.DAY = V_DATE
|
|
AND A.COLLECT_ID = '52'
|
|
AND A.DELETE_YN = '0';
|
|
|
|
SELECT NVL(SUM(LEVY_AMOUNT / V_K_LEVY),0)
|
|
INTO V_K_RET
|
|
FROM FARE_TERMINAL_INFO A
|
|
WHERE A.FARE_OFFICE_ID = IN_FARE
|
|
AND A.YEAR||A.MONTH||A.DAY = V_DATE
|
|
AND A.COLLECT_ID = '54'
|
|
AND A.DELETE_YN = '0';
|
|
|
|
V_RETURN := V_RET + V_K_RET;
|
|
|
|
ELSIF IN_GUBUN = 'TOTAL' THEN
|
|
|
|
SELECT NVL(SUM(LEVY_AMOUNT / V_LEVY),0)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO A
|
|
WHERE A.FARE_OFFICE_ID = IN_FARE
|
|
AND A.YEAR||A.MONTH||A.DAY <= V_DATE
|
|
AND A.COLLECT_ID = '52'
|
|
AND A.DELETE_YN = '0';
|
|
|
|
SELECT NVL(SUM(LEVY_AMOUNT / V_K_LEVY),0)
|
|
INTO V_K_RET
|
|
FROM FARE_TERMINAL_INFO A
|
|
WHERE A.FARE_OFFICE_ID = IN_FARE
|
|
AND A.YEAR||A.MONTH||A.DAY <= V_DATE
|
|
AND A.COLLECT_ID = '54'
|
|
AND A.DELETE_YN = '0';
|
|
|
|
V_RETURN := V_RET + V_K_RET;
|
|
|
|
END IF;
|
|
|
|
RETURN V_RETURN;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRE502Q_SALE;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRE502Q_LAST_STOCK1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRE502Q_LAST_STOCK1
|
|
(
|
|
in_fare IN CHAR, -- 요금소
|
|
in_st IN CHAR -- 조회일자
|
|
) RETURN NUMBER
|
|
IS
|
|
/*
|
|
차로에 불출된 정액권과, 판매된 정액권 권수를 뺀 권수를 전일잔고로 본다.
|
|
순수한 차로 주머니 잔고권구를 말한다.
|
|
수정일 : 20030430 수정자 : arcadia
|
|
*/
|
|
|
|
v_booth_sale number; -- 전일잔고 권수
|
|
v_bul number; -- 차로불출 권수
|
|
v_sale number; -- 정액권 판매권수
|
|
v_levy number;
|
|
|
|
BEGIN
|
|
|
|
-- 조회일자 이전까지의 차로로 불출된 권수
|
|
select nvl(sum(a.in_out_count),0)
|
|
into v_bul
|
|
from fix_amount_head_info a
|
|
where a.fare_office_id = in_fare
|
|
and a.year||a.month||a.day < in_st
|
|
and a.in_out_kbn in ('21', '23');
|
|
|
|
-- 정액권 요금정보
|
|
/*
|
|
select levy_amount
|
|
into v_levy
|
|
from fare_info
|
|
where to_char(stt_date, 'yyyymmdd') <= in_st
|
|
and to_char(end_date, 'yyyymmdd') >= in_st
|
|
and collect_id = '52';
|
|
*/
|
|
-- 조회일자 이전까지 판매된 정액권 권수
|
|
SELECT NVL(SUM(NVL(COUPON_SALE_QUANTITY,0) + NVL(K_COUPON_SALE_Q,0)),0)
|
|
INTO v_sale
|
|
FROM FARE_ADJUST_INFO A
|
|
WHERE A.FARE_OFFICE_ID = IN_FARE
|
|
AND A.YEAR||A.MONTH||A.DAY < in_st;
|
|
|
|
|
|
/*
|
|
select nvl(sum(b.levy_amount / v_levy),0)
|
|
into v_sale
|
|
from fare_terminal_info b
|
|
where b.fare_office_id = in_fare
|
|
and b.year||b.month||b.day < in_st
|
|
and b.collect_id = '52'
|
|
and b.delete_yn = '0';
|
|
*/
|
|
-- 차로전일잔고 =
|
|
v_booth_sale := v_bul - v_sale;
|
|
|
|
RETURN v_booth_sale;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRE502Q_LAST_STOCK1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRE502Q_LAST_STOCK;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRE502Q_LAST_STOCK
|
|
(
|
|
IN_FARE IN CHAR,
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_STOCK NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT NVL(SUM(NVL(LAST_DAY_STOCK_QUANTITY,0)),0)
|
|
INTO V_STOCK
|
|
FROM DAY_FIX_STOCK_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE
|
|
AND YEAR||MONTH||DAY = IN_DATE;
|
|
|
|
RETURN V_STOCK;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRE502Q_LAST_STOCK;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRE502Q_DATE_CNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRE502Q_DATE_CNT1
|
|
(
|
|
IN_FARE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_CNT NUMBER := 0;
|
|
BEGIN
|
|
|
|
select count(*)
|
|
into v_cnt
|
|
from (
|
|
select a.year, a.month, a.day
|
|
from fare_adjust_info a
|
|
where a.fare_office_id = in_fare
|
|
and a.year||a.month||a.day between in_st and in_ed
|
|
group by a.year, a.month, a.day
|
|
union
|
|
select b.year, b.month, b.day
|
|
from fix_amount_head_info b
|
|
where b.fare_office_id = in_fare
|
|
and b.year||b.month||b.day between in_st and in_ed
|
|
group by b.year, b.month, b.day);
|
|
|
|
/*
|
|
select count(*)
|
|
into v_cnt
|
|
from (
|
|
select a.year,a.month,a.day
|
|
from fare_adjust_info a
|
|
where a.fare_office_id = in_fare
|
|
and a.year||a.month||a.day between in_st and in_ed
|
|
group by a.year,a.month,a.day);
|
|
*/
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRE502Q_DATE_CNT1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRE502Q_DATE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRE502Q_DATE_CNT
|
|
(
|
|
IN_FARE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_CNT NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT FARE_OFFICE_ID, YEAR, MONTH, DAY
|
|
FROM FIX_AMOUNT_DETAIL_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE
|
|
AND YEAR||MONTH||DAY BETWEEN IN_ST AND IN_ED
|
|
AND IN_OUT_KBN = '21'
|
|
GROUP BY FARE_OFFICE_ID,YEAR,MONTH,DAY);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRE502Q_DATE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRE502Q_BUL;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRE502Q_BUL
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
|
|
-- DAY : 당일 차로로 불출한 정액권 권수
|
|
-- TOTAL : 당일까지 불출한 정액권 권수(누계)
|
|
|
|
IS
|
|
|
|
V_RETURN NUMBER := 0;
|
|
V_DATE CHAR(8) := '';
|
|
|
|
BEGIN
|
|
|
|
V_DATE := RTRIM(IN_YEAR,' ')||RTRIM(IN_MONTH,' ')||RTRIM(IN_DAY,' ');
|
|
|
|
IF IN_GUBUN = 'DAY' THEN
|
|
|
|
SELECT NVL(SUM(NVL(IN_OUT_COUNT,0)),0)
|
|
INTO V_RETURN
|
|
FROM FIX_AMOUNT_DETAIL_INFO
|
|
WHERE IN_OUT_KBN IN ('21', '23')
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND YEAR||MONTH||DAY = V_DATE;
|
|
|
|
ELSIF IN_GUBUN = 'TOTAL' THEN
|
|
|
|
SELECT NVL(SUM(NVL(IN_OUT_COUNT,0)),0)
|
|
INTO V_RETURN
|
|
FROM FIX_AMOUNT_DETAIL_INFO
|
|
WHERE IN_OUT_KBN IN ('21', '23')
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND YEAR||MONTH||DAY <= V_DATE;
|
|
|
|
END IF;
|
|
|
|
RETURN V_RETURN;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
|
|
RETURN 0;
|
|
|
|
END FUN_TRE502Q_BUL;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRE501Q_STOCK_QUANTITY2;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRE501Q_STOCK_QUANTITY2
|
|
(
|
|
in_fare IN CHAR, -- 요금소
|
|
in_st IN CHAR -- 조회일자
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
|
|
v_stock_q NUMBER := 0; -- 전일잔고
|
|
v_su number := 0; -- 본사수령
|
|
v_bul number := 0; -- 차로불출
|
|
v_ban number := 0; -- 본사반납
|
|
v_ret number := 0; -- 차로회수(요금소반납)
|
|
v_k_su number := 0; -- 경차본사수령
|
|
v_k_bul number := 0; -- 경차차로불출
|
|
v_k_ban number := 0; -- 경차본사반납
|
|
v_k_ret number := 0; -- 경차차로회수(요금소반납)
|
|
|
|
BEGIN
|
|
|
|
-- 20031201 경차관련 수정
|
|
select nvl(sum(decode(a.in_out_kbn, '10', nvl(a.in_out_count,0),0)),0),
|
|
nvl(sum(decode(a.in_out_kbn, '21', nvl(a.in_out_count,0),0)),0),
|
|
nvl(sum(decode(a.in_out_kbn, '22', nvl(a.in_out_count,0),0)),0),
|
|
nvl(sum(decode(a.in_out_kbn, '30', nvl(a.in_out_count,0),0)),0),
|
|
nvl(sum(decode(a.in_out_kbn, '11', nvl(a.in_out_count,0),0)),0),
|
|
nvl(sum(decode(a.in_out_kbn, '23', nvl(a.in_out_count,0),0)),0),
|
|
nvl(sum(decode(a.in_out_kbn, '24', nvl(a.in_out_count,0),0)),0),
|
|
nvl(sum(decode(a.in_out_kbn, '31', nvl(a.in_out_count,0),0)),0)
|
|
into v_su, v_bul, v_ban, v_ret, v_k_su, v_k_bul, v_k_ban, v_k_ret
|
|
from fix_amount_detail_info a
|
|
where a.fare_office_id = in_fare
|
|
and a.year||a.month||a.day < in_st;
|
|
|
|
-- 전일잔고 = 본사수령 - 차로불출 - 본사반납 + 차로회수
|
|
v_stock_q := (v_su + v_k_su) - (v_bul + v_k_bul) - (v_ban + v_k_ban) + (v_ret + v_k_ret);
|
|
|
|
RETURN v_stock_q;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRE501Q_STOCK_QUANTITY1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRE501Q_STOCK_QUANTITY1
|
|
(
|
|
office IN CHAR, -- 요금소
|
|
pc_ymd IN CHAR -- 조회일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
pn_stock_quantity BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT nvl(sum(nvl(last_day_stock_quantity,0)),0)
|
|
INTO pn_stock_quantity
|
|
FROM day_fix_stock_info
|
|
WHERE fare_office_id = office
|
|
AND year||month||day = pc_ymd;
|
|
|
|
RETURN pn_stock_quantity;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRE501Q_STOCK_QUANTITY;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRE501Q_STOCK_QUANTITY
|
|
(
|
|
office IN CHAR, -- 요금소
|
|
pc_ymd IN CHAR -- 조회일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
pn_stock_quantity BINARY_INTEGER;
|
|
|
|
pc_year char;
|
|
pc_month char;
|
|
pc_day char;
|
|
|
|
BEGIN
|
|
|
|
pc_year := substr( pc_ymd, 1, 4 );
|
|
pc_month := substr( pc_ymd, 5, 2 );
|
|
pc_day := substr( pc_ymd, 7, 2 );
|
|
|
|
SELECT nvl(sum(nvl(stock_quantity,0)),0)
|
|
INTO pn_stock_quantity
|
|
FROM day_fix_stock_info
|
|
WHERE fare_office_id = office
|
|
AND year = pc_year
|
|
AND month = pc_month
|
|
AND day < pc_day;
|
|
|
|
RETURN pn_stock_quantity;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRE501Q_COUNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRE501Q_COUNT1
|
|
(
|
|
office IN CHAR, -- 요금소
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM fix_amount_detail_info
|
|
WHERE fare_office_id = office
|
|
AND year || month || day between from_dt and to_dt;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRE501Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRE501Q_COUNT
|
|
(
|
|
office IN CHAR, -- 요금소
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, day, count(*)
|
|
FROM fix_amount_head_info
|
|
WHERE fare_office_id = office
|
|
AND year || month || day between from_dt and to_dt
|
|
GROUP BY year, month, day
|
|
ORDER BY year, month, day);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRE000Q_CNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRE000Q_CNT1
|
|
(
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM DAY_ADJUST_INFO
|
|
WHERE YEAR||MONTH||DAY BETWEEN IN_ST AND IN_ED;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRE000Q_CNT1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRE000Q_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRE000Q_CNT
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM (
|
|
SELECT YEAR||MONTH||DAY
|
|
FROM DAY_ADJUST_INFO
|
|
WHERE YEAR||MONTH||DAY = IN_DATE
|
|
GROUP BY YEAR||MONTH||DAY);
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRE000Q_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRD500Q_SAM_OVERFARE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRD500Q_SAM_OVERFARE_CNT
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERFARE_INFO
|
|
WHERE YEAR||MONTH = IN_DATE
|
|
AND OVERFARE_KBN = '2'
|
|
AND REFUND_KBN = '2'
|
|
AND PROCESS_KBN = '2'
|
|
AND DELETE_YN = '0'
|
|
AND TRANS_FILE_CREATE_YN = 'U';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRD500Q_SAM_OVERFARE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRD500Q_SAM_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRD500Q_SAM_CNT
|
|
(
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERFARE_TAXES_INFO
|
|
WHERE ENTRY_YEAR = IN_YEAR
|
|
AND ENTRY_MONTH = IN_MONTH
|
|
AND ENTRY_DAY = IN_DAY
|
|
AND TRANS_FILE_CREATE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRD500Q_SAM_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRD500Q_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRD500Q_CNT
|
|
(
|
|
IN_FARE IN CHAR,
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_ROW NUMBER;
|
|
V_CNT NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_ROW
|
|
FROM OVERFARE_TAXES_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE
|
|
AND ENTRY_YEAR = IN_YEAR
|
|
AND ENTRY_MONTH = IN_MONTH
|
|
AND ENTRY_DAY = IN_DAY;
|
|
|
|
IF V_ROW = 0 THEN
|
|
V_CNT := 0;
|
|
ELSE
|
|
SELECT MAX(ENTRY_SEQNO)
|
|
INTO V_CNT
|
|
FROM OVERFARE_TAXES_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE
|
|
AND ENTRY_YEAR = IN_YEAR
|
|
AND ENTRY_MONTH = IN_MONTH
|
|
AND ENTRY_DAY = IN_DAY;
|
|
END IF;
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRD500Q_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRD500Q_CAR_CHK;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRD500Q_CAR_CHK
|
|
(
|
|
in_owner IN CHAR,
|
|
in_car IN CHAR,
|
|
in_jumin IN CHAR,
|
|
in_reg_date IN CHAR
|
|
)
|
|
RETURN number
|
|
-- 차량정보를 입력하기전 중복된 차량정보가 있는지 검사
|
|
IS
|
|
|
|
tot_row number;
|
|
ld_reg_date date;
|
|
|
|
BEGIN
|
|
|
|
ld_reg_date := to_date(in_reg_date,'yyyy-mm-dd');
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from overfare_order_info
|
|
where owner = in_owner
|
|
and car_no = in_car
|
|
and resident_no = in_jumin
|
|
and resident_date = ld_reg_date;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRD500Q_CAR_CHK;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRD500Q_CARNO_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRD500Q_CARNO_CNT
|
|
(
|
|
in_car IN CHAR
|
|
)
|
|
RETURN number
|
|
-- 차량번호 중복 체크
|
|
IS
|
|
|
|
tot_row number;
|
|
|
|
BEGIN
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from overfare_order_info
|
|
where car_no = in_car;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END FUN_TRD500Q_CARNO_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRD000Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRD000Q_COUNT (
|
|
office IN CHAR, -- ??? ??
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from (select fare_office_id, day, count(*)
|
|
from car_day_adjust_info
|
|
where fare_office_id like office
|
|
and year || month || day between from_dt and to_dt
|
|
group by fare_office_id, day);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRC500Q_OVERCOUPON_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRC500Q_OVERCOUPON_CNT
|
|
(
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM (
|
|
SELECT YEAR,MONTH
|
|
FROM OVERCOUPON_HEAD_INFO
|
|
WHERE YEAR||MONTH BETWEEN IN_ST AND IN_ED
|
|
GROUP BY YEAR,MONTH);
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRC500Q_OVERCOUPON_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRC500Q_DISUSE_CHECK;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRC500Q_DISUSE_CHECK
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
IF IN_GUBUN = 'COUPON' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM COUPON_DISUSE_INFO
|
|
WHERE COUPON_KBN = '1'
|
|
AND FARE_YEAR||FARE_MONTH||FARE_DAY = IN_DATE;
|
|
|
|
ELSIF IN_GUBUN = 'DISUSE' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM COUPON_DISUSE_INFO
|
|
WHERE COUPON_KBN = '2'
|
|
AND FARE_YEAR||FARE_MONTH = IN_DATE;
|
|
|
|
END IF;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRC500Q_DISUSE_CHECK;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRC500Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRC500Q_COUNT
|
|
(
|
|
office IN CHAR, -- 요금소
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR, -- 종료일자
|
|
in_booth IN CHAR,
|
|
in_worker IN CHAR,
|
|
in_car IN CHAR
|
|
)
|
|
RETURN BINARY_INTEGER
|
|
IS
|
|
tot_row BINARY_INTEGER;
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM overcoupon_detail_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between from_dt and to_dt
|
|
AND booth_id like in_booth
|
|
AND worker_id like in_worker
|
|
AND car_no like in_car
|
|
AND DELETE_YN = '0';
|
|
|
|
/*
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, day, worker_id, seqno
|
|
FROM overcoupon_detail_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between from_dt and to_dt
|
|
AND booth_id like in_booth
|
|
AND worker_id like in_worker
|
|
AND car_no like in_car
|
|
AND DELETE_YN = '0'
|
|
-- AND over_kbn = '1'
|
|
GROUP BY year, month, day, worker_id, seqno);
|
|
*/
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRC000Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRC000Q_COUNT(
|
|
gubun IN CHAR, -- 구분
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
-- 일별
|
|
if gubun = '1' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, day
|
|
FROM day_adjust_info
|
|
WHERE year || month || day between from_dt and to_dt
|
|
GROUP BY year, month, day);
|
|
-- 월별
|
|
elsif gubun = '2' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month
|
|
FROM month_adjust_info
|
|
WHERE year || month between from_dt and to_dt
|
|
GROUP BY year, month);
|
|
-- 년별
|
|
elsif gubun = '3' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year
|
|
FROM year_adjust_info
|
|
WHERE year between from_dt and to_dt
|
|
GROUP BY year);
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRB500Q_SAM_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRB500Q_SAM_CNT
|
|
(
|
|
IN_GUBUN IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM COUPON_DISUSE_INFO
|
|
WHERE TRANS_FILE_CREATE_YN = IN_GUBUN;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRB500Q_SAM_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRB500Q_RETURN_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRB500Q_RETURN_CNT
|
|
(
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
-- 회수 쿠폰량 리턴
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM (
|
|
SELECT YEAR, MONTH, DAY
|
|
FROM DAY_ADJUST_INFO
|
|
WHERE YEAR||MONTH||DAY BETWEEN IN_ST AND IN_ED
|
|
GROUP BY YEAR,MONTH,DAY);
|
|
/*
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM (
|
|
SELECT YEAR, MONTH, DAY
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE YEAR||MONTH||DAY BETWEEN IN_ST AND IN_ED
|
|
GROUP BY YEAR, MONTH, DAY);
|
|
*/
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRB500Q_RETURN_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRB500Q_INS_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRB500Q_INS_CNT
|
|
(
|
|
office IN CHAR,
|
|
pc_year IN CHAR,
|
|
pc_month IN CHAR,
|
|
pc_day IN CHAR
|
|
) RETURN NUMBER
|
|
IS
|
|
|
|
tot_row NUMBER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM day_fix_stock_info
|
|
WHERE fare_office_id = office
|
|
AND year = pc_year
|
|
AND month = pc_month
|
|
AND day = pc_day;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRB500Q_COUPON_CNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRB500Q_COUPON_CNT1
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_YEAR IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
IF IN_GUBUN = 'AM' THEN
|
|
|
|
-- 오전에 회수한 쿠폰갯수
|
|
SELECT nvl(sum(IN_COUPON_QUANTITY + OUT_COUPON_QUANTITY + IN_K_COUPON_Q + OUT_K_COUPON_Q), 0)
|
|
INTO V_RET
|
|
FROM time_adjust_info
|
|
WHERE fare_office_id = IN_FARE
|
|
AND year||month||day = IN_DATE
|
|
AND times <= '14';
|
|
|
|
ELSIF IN_GUBUN = 'PM' THEN
|
|
|
|
-- 오후에 회수한 쿠폰갯수
|
|
SELECT nvl(sum(IN_COUPON_QUANTITY + OUT_COUPON_QUANTITY + IN_K_COUPON_Q + OUT_K_COUPON_Q), 0)
|
|
INTO V_RET
|
|
FROM time_adjust_info
|
|
WHERE fare_office_id = IN_FARE
|
|
AND year||month||day = IN_DATE
|
|
AND times > '14';
|
|
|
|
ELSIF IN_GUBUN = 'YEAR' THEN
|
|
|
|
-- 연누계 - 전년도는 포함하지 않음.
|
|
SELECT nvl(sum(IN_COUPON_QUANTITY + OUT_COUPON_QUANTITY + IN_K_COUPON_Q + OUT_K_COUPON_Q), 0)
|
|
INTO V_RET
|
|
FROM time_adjust_info
|
|
WHERE fare_office_id = IN_FARE
|
|
AND year||month||day between IN_YEAR||'0101' and IN_DATE;
|
|
|
|
ELSIF IN_GUBUN = 'RETURN' THEN
|
|
|
|
-- 회수쿠폰 폐기건수
|
|
SELECT NVL(SUM(DISUSE_COUNT + K_DISUSE_CNT),0)
|
|
INTO V_RET
|
|
FROM COUPON_DISUSE_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE
|
|
AND TO_CHAR(DISUSE_DATE, 'YYYYMMDD') = IN_DATE
|
|
AND COUPON_KBN = '1';
|
|
/*
|
|
-- 반납갯수
|
|
SELECT nvl(sum(nvl(RETURN_COUPON_COUNT,0)),0)
|
|
INTO V_RET
|
|
FROM day_fix_stock_info
|
|
WHERE fare_office_id = IN_FARE
|
|
AND year||month||day = IN_DATE;
|
|
*/
|
|
END IF;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRB500Q_COUPON_CNT1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRB500Q_COUPON_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRB500Q_COUPON_CNT
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_YEAR IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
IF IN_GUBUN = 'AM' THEN
|
|
|
|
-- 오전에 회수한 쿠폰갯수
|
|
SELECT count(*)
|
|
INTO V_RET
|
|
FROM fare_terminal_info
|
|
WHERE fare_office_id = IN_FARE
|
|
AND year||month||day = IN_DATE
|
|
AND collect_id = '51'
|
|
AND delete_yn = '0'
|
|
AND work_times <= '140000';
|
|
|
|
ELSIF IN_GUBUN = 'PM' THEN
|
|
|
|
-- 오후에 회수한 쿠폰갯수
|
|
SELECT count(*)
|
|
INTO V_RET
|
|
FROM fare_terminal_info
|
|
WHERE fare_office_id = IN_FARE
|
|
AND year||month||day = IN_DATE
|
|
AND work_times > '140000'
|
|
AND collect_id = '51'
|
|
AND delete_yn = '0';
|
|
|
|
ELSIF IN_GUBUN = 'YEAR' THEN
|
|
|
|
-- 연누계 - 전년도는 포함하지 않음.
|
|
SELECT count(*)
|
|
INTO V_RET
|
|
FROM fare_terminal_info
|
|
WHERE fare_office_id = IN_FARE
|
|
AND year||month||day between IN_YEAR||'0101' and IN_DATE
|
|
AND collect_id = '51'
|
|
AND delete_yn = '0';
|
|
|
|
ELSIF IN_GUBUN = 'RETURN' THEN
|
|
|
|
-- 회수쿠폰 폐기건수
|
|
SELECT NVL(SUM(DISUSE_COUNT),0)
|
|
INTO V_RET
|
|
FROM COUPON_DISUSE_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE
|
|
AND TO_CHAR(DISUSE_DATE, 'YYYYMMDD') = IN_DATE
|
|
AND COUPON_KBN = '1';
|
|
/*
|
|
-- 반납갯수
|
|
SELECT nvl(sum(nvl(RETURN_COUPON_COUNT,0)),0)
|
|
INTO V_RET
|
|
FROM day_fix_stock_info
|
|
WHERE fare_office_id = IN_FARE
|
|
AND year||month||day = IN_DATE;
|
|
*/
|
|
END IF;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRB500Q_COUPON_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRB500Q_COUNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRB500Q_COUNT1
|
|
(
|
|
IN_FARE IN CHAR, -- 요금소
|
|
IN_ST IN CHAR, -- 시작일자
|
|
IN_ED IN CHAR -- 종료일자
|
|
) RETURN NUMBER
|
|
-- 수정일 : 20030429 수정자:ARCADIA
|
|
IS
|
|
|
|
V_ROW NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_ROW
|
|
FROM (
|
|
SELECT YEAR||MONTH||DAY
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE
|
|
AND YEAR||MONTH||DAY BETWEEN IN_ST AND IN_ED
|
|
GROUP BY YEAR||MONTH||DAY);
|
|
|
|
/*
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT a.year, a.month, a.day
|
|
FROM fare_terminal_info a
|
|
WHERE a.collect_id = '51'
|
|
and a.delete_yn = '0'
|
|
AND a.fare_office_id = office
|
|
AND a.year||a.month||a.day between from_dt and to_dt
|
|
GROUP BY a.year, a.month, a.day);
|
|
*/
|
|
RETURN V_ROW;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRB500Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRB500Q_COUNT
|
|
(
|
|
office IN CHAR, -- 요금소
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, day
|
|
FROM fare_terminal_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between from_dt and to_dt
|
|
and delete_yn = '0'
|
|
GROUP BY year, month, day
|
|
ORDER BY year, month, day);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRA500Q_CNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRA500Q_CNT1
|
|
/******************************************************************************
|
|
NAME: FUN_TRA500Q_CNT
|
|
PURPOSE: 요금단말에서 조회조건의 카운트를 리턴한다.
|
|
|
|
REVISIONS:
|
|
Ver DATE Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-08 KIM DONG EUN 1. Created this FUNCTION.
|
|
|
|
Object Name: FUN_TRA500Q_CNT OR FUN_TRA500Q_CNT
|
|
SYSDATE: 2002-11-08
|
|
DATE/TIME: 2002-11-08 오후 10:46:22
|
|
DATE: 2002-11-08
|
|
TIME: 오후 10:46:22
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
(
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_GUBUN IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR,
|
|
IN_CAR IN VARCHAR2
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
IF IN_GUBUN = '%' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM FARE_TERMINAL_INFO A
|
|
WHERE A.FARE_OFFICE_ID LIKE IN_FARE
|
|
AND A.BOOTH_ID LIKE IN_BOOTH
|
|
AND A.YEAR||A.MONTH||A.DAY BETWEEN IN_ST AND IN_ED
|
|
AND A.CAR_NO LIKE IN_CAR
|
|
AND A.COLLECT_ID <> '52'
|
|
AND A.DELETE_YN = '0';
|
|
|
|
ELSIF IN_GUBUN = '20' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM FARE_TERMINAL_INFO A
|
|
WHERE A.FARE_OFFICE_ID LIKE IN_FARE
|
|
AND A.BOOTH_ID LIKE IN_BOOTH
|
|
AND A.YEAR||A.MONTH||A.DAY BETWEEN IN_ST AND IN_ED
|
|
AND A.COLLECT_ID IN ('21','22')
|
|
AND A.DELETE_YN = '0'
|
|
AND A.CAR_NO LIKE IN_CAR;
|
|
|
|
ELSE
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM FARE_TERMINAL_INFO A
|
|
WHERE A.FARE_OFFICE_ID LIKE IN_FARE
|
|
AND A.BOOTH_ID LIKE IN_BOOTH
|
|
AND A.COLLECT_ID = IN_GUBUN
|
|
AND A.YEAR||A.MONTH||A.DAY BETWEEN IN_ST AND IN_ED
|
|
AND A.DELETE_YN = '0'
|
|
AND A.CAR_NO LIKE IN_CAR;
|
|
|
|
END IF;
|
|
|
|
RETURN V_CNT;
|
|
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TRA500Q_CNT1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRA500Q_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.Fun_Tra500q_Cnt
|
|
/******************************************************************************
|
|
NAME: FUN_TRA500Q_CNT
|
|
PURPOSE: 요금단말에서 조회조건의 카운트를 리턴한다.
|
|
|
|
REVISIONS:
|
|
Ver DATE Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-08 KIM DONG EUN 1. Created this FUNCTION.
|
|
|
|
Object Name: FUN_TRA500Q_CNT OR FUN_TRA500Q_CNT
|
|
SYSDATE: 2002-11-08
|
|
DATE/TIME: 2002-11-08 오후 10:46:22
|
|
DATE: 2002-11-08
|
|
TIME: 오후 10:46:22
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
(
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_GUBUN IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_CNT NUMBER := 0;
|
|
BEGIN
|
|
|
|
IF IN_GUBUN = '%' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT A.WORKER_ID, A.YEAR, A.MONTH, A.DAY, A.WORK_TIMES,
|
|
A.COLLECT_ID, A.LEVY_AMOUNT
|
|
FROM FARE_TERMINAL_INFO A
|
|
WHERE A.FARE_OFFICE_ID LIKE IN_FARE
|
|
AND A.BOOTH_ID LIKE IN_BOOTH
|
|
-- AND A.COLLECT_ID LIKE IN_GUBUN
|
|
AND A.YEAR||A.MONTH||A.DAY BETWEEN IN_ST AND IN_ED
|
|
AND A.COLLECT_ID IN ('10', '21','22','30','40','51')
|
|
AND A.DELETE_YN = '0');
|
|
|
|
ELSIF IN_GUBUN = '20' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT A.WORKER_ID, A.YEAR, A.MONTH, A.DAY, A.WORK_TIMES,
|
|
A.COLLECT_ID, A.LEVY_AMOUNT
|
|
FROM FARE_TERMINAL_INFO A
|
|
WHERE A.FARE_OFFICE_ID LIKE IN_FARE
|
|
AND A.BOOTH_ID LIKE IN_BOOTH
|
|
-- AND A.COLLECT_ID LIKE IN_GUBUN
|
|
AND A.YEAR||A.MONTH||A.DAY BETWEEN IN_ST AND IN_ED
|
|
AND A.COLLECT_ID IN ('21','22')
|
|
AND A.DELETE_YN = '0');
|
|
|
|
ELSE
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT A.WORKER_ID, A.YEAR, A.MONTH, A.DAY, A.WORK_TIMES,
|
|
A.COLLECT_ID, A.LEVY_AMOUNT
|
|
FROM FARE_TERMINAL_INFO A
|
|
WHERE A.FARE_OFFICE_ID LIKE IN_FARE
|
|
AND A.BOOTH_ID LIKE IN_BOOTH
|
|
AND A.COLLECT_ID LIKE IN_GUBUN
|
|
AND A.YEAR||A.MONTH||A.DAY BETWEEN IN_ST AND IN_ED
|
|
AND A.DELETE_YN = '0');
|
|
|
|
END IF;
|
|
|
|
RETURN V_CNT;
|
|
|
|
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
|
|
END Fun_Tra500q_Cnt;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TRA000Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TRA000Q_COUNT
|
|
( v_office IN VARCHAR2,
|
|
v_gubun IN BINARY_INTEGER,
|
|
v_from_dt IN VARCHAR2,
|
|
v_to_dt IN VARCHAR2
|
|
)
|
|
RETURN BINARY_INTEGER
|
|
IS
|
|
-- 징수원,차로,시간,일,월,년별 건수
|
|
v_rc BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
-- 징수원별
|
|
IF v_gubun = 1 THEN
|
|
SELECT count(*)
|
|
INTO v_rc
|
|
FROM (SELECT WORKER_ID,COUNT(*)
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND YEAR||MONTH||DAY BETWEEN v_from_dt AND v_to_dt
|
|
GROUP BY WORKER_ID);
|
|
-- 시간별
|
|
ELSIF v_gubun = 2 THEN
|
|
SELECT count(*)
|
|
INTO v_rc
|
|
FROM ( SELECT TIMES,COUNT(*)
|
|
FROM TIME_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND YEAR||MONTH||DAY BETWEEN v_from_dt AND v_to_dt
|
|
GROUP BY TIMES);
|
|
-- 차로별
|
|
ELSIF v_gubun = 3 THEN
|
|
SELECT count(*)
|
|
INTO v_rc
|
|
FROM ( SELECT BOOTH_ID,count(*)
|
|
FROM DAY_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND YEAR||MONTH||DAY BETWEEN v_from_dt AND v_to_dt
|
|
GROUP BY BOOTH_ID);
|
|
-- 일별
|
|
ELSIF v_gubun = 4 THEN
|
|
SELECT count(*)
|
|
INTO v_rc
|
|
FROM (SELECT YEAR,MONTH,DAY,count(*)
|
|
FROM DAY_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND YEAR||MONTH||DAY BETWEEN v_from_dt AND v_to_dt
|
|
GROUP BY YEAR,MONTH,DAY);
|
|
-- 월별
|
|
ELSIF v_gubun = 5 THEN
|
|
SELECT count(*)
|
|
INTO v_rc
|
|
FROM ( SELECT YEAR,MONTH
|
|
FROM MONTH_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND YEAR||MONTH BETWEEN v_from_dt AND v_to_dt
|
|
GROUP BY YEAR,MONTH);
|
|
-- 년별
|
|
ELSE
|
|
SELECT count(*)
|
|
INTO v_rc
|
|
FROM (SELECT YEAR,COUNT(*)
|
|
FROM YEAR_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND YEAR BETWEEN v_from_dt AND v_to_dt
|
|
GROUP BY YEAR);
|
|
END IF;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
v_rc := 0;
|
|
Return v_rc;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TIF000Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TIF000Q_COUNT(
|
|
office IN CHAR, -- 요금소
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
|
|
) RETURN number
|
|
IS
|
|
|
|
tot_row number := 0;
|
|
|
|
BEGIN
|
|
|
|
/*
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT fare_office_id, count(*)
|
|
FROM car_day_adjust_info
|
|
WHERE fare_office_id LIKE office
|
|
AND year || month || day BETWEEN from_dt AND to_dt
|
|
GROUP BY fare_office_id);
|
|
*/
|
|
SELECT COUNT(*)
|
|
INTO TOT_ROW
|
|
FROM (
|
|
SELECT YEAR,MONTH,DAY
|
|
FROM CAR_DAY_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE OFFICE
|
|
AND YEAR||MONTH||DAY BETWEEN FROM_DT AND TO_DT
|
|
GROUP BY YEAR,MONTH,DAY);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TIC002Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TIC002Q_COUNT(
|
|
office IN CHAR, -- 요금소
|
|
notice IN CHAR, -- 고지구분
|
|
car IN CHAR, -- 차량번호
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(b.penalty_manage_year, 3, 2)|| ' - ' ||b.penalty_seqno as seq_no, b.notice_id, b.car_no,
|
|
a.car_type_id, b.year || b.month || b.day ||' - '|| b.work_times as work_time,
|
|
a.owner, a.post_no1 ||' - '|| a.post_no2 as post_no,
|
|
a.address_name, b.notice_date, b.lavy_amount,
|
|
b.year || b.month || b.day as nobbu_date, count(*)
|
|
FROM penalty_head_info a,
|
|
penalty_detail_info b
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND B.RECEIPT_YN = '1'
|
|
AND b.fare_office_id LIKE office
|
|
AND b.BEFORE_MOTION_ID LIKE notice
|
|
AND a.car_no LIKE car
|
|
AND b.year || b.month || b.day BETWEEN from_dt AND to_dt
|
|
GROUP BY substr(b.penalty_manage_year, 3, 2)|| ' - ' ||b.penalty_seqno, b.notice_id, b.car_no,
|
|
a.car_type_id, b.year || b.month || b.day ||' - '|| b.work_times,
|
|
a.owner, a.post_no1 ||' - '|| a.post_no2,
|
|
a.address_name, b.notice_date, b.lavy_amount,
|
|
b.year || b.month || b.day);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TIC001Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TIC001Q_COUNT (
|
|
office IN CHAR, -- ???
|
|
notice IN CHAR, -- ????
|
|
car IN CHAR, -- ????
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
tot_row BINARY_INTEGER;
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no, a.notice_id, a.car_no,
|
|
b.car_type_id, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||a.work_times as work_time,
|
|
b.owner, b.post_no1 || ' - ' || b.post_no2 as post_no, b.address_name, a.notice_date,
|
|
a.fine_amount, a.seizure_trmi_yn, count(*)
|
|
FROM penalty_detail_info a,
|
|
penalty_head_info b
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.RECEIPT_YN = '0'
|
|
AND a.fare_office_id like office
|
|
AND a.MOTION_ID like notice
|
|
AND b.car_no like car
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno, a.notice_id, a.car_no,
|
|
b.car_type_id, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||a.work_times,
|
|
b.owner, b.post_no1 || ' - ' || b.post_no2, b.address_name, a.notice_date,
|
|
a.fine_amount, a.seizure_trmi_yn);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFK002Q_CAR_TYPE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFK002Q_CAR_TYPE
|
|
(
|
|
code_id IN CHAR -- 차종코드
|
|
) RETURN varchar2
|
|
IS
|
|
|
|
p_cars_type_abb_name varchar2(60);
|
|
|
|
BEGIN
|
|
|
|
SELECT cars_type_abb_name
|
|
INTO p_cars_type_abb_name
|
|
FROM cars_type_code_info
|
|
WHERE code_id = cars_type_id;
|
|
|
|
p_cars_type_abb_name := p_cars_type_abb_name || '차';
|
|
|
|
RETURN p_cars_type_abb_name;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN '기타';
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFJ006Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFJ006Q_COUNT
|
|
(
|
|
gubun IN CHAR, -- 차량구분
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
IF gubun = '1' THEN -- 승합차
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no, a.car_no,
|
|
b.car_type_id, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||a.work_times as work_time,
|
|
a.fare_office_id, a.booth_id, b.owner, a.receipt_yn, count(*)
|
|
FROM penalty_detail_info a,
|
|
penalty_head_info b
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND (substr(rtrim(a.car_no), 5, 1) IN('5', '6')
|
|
OR substr(rtrim(a.car_no), 5, 2) BETWEEN '70' AND '79')
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno, a.car_no,
|
|
b.car_type_id, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||a.work_times,
|
|
a.fare_office_id, a.booth_id, b.owner, a.receipt_yn);
|
|
|
|
ELSIF gubun = '2' THEN -- SOFA
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT c.car_no, c.car_type_id, a.max_carry_capacity,
|
|
c.year ||'/'|| c.month||'/'|| c.day ||' - '|| substr(c.work_times,1,2)||':'||
|
|
substr(c.work_times,3,2)||':'||substr(c.work_times,5.2) as work_time,
|
|
c.fare_office_id, c.booth_id, a.owner, a.post_no1 || a.post_no2 as post_no,
|
|
a.address_name, count(*), c.army_cars_kbn
|
|
FROM penalty_head_info a,
|
|
penalty_detail_info b,
|
|
fare_terminal_info c
|
|
WHERE a.car_no = b.car_no(+)
|
|
AND a.owner = b.owner(+)
|
|
AND a.resident_no = b.resident_no(+)
|
|
AND a.resident_date = b.resident_date(+)
|
|
AND c.car_no = a.car_no(+)
|
|
AND c.year || c.month || c.day BETWEEN from_dt AND to_dt
|
|
AND c.ARMY_CARS_KBN = '1'
|
|
AND c.DELETE_YN = '0'
|
|
GROUP BY c.car_no, c.car_type_id, a.max_carry_capacity,
|
|
c.year ||'/'|| c.month||'/'|| c.day ||' - '|| substr(c.work_times,1,2)||':'||
|
|
substr(c.work_times,3,2)||':'||substr(c.work_times,5.2),
|
|
c.fare_office_id, c.booth_id, a.owner, a.post_no1 || a.post_no2,
|
|
a.address_name,c.army_cars_kbn);
|
|
|
|
|
|
/*
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no, a.car_no,
|
|
b.car_type_id, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||a.work_times as work_time,
|
|
a.fare_office_id, a.booth_id, b.owner, a.receipt_yn, count(*)
|
|
FROM penalty_detail_info a,
|
|
penalty_head_info b
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND rtrim(a.car_no) LIKE '%-%-%'
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno, a.car_no,
|
|
b.car_type_id, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||a.work_times,
|
|
a.fare_office_id, a.booth_id, b.owner, a.receipt_yn);
|
|
*/
|
|
END IF;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFJ005Q_COUNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFJ005Q_COUNT1
|
|
(
|
|
in_cnt in number
|
|
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from (
|
|
select count(car_no)
|
|
from penalty_detail_info
|
|
group by car_no, owner, resident_no
|
|
having count(car_no) = in_cnt);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFJ005Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFJ005Q_COUNT
|
|
(
|
|
office IN CHAR, -- 요금소
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
tot_row BINARY_INTEGER := 0;
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (
|
|
SELECT a.year,
|
|
a.month,
|
|
a.day,
|
|
a.reader,
|
|
sum(a.sum_count) as sum_count,
|
|
sum(a.sum_notconfirm) as sum_notconfirm,
|
|
sum(a.count_notconfirm) as count_notconfirm,
|
|
sum(a.count_notconfirm1) as count_notconfirm1,
|
|
sum(a.count_result) as count_result, -- 면제
|
|
sum(a.sp_cnt) as sp_cnt, -- 적발건수
|
|
sum(a.count_notice) as count_notice, -- 고지건수
|
|
sum(a.sum_count1) as sum_count1, -- 미고지건수
|
|
sum(a.count_result2) as count_result1, -- 무적
|
|
sum(a.count_result1) as count_result2 -- 이의신청서 건수
|
|
FROM
|
|
(SELECT a.year, -- 나머지 전부
|
|
a.month,
|
|
a.day as day,
|
|
a.reader as reader,
|
|
-- (sum(decode(a.notconfirm_id, '01', 1, 0)) + -- 판독불가(번호판불량)
|
|
-- sum(decode(a.notconfirm_id, '01', 0, 1)) + -- 판독불가(기타)
|
|
-- sum(decode(a.read_result_id, '01', 1, 0)) -- 판독결과(면제)
|
|
-- ) as sum_count, -- 합계
|
|
0 as sum_count, -- 합계
|
|
(sum(decode(a.read_result_id, '05', decode(a.notconfirm_id, '01', 1, 0), 0)) +
|
|
sum(decode(a.read_result_id, '05', decode(a.notconfirm_id, '01', 0, 1), 0))) as sum_notconfirm, -- 소계
|
|
sum(decode(a.read_result_id, '05', decode(a.notconfirm_id, '01', 1, 0), 0)) as count_notconfirm, -- 번호판불량
|
|
sum(decode(a.read_result_id, '05', decode(a.notconfirm_id, '01', 0, 1), 0)) as count_notconfirm1, -- 기타?
|
|
sum(decode(a.read_result_id, '01', 1, 0)) as count_result, -- 면제
|
|
sum(decode(a.read_result_id, '02', decode(a.cars_data_kbn, '3', 1, 0), 0)) +
|
|
sum(decode(a.read_result_id, '04', decode(a.cars_data_kbn, '4', 1, 0), 0)) as sp_cnt, -- 적발건수
|
|
-- sum(decode(a.read_result_id, '02', decode(a.cars_data_kbn, '3', 1, 0), 0)) +
|
|
-- sum(decode(a.read_result_id, '02', decode(a.cars_data_kbn, '4', 1, 0), 0)) as count_notice, -- 고지건수
|
|
-- (sum(decode(a.read_kbn, '1', 1, 0)) -
|
|
-- sum(decode(a.read_result_id, '02', 1, '03', 1, 0))) as sum_count1 , -- 미고지건수
|
|
0 as count_notice, -- 고지건수
|
|
0 as sum_count1 , -- 미고지건수
|
|
sum(decode(a.read_result_id, '01', decode(a.exempt_reason_id, '07', 1, 0), 0)) as count_result2, -- 무적
|
|
0 as count_result1 -- 이의신청서 건수
|
|
FROM DEFAULT_FARE_READ_INFO a
|
|
WHERE a.fare_office_id LIKE office
|
|
AND a.year || a.month || a.day BETWEEN from_dt AND to_dt
|
|
AND A.READ_KBN = '1'
|
|
GROUP BY a.year, a.month, a.day, a.reader
|
|
UNION ALL
|
|
SELECT a.year, -- 적발건수, 고지건수, 미고지건수
|
|
a.month,
|
|
a.day,
|
|
A.reader,
|
|
0,0,0,0,0,
|
|
-- count(*) as sp_cnt, -- 적발건수
|
|
0,
|
|
sum(decode(substr(b.motion_id, 1, 1), '5', 0, 1)) as count_notice, -- 고지건수,
|
|
sum(decode(substr(b.motion_id, 1, 1), '5', 1, 0)) as sum_count1 , -- 미고지건수(민원) ,
|
|
0,0
|
|
FROM DEFAULT_FARE_READ_INFO A,
|
|
PENALTY_DETAIL_INFO B
|
|
WHERE A.FARE_OFFICE_ID = B.FARE_OFFICE_ID
|
|
AND A.BOOTH_ID = B.BOOTH_ID
|
|
AND A.YEAR||A.MONTH||A.DAY||A.WORK_TIMES = B.YEAR||B.MONTH||B.DAY||B.WORK_TIMES
|
|
AND a.fare_office_id LIKE office
|
|
AND a.year || a.month || a.day BETWEEN from_dt AND to_dt
|
|
AND A.READ_KBN = '1'
|
|
GROUP BY a.year, a.month, a.day, A.reader
|
|
UNION ALL
|
|
select T.year, -- 이의신청 건수
|
|
T.month,
|
|
T.day,
|
|
C.reader,
|
|
0,0,0,0,0,0,0,
|
|
sum(decode(T.NOTICE_KBN, '0', 1, 0)) as sum_count1 , -- 미고지건수(부과) ,
|
|
0,
|
|
count(*) as count_result1 -- 이의신청 건수
|
|
from LEVY_TARGET_INFO T,
|
|
DEFAULT_FARE_READ_INFO C
|
|
where T.motion_id IN ('21', '24')
|
|
and T.fare_office_id LIKE office
|
|
and T.year || T.month || T.day BETWEEN from_dt AND to_dt
|
|
and T.worker_id = C.worker_id
|
|
and T.fare_office_id = C.fare_office_id
|
|
and T.booth_id = C.booth_id
|
|
and T.year||T.month||T.day||T.work_times = C.year||C.month||C.day||C.work_times
|
|
AND C.READ_KBN = '1'
|
|
GROUP BY T.year, T.month, T.day, C.reader) a
|
|
GROUP BY a.year, a.month, a.day, a.reader);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFJ003Q_PUPUP_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFJ003Q_PUPUP_COUNT
|
|
(
|
|
gubun IN CHAR, -- 구분
|
|
car IN CHAR, -- 차량번호
|
|
ownerin IN CHAR, -- 소유자
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
-- resident_dt IN CHAR -- ?????
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
-- 개인
|
|
IF gubun = '1' THEN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT a.car_no, a.car_type_id, a.owner,
|
|
b.year || b.month || b.day ||' - '|| b.work_times as work_time, count(*)
|
|
FROM penalty_head_info a,
|
|
penalty_detail_info b
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.resident_date = b.resident_date
|
|
AND a.owner LIKE ownerin
|
|
AND b.year || b.month || b.day BETWEEN from_dt AND to_dt
|
|
AND b.motion_id <> '91'
|
|
-- AND b.resident_date = resident_dt
|
|
GROUP BY a.car_no, a.car_type_id, a.owner,
|
|
b.year || b.month || b.day ||' - '|| b.work_times);
|
|
|
|
-- 차량
|
|
ELSIF gubun = '2' THEN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT a.car_no, a.car_type_id, a.owner,
|
|
b.year || b.month || b.day ||' - '|| b.work_times as work_time, count(*)
|
|
FROM penalty_head_info a,
|
|
penalty_detail_info b
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.resident_date = b.resident_date
|
|
AND a.car_no LIKE car
|
|
AND b.year || b.month || b.day BETWEEN from_dt AND to_dt
|
|
AND b.motion_id <> '91'
|
|
-- AND b.resident_date = resident_dt
|
|
GROUP BY a.car_no, a.car_type_id, a.owner,
|
|
b.year || b.month || b.day ||' - '|| b.work_times);
|
|
|
|
END IF;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFJ003Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFJ003Q_COUNT(
|
|
in_car in char, -- 차량번호
|
|
in_owner in char -- 소유자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(b.penalty_manage_year, 3, 2)|| ' - ' ||b.penalty_seqno as seq_no,
|
|
b.year|| '.' ||b.month|| '.' ||b.day|| ' - ' ||b.work_times as work_time,
|
|
b.fare_office_id, b.booth_id, b.fine_amount, b.notice_id, b.notice_date
|
|
FROM penalty_head_info a, penalty_detail_info b
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.car_no = in_car
|
|
AND a.owner = in_owner
|
|
GROUP BY substr(b.penalty_manage_year, 3, 2)|| ' - ' ||b.penalty_seqno,
|
|
b.year|| '.' ||b.month|| '.' ||b.day|| ' - ' ||b.work_times,
|
|
b.fare_office_id, b.booth_id, b.fine_amount, b.notice_id, b.notice_date);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFJ002Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFJ002Q_COUNT (
|
|
count1 IN CHAR, -- ?? ????
|
|
count2 IN CHAR, -- ?? ????
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
select count(*)
|
|
into tot_row
|
|
from(
|
|
select count(*)
|
|
from penalty_detail_info a,
|
|
penalty_head_info b
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.receipt_yn = '0'
|
|
AND a.notice_id = '01'
|
|
AND a.motion_id in ('31','32','33','34','35','36','37','38','40','41','42','43','44','45','46','47','48','71','72')
|
|
AND a.year || a.month || a.day between RTRIM(from_dt) and RTRIM(to_dt)
|
|
GROUP BY a.car_no
|
|
HAVING count(a.car_no) between count1 and count2);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFJ002Q_CAR_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFJ002Q_CAR_COUNT (
|
|
count1 IN CHAR,
|
|
count2 IN CHAR,
|
|
v_from_dt IN CHAR,
|
|
v_to_dt IN CHAR,
|
|
v_car_name IN VARCHAR2
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
tot_row BINARY_INTEGER := 0;
|
|
BEGIN
|
|
SELECT NVL(count(*), 0)
|
|
INTO tot_row
|
|
from penalty_detail_info a,
|
|
penalty_head_info b
|
|
where a.car_no = RTRIM(v_car_name)
|
|
and a.receipt_yn = '0'
|
|
and a.motion_id IN ('31','32','33','34','35','36','37','38','40','41','42','43','44','45','46','47','48','71','72')
|
|
and a.year || a.month || a.day between v_from_dt and v_to_dt
|
|
and a.notice_id = '01'
|
|
and a.car_no = b.car_no
|
|
and a.owner = b.owner
|
|
and a.resident_no = b.resident_no
|
|
and a.resident_date = b.resident_date
|
|
group by a.car_no;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFJ001Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFJ001Q_COUNT (
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT a.car_no, substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no,
|
|
f.cars_type_full_name, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||a.work_times as work_time,
|
|
c.fare_office_full_name, d.booth_full_name, a.lavy_amount, b.owner, b.address_name, e.motion_full_name,
|
|
a.seizure_date, count(*)
|
|
FROM penalty_detail_info a,
|
|
penalty_head_info b,
|
|
fare_office_code_info c,
|
|
booth_code_info d,
|
|
motion_code_info e,
|
|
cars_type_code_info f
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.fare_office_id = c.fare_office_id
|
|
AND a.booth_id = d.booth_id
|
|
AND a.motion_id = e.motion_id
|
|
AND a.motion_id in ('31','32','33','34','35','36','37','38','40','41','42','43','44','45','46','47','48','51','52','71','72','81','82','83','84','91')
|
|
AND b.car_type_id = f.cars_type_id
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
GROUP BY a.car_no, substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno,
|
|
f.cars_type_full_name, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||a.work_times,
|
|
c.fare_office_full_name, d.booth_full_name, a.lavy_amount, b.owner, b.address_name, e.motion_full_name,
|
|
a.seizure_date);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI012Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI012Q_COUNT(
|
|
from_dt IN CHAR -- ???
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, count(*)
|
|
FROM overfare_info
|
|
WHERE year <= from_dt
|
|
GROUP BY year);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI011E_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI011E_COUNT(
|
|
from_dt IN CHAR, -- ???
|
|
to_dt IN CHAR --12.4 추가
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, count(*)
|
|
FROM overfare_info
|
|
WHERE year || month between from_dt and to_dt
|
|
GROUP BY year, month);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI010U_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI010U_COUNT(
|
|
office IN CHAR, -- ???
|
|
from_dt IN CHAR, -- ???
|
|
to_dt IN CHAR
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, day, car_no, count(*)
|
|
FROM overfare_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between from_dt and to_dt
|
|
GROUP BY year, month, day, car_no);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI010U_CHK;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI010U_CHK(
|
|
in_owner IN CHAR,
|
|
in_car IN CHAR,
|
|
in_jumin IN CHAR,
|
|
in_reg_date IN CHAR
|
|
) RETURN number
|
|
IS
|
|
|
|
tot_row number;
|
|
ld_reg_date date;
|
|
|
|
BEGIN
|
|
ld_reg_date := to_date(in_reg_date,'yyyy-mm-dd');
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from overfare_order_info
|
|
where owner = in_owner
|
|
and car_no = in_car
|
|
and resident_no = in_jumin
|
|
and resident_date = ld_reg_date;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI010U_CARNO_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI010U_CARNO_CNT(
|
|
in_car IN CHAR
|
|
) RETURN number
|
|
IS
|
|
|
|
tot_row number;
|
|
|
|
BEGIN
|
|
select count(*)
|
|
into tot_row
|
|
from overfare_info
|
|
where car_no = in_car;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI009Q_COUNT2;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI009Q_COUNT2(
|
|
from_dt IN CHAR, -- ???
|
|
to_dt IN CHAR
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT yymm, return_count
|
|
FROM double_receipt_return_info
|
|
WHERE yymm between from_dt and to_dt);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI009Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI009Q_COUNT(
|
|
gubun IN CHAR, -- ??
|
|
from_dt IN CHAR, -- ???
|
|
to_dt IN CHAR
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
-- ??
|
|
if gubun = '1' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, count(*)
|
|
FROM penalty_detail_info
|
|
WHERE year || month between from_dt and to_dt
|
|
AND double_receipt_yn = '1'
|
|
GROUP BY year, month);
|
|
|
|
-- ??
|
|
else
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, count(*)
|
|
FROM penalty_detail_info
|
|
WHERE year between from_dt and to_dt
|
|
AND double_receipt_yn = '1'
|
|
GROUP BY year);
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI008Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI008Q_COUNT(
|
|
gubun IN CHAR, -- ??
|
|
from_dt IN CHAR, -- ???
|
|
to_dt IN CHAR
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
-- ?????
|
|
if gubun = '1' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT a.penalty_manage_year, a.penalty_seqno
|
|
FROM receipt_info a, penalty_detail_info b
|
|
--11.29 수정
|
|
WHERE a.penalty_manage_year = b.penalty_manage_year --추가
|
|
AND a.penalty_seqno = b.penalty_seqno --추가
|
|
AND b.year || b.month || b.day between from_dt and to_dt
|
|
AND double_receipt_yn = '1'
|
|
GROUP BY a.penalty_manage_year, a.penalty_seqno);
|
|
|
|
-- ?????
|
|
else
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT a.penalty_manage_year, a.penalty_seqno
|
|
FROM receipt_info a, penalty_detail_info b
|
|
WHERE a.penalty_manage_year = b.penalty_manage_year
|
|
AND a.penalty_seqno = b.penalty_seqno
|
|
AND to_char( a.receipt_date, 'yyyymmdd' ) between from_dt and to_dt
|
|
AND b.double_receipt_yn = '1');
|
|
--GROUP BY a.penalty_manage_year, a.penalty_seqno);
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI007Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI007Q_COUNT(
|
|
from_dt IN CHAR -- 년월
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
tot_row BINARY_INTEGER := 0;
|
|
BEGIN
|
|
SELECT COUNT(*)
|
|
INTO tot_row
|
|
FROM (
|
|
SELECT A.YEAR, A.MONTH, A.DAY, SUM(A.v_levy_amount), SUM(A.v_receipt_amount), SUM(A.v_overfare)
|
|
FROM (
|
|
SELECT D.YEAR, D.MONTH, D.DAY,
|
|
0 as v_levy_amount, -- 통행료
|
|
SUM(R.RECEIPT_AMOUNT) as v_receipt_amount, -- 과태료
|
|
0 as v_overfare -- 과오납
|
|
FROM PENALTY_DETAIL_INFO D,
|
|
RECEIPT_INFO R
|
|
WHERE D.PENALTY_MANAGE_YEAR = R.PENALTY_MANAGE_YEAR
|
|
AND D.PENALTY_SEQNO = R.PENALTY_SEQNO
|
|
AND D.YEAR || D.MONTH = from_dt
|
|
GROUP BY D.YEAR, D.MONTH, D.DAY
|
|
UNION ALL
|
|
SELECT T.YEAR, T.MONTH, T.DAY,
|
|
SUM(T.LEVY_AMOUNT) as v_levy_amount, -- 통행료
|
|
0 as v_receipt_amount,-- 과태료
|
|
0 as v_overfare -- 과오납
|
|
FROM FARE_TERMINAL_INFO T
|
|
WHERE T.YEAR || T.MONTH = from_dt
|
|
AND T.COLLECT_ID IN ('10', '21', '22', '52')
|
|
GROUP BY T.YEAR, T.MONTH, T.DAY
|
|
UNION ALL
|
|
SELECT O.YEAR, O.MONTH, O.DAY,
|
|
0 as v_levy_amount, -- 통행료
|
|
0 as v_receipt_amount,-- 과태료
|
|
SUM(O.OVERFARE_AMOUNT) as v_overfare -- 과오납
|
|
FROM OVERFARE_INFO O
|
|
WHERE YEAR || MONTH = from_dt
|
|
AND OVERFARE_KBN = '1' -- 과오납 구분 (1:입금, 2: 출금)
|
|
AND REFUND_KBN = '0' -- 관급 구분 (0:환급무, 1:환급, 2:시세임)
|
|
AND PROCESS_KBN = '0' -- 집계처리 구분 (0:미처리, 1:과오납처리, 2:시세입처리)
|
|
GROUP BY O.YEAR, O.MONTH, O.DAY
|
|
) A
|
|
GROUP BY A.YEAR, A.MONTH, A.DAY);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI006Q_SUM;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI006Q_SUM(
|
|
from_dt IN CHAR -- ?? ???
|
|
) RETURN NUMBER
|
|
IS
|
|
|
|
tot_sum NUMBER;
|
|
|
|
BEGIN
|
|
select nvl(sum(nvl(receipt_amount,0)),0)
|
|
into tot_sum
|
|
from receipt_info
|
|
where to_char(receipt_date,'yyyymm') = from_dt;
|
|
|
|
RETURN tot_sum;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI006Q_COUNT2;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI006Q_COUNT2(
|
|
from_dt IN CHAR, -- ?? ???
|
|
chk_ym IN CHAR
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT a.penalty_seqno aa
|
|
FROM penalty_detail_info a, receipt_info b
|
|
WHERE a.penalty_manage_year = b.penalty_manage_year
|
|
AND a.penalty_seqno = b.penalty_seqno
|
|
AND a.year = chk_ym
|
|
AND to_char(b.receipt_date,'yyyymmdd') = from_dt);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI006Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI006Q_COUNT(
|
|
from_dt IN CHAR -- ?? ???
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT receipt_date
|
|
FROM receipt_info
|
|
WHERE to_char(receipt_date,'yyyymm') = from_dt
|
|
GROUP BY receipt_date);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI005Q_SUM;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI005Q_SUM
|
|
(
|
|
from_dt IN CHAR -- ?? ???
|
|
-- to_dt IN CHAR -- ?? ??? 12.3 추가
|
|
) RETURN NUMBER
|
|
IS
|
|
tot_sum NUMBER :=0;
|
|
BEGIN
|
|
select nvl(sum(nvl(receipt_amount,0)),0)
|
|
into tot_sum
|
|
from receipt_info
|
|
where to_char(receipt_date,'yyyymm') = from_dt;
|
|
|
|
RETURN tot_sum;
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI005Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI005Q_COUNT(
|
|
from_dt IN CHAR -- ?? ???
|
|
-- to_dt IN CHAR -- ?? ??; 12.3 추가
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT receipt_date
|
|
FROM receipt_info
|
|
WHERE to_char(receipt_date,'yyyymm') = from_dt
|
|
GROUP BY receipt_date);
|
|
RETURN tot_row;
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI004Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI004Q_COUNT
|
|
(
|
|
from_dt IN CHAR -- 시작일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT receipt_date
|
|
FROM receipt_info
|
|
WHERE to_char(receipt_date,'yyyymm') = from_dt
|
|
group by receipt_date);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI003Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI003Q_COUNT(
|
|
gubun IN CHAR, -- ????
|
|
office IN CHAR, -- ???
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
)RETURN BINARY_INTEGER
|
|
IS
|
|
tot_row BINARY_INTEGER;
|
|
BEGIN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM default_fare_read_info
|
|
WHERE fare_office_id like office
|
|
AND year || month || day between from_dt and to_dt
|
|
AND exempt_reason_id = gubun;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI002Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI002Q_COUNT(
|
|
office IN CHAR, -- ???
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
tot_row BINARY_INTEGER := 0;
|
|
v_cnt1 BINARY_INTEGER := 0;
|
|
v_cnt2 BINARY_INTEGER := 0;
|
|
BEGIN
|
|
SELECT NVL(count(*), 0)
|
|
INTO v_cnt1
|
|
FROM default_fare_read_info a,
|
|
fare_office_code_info c,
|
|
booth_code_info d,
|
|
exempt_reason_code_info e
|
|
WHERE a.fare_office_id = c.fare_office_id
|
|
AND a.fare_office_id = d.fare_office_id
|
|
AND a.booth_id = d.booth_id
|
|
AND a.exempt_reason_id = e.exempt_reason_id
|
|
AND a.fare_office_id like office
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
AND A.READ_RESULT_ID = '01'
|
|
AND a.cars_data_kbn = '0';
|
|
|
|
SELECT NVL(count(*), 0)
|
|
INTO v_cnt2
|
|
FROM default_fare_read_info a,
|
|
levy_target_info b,
|
|
fare_office_code_info c,
|
|
booth_code_info d,
|
|
exempt_reason_code_info e
|
|
WHERE a.worker_id = b.worker_id
|
|
AND a.fare_office_id = b.fare_office_id
|
|
AND a.fare_office_id = c.fare_office_id
|
|
AND a.fare_office_id = d.fare_office_id
|
|
AND a.booth_id = b.booth_id
|
|
AND a.booth_id = d.booth_id
|
|
AND a.year = b.year
|
|
AND a.month = b.month
|
|
AND a.day = b.day
|
|
AND a.car_no = b.car_no
|
|
AND a.work_times = b.work_times
|
|
AND a.exempt_reason_id = e.exempt_reason_id
|
|
AND a.fare_office_id like office
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
AND a.cars_data_kbn = '4'
|
|
AND b.penalty_process_yn = '0';
|
|
|
|
tot_row := v_cnt1 + v_cnt2;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI001Q_MONTH_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI001Q_MONTH_CNT
|
|
(
|
|
in_year in char,
|
|
office IN CHAR, -- 요금소
|
|
go_gubun IN CHAR -- 고지구분
|
|
)
|
|
RETURN BINARY_INTEGER
|
|
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
if go_gubun = '%' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT month
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id in ('31','32','33','34','35','36','37','38','41','42','43','44','45','46','47','48','71','72')
|
|
AND year = in_year
|
|
GROUP BY month
|
|
ORDER BY month);
|
|
|
|
elsif go_gubun = '1' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT month
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id in ('31','32','33','34','35','36','37','38')
|
|
AND year = in_year
|
|
GROUP BY month
|
|
ORDER BY month);
|
|
|
|
elsif go_gubun = '2' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT month
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id in ('41','42','43','44','45','46','47','48')
|
|
AND year = in_year
|
|
GROUP BY month
|
|
ORDER BY month);
|
|
|
|
elsif go_gubun = '3' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT month
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id like '7%'
|
|
AND year = in_year
|
|
GROUP BY month
|
|
ORDER BY month);
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI001Q_COUNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI001Q_COUNT1
|
|
(
|
|
office IN CHAR, -- 요금소
|
|
go_gubun IN CHAR, -- 고지구분
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
)
|
|
RETURN BINARY_INTEGER
|
|
|
|
IS
|
|
tot_row BINARY_INTEGER;
|
|
BEGIN
|
|
|
|
if go_gubun = '%' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id in ('31','33','35','41','43','45')
|
|
-- AND motion_id in ('31','32','33','34','35','36','37','38','41','42','43','44','45','46','47','48','71','72')
|
|
AND year || month between from_dt and to_dt
|
|
GROUP BY year
|
|
ORDER BY year);
|
|
|
|
elsif go_gubun = '1' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id in ('31','33','35')
|
|
-- AND motion_id in ('31','32','33','34','35','36','37','38')
|
|
AND year || month between from_dt and to_dt
|
|
GROUP BY year
|
|
ORDER BY year);
|
|
|
|
elsif go_gubun = '2' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id in ('41','43','45')
|
|
--AND motion_id in ('41','42','43','44','45','46','47','48')
|
|
AND year || month between from_dt and to_dt
|
|
GROUP BY year
|
|
ORDER BY year);
|
|
|
|
elsif go_gubun = '3' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id like '7%'
|
|
AND year || month between from_dt and to_dt
|
|
GROUP BY year
|
|
ORDER BY year);
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFI001Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFI001Q_COUNT(
|
|
office IN CHAR, -- ???
|
|
ym_gubun IN CHAR, -- ?? ??
|
|
go_gubun IN CHAR, -- ????
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
-- ??
|
|
if ym_gubun = '1' then
|
|
-- ???? ??
|
|
if go_gubun = '%' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, count(*)
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id in ('31','33','35','41','43','45')
|
|
-- AND motion_id in ('31','32','33','34','35','36','37','38','41','42','43','44','45','46','47','48','71','72')
|
|
AND year || month between from_dt and to_dt
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
-- ???? 1?
|
|
elsif go_gubun = '1' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, count(*)
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id in ('31','33','35')
|
|
-- AND motion_id in ('31','32','33','34','35','36','37','38')
|
|
AND year || month between from_dt and to_dt
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
-- ???? 2?
|
|
elsif go_gubun = '2' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, count(*)
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id in ('41','43','45')
|
|
-- AND motion_id in ('41','42','43','44','45','46','47','48')
|
|
AND year || month between from_dt and to_dt
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
-- ???? ??
|
|
elsif go_gubun = '3' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, count(*)
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id like '7%'
|
|
AND year || month between from_dt and to_dt
|
|
GROUP BY year, month
|
|
ORDER BY year, month);
|
|
end if;
|
|
|
|
-- ??
|
|
elsif ym_gubun = '2' then
|
|
-- ???? ??
|
|
if go_gubun = '%' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, count(*)
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id in ('31','33','35','41','43','45')
|
|
-- AND motion_id in ('31','32','33','34','35','36','37','38','41','42','43','44','45','46','47','48','71','72')
|
|
AND year between from_dt and to_dt
|
|
GROUP BY year
|
|
ORDER BY year);
|
|
-- ???? 1?
|
|
elsif go_gubun = '1' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, count(*)
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id in ('31','33','35')
|
|
--AND motion_id in ('31','32','33','34','35','36','37','38')
|
|
AND year between from_dt and to_dt
|
|
GROUP BY year
|
|
ORDER BY year);
|
|
-- ???? 2?
|
|
elsif go_gubun = '2' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, count(*)
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id in ('41','43','45')
|
|
--AND motion_id in ('41','42','43','44','45','46','47','48')
|
|
AND year between from_dt and to_dt
|
|
GROUP BY year
|
|
ORDER BY year);
|
|
-- ???? ??
|
|
elsif go_gubun = '3' then
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, count(*)
|
|
FROM penalty_history_info
|
|
WHERE fare_office_id like office
|
|
AND motion_id like '7%'
|
|
AND year between from_dt and to_dt
|
|
GROUP BY year
|
|
ORDER BY year);
|
|
end if;
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFG004Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFG004Q_COUNT(
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO tot_row
|
|
FROM (
|
|
SELECT count(S.SEIZURE_MANAGE_NO)
|
|
FROM penalty_detail_info D,
|
|
seizure_info S
|
|
WHERE D.YEAR || D.MONTH || D.DAY BETWEEN from_dt AND to_dt
|
|
AND D.SEIZURE_MANAGE_NO = S.SEIZURE_MANAGE_NO
|
|
AND D.SEIZURE_MANAGE_YEAR = S.SEIZURE_MANAGE_YEAR
|
|
GROUP BY S.SEIZURE_MANAGE_NO);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFE002E_TERM;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFE002E_TERM
|
|
----------------------------------------------------------------
|
|
-- 납부기한을 검색한다.
|
|
-- 참고 : 여러곳에서 쓰임,
|
|
-- 작성자 : 박치영 작성일 : 2002/09/20 수정일 : 2002/10/19
|
|
-----------------------------------------------------------------
|
|
(
|
|
manage_year IN CHAR, -- 과태료 관리년도
|
|
manage_no IN number, -- 과태료 일련번호
|
|
motion IN char -- 현 진행코드
|
|
) RETURN varchar2
|
|
IS
|
|
|
|
p_pay_term varchar2(10) := '';
|
|
p_date date;
|
|
|
|
BEGIN
|
|
|
|
SELECT delivery_date
|
|
INTO p_date
|
|
FROM send_info
|
|
WHERE penalty_manage_year = manage_year
|
|
AND penalty_seqno = manage_no
|
|
AND motion_id = motion;
|
|
|
|
p_pay_term := to_char(p_date, 'yyyy/mm/dd');
|
|
|
|
RETURN p_pay_term;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN ''; -- 데이타가 존재하지 않거나 없으면
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFD002E_IDENTIFY_SAYOU;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFD002E_IDENTIFY_SAYOU
|
|
----------------------------------------------------------------
|
|
-- 식별곤란사유를 검색한다.
|
|
-- 참고 : 여러곳에서 쓰임,
|
|
-- 작성자 : 박치영 작성일 : 2002/09/24 수정일 : 2002/10/24
|
|
-----------------------------------------------------------------
|
|
(
|
|
in_worker_id IN CHAR, -- 근무자
|
|
in_tunnel IN char, -- 요금소
|
|
in_booth IN char, -- 차로
|
|
in_year IN char, -- 년
|
|
in_month IN char, -- 월
|
|
in_day IN char, -- 일
|
|
in_work_times IN char -- 근무시간
|
|
) RETURN varchar2
|
|
IS
|
|
|
|
p_sayou varchar2(60);
|
|
|
|
BEGIN
|
|
|
|
SELECT nn.lavy_notice_full_name
|
|
INTO p_sayou
|
|
FROM default_fare_read_info dd, lavy_notice_code_info nn
|
|
WHERE dd.worker_id = in_worker_id
|
|
AND dd.fare_office_id = in_tunnel
|
|
AND dd.booth_id = in_booth
|
|
AND dd.year = in_year
|
|
AND dd.month = in_month
|
|
AND dd.day = in_day
|
|
AND dd.work_times = in_work_times
|
|
AND dd.LAVY_NOTICE_ID = nn.LAVY_NOTICE_ID;
|
|
|
|
|
|
RETURN trim(p_sayou);
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN '기타'; -- 데이타가 존재하지 않거나 없으면
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFD001U_MAX_SEQNO;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFD001U_MAX_SEQNO
|
|
/*************************************************************
|
|
** 과태료 납부 대상자 File 생성
|
|
** 리턴값 : <과태료 관리 번호 리턴>
|
|
** 적용범위 : penalty detail info create
|
|
** 작성자 : 박치영 작성일 : 2002/11/03 수정일 : 2002/11/03
|
|
**************************************************************/
|
|
(
|
|
in_year IN char -- 관리년도
|
|
) RETURN number
|
|
IS
|
|
|
|
p_penalty_seqno number;
|
|
|
|
BEGIN
|
|
|
|
SELECT nvl(max(penalty_seqno), 0)
|
|
INTO p_penalty_seqno
|
|
FROM PENALTY_DETAIL_INFO
|
|
WHERE penalty_manage_year = in_year;
|
|
|
|
p_penalty_seqno := p_penalty_seqno + 1;
|
|
|
|
RETURN p_penalty_seqno;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFD001U_CREATE_SEQNO;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFD001U_CREATE_SEQNO
|
|
----------------------------------------------------------------
|
|
-- ??? ????? ????.
|
|
-- ?? : ????? ??,
|
|
-- ??? : ??? ??? : 2002/09/23 ??? : 2002/10/23
|
|
-----------------------------------------------------------------
|
|
(
|
|
manage_year char
|
|
) RETURN number
|
|
IS
|
|
|
|
p_seqno number;
|
|
|
|
BEGIN
|
|
|
|
SELECT nvl(max(penalty_seqno), 0)
|
|
INTO p_seqno
|
|
FROM penalty_detail_info
|
|
WHERE penalty_manage_year = manage_year;
|
|
|
|
p_seqno := p_seqno + 1;
|
|
|
|
RETURN p_seqno;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0; -- ???? ???? ??? ???
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFD001U_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFD001U_CNT
|
|
/*************************************************************
|
|
** 과태료 납부 대상자 File 생성
|
|
** 리턴값 : < 부과예고 대상자 건수 리턴 >
|
|
** 적용범위 : penalty detail info create
|
|
** 작성자 : 박치영 작성일 : 2002/11/03 수정일 : 2002/11/03
|
|
**************************************************************/
|
|
(
|
|
in_kbn IN char,
|
|
in_from IN char, -- 시작일자
|
|
in_to IN char -- 종료일자
|
|
) RETURN number
|
|
IS
|
|
p_cnt number :=0;
|
|
p_c1 number :=0;
|
|
p_c2 number :=0;
|
|
BEGIN
|
|
-- 납부 마감일 넘기거나, 고지로 판명된 대상.
|
|
if in_kbn = '1' then
|
|
SELECT count(*)
|
|
INTO p_c1
|
|
FROM LEVY_TARGET_INFO
|
|
WHERE year || month || day between in_from and in_to
|
|
AND motion_id = '21' -- 진행코드(부과예고발송)
|
|
AND notice_kbn = '1' -- 고지여부(고지)
|
|
AND penalty_process_yn = '0' -- 과태료 처리여부(미처리) -- 이의신청마감일자 초과여부
|
|
AND except_date < sysdate;
|
|
|
|
SELECT count(*)
|
|
INTO p_c2
|
|
FROM LEVY_TARGET_INFO A,
|
|
EXCEPT_ACCEPT_INFO B
|
|
WHERE A.year || A.month || A.day between in_from and in_to
|
|
AND A.motion_id = '24' -- 진행코드(부과예고 이의신청 처리)
|
|
AND B.Measure_Result_ID IN ('02','03') -- 조치결과(02:임차인고지, 03:부과고지)
|
|
AND A.notice_kbn = '1' -- 고지여부(고지)
|
|
AND A.penalty_process_yn = '0' -- 과태료 처리여부(미처리) -- 이의신청마감일자 초과여부
|
|
AND A.LEVY_MANAGE_YEAR = B.LEVY_MANAGE_YEAR
|
|
AND A.LEVY_SEQNO = B.LEVY_SEQNO;
|
|
|
|
p_cnt := p_c1 + p_c2;
|
|
-- 부과예고문을 발송 했고 아직 마감일이 남아있는 대상
|
|
elsif in_kbn = '2' then
|
|
SELECT count(*)
|
|
INTO p_cnt
|
|
FROM LEVY_TARGET_INFO
|
|
WHERE year || month || day between in_from and in_to
|
|
AND motion_id = '21' -- 진행코드(부과예고발송)
|
|
AND notice_kbn = '1' -- 고지여부(고지)
|
|
AND penalty_process_yn = '0' -- 과태료 처리여부(미처리) -- 이의신청마감일자가 아직 유 있는경우
|
|
AND except_date > sysdate;
|
|
|
|
end if;
|
|
|
|
RETURN p_cnt;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFD001U_AMOUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFD001U_AMOUNT
|
|
/*************************************************************
|
|
** 과태료 납부 대상자 File 생성
|
|
** 리턴값 : < 요금정보 리턴 >
|
|
** 적용범위 : penalty detail info create
|
|
** 작성자 : 박치영 작성일 : 2002/11/03 수정일 : 2002/11/03
|
|
**************************************************************/
|
|
(
|
|
in_year IN char, -- 년
|
|
in_month IN char, -- 월
|
|
in_day IN char, -- 일
|
|
in_kbn IN number -- 징수 금액 구분(1/2/3)
|
|
) RETURN number
|
|
IS
|
|
|
|
p_money number;
|
|
p_trans number;
|
|
p_fine number;
|
|
|
|
BEGIN
|
|
|
|
if in_kbn = 1 then -- 통행료
|
|
SELECT trans_amount
|
|
INTO p_money
|
|
FROM fare_info
|
|
WHERE stt_date < to_date((in_year || in_month || in_day), 'yyyy-mm-dd')
|
|
AND end_date > to_date((in_year || in_month || in_day), 'yyyy-mm-dd')
|
|
AND collect_id = '10';
|
|
|
|
elsif in_kbn = 2 then -- 과태료
|
|
SELECT fine_amount
|
|
INTO p_money
|
|
FROM fare_info
|
|
WHERE stt_date < to_date((in_year || in_month || in_day), 'yyyy-mm-dd')
|
|
AND end_date > to_date((in_year || in_month || in_day), 'yyyy-mm-dd')
|
|
AND collect_id = '10';
|
|
|
|
elsif in_kbn = 3 then -- 징수금액
|
|
SELECT trans_amount, fine_amount
|
|
INTO p_trans, p_fine
|
|
FROM fare_info
|
|
WHERE stt_date < to_date((in_year || in_month || in_day), 'yyyy-mm-dd')
|
|
AND end_date > to_date((in_year || in_month || in_day), 'yyyy-mm-dd')
|
|
AND collect_id = '10';
|
|
|
|
p_money := p_trans + p_fine;
|
|
|
|
end if;
|
|
|
|
RETURN p_money;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFC005Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFC005Q_COUNT
|
|
(
|
|
motion IN CHAR, -- 진행상태
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
tot_row BINARY_INTEGER;
|
|
BEGIN
|
|
|
|
--11.20 수정
|
|
if motion = '1' then -- 전체
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no, a.car_no,
|
|
b.car_type_id, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| '.' ||substr(a.work_times,3,2)|| '.' ||substr(a.work_times,5,2) as work_time,
|
|
e.fare_office_full_name, f.booth_full_name, b.owner, b.address_name,
|
|
c.return_reason_id, c.retuen_date, d.motion_full_name, count(*)
|
|
FROM penalty_HISTORY_info a,
|
|
penalty_head_info b,
|
|
return_info c,
|
|
motion_code_info d,
|
|
fare_office_code_info e,
|
|
booth_code_info f
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.resident_date = b.resident_date
|
|
--11.20 삭제 AND b.resident_date = c.send_date
|
|
AND a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.motion_id = c.motion_id
|
|
AND a.motion_id = d.motion_id
|
|
AND a.fare_office_id = e.fare_office_id
|
|
AND a.fare_office_id = f.fare_office_id
|
|
AND a.booth_id = f.booth_id
|
|
AND c.motion_id in ('22','32','34','36','38','42','44','46','48')
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno, a.car_no,
|
|
b.car_type_id, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| '.' ||substr(a.work_times,3,2)|| '.' ||substr(a.work_times,5,2),
|
|
e.fare_office_full_name, f.booth_full_name, b.owner, b.address_name,
|
|
c.return_reason_id, c.retuen_date, d.motion_full_name);
|
|
|
|
elsif motion = '2' then --부과예고반송?
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no, a.car_no,
|
|
b.car_type_id, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| '.' ||substr(a.work_times,3,2)|| '.' ||substr(a.work_times,5,2) as work_time,
|
|
e.fare_office_full_name, f.booth_full_name, b.owner, b.address_name,
|
|
c.return_reason_id, c.retuen_date, d.motion_full_name, count(*)
|
|
FROM penalty_HISTORY_info a,
|
|
penalty_head_info b,
|
|
return_info c,
|
|
motion_code_info d,
|
|
fare_office_code_info e,
|
|
booth_code_info f
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.resident_date = b.resident_date
|
|
AND a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.motion_id = c.motion_id
|
|
AND a.motion_id = d.motion_id
|
|
AND a.fare_office_id = e.fare_office_id
|
|
AND a.fare_office_id = f.fare_office_id
|
|
AND a.booth_id = f.booth_id
|
|
AND c.motion_id in ('22')
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno, a.car_no,
|
|
b.car_type_id, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| '.' ||substr(a.work_times,3,2)|| '.' ||substr(a.work_times,5,2),
|
|
e.fare_office_full_name, f.booth_full_name, b.owner, b.address_name,
|
|
c.return_reason_id, c.retuen_date, d.motion_full_name);
|
|
|
|
elsif motion = '3' then --1차고지반송
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no, a.car_no,
|
|
b.car_type_id, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| '.' ||substr(a.work_times,3,2)|| '.' ||substr(a.work_times,5,2) as work_time,
|
|
e.fare_office_full_name, f.booth_full_name, b.owner, b.address_name,
|
|
c.return_reason_id, c.retuen_date, d.motion_full_name, count(*)
|
|
FROM penalty_HISTORY_info a,
|
|
penalty_head_info b,
|
|
return_info c,
|
|
motion_code_info d,
|
|
fare_office_code_info e,
|
|
booth_code_info f
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.resident_date = b.resident_date
|
|
AND a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.motion_id = c.motion_id
|
|
AND a.motion_id = d.motion_id
|
|
AND a.fare_office_id = e.fare_office_id
|
|
AND a.fare_office_id = f.fare_office_id
|
|
AND a.booth_id = f.booth_id
|
|
AND c.motion_id in ('32','34','36','38')
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno, a.car_no,
|
|
b.car_type_id, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| '.' ||substr(a.work_times,3,2)|| '.' ||substr(a.work_times,5,2),
|
|
e.fare_office_full_name, f.booth_full_name, b.owner, b.address_name,
|
|
c.return_reason_id, c.retuen_date, d.motion_full_name);
|
|
|
|
elsif motion = '4' then --2차고지발송
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no, a.car_no,
|
|
b.car_type_id, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| '.' ||substr(a.work_times,3,2)|| '.' ||substr(a.work_times,5,2) as work_time,
|
|
e.fare_office_full_name, f.booth_full_name, b.owner, b.address_name,
|
|
c.return_reason_id, c.retuen_date, d.motion_full_name, count(*)
|
|
FROM penalty_HISTORY_info a,
|
|
penalty_head_info b,
|
|
return_info c,
|
|
motion_code_info d,
|
|
fare_office_code_info e,
|
|
booth_code_info f
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.resident_date = b.resident_date
|
|
AND a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.motion_id = c.motion_id
|
|
AND a.motion_id = d.motion_id
|
|
AND a.fare_office_id = e.fare_office_id
|
|
AND a.fare_office_id = f.fare_office_id
|
|
AND a.booth_id = f.booth_id
|
|
AND c.motion_id in ('42','44','46','48')
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno, a.car_no,
|
|
b.car_type_id, a.year|| '.' ||a.month|| '.' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| '.' ||substr(a.work_times,3,2)|| '.' ||substr(a.work_times,5,2),
|
|
e.fare_office_full_name, f.booth_full_name, b.owner, b.address_name,
|
|
c.return_reason_id, c.retuen_date, d.motion_full_name);
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFC004Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFC004Q_COUNT (
|
|
post_no IN CHAR, -- ????
|
|
notice IN CHAR, -- ????
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
tot_row BINARY_INTEGER := 0;
|
|
BEGIN
|
|
|
|
--11. 20 수정
|
|
if post_no = '1' then -- 총괄
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT distinct(a.motion_id), a.fare_office_id, b.owner, b.post_no1 || b.post_no2 as post_no, b.address_name,
|
|
substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no, count(*)
|
|
FROM penalty_history_info a,
|
|
penalty_head_info b,
|
|
send_info c
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.resident_date = b.resident_date
|
|
AND a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.motion_id = c.motion_id
|
|
--AND substr(a.notice_id, 1, 1) like notice
|
|
AND a.motion_id in ('41','43','45','47')
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
GROUP BY a.motion_id, a.fare_office_id, b.owner, b.post_no1 || b.post_no2, b.address_name,
|
|
substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno);
|
|
|
|
elsif post_no = '2' then -- 서울
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT distinct(a.motion_id), a.fare_office_id, b.owner, b.post_no1 || b.post_no2 as post_no, b.address_name,
|
|
substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no, count(*)
|
|
FROM penalty_history_info a,
|
|
penalty_head_info b,
|
|
send_info c
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.resident_date = b.resident_date
|
|
AND a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.motion_id = c.motion_id
|
|
AND substr(b.post_no1, 1, 1) like '1%'
|
|
--AND substr(a.notice_id, 1, 1) like notice
|
|
AND a.motion_id in ('41','43','45','47')
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
GROUP BY a.motion_id, a.fare_office_id, b.owner, b.post_no1 || b.post_no2, b.address_name,
|
|
substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno);
|
|
|
|
elsif post_no = '3' then -- 지방?
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT distinct(a.motion_id), a.fare_office_id, b.owner, b.post_no1 || b.post_no2 as post_no, b.address_name,
|
|
substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no, count(*)
|
|
FROM penalty_history_info a,
|
|
penalty_head_info b,
|
|
send_info c
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.resident_date = b.resident_date
|
|
AND a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.motion_id = c.motion_id
|
|
AND substr(b.post_no1, 1, 1) not like '1%'
|
|
--AND substr(a.notice_id, 1, 1) like notice
|
|
AND a.motion_id in ('41','43','45','47')
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
GROUP BY a.motion_id, a.fare_office_id, b.owner, b.post_no1 || b.post_no2, b.address_name,
|
|
substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno);
|
|
end if;
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFC003Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.Fun_Tfc003q_Count (
|
|
office IN CHAR, -- ??? ??
|
|
motion IN CHAR, -- ????
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
tot_row BINARY_INTEGER := 0;
|
|
BEGIN
|
|
|
|
if motion = '1' then
|
|
SELECT COUNT(*)
|
|
INTO tot_row
|
|
FROM (
|
|
SELECT SUBSTR(A.PENALTY_MANAGE_YEAR,3,2)||'-'||A.PENALTY_SEQNO AS AA,
|
|
C.CAR_NO,A.YEAR||'/'||A.MONTH||'/'||A.DAY||'-'||SUBSTR(A.WORK_TIMES,1,2)||
|
|
':'||SUBSTR(A.WORK_TIMES,3,2)||':'||SUBSTR(A.WORK_TIMES,5,2) AS BB,
|
|
A.FARE_OFFICE_ID, A.BOOTH_ID, C.OWNER, C.ADDRESS_NAME, B.CIVIL_SUMMARY_ID
|
|
FROM PENALTY_DETAIL_INFO A ,
|
|
CIVIL_ACCEPT_INFO B,
|
|
PENALTY_HEAD_INFO C
|
|
WHERE (C.CAR_NO = A.CAR_NO)
|
|
AND (C.RESIDENT_DATE = A.RESIDENT_DATE)
|
|
AND (C.OWNER = A.OWNER)
|
|
AND (C.RESIDENT_NO = A.RESIDENT_NO)
|
|
AND (A.PENALTY_MANAGE_YEAR = B.PENALTY_MANAGE_YEAR(+))
|
|
AND (A.PENALTY_SEQNO = B.PENALTY_SEQNO(+))
|
|
AND (A.NOTICE_WRONG_ID = '03')
|
|
AND (A.FARE_OFFICE_ID LIKE office)
|
|
AND (A.YEAR||A.MONTH||A.DAY BETWEEN from_dt AND to_dt));
|
|
|
|
elsif motion = '2' then
|
|
SELECT COUNT(*)
|
|
INTO tot_row
|
|
FROM (
|
|
SELECT SUBSTR(A.PENALTY_MANAGE_YEAR,3,2)||'-'||A.PENALTY_SEQNO AS AA,
|
|
C.CAR_NO,A.YEAR||'/'||A.MONTH||'/'||A.DAY||'-'||SUBSTR(A.WORK_TIMES,1,2)||
|
|
':'||SUBSTR(A.WORK_TIMES,3,2)||':'||SUBSTR(A.WORK_TIMES,5,2) AS BB,
|
|
A.FARE_OFFICE_ID, A.BOOTH_ID, C.OWNER, C.ADDRESS_NAME, B.CIVIL_SUMMARY_ID
|
|
FROM PENALTY_DETAIL_INFO A ,
|
|
CIVIL_ACCEPT_INFO B,
|
|
PENALTY_HEAD_INFO C
|
|
WHERE (C.CAR_NO = A.CAR_NO)
|
|
AND (C.RESIDENT_DATE = A.RESIDENT_DATE)
|
|
AND (C.OWNER = A.OWNER)
|
|
AND (C.RESIDENT_NO = A.RESIDENT_NO)
|
|
AND (A.PENALTY_MANAGE_YEAR = B.PENALTY_MANAGE_YEAR(+))
|
|
AND (A.PENALTY_SEQNO = B.PENALTY_SEQNO(+))
|
|
AND (A.NOTICE_WRONG_ID = '03')
|
|
AND (A.FARE_OFFICE_ID LIKE office)
|
|
AND (A.BEFORE_MOTION_ID IN ('31','32','33','34','35','36','37','38','40'))
|
|
AND (A.YEAR||A.MONTH||A.DAY BETWEEN from_dt AND to_dt));
|
|
|
|
elsif motion = '3' then
|
|
SELECT COUNT(*)
|
|
INTO tot_row
|
|
FROM (
|
|
SELECT SUBSTR(A.PENALTY_MANAGE_YEAR,3,2)||'-'||A.PENALTY_SEQNO AS AA,
|
|
C.CAR_NO,A.YEAR||'/'||A.MONTH||'/'||A.DAY||'-'||SUBSTR(A.WORK_TIMES,1,2)||
|
|
':'||SUBSTR(A.WORK_TIMES,3,2)||':'||SUBSTR(A.WORK_TIMES,5,2) AS BB,
|
|
A.FARE_OFFICE_ID, A.BOOTH_ID, C.OWNER, C.ADDRESS_NAME, B.CIVIL_SUMMARY_ID
|
|
FROM PENALTY_DETAIL_INFO A ,
|
|
CIVIL_ACCEPT_INFO B,
|
|
PENALTY_HEAD_INFO C
|
|
WHERE (C.CAR_NO = A.CAR_NO)
|
|
AND (C.RESIDENT_DATE = A.RESIDENT_DATE)
|
|
AND (C.OWNER = A.OWNER)
|
|
AND (C.RESIDENT_NO = A.RESIDENT_NO)
|
|
AND (A.PENALTY_MANAGE_YEAR = B.PENALTY_MANAGE_YEAR(+))
|
|
AND (A.PENALTY_SEQNO = B.PENALTY_SEQNO(+))
|
|
AND (A.NOTICE_WRONG_ID = '03')
|
|
AND (A.FARE_OFFICE_ID LIKE office)
|
|
AND (A.BEFORE_MOTION_ID IN ('41','42','43','44'))
|
|
AND (A.YEAR||A.MONTH||A.DAY BETWEEN from_dt AND to_dt));
|
|
|
|
elsif motion = '4' then
|
|
SELECT COUNT(*)
|
|
INTO tot_row
|
|
FROM (
|
|
SELECT SUBSTR(A.PENALTY_MANAGE_YEAR,3,2)||'-'||A.PENALTY_SEQNO AS AA,
|
|
C.CAR_NO,A.YEAR||'/'||A.MONTH||'/'||A.DAY||'-'||SUBSTR(A.WORK_TIMES,1,2)||
|
|
':'||SUBSTR(A.WORK_TIMES,3,2)||':'||SUBSTR(A.WORK_TIMES,5,2) AS BB,
|
|
A.FARE_OFFICE_ID, A.BOOTH_ID, C.OWNER, C.ADDRESS_NAME, B.CIVIL_SUMMARY_ID
|
|
FROM PENALTY_DETAIL_INFO A ,
|
|
CIVIL_ACCEPT_INFO B,
|
|
PENALTY_HEAD_INFO C
|
|
WHERE (C.CAR_NO = A.CAR_NO)
|
|
AND (C.RESIDENT_DATE = A.RESIDENT_DATE)
|
|
AND (C.OWNER = A.OWNER)
|
|
AND (C.RESIDENT_NO = A.RESIDENT_NO)
|
|
AND (A.PENALTY_MANAGE_YEAR = B.PENALTY_MANAGE_YEAR(+))
|
|
AND (A.PENALTY_SEQNO = B.PENALTY_SEQNO(+))
|
|
AND (A.NOTICE_WRONG_ID = '03')
|
|
AND (A.FARE_OFFICE_ID LIKE office)
|
|
AND (A.BEFORE_MOTION_ID IN ('45','46','47','48'))
|
|
AND (A.YEAR||A.MONTH||A.DAY BETWEEN from_dt AND to_dt));
|
|
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFC002Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFC002Q_COUNT (
|
|
office IN CHAR, -- ??? ??
|
|
motion IN CHAR, -- ????
|
|
dt_gubun IN CHAR, -- ??(????, ????)
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
-- ????
|
|
IF dt_gubun = '1' THEN
|
|
|
|
if motion = '1' then
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2) as work_time,
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1) as office_booth_id, a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount, count(*)
|
|
FROM penalty_detail_info a,
|
|
penalty_head_info b,
|
|
receipt_info c,
|
|
motion_code_info d
|
|
WHERE a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no -- 11.16 추가
|
|
AND a.resident_date = b.resident_date
|
|
AND a.motion_id = d.motion_id
|
|
--AND to_char(c.receipt_date, 'yyyymmdd') between from_dt and to_dt 11.15 수정
|
|
--AND a.year || a.month || a.day = c.receipt_date
|
|
AND a.fare_office_id like office
|
|
--AND substr(a.motion_id, 1, 1) like motion 11.16 수정
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
AND a.receipt_yn = '1'
|
|
AND c.receipt_id in ('31','32','33','34','35','36','37','38','40','41','42','43','44','45','46','47','48','71','72')
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2),
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1), a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount);
|
|
|
|
|
|
elsif motion = '2' then
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2) as work_time,
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1) as office_booth_id, a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount, count(*)
|
|
FROM penalty_detail_info a,
|
|
penalty_head_info b,
|
|
receipt_info c,
|
|
motion_code_info d
|
|
WHERE a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no -- 11.16 추가
|
|
AND a.resident_date = b.resident_date
|
|
AND a.motion_id = d.motion_id
|
|
--AND to_char(c.receipt_date, 'yyyymmdd') between from_dt and to_dt 11.15 수정
|
|
--AND a.year || a.month || a.day = c.receipt_date
|
|
AND a.fare_office_id like office
|
|
--AND substr(a.motion_id, 1, 1) like motion 11.16 수정
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
AND a.receipt_yn = '1'
|
|
AND c.receipt_id in ('31','32','33','34','35','36','37','38','40')
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2),
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1), a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount);
|
|
|
|
elsif motion = '3' then
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2) as work_time,
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1) as office_booth_id, a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount, count(*)
|
|
FROM penalty_detail_info a,
|
|
penalty_head_info b,
|
|
receipt_info c,
|
|
motion_code_info d
|
|
WHERE a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no -- 11.16 추가
|
|
AND a.resident_date = b.resident_date
|
|
AND a.motion_id = d.motion_id
|
|
--AND to_char(c.receipt_date, 'yyyymmdd') between from_dt and to_dt 11.15 수정
|
|
--AND a.year || a.month || a.day = c.receipt_date
|
|
AND a.fare_office_id like office
|
|
--AND substr(a.motion_id, 1, 1) like motion 11.16 수정
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
AND a.receipt_yn = '1'
|
|
AND c.receipt_id in ('41','42','43','44','45','46','47','48')
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2),
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1), a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount);
|
|
|
|
elsif motion = '4' then
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2) as work_time,
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1) as office_booth_id, a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount, count(*)
|
|
FROM penalty_detail_info a,
|
|
penalty_head_info b,
|
|
receipt_info c,
|
|
motion_code_info d
|
|
WHERE a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no -- 11.16 추가
|
|
AND a.resident_date = b.resident_date
|
|
AND a.motion_id = d.motion_id
|
|
--AND to_char(c.receipt_date, 'yyyymmdd') between from_dt and to_dt 11.15 수정
|
|
--AND a.year || a.month || a.day = c.receipt_date
|
|
AND a.fare_office_id like office
|
|
--AND substr(a.motion_id, 1, 1) like motion 11.16 수정
|
|
AND a.year || a.month || a.day between from_dt and to_dt
|
|
AND a.receipt_yn = '1'
|
|
AND c.receipt_id in ('71','72')
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2),
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1), a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount);
|
|
|
|
end if;
|
|
|
|
-- ????
|
|
ELSIF dt_gubun = '2' THEN
|
|
|
|
if motion = '1' then -- 전체
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2) as work_time,
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1) as office_booth_id, a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount, count(*)
|
|
FROM penalty_detail_info a,
|
|
penalty_head_info b,
|
|
receipt_info c,
|
|
motion_code_info d
|
|
WHERE a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.resident_date = b.resident_date -- 11.16 추가
|
|
AND a.motion_id = d.motion_id
|
|
AND a.fare_office_id like office
|
|
--AND substr(a.motion_id, 1, 1) like motion 11.16 수정
|
|
AND to_char(c.receipt_date, 'yyyymmdd') between from_dt and to_dt -- 11.16 수정
|
|
AND a.receipt_yn = '1'
|
|
AND c.receipt_id in ('31','32','33','34','35','36','37','38','40','41','42','43','44','45','46','47','48','71','72')
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2),
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1), a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount);
|
|
|
|
elsif motion = '2' then
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2) as work_time,
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1) as office_booth_id, a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount, count(*)
|
|
FROM penalty_detail_info a,
|
|
penalty_head_info b,
|
|
receipt_info c,
|
|
motion_code_info d
|
|
WHERE a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.resident_date = b.resident_date -- 11.16 추가
|
|
AND a.motion_id = d.motion_id
|
|
AND a.fare_office_id like office
|
|
--AND substr(a.motion_id, 1, 1) like motion 11.16 수정
|
|
AND to_char(c.receipt_date, 'yyyymmdd') between from_dt and to_dt -- 11.16 수정
|
|
AND a.receipt_yn = '1'
|
|
AND c.receipt_id in ('31','32','33','34','35','36','37','38','40')
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2),
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1), a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount);
|
|
|
|
elsif motion = '3' then
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2) as work_time,
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1) as office_booth_id, a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount, count(*)
|
|
FROM penalty_detail_info a,
|
|
penalty_head_info b,
|
|
receipt_info c,
|
|
motion_code_info d
|
|
WHERE a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.resident_date = b.resident_date -- 11.16 추가
|
|
AND a.motion_id = d.motion_id
|
|
AND a.fare_office_id like office
|
|
--AND substr(a.motion_id, 1, 1) like motion 11.16 수정
|
|
AND to_char(c.receipt_date, 'yyyymmdd') between from_dt and to_dt -- 11.16 수정
|
|
AND a.receipt_yn = '1'
|
|
AND c.receipt_id in ('41','42','43','44','45','46','47','48')
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2),
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1), a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount);
|
|
|
|
elsif motion = '4' then
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno as seq_no,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2) as work_time,
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1) as office_booth_id, a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount, count(*)
|
|
FROM penalty_detail_info a,
|
|
penalty_head_info b,
|
|
receipt_info c,
|
|
motion_code_info d
|
|
WHERE a.penalty_manage_year = c.penalty_manage_year
|
|
AND a.penalty_seqno = c.penalty_seqno
|
|
AND a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.resident_date = b.resident_date -- 11.16 추가
|
|
AND a.motion_id = d.motion_id
|
|
AND a.fare_office_id like office
|
|
--AND substr(a.motion_id, 1, 1) like motion 11.16 수정
|
|
AND to_char(c.receipt_date, 'yyyymmdd') between from_dt and to_dt -- 11.16 수정
|
|
AND a.receipt_yn = '1'
|
|
AND c.receipt_id in ('71','72')
|
|
GROUP BY substr(a.penalty_manage_year, 3, 2)|| ' - ' ||a.penalty_seqno,
|
|
a.car_no, a.year|| '/' ||a.month|| '/' ||a.day|| ' - ' ||substr(a.work_times,1,2)|| ':' ||substr(a.work_times,3,2)|| ':' ||substr(a.work_times,5,2),
|
|
substr(a.fare_office_id, 2, 1)|| ' - ' ||substr(a.booth_id, 2, 1), a.notice_date, d.motion_full_name, b.owner, b.address_name,
|
|
c.receipt_agency, c.receipt_amount);
|
|
|
|
|
|
end if;
|
|
END IF;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFC000E_GET_ADDRESS;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFC000E_GET_ADDRESS
|
|
(
|
|
IN_CARNO IN VARCHAR2,
|
|
IN_OWNER IN VARCHAR2,
|
|
IN_RESIDENT IN VARCHAR2
|
|
) RETURN NUMBER
|
|
IS
|
|
|
|
v_rc NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO v_rc
|
|
FROM PENALTY_ADDRESS_UPDATE_INFO
|
|
WHERE CAR_NO = IN_CARNO
|
|
AND OWNER = IN_OWNER
|
|
AND RESIDENT_NO = IN_RESIDENT;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
v_rc := '';
|
|
RETURN v_rc;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFB004Q_COUNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFB004Q_COUNT1
|
|
(
|
|
wrong_id IN CHAR, -- 경정사유
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
IF WRONG_ID = '%' THEN
|
|
SELECT COUNT(*)
|
|
INTO TOT_ROW
|
|
FROM (
|
|
SELECT SUBSTR(A.PENALTY_MANAGE_YEAR,3,2)||'-'||A.PENALTY_SEQNO AS AA,
|
|
C.CAR_NO,A.YEAR||'/'||A.MONTH||'/'||A.DAY||'-'||SUBSTR(A.WORK_TIMES,1,2)||
|
|
':'||SUBSTR(A.WORK_TIMES,3,2)||':'||SUBSTR(A.WORK_TIMES,5,2) AS BB,
|
|
A.FARE_OFFICE_ID, A.BOOTH_ID, C.OWNER, C.ADDRESS_NAME, B.CIVIL_SUMMARY_ID
|
|
FROM PENALTY_DETAIL_INFO A , CIVIL_ACCEPT_INFO B, PENALTY_HEAD_INFO C
|
|
WHERE (C.CAR_NO = A.CAR_NO) AND
|
|
(C.RESIDENT_DATE = A.RESIDENT_DATE) AND
|
|
(C.OWNER = A.OWNER) AND
|
|
(C.RESIDENT_NO = A.RESIDENT_NO) AND
|
|
(A.PENALTY_MANAGE_YEAR = B.PENALTY_MANAGE_YEAR(+)) AND
|
|
(A.PENALTY_SEQNO = B.PENALTY_SEQNO(+)) AND
|
|
(A.NOTICE_WRONG_ID = '03') AND
|
|
(A.YEAR||A.MONTH||A.DAY BETWEEN FROM_DT AND TO_DT));
|
|
ELSE
|
|
SELECT COUNT(*)
|
|
INTO TOT_ROW
|
|
FROM (
|
|
SELECT SUBSTR(A.PENALTY_MANAGE_YEAR,3,2)||'-'||A.PENALTY_SEQNO AS AA,
|
|
C.CAR_NO,A.YEAR||'/'||A.MONTH||'/'||A.DAY||'-'||SUBSTR(A.WORK_TIMES,1,2)||
|
|
':'||SUBSTR(A.WORK_TIMES,3,2)||':'||SUBSTR(A.WORK_TIMES,5,2) AS BB,
|
|
A.FARE_OFFICE_ID, A.BOOTH_ID, C.OWNER, C.ADDRESS_NAME, B.CIVIL_SUMMARY_ID
|
|
FROM PENALTY_DETAIL_INFO A , CIVIL_ACCEPT_INFO B, PENALTY_HEAD_INFO C
|
|
WHERE (C.CAR_NO = A.CAR_NO) AND
|
|
(C.RESIDENT_DATE = A.RESIDENT_DATE) AND
|
|
(C.OWNER = A.OWNER) AND
|
|
(C.RESIDENT_NO = A.RESIDENT_NO) AND
|
|
(A.PENALTY_MANAGE_YEAR = B.PENALTY_MANAGE_YEAR(+)) AND
|
|
(A.PENALTY_SEQNO = B.PENALTY_SEQNO(+)) AND
|
|
(A.NOTICE_WRONG_ID = '03') AND
|
|
(B.CIVIL_SUMMARY_ID = WRONG_ID) AND
|
|
(A.YEAR||A.MONTH||A.DAY BETWEEN FROM_DT AND TO_DT));
|
|
|
|
END IF;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFB004Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFB004Q_COUNT (
|
|
wrong_id IN CHAR, -- ????
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM ( SELECT substr(b.penalty_manage_year, 3, 2)|| ' - ' ||b.penalty_seqno as seq_no,
|
|
b.car_no, b.year|| '.' ||b.month|| '.' ||b.day|| ' - ' ||b.work_times as work_time,
|
|
b.fare_office_id, b.booth_id, a.owner, a.address_name, b.notice_wrong_id, count(*)
|
|
FROM penalty_head_info a, penalty_detail_info b
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND b.notice_wrong_id LIKE wrong_id
|
|
AND b.year || b.month || b.day BETWEEN from_dt AND to_dt
|
|
GROUP BY substr(b.penalty_manage_year, 3, 2)|| ' - ' ||b.penalty_seqno,
|
|
b.car_no, b.year|| '.' ||b.month|| '.' ||b.day|| ' - ' ||b.work_times,
|
|
b.fare_office_id, b.booth_id, a.owner, a.address_name, b.notice_wrong_id);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFB003Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFB003Q_COUNT (
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (
|
|
SELECT min(penalty_manage_year) ||' ~ '|| max(penalty_manage_year) as manage_year,
|
|
decode(civil_summary_id, '01', count(civil_summary_id), 0) as count1,
|
|
decode(civil_summary_id, '02', count(civil_summary_id), 0) as count2,
|
|
decode(civil_summary_id, '03', count(civil_summary_id), 0) as count3,
|
|
decode(civil_summary_id, '04', count(civil_summary_id), 0) as count4,
|
|
decode(civil_summary_id, '05', count(civil_summary_id), 0) as count5,
|
|
decode(civil_summary_id, '99', count(civil_summary_id), 0) as count6,
|
|
decode(civil_process_id, '01', count(civil_process_id), 0) as count7,
|
|
decode(civil_process_id, '02', count(civil_process_id), 0) as count8,
|
|
decode(civil_process_id, '03', count(civil_process_id), 0) as count9,
|
|
decode(civil_process_id, '04', count(civil_process_id), 0) as count10,
|
|
decode(civil_process_id, '05', count(civil_process_id), 0) as count11,
|
|
decode(civil_process_id, '99', count(civil_process_id), 0) as count12
|
|
FROM civil_accept_info
|
|
WHERE accept_date BETWEEN to_date(from_dt, 'yyyymmdd') AND to_date(to_dt, 'yyyymmdd')
|
|
GROUP BY civil_summary_id, civil_process_id);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
tot_row := 0;
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFB002E_EXISTENCE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFB002E_EXISTENCE
|
|
/*
|
|
** 인터넷 접속번호가 존재하는가?를 판별한다.
|
|
** 작성자 : park chi young
|
|
*/
|
|
(
|
|
in_mng_year IN char,
|
|
in_seqno IN number,
|
|
in_accept_dt IN char,
|
|
in_acc_seq IN number,
|
|
in_connect_num IN varchar2
|
|
) RETURN number
|
|
IS
|
|
|
|
v_cnt number := 0;
|
|
v_ck1 number := 0;
|
|
v_ck2 number := 0;
|
|
|
|
BEGIN
|
|
DBMS_OUTPUT.ENABLE;
|
|
SELECT count(*) -- 우선 오늘날자로 찾아본다.
|
|
INTO v_ck1
|
|
FROM INTERNET_INFO
|
|
WHERE PENALTY_MANAGE_YEAR = RTRIM(in_mng_year, ' ')
|
|
AND PENALTY_SEQNO = in_seqno
|
|
AND to_char(ACCEPT_DATE, 'yyyymmdd') = RTRIM(in_accept_dt, ' ')
|
|
AND ACCEPT_SEQNO = in_acc_seq
|
|
AND SERVICE_DATE = to_char(sysdate, 'yyyymmdd');
|
|
|
|
DBMS_OUTPUT.PUT_LINE( 'aaa = :' || to_char(v_ck1));
|
|
v_cnt := -1; -- 오늘 날자로 존재하지 않으면 '인터넷 정보'에는 반드시 입력한다.
|
|
|
|
if v_ck1 > 0 then -- 오늘 날자가 존재하는데 접속번호가 맞는가?
|
|
SELECT count(*)
|
|
INTO v_ck2
|
|
FROM INTERNET_INFO
|
|
WHERE PENALTY_MANAGE_YEAR = RTRIM(in_mng_year, ' ')
|
|
AND PENALTY_SEQNO = in_seqno
|
|
AND to_char(ACCEPT_DATE, 'yyyymmdd') = RTRIM(in_accept_dt, ' ')
|
|
AND ACCEPT_SEQNO = in_acc_seq
|
|
AND SERVICE_DATE = to_char(sysdate, 'yyyymmdd')
|
|
AND CONNECT_NUMBER = RTRIM(in_connect_num, ' ');
|
|
DBMS_OUTPUT.PUT_LINE( 'aaa = :' || to_char(v_ck2));
|
|
v_cnt := v_ck2;
|
|
end if;
|
|
DBMS_OUTPUT.PUT_LINE( 'aaa = :' || to_char(v_cnt));
|
|
RETURN v_cnt;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN -- 예외는 99로 처리한다.
|
|
RETURN '99';
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFB002E_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFB002E_COUNT
|
|
(
|
|
gubun IN CHAR, -- 검색 기준 구분자(1/2/3/4)
|
|
from_dt IN varchar2, -- 검색 시작일(년/월)
|
|
to_dt IN varchar2, --
|
|
carno IN varchar2 -- 차량번호
|
|
) RETURN number
|
|
IS
|
|
|
|
tot_row number := 0;
|
|
|
|
BEGIN
|
|
-- 통행년도
|
|
IF gubun = '1' THEN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
from(
|
|
SELECT D.PENALTY_MANAGE_YEAR as p_mng_year,
|
|
D.PENALTY_SEQNO as p_seqno,
|
|
D.YEAR as p_year,
|
|
D.MONTH as p_month,
|
|
D.DAY as p_day,
|
|
D.WORK_TIMES as p_work_times,
|
|
D.CAR_NO as p_car_no,
|
|
H.CAR_TYPE_ID as p_car_kind,
|
|
H.ADDRESS_NAME as p_address1,
|
|
H.ADDRESS_NUMBER as p_address
|
|
FROM PENALTY_HEAD_INFO H,
|
|
PENALTY_DETAIL_INFO D
|
|
WHERE D.year BETWEEN rtrim(from_dt) AND rtrim(to_dt)
|
|
AND substr(D.MOTION_ID, 1,1) not like '9' -- 압류 해지를 제외한 모든 대상
|
|
AND H.CAR_NO = D.CAR_NO
|
|
AND H.OWNER = D.OWNER
|
|
AND H.RESIDENT_NO = D.RESIDENT_NO
|
|
AND H.RESIDENT_DATE = D.RESIDENT_DATE
|
|
AND D.CAR_NO like rtrim(carno, ' '));
|
|
|
|
-- 통행일자
|
|
ELSIF gubun = '2' THEN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
from(
|
|
SELECT D.PENALTY_MANAGE_YEAR as p_mng_year,
|
|
D.PENALTY_SEQNO as p_seqno,
|
|
D.YEAR as p_year,
|
|
D.MONTH as p_month,
|
|
D.DAY as p_day,
|
|
D.WORK_TIMES as p_work_times,
|
|
D.CAR_NO as p_car_no,
|
|
H.CAR_TYPE_ID as p_car_kind,
|
|
H.ADDRESS_NAME as p_address1,
|
|
H.ADDRESS_NUMBER as p_address
|
|
FROM PENALTY_HEAD_INFO H,
|
|
PENALTY_DETAIL_INFO D
|
|
WHERE D.year || D.month || D.day BETWEEN rtrim(from_dt) AND rtrim(to_dt)
|
|
AND substr(D.MOTION_ID, 1,1) not like '9' -- 압류 해지를 제외한 모든 대상
|
|
AND H.CAR_NO = D.CAR_NO
|
|
AND H.OWNER = D.OWNER
|
|
AND H.RESIDENT_NO = D.RESIDENT_NO
|
|
AND H.RESIDENT_DATE = D.RESIDENT_DATE
|
|
AND D.CAR_NO like rtrim(carno, ' '));
|
|
|
|
|
|
-- 통행년월
|
|
ELSIF gubun = '3' THEN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
from(
|
|
SELECT D.PENALTY_MANAGE_YEAR as p_mng_year,
|
|
D.PENALTY_SEQNO as p_seqno,
|
|
D.YEAR as p_year,
|
|
D.MONTH as p_month,
|
|
D.DAY as p_day,
|
|
D.WORK_TIMES as p_work_times,
|
|
D.CAR_NO as p_car_no,
|
|
H.CAR_TYPE_ID as p_car_kind,
|
|
H.ADDRESS_NAME as p_address1,
|
|
H.ADDRESS_NUMBER as p_address
|
|
FROM PENALTY_HEAD_INFO H,
|
|
PENALTY_DETAIL_INFO D
|
|
WHERE D.year || D.month = rtrim(from_dt)
|
|
AND substr(D.MOTION_ID, 1,1) not like '9' -- 압류 해지를 제외한 모든 대상
|
|
AND H.CAR_NO = D.CAR_NO
|
|
AND H.OWNER = D.OWNER
|
|
AND H.RESIDENT_NO = D.RESIDENT_NO
|
|
AND H.RESIDENT_DATE = D.RESIDENT_DATE
|
|
AND D.CAR_NO like rtrim(carno, ' '));
|
|
|
|
-- 전체
|
|
ELSIF gubun = '4' THEN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
from(
|
|
SELECT D.PENALTY_MANAGE_YEAR as p_mng_year,
|
|
D.PENALTY_SEQNO as p_seqno,
|
|
D.YEAR as p_year,
|
|
D.MONTH as p_month,
|
|
D.DAY as p_day,
|
|
D.WORK_TIMES as p_work_times,
|
|
D.CAR_NO as p_car_no,
|
|
H.CAR_TYPE_ID as p_car_kind,
|
|
H.ADDRESS_NAME as p_address1,
|
|
H.ADDRESS_NUMBER as p_address
|
|
FROM PENALTY_HEAD_INFO H,
|
|
PENALTY_DETAIL_INFO D
|
|
WHERE H.CAR_NO = D.CAR_NO
|
|
AND substr(D.MOTION_ID, 1,1) not like '9' -- 압류 해지를 제외한 모든 대상
|
|
AND H.OWNER = D.OWNER
|
|
AND H.RESIDENT_NO = D.RESIDENT_NO
|
|
AND H.RESIDENT_DATE = D.RESIDENT_DATE
|
|
AND D.CAR_NO like rtrim(carno, ' '));
|
|
|
|
END IF;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFB002E_CIVIL;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFB002E_CIVIL
|
|
(
|
|
in_kbn IN number -- 테이블 선택 구분자
|
|
) RETURN number
|
|
IS
|
|
|
|
v_cnt number := 0;
|
|
|
|
BEGIN
|
|
|
|
if in_kbn = 1 then -- 민원 요약 코드
|
|
SELECT count(*)
|
|
INTO v_cnt
|
|
FROM CIVIL_SUMMARY_CODE_INFO;
|
|
|
|
elsif in_kbn = 2 then -- 민원 처리 결과 코드
|
|
SELECT count(*)
|
|
INTO v_cnt
|
|
FROM CIVIL_PROCESS_CODE_INFO;
|
|
|
|
end if;
|
|
|
|
RETURN v_cnt;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN '0';
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFB001E_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFB001E_COUNT (
|
|
car IN varchar2, -- ????
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT b.levy_seqno, b.car_no,
|
|
b.year || b.month || b.day ||' - '|| b.work_times as work_time,
|
|
b.fare_office_id, a.except_reason, a.confirm_id, a.measure_result_id,
|
|
b.levy_manage_year, b.owner, b.resident_no, b.resident_date
|
|
FROM except_accept_info a,
|
|
levy_target_info b
|
|
WHERE a.levy_manage_year (+)= b.levy_manage_year
|
|
AND a.levy_seqno (+)= b.levy_seqno
|
|
AND b.car_no LIKE rtrim(car, ' ')
|
|
AND b.year || b.month || b.day BETWEEN from_dt AND to_dt
|
|
AND b.PENALTY_PROCESS_YN = '0');
|
|
/*
|
|
SELECT a.except_seqno, a.except_person, b.car_no,
|
|
b.year || b.month || b.day ||' - '|| b.work_times as work_time,
|
|
b.fare_office_id, a.except_reason, a.confirm_id, a.measure_result_id, count(*)
|
|
FROM except_accept_info a,
|
|
levy_target_info b
|
|
WHERE a.levy_manage_year = b.levy_manage_year
|
|
AND a.levy_seqno = b.levy_seqno
|
|
AND b.car_no LIKE car
|
|
AND b.year || b.month || b.day BETWEEN from_dt AND to_dt
|
|
GROUP BY a.except_seqno, a.except_person, b.car_no,
|
|
b.year || b.month || b.day ||' - '|| b.work_times,
|
|
b.fare_office_id, a.except_reason, a.confirm_id, a.measure_result_id);
|
|
*/
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFB001E_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFB001E_CNT(
|
|
pc_year IN CHAR,
|
|
pn_seqno IN NUMBER
|
|
) RETURN NUMBER
|
|
IS
|
|
|
|
tot_row NUMBER;
|
|
|
|
BEGIN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM except_accept_info
|
|
WHERE levy_manage_year = pc_year
|
|
AND levy_seqno = pn_seqno;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFA008Q_LEVY;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFA008Q_LEVY
|
|
----------------------------------------------------------------
|
|
-- 부과 예고 구분 NAME/ID를 반환
|
|
-- 참고 : 여러곳에서 쓰임,
|
|
-- 작성자 : 박치영 작성일 : 2002/11/16 수정일 : 2002/11/16
|
|
-----------------------------------------------------------------
|
|
(
|
|
in_worker IN char,
|
|
in_tunnel IN char,
|
|
in_booth IN char,
|
|
in_year IN char,
|
|
in_month IN char,
|
|
in_day IN char,
|
|
in_work_times IN char,
|
|
in_kbn IN char
|
|
) RETURN varchar2
|
|
IS
|
|
|
|
v_abb varchar2(40) := '';
|
|
v_levy_notice varchar2(40) := '';
|
|
|
|
BEGIN
|
|
|
|
if in_kbn = '1' then -- 부과 예고 구분 Name
|
|
SELECT D.LAVY_NOTICE_ABB_NAME
|
|
INTO v_abb
|
|
FROM DEFAULT_FARE_READ_INFO C,
|
|
LAVY_NOTICE_CODE_INFO D
|
|
WHERE C.LAVY_NOTICE_ID = D.LAVY_NOTICE_ID
|
|
AND C.WORKER_ID = in_worker
|
|
AND C.FARE_OFFICE_ID = in_tunnel
|
|
AND C.BOOTH_ID = in_booth
|
|
AND C.YEAR = in_year
|
|
AND C.MONTH = in_month
|
|
AND C.DAY = in_day
|
|
AND C.WORK_TIMES = in_work_times;
|
|
|
|
elsif in_kbn = '2' then -- 부과 예고 구분 ID
|
|
SELECT LAVY_NOTICE_ID
|
|
INTO v_abb
|
|
FROM DEFAULT_FARE_READ_INFO
|
|
WHERE WORKER_ID = in_worker
|
|
AND FARE_OFFICE_ID = in_tunnel
|
|
AND BOOTH_ID = in_booth
|
|
AND YEAR = in_year
|
|
AND MONTH = in_month
|
|
AND DAY = in_day
|
|
AND WORK_TIMES = in_work_times;
|
|
end if;
|
|
|
|
v_levy_notice := rtrim(v_abb, ' ');
|
|
|
|
RETURN v_levy_notice;
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN ''; -- 데이타가 존재하지 않거나 없으면
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFA008Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFA008Q_COUNT
|
|
(
|
|
kbn IN char,
|
|
office IN CHAR,
|
|
from_dt IN CHAR,
|
|
to_dt IN CHAR
|
|
) RETURN number
|
|
IS
|
|
tot_row number := 0;
|
|
BEGIN
|
|
|
|
if kbn = '1' OR kbn = '2' then
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (
|
|
SELECT A.LEVY_SEQNO, A.FARE_OFFICE_ID, A.BOOTH_ID, A.YEAR, A.MONTH, A.DAY, A.WORK_TIMES, A.CAR_NO, A.OWNER, A.RESIDENT_NO,
|
|
A.RESIDENT_DATE, B.ADDRESS_NAME, B.ADDRESS_NUMBER, B.POST_NO1, B.POST_NO2, B.CAR_TYPE_ID
|
|
FROM LEVY_TARGET_INFO A,
|
|
PENALTY_HEAD_INFO B
|
|
WHERE A.YEAR || A.MONTH || A.DAY BETWEEN from_dt AND to_dt
|
|
AND A.FARE_OFFICE_ID Like office
|
|
AND A.MOTION_ID = '13'
|
|
AND A.PENALTY_PROCESS_YN = '0'
|
|
AND A.CAR_NO = B.CAR_NO
|
|
AND A.OWNER = B.OWNER
|
|
AND A.RESIDENT_NO = B.RESIDENT_NO
|
|
AND A.RESIDENT_DATE = B.RESIDENT_DATE
|
|
);
|
|
|
|
elsif kbn = '3' then
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (
|
|
SELECT A.LEVY_SEQNO, A.FARE_OFFICE_ID, A.BOOTH_ID, A.YEAR, A.MONTH, A.DAY, A.WORK_TIMES, A.CAR_NO, A.OWNER, A.RESIDENT_NO,
|
|
A.RESIDENT_DATE, B.ADDRESS_NAME, B.ADDRESS_NUMBER, B.POST_NO1, B.POST_NO2, B.CAR_TYPE_ID
|
|
FROM LEVY_TARGET_INFO A,
|
|
PENALTY_HEAD_INFO B
|
|
WHERE A.YEAR || A.MONTH || A.DAY BETWEEN from_dt AND to_dt
|
|
AND A.FARE_OFFICE_ID Like office
|
|
AND A.MOTION_ID = '21'
|
|
AND A.PENALTY_PROCESS_YN = '0'
|
|
AND A.CAR_NO = B.CAR_NO
|
|
AND A.OWNER = B.OWNER
|
|
AND A.RESIDENT_NO = B.RESIDENT_NO
|
|
AND A.RESIDENT_DATE = B.RESIDENT_DATE
|
|
);
|
|
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFA006Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFA006Q_COUNT(
|
|
gubun IN CHAR, -- 차량구분
|
|
car IN CHAR -- 차량번호
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
-- 서울
|
|
IF gubun = '1' THEN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM penalty_head_info
|
|
WHERE rtrim(car_no) LIKE '서울%'
|
|
AND rtrim(car_no) LIKE car;
|
|
|
|
-- SOFA
|
|
ELSIF gubun = '2' THEN
|
|
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from (
|
|
SELECT c.car_no, a.car_type_id, a.owner, a.address_name, a.resident_no
|
|
FROM penalty_head_info a,
|
|
penalty_detail_info b,
|
|
fare_terminal_info c
|
|
WHERE a.car_no = b.car_no(+)
|
|
AND a.owner = b.owner(+)
|
|
AND a.resident_no = b.resident_no(+)
|
|
AND a.resident_date = b.resident_date(+)
|
|
AND c.car_no = a.car_no(+)
|
|
AND c.ARMY_CARS_KBN = '1'
|
|
AND c.DELETE_YN = '0'
|
|
AND c.car_no like car
|
|
GROUP BY c.car_no, a.car_type_id, a.owner, a.address_name, a.resident_no);
|
|
|
|
/*
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM penalty_head_info
|
|
WHERE rtrim(car_no) LIKE '%-%-%'
|
|
AND rtrim(car_no) LIKE car;
|
|
*/
|
|
|
|
-- 지방
|
|
ELSIF gubun = '3' THEN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM penalty_head_info
|
|
WHERE substr(rtrim(car_no), 1, 4) <> '서울'
|
|
AND rtrim(car_no) LIKE car;
|
|
|
|
-- 승합
|
|
ELSIF gubun = '4' THEN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM penalty_head_info
|
|
WHERE (substr(rtrim(car_no), 5, 1) IN('5', '6')
|
|
OR substr(rtrim(car_no), 5, 2) BETWEEN '70' AND '79')
|
|
AND rtrim(car_no) LIKE car;
|
|
|
|
-- 전체
|
|
ELSIF gubun = '5' THEN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM penalty_head_info
|
|
WHERE rtrim(car_no) LIKE '%'
|
|
AND rtrim(car_no) LIKE car;
|
|
|
|
END IF;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFA006Q_01_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFA006Q_01_COUNT
|
|
(
|
|
car IN CHAR, -- 요금소
|
|
ownerno IN CHAR, -- 소유자
|
|
resident IN CHAR -- 주민법인번호
|
|
|
|
)
|
|
RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM penalty_head_info a, penalty_detail_info b
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND a.car_no = car
|
|
AND a.owner = ownerno
|
|
AND a.resident_no = resident;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFA005Q_COUNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFA005Q_COUNT1
|
|
(
|
|
office IN CHAR, -- 요금소
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT c.car_no, c.car_type_id, a.max_carry_capacity,
|
|
c.year ||'/'|| c.month||'/'|| c.day ||' - '|| substr(c.work_times,1,2)||':'||
|
|
substr(c.work_times,3,2)||':'||substr(c.work_times,5.2) as work_time,
|
|
c.fare_office_id, c.booth_id, a.owner, a.post_no1 || a.post_no2 as post_no,
|
|
a.address_name, count(*), c.army_cars_kbn
|
|
FROM penalty_head_info a,
|
|
penalty_detail_info b,
|
|
fare_terminal_info c
|
|
WHERE a.car_no = b.car_no(+)
|
|
AND a.owner = b.owner(+)
|
|
AND a.resident_no = b.resident_no(+)
|
|
AND a.resident_date = b.resident_date(+)
|
|
AND c.car_no = a.car_no(+)
|
|
AND c.fare_office_id LIKE office
|
|
AND c.year || c.month || c.day BETWEEN from_dt AND to_dt
|
|
AND c.ARMY_CARS_KBN = '1'
|
|
AND c.DELETE_YN = '0'
|
|
GROUP BY c.car_no, c.car_type_id, a.max_carry_capacity,
|
|
c.year ||'/'|| c.month||'/'|| c.day ||' - '|| substr(c.work_times,1,2)||':'||
|
|
substr(c.work_times,3,2)||':'||substr(c.work_times,5.2),
|
|
c.fare_office_id, c.booth_id, a.owner, a.post_no1 || a.post_no2,
|
|
a.address_name,c.army_cars_kbn);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFA005Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFA005Q_COUNT(
|
|
office IN CHAR, -- ??? ??
|
|
from_dt IN CHAR, -- ?? ???
|
|
to_dt IN CHAR -- ?? ???
|
|
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT b.car_no, a.car_type_id, a.max_carry_capacity,
|
|
b.year || b.month || b.day ||' - '|| b.work_times as work_time,
|
|
b.fare_office_id, b.booth_id, a.owner, a.post_no1 || a.post_no2 as post_no,
|
|
a.address_name, count(*)
|
|
FROM penalty_head_info a,
|
|
penalty_detail_info b
|
|
WHERE a.car_no = b.car_no
|
|
AND a.owner = b.owner
|
|
AND a.resident_no = b.resident_no
|
|
AND b.fare_office_id LIKE office
|
|
AND b.year || b.month || b.day BETWEEN from_dt AND to_dt
|
|
AND b.car_no LIKE '%-%-%'
|
|
GROUP BY b.car_no, a.car_type_id, a.max_carry_capacity,
|
|
b.year || b.month || b.day ||' - '|| b.work_times,
|
|
b.fare_office_id, b.booth_id, a.owner, a.post_no1 || a.post_no2,
|
|
a.address_name);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFA004E_READER;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFA004E_READER
|
|
/*************************************************************
|
|
** 미납차량 자료 수정
|
|
** 리턴값 : < 판독자 리턴 >
|
|
** 적용범위 : Default_fare_read_info
|
|
** 작성자 : 박치영 작성일 : 2002/11/15 수정일 : 2002/11/15
|
|
**************************************************************/
|
|
(
|
|
in_tunnel IN char,
|
|
in_booth IN char,
|
|
in_year IN char,
|
|
in_month IN char,
|
|
in_day IN char,
|
|
in_work_times IN char
|
|
) RETURN varchar2
|
|
IS
|
|
|
|
v_reader_id char(6) := '';
|
|
v_reader varchar2(10) := '';
|
|
|
|
BEGIN
|
|
|
|
SELECT READER
|
|
INTO v_reader_id
|
|
FROM DEFAULT_FARE_READ_INFO
|
|
WHERE fare_office_id = in_tunnel
|
|
AND booth_id = in_booth
|
|
AND year = in_year
|
|
AND month = in_month
|
|
AND day = in_day
|
|
AND work_times = in_work_times;
|
|
|
|
BEGIN
|
|
SELECT USER_NAME
|
|
INTO v_reader
|
|
FROM MANAGE_INFO
|
|
WHERE USER_NAME = v_reader_id;
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
v_reader := '확인요';
|
|
END;
|
|
|
|
RETURN v_reader;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN '확인요';
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFA004E_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFA004E_COUNT
|
|
(
|
|
in_kbn IN char,
|
|
from_dt IN CHAR,
|
|
car IN varchar2
|
|
) RETURN NUMBER
|
|
IS
|
|
|
|
tot_row NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
if in_kbn = '1' then
|
|
-- 부과예고 대상
|
|
SELECT NVL(sum(count(*)), 0)
|
|
INTO tot_row
|
|
FROM LEVY_TARGET_INFO L, PENALTY_HEAD_INFO H
|
|
WHERE L.year || L.month || L.day Like from_dt
|
|
AND L.CAR_NO = H.CAR_NO
|
|
AND L.OWNER = H.OWNER
|
|
AND L.RESIDENT_NO = H.RESIDENT_NO
|
|
AND L.RESIDENT_DATE = H.RESIDENT_DATE
|
|
AND L.PENALTY_PROCESS_YN = '0'
|
|
AND L.NOTICE_KBN = '1'
|
|
AND L.CAR_NO like rtrim(car, ' ')
|
|
GROUP BY L.year||L.month||L.day, L.work_times;
|
|
|
|
elsif in_kbn = '2' then
|
|
-- 과태료 대상
|
|
SELECT sum(count(*))
|
|
INTO tot_row
|
|
FROM PENALTY_DETAIL_INFO D, PENALTY_HEAD_INFO H
|
|
WHERE D.year || D.month || D.day Like from_dt
|
|
AND D.CAR_NO = H.CAR_NO
|
|
AND D.OWNER = H.OWNER
|
|
AND D.RESIDENT_NO = H.RESIDENT_NO
|
|
AND D.RESIDENT_DATE = H.RESIDENT_DATE
|
|
AND D.CAR_NO like rtrim(car, ' ')
|
|
GROUP BY D.year||D.month||D.day, D.work_times;
|
|
end if;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TFA003U_MAX_SEQNO;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TFA003U_MAX_SEQNO
|
|
/*************************************************************
|
|
** 부과 대상 정보 FILE 생성
|
|
** 리턴값 : <부과대상 관리 번호 리턴>
|
|
** 적용범위 : levy target info create
|
|
** 작성자 : 박치영 작성일 : 2002/11/06 수정일 : 2002/11/07
|
|
**************************************************************/
|
|
(
|
|
in_year IN char -- 관리년도
|
|
) RETURN number
|
|
IS
|
|
|
|
p_levy_seqno number;
|
|
|
|
BEGIN
|
|
|
|
SELECT nvl(max(levy_seqno), 0)
|
|
INTO p_levy_seqno
|
|
FROM LEVY_TARGET_INFO
|
|
WHERE levy_manage_year = in_year;
|
|
|
|
p_levy_seqno := p_levy_seqno + 1;
|
|
|
|
RETURN p_levy_seqno;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEH500E_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEH500E_CNT
|
|
(
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_WORKER IN CHAR,
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND WORKER_ID = IN_WORKER
|
|
AND YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY
|
|
AND DELETE_YN = '0'
|
|
AND WORK_TIMES NOT IN (
|
|
SELECT WORK_TIMES
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND WORKER_ID = IN_WORKER
|
|
AND YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY
|
|
AND DELETE_YN = '0'
|
|
AND WORK_TIMES >=
|
|
(SELECT WORK_STT_TIME||'00'
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND WORKER_ID = IN_WORKER
|
|
AND YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY)
|
|
AND WORK_TIMES <=
|
|
(SELECT WORK_END_TIME||'59'
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND WORKER_ID = IN_WORKER
|
|
AND YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY));
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEH500E_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEH500E_ADJUST_CHECK;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEH500E_ADJUST_CHECK
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_STT_TIME = IN_ST
|
|
AND WORK_END_TIME = IN_ED;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEH500E_ADJUST_CHECK;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEG500Q_SAM_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEG500Q_SAM_CNT
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM INCOME_ADJUST_INFO
|
|
WHERE INCOME_DATE = IN_DATE
|
|
AND TRANS_FILE_CREATE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEG500Q_SAM_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEG500Q_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEG500Q_CNT
|
|
(
|
|
in_part IN CHAR,
|
|
in_date IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
|
|
v_row NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO v_row
|
|
FROM fare_adjust_info a
|
|
WHERE a.fare_adjust_yn = '1'
|
|
AND a.income_adjust_yn = '0'
|
|
AND a.year || a.month || a.day = in_date
|
|
AND a.c_ampm = in_part;
|
|
|
|
RETURN v_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEG500Q_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEG500Q_CASH;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEG500Q_CASH
|
|
(
|
|
IN_DATE IN CHAR,
|
|
IN_PART IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT NVL(CASH_INCOME + K_CASH_INCOME +
|
|
COUPON_SALE_INCOME + K_COUPON_SALE_INCOME -
|
|
REPAY_M, 0) AS CASH
|
|
INTO V_RET
|
|
FROM INCOME_ADJUST_INFO
|
|
WHERE INCOME_DATE = IN_DATE
|
|
AND INCOME_PART = IN_PART;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEG500Q_CASH;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEG500Q_ADJUST_CHECK;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEG500Q_ADJUST_CHECK
|
|
(
|
|
IN_DATE IN CHAR,
|
|
IN_PART IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
|
|
V_CHECK NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_CHECK
|
|
FROM INCOME_ADJUST_INFO
|
|
WHERE INCOME_DATE = IN_DATE
|
|
AND INCOME_PART LIKE IN_PART;
|
|
|
|
RETURN V_CHECK;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEG500Q_ADJUST_CHECK;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEF500Q_OVERFARE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEF500Q_OVERFARE_CNT
|
|
(
|
|
IN_BOOTH IN CHAR,
|
|
IN_CAR IN CHAR,
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN INTEGER
|
|
-- 과오납 삭제 데이타의 건수를 리턴한다.
|
|
AS
|
|
|
|
V_RET NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERFARE_INFO
|
|
WHERE BOOTH_ID LIKE IN_BOOTH
|
|
AND CAR_NO LIKE IN_CAR
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND DELETE_YN = '1';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEF500Q_OVERFARE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEF500Q_OVERCOUPON_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEF500Q_OVERCOUPON_CNT
|
|
(
|
|
IN_BOOTH IN CHAR,
|
|
IN_CAR IN CHAR,
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN INTEGER
|
|
-- 삭제된 과잉쿠폰 건수를 리턴한다.
|
|
AS
|
|
|
|
V_RET NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERCOUPON_DETAIL_INFO
|
|
WHERE BOOTH_ID LIKE IN_BOOTH
|
|
AND CAR_NO LIKE IN_CAR
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND DELETE_YN = '1';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEF500Q_OVERCOUPON_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEF500Q_MODIFY_REASON;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEF500Q_MODIFY_REASON
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_TIME IN CHAR,
|
|
IN_SEQNO IN NUMBER,
|
|
IN_U_SEQNO IN NUMBER
|
|
)
|
|
RETURN VARCHAR2
|
|
IS
|
|
-- 수정사유는 FARE_TERMINAL_UPDATE_INFO에서 가져온다.
|
|
|
|
V_RET VARCHAR2(120) := '';
|
|
|
|
BEGIN
|
|
|
|
SELECT A.UPDATE_REASON
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_UPDATE_INFO A
|
|
WHERE A.WORKER_ID = IN_ID
|
|
AND A.FARE_OFFICE_ID = IN_FARE
|
|
AND A.BOOTH_ID = IN_BOOTH
|
|
AND A.YEAR||A.MONTH||A.DAY = IN_DATE
|
|
AND A.WORK_TIMES = IN_TIME
|
|
AND A.SEQNO = IN_SEQNO
|
|
AND A.UPDATE_SEQNO = IN_U_SEQNO;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN NULL;
|
|
|
|
END FUN_TEF500Q_MODIFY_REASON;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEF500Q_INOUT_REASON;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEF500Q_INOUT_REASON
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR,
|
|
IN_SEQNO IN NUMBER
|
|
)
|
|
RETURN VARCHAR2
|
|
-- 부족금액 수정시 사유를 리턴한다.
|
|
AS
|
|
|
|
V_RET VARCHAR2(120) := '';
|
|
|
|
BEGIN
|
|
|
|
SELECT NVL(IN_OUT_CONTENTS, ' ')
|
|
INTO V_RET
|
|
FROM IN_OUT_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_STT_TIME = IN_ST
|
|
AND WORK_END_TIME = IN_ED
|
|
AND IO_SEQNO = IN_SEQNO + 1;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN NULL;
|
|
WHEN OTHERS THEN
|
|
RETURN NULL;
|
|
|
|
END FUN_TEF500Q_INOUT_REASON;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEF500Q_INOUT_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEF500Q_INOUT_CNT
|
|
(
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN INTEGER
|
|
AS
|
|
|
|
V_RET NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM IN_OUT_INFO
|
|
WHERE BOOTH_ID LIKE IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND DELETE_YN = '1';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEF500Q_INOUT_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEF500Q_FARE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEF500Q_FARE_CNT
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_CAR IN CHAR,
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN INTEGER
|
|
AS
|
|
|
|
V_RET NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_HISTORY_INFO
|
|
WHERE BOOTH_ID LIKE IN_BOOTH
|
|
AND CAR_NO LIKE IN_CAR
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND DELETE_YN LIKE IN_GUBUN;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEF500Q_FARE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEF500Q_BEFORE_COLLECT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEF500Q_BEFORE_COLLECT
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_TIME IN CHAR,
|
|
IN_SEQNO IN NUMBER
|
|
)
|
|
RETURN VARCHAR2
|
|
-- 수정 전의 징수유형을 리턴한다.
|
|
IS
|
|
|
|
V_RET CHAR(2) := '';
|
|
|
|
BEGIN
|
|
|
|
SELECT A.COLLECT_ID
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO A
|
|
WHERE A.WORKER_ID = IN_ID
|
|
AND A.FARE_OFFICE_ID = IN_FARE
|
|
AND A.BOOTH_ID = IN_BOOTH
|
|
AND A.YEAR||A.MONTH||A.DAY = IN_DATE
|
|
AND A.WORK_TIMES = IN_TIME
|
|
AND A.SEQNO = IN_SEQNO;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN '00';
|
|
|
|
END FUN_TEF500Q_BEFORE_COLLECT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEF500E_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEF500E_CNT
|
|
(
|
|
IN_FARE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM JOIN_CARD_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEF500E_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEE500Q_COUNT2;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEE500Q_COUNT2
|
|
(
|
|
in_st IN CHAR, -- 시작일자
|
|
in_ed IN CHAR, -- 종료일자
|
|
in_ampm IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
|
|
v_row NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO v_row
|
|
FROM fare_adjust_info
|
|
WHERE year || month || day BETWEEN in_st AND in_ed
|
|
and c_ampm like in_ampm;
|
|
|
|
RETURN v_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEE500Q_COUNT2;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEE500Q_COUNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEE500Q_COUNT1
|
|
(
|
|
in_st IN CHAR, -- 시작일자
|
|
in_ed IN CHAR, -- 종료일자
|
|
in_booth IN CHAR, -- 차로
|
|
in_worker IN CHAR -- 징수원
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
v_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO v_row
|
|
FROM fare_adjust_info
|
|
WHERE year || month || day BETWEEN in_st AND in_ed
|
|
and booth_id like in_booth
|
|
and worker_id like in_worker;
|
|
|
|
RETURN v_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEE500Q_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEE500Q_COUNT(
|
|
from_tm IN CHAR, -- 시작시간
|
|
to_tm IN CHAR, -- 종료시간
|
|
from_dt IN CHAR, -- 시작일자
|
|
to_dt IN CHAR -- 종료일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM (SELECT c.worker_id, c.year, c.month, c.day, c.work_stt_time, c.work_end_time,
|
|
c.booth_id, a.worker_seqno,
|
|
nvl(c.cash_quantity, 0) as cash_quantity,
|
|
nvl(c.cash_income, 0) as cash_income,
|
|
nvl(c.coupon_quantity, 0) as coupon_quantity,
|
|
nvl(c.coupon_sale_quantity, 0) as coupon_sale_quantity,
|
|
nvl(c.coupon_sale, 0) as coupon_sale,
|
|
nvl(c.card_before_quantity, 0) as card_quantity,
|
|
nvl(c.card_before_income, 0) as card_income,
|
|
nvl(c.exemption_quantity, 0) as exemption_quantity,
|
|
nvl(c.nonpayment_quantity, 0) as nonpayment_quantity
|
|
FROM worker_info a, fare_adjust_info c
|
|
WHERE a.worker_id = c.worker_id
|
|
AND substr(c.work_stt_time,1,2) || substr(c.work_end_time,1,2) BETWEEN from_tm AND to_tm
|
|
AND c.year || c.month || c.day BETWEEN from_dt AND to_dt);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEE500Q_CNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEE500Q_CNT1
|
|
(
|
|
IN_WORKER IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
|
|
V_RET NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE WORKER_ID LIKE IN_WORKER
|
|
AND BOOTH_ID LIKE IN_BOOTH
|
|
AND YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY
|
|
AND DELETE_YN = '0'
|
|
AND NEW_DATA_YN = '1';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEE500Q_CNT1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEE500Q_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEE500Q_CNT
|
|
(
|
|
IN_WORKER IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
|
|
V_RET NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM (SELECT YEAR||MONTH||DAY
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE WORKER_ID LIKE IN_WORKER
|
|
AND BOOTH_ID LIKE IN_BOOTH
|
|
AND YEAR||MONTH||DAY BETWEEN IN_ST AND IN_ED
|
|
GROUP BY YEAR||MONTH||DAY);
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEE500Q_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED503E_WORKER_TIME;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED503E_WORKER_TIME
|
|
(
|
|
IN_FARE IN CHAR,
|
|
IN_ID IN CHAR,
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN VARCHAR2
|
|
IS
|
|
|
|
V_MIN NUMBER := 0;
|
|
V_H NUMBER := 0;
|
|
V_M NUMBER := 0;
|
|
V_CNT NUMBER := 0;
|
|
OUT_HOUR CHAR(2) := ' ';
|
|
OUT_MIN CHAR(2) := ' ';
|
|
|
|
V_RET CHAR(4) := ' ';
|
|
|
|
BEGIN
|
|
|
|
SELECT round(sum((to_date(a.year||a.month||a.day||a.work_end_time, 'yyyymmddhh24miss')
|
|
- to_date(a.year||a.month||a.day||a.work_stt_time, 'yyyymmddhh24miss'))
|
|
*60*24)) as min
|
|
INTO V_MIN
|
|
FROM fare_adjust_info a
|
|
WHERE a.fare_office_id = IN_FARE
|
|
AND a.worker_id = IN_ID
|
|
AND a.year||a.month||a.day = IN_DATE
|
|
AND a.fare_adjust_yn = '1'
|
|
GROUP BY a.worker_id;
|
|
|
|
IF V_MIN >= 60 THEN
|
|
|
|
V_H := TRUNC(V_MIN / 60);
|
|
V_M := V_MIN - (V_H * 60);
|
|
|
|
IF V_H > 9 THEN
|
|
OUT_HOUR := TO_CHAR(V_H);
|
|
ELSE
|
|
OUT_HOUR := '0'||TO_CHAR(V_H);
|
|
END IF;
|
|
|
|
IF V_M > 9 THEN
|
|
OUT_MIN := TO_CHAR(V_M);
|
|
ELSE
|
|
OUT_MIN := '0'||TO_CHAR(V_M);
|
|
END IF;
|
|
|
|
|
|
ELSIF V_MIN < 60 THEN
|
|
|
|
OUT_HOUR := '00';
|
|
|
|
IF V_MIN > 9 THEN
|
|
OUT_MIN := TO_CHAR(V_MIN);
|
|
ELSE
|
|
OUT_MIN := '0'||TO_CHAR(V_MIN);
|
|
END IF;
|
|
|
|
END IF;
|
|
|
|
V_RET := OUT_HOUR||OUT_MIN;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN '0000';
|
|
|
|
|
|
END FUN_TED503E_WORKER_TIME;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED503E_TIME_SUGI;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED503E_TIME_SUGI
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_TIME IN CHAR,
|
|
IN_INOUT IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
IF IN_GUBUN = 'CNT' THEN
|
|
|
|
SELECT NVL(SUM(DECODE(IN_OUT_KBN, IN_INOUT, 1, 0)),0) AS SUGI_CNT
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE NOTE_TRANS_YN = '1'
|
|
AND NEW_DATA_YN = '1'
|
|
AND COLLECT_ID = '10'
|
|
AND DELETE_YN = '0'
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND SUBSTR(WORK_TIMES,1,2) = IN_TIME;
|
|
|
|
ELSIF IN_GUBUN = 'CASH' THEN
|
|
|
|
SELECT NVL(SUM(DECODE(IN_OUT_KBN, IN_INOUT, LEVY_AMOUNT,0)),0) AS SUGI_M
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE NOTE_TRANS_YN = '1'
|
|
AND NEW_DATA_YN = '1'
|
|
AND COLLECT_ID = '10'
|
|
AND DELETE_YN = '0'
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND SUBSTR(WORK_TIMES,1,2) = IN_TIME;
|
|
|
|
END IF;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED503E_TIME_SUGI;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED503E_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED503E_CNT
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
IF IN_GUBUN = 'ADJUST' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY
|
|
AND TRANS_FILE_CREATE_YN = '0';
|
|
|
|
ELSIF IN_GUBUN = 'FARE' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY
|
|
AND TRANS_FILE_CREATE_YN = '0';
|
|
|
|
ELSIF IN_GUBUN = 'FAREUP' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_UPDATE_INFO
|
|
WHERE YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY
|
|
AND TRANS_FILE_CREATE_YN = '0';
|
|
|
|
|
|
ELSIF IN_GUBUN = 'OVERFARE' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERFARE_INFO
|
|
WHERE YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY
|
|
AND TRANS_FILE_CREATE_YN <> '1';
|
|
|
|
ELSIF IN_GUBUN = 'ORDER' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERFARE_ORDER_INFO
|
|
WHERE TO_CHAR(CREATE_DATE, 'YYYY') = IN_YEAR
|
|
AND TO_CHAR(CREATE_DATE, 'MM') = IN_MONTH
|
|
AND TO_CHAR(CREATE_DATE, 'DD') = IN_DAY
|
|
AND TRANS_FILE_CREATE_YN IN ('I', 'U');
|
|
|
|
ELSIF IN_GUBUN = 'TAXES' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERFARE_TAXES_INFO
|
|
WHERE ENTRY_YEAR = IN_YEAR
|
|
AND ENTRY_MONTH = IN_MONTH
|
|
AND ENTRY_DAY = IN_DAY
|
|
AND TRANS_FILE_CREATE_YN = '0';
|
|
|
|
ELSIF IN_GUBUN = 'COUPONHEAD' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERCOUPON_HEAD_INFO
|
|
WHERE YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY;
|
|
|
|
ELSIF IN_GUBUN = 'COUPONDETAIL' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERCOUPON_DETAIL_INFO
|
|
WHERE YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY;
|
|
|
|
ELSIF IN_GUBUN = 'COUPONNO' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERCOUPON_NO_INFO
|
|
WHERE YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY;
|
|
|
|
ELSIF IN_GUBUN = 'INOUT' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM IN_OUT_INFO
|
|
WHERE YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY
|
|
AND TRANS_FILE_CREATE_YN <> '1';
|
|
|
|
|
|
ELSIF IN_GUBUN = 'REPAY' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM RF_REPAY_INFO
|
|
WHERE YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY
|
|
AND TRANS_FILE_CREATE_YN = '0';
|
|
|
|
|
|
ELSIF IN_GUBUN = 'INCOME' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM INCOME_ADJUST_INFO
|
|
WHERE SUBSTR(INCOME_DATE,1,4) = IN_YEAR
|
|
AND SUBSTR(INCOME_DATE,5,2) = IN_MONTH
|
|
AND SUBSTR(INCOME_DATE,7,2) = IN_DAY
|
|
AND TRANS_FILE_CREATE_YN = '0';
|
|
|
|
ELSIF IN_GUBUN = 'RF' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM RF_TERMINAL_INFO
|
|
WHERE YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY
|
|
AND TRANS_FILE_CREATE_YN = '0';
|
|
|
|
ELSIF IN_GUBUN = 'RFUP' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM RF_TERMINAL_UPDATE_INFO
|
|
WHERE YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY
|
|
AND TRANS_FILE_CREATE_YN = '0';
|
|
|
|
END IF;
|
|
|
|
RETURN V_RET;
|
|
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED503E_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED503E_CAR_TIME_SUGI;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED503E_CAR_TIME_SUGI
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_TIME IN CHAR,
|
|
IN_TYPE IN CHAR,
|
|
IN_KBN IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
-- 수기입력 건수, 금액 리턴
|
|
-- 정산된 데이타들만 계산한다.
|
|
-- FARE_ADJUST_INFO.FARE_ADJUST_YN = '1'
|
|
-- FARE_TERMINAL_INFO.DELETE_YN = '0'
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
IF IN_GUBUN = 'CNT' THEN
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO A, FARE_ADJUST_INFO B
|
|
WHERE A.WORKER_ID = B.WORKER_ID
|
|
AND A.FARE_OFFICE_ID = B.FARE_OFFICE_ID
|
|
AND A.BOOTH_ID = B.BOOTH_ID
|
|
AND A.YEAR = B.YEAR
|
|
AND A.MONTH = B.MONTH
|
|
AND A.DAY = B.DAY
|
|
AND SUBSTR(A.WORK_TIMES,1,4) BETWEEN B.WORK_STT_TIME AND B.WORK_END_TIME
|
|
AND A.FARE_OFFICE_ID = IN_FARE
|
|
AND A.BOOTH_ID = IN_BOOTH
|
|
AND A.YEAR||A.MONTH||A.DAY = IN_DATE
|
|
AND SUBSTR(A.WORK_TIMES,1,2) = IN_TIME
|
|
AND A.CAR_TYPE_ID = IN_TYPE
|
|
AND A.IN_OUT_KBN = IN_KBN
|
|
AND B.FARE_ADJUST_YN = '1'
|
|
AND A.NOTE_TRANS_YN = '1'
|
|
AND A.NEW_DATA_YN = '1'
|
|
AND A.DELETE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END;
|
|
|
|
ELSIF IN_GUBUN = 'CASH' THEN
|
|
|
|
BEGIN
|
|
|
|
SELECT NVL(SUM(LEVY_AMOUNT),0)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO A, FARE_ADJUST_INFO B
|
|
WHERE A.WORKER_ID = B.WORKER_ID
|
|
AND A.FARE_OFFICE_ID = B.FARE_OFFICE_ID
|
|
AND A.BOOTH_ID = B.BOOTH_ID
|
|
AND A.YEAR = B.YEAR
|
|
AND A.MONTH = B.MONTH
|
|
AND A.DAY = B.DAY
|
|
AND SUBSTR(A.WORK_TIMES,1,4) BETWEEN B.WORK_STT_TIME AND B.WORK_END_TIME
|
|
AND A.FARE_OFFICE_ID = IN_FARE
|
|
AND A.BOOTH_ID = IN_BOOTH
|
|
AND A.YEAR||A.MONTH||A.DAY = IN_DATE
|
|
AND SUBSTR(A.WORK_TIMES,1,2) = IN_TIME
|
|
AND A.CAR_TYPE_ID = IN_TYPE
|
|
AND A.IN_OUT_KBN = IN_KBN
|
|
AND B.FARE_ADJUST_YN = '1'
|
|
AND A.NOTE_TRANS_YN = '1'
|
|
AND A.NEW_DATA_YN = '1'
|
|
AND A.DELETE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END;
|
|
|
|
END IF;
|
|
|
|
|
|
END FUN_TED503E_CAR_TIME_SUGI;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED503E_ADJUST_YN;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED503E_ADJUST_YN
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
|
|
V_TOT NUMBER := 0;
|
|
V_OK NUMBER := 0;
|
|
V_RET NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_TOT
|
|
FROM FARE_ADJUST_INFO A
|
|
WHERE A.YEAR||A.MONTH||A.DAY = IN_DATE;
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_OK
|
|
FROM FARE_ADJUST_INFO B
|
|
WHERE B.YEAR||B.MONTH||B.DAY = IN_DATE
|
|
AND B.FARE_ADJUST_YN = '1';
|
|
|
|
IF V_TOT = 0 THEN
|
|
V_RET := 3;
|
|
ELSIF V_TOT > V_OK THEN
|
|
V_RET := 0;
|
|
ELSIF V_TOT = V_OK THEN
|
|
V_RET := 1;
|
|
END IF;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 2;
|
|
|
|
END FUN_TED503E_ADJUST_YN;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED503E_ADJUST_SEL;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED503E_ADJUST_SEL
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_ID IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
|
|
V_RET NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
IF IN_GUBUN = '1' THEN
|
|
|
|
SELECT NVL(SUM(NVL(AA.DEPOSIT_PAY,0)),0)
|
|
INTO V_RET
|
|
FROM FARE_ADJUST_INFO AA
|
|
WHERE AA.FARE_OFFICE_ID = IN_ID
|
|
AND AA.BOOTH_ID = IN_BOOTH
|
|
AND AA.YEAR||AA.MONTH||AA.DAY = IN_DATE
|
|
AND AA.FARE_ADJUST_YN = '1';
|
|
|
|
ELSIF IN_GUBUN = '2' THEN
|
|
|
|
SELECT NVL(SUM(NVL(AA.CREDIT_PAY,0)),0)
|
|
INTO V_RET
|
|
FROM FARE_ADJUST_INFO AA
|
|
WHERE AA.FARE_OFFICE_ID = IN_ID
|
|
AND AA.BOOTH_ID = IN_BOOTH
|
|
AND AA.YEAR||AA.MONTH||AA.DAY = IN_DATE
|
|
AND AA.FARE_ADJUST_YN = '1';
|
|
|
|
ELSIF IN_GUBUN = '3' THEN
|
|
|
|
SELECT NVL(SUM(NVL(AA.OVERFARE_IN_AMOUNT,0)),0)
|
|
INTO V_RET
|
|
FROM FARE_ADJUST_INFO AA
|
|
WHERE AA.FARE_OFFICE_ID = IN_ID
|
|
AND AA.BOOTH_ID = IN_BOOTH
|
|
AND AA.YEAR||AA.MONTH||AA.DAY = IN_DATE
|
|
AND AA.FARE_ADJUST_YN = '1';
|
|
|
|
ELSIF IN_GUBUN = '4' THEN
|
|
|
|
SELECT NVL(SUM(NVL(AA.OVERFARE_OUT_AMOUNT,0)),0)
|
|
INTO V_RET
|
|
FROM FARE_ADJUST_INFO AA
|
|
WHERE AA.FARE_OFFICE_ID = IN_ID
|
|
AND AA.BOOTH_ID = IN_BOOTH
|
|
AND AA.YEAR||AA.MONTH||AA.DAY = IN_DATE
|
|
AND AA.FARE_ADJUST_YN = '1';
|
|
|
|
ELSIF IN_GUBUN = '5' THEN
|
|
|
|
SELECT NVL(SUM(NVL(AA.OVERCOUPON_COUNT,0)),0)
|
|
INTO V_RET
|
|
FROM FARE_ADJUST_INFO AA
|
|
WHERE AA.FARE_OFFICE_ID = IN_ID
|
|
AND AA.BOOTH_ID = IN_BOOTH
|
|
AND AA.YEAR||AA.MONTH||AA.DAY = IN_DATE
|
|
AND AA.FARE_ADJUST_YN = '1';
|
|
|
|
ELSIF IN_GUBUN = '6' THEN
|
|
|
|
SELECT NVL(SUM(NVL(AA.COUPON_RETURN_COUNT,0)),0)
|
|
INTO V_RET
|
|
FROM FARE_ADJUST_INFO AA
|
|
WHERE AA.FARE_OFFICE_ID = IN_ID
|
|
AND AA.BOOTH_ID = IN_BOOTH
|
|
AND AA.YEAR||AA.MONTH||AA.DAY = IN_DATE
|
|
AND AA.FARE_ADJUST_YN = '1';
|
|
|
|
END IF;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED503E_ADJUST_SEL;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED503E_ADJUST_OK_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED503E_ADJUST_OK_CNT
|
|
(
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
-- 정산완료된 징수원정산 건수 리턴
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_ADJUST_INFO A
|
|
WHERE A.YEAR = IN_YEAR
|
|
AND A.MONTH = IN_MONTH
|
|
AND A.DAY = IN_DAY
|
|
AND A.FARE_ADJUST_YN = '1';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED503E_ADJUST_OK_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED503E_ADJUST_ALL_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED503E_ADJUST_ALL_CNT
|
|
(
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
-- 징수원정산 전체 건수 리턴
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_ADJUST_INFO A
|
|
WHERE A.YEAR = IN_YEAR
|
|
AND A.MONTH = IN_MONTH
|
|
AND A.DAY = IN_DAY;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED503E_ADJUST_ALL_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED502E_YEAR_FARE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED502E_YEAR_FARE_CNT
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED502E_YEAR_FARE_CNT
|
|
PURPOSE: 과오납 월 집계정보에서 요금소 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED502E_YEAR_FARE_CNT or FUN_TED502E_YEAR_FARE_CNT
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 요금소 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT FARE_OFFICE_ID
|
|
FROM MONTH_OVERFARE_INFO
|
|
WHERE YEAR = IN_DATE
|
|
GROUP BY FARE_OFFICE_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED502E_YEAR_FARE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED502E_FARE_CNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED502E_FARE_CNT1
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED502E_FARE_CNT1
|
|
PURPOSE: 월 정산정보에서 요금소 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED502E_FARE_CNT1 or FUN_TED502E_FARE_CNT1
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 요금소 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT FARE_OFFICE_ID
|
|
FROM MONTH_ADJUST_INFO
|
|
WHERE YEAR = IN_DATE
|
|
GROUP BY FARE_OFFICE_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED502E_FARE_CNT1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED502E_FARE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED502E_FARE_CNT
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED502E_FARE_CNT
|
|
PURPOSE: 차종별 월 정산정보에서 요금소 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED502E_FARE_CNT or FUN_TED502E_FARE_CNT
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 요금소 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT FARE_OFFICE_ID
|
|
FROM CAR_MONTH_ADJUST_INFO
|
|
WHERE YEAR = IN_DATE
|
|
GROUP BY FARE_OFFICE_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED502E_FARE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED502E_CAR_TYPE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED502E_CAR_TYPE_CNT
|
|
(
|
|
IN_DATE IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED502E_CAR_TYPE_CNT
|
|
PURPOSE: 차종별 월 정산정보에서 차종 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED502E_CAR_TYPE_CNT or FUN_TED502E_CAR_TYPE_CNT
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 차종 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT CARS_TYPE_ID
|
|
FROM CAR_MONTH_ADJUST_INFO
|
|
WHERE YEAR = IN_DATE
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
GROUP BY CARS_TYPE_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED502E_CAR_TYPE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED502E_BOOTH_CNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED502E_BOOTH_CNT1
|
|
(
|
|
IN_DATE IN CHAR,
|
|
IN_FARE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED502E_BOOTH_CNT1
|
|
PURPOSE: 월 정산정보에서 차로 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED502E_BOOTH_CNT1 or FUN_TED502E_BOOTH_CNT1
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 차로 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT BOOTH_ID
|
|
FROM MONTH_ADJUST_INFO
|
|
WHERE YEAR = IN_DATE
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
GROUP BY BOOTH_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED502E_BOOTH_CNT1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED502E_BOOTH_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED502E_BOOTH_CNT
|
|
(
|
|
IN_DATE IN CHAR,
|
|
IN_FARE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED502E_BOOTH_CNT
|
|
PURPOSE: 차종별 월 정산정보에서 차로 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED502E_BOOTH_CNT or FUN_TED502E_BOOTH_CNT
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 차로 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT BOOTH_ID
|
|
FROM CAR_MONTH_ADJUST_INFO
|
|
WHERE YEAR = IN_DATE
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
GROUP BY BOOTH_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED502E_BOOTH_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED501E_WEEK_SAT_CNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED501E_WEEK_SAT_CNT1
|
|
(
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_GUBUN IN CHAR -- 1:평일, 2:토요일
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED501E_WEEK_SAT_CNT1
|
|
PURPOSE: 일 정산정보에서 평일, 토요일 일수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED501E_WEEK_SAT_CNT1or FUN_TED501E_WEEK_SAT_CNT1
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM DAY_ADJUST_INFO
|
|
WHERE YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND WEEKDAY_KBN = IN_GUBUN;
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED501E_WEEK_SAT_CNT1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED501E_WEEK_SAT_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED501E_WEEK_SAT_CNT
|
|
(
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_CAR_TYPE IN CHAR,
|
|
IN_GUBUN IN CHAR -- 1:평일, 2:토요일
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED501E_WEEK_SAT_CNT
|
|
PURPOSE: 차종별 일 정산정보에서 평일, 토요일 일수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED501E_WEEK_SAT_CNT or FUN_TED501E_WEEK_SAT_CNT
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM CAR_DAY_ADJUST_INFO
|
|
WHERE YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND CARS_TYPE_ID = IN_CAR_TYPE
|
|
AND WEEKDAY_KBN = IN_GUBUN;
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED501E_WEEK_SAT_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED501E_MONTH_OVERFARE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED501E_MONTH_OVERFARE_CNT
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED501E_MONTH_OVERFARE_CNT
|
|
PURPOSE: 과오납 일 집계정보에서 요금소 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED501E_MONTH_OVERFARE_CNT or FUN_TED501E_MONTH_OVERFARE_CNT
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 요금소 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT FARE_OFFICE_ID
|
|
FROM DAY_OVERFARE_INFO
|
|
WHERE YEAR||MONTH = IN_DATE
|
|
GROUP BY FARE_OFFICE_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED501E_MONTH_OVERFARE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED501E_MONTH_FIX_FARE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED501E_MONTH_FIX_FARE_CNT
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED501E_MONTH_FIX_FARE_CNT
|
|
PURPOSE: 정액권 일 재고정보에서 요금소 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED501E_MONTH_FIX_FARE_CNT or FUN_TED501E_MONTH_FIX_FARE_CNT
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 요금소 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT FARE_OFFICE_ID
|
|
FROM DAY_FIX_STOCK_INFO
|
|
WHERE YEAR||MONTH = IN_DATE
|
|
GROUP BY FARE_OFFICE_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED501E_MONTH_FIX_FARE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED501E_FARE_CNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED501E_FARE_CNT1
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED501E_FARE_CNT1
|
|
PURPOSE: 일 정산정보에서 요금소 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED501E_FARE_CNT1 or FUN_TED501E_FARE_CNT1
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 요금소 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT FARE_OFFICE_ID
|
|
FROM DAY_ADJUST_INFO
|
|
WHERE YEAR||MONTH = IN_DATE
|
|
GROUP BY FARE_OFFICE_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED501E_FARE_CNT1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED501E_FARE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED501E_FARE_CNT
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED501E_FARE_CNT
|
|
PURPOSE: 차종별 일 정산정보에서 요금소 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED501E_FARE_CNT or FUN_TED501E_FARE_CNT
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 요금소 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT FARE_OFFICE_ID
|
|
FROM CAR_DAY_ADJUST_INFO
|
|
WHERE YEAR||MONTH = IN_DATE
|
|
GROUP BY FARE_OFFICE_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED501E_FARE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED501E_CAR_TYPE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED501E_CAR_TYPE_CNT
|
|
(
|
|
IN_DATE IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED501E_CAR_TYPE_CNT
|
|
PURPOSE: 차종별 일 정산정보에서 차종 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED501E_CAR_TYPE_CNT or FUN_TED501E_CAR_TYPE_CNT
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 차종 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT CARS_TYPE_ID
|
|
FROM CAR_DAY_ADJUST_INFO
|
|
WHERE YEAR||MONTH = IN_DATE
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
GROUP BY CARS_TYPE_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED501E_CAR_TYPE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED501E_BOOTH_CNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED501E_BOOTH_CNT1
|
|
(
|
|
IN_DATE IN CHAR,
|
|
IN_FARE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED501E_BOOTH_CNT1
|
|
PURPOSE: 일 정산정보에서 차로 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED501E_BOOTH_CNT1 or FUN_TED501E_BOOTH_CNT1
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 차로 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT BOOTH_ID
|
|
FROM DAY_ADJUST_INFO
|
|
WHERE YEAR||MONTH = IN_DATE
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
GROUP BY BOOTH_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED501E_BOOTH_CNT1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED501E_BOOTH_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED501E_BOOTH_CNT
|
|
(
|
|
IN_DATE IN CHAR,
|
|
IN_FARE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED501E_BOOTH_CNT
|
|
PURPOSE: 차종별 일 정산정보에서 차로 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED501E_BOOTH_CNT or FUN_TED501E_BOOTH_CNT
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 차로 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT BOOTH_ID
|
|
FROM CAR_DAY_ADJUST_INFO
|
|
WHERE YEAR||MONTH = IN_DATE
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
GROUP BY BOOTH_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED501E_BOOTH_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED500E_WORKER_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED500E_WORKER_CNT
|
|
(
|
|
IN_FARE IN CHAR,
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT A.WORKER_ID
|
|
FROM FARE_ADJUST_INFO A
|
|
WHERE A.FARE_OFFICE_ID = IN_FARE
|
|
AND A.YEAR||A.MONTH||A.DAY = IN_DATE
|
|
GROUP BY A.WORKER_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED500E_WORKER_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED500E_STOCK_FARE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED500E_STOCK_FARE_CNT
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED500E_STOCK_FARE_CNT
|
|
PURPOSE: 정액권 HEAD 정보에서 요금소 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED500E_STOCK_FARE_CNT or FUN_TED500E_STOCK_FARE_CNT
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 요금소 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT FARE_OFFICE_ID
|
|
FROM FIX_AMOUNT_HEAD_INFO
|
|
WHERE YEAR||MONTH||DAY = IN_DATE
|
|
GROUP BY FARE_OFFICE_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED500E_STOCK_FARE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED500E_OFFICE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED500E_OFFICE_CNT
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_CNT NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT A.FARE_OFFICE_ID
|
|
FROM FARE_ADJUST_INFO A
|
|
WHERE A.YEAR||A.MONTH||A.DAY = IN_DATE
|
|
GROUP BY FARE_OFFICE_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED500E_OFFICE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED500E_FARE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED500E_FARE_CNT
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED500E_FARE_CNT
|
|
PURPOSE: 요금단말에서 요금소 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED500E_FARE_CNT or FUN_TED500E_FARE_CNT
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 요금소 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT FARE_OFFICE_ID
|
|
FROM FARE_TERMINAL_INFO A
|
|
WHERE A.DELETE_YN = '0'
|
|
AND A.YEAR||A.MONTH||A.DAY = IN_DATE
|
|
GROUP BY FARE_OFFICE_ID);
|
|
/*
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT FARE_OFFICE_ID
|
|
FROM FARE_TERMINAL_INFO A
|
|
WHERE A.SEQNO =
|
|
(SELECT MAX(SEQNO)
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE WORKER_ID = A.WORKER_ID
|
|
AND FARE_OFFICE_ID = A.FARE_OFFICE_ID
|
|
AND BOOTH_ID = A.BOOTH_ID
|
|
AND YEAR = A.YEAR
|
|
AND MONTH = A.MONTH
|
|
AND DAY = A.DAY
|
|
AND WORK_TIMES = A.WORK_TIMES
|
|
GROUP BY A.WORK_TIMES)
|
|
AND A.YEAR||A.MONTH||A.DAY = IN_DATE
|
|
GROUP BY FARE_OFFICE_ID);
|
|
*/
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END FUN_TED500E_FARE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TED500E_DAY_OVERFARE_FARE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TED500E_DAY_OVERFARE_FARE
|
|
(
|
|
IN_DATE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_TED500E_DAY_OVERFARE_FARE
|
|
PURPOSE: 과오납 정보에서 요금소 갯수를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TED500E_DAY_OVERFARE_FARE or FUN_TED500E_DAY_OVERFARE_FARE
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
-- 요금소 데이타 건수
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM (
|
|
SELECT FARE_OFFICE_ID
|
|
FROM OVERFARE_INFO
|
|
WHERE YEAR||MONTH||DAY = IN_DATE
|
|
GROUP BY FARE_OFFICE_ID);
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TED500E_DAY_OVERFARE_FARE;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEC500E_SAM_CNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEC500E_SAM_CNT1
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_TIME IN CHAR,
|
|
IN_SEQNO IN NUMBER
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_TIMES = IN_TIME
|
|
AND SEQNO = IN_SEQNO
|
|
AND COLLECT_ID = '40'
|
|
AND TRANS_FILE_CREATE_YN = 'A';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEC500E_SAM_CNT1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEC500E_SAM_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEC500E_SAM_CNT
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE COLLECT_ID = '40'
|
|
AND TRANS_FILE_CREATE_YN = 'A';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEC500E_SAM_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEC500E_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEC500E_COUNT
|
|
(
|
|
office IN CHAR, -- 요금소
|
|
booth IN CHAR, -- 차로
|
|
from_dt IN CHAR, -- 통행일
|
|
in_car IN CHAR -- 차량번호
|
|
)
|
|
RETURN number
|
|
IS
|
|
|
|
tot_row number := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO TOT_ROW
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE COLLECT_ID = '40'
|
|
AND DELETE_YN = '0'
|
|
AND FARE_OFFICE_ID LIKE OFFICE
|
|
AND BOOTH_ID LIKE BOOTH
|
|
AND YEAR||MONTH||DAY = FROM_DT
|
|
AND CAR_NO LIKE IN_CAR;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEB500E_RET_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEB500E_RET_CNT
|
|
(
|
|
IN_GUBUN IN NUMBER,
|
|
IN_FARE IN CHAR,
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR,
|
|
IN_KBN IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
IF IN_GUBUN = 1 THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FIX_AMOUNT_HEAD_INFO A
|
|
WHERE A.FARE_OFFICE_ID = IN_FARE
|
|
AND A.YEAR = IN_YEAR
|
|
AND A.MONTH = IN_MONTH
|
|
AND A.DAY = IN_DAY
|
|
AND A.IN_OUT_KBN = IN_KBN;
|
|
|
|
ELSIF IN_GUBUN = 2 THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FIX_AMOUNT_DETAIL_INFO B
|
|
WHERE B.FARE_OFFICE_ID = IN_FARE
|
|
AND B.YEAR = IN_YEAR
|
|
AND B.MONTH = IN_MONTH
|
|
AND B.DAY = IN_DAY
|
|
AND B.IN_OUT_KBN = IN_KBN;
|
|
|
|
END IF;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEB500E_RET_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEB500E_INS_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEB500E_INS_CNT(
|
|
office IN CHAR,
|
|
pc_year IN CHAR,
|
|
pc_month IN CHAR,
|
|
pc_day IN CHAR
|
|
) RETURN NUMBER
|
|
IS
|
|
|
|
tot_row NUMBER;
|
|
|
|
BEGIN
|
|
select count(*)
|
|
into tot_row
|
|
from fix_amount_head_info
|
|
where fare_office_id = office
|
|
and year = pc_year
|
|
and month = pc_month
|
|
and day = pc_day;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEB500E_COUNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEB500E_COUNT1
|
|
(
|
|
in_fare IN CHAR, -- 요금소
|
|
in_date IN CHAR -- 조회일자
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO TOT_ROW
|
|
FROM FIX_AMOUNT_DETAIL_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE
|
|
AND YEAR||MONTH||DAY = IN_DATE;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEB500E_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEB500E_COUNT(
|
|
office IN CHAR, -- ???
|
|
pc_ymd IN CHAR -- ???
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
|
|
select count(*)
|
|
into tot_row
|
|
from (SELECT year, month, day, count(*)
|
|
FROM fix_amount_head_info
|
|
WHERE fare_office_id = office
|
|
AND year || month || day = pc_ymd
|
|
GROUP BY year, month, day
|
|
ORDER BY year, month, day);
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA502E_REPAY_INFO;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA502E_REPAY_INFO
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM RF_REPAY_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_TIMES BETWEEN IN_ST AND IN_ED
|
|
AND TRANS_FILE_CREATE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA502E_REPAY_INFO;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA502E_OVERFARE_CHECK;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA502E_OVERFARE_CHECK
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERFARE_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_STT_TIME = IN_ST
|
|
AND WORK_END_TIME = IN_ED
|
|
AND TRANS_FILE_CREATE_YN <> '1'
|
|
AND DELETE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA502E_OVERFARE_CHECK;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA502E_OVERCOUPON_CHECK;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA502E_OVERCOUPON_CHECK
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERCOUPON_HEAD_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_STT_TIME = IN_ST
|
|
AND WORK_END_TIME = IN_ED
|
|
AND TRANS_FILE_CREATE_YN <> '1';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA502E_OVERCOUPON_CHECK;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA502E_LESS_MONEY;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA502E_LESS_MONEY
|
|
/******************************************************************************
|
|
NAME: FUN_TEA502E_LESS_MONEY
|
|
PURPOSE: 부족금액을 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-02 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TEA502E_LESS_MONEY or FUN_TEA502E_LESS_MONEY
|
|
Sysdate: 2002-11-02
|
|
Date/Time: 2002-11-02 오후 2:12:32
|
|
Date: 2002-11-02
|
|
Time: 오후 2:12:32
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
|
|
V_AMOUNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT IN_OUT_AMOUNT
|
|
INTO V_AMOUNT
|
|
FROM IN_OUT_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_STT_TIME = IN_ST
|
|
AND WORK_END_TIME = IN_ED
|
|
AND IN_OUT_KBN = '1'
|
|
AND DELETE_YN = '0';
|
|
|
|
RETURN V_AMOUNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA502E_LESS_MONEY;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA502E_INOUT_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA502E_INOUT_CNT
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
-- 부족금액 존재 여부체크
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM IN_OUT_INFO A
|
|
WHERE A.WORKER_ID = IN_ID
|
|
AND A.FARE_OFFICE_ID = IN_FARE
|
|
AND A.BOOTH_ID = IN_BOOTH
|
|
AND A.YEAR = IN_YEAR
|
|
AND A.MONTH = IN_MONTH
|
|
AND A.DAY = IN_DAY
|
|
AND A.WORK_STT_TIME = IN_ST
|
|
AND A.WORK_END_TIME = IN_ED
|
|
AND A.IN_OUT_KBN = '1'
|
|
AND A.DELETE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA502E_INOUT_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA502E_INOUT_CHECK;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA502E_INOUT_CHECK
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM IN_OUT_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_STT_TIME = IN_ST
|
|
AND WORK_END_TIME = IN_ED
|
|
AND TRANS_FILE_CREATE_YN <> '1'
|
|
AND DELETE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA502E_INOUT_CHECK;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA502E_FARE_TER_CHECK;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA502E_FARE_TER_CHECK
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_TIMES BETWEEN IN_ST AND IN_ED
|
|
AND TRANS_FILE_CREATE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA502E_FARE_TER_CHECK;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA502E_ADJUST_CHECK;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA502E_ADJUST_CHECK
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_STT_TIME = IN_ST
|
|
AND WORK_END_TIME = IN_ED
|
|
AND FARE_ADJUST_YN = '1'
|
|
AND TRANS_FILE_CREATE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA502E_ADJUST_CHECK;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA500E_SEQNO_MAX;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA500E_SEQNO_MAX
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR,
|
|
IN_SEQNO IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT NVL(MAX(SEQNO),0)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_TIMES BETWEEN IN_ST AND IN_ED
|
|
AND OTHER_SEQNO = IN_SEQNO;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA500E_SEQNO_MAX;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA500E_OVERFARE_DUP;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA500E_OVERFARE_DUP
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR,
|
|
IN_TIME IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
-- 과오납 중복체크
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERFARE_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY
|
|
AND WORK_STT_TIME = IN_ST
|
|
AND WORK_END_TIME = IN_ED
|
|
AND OVERFARE_TIMES = IN_TIME
|
|
AND DELETE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA500E_OVERFARE_DUP;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA500E_OVERFARE_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA500E_OVERFARE_CNT
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
-- 과오납정보 건수를 리턴한다.
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERFARE_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY
|
|
AND WORK_STT_TIME = IN_ST
|
|
AND WORK_END_TIME = IN_ED
|
|
AND DELETE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA500E_OVERFARE_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA500E_OVERFARE_CASH;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA500E_OVERFARE_CASH
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
-- 과오납정보 금액을 리턴한다.
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT NVL(SUM(OVERFARE_AMOUNT),0)
|
|
INTO V_RET
|
|
FROM OVERFARE_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR = IN_YEAR
|
|
AND MONTH = IN_MONTH
|
|
AND DAY = IN_DAY
|
|
AND WORK_STT_TIME = IN_ST
|
|
AND WORK_END_TIME = IN_ED
|
|
AND DELETE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA500E_OVERFARE_CASH;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA500E_OVERCOUPON_NO;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA500E_OVERCOUPON_NO
|
|
(
|
|
in_id in char, -- id
|
|
in_fare in char, -- 요금소 코드
|
|
in_booth in char, -- 차로 코드
|
|
in_date in char, -- 근무일자
|
|
in_st in char, -- 시작시간
|
|
in_ed in char -- 종료시간
|
|
)
|
|
RETURN NUMBER
|
|
-- 설명 : 과잉쿠폰 매수를 리턴한다.
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT NVL(SUM(COUPON_COUNT), 0)
|
|
INTO V_RET
|
|
FROM OVERCOUPON_DETAIL_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_STT_TIME = IN_ST
|
|
AND WORK_END_TIME = IN_ED
|
|
AND DELETE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA500E_OVERCOUPON_NO;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA500E_OVERCOUPON_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA500E_OVERCOUPON_CNT
|
|
-----------------------------
|
|
-- 설명 : 과잉쿠폰 조회에 대한 전체 카운트
|
|
-- kim dong eun
|
|
------------------------------
|
|
(
|
|
in_id in char, -- id
|
|
in_fare in char, -- 요금소 코드
|
|
in_booth in char, -- 차로 코드
|
|
in_date in char, -- 근무일자
|
|
in_st in char, -- 시작시간
|
|
in_ed in char -- 종료시간
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM OVERCOUPON_DETAIL_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_STT_TIME = IN_ST
|
|
AND WORK_END_TIME = IN_ED
|
|
AND DELETE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA500E_OVERCOUPON_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA500E_OC_HEAD_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA500E_OC_HEAD_CNT
|
|
-----------------------------
|
|
-- 설명 : 과잉쿠폰 조회에 대한 전체 카운트
|
|
-- kim dong eun
|
|
------------------------------
|
|
(
|
|
in_id in char, -- id
|
|
in_fare in char, -- 요금소 코드
|
|
in_booth in char, -- 차로 코드
|
|
in_date in char, -- 근무일자
|
|
in_st in char, -- 시작시간
|
|
in_ed in char -- 종료시간
|
|
)
|
|
RETURN NUMBER
|
|
is
|
|
V_RET NUMBER;
|
|
begin
|
|
|
|
select count(*)
|
|
into V_RET
|
|
from overcoupon_head_info
|
|
where worker_id = in_id
|
|
and fare_office_id = in_fare
|
|
and booth_id = in_booth
|
|
and year||month||day = in_date
|
|
and work_stt_time = in_st
|
|
and work_end_time = in_ed;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
end FUN_TEA500E_OC_HEAD_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA500E_FARE_TER_MAX;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA500E_FARE_TER_MAX
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT NVL(MAX(SEQNO),0)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_TIMES BETWEEN IN_ST AND IN_ED;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA500E_FARE_TER_MAX;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA500E_FARE_DUPLICATE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA500E_FARE_DUPLICATE
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_TIME IN CHAR,
|
|
IN_SEQNO IN NUMBER
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
|
|
V_RET NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_TIMES = IN_TIME
|
|
AND SEQNO = IN_SEQNO;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA500E_FARE_DUPLICATE;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA500E_COMPARE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA500E_COMPARE
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR,
|
|
IN_SEQNO IN CHAR,
|
|
IN_COLLECT IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
|
|
V_FARE NUMBER := 0;
|
|
V_CASH NUMBER := 0;
|
|
V_K_CASH NUMBER := 0;
|
|
V_COUPON NUMBER := 0;
|
|
V_K_COUPON NUMBER := 0;
|
|
V_FREE NUMBER := 0;
|
|
V_MINAP NUMBER := 0;
|
|
|
|
V_RET NUMBER := 0;
|
|
|
|
BEGIN
|
|
-- 요금단말내역과 정산내역 통행량 비교
|
|
SELECT COUNT(*)
|
|
INTO V_FARE
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_TIMES BETWEEN IN_ST AND IN_ED
|
|
AND OTHER_SEQNO = IN_SEQNO
|
|
AND DELETE_YN = '0'
|
|
AND COLLECT_ID = IN_COLLECT;
|
|
|
|
SELECT NVL(CASH_QUANTITY,0),
|
|
NVL(COUPON_QUANTITY,0),
|
|
NVL(K_CASH_Q,0),
|
|
NVL(K_COUPON_Q,0),
|
|
NVL(EXEMPTION_QUANTITY,0),
|
|
NVL(NONPAYMENT_QUANTITY,0)
|
|
INTO V_CASH,V_COUPON, V_K_CASH, V_K_COUPON,
|
|
V_FREE, V_MINAP
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_STT_TIME = IN_ST
|
|
AND WORK_END_TIME = IN_ED;
|
|
|
|
IF IN_COLLECT = '10' THEN
|
|
|
|
IF V_FARE = V_CASH THEN
|
|
V_RET := 0;
|
|
ELSIF V_FARE <> V_CASH THEN
|
|
V_RET := 1;
|
|
END IF;
|
|
|
|
ELSIF IN_COLLECT = '11' THEN
|
|
|
|
IF V_FARE = V_K_CASH THEN
|
|
V_RET := 0;
|
|
ELSIF V_FARE <> V_K_CASH THEN
|
|
V_RET := 1;
|
|
END IF;
|
|
|
|
ELSIF IN_COLLECT = '51' THEN
|
|
|
|
IF V_FARE = V_COUPON THEN
|
|
V_RET := 0;
|
|
ELSIF V_FARE <> V_COUPON THEN
|
|
V_RET := 1;
|
|
END IF;
|
|
|
|
ELSIF IN_COLLECT = '53' THEN
|
|
|
|
IF V_FARE = V_K_COUPON THEN
|
|
V_RET := 0;
|
|
ELSIF V_FARE <> V_K_COUPON THEN
|
|
V_RET := 1;
|
|
END IF;
|
|
|
|
ELSIF IN_COLLECT = '30' THEN
|
|
|
|
IF V_FARE = V_FREE THEN
|
|
V_RET := 0;
|
|
ELSIF V_FARE <> V_FREE THEN
|
|
V_RET := 1;
|
|
END IF;
|
|
|
|
ELSIF IN_COLLECT = '40' THEN
|
|
|
|
IF V_FARE = V_MINAP THEN
|
|
V_RET := 0;
|
|
ELSIF V_FARE <> V_MINAP THEN
|
|
V_RET := 1;
|
|
END IF;
|
|
|
|
END IF;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 1;
|
|
|
|
END FUN_TEA500E_COMPARE;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA500E_CAR_TYPE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA500E_CAR_TYPE
|
|
/******************************************************************************
|
|
NAME: FUN_TEA500E_CAR_TYPE
|
|
PURPOSE: 차량번호에서 차종코드를 알아낸다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-02 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_TEA500E_CAR_TYPE or FUN_TEA500E_CAR_TYPE
|
|
Sysdate: 2002-11-02
|
|
Date/Time: 2002-11-02 오후 2:12:32
|
|
Date: 2002-11-02
|
|
Time: 오후 2:12:32
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
(
|
|
IN_GUBUN NUMBER, -- 번호 자리수 구분
|
|
IN_NUM CHAR -- 차랑번호
|
|
)
|
|
RETURN CHAR
|
|
IS
|
|
|
|
V_TYPE CHAR(1) := ' ';
|
|
|
|
BEGIN
|
|
|
|
IF IN_GUBUN = 12 THEN
|
|
|
|
SELECT CARS_TYPE_ID
|
|
INTO V_TYPE
|
|
FROM CARS_TYPE_CODE_INFO
|
|
WHERE STT_FNO <= IN_NUM
|
|
AND END_FNO >= IN_NUM;
|
|
|
|
ELSIF IN_GUBUN = 11 THEN
|
|
|
|
SELECT CARS_TYPE_ID
|
|
INTO V_TYPE
|
|
FROM CARS_TYPE_CODE_INFO
|
|
WHERE STT_SNO <= IN_NUM
|
|
AND END_SNO >= IN_NUM;
|
|
|
|
END IF;
|
|
|
|
RETURN V_TYPE;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN '5';
|
|
WHEN OTHERS THEN
|
|
RETURN '5';
|
|
|
|
END FUN_TEA500E_CAR_TYPE;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TEA500E_CARD_CASH;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TEA500E_CARD_CASH
|
|
/******************************************************************************
|
|
NAME: FUN_TEA500E_CARD_CASH
|
|
PURPOSE: 징수원 정산의 선,후불 금액 합계를 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-15 1. Created this function.
|
|
|
|
Object Name: FUN_TEA500E_CARD_CASH or FUN_TEA500E_CARD_CASH
|
|
Sysdate: 2002-11-15
|
|
Date/Time: 2002-11-15 오전 12:15:05
|
|
Date: 2002-11-15
|
|
Time: 오전 12:15:05
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
(
|
|
IN_ID IN CHAR, -- 징수원아이디
|
|
IN_FARE IN CHAR, -- 요금소
|
|
IN_BOOTH IN CHAR, -- 차로
|
|
IN_DATE IN CHAR, -- 통행일자
|
|
IN_ST IN CHAR, -- 근무시작시간
|
|
IN_ED IN CHAR -- 근무종료시간
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_CASH NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT NVL(CARD_BEFORE_INCOME,0)+NVL(CARD_AFTER_INCME,0) AS A
|
|
INTO V_CASH
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_STT_TIME = IN_ST
|
|
AND WORK_END_TIME = IN_ED;
|
|
|
|
RETURN V_CASH;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TEA500E_CARD_CASH;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TBF500E_SAM_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TBF500E_SAM_CNT
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM JOIN_CARD_INFO
|
|
WHERE TRANS_FILE_CREATE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TBF500E_SAM_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TBF500E_DUP1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TBF500E_DUP1
|
|
(
|
|
IN_FARE IN CHAR,
|
|
IN_ISSUE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM JOIN_CARD_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE
|
|
AND CARD_ISSUE_ID = IN_ISSUE;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TBF500E_DUP1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TBF500E_DUP;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TBF500E_DUP
|
|
(
|
|
IN_FARE IN CHAR,
|
|
IN_NUM IN VARCHAR2,
|
|
IN_ISSUE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM JOIN_CARD_INFO
|
|
WHERE FARE_OFFICE_ID = IN_FARE
|
|
AND JOIN_CARD_NUMBER = IN_NUM
|
|
AND CARD_ISSUE_ID = IN_ISSUE;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TBF500E_DUP;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TBD000E_ROW;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TBD000E_ROW
|
|
(
|
|
IN_COLLECT1 IN CHAR, -- 징수유형
|
|
IN_COLLECT2 IN CHAR -- 징수유형
|
|
)
|
|
RETURN NUMBER
|
|
-- 당일 요금정보 건수 리턴
|
|
IS
|
|
V_ROW NUMBER;
|
|
BEGIN
|
|
|
|
IF IN_COLLECT1 = '%' THEN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_ROW
|
|
FROM FARE_INFO
|
|
WHERE TO_CHAR(STT_DATE, 'YYYYMMDD') <= TO_CHAR(SYSDATE, 'YYYYMMDD')
|
|
AND TO_CHAR(END_DATE, 'YYYYMMDD') >= TO_CHAR(SYSDATE, 'YYYYMMDD');
|
|
|
|
ELSE
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_ROW
|
|
FROM FARE_INFO
|
|
WHERE COLLECT_ID IN (IN_COLLECT1, IN_COLLECT2)
|
|
AND TO_CHAR(STT_DATE, 'YYYYMMDD') <= TO_CHAR(SYSDATE, 'YYYYMMDD')
|
|
AND TO_CHAR(END_DATE, 'YYYYMMDD') >= TO_CHAR(SYSDATE, 'YYYYMMDD');
|
|
|
|
END IF;
|
|
|
|
RETURN V_ROW;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_TBD000E_ROW;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_TAR000Q_RTN;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_TAR000Q_RTN
|
|
( v_gubun IN BINARY_INTEGER,
|
|
v_office IN VARCHAR2,
|
|
v_from_dt IN VARCHAR2,
|
|
v_to_dt IN VARCHAR2,
|
|
v_week_kgb IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/*
|
|
** ???? ?? ??,???? ???? ??? ??? ??
|
|
*/
|
|
v_rc NUMBER := 0;
|
|
BEGIN
|
|
IF v_gubun = 1 THEN --????
|
|
SELECT SUM(NVL(IN_EXEMPTION_QUANTITY,0) + NVL(IN_CASH_QUANTITY,0) + NVL(IN_COUPON_QUANTITY,0) +
|
|
NVL(IN_NONPAYMENT_QUANTITY,0) + NVL(IN_CARD_BEFORE_QUANTITY,0) + NVL(IN_CARD_AFTER_QUANTITY,0) +
|
|
NVL(OUT_EXEMPTION_QUANTITY,0) + NVL(OUT_CASH_QUANTITY,0) + NVL(OUT_COUPON_QUANTITY,0) +
|
|
NVL(OUT_NONPAYMENT_QUANTITY,0) + NVL(OUT_CARD_BEFORE_QUANTITY,0) + NVL(OUT_CARD_AFTER_QUANTITY,0))
|
|
INTO v_rc
|
|
FROM DAY_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND YEAR||MONTH||DAY BETWEEN v_from_dt AND v_to_dt
|
|
AND WEEKDAY_KBN = v_week_kgb;
|
|
|
|
ELSIF v_gubun = 2 THEN --????
|
|
SELECT SUM(NVL(TOTAL_INCOME,0))
|
|
INTO v_rc
|
|
FROM DAY_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND YEAR||MONTH||DAY BETWEEN v_from_dt AND v_to_dt
|
|
AND WEEKDAY_KBN = v_week_kgb;
|
|
|
|
ELSIF v_gubun = 3 THEN --????
|
|
SELECT SUM(NVL(IN_EXEMPTION_QUANTITY,0) + NVL(IN_CASH_QUANTITY,0) + NVL(IN_COUPON_QUANTITY,0) +
|
|
NVL(IN_NONPAYMENT_QUANTITY,0) + NVL(IN_CARD_BEFORE_QUANTITY,0) + NVL(IN_CARD_AFTER_QUANTITY,0) +
|
|
NVL(OUT_EXEMPTION_QUANTITY,0) + NVL(OUT_CASH_QUANTITY,0) + NVL(OUT_COUPON_QUANTITY,0) +
|
|
NVL(OUT_NONPAYMENT_QUANTITY,0) + NVL(OUT_CARD_BEFORE_QUANTITY,0) + NVL(OUT_CARD_AFTER_QUANTITY,0))
|
|
INTO v_rc
|
|
FROM DAY_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND YEAR||MONTH BETWEEN SUBSTR(v_from_dt,1,6) AND SUBSTR(v_to_dt,1,6)
|
|
AND WEEKDAY_KBN = v_week_kgb;
|
|
|
|
ELSIF v_gubun = 4 THEN --????
|
|
SELECT SUM(NVL(TOTAL_INCOME,0))
|
|
INTO v_rc
|
|
FROM DAY_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND YEAR||MONTH BETWEEN SUBSTR(v_from_dt,1,6) AND SUBSTR(v_to_dt,1,6)
|
|
AND WEEKDAY_KBN = v_week_kgb;
|
|
|
|
ELSIF v_gubun = 5 THEN --????
|
|
SELECT SUM(NVL(IN_EXEMPTION_QUANTITY,0) + NVL(IN_CASH_QUANTITY,0) + NVL(IN_COUPON_QUANTITY,0) +
|
|
NVL(IN_NONPAYMENT_QUANTITY,0) + NVL(IN_CARD_BEFORE_QUANTITY,0) + NVL(IN_CARD_AFTER_QUANTITY,0) +
|
|
NVL(OUT_EXEMPTION_QUANTITY,0) + NVL(OUT_CASH_QUANTITY,0) + NVL(OUT_COUPON_QUANTITY,0) +
|
|
NVL(OUT_NONPAYMENT_QUANTITY,0) + NVL(OUT_CARD_BEFORE_QUANTITY,0) + NVL(OUT_CARD_AFTER_QUANTITY,0))
|
|
INTO v_rc
|
|
FROM DAY_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND YEAR BETWEEN SUBSTR(v_from_dt,1,4) AND SUBSTR(v_to_dt,1,4)
|
|
AND WEEKDAY_KBN = v_week_kgb;
|
|
|
|
ELSIF v_gubun = 6 THEN --????
|
|
SELECT SUM(NVL(TOTAL_INCOME,0))
|
|
INTO v_rc
|
|
FROM DAY_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND YEAR BETWEEN SUBSTR(v_from_dt,1,4) AND SUBSTR(v_to_dt,1,4)
|
|
AND WEEKDAY_KBN = v_week_kgb;
|
|
END IF;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION WHEN NO_DATA_FOUND THEN
|
|
v_rc := 0;
|
|
RETURN v_rc;
|
|
END FUN_TAR000Q_RTN;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_STOP_PICTURE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_STOP_PICTURE
|
|
-------------------------------------------------------------------
|
|
-- 정지영상 파일명 읽어오기
|
|
-- 대상항목 : 다음
|
|
-- 작성자 : 박치영, 작성일 : 2002/11/20 수정일 : 2002/11/20
|
|
-------------------------------------------------------------------
|
|
(
|
|
in_tunnel IN char,
|
|
in_booth IN char,
|
|
in_year IN char,
|
|
in_month IN char,
|
|
in_day IN char,
|
|
in_work_times IN char
|
|
) RETURN char
|
|
IS
|
|
v_pic char(23) := '';
|
|
BEGIN
|
|
|
|
SELECT CARS_STOP_PICTURE_FILE
|
|
INTO v_pic
|
|
FROM DEFAULT_FARE_READ_INFO
|
|
WHERE FARE_OFFICE_ID = in_tunnel
|
|
AND BOOTH_ID = in_booth
|
|
AND YEAR = in_year
|
|
AND MONTH = in_month
|
|
AND DAY = in_day
|
|
AND WORK_TIMES = in_work_times;
|
|
|
|
RETURN v_pic;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN '';
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_SOURCE_STATUS;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_SOURCE_STATUS
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_NAME IN VARCHAR2
|
|
)
|
|
RETURN VARCHAR2
|
|
IS
|
|
|
|
V_STATUS VARCHAR2(7) := ' ';
|
|
V_RET VARCHAR2(100) := ' ';
|
|
|
|
BEGIN
|
|
|
|
SELECT STATUS
|
|
INTO V_STATUS
|
|
FROM USER_OBJECTS
|
|
WHERE OBJECT_TYPE = UPPER(IN_GUBUN)
|
|
AND OBJECT_NAME = UPPER(IN_NAME);
|
|
|
|
|
|
IF RTRIM(V_STATUS) = 'INVALID' THEN
|
|
V_RET := UPPER(IN_GUBUN)||' "'||UPPER(IN_NAME)||'" 가 동작하지 않습니다. 전산담당자에서 문의하세요.';
|
|
ELSE
|
|
V_RET := RTRIM(V_STATUS);
|
|
END IF;
|
|
|
|
|
|
RETURN RTRIM(V_RET);
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
|
|
RETURN NULL;
|
|
|
|
|
|
END FUN_SOURCE_STATUS;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_SAM_REPAY_CNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_SAM_REPAY_CNT
|
|
(
|
|
IN_ID IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_RET
|
|
FROM RF_REPAY_INFO
|
|
WHERE WORKER_ID = IN_ID
|
|
AND FARE_OFFICE_ID = IN_FARE
|
|
AND BOOTH_ID = IN_BOOTH
|
|
AND YEAR||MONTH||DAY = IN_DATE
|
|
AND WORK_TIMES BETWEEN IN_ST AND IN_ED
|
|
AND TRANS_FILE_CREATE_YN = '0';
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_SAM_REPAY_CNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_RFID_CAR;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_RFID_CAR
|
|
(
|
|
IN_TAG IN CHAR
|
|
)
|
|
RETURN VARCHAR2
|
|
IS
|
|
|
|
V_CAR VARCHAR2(20) := '';
|
|
|
|
BEGIN
|
|
|
|
SELECT CAR_NO
|
|
INTO V_CAR
|
|
FROM RFID_INFO
|
|
WHERE RFID_TAG = RTRIM(IN_TAG,' ');
|
|
|
|
RETURN V_CAR;
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
V_CAR := '';
|
|
RETURN V_CAR;
|
|
|
|
END FUN_RFID_CAR;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_RET_LAST_DAY;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_RET_LAST_DAY
|
|
(
|
|
IN_YM IN CHAR
|
|
)
|
|
RETURN CHAR
|
|
IS
|
|
|
|
V_DAY CHAR(2) := '';
|
|
|
|
BEGIN
|
|
|
|
SELECT TO_CHAR(LAST_DAY(TO_DATE(IN_YM, 'YYYYMM')), 'DD')
|
|
INTO V_DAY
|
|
FROM DUAL;
|
|
|
|
RETURN V_DAY;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN '29';
|
|
|
|
END FUN_RET_LAST_DAY;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_NEW_CAR_TYPE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_NEW_CAR_TYPE
|
|
(
|
|
IN_CAR_NUM IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_RET NUMBER := 0;
|
|
V_CNT NUMBER := 0;
|
|
|
|
-- 2010.8.11 KDE 신차량번호 차종판독.. 드뎌한다.
|
|
|
|
BEGIN
|
|
|
|
SELECT COUNT(*)
|
|
INTO V_CNT
|
|
FROM CARS_TYPE_CODE_INFO
|
|
WHERE NEW_ST <= IN_CAR_NUM
|
|
AND NEW_ED >= IN_CAR_NUM;
|
|
|
|
IF V_CNT = 0 THEN
|
|
V_RET := 5;
|
|
ELSIF V_CNT > 0 THEN
|
|
SELECT CARS_TYPE_ID
|
|
INTO V_RET
|
|
FROM CARS_TYPE_CODE_INFO
|
|
WHERE NEW_ST <= IN_CAR_NUM
|
|
AND NEW_ED >= IN_CAR_NUM;
|
|
END IF;
|
|
|
|
RETURN V_RET;
|
|
|
|
EXCEPTION WHEN NO_DATA_FOUND THEN
|
|
V_RET := 5;
|
|
|
|
END FUN_NEW_CAR_TYPE;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_MONEY_FROM_FARE_TER;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_MONEY_FROM_FARE_TER
|
|
/******************************************************************************
|
|
NAME: FUN_MONEY_FROM_FARE_TER
|
|
PURPOSE: 요금단말에서 징수유형별로 금액을 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-15 1. Created this function.
|
|
|
|
Object Name: FUN_MONEY_FROM_FARE_TER or FUN_MONEY_FROM_FARE_TER
|
|
Sysdate: 2002-11-15
|
|
Date/Time: 2002-11-15 오전 12:15:05
|
|
Date: 2002-11-15
|
|
Time: 오전 12:15:05
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
(
|
|
IN_ID IN CHAR, -- 징수원 아이디
|
|
IN_FARE IN CHAR, -- 요금소
|
|
IN_BOOTH IN CHAR, -- 차로
|
|
IN_DATE IN CHAR, -- 통행일자
|
|
IN_ST IN CHAR, -- 근무시작시간
|
|
IN_ED IN CHAR, -- 근무종료시간
|
|
IN_COLLECT IN CHAR -- 징수유형
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_CASH NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT nvl(sum(levy_amount),0)
|
|
INTO V_CASH
|
|
FROM FARE_TERMINAL_INFO
|
|
WHERE fare_office_id = IN_FARE
|
|
and worker_id = IN_ID
|
|
and booth_id = IN_BOOTH
|
|
and year||month||day = IN_DATE
|
|
and SUBSTR(work_times,1,4) between IN_ST and IN_ED
|
|
and collect_id = IN_COLLECT
|
|
and delete_yn = '0';
|
|
|
|
RETURN V_CASH;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_MONEY_FROM_FARE_TER;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_MONEY_FROM_FARE_INFO1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_MONEY_FROM_FARE_INFO1
|
|
/******************************************************************************
|
|
NAME: FUN_MONEY_FROM_FARE_INFO1
|
|
PURPOSE: 요금정보에서 징수유형별로 금액을 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-15 1. Created this function.
|
|
|
|
Object Name: FUN_MONEY_FROM_FARE_INFO1 or FUN_MONEY_FROM_FARE_INFO1
|
|
Sysdate: 2002-11-15
|
|
Date/Time: 2002-11-15 오전 12:15:05
|
|
Date: 2002-11-15
|
|
Time: 오전 12:15:05
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
(
|
|
IN_DATE IN CHAR, -- 년월일
|
|
IN_COLLECT IN CHAR -- 징수유형
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_CASH NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT NVL(LEVY_AMOUNT, 0)
|
|
INTO V_CASH
|
|
FROM FARE_INFO
|
|
WHERE STT_DATE <= TO_DATE(IN_DATE, 'YYYYMMDD')
|
|
AND END_DATE >= TO_DATE(IN_DATE, 'YYYYMMDD')
|
|
AND COLLECT_ID = IN_COLLECT;
|
|
--GROUP BY LEVY_AMOUNT;
|
|
|
|
RETURN V_CASH;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_MONEY_FROM_FARE_INFO1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_MONEY_FROM_FARE_INFO;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_MONEY_FROM_FARE_INFO
|
|
/******************************************************************************
|
|
NAME: FUN_MONEY_FROM_FARE_INFO
|
|
PURPOSE: 요금정보에서 징수유형별로 금액을 가져온다.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-15 1. Created this function.
|
|
|
|
Object Name: FUN_MONEY_FROM_FARE_INFO or FUN_MONEY_FROM_FARE_INFO
|
|
Sysdate: 2002-11-15
|
|
Date/Time: 2002-11-15 오전 12:15:05
|
|
Date: 2002-11-15
|
|
Time: 오전 12:15:05
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
(
|
|
IN_COLLECT IN CHAR -- 징수유형
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
V_CASH NUMBER := 0;
|
|
BEGIN
|
|
|
|
SELECT NVL(LEVY_AMOUNT, 0)
|
|
INTO V_CASH
|
|
FROM FARE_INFO
|
|
WHERE STT_DATE <= SYSDATE
|
|
AND END_DATE >= SYSDATE
|
|
AND COLLECT_ID = IN_COLLECT;
|
|
|
|
RETURN V_CASH;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_MONEY_FROM_FARE_INFO;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_HISTORY_INS_CHK;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_HISTORY_INS_CHK
|
|
/*************************************************************
|
|
** 검색시작일자, 종료일자, 현진행코드를 입력받아
|
|
** history 파일을 만들었는지 판별한다.
|
|
** 생성 건수를 반환한다.
|
|
** 적용범위 : penalty history create
|
|
** 작성자 : 박치영 작성일 : 2002/10/03 수정일 : 2002/11/2
|
|
**************************************************************/
|
|
(
|
|
in_from IN char, -- 검색시작일자
|
|
in_to IN char, -- 검색종료일자
|
|
in_motion IN char -- 현 진행 코드
|
|
) RETURN number
|
|
IS
|
|
|
|
p_count number;
|
|
|
|
BEGIN
|
|
|
|
SELECT count(*)
|
|
INTO p_count
|
|
FROM penalty_history_head_info
|
|
WHERE to_char(stt_work_date, 'yyyymmdd') = in_from
|
|
AND to_char(end_work_date, 'yyyymmdd') = in_to
|
|
AND motion_id = in_motion;
|
|
|
|
RETURN p_count;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_WORKER;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_WORKER ( v_empno IN CHAR ) RETURN VARCHAR2
|
|
IS
|
|
v_rc VARCHAR2(10);
|
|
/*
|
|
징수원 아이디를 받아 징수원명을 리턴한다.
|
|
*/
|
|
BEGIN
|
|
SELECT WORKER_NAME
|
|
INTO v_rc
|
|
FROM WORKER_INFO
|
|
WHERE WORKER_ID = v_empno;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
v_rc := '';
|
|
RETURN v_rc;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_WORKCNT1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_WORKCNT1
|
|
(
|
|
v_office IN CHAR,
|
|
v_worker IN CHAR,
|
|
v_booth IN CHAR,
|
|
v_stt_date IN CHAR,
|
|
v_end_date IN CHAR,
|
|
v_time_st IN CHAR,
|
|
v_time_ed IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
h_count NUMBER := 0;
|
|
v_rc NUMBER := 0;
|
|
BEGIN
|
|
/*
|
|
**징수원 시간대별 차로별 근무현황
|
|
*/
|
|
SELECT COUNT(BOOTH_ID)
|
|
INTO h_count
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND WORKER_ID = v_worker
|
|
AND BOOTH_ID = v_booth
|
|
AND YEAR||MONTH||DAY BETWEEN v_stt_date AND v_end_date
|
|
AND ((substr(WORK_STT_TIME,1,2) <= v_time_st AND substr(WORK_END_TIME,1,2) >= v_time_ed)
|
|
or (substr(WORK_STT_TIME,1,2) = v_time_st AND substr(WORK_END_TIME,1,2) = v_time_st));
|
|
/*
|
|
GROUP BY YEAR,MONTH,DAY,WORKER_ID,FARE_OFFICE_ID,
|
|
BOOTH_ID,WORK_STT_TIME,WORK_END_TIME;
|
|
*/
|
|
IF h_count = 0 THEN
|
|
v_rc := 0;
|
|
RETURN v_rc;
|
|
ELSE
|
|
v_rc := h_count;
|
|
END IF;
|
|
|
|
RETURN v_rc;
|
|
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
|
|
RETURN 0;
|
|
|
|
END FUN_GET_WORKCNT1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_WORKCNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_WORKCNT
|
|
(
|
|
v_office IN CHAR,
|
|
v_worker IN CHAR,
|
|
v_booth IN CHAR,
|
|
v_stt_date IN CHAR,
|
|
v_end_date IN CHAR,
|
|
v_time_zone IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
h_count NUMBER := 0;
|
|
v_rc NUMBER := 0;
|
|
BEGIN
|
|
/*
|
|
**징수원 시간대별 차로별 근무현황
|
|
*/
|
|
SELECT COUNT(BOOTH_ID)
|
|
INTO h_count
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND WORKER_ID = v_worker
|
|
AND BOOTH_ID = v_booth
|
|
AND YEAR||MONTH||DAY BETWEEN v_stt_date AND v_end_date
|
|
AND WORK_STT_TIME||WORK_END_TIME = v_time_zone
|
|
GROUP BY YEAR,MONTH,DAY,WORKER_ID,FARE_OFFICE_ID,
|
|
BOOTH_ID,WORK_STT_TIME,WORK_END_TIME;
|
|
|
|
IF h_count = 0 THEN
|
|
v_rc := 0;
|
|
RETURN v_rc;
|
|
ELSE
|
|
v_rc := h_count;
|
|
END IF;
|
|
|
|
RETURN v_rc;
|
|
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
|
|
RETURN 0;
|
|
|
|
END FUN_GET_WORKCNT;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_TTJ502Q;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_TTJ502Q
|
|
(
|
|
v_flag IN CHAR,
|
|
v_office IN CHAR,
|
|
v_time IN CHAR,
|
|
v_stt_date IN CHAR,
|
|
v_end_date IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
h_count NUMBER := 0;
|
|
v_rc NUMBER := 0;
|
|
BEGIN
|
|
|
|
IF v_flag = '1' THEN
|
|
|
|
BEGIN
|
|
SELECT NVL(SUM(NVL(IN_EXEMPTION_QUANTITY,0) + NVL(IN_CASH_QUANTITY,0) +
|
|
NVL(IN_COUPON_QUANTITY,0) + NVL(IN_NONPAYMENT_QUANTITY,0) +
|
|
NVL(IN_CARD_BEFORE_QUANTITY,0) + NVL(IN_CARD_AFTER_QUANTITY,0) +
|
|
NVL(IN_K_CASH_Q,0) + NVL(IN_K_COUPON_Q,0) +
|
|
NVL(IN_K_CARD_SUN_Q,0) + NVL(IN_K_CARD_WHO_Q,0)),0)
|
|
INTO v_rc
|
|
FROM TIME_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND TIMES = v_time
|
|
AND YEAR||MONTH||DAY BETWEEN v_stt_date AND v_end_date
|
|
GROUP BY TIMES;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
END;
|
|
|
|
ELSE
|
|
BEGIN
|
|
SELECT NVL(SUM(NVL(OUT_EXEMPTION_QUANTITY,0) + NVL(OUT_CASH_QUANTITY,0) +
|
|
NVL(OUT_COUPON_QUANTITY,0) + NVL(OUT_NONPAYMENT_QUANTITY,0) +
|
|
NVL(OUT_CARD_BEFORE_QUANTITY,0) + NVL(OUT_CARD_AFTER_QUANTITY,0) +
|
|
NVL(OUT_K_CASH_Q,0) + NVL(OUT_K_COUPON_Q,0) +
|
|
NVL(OUT_K_CARD_SUN_Q,0) + NVL(OUT_K_CARD_WHO_Q,0)),0)
|
|
INTO v_rc
|
|
FROM TIME_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE v_office
|
|
AND TIMES = v_time
|
|
AND YEAR||MONTH||DAY BETWEEN v_stt_date AND v_end_date
|
|
GROUP BY TIMES;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
END;
|
|
END IF;
|
|
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
v_rc := 0;
|
|
RETURN v_rc;
|
|
|
|
END FUN_GET_TTJ502Q;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_SYSDATE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_SYSDATE ( v_flag IN CHAR ) RETURN VARCHAR2
|
|
IS
|
|
v_rc VARCHAR2(20);
|
|
/*
|
|
** ???? ?? ??? ??? ??? ???? ?? : ? ? ?
|
|
*/
|
|
BEGIN
|
|
IF v_flag = '1' THEN
|
|
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH:MM:SS')
|
|
INTO v_rc
|
|
FROM DUAL;
|
|
ELSIF v_flag = '2' THEN
|
|
SELECT TO_CHAR(SYSDATE,'YYYYMMDD HH:MM:SS')
|
|
INTO v_rc
|
|
FROM DUAL;
|
|
ELSIF v_flag = '3' THEN
|
|
SELECT TO_CHAR(SYSDATE,'YYYYMMDD')
|
|
INTO v_rc
|
|
FROM DUAL;
|
|
ELSIF v_flag = '4' THEN
|
|
SELECT TO_CHAR(SYSDATE,'YYYY')
|
|
INTO v_rc
|
|
FROM DUAL;
|
|
ELSIF v_flag = '5' THEN
|
|
SELECT TO_CHAR(SYSDATE,'MM')
|
|
INTO v_rc
|
|
FROM DUAL;
|
|
ELSIF v_flag = '6' THEN
|
|
SELECT TO_CHAR(SYSDATE,'DD')
|
|
INTO v_rc
|
|
FROM DUAL;
|
|
ELSIF v_flag = '7' THEN
|
|
SELECT TO_CHAR(SYSDATE,'HH:MM:SS')
|
|
INTO v_rc
|
|
FROM DUAL;
|
|
ELSIF v_flag = '8' THEN
|
|
SELECT TO_CHAR(SYSDATE,'HH24MI')
|
|
INTO v_rc
|
|
FROM DUAL;
|
|
END IF;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN '';
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_MANAGER;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_MANAGER
|
|
(
|
|
v_id IN CHAR -- 관리자 ID
|
|
) RETURN VARCHAR2
|
|
IS
|
|
v_rc VARCHAR2(10) := '';
|
|
v_tm varchar2(10) := '';
|
|
/*
|
|
** 관리자 명을 리턴한다.
|
|
*/
|
|
BEGIN
|
|
SELECT USER_NAME
|
|
INTO v_tm
|
|
FROM MANAGE_INFO
|
|
WHERE USER_ID = v_id;
|
|
|
|
v_rc := rtrim(v_tm, ' ');
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
v_rc := '';
|
|
RETURN v_rc;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_JPG;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_JPG(
|
|
pc_office IN CHAR,
|
|
pc_booth_id IN CHAR,
|
|
pc_year IN CHAR,
|
|
pc_month IN CHAR,
|
|
pc_day IN CHAR,
|
|
pc_times IN CHAR
|
|
) RETURN VARCHAR2
|
|
IS
|
|
|
|
pc_jpg VARCHAR2(50);
|
|
|
|
BEGIN
|
|
SELECT CARS_STOP_PICTURE_FILE
|
|
INTO pc_jpg
|
|
FROM default_fare_read_info
|
|
WHERE fare_office_id = pc_office
|
|
AND booth_id = pc_booth_id
|
|
AND year = pc_year
|
|
AND month = pc_month
|
|
AND day = pc_day
|
|
AND work_times = pc_times;
|
|
|
|
RETURN pc_jpg;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_JINGSU_DAY;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_JINGSU_DAY
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_FARE IN CHAR,
|
|
IN_BOOTH IN CHAR,
|
|
IN_ST IN CHAR,
|
|
IN_ED IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_GET_JINGSU_DAY
|
|
PURPOSE: 일 정산에서 징수일수 가져오기...
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
IF IN_GUBUN = 'day' THEN
|
|
|
|
-- 일별 징수일수
|
|
select count(*)
|
|
into v_cnt
|
|
from (
|
|
select year,month,day
|
|
from day_adjust_info
|
|
where year||month||day between in_st and in_ed
|
|
and fare_office_id like in_fare
|
|
and booth_id like in_booth
|
|
group by year,month,day);
|
|
|
|
ELSIF IN_GUBUN = 'month' THEN
|
|
|
|
-- 월별 징수일수
|
|
select count(*)
|
|
into v_cnt
|
|
from (
|
|
select year,month,day
|
|
from day_adjust_info
|
|
where year||month between in_st and in_ed
|
|
and fare_office_id like in_fare
|
|
and booth_id like in_booth
|
|
group by year,month,day);
|
|
|
|
ELSIF IN_GUBUN = 'month1' THEN
|
|
|
|
-- 월별 징수일수
|
|
select count(*)
|
|
into v_cnt
|
|
from (
|
|
select year,month,day
|
|
from day_adjust_info
|
|
where year||month = in_st
|
|
and fare_office_id like in_fare
|
|
and booth_id like in_booth
|
|
group by year,month,day);
|
|
|
|
ELSIF IN_GUBUN = 'year' THEN
|
|
|
|
-- 년별 징수일수
|
|
select count(*)
|
|
into v_cnt
|
|
from (
|
|
select year,month,day
|
|
from day_adjust_info
|
|
where year between in_st and in_ed
|
|
and fare_office_id like in_fare
|
|
and booth_id like in_booth
|
|
group by year,month,day);
|
|
|
|
ELSIF IN_GUBUN = 'year1' THEN
|
|
|
|
-- 년별 징수일수
|
|
select count(*)
|
|
into v_cnt
|
|
from (
|
|
select year,month,day
|
|
from day_adjust_info
|
|
where year = in_st
|
|
and fare_office_id like in_fare
|
|
and booth_id like in_booth
|
|
group by year,month,day);
|
|
|
|
END IF;
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_GET_JINGSU_DAY;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_ISSUENAME;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_ISSUENAME ( v_cardoffice_id IN CHAR ) RETURN VARCHAR2
|
|
IS
|
|
v_rc VARCHAR2(60);
|
|
/*
|
|
** ??????? ?? : ? ? ?
|
|
*/
|
|
BEGIN
|
|
SELECT ISSUE_NAME
|
|
INTO v_rc
|
|
FROM ISSUE_OFFICE_CODE_INFO
|
|
WHERE ISSUE_OFFICE_ID = v_cardoffice_id;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
v_rc := '';
|
|
RETURN v_rc;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_FAREOFFICE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_FAREOFFICE ( v_office IN CHAR ) RETURN VARCHAR2
|
|
IS
|
|
v_rc VARCHAR2(60);
|
|
/*
|
|
** ????? ?? : ? ? ?
|
|
*/
|
|
BEGIN
|
|
SELECT FARE_OFFICE_FULL_NAME
|
|
INTO v_rc
|
|
FROM FARE_OFFICE_CODE_INFO
|
|
WHERE FARE_OFFICE_ID = v_office;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
v_rc := '';
|
|
RETURN v_rc;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_EXAMREASON;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_EXAMREASON ( v_examcode IN CHAR ) RETURN VARCHAR2
|
|
IS
|
|
|
|
v_rc VARCHAR2(60);
|
|
/*
|
|
** ????? ?? : ? ? ?
|
|
*/
|
|
BEGIN
|
|
SELECT READ_RESULT_FULL_NAME
|
|
INTO v_rc
|
|
FROM READ_RESULT_CODE_INFO
|
|
WHERE READ_RESULT_ID = v_examcode ;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
v_rc := '';
|
|
RETURN v_rc;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_EMPLOYEE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_EMPLOYEE ( v_empno IN CHAR ) RETURN VARCHAR2
|
|
IS
|
|
v_rc VARCHAR2(10);
|
|
/*
|
|
** ???? ???? ?? : ? ? ?
|
|
*/
|
|
BEGIN
|
|
SELECT USER_NAME
|
|
INTO v_rc
|
|
FROM MANAGE_INFO
|
|
WHERE USER_ID = v_empno;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
v_rc := '';
|
|
RETURN v_rc;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_DEPTNM;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_DEPTNM ( v_part_id IN CHAR ) RETURN VARCHAR2
|
|
IS
|
|
|
|
v_rc VARCHAR2(60);
|
|
/*
|
|
** ???? ?? : ? ? ?
|
|
*/
|
|
BEGIN
|
|
SELECT PART_FULL_NAME
|
|
INTO v_rc
|
|
FROM PART_CODE_INFO
|
|
WHERE PART_ID = v_part_id;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
v_rc := '';
|
|
RETURN v_rc;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_DAY_NAME;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_DAY_NAME
|
|
(
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR
|
|
)
|
|
RETURN VARCHAR2
|
|
-- 일자받아서 요일 리턴....
|
|
-- 수정일 : 2003/04/28 수정자 : arcadia
|
|
IS
|
|
|
|
V_DATE DATE;
|
|
V_DAY VARCHAR2(10);
|
|
V_RET CHAR(6);
|
|
|
|
BEGIN
|
|
|
|
V_DATE := TO_DATE(IN_YEAR||'/'||IN_MONTH||'/'||IN_DAY, 'YYYY/MM/DD');
|
|
|
|
SELECT TO_CHAR(V_DATE, 'DAY')
|
|
INTO V_DAY
|
|
FROM DUAL;
|
|
|
|
IF RTRIM(V_DAY,' ') = 'SUNDAY' THEN
|
|
V_RET := '일요일';
|
|
ELSIF RTRIM(V_DAY,' ') = 'SATURDAY' THEN
|
|
V_RET := '토요일';
|
|
ELSIF RTRIM(V_DAY,' ') = 'MONDAY' THEN
|
|
V_RET := '월요일';
|
|
ELSIF RTRIM(V_DAY,' ') = 'TUESDAY' THEN
|
|
V_RET := '화요일';
|
|
ELSIF RTRIM(V_DAY,' ') = 'WEDNESDAY' THEN
|
|
V_RET := '수요일';
|
|
ELSIF RTRIM(V_DAY,' ') = 'THURSDAY' THEN
|
|
V_RET := '목요일';
|
|
ELSIF RTRIM(V_DAY,' ') = 'FRIDAY' THEN
|
|
V_RET := '금요일';
|
|
END IF;
|
|
|
|
RETURN V_RET;
|
|
|
|
END FUN_GET_DAY_NAME;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_DAY;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_DAY
|
|
(
|
|
IN_YEAR IN CHAR,
|
|
IN_MONTH IN CHAR,
|
|
IN_DAY IN CHAR
|
|
)
|
|
RETURN CHAR
|
|
IS
|
|
|
|
V_DATE DATE;
|
|
V_DAY VARCHAR2(10);
|
|
V_RET CHAR;
|
|
|
|
BEGIN
|
|
|
|
V_DATE := TO_DATE(IN_YEAR||'/'||IN_MONTH||'/'||IN_DAY, 'YYYY/MM/DD');
|
|
|
|
SELECT TO_CHAR(V_DATE, 'DAY')
|
|
INTO V_DAY
|
|
FROM DUAL;
|
|
|
|
IF RTRIM(V_DAY,' ') = 'SUNDAY' THEN
|
|
V_RET := '3';
|
|
ELSIF RTRIM(V_DAY,' ') = 'SATURDAY' THEN
|
|
V_RET := '2';
|
|
ELSE
|
|
V_RET := '1';
|
|
END IF;
|
|
|
|
RETURN V_RET;
|
|
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_COLLECT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_COLLECT ( v_collect_id IN CHAR ) RETURN VARCHAR2
|
|
IS
|
|
|
|
v_rc VARCHAR2(60);
|
|
/*
|
|
** ???????? ?? : ? ? ?
|
|
*/
|
|
BEGIN
|
|
SELECT COLLECT_FULL_NAME
|
|
INTO v_rc
|
|
FROM COLLECT_CODE_INFO
|
|
WHERE COLLECT_ID = v_collect_id;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
v_rc := '';
|
|
RETURN v_rc;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_CAR_SALE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_CAR_SALE
|
|
(
|
|
IN_GUBUN IN CHAR,
|
|
IN_DATE IN CHAR,
|
|
IN_FARE IN CHAR
|
|
)
|
|
RETURN NUMBER
|
|
IS
|
|
/******************************************************************************
|
|
NAME: FUN_GET_CAR_SALE
|
|
PURPOSE: 근무자정산에서 정액권 권수 일,월,년별로 가져오기.
|
|
|
|
REVISIONS:
|
|
Ver Date Author Description
|
|
--------- ---------- --------------- ------------------------------------
|
|
1.0 2002-11-23 KIM DONG EUN 1. Created this function.
|
|
|
|
Object Name: FUN_GET_CAR_SALE or FUN_GET_CAR_SALE
|
|
Sysdate: 2002-11-23
|
|
Date/Time: 2002-11-23 오후 11:00:34
|
|
Date: 2002-11-23
|
|
Time: 오후 11:00:34
|
|
Username: KIM DONG EUN
|
|
******************************************************************************/
|
|
|
|
V_CNT NUMBER := 0;
|
|
|
|
BEGIN
|
|
|
|
IF IN_GUBUN = '1' THEN
|
|
-- 일별 정액권 권수 -
|
|
SELECT NVL(SUM(COUPON_SALE_QUANTITY),0)
|
|
INTO V_CNT
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE IN_FARE
|
|
AND YEAR||MONTH||DAY = IN_DATE;
|
|
ELSIF IN_GUBUN = '2' THEN
|
|
-- 월별 정액권 권수
|
|
SELECT NVL(SUM(COUPON_SALE_QUANTITY), 0)
|
|
INTO V_CNT
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE IN_FARE
|
|
AND YEAR||MONTH||DAY = IN_DATE;
|
|
ELSIF IN_GUBUN = '3' THEN
|
|
-- 년별 정액권 권수
|
|
SELECT NVL(SUM(COUPON_SALE_QUANTITY), 0)
|
|
INTO V_CNT
|
|
FROM FARE_ADJUST_INFO
|
|
WHERE FARE_OFFICE_ID LIKE IN_FARE
|
|
AND YEAR = IN_DATE;
|
|
END IF;
|
|
|
|
RETURN V_CNT;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
RETURN 0;
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
|
|
END FUN_GET_CAR_SALE;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_CARTYPE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_CARTYPE ( v_CARNO IN CHAR ) RETURN VARCHAR2
|
|
IS
|
|
v_rc VARCHAR2(60);
|
|
/*
|
|
** ???? ?? : ? ? ?
|
|
*/
|
|
BEGIN
|
|
SELECT CAR_TYPE_NAME
|
|
INTO v_rc
|
|
FROM PENALTY_HEAD_INFO
|
|
WHERE CAR_NO = v_CARNO;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
v_rc := '';
|
|
RETURN v_rc;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_BOOTH1;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_BOOTH1
|
|
(
|
|
v_booth_id IN CHAR
|
|
)
|
|
RETURN VARCHAR2
|
|
/* 차로코드를 받아 차로명을 리턴한다. */
|
|
IS
|
|
|
|
v_rc VARCHAR2(60);
|
|
|
|
BEGIN
|
|
SELECT BOOTH_FULL_NAME
|
|
INTO v_rc
|
|
FROM BOOTH_CODE_INFO
|
|
WHERE BOOTH_ID = v_booth_id;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
v_rc := '';
|
|
RETURN v_rc;
|
|
END FUN_GET_BOOTH1;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_GET_BOOTH;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_GET_BOOTH ( v_office_id IN CHAR, v_booth_id IN CHAR ) RETURN VARCHAR2
|
|
IS
|
|
|
|
v_rc VARCHAR2(60);
|
|
/*
|
|
** ???? ?? : ? ? ?
|
|
*/
|
|
BEGIN
|
|
SELECT BOOTH_FULL_NAME
|
|
INTO v_rc
|
|
FROM BOOTH_CODE_INFO
|
|
WHERE FARE_OFFICE_ID = v_office_id
|
|
AND BOOTH_ID = v_booth_id;
|
|
|
|
RETURN v_rc;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
v_rc := '';
|
|
RETURN v_rc;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_COUPON_COUNT;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_COUPON_COUNT(
|
|
pc_year IN CHAR,
|
|
pc_month IN CHAR,
|
|
pc_day IN CHAR,
|
|
pc_booth_id IN CHAR,
|
|
pc_worker_id IN CHAR,
|
|
pc_office IN CHAR,
|
|
pc_work_stt_time IN CHAR,
|
|
pc_work_end_time IN CHAR,
|
|
pn_seqno IN NUMBER
|
|
) RETURN BINARY_INTEGER
|
|
IS
|
|
|
|
tot_row BINARY_INTEGER;
|
|
|
|
BEGIN
|
|
SELECT count(*)
|
|
INTO tot_row
|
|
FROM overcoupon_no_info
|
|
WHERE worker_id = pc_worker_id
|
|
AND fare_office_id = pc_office
|
|
AND booth_id = pc_booth_id
|
|
AND year = pc_year
|
|
AND month = pc_month
|
|
AND day = pc_day
|
|
AND work_stt_time = pc_work_stt_time
|
|
AND work_end_time = pc_work_end_time
|
|
AND seqno = pn_seqno;
|
|
|
|
RETURN tot_row;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_COMMON_ERASER;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_COMMON_ERASER
|
|
/***********************************************************
|
|
** 과태료 작업취소 ( 공통부분 )
|
|
**----------------------------------------------------------
|
|
** 검색부터, 검색까지, 관리년도, 관리번호, 현단계 를 받아서
|
|
** PENALTY_HISTORY_INFO 지우기,
|
|
** PENALTY_HISTORY_DETAIL_INFO 지우기,
|
|
** PENTLAY_HISTORY_HEAD_INFO 변경하기
|
|
** 성공 여부를 반환한다.
|
|
***********************************************************/
|
|
(
|
|
in_from IN char, -- 기준 부터
|
|
in_to IN char, -- 기준 까지
|
|
in_manage_year IN char, -- 관리년도
|
|
in_manage_seqno IN number, -- 일련번호
|
|
in_motion_id IN char -- 진행단계
|
|
) RETURN NUMBER
|
|
IS
|
|
v_return number := 1; -- 0:실패, 1:성공
|
|
v_cnt number := 0;
|
|
BEGIN
|
|
DBMS_OUTPUT.ENABLE;
|
|
-- 이력 정보 지운다.
|
|
BEGIN
|
|
DELETE FROM PENALTY_HISTORY_INFO
|
|
WHERE PENALTY_MANAGE_YEAR = in_manage_year
|
|
AND PENALTY_SEQNO = in_manage_seqno
|
|
AND MOTION_ID = in_motion_id;
|
|
EXCEPTION WHEN OTHERS THEN
|
|
v_return := 0;
|
|
RETURN v_return;
|
|
END;
|
|
DBMS_OUTPUT.PUT_LINE('이력 ');
|
|
-- 이력 Detail 지운다.
|
|
BEGIN
|
|
DELETE FROM PENALTY_HISTORY_DETAIL_INFO
|
|
WHERE to_char(STT_WORK_DATE, 'yyyymmdd') = in_from
|
|
AND to_char(END_WORK_DATE, 'yyyymmdd') = in_to
|
|
AND PENALTY_MANAGE_YEAR = in_manage_year
|
|
AND PENALTY_SEQNO = in_manage_seqno
|
|
AND MOTION_ID = in_motion_id;
|
|
EXCEPTION WHEN OTHERS THEN
|
|
v_return := 0;
|
|
RETURN v_return;
|
|
END;
|
|
DBMS_OUTPUT.PUT_LINE('이력 D');
|
|
-- 이력 Head 수를 뺀다.
|
|
SELECT WORK_COUNT
|
|
INTO v_cnt
|
|
FROM PENALTY_HISTORY_HEAD_INFO
|
|
WHERE to_char(STT_WORK_DATE, 'yyyymmdd') = in_from
|
|
AND to_char(END_WORK_DATE, 'yyyymmdd') = in_to
|
|
AND MOTION_ID = in_motion_id;
|
|
|
|
v_cnt := v_cnt - 1;
|
|
DBMS_OUTPUT.PUT_LINE('SELECT' || to_char(v_cnt));
|
|
BEGIN
|
|
UPDATE PENALTY_HISTORY_HEAD_INFO
|
|
SET WORK_COUNT = v_cnt
|
|
WHERE to_char(STT_WORK_DATE, 'yyyymmdd') = in_from
|
|
AND to_char(END_WORK_DATE, 'yyyymmdd') = in_to
|
|
AND MOTION_ID = in_motion_id;
|
|
EXCEPTION WHEN OTHERS THEN
|
|
v_return := 0;
|
|
RETURN v_return;
|
|
END;
|
|
DBMS_OUTPUT.PUT_LINE('이력 H');
|
|
RETURN v_return;
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 0;
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_COMMISSION_TOTAL;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_COMMISSION_TOTAL(v_from_yyyymmdd IN CHAR, v_to_yyyymmdd IN CHAR,
|
|
v_office_01 IN CHAR, v_office_03 IN CHAR,
|
|
v_prepay IN CHAR, v_postpay IN CHAR) RETURN NUMBER
|
|
IS
|
|
v_return_commission NUMBER := 0;
|
|
BEGIN
|
|
BEGIN
|
|
|
|
select nvl(trunc(sum(a.request_count) * b.charge_rate * b.levy_amount, 0), 0) as commission
|
|
into v_return_commission
|
|
from card_trans_head_info a,
|
|
(select b.fare_office_id,
|
|
b.join_card_number,
|
|
b.charge_rate,
|
|
c.levy_amount
|
|
from join_card_info b, fare_info c
|
|
where to_char(b.stt_date, 'yyyymmdd') = to_char(c.stt_date, 'yyyymmdd')
|
|
and b.collect_id in (v_prepay, v_postpay)
|
|
and b.collect_id = c.collect_id
|
|
and b.card_issue_id = c.card_issue_id) b
|
|
where a.pass_date between v_from_yyyymmdd AND v_to_yyyymmdd
|
|
and a.fare_office_id in (v_office_01, v_office_03)
|
|
and a.fare_office_id = b.fare_office_id
|
|
and a.join_card_number = b.join_card_number
|
|
group by b.charge_rate,
|
|
b.levy_amount;
|
|
|
|
RETURN v_return_commission;
|
|
|
|
EXCEPTION WHEN NO_DATA_FOUND THEN v_return_commission := 0;
|
|
|
|
END;
|
|
END FUN_COMMISSION_TOTAL;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_COMMISSION_ONLY_COMPANY;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_COMMISSION_ONLY_COMPANY(v_from_yyyymmdd IN CHAR, v_to_yyyymmdd IN CHAR,
|
|
v_office_01 IN CHAR, v_office_03 IN CHAR,
|
|
v_prepay IN CHAR, v_postpay IN CHAR, v_company IN VARCHAR2) RETURN NUMBER
|
|
IS
|
|
v_return_commission NUMBER := 0;
|
|
BEGIN
|
|
BEGIN
|
|
|
|
select nvl(trunc(sum(a.request_count) * b.charge_rate * b.levy_amount, 0), 0) as commission
|
|
into v_return_commission
|
|
from card_trans_head_info a,
|
|
(select b.fare_office_id,
|
|
b.join_card_number,
|
|
b.charge_rate,
|
|
c.levy_amount
|
|
from join_card_info b, fare_info c
|
|
where to_char(b.stt_date, 'yyyymmdd') = to_char(c.stt_date, 'yyyymmdd')
|
|
and b.collect_id in (v_prepay, v_postpay)
|
|
and b.collect_id = c.collect_id
|
|
and b.card_issue_id = c.card_issue_id
|
|
and b.join_card_name = v_company) b
|
|
where a.pass_date between v_from_yyyymmdd AND v_to_yyyymmdd
|
|
and a.fare_office_id in (v_office_01, v_office_03)
|
|
and a.fare_office_id = b.fare_office_id
|
|
and a.join_card_number = b.join_card_number
|
|
group by b.charge_rate,
|
|
b.levy_amount;
|
|
|
|
RETURN v_return_commission;
|
|
|
|
EXCEPTION WHEN NO_DATA_FOUND THEN v_return_commission := 0;
|
|
|
|
END;
|
|
END FUN_COMMISSION_ONLY_COMPANY;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_COMMISSION_DATE;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_COMMISSION_DATE(v_from_yyyymmdd IN CHAR,
|
|
v_office_01 IN CHAR, v_office_03 IN CHAR,
|
|
v_prepay IN CHAR, v_postpay IN CHAR) RETURN NUMBER
|
|
IS
|
|
v_return_commission NUMBER := 0;
|
|
BEGIN
|
|
BEGIN
|
|
|
|
select nvl(trunc(sum(a.request_count) * b.charge_rate * b.levy_amount, 0), 0) as commission
|
|
into v_return_commission
|
|
from card_trans_head_info a,
|
|
(select b.fare_office_id,
|
|
b.join_card_number,
|
|
b.charge_rate,
|
|
c.levy_amount
|
|
from join_card_info b, fare_info c
|
|
where to_char(b.stt_date, 'yyyymmdd') = to_char(c.stt_date, 'yyyymmdd')
|
|
and b.collect_id in (v_prepay, v_postpay)
|
|
and b.collect_id = c.collect_id
|
|
and b.card_issue_id = c.card_issue_id) b
|
|
where a.pass_date = v_from_yyyymmdd
|
|
and a.fare_office_id in (v_office_01, v_office_03)
|
|
and a.fare_office_id = b.fare_office_id
|
|
and a.join_card_number = b.join_card_number
|
|
group by b.charge_rate,
|
|
b.levy_amount;
|
|
|
|
RETURN v_return_commission;
|
|
|
|
EXCEPTION WHEN NO_DATA_FOUND THEN v_return_commission := 0;
|
|
|
|
END;
|
|
END FUN_COMMISSION_DATE;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_COMMISSION_COMPANY;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_COMMISSION_COMPANY(v_from_yyyymmdd IN CHAR,
|
|
v_office_01 IN CHAR, v_office_03 IN CHAR,
|
|
v_prepay IN CHAR, v_postpay IN CHAR, v_company IN VARCHAR2) RETURN NUMBER
|
|
IS
|
|
v_return_commission NUMBER := 0;
|
|
BEGIN
|
|
BEGIN
|
|
|
|
select nvl(trunc(sum(a.request_count) * b.charge_rate * b.levy_amount, 0), 0) as commission
|
|
into v_return_commission
|
|
from card_trans_head_info a,
|
|
(select b.fare_office_id,
|
|
b.join_card_number,
|
|
b.charge_rate,
|
|
c.levy_amount
|
|
from join_card_info b, fare_info c
|
|
where to_char(b.stt_date, 'yyyymmdd') = to_char(c.stt_date, 'yyyymmdd')
|
|
and b.collect_id in (v_prepay, v_postpay)
|
|
and b.collect_id = c.collect_id
|
|
and b.card_issue_id = c.card_issue_id
|
|
and b.join_card_name = v_company) b
|
|
where a.pass_date = v_from_yyyymmdd
|
|
and a.fare_office_id in (v_office_01, v_office_03)
|
|
and a.fare_office_id = b.fare_office_id
|
|
and a.join_card_number = b.join_card_number
|
|
group by b.charge_rate,
|
|
b.levy_amount;
|
|
|
|
RETURN v_return_commission;
|
|
|
|
EXCEPTION WHEN NO_DATA_FOUND THEN v_return_commission := 0;
|
|
|
|
END;
|
|
END FUN_COMMISSION_COMPANY;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_CARS_CODE_INFO_C;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_CARS_CODE_INFO_C
|
|
(
|
|
in_cars_type_id IN CHAR
|
|
) RETURN varchar2
|
|
IS
|
|
|
|
p_cars_type_full_name varchar2(40) := '';
|
|
p_b varchar2(40) := '';
|
|
|
|
BEGIN
|
|
|
|
SELECT cars_type_full_name
|
|
INTO p_b
|
|
FROM cars_type_code_info
|
|
WHERE cars_type_id = in_cars_type_id;
|
|
|
|
|
|
p_cars_type_full_name := rtrim(p_b, ' ');
|
|
|
|
RETURN p_cars_type_full_name;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN '기타';
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_BOOTH_C;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_BOOTH_C
|
|
(
|
|
in_tunnel IN CHAR, -- 요금소 코드
|
|
in_booth IN char -- 차로 코드
|
|
) RETURN varchar2
|
|
IS
|
|
|
|
p_booth_abb_name varchar2(40) := '';
|
|
p_b varchar2(40) := '';
|
|
|
|
BEGIN
|
|
|
|
SELECT booth_full_name
|
|
INTO p_b
|
|
FROM booth_code_info
|
|
WHERE FARE_OFFICE_ID = in_tunnel
|
|
AND BOOTH_ID = in_booth;
|
|
|
|
p_booth_abb_name := rtrim(p_b, ' ');
|
|
|
|
RETURN p_booth_abb_name;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN '기타';
|
|
END;
|
|
/
|
|
|
|
|
|
DROP FUNCTION NAMSAN3.FUN_BOOTH;
|
|
|
|
CREATE OR REPLACE FUNCTION NAMSAN3.FUN_BOOTH
|
|
(
|
|
code_id IN CHAR -- 아이디
|
|
) RETURN varchar2
|
|
IS
|
|
|
|
p_fare_office_id varchar2(60);
|
|
|
|
BEGIN
|
|
|
|
SELECT fare_office_full_name
|
|
INTO p_fare_office_id
|
|
FROM fare_office_code_info
|
|
WHERE code_id = fare_office_id;
|
|
|
|
RETURN p_fare_office_id;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
RETURN '없음';
|
|
END;
|
|
/
|
|
|
|
|