Advertisement
Guest User

Untitled

a guest
Jul 28th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.05 KB | None | 0 0
  1. declare
  2. p_names dbms_sql.varchar2_table ;
  3. p_values dbms_sql.varchar2_table ;
  4. l_file_name_xlsx varchar2 (1000 );
  5. l_cur sys_refcursor;
  6. l_blob blob;
  7. begin
  8. dbms_java.set_output ( 1000000000);
  9. rat_ca_utils.update_sub_timemask_mask ;
  10.  
  11. -- Id продуктов
  12. p_names (1) := 'productId1';
  13. p_values (1) := '10445';
  14. p_names (2) := 'productId2';
  15. p_values (2) := '10445';
  16.  
  17. -- Id дочернего продукта (если есть) для которого нужно сделать анализ изменений в связке с родительским продуктом "productId1".
  18. -- p_names (3) := 'childProductId1';
  19. -- p_values (3) := '10423';
  20.  
  21.  
  22.  
  23. -- Уазаваем "глубину изменений" - дата на которую нужно откатить родительский и дочерний продукт для сравнения с текущей версией продуктов (дочернего и родительского)
  24. p_names (3 ) := 'deepStartDateProductId1';
  25. 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' ));
  26.  
  27. p_names (4 ) := 'deepStartDateProductId2';
  28. p_values (4 ) := to_char (sysdate, prv_utils.get_param( 'PARAM-SYS-DATETIME-FMT' ));
  29.  
  30. -- Временное окно для тарифов для которых нужно сделать анализ изменений
  31. p_names (5) := 'startDate';
  32. 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' ));
  33.  
  34.  
  35. p_names (6 ) := 'endDate';
  36. 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' ));
  37.  
  38. -- Признак поиска тарифов в более общих кодах (например тарифы на код 7910 ищутся в кодах на более общий код 791, 79 и т.д. и выбирается тариф на самый длинный код код ).
  39. -- Если признака нет, то тарифы ищутся по полному соответствию кодов
  40. p_names (7 ) := 'longestMatch';
  41. p_values (7 ) := '';
  42.  
  43. -- Признак того, что в результат анализа должно попадать события который находятся между датами 'startDate', 'endDate' или равны им.
  44. p_names (8) := 'dateRateLimitWindow';
  45. p_values (8 ) := '';
  46.  
  47. -- Название конфигурации по которой будет трактоваться изменения рейта (в данном примере сравниваются изменения двух продуктов - 'two_prod_analisys')
  48. p_names (9 ) := 'conf_name';
  49. p_values (9) := 'one_prod_analisys';
  50.  
  51. -- Параметр который отвечает по какой логики будет искаться тариф в доечернем и родительском продукте (0 - сначало в дочернем потом в родительском, !0 - по longest match`у в обоих продуктах, если есть два одинаковых кода, то выбириться тариф из дочернего)
  52. -- inheritMode - longMatchChildFirst = 0, searchInTwoProducts = 1
  53. p_names (10 ) := 'inheritMode';
  54. p_values (10 ) := '0';
  55.  
  56. p_names (11 ) := 'defaultDir';
  57. p_values (11 ) := '/u01/app/oracle/invoice.files';
  58.  
  59. p_names (12 ) := 'debugMode';
  60. p_values (12 ) := '0';
  61.  
  62. -- Call the procedure
  63. l_cur := rat_ca_utils.get_changes ( p_names, p_values );
  64. l_file_name_xlsx := replace ( rat_ca_utils.m_file_patch, '.txt' ,'.xlsx' );
  65. l_blob := prv_exp_utils.java_export2xlsx
  66. (
  67. p_cur => l_cur,
  68. p_filename => l_file_name_xlsx,
  69. p_cols => null ,
  70. p_header => null ,
  71. p_col_names => null ,
  72. p_template => null ,
  73. p_pwd => null ,
  74. p_freezepanel => null
  75. );
  76. dbms_output.put_line ( l_file_name_xlsx);
  77.  
  78. end ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement