678
社区成员




CREATE OR REPLACE PROCEDURE P_SENDCARCOST IS
S_DERIVENO VARCHAR2(20); --單號
S_SUMDERIVENO NUMBER; --統計單
S_CARNO VARCHAR2(20); --車牌
S_DISTANCE NUMBER; --路程
S_KMCOST NUMBER; --每公里價格
S_DISTANCECOST NUMBER; --路程總價格
S_TOLL NUMBER; --路橋費
S_SUMCOST NUMBER; --總費用
S_AVGCOST NUMBER; --平均費用
S_PASSENGER_QTY NUMBER; --人數
S_ADDFROM VARCHAR2(100); --起點
S_ADDTO VARCHAR2(100); --終點
CURSOR MYCURSOR IS
SELECT A.DERIVENO FROM APP_SEND A where A.STATUS > 7;
BEGIN
SELECT COUNT(A.DERIVENO)
INTO S_SUMDERIVENO
FROM APP_SEND A
where A.STATUS > 7;
OPEN MYCURSOR;
IF S_SUMDERIVENO > 0 THEN
LOOP
FETCH MYCURSOR
INTO S_DERIVENO;
EXIT WHEN MYCURSOR% NOTFOUND;
SELECT A.PASSENGER_QTY
INTO S_PASSENGER_QTY
FROM APP_MAIN A
WHERE A.APPNO = S_DERIVENO;
--調用api查公里數
S_KMCOST := 5.5;
S_DISTANCECOST := S_DISTANCE * S_KMCOST;
S_SUMCOST := S_DISTANCECOST + S_TOLL;
S_AVGCOST := S_SUMCOST / S_PASSENGER_QTY;
INSERT INTO APP_RIDECOST
(DERIVENO,
DISTANCE,
KMCOST,
DISTANCECOST,
TOLL,
STOPCARCOST,
AWAITCOST,
SUMCOST,
AVGCOST,
USERID,
UDT,
PASSENGER_QTY,
CARNO)
VALUES
(S_DERIVENO,
S_DISTANCE,
S_KMCOST,
S_DISTANCECOST,
S_TOLL,
0,
0,
S_SUMCOST,
S_AVGCOST,
'',
'',
S_PASSENGER_QTY,
S_CARNO);
END LOOP;
END IF;
END P_SENDCARCOST;