You are on page 1of 12

CREATE OR REPLACE package DGDEV.

ssi_workflow_process_pkg is

g_open_status_void_request number := 100; --status open


void request
/*void request type*/
g_void_request_type_id number(10) := 1000040;
/* format payment amount send email */
g_payment_formater varchar2(30) :=
'999,999,999,999,999,999,999';
/**
Exception
*/
g_error_transaction_must_newest Exception;
PRAGMA EXCEPTION_INIT (g_error_transaction_must_newest, -1000);
g_error_exist_td_contract Exception;
PRAGMA EXCEPTION_INIT (g_error_exist_td_contract, -1001);
g_error_exist_transaction Exception;
PRAGMA EXCEPTION_INIT (g_error_exist_transaction, -1002);
g_error_not_user_maker Exception;
PRAGMA EXCEPTION_INIT (g_error_not_user_maker, -1003);
g_error_void_due_to_onhand_negative Exception;
PRAGMA EXCEPTION_INIT (g_error_void_due_to_onhand_negative, -1004);
g_error_has_been_reclassified Exception;
PRAGMA EXCEPTION_INIT (g_error_has_been_reclassified, -1005);
g_error_has_been_had_void_request Exception;
PRAGMA EXCEPTION_INIT (g_error_has_been_had_void_request, -1006);
g_error_has_been_revaluation Exception;
PRAGMA EXCEPTION_INIT (g_error_has_been_revaluation, -1007);
g_error_has_been_coupon Exception;
PRAGMA EXCEPTION_INIT (g_error_has_been_coupon, -1008);
g_error_accrual_had_been_transfered Exception;
PRAGMA EXCEPTION_INIT (g_error_accrual_had_been_transfered, -1009);
g_error_transaction_had_been_transfered Exception;
PRAGMA EXCEPTION_INIT (g_error_transaction_had_been_transfered, -1010);
g_error_c_doc_type_is_zero Exception;
PRAGMA EXCEPTION_INIT (g_error_c_doc_type_is_zero, -1011);
g_error_role_id_negative Exception;
PRAGMA EXCEPTION_INIT (g_error_role_id_negative, -1012);
g_error_transaction_is_processed_by_accountant Exception;
PRAGMA EXCEPTION_INIT (g_error_transaction_is_processed_by_accountant,
-1013);
g_error_raise Exception;
PRAGMA EXCEPTION_INIT (g_error_raise, -1014);
/*
hinh thuc tra lai
*/
g_int_payment_type_periodic number := 01; --hang ky
g_int_payment_type_end number := 02; --cuoi ky
g_int_payment_type_begin number := 03; --dau ky
/* System Param */
g_ad_client_id constant number(10) := 1000000; -- SSI
client
g_ad_master_org_id constant number(10) := 0; -- AD_Org_ID

g_ad_wf_responsible_id constant number(10) := 101; -- Prepare


response
g_wfstate_suspended constant varchar2(2) := 'OS'; -- Suspended
g_wfstate_completed constant varchar2(2) := 'CC'; -- Completed
C_RESULT_ERROR constant pls_integer := 2; -- Ket qua
loi
C_RESULT_SUCCESS constant pls_integer := 0; -- Ket qua
thanh cong
g_docstatus_draft varchar2(10) := 'DR'; --trang
thai du thao
g_docstatus_inprogress varchar(10) := 'IP';
/*
c_doc_type_id
*/

g_c_doctype_coupon_in_id number := 1000014; --phieu nhap


g_c_doctype_coupon_out_id number := 1000011; --phieu xuat
g_c_doctype_reclassify number := 1000432; --phan loai lai

g_c_doctype_revaluation number := 1000412; --danh gia lai

/**
Khai bao mail template
*/
g_mailtemplate_sptc_02 number := 1000141;
--hop dong moi duoc khoi tao
g_mailtemplate_sptc_05 number := 1000123;
--tu choi phe duyet
g_mailtemplate_sptc_01 number := 1000122;
--thuc hien phe duyet
-----------------------------------------------------------------------

/*
Table QTTT
*/
g_bank_transaction_tbl number := 1000152; -- chi dinh tai khoan

/*
Role
*/
g_role_dealer_checker number := 1000246;
g_role_gdk_nvdt number := 1000205;
g_role_gdk number := 1000185;
g_kt_checker_sptc_id number := 1000084; --role KT checker sptc
g_kt_maker_sptc_id number := 1000085; --role KT maker sptc
-----------------------------------------------------------------------
/**
Template QTTT
*/
g_mailtemplate_qttt_01 number := 1000341; -- huy chi dinh tai
khoan
g_mailtemplate_qttt_02 number := 1000342; -- tu choi duyet chi
dinh thanh toan
g_mailtemplate_qttt_03 number := 1000343; -- tu choi duyet lenh
thanh toan
g_mailtemplate_qttt_04 number := 1000344; -- xu ly giao dich
thanh toan
g_mailtemplate_qttt_05 number := 1000345; -- lenh thanh toan qua
han
g_mailtemplate_qttt_06 number := 1000346; -- huy lenh thanh toan

/*
TABLE TU DOANH CO PHIEU
*/
g_fw_contract_tbl number := 1001235; -- hop dong dat mua
g_c_contract_act_tbl number := 1001218; -- dat coc, hoan coc
g_contract_appenix_tbl number := 1001215; -- phu luc hop dong
g_c_order_tbl number := 259; -- hop dong mua ban
g_minout_tbl number := 319; -- phieu lenh, phieu
de nghi nhap kho,
g_offering_tbl number := 1000691; -- dau gia
g_offering_trx_tbl number := 1000695; -- dau gia
-- g_producrighthand_tbl number := 1000608; -- quyen
C_ProductRightHeader |
g_c_invoice_tbl number := 318; -- thanh toan bu tru |
IsClearing = 'Y' tbl
g_inventory_tbl number := 321; -- phan loai lai
g_etf_deal_tbl number := 1001198; -- Phieu hoan doi etf
g_etf_dn_tbl number := 1001194; -- Phieu dinh nghia
etf
g_etf_qt_tbl number := 1001394; -- Phieu quyet toan
etf
g_r_request_tbl number := 417; -- Yeu cau huy
g_movement_tbl number := 323; -- chuyen kho
g_productrightheader_tbl number := 1000608; -- header quyen
g_productrightline_tbl number := 1000587; -- line quyen
g_c_order_overdue_tbl number := 1000000; -- lai ung truoc

/**
TEMPLATE TU DOANH CO PHIEU
*/
-- Template Hop dong dat mua
g_mailtemplate_hddm_01 number := 1000199; -- Khi co hop dong can duyet
g_mailtemplate_hddm_02 number := 1000200; -- Khi khong duyet hop dong
g_mailtemplate_hddm_03 number := 1000201; -- Khi co de nghi thanh toan can
duyet
g_mailtemplate_hddm_04 number := 1000202; -- Khi khong duyet de nghi thanh
toan
g_mailtemplate_hddm_05 number := 1000203; -- Khi co hoan coc can phe duyet
g_mailtemplate_hddm_06 number := 1000204; -- Khi khong duyet hoan coc
g_mailtemplate_hddm_07 number := 1000205; -- Khi co phu luc gia han hop
dong
g_mailtemplate_hddm_08 number := 1000206; -- Khi khong duyet phu luc

-- Template Dau gia


g_mailtemplate_offering_01 number := 1000161; -- Duyet phieu dau gia chung
khoang
g_mailtemplate_offering_02 number := 1000164; -- Tu choi phe duyet
g_mailtemplate_offering_03 number := 1000165; -- Duyet phieu dau gia thanh cong
g_mailtemplate_offering_04 number := 1000166; -- Khong duyet phieu dau gia
thanh cong
g_mailtemplate_offering_05 number := 1000167; -- Canh bao ngay dau gia

-- Template Nhap/Xuat
g_mailtemplate_minout_01 number := 1000168; -- Duyet de nghi nhap kho
g_mailtemplate_minout_02 number := 1000169; -- Tu choi phe duyet
g_mailtemplate_minout_03 number := 1000170; -- Canh bao chua co thong tin
hoa don
g_mailtemplate_minout_04 number := 1000241; -- Duyet yeu cau huy
g_mailtemplate_minout_05 number := 1000242; -- Tu choi yeu cau huy
g_mailtemplate_minout_06 number := 1000461; -- Duyet de nghi xuat kho
g_mailtemplate_minout_07 number := 1000481; -- Khong duyet de nghi xuat kho
g_mailtemplate_minout_08 number := 1000462; -- Duyet yeu cau huy xuat kho
g_mailtemplate_minout_09 number := 1000463; -- Tu choi yeu cau huy xuat kho

-- Template Hop dong mua ban


g_mailtemplate_c_order_01 number := 1000171; -- Duyet hop dong
g_mailtemplate_c_order_02 number := 1000172; -- Tu choi duyet hop dong
g_mailtemplate_c_order_03 number := 1000173; -- Phe duyet de nghi thanh toan
g_mailtemplate_c_order_04 number := 1000174; -- Tu choi phe duyet de nghi
thanh toan
g_mailtemplate_c_order_05 number := 1000175; -- Phe duyet phu luc hop dong
g_mailtemplate_c_order_06 number := 1000176; -- Tu choi phe duyet phu luc
g_mailtemplate_c_order_07 number := 1000341; -- Giao dich thu tien
g_mailtemplate_c_order_08 number := 1000342; -- Tu choi giao dich thu tien
g_mailtemplate_c_order_09 number := 1000382; -- Yeu cau huy hop dong
g_mailtemplate_c_order_10 number := 1000381; -- Tu choi yeu cau huy hop dong
g_mailtemplate_c_order_11 number := 1000383; -- Yeu cau huy de nghi thu tien
g_mailtemplate_c_order_12 number := 1000384; -- Tu choi yeu cau huy de nghi
thu tien
g_mailtemplate_c_order_13 number := 1000385; -- Yeu cau huy de nghi thanh
toan
g_mailtemplate_c_order_14 number := 1000386; -- Tu choi yeu cau huy de nghi
thanh toan
g_mailtemplate_c_order_15 number := 1000421; -- Yeu cau huy phu luc hop dong
g_mailtemplate_c_order_16 number := 1000422; -- Tu choi yeu cau huy phu luc
hop dong

-- Phan loai lai


g_mailtemplate_mInven_01 number := 1000189; -- Phe duyet phan loai lai
g_mailtemplate_mInven_02 number := 1000190; -- Tu choi phe duyet phan loai
lai
g_mailtemplate_mInven_03 number := 1000191; -- Huy phieu phan loai lai
g_mailtemplate_mInven_04 number := 1000192; -- Huy yeu cau huy phieu phan
loai lai
g_mailtemplate_mInven_05 number := 1000521; -- Phe duyet danh gia lai
g_mailtemplate_mInven_06 number := 1000522; -- Tu choi phe duyet danh gia
lai
g_mailtemplate_mInven_07 number := 1000523; -- Huy phieu danh gia lai
g_mailtemplate_mInven_08 number := 1000524; -- Huy yeu cau huy phieu danh
gia lai

-- Template Phieu hoan doi ETF


g_mailtemplate_etf_01 number := 1000193; -- Duyet phieu hoan doi
g_mailtemplate_etf_02 number := 1000194; -- Tu choi phe duyet

-- Template dinh nghia ETF


g_mailtemplate_dn_etf_01 number := 1000301; -- Duyet phieu hoan doi
g_mailtemplate_dn_etf_02 number := 1000302; -- Tu choi phe duyet

-- Template quyet toan ETF


g_mailtemplate_qt_etf_01 number := 1000303; -- Duyet phieu hoan doi
g_mailtemplate_qt_etf_02 number := 1000304; -- Tu choi phe duyet

-- Phieu lenh mua


g_mailtemplate_pl_01 number := 1000177; -- Phieu lenh mua
g_mailtemplate_pl_02 number := 1000178; -- Tu choi giao dich
g_mailtemplate_pl_03 number := 1000179; -- Duyet yeu cau huy phiéu
g_mailtemplate_pl_04 number := 1000180; -- Tu choi yeu cau huy phieu
-- Template Quyen mua
g_mailtemplate_qm_01 number := 1000187; -- Canh bao ve viec xac nhan
quyen mua
g_mailtemplate_qm_02 number := 1000188; -- Xac nhan so luong co phieu
quyen mua
g_mailtemplate_q_03 number := 1000321; -- Phe duyet quyen (1 2 4 7)
g_mailtemplate_q_04 number := 1000322; -- Khong ohe duyet quyen (1 2 4
7)
g_mailtemplate_q_05 number := 1000323; -- Phe duyet quyen (5 6)
g_mailtemplate_q_06 number := 1000324; -- Khong ohe duyet quyen (5 6)

g_mailtemplate_q_07 number := 1000565; -- Phe duyet yeu cau huy quyen


(1 2 4 7)
g_mailtemplate_q_08 number := 1000566; -- Khong phe duyet yeu cau huy
quyen (1 2 4 7)
g_mailtemplate_q_09 number := 1000567; -- Phe duyet yeu cau huy quyen
(5 6)
g_mailtemplate_q_10 number := 1000568; -- Khong phe duyet yeu cau huy
quyen (5 6)

g_mailtemplate_ttq_01 number := 1000561; -- Thuc hien quyen


g_mailtemplate_ttq_02 number := 1000562; -- Tu choi thuc hien quyen
g_mailtemplate_ttq_03 number := 1000563; -- Huy Thuc hien quyen
g_mailtemplate_ttq_04 number := 1000564; -- Tu choi yeu cau huy

-- Template Repo hoan doi


g_mailtemplate_repo_01 number := 1000195; -- Duyet phieu lenh
g_mailtemplate_repo_02 number := 1000196; -- Tu choi phe duyet
g_mailtemplate_repo_03 number := 1000197; -- Thong bao duyet yeu cau huy
phieu
g_mailtemplate_repo_04 number := 1000198; -- Thong bao tu choi phe duyet
yeu cau huy

-- Template Sua loi giao dich


g_mailtemplate_fix_01 number := 1000207; -- Canh bao sua loi giao dich

-- Template Thanh toan bu tru


g_mailtemplate_butru_01 number := 1000185; -- duyet phieu bu tru
g_mailtemplate_butru_02 number := 1000186; -- Tu choi phe duyet nhieu bu
tru

-- Template chuyen kho


g_mailtemplate_movement_01 number := 1000281; -- chuyen kho
g_mailtemplate_movement_02 number := 1000282; -- tu choi chuyen kho
g_mailtemplate_movement_03 number := 1000581; -- phe duyet yeu cau huy
g_mailtemplate_movement_04 number := 1000582; -- tu choi chuyen kho

g_mailtemplate_movement_05 number := 1000583; -- chuyen trang thai


g_mailtemplate_movement_06 number := 1000584; -- tu choi chuyen trang thai
g_mailtemplate_movement_07 number := 1000586; -- phe duyet huy chuyen trang
thai
g_mailtemplate_movement_08 number := 1000585; -- tu choi yeu cau huy

-- Template lai ung truoc


g_mailtemplate_c_order_overdue_01 number := 1000343; -- phe duyet lai ung
truoc
g_mailtemplate_c_order_overdue_02 number := 1000344; -- tu choi phe duyet lai
ung truoc
g_mailtemplate_c_order_overdue_03 number := 1000361; -- phe duyet phat
g_mailtemplate_c_order_overdue_04 number := 1000362; -- tu choi phe duyet
phat

g_mailtemplate_c_order_overdue_05 number := 1000401; -- phe duyet yeu cau huy


lai ung truoc
g_mailtemplate_c_order_overdue_06 number := 1000402; -- tu choi phe duyet yeu
cau huy lai ung truoc
g_mailtemplate_c_order_overdue_07 number := 1000403; -- phe duyet yeu cau huy
phat
g_mailtemplate_c_order_overdue_08 number := 1000404; -- tu choi phe duyet yeu
cau huy phat

g_mailtemplate_c_payment_01 number := 1000423; -- duyet phieu thu chi


g_mailtemplate_c_payment_02 number := 1000424; -- khong duyet phieu thu
chi
g_mailtemplate_c_payment_03 number := 1000425; -- duyet yeu cau huy
phieu thu chi
g_mailtemplate_c_payment_04 number := 1000426; -- khong duyet yeu cau
huy phieu thu chi

g_mailtemplate_c_invoice_01 number := 1000441; -- duyet hoa don


g_mailtemplate_c_invoice_02 number := 1000442; -- khong duyet hoa don
g_mailtemplate_c_invoice_03 number := 1000443; -- duyet huy hoa don
g_mailtemplate_c_invoice_04 number := 1000444; -- khong duyet huy hoa
don

/*
C_DOCTYPE_ID TU DOANH O PHIEU
*/
g_doctype_in number := 1000014; -- Nhap
g_doctype_out number := 1000011; -- Xuat
g_doctype_contract_b number := 1000209; -- Hop dong mua
g_doctype_contract_s number := 1000208; -- Hop dong ban
g_doctype_pl_b number := 1000330; -- phieu lenh ban
g_doctype_pl_m number := 1000329; -- Phieu lenh mua
g_deposit varchar(10):= '20'; -- Dat coc
g_reimbursement varchar(10):= '21'; -- Hoan coc
g_payment varchar(10):= '22'; -- Thanh toan
g_receive_stakes varchar(10):= '15'; -- Nhan coc
g_doctype_hd_lole number := 1000792; -- Hop dong lo le
g_doctype_movement number := 1000372; -- Chuyen kho
g_doctype_changestatus number := 1000732; -- Chuyen trang thai
g_doctype_ph number := 1001073; -- Phat tre han
g_doctype_lut number := 1001072; -- Lai ung truoc
g_doctype_thu number := 1000008; -- phieu thu
g_doctype_chi number := 1000009; -- phieu chi
g_doctype_payable number := 1000005; -- hoa don phai tra
g_doctype_receivable number := 1000002; -- hoa don phai thu
g_doctype_reclassification number := 1000432; -- Phan loai lai
g_doctype_revaluation_trading number := 1000412; -- Danh gia lai
/*
doctype QTTT
*/
g_doctype_payment_approval number := 1000852; -- duyet lenh thanh toan
/*
khai bao bien
*/
g_xtrtransaction_table number := 1000062;
g_td_contract_table number := 1000020;
g_td_contract_frame_table number := 1001054;
g_m_inout_table number := 319;
g_m_inventory_table number := 321;
g_c_payment_table number := 335;
g_s_accrls_amount_table number := 1000063;

g_approve_td_contract_event varchar2(100) :=
'SSI_ApproveTDContract'; --su kien phe duyet hop dong tien gui
g_approve_td_contract_frame_event varchar2(100) :=
'SSI_ApproveTDContractFrame'; --su kien phe duyet hop dong khung
g_approve_td_c_payment_event varchar2(100) :=
'SSI_ApprovePayment'; --su kien phe duyet payment
g_approve_void_request varchar2(100) :=
'SSI_ApproveVoidRequest'; --phe duyet huy

--------------------------------------------------------
g_module_sptc varchar2(10) := 'SPTC';

g_bo_maker_sptc_team1_role_id number := 1000026; --role bo


maker sptc team1
g_bo_maker_sptc_team2_role_id number := 1000251; --role bo
maker sptc team2

g_initial_type constant varchar2(10) := 'INITIAL' ; -- Tang


goc
g_liquidation_type constant varchar2(15) := 'LIQUID' ; -- Thanh ly
truoc han
g_amount_principal_type constant varchar2(20) := 'PRINCIPAL' ; -- So
tien goc
g_principal_settle_type constant varchar2(20) := 'PRINSET'; -- Tat toan
g_change_rate_type constant varchar2(20) := 'CHANGERATE'; -- Thay
doi lai suat
g_extend_type constant varchar2(20) := 'EXTEND'; -- Gia han
g_ori_int_type constant varchar2(20) := 'RENEWALL'; -- Tai tuc
goc + lai
g_ori_type constant varchar2(20) := 'RENEWORG'; -- Tai tuc
goc
g_settle_type constant varchar2(20) := 'SETTLE'; -- Thanh
toan lai
g_accrual_type constant varchar2(20) := 'ACCRUAL'; -- Du thu/
du chi

/**amount type*/
g_intset_type constant varchar2(20) := 'INTSET'; -- thanh toan
lai
g_intpay_type constant varchar2(20) := 'INTPAY'; -- lai thanh
li
g_intorg_type constant varchar2(20) := 'INTORG';--lai nhap goc
/* procedure getUnPaidAmount(
i_date in date,g_td_contract_frame_table
i_over_date in date,
i_s_ld_contract_id in number,
o_interest_amount out number,
o_fee_amount out number,
o_payamt out number,
o_int_late_paid out number
);*/
-------------------------
/*
Cac ham va thu tuc nghiep vu
*/
-------------------------
CURSOR td_contract_cur(i_record_id number) IS
SELECT STD.DOCUMENTNO,
STD.M_PRODUCT_ID,
XTR.EFFECTIVE_DATE,
rf.name DATE_TYPE,
STD.AMOUNT_ACY,
STD.AD_ORG_ID,
ds.name DOCSTATUS,
STD.C_SALESREGION_ID,
STD.S_TD_CONTRACT_FRAME_ID,
STD.C_CURRENCY_ID,
STD.C_BPARTNER_ID
FROM S_TD_CONTRACT STD
join S_XTRTransaction XTR on STD.S_TD_CONTRACT_ID = XTR.S_CONTRACT_ID
join (
SELECT ARL.Value, ART.NAME
from AD_Reference AR
join AD_Ref_List ARL ON (AR.AD_REFERENCE_ID =
ARL.AD_REFERENCE_ID)
join AD_Ref_List_Trl ART ON (ARL.AD_REF_LIST_ID =
ART.AD_REF_LIST_ID)
where AR.name = 'SSI - DATE TYPE'
) rf on rf.Value =
XTR.DATE_TYPE
join (
SELECT ARL.Value, ART.NAME
from AD_Reference AR
join AD_Ref_List ARL ON (AR.AD_REFERENCE_ID =
ARL.AD_REFERENCE_ID)
join AD_Ref_List_Trl ART ON (ARL.AD_REF_LIST_ID =
ART.AD_REF_LIST_ID)
where AR.name = '_Document Status'
) ds on ds.value =
STD.DOCSTATUS
where S_TD_CONTRACT_id = i_record_id;

r_td_contract td_contract_cur%ROWTYPE;

CURSOR c_order_cur(i_record_id number) IS SELECT * FROM C_ORDER where


C_ORDER_ID = i_record_id;
r_c_order c_order_cur%ROWTYPE;

CURSOR c_payment_cur(i_record_id number) IS SELECT * FROM C_PAYMENT where


C_PAYMENT_ID = i_record_id;
r_c_payment c_payment_cur%ROWTYPE;

CURSOR c_invoice_cur(i_record_id number) IS SELECT * FROM C_INVOICE where


C_INVOICE_ID = i_record_id;
r_c_invoice c_invoice_cur%ROWTYPE;

/* Declare Variable table S_TD_Contract*/


p_productId s_td_contract.m_product_id%type;
p_c_partner_id s_td_contract.c_bpartner_id%type;
p_documentno s_td_contract.documentno%type;
p_c_currency s_td_contract.c_currency_id%type;
p_amount s_td_contract.amount_acy%type;
p_team s_td_contract.c_salesregion_id%type;
p_org s_td_contract.ad_org_id%type;
p_status s_td_contract.docstatus%type;
p_contractno s_td_contract.s_td_contract_frame_id%type;
p_event s_xtrtransaction.date_type%type;
p_date s_xtrtransaction.effective_date%type;

/* Day du lieu notify mail */


procedure insertNotifyData
(
i_ad_table_id in number,
i_record_id in number,
i_r_mailtext_id in number,
i_ad_user_id in number,
i_ad_client_id in number,
i_ad_org_id in number,
i_ad_role_id in number,
i_status in nvarchar2,
i_reason in nvarchar2 default null,
i_module in nvarchar2 default 'SPTC'
);

function get_role_user_maker(
i_ad_wf_activity_id in number
) return number;
procedure get_role_send_email_reject(
i_ad_workflow_id number,
i_ad_node_id number,
i_ad_wf_activity_id number,
o_ad_node_id out number
);
function get_node_return_to(
i_ad_workflow_id in number,
i_ad_node_id in number --node hien tai
)
return number;
function is_abort_workflow(
i_ad_role_id in number,
i_ad_workflow_id in number,
i_ad_node_id in number
)return number;

-- Check Working Day


function check_working_day(
i_date in date
) return boolean;
-- Add N Working Day
function add_n_working_days (
start_date date, working_days pls_integer
) return date;

-- Lay so chung tu
function get_documentno(
i_ad_sequence_id in number,
i_system in varchar2
) return varchar2;
--lay role tiep theo de gui mail khi phe duyet
function get_next_role_send_mail(
i_ad_node_id in number,
i_ad_workflow_id in number,
i_ad_wf_activity_id in number
) return number;
procedure validate_bf_approval(
i_ad_role_id in number,
i_ad_wf_activity_id in number,
i_is_approve in varchar2,
o_result out number,
o_mess out varchar2
);
procedure validate_td_contract_frame(
i_td_contract_id in number,
i_role_id in number,
o_result out number,
o_msg out varchar2
);
/*validtae s_td_contract truoc khi thuc hien phe duyet*/
procedure validate_td_contract(i_td_contract_id in number,
i_role_id in number,
i_is_approve in varchar2,
o_result out number,
o_msg out varchar2
);
/*validtae s_xtrtransaction truoc khi thuc hien phe duyet*/
procedure validate_xtrtransaction(
i_xtrtransaction_id in number,
i_role_id in number,
i_is_approve in varchar2,
o_result out number,
o_msg out varchar2
);
/*lay ten su kien doi voi giao dich phe duyet hop dong tien gui, hop dong
khung*/
function get_date_type_name(
i_value in varchar2 --value cua message
)return varchar2;
-- Day du lieu workflow khi o trang thai du thao
procedure insert_wf_activity(
i_ad_table_id in number,
i_record_id in number,
i_ad_user_id in number,
i_ad_workflow_id in number,
i_node_start_id in number,
i_node_prepare_id in number,
i_node_next_id in number,
i_role_responsible_id in number,
o_result out pls_integer,
o_msg_text out varchar2
);
-- Day du lieu workflow khi o trang thai du thao
procedure insert_complete_wf_activity(
i_ad_table_id in number,
i_record_id in number,
i_ad_user_id in number,
i_ad_workflow_id in number,
i_node_start_id in number,
i_node_prepare_id in number,
i_node_next_id in number,
i_role_responsible_id in number,
o_result out pls_integer,
o_msg_text out varchar2
);
function check_pending_void_request(
i_ad_wf_activity_id in number
) return number ;
--kiem tra co duoc phep tao request huy khong
procedure is_legal_to_void(
i_ad_table_id in number,
i_record in number,
i_ad_user_id in number,
o_result out number,
o_message out varchar2
);
procedure validate_tovoid_m_inout(
i_ad_table_id in number,
i_record_id in number,
i_ad_user_id in number,
o_result out number,
o_message out varchar
);

/**
Check 2 user co cung role hay khong?
*/
function is_user_same_role(
i_ad_user_id1 in number,
i_ad_user_id2 in number
) return number;

--kiem tra cho m_inventory


procedure validate_tovoid_m_inventory(
i_ad_table_id in number,
i_record_id in number,
i_ad_user_id in number,
o_result out number,
o_message out varchar
);
procedure close_workflow(
i_ad_table_id in number,
i_record_id in number,
o_result out number,
o_message out varchar2
) ;
/*insert notify process for xtrtransaction table*/
procedure insert_notify_xtrtransaction (
i_ad_table_id in number,
i_record_id in number,
i_r_mailtext_id in number,
i_ad_user_id in number,
i_ad_client_id in number,
i_ad_org_id in number,
i_ad_role_id in number,
i_status in nvarchar2,
i_reason_reject in nvarchar2 default null,
i_module in nvarchar2 default 'SPTC' -- khong dung den
);
end ssi_workflow_process_pkg;
/

You might also like