audit_krs_con_digger.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <?php
  2. $_SERVER['SERVER_NAME'] = 'biuro.biall-net.pl';
  3. //when used in /Library/Server/Web/Data/Sites/bzyk-biale-plamy-php-temp/SE/dev on biuro.biall-net.pl
  4. if( file_exists ( "../../se-lib/bootstrap.php"))
  5. require("../../se-lib/bootstrap.php");
  6. //when used in in native SE
  7. else require("../../../../SE-production-git/SE/se-lib/bootstrap.php");
  8. Lib::loadClass("Vendor_Geophp");
  9. $db = DB::getDB();
  10. // DB::getPDO()->query("truncate table Rozdzielcza_test_bzyk_Cables_to_PE");
  11. //unset($ID_Way);
  12. /*foreach($cables_from_joins_to_PE_arr as $id_j=>$Path_Point_val) {
  13. $sql_Path_Point_val="insert into Rozdzielcza_test_bzyk_Cables_to_PE (the_geom,ID_Way,ID_Point,len,PE_ID_Join)
  14. values (ST_GeomFromText('".$Path_Point_val['LINESTRING']."'),'".$Path_Point_val['ID_Way']."',
  15. '".$Path_Point_val['ID_Point']."' ,'".$Path_Point_val['len']."','".$Path_Point_val['PE_ID_Join']."' ) ";
  16. echo "#216Query path ins:: ".$sql_Path_Point_val." ";
  17. //if(strlen($edge_joins_filled_paths[$ID_Way]['asText'])>2)
  18. if(strlen($Path_Point_val['LINESTRING'])>1)
  19. DB::getPDO()->query($sql_Path_Point_val);
  20. else echo " ERROR blad danych!!! dla ID_Point:".$Path_Point_val['ID_Point'];
  21. //else echo "#296 path nie wygenerowalo sie !! dla ".$ID_Way." i pkt ".$pkt_A." , ".$pkt_B." \n";
  22. }
  23. */
  24. $tables['Y']['BI_audit_ENERGA_PRACOWNICY']['rel']['pesel']='pesel';
  25. $tables['Y']['BI_audit_ENERGA_PRACOWNICY']['rel']['nip']='nip';
  26. $tables['Y']['BI_audit_ENERGA_PRACOWNICY']['rel']['regon']='regon';
  27. $tables['X']['BI_audit_KW_requested']['rel_search']['pesel']='Seller_Person';
  28. $tables['X']['BI_audit_KW_requested']['rel']['pesel']['search']='like';
  29. $tables['X']['BI_audit_ENERGA_RUM_KONTRAHENCI']['rel']['nip']='NIP';
  30. $tables['X']['BI_audit_ENERGA_RUM_KONTRAHENCI']['rel']['regon']='REGON';
  31. $tables['X']['BI_audit_ENERGA_RUM_KONTRAHENCI']['rel']['pesel']='PESEL';
  32. $tables['X']['BI_audit_ENERGA_RUM_KONTRAHENCI']['rel']['teryt']=1;
  33. $tables['Z']['BI_audit_CEIDG']['rel']['nip']='nip';
  34. $tables['Z']['BI_audit_CEIDG']['rel']['regon']='regon';
  35. $tables['Z']['BI_audit_CEIDG']['ref'][]='BI_audit_CEIDG_pelnomocnicy';
  36. $tables['Z']['BI_audit_CEIDG']['ref'][]='BI_audit_CEIDG_powiazania';
  37. $tables['Z']['BI_audit_CEIDG_pelnomocnicy']['rel']['nip']='nip';
  38. $tables['Z']['BI_audit_CEIDG_pelnomocnicy']['rel_and']['adres']['miejscowosc']='miejscowosc';
  39. $tables['Z']['BI_audit_CEIDG_pelnomocnicy']['rel_and']['adres']['ulica']='ulica';
  40. $tables['Z']['BI_audit_CEIDG_pelnomocnicy']['rel_and']['adres']['kodPocztowy']='kodPocztowy';
  41. //$tables['Z']['BI_audit_CEIDG_pelnomocnicy']['ref'][]='BI_audit_CEIDG';
  42. $tables['Z']['BI_audit_CEIDG_powiazania']['rel']['nip']='nip';
  43. $tables['Z']['BI_audit_CEIDG_powiazania']['rel']['regon']='nip';
  44. //$tables['Z']['BI_audit_CEIDG_powiazania']['ref'][]='BI_audit_CEIDG';
  45. $tables['Z']['BI_audit_KRS']['rel']['nip']='nip';
  46. $tables['Z']['BI_audit_KRS']['rel']['regon']='regon';
  47. $tables['Z']['BI_audit_KRS']['rel']['krs']='krs';
  48. $tables['Z']['BI_audit_KRS']['rel_and']['adres']['miejscowosc']='A_miejscowosc';
  49. $tables['Z']['BI_audit_KRS']['rel_and']['adres']['ulica']='A_ulica';
  50. $tables['Z']['BI_audit_KRS']['rel_and']['adres']['kodPocztowy']='A_kod';
  51. $tables['Z']['BI_audit_KRS']['ref'][]='BI_audit_KRS_person';
  52. $tables['Z']['BI_audit_KRS']['ref'][]='BI_audit_KRS_company';
  53. $tables['Z']['BI_audit_KRS_company']['rel']['regon']='regon';
  54. $tables['Z']['BI_audit_KRS_company']['rel']['krs']='krs';
  55. function start_dig($tables) {
  56. global $db;
  57. foreach($tables['Y'] as $Y=>$t) {
  58. $sql='select * from '.$Y ;
  59. $res=$db->query($sql);
  60. while($h=$db->fetch($res)) {
  61. $hist_loop[$Y][]=$h;
  62. dig_next($hist_loop,$t,$h,1);
  63. }
  64. }
  65. }
  66. function dig_next($hist_loop,$prev_tbl,$prev_dig,$loop) {
  67. global $db,$tables;
  68. $loop++;
  69. echo "###LOOP ".$loop;
  70. if($loop>5) die(' loop '.$loop);
  71. //detect next ref tbls
  72. $sql = array();
  73. foreach($tables['Z'] as $Z=>$z) {
  74. //rels in tbls
  75. foreach($z['rel'] as $z_rel_from=>$z_rel_to) {
  76. echo "test z_rel_fr ".$z_rel_from." to z_rel_to ".$z_rel_to ;
  77. if( isset($prev_tbl['rel'][$z_rel_from])) {
  78. if( strlen($prev_dig->$prev_tbl['rel'][$z_rel_to]) > 1 ) {
  79. $sql[$Z]['rel'][$z_rel_to]= $prev_dig->$prev_tbl['rel'][$z_rel_to];
  80. }
  81. }
  82. /*foreach($prev_dig as $col=>$val) {
  83. //transl ref to ref
  84. if( $prev_tbl['rel'][$z_rel_from] ) {
  85. $sql[$Z]['rel'][$z_rel_to]=$val;
  86. }
  87. }
  88. */
  89. }
  90. }
  91. foreach($sql as $T => $rel) {
  92. $sql_t[$T]=" select * from ".$T." where ";
  93. foreach($rel['rel'] as $col=>$val) {
  94. $sql_t[$T].=" `".$col."` = '".$val." " ;
  95. }
  96. //not loop
  97. if( isset($hist_loop[$T])) {
  98. foreach($hist_loop[$T] as $hist_rec) {
  99. $sql_t[$T].=" and ID!='".$hist_rec->ID."' ";
  100. }
  101. }
  102. }
  103. //echo "sql";
  104. //print_r($sql);
  105. //echo "sql_t";
  106. //print_r($sql_t);
  107. if( isset($sql_t)) {
  108. foreach($sql_t as $T => $sql_ext) {
  109. echo "\nQuerying :".$sql_ext ;
  110. $res=$db->query($sql_ext);
  111. while($h=$db->fetch($res)) {
  112. echo "\n found "; print_r($h);
  113. $hist_loop[$Y][]=$h;
  114. dig_next($hist_loop,$t,$h,$loop);
  115. }
  116. }
  117. }
  118. //todo look in Y and die()
  119. }
  120. start_dig($tables);