Professional Documents
Culture Documents
ssi_workflow_process_pkg is
/**
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 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
/*
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';
/**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;
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;
-- 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;