menu();
}
$task = V::get('task', 'cyfrowe', $_GET);
$grupyKosztow = $analizaGrupKosztowRouter->getGrupyKosztow();
$projekty = $analizaGrupKosztowRouter->getProjekty();
$costs = $analizaGrupKosztowRouter->getCosts();
$orderby = V::get('orderby', '', $_GET);
$view_type = V::get('view_type', '', $_GET);
$analizaGrupKosztowRouter->cyfrowe($projekty, $grupyKosztow, $costs, $orderby, $view_type);
}
class AnalizaGrupKosztowRouter {
// TODO: function link()
function menu() {
// TODO: MENU_INIT na FUNCTION_INIT i HEADER NOT INIT
?>
ID] = 0;
}
$grupyKosztow_count['HD'] = 0;
foreach ($programy as $program) {
foreach ($grupyKosztow as $pakiet) {
if (in_array($pakiet->ID, $program->pakiety)) {
$grupyKosztow_count[$pakiet->ID] += 1;
}
}
if ($program->TV_SIGAL_DELIVERY == 'DVB-HD') {
$grupyKosztow_count['HD'] += 1;
}
}
if ($view_type == 'csv') {
$this->csv_cyfrowe($programy, $grupyKosztow, $costs, $orderby = '');
return;
}
$this->css();
$sumyGrupKosztow = array();
?>
Analiza grup kosztów
|
|
WWW_NAZWA; ?> |
|
Nr grupy kosztów
|
ID; ?> |
| Liczba projektów |
ID]; ?> |
| ID; ?> |
M_DIST_DESC; ?> |
ID][$grupaKosztow->ID])) : ?>
ID][$grupaKosztow->ID];
$sumyGrupKosztow[$vCost['TYPE']][$grupaKosztow->ID] += $vCost['COST'];
?>
/ |
|
$vSumy) { ?>
|
ID])) : ?>
ID]; ?> |
|
';
foreach ($projekty as $projekt) {
$csv_line = array();
$csv_line []= '"' . $projekt->ID . '"';
$csv_line []= '"' . $projekt->M_DIST_DESC . '"';
foreach ($grupyKosztow as $pakiet) {
if (in_array($pakiet->ID, $projekt->pakiety)) {
$csv_line []= '"1"';
} else {
$csv_line []= '"0"';
}
}
echo implode(';', $csv_line) . "\n";
}
echo'';
}
function getGrupyKosztow() {
$grupyKosztow = array();
$db = DB::getDB();
$sql = "select gc.`ID`
, gc.`POKAZ_NA_WWW`
, gc.`S_OTHER_INFO` as `WWW_NAZWA`
, gc.`WWW_P_SERVICE`
-- , if(gc.`WWW_P_SERVICE`='TVC', 1, 2) as order_by_lp
from `USERS2_OFFERS_COSTS_GROUPS` as gc
where
gc.`A_STATUS` in('NORMAL', 'WAITING')
-- and gc.`POKAZ_NA_WWW`='TAK'
-- order by order_by_lp
order by gc.`ID` DESC
";
$res = $db->query($sql);
while ($r = $db->fetch($res)) {
$grupyKosztow[$r->ID] = $r;
}
return $grupyKosztow;
}
function getProjekty() {
$db = DB::getDB();
$projekty = array();
$sql = "select c.ID as c_ID
, c.`ID_PROJECT` as c_ID_PROJECT
, p.`ID`
, p.`M_DIST_DESC`
, p.`TV_NAZWA_PROGRAMU`
, p.`TV_LANGUAGE`
, p.`TV_SIGAL_DELIVERY`
, p.`TV_PROGRAM_PROFILE`
, p.`TV_DVBC_EPG_CHANNEL_NUMBER`
, p.`M_DIST_INVENTOR`
-- , CAST(p.`TV_DVBC_EPG_CHANNEL_NUMBER` AS SIGNED) as order_by_lp
, '' as order_by_lp
, GROUP_CONCAT(cg.ID) as cost_group_ids
from `USERS2_OFFERS_COSTS_GROUPS` as cg
left join `USERS2_OFFERS_COSTS` as c on(c.`ID_COSTS_GROUPS`=cg.`ID`)
left join `IN7_MK_BAZA_DYSTRYBUCJI` as p on(p.`ID`=c.`ID_PROJECT`
-- and p.`M_DIST_TYPE`='TV__UMOWA ZAKUPU KANALU'
)
where 1=1
-- and p.`M_DIST_TYPE`='TV__UMOWA ZAKUPU KANALU'
-- and c.`S_OFFER_STATUS`='IN_OFFER'
-- and cg.`ID_MAIN_COSTS_GROUP`=47
and p.`ID` is not NULL
-- and cg.`A_STATUS` in('WAITING', 'NORMAL')
and c.`A_STATUS` in('WAITING', 'NORMAL')
and p.`A_STATUS` in('WAITING', 'NORMAL')
-- and p.`TV_SIGAL_DELIVERY` in ('DVB-SD', 'DVB-HD')
-- and cg.`POKAZ_NA_WWW`='TAK'
group by p.ID
-- order by order_by_lp ASC
order by ID DESC
limit 10000
";
$res = $db->query($sql);
while ($r = $db->fetch($res)) {
$r->pakiety = explode(',', $r->cost_group_ids);
$projekty[] = $r;
}
return $projekty;
}
function getCosts() {
$db = DB::getDB();
$costs = array();
$sql = "select c.ID as c_ID
, c.`ID_PROJECT` as c_ID_PROJECT
, c.`ID_COSTS_GROUPS`
, c.`COST_ACCOUNTED_ON`
, c.`COST_POWER`
, p.`ID`
, p.`M_DIST_DESC`
from `USERS2_OFFERS_COSTS_GROUPS` as cg
left join `USERS2_OFFERS_COSTS` as c on(c.`ID_COSTS_GROUPS`=cg.`ID`)
left join `IN7_MK_BAZA_DYSTRYBUCJI` as p on(p.`ID`=c.`ID_PROJECT`)
where 1=1
and p.`ID` is not NULL
and c.`A_STATUS` in('WAITING', 'NORMAL')
and p.`A_STATUS` in('WAITING', 'NORMAL')
order by p.`ID` DESC
limit 10000
";
$res = $db->query($sql);
while ($r = $db->fetch($res)) {
$costs[$r->ID][$r->ID_COSTS_GROUPS] = array('COST'=>$r->COST_POWER, 'TYPE'=>$r->COST_ACCOUNTED_ON);
}
return $costs;
}
function getProgramyAnalogowe() {
$db = DB::getDB();
$programy = array();
$sql = "select c.ID as c_ID
, c.ID_PROJECT as c_ID_PROJECT
, p.ID, p.TV_NAZWA_PROGRAMU, p.TV_LANGUAGE, p.TV_SIGAL_DELIVERY
, p.TV_PROGRAM_PROFILE
-- , p.TV_DVBC_EPG_CHANNEL_NUMBER
, p.M_DIST_INVENTOR
, p.TV_ANALOG_FREQUENCY
, CAST(p.`TV_DVBC_EPG_CHANNEL_NUMBER` AS SIGNED) as order_by_lp
, GROUP_CONCAT(cg.ID) as cost_group_ids
from `USERS2_OFFERS_COSTS_GROUPS` as cg
left join `USERS2_OFFERS_COSTS` as c on(c.`ID_COSTS_GROUPS`=cg.`ID`)
left join `IN7_MK_BAZA_DYSTRYBUCJI` as p on(p.`ID`=c.`ID_PROJECT` and p.`M_DIST_TYPE`='TV__UMOWA ZAKUPU KANALU')
where
p.`M_DIST_TYPE`='TV__UMOWA ZAKUPU KANALU'
and c.`S_OFFER_STATUS`='IN_OFFER'
and cg.`ID`=2
and p.`ID` is not NULL
and cg.`A_STATUS` in('WAITING', 'NORMAL')
and c.`A_STATUS` in('WAITING', 'NORMAL')
and p.`A_STATUS` in('WAITING', 'NORMAL')
and p.`TV_SIGAL_DELIVERY` in ('ANALOG')
-- and cg.`POKAZ_NA_WWW`='TAK'
group by p.ID
order by order_by_lp ASC
limit 1000;
";
$res = $db->query($sql);
while ($r = $db->fetch($res)) {
$r->pakiety = explode(',', $r->cost_group_ids);
$programy []= $r;
}
return $programy;
}
}