Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- declare
- p_names dbms_sql.varchar2_table ;
- p_values dbms_sql.varchar2_table ;
- l_file_name_xlsx varchar2 (1000 );
- l_cur sys_refcursor;
- l_blob blob;
- begin
- dbms_java.set_output ( 1000000000);
- rat_ca_utils.update_sub_timemask_mask ;
- -- Id продуктов
- p_names (1) := 'productId1';
- p_values (1) := '10445';
- p_names (2) := 'productId2';
- p_values (2) := '10445';
- -- Id дочернего продукта (если есть) для которого нужно сделать анализ изменений в связке с родительским продуктом "productId1".
- -- p_names (3) := 'childProductId1';
- -- p_values (3) := '10423';
- -- Уазаваем "глубину изменений" - дата на которую нужно откатить родительский и дочерний продукт для сравнения с текущей версией продуктов (дочернего и родительского)
- p_names (3 ) := 'deepStartDateProductId1';
- p_values (3 ) := to_char (to_date ( '28.07.2016 12:51:00', 'dd.mm.yyyy hh24:mi:ss'), prv_utils.get_param( 'PARAM-SYS-DATETIME-FMT' ));
- p_names (4 ) := 'deepStartDateProductId2';
- p_values (4 ) := to_char (sysdate, prv_utils.get_param( 'PARAM-SYS-DATETIME-FMT' ));
- -- Временное окно для тарифов для которых нужно сделать анализ изменений
- p_names (5) := 'startDate';
- p_values (5 ) := to_char (to_date ( '01.05.2016 00:00:00', 'dd.mm.yyyy hh24:mi:ss'), prv_utils.get_param( 'PARAM-SYS-DATETIME-FMT' ));
- p_names (6 ) := 'endDate';
- p_values (6 ) := to_char (to_date ( '01.07.2016 00:00:00', 'dd.mm.yyyy hh24:mi:ss'), prv_utils.get_param( 'PARAM-SYS-DATETIME-FMT' ));
- -- Признак поиска тарифов в более общих кодах (например тарифы на код 7910 ищутся в кодах на более общий код 791, 79 и т.д. и выбирается тариф на самый длинный код код ).
- -- Если признака нет, то тарифы ищутся по полному соответствию кодов
- p_names (7 ) := 'longestMatch';
- p_values (7 ) := '';
- -- Признак того, что в результат анализа должно попадать события который находятся между датами 'startDate', 'endDate' или равны им.
- p_names (8) := 'dateRateLimitWindow';
- p_values (8 ) := '';
- -- Название конфигурации по которой будет трактоваться изменения рейта (в данном примере сравниваются изменения двух продуктов - 'two_prod_analisys')
- p_names (9 ) := 'conf_name';
- p_values (9) := 'one_prod_analisys';
- -- Параметр который отвечает по какой логики будет искаться тариф в доечернем и родительском продукте (0 - сначало в дочернем потом в родительском, !0 - по longest match`у в обоих продуктах, если есть два одинаковых кода, то выбириться тариф из дочернего)
- -- inheritMode - longMatchChildFirst = 0, searchInTwoProducts = 1
- p_names (10 ) := 'inheritMode';
- p_values (10 ) := '0';
- p_names (11 ) := 'defaultDir';
- p_values (11 ) := '/u01/app/oracle/invoice.files';
- p_names (12 ) := 'debugMode';
- p_values (12 ) := '0';
- -- Call the procedure
- l_cur := rat_ca_utils.get_changes ( p_names, p_values );
- l_file_name_xlsx := replace ( rat_ca_utils.m_file_patch, '.txt' ,'.xlsx' );
- l_blob := prv_exp_utils.java_export2xlsx
- (
- p_cur => l_cur,
- p_filename => l_file_name_xlsx,
- p_cols => null ,
- p_header => null ,
- p_col_names => null ,
- p_template => null ,
- p_pwd => null ,
- p_freezepanel => null
- );
- dbms_output.put_line ( l_file_name_xlsx);
- end ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement