budynki-ROZLICZENIE_BUDZETU_2010_AKORD_TECHNIKA.php 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. //3.5.1.1 AKORD ILO&CI INSTALACJI W TERMINIE/NIE_W_TERMINIE (TECH)
  3. //SZUKAMY INSTALACJI- LICZYMY DATÊ POJAWIENIA SIÊ REKORDU W SE
  4. $SQL="
  5. select t1.A_RECORD_CREATE_DATE
  6. , COALESCE(unix_timestamp(t1.T_WHEN_CONNECTED),0) as T_WHEN_TS
  7. , ( COALESCE(unix_timestamp(t1.T_WHEN_CONNECTED),0) - COALESCE(unix_timestamp( left(min(t2.A_RECORD_UPDATE_DATE), 10) ),0) )/24/3600 as DIFF
  8. , COALESCE(unix_timestamp(left(min(t2.A_RECORD_UPDATE_DATE),10)),0) as MIN_U_DATE
  9. from USERS2 as t1
  10. left join USERS2_HIST as t2 on t1.ID=t2.ID_USERS2
  11. where t1.T_WHEN_CONNECTED like '".$DATA."'
  12. group by t1.ID
  13. ";
  14. echo $SQL."\n ";
  15. $res=mysql_query($SQL);
  16. $i=0;
  17. while ($h=mysql_fetch_array($res)) {
  18. if($h['MIN_U_DATE']) {
  19. $BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE'][$i]=$h['DIFF'];
  20. $BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE_WYLICZ_TSMIN'][$i]=getdate($h['MIN_U_DATE']);
  21. $BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE_WYLICZ_TSMAX'][$i]=getdate($h['T_WHEN_TS']);
  22. $c=0;
  23. $dow=$BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE_WYLICZ_TSMIN'][$i]['wday'];
  24. //wyliczam czas bez weekendow - czyli jezeli sobota lub niedziela, to nie licze czasu
  25. for($b=1;$b<=$h['DIFF'];$b++) {
  26. if($dow==6) $dow++;
  27. else if($dow==7) $dow=1;
  28. else {$c++; $dow++;}
  29. }//eof for
  30. $BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE_WD'][$i]=$c; //czas instalacji bez weekendow wynosi $c;
  31. if($c<=3)$BUDZET['AKORD']['TECH-SERWIS']['STAT']['INSTALACJE_OK']++;
  32. }
  33. unset($BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE_WYLICZ_TSMIN'][$i]);
  34. unset($BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE_WYLICZ_TSMAX'][$i]);
  35. $i++;
  36. } //while
  37. //kasujemy niepotrzebnego arraya
  38. unset($BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE_WYLICZ_TSMIN']);
  39. unset($BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE_WYLICZ_TSMAX']);
  40. asort($BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE']);
  41. asort($BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE_WD']);
  42. //obcinamy 10% najd³u¿szych instalacji
  43. $BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE2']=array_slice($BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE'],0,count($BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE'])*0.9 );
  44. // destroy($BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE']);
  45. // $BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE']=array(1=>2,3=>3);
  46. // unset($BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE']);
  47. $BUDZET['AKORD']['TECH-SERWIS']['STAT']['INSTALACJE_CNT']=count($BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE2']);
  48. unset($BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE2']);
  49. //Sprawdzamy ile zgodnie z terminem instalacji (1 dzieñ)
  50. //Srednie
  51. foreach($BUDZET['AKORD']['TECH-SERWIS']['INSTALACJE_WD'] as $IW=>$IWA) {
  52. echo $IWA;
  53. $BUDZET['AKORD']['TECH-SERWIS']['STAT']['INSTALACJE_AVG_DAYS']+=$IWA;
  54. }
  55. $BUDZET['AKORD']['TECH-SERWIS']['STAT']['INSTALACJE_AVG_DAYS']=$BUDZET['AKORD']['TECH-SERWIS']['STAT']['INSTALACJE_AVG_DAYS']/$BUDZET['AKORD']['TECH-SERWIS']['STAT']['INSTALACJE_CNT'];
  56. $BUDZET['AKORD']['TECH-SERWIS']['STAT']['INSTALACJE_PRERCENT_OK']=round($BUDZET['AKORD']['TECH-SERWIS']['STAT']['INSTALACJE_OK']/$BUDZET['AKORD']['TECH-SERWIS']['STAT']['INSTALACJE_CNT'],2);
  57. // count($tablica);
  58. // print_r($h);