-
Notifications
You must be signed in to change notification settings - Fork 0
/
object_aheat.php
131 lines (116 loc) · 4.96 KB
/
object_aheat.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<?php
print '<table border="0" cellpadding="0" cellspacing="0"><tbody>';
print '<tr><td align="left" class="simple" colspan="2" style="font-size:12px"><strong>Æóðíàë àâàðèéíûõ ñðàáàòûâàíèé (Òåïëî) çà '.$prevmonth.'</strong></td></tr>';
print '<tr><td align=left colspan="2">';
print '<table width="1000px">';
print '<tr><td class="m_separator">Äàòà</td><td class="m_separator" align="center">Âðåìÿ</td>
<td class="m_separator" align="center">Ïðèçíàê</td>
<td class="m_separator" align="center">Ïðèìå÷àíèå</td></tr>';
require_once 'phpexcel/Classes/PHPExcel.php';
require_once 'phpexcel/Classes/PHPExcel/Cell/AdvancedValueBinder.php';
PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() );
$objPHPExcel = PHPExcel_IOFactory::load('reports/avar_heat.xls');
$objPHPExcel->getProperties()->setCreator("rpksu")
->setLastModifiedBy("Olejek")
->setTitle("Water report")
->setSubject("Water report")
->setDescription("Water report")
->setKeywords("office 2003 openxml php")
->setCategory("Report");
$objPHPExcel->setActiveSheetIndex(0);
$today=getdate();
if ($_GET["year"]=='') $ye=$today["year"];
else $ye=$_GET["year"];
if ($_GET["month"]=='') $mn=$today["mon"];
else $mn=$_GET["month"];
$repdata=$device.'_'.$mn.$ye;
$mn--;
$ts=0; $tm=1; $dy=31;
$st=sprintf ("%d%02d01000000",$ye,$mn);
$fn=sprintf ("%d%02d01000000",$ye,$mn+1);
if (!checkdate ($mn,31,$ye)) { $dy=30; }
if (!checkdate ($mn,30,$ye)) { $dy=29; }
if (!checkdate ($mn,29,$ye)) { $dy=28; }
for ($tn=0; $tn<=800; $tn++)
{
if ($tm>$dy) break;
$date1[$tn]=sprintf ("%d%02d%02d%02d0000",$ye,$mn,$tm,$ts);
$dat[$tn]=sprintf ("%d-%02d-%02d %02d:00:00",$ye,$mn,$tm,$ts);
$data0[$tn]=$data1[$tn]=$data2[$tn]='-';
// echo $dat[$tn].'<br>';
if ($ts>=23)
{
$ts=0;
$tm++;
}
$ts++;
}
$qnt=$tn;
$query = 'SELECT * FROM data WHERE type=1 AND (prm=11 OR prm=16) AND device='.$device.' AND date>='.$st.' AND date<'.$fn.' ORDER BY date DESC';
// echo $query;
$a = mysql_query ($query,$i);
if ($a) $uy = mysql_fetch_row ($a);
while ($uy)
{
$x=$qnt;
for ($tn=0; $tn<=$qnt; $tn++)
if ($uy[2]==$dat[$tn]) $x=$tn;
if ($uy[8]==11 && $uy[6]==0) $data0[$x]=number_format($uy[3],3);
if ($uy[8]==11 && $uy[6]==1) $data1[$x]=number_format($uy[3],3);
if ($uy[8]==16 && $uy[6]==0) $data2[$x]=number_format($uy[3],3);
$uy = mysql_fetch_row ($a);
}
$priznak1=0; // utechka
$priznak2=0; // otkluchenie
$priznak3=0; // otkluchenie 2
for ($x=0; $x<=$qnt; $x++)
{
if ($data0[$x]>0 && $data1[$x]>0 && $data0[$x]>$data1[$x]*1.04 && !$priznak1)
{
$priznak1=1;
$query = 'SELECT * FROM register WHERE device='.$device.' AND value='.$data0[$x].' AND date='.$date1[$x];
$y = mysql_query ($query,$i);
if ($y) $uy = mysql_fetch_row ($y);
if (!$uy)
{
$query = 'INSERT INTO register SET device='.$device.',type=12,value='.$data0[$x].',date='.$date1[$x].',descr=\'Ïåðåïàä îáúåìà ñåòåâîé âîäû â îáðàòíîì òðóáîïðîâîäå ïî îòíîøåíèþ ê ïîäàþùåìó ñâûøå 4% (óòå÷êà)\'';
$y = mysql_query ($query,$i);
}
}
if ($data2[$x]==0 && !$priznak2)
{
$priznak2=1;
$query = 'SELECT * FROM register WHERE device='.$device.' AND value='.$data2[$x].' AND date='.$date1[$x];
$y = mysql_query ($query,$i);
if ($y) $uy = mysql_fetch_row ($y);
if (!$uy)
{
$query = 'INSERT INTO register SET device='.$device.',type=13,value='.$data2[$x].',date='.$date1[$x].',descr=\'Ïàäåíèå äàâëåíèÿ íà âõîäÿùåì òðóáîïðîâîäå äî "0"\'';
$y = mysql_query ($query,$i);
}
}
}
$query = 'SELECT * FROM register WHERE device='.$device.' AND type>10 ORDER BY date DESC';
$y = mysql_query ($query,$i); $x=5;
if ($y) $uy = mysql_fetch_row ($y);
while ($uy)
{
$dt=substr($uy[5],0,10); $tm=substr($uy[5],11,18);
print '<tr><td class="m_separator">'.$dt.'</td><td class="menuitem" align="center">'.$tm.'</td>
<td class="menuitem">'.$uy[3].'</td><td class="menuitem">'.$uy[4].'</td></tr>';
$yach='A'.number_format($x); $objPHPExcel->getActiveSheet()->setCellValue($yach,$dt);
$yach='B'.number_format($x); $objPHPExcel->getActiveSheet()->setCellValue($yach,$tm);
$yach='C'.number_format($x);
if ($uy[2]==13) $objPHPExcel->getActiveSheet()->setCellValue($yach,iconv ('CP1251','UTF-8',"îáðûâ, îòêëþ÷åíèå"));
else $objPHPExcel->getActiveSheet()->setCellValue($yach,iconv ('CP1251','UTF-8',"óòå÷êà"));
$yach='D'.number_format($x); $objPHPExcel->getActiveSheet()->setCellValue($yach,iconv ('CP1251','UTF-8',$uy[3]));
$uy = mysql_fetch_row ($y); $x++;
}
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$filename='reports/report_aheat_'.$repdata.'.xlsx';
$objWriter->save($filename);
print '<tr><td align=center class="menuitem" colspan=3><a href="'.$filename.'">Ñêà÷àòü îò÷åò â ôîðìàòå Excel</a></td></tr>';
print '</table>';
print '</table></td></tr>';
print '</table>';
?>