写的存储过程
create or replace procedure PRC_CONTRACT_PROJECT(P_PRJT_ID IN NUMBER,
P_CONT_ID IN NUMBER,
P_CREATOR IN NUMBER) is
--BEGIN
-- DECLARE
CURSOR PRJTOTHERFEE IS
SELECT * FROM T_BL_PRJT_OTHERFEE WHERE PRJT_ID = P_PRJT_ID; --项目其他费用表
CURSOR PRJTINSURANCE IS
SELECT * FROM T_BL_PRJT_INSURANCE WHERE PRJT_ID = P_PRJT_ID; --项目信用保险表
P_PRJT_SCHEMEID_SRC NUMBER; --项目方案原主键
P_PRJT_SCHEMEID_DEST NUMBER; --项目方案目标主键
BEGIN
--合同方案表
SELECT SCHE_ID
INTO P_PRJT_SCHEMEID_SRC
FROM T_BL_PRJT_SCHEME
WHERE PRJT_ID = P_PRJT_ID
AND IS_DELETE = 0;
SELECT SEQ_BL_CONT_SCHEME.NEXTVAL INTO P_PRJT_SCHEMEID_DEST FROM DUAL;
INSERT INTO T_BL_CONT_SCHEME ( CSCHE_ID,
CONT_ID,
PRJT_AMOUNTORG,
UNIT_ORG,
PRJT_AMOUNTCURR,
UNIT_CURR,
DOWN_PAYMENT_PERCENT,
DOWN_PAYMENT_VALUE,
PROCEDURE_RATE,
PROCEDURE_AMOUNT,
PROCEDURE_WAY,
ANNUAL_RATE,
ANNUAL_RATEUNIT,
ANNUAL_RATEWAY,
AMOUNT_PERCENT,
AMOUNT,
DUE_RATE,
DUE_RATEUNIT,
DUE_RATEWAY,
INSURE_RATE,
INSURE_AMOUNT,
LIMIT_DAYS,
LIMIT_DAYSRATE,
LIMIT_WAY,
DEPOSIT_RATE,
DEPOSIT_AMOUNT,
GUARANTEE_RATE,
GUARANTEE_AMOUNT,
GUARANTEE_WAY,
PRJT_START_DATE,
PRJT_END_DATE,
COMFIRM_WAY,
PAYMENT_WAY,
PAYMENT_FREQUENCY,
PAYMENT_DATE,
CALTULATE_TYPE,
PRODUCT_NAME,
PAY_TYPE,
COUNT_DAY,
CHECK_TYPE,
COUNT_TYPE,
ADJUST_TYPE,
SCHEME_PAYTYPE,
REMARK,
IS_DELETE,
CREATOR,
CREATE_DATE,
STATUS,
VERSION
)
SELECT P_PRJT_SCHEMEID_DEST ,
P_CONT_ID,
PRJT_AMOUNTORG,
UNIT_ORG,
PRJT_AMOUNTCURR,
UNIT_CURR,
DOWN_PAYMENT_PERCENT,
DOWN_PAYMENT_VALUE,
PROCEDURE_RATE,
PROCEDURE_AMOUNT,
PROCEDURE_WAY,
ANNUAL_RATE,
ANNUAL_RATEUNIT,
ANNUAL_RATEWAY,
AMOUNT_PERCENT,
AMOUNT,
DUE_RATE,
DUE_RATEUNIT,
DUE_RATEWAY,
INSURE_RATE,
INSURE_AMOUNT,
LIMIT_DAYS,
LIMIT_DAYSRATE,
LIMIT_WAY,
DEPOSIT_RATE,
DEPOSIT_AMOUNT,
GUARANTEE_RATE,
GUARANTEE_AMOUNT,
GUARANTEE_WAY,
PRJT_START_DATE,
PRJT_END_DATE,
COMFIRM_WAY,
PAYMENT_WAY,
PAYMENT_FREQUENCY,
PAYMENT_DATE,
CALTULATE_TYPE,
PRODUCT_NAME,
PAY_TYPE,
COUNT_DAY,
CHECK_TYPE,
COUNT_TYPE,
ADJUST_TYPE,
SCHEME_PAYTYPE,
REMARK,
0,
P_CREATOR,
sysdate,
10,
1
FROM T_BL_PRJT_SCHEME WHERE PRJT_ID = P_PRJT_ID AND IS_DELETE = 0;
--合同
--合同授信信息
INSERT INTO T_BL_CONT_CUCDE (CUCDE_ID,
CONT_ID,
CRED_ID,
IS_CHECK,
CAN_CHANGE,
CRED_CODE,
IS_DELETE,
CREATOR,
CREATE_DATE,
STATUS,
VERSION
)
SELECT SEQ_BL_CONT_CUCDE.NEXTVAL,
P_CONT_ID,
CRED_ID,
IS_CHECK,
CAN_CHANGE,
CRED_CODE,
0,
P_CREATOR,
SYSDATE,
10,
1
FROM T_BL_PRJT_CUCDE WHERE PRJT_ID = P_PRJT_ID;
--合同付款信息
INSERT INTO T_BL_CONT_PAYINFO ( CPAY_ID,
CONT_ID,
ADV_PAY_DATE,
PAY_RATE,
PAY_AMOUNT,
PAY_WAY,
FUNDS_FROM,
IS_DELETE,
CREATOR,
CREATE_DATE,
STATUS,
VERSION
)
SELECT SEQ_BL_CONT_PAYINFO.NEXTVAL,
P_CONT_ID,
ADV_PAY_DATE,
PAY_RATE,
PAY_AMOUNT,
PAY_WAY,
FUNDS_FROM,
0,
P_CREATOR,
SYSDATE,
10,
1
FROM T_BL_PRJT_PAYINFO WHERE PRJT_ID = P_PRJT_ID;
end PRC_CONTRACT_PROJECT;