_menu($selectedMonth);
SE_Layout::dol();
}
private function _menu($selectedMonth) {
$selectedMonth = ($selectedMonth)? $selectedMonth : date("Y-m");
?>
_menu($selectedMonth);
if (strlen($selectedMonth) != 7) {
echo 'Wrong month
';
} else {
try {
$this->_updateMonth($selectedMonth);
} catch (Exception $e) {
echo '' . $e->getMessage(). '
';
SE_Layout::dol();
exit;
}
echo '' . "Gotowe" . '
';
}
// TODO: TableAjax for `STATS_ACTIVE_SERVICES_STATUS`
SE_Layout::dol();
}
public function _updateMonth($selectedMonth) {
//echo 'TODO: update month '.$selectedMonth.'
';
$parts = explode('-', $selectedMonth);
if (count($parts) != 2 || strlen($parts[0]) != 4 || strlen($parts[1]) != 2) {
throw new Exception("Wrong month format");
}
$sqlYear = $parts[0];
$sqlMonth = $parts[1];
$sqlMonthFirstDay = "{$sqlYear}-{$sqlMonth}-01";
$sqlUpdateMonth = << CURDATE()
, '???'
, A_STATUS_L2_SQL_DATE(srv.`ID`, DATE_SUB('{$sqlMonthFirstDay}', INTERVAL 2 DAY))
) as OPEN_DAY_MINUS_2
, IF(DATE_SUB('{$sqlMonthFirstDay}', INTERVAL 1 DAY) > CURDATE()
, '???'
, A_STATUS_L2_SQL_DATE(srv.`ID`, DATE_SUB('{$sqlMonthFirstDay}', INTERVAL 1 DAY))
) as OPEN_DAY_MINUS_1
, IF('{$sqlMonthFirstDay}' > CURDATE()
, '???'
, A_STATUS_L2_SQL_DATE(srv.`ID`, '{$sqlMonthFirstDay}')
) as OPEN_DAY
, IF(DATE_ADD('{$sqlMonthFirstDay}', INTERVAL 1 DAY) > CURDATE()
, '???'
, A_STATUS_L2_SQL_DATE(srv.`ID`, DATE_ADD('{$sqlMonthFirstDay}', INTERVAL 1 DAY))
) as OPEN_DAY_PLUS_1
, IF(DATE_SUB(LAST_DAY('{$sqlMonthFirstDay}'), INTERVAL 1 DAY) > CURDATE()
, '???'
, A_STATUS_L2_SQL_DATE(srv.`ID`, DATE_SUB(LAST_DAY('{$sqlMonthFirstDay}'), INTERVAL 1 DAY))
) as CLOSE_DAY_MINUS_1
, IF(LAST_DAY('{$sqlMonthFirstDay}') > CURDATE()
, '???'
, A_STATUS_L2_SQL_DATE(srv.`ID`, LAST_DAY('{$sqlMonthFirstDay}'))
) as CLOSE_DAY
, IF(DATE_ADD(LAST_DAY('{$sqlMonthFirstDay}'), INTERVAL 1 DAY) > CURDATE()
, '???'
, A_STATUS_L2_SQL_DATE(srv.`ID`, DATE_ADD(LAST_DAY('{$sqlMonthFirstDay}'), INTERVAL 1 DAY))
) as CLOSE_DAY_PLUS_1
, IF(DATE_ADD(LAST_DAY('{$sqlMonthFirstDay}'), INTERVAL 2 DAY) > CURDATE()
, '???'
, A_STATUS_L2_SQL_DATE(srv.`ID`, DATE_ADD(LAST_DAY('{$sqlMonthFirstDay}'), INTERVAL 2 DAY))
) as CLOSE_DAY_PLUS_2
, 0 as `_TO_REMOVE`
from `COMPANIES` c
join `SERVICES` srv on(srv.`ID_BILLING_USERS`=c.`ID`)
-- where c.`A_ADM_COMPANY`='19994_PODMIOT_Vectra_wlasciciel'
DB_SQL;
//echo '';echo "{$sqlUpdateMonth}";echo'';
$sqlUpdateMonth = <<';echo "{$sqlUpdateMonth}";echo'';
$sqlList = array();
$sqlList['drop month data'] = "delete from `STATS_ACTIVE_SERVICES_STATUS` where `YEAR`='{$sqlYear}' and `MONTH`='{$sqlMonth}' ";
//$sqlList['set _TO_REMOVE=1'] = "update `STATS_ACTIVE_SERVICES_STATUS` set `_TO_REMOVE`=1 where `YEAR`='{$sqlYear}' and `MONTH`='{$sqlMonth}' ";
$sqlList['update month data'] = $sqlUpdateMonth;
//$sqlList['delete _TO_REMOVE=1'] = "delete from `STATS_ACTIVE_SERVICES_STATUS` where `_TO_REMOVE`=1 ";
$db = DB::getDB();
if ($db->has_errors()) {
throw new Exception("DB Errors: " . implode("\n
", $db->get_errors()));
}
foreach ($sqlList as $sqlName => $sql) {
$res = $db->query($sql);
if ($db->has_errors()) {
throw new Exception("DB Errors at sql '{$sqlName}': " . implode("\n
", $db->get_errors()));
}
}
}
public function reinstallAction() {
SE_Layout::gora();
$this->reinstall();
echo 'OK';
SE_Layout::dol();
}
public function reinstall() {
$sqlList = array();
$sqlList['RemoveTable_STATS_ACTIVE_SERVICES_STATUS'] = "DROP TABLE IF EXISTS `STATS_ACTIVE_SERVICES_STATUS`";
$sqlList['InstallTable_STATS_ACTIVE_SERVICES_STATUS'] = <<has_errors()) {
throw new Exception("DB Errors: " . implode("\n
", $db->get_errors()));
}
foreach ($sqlList as $sqlName => $sql) {
$res = $db->query($sql);
if ($db->has_errors()) {
throw new Exception("DB Errors at sql '{$sqlName}': " . implode("\n
", $db->get_errors()));
}
}
}
}