setProps($data);
$this->finalApproveFormView($data);
} catch (Exception $e) {
UI::alert('danger', "Error #" . $e->getCode() . "|" . $e->getLine() . ": " . $e->getMessage());
}
UI::dol();
}
public function finalApproveOrderAction() {
UI::gora();
try {
$data = array();
$data['id_order'] = V::get('id_order', 0, $_REQUEST, 'int');
$data = $this->setProps($data);
$sqlObj = array();
$sqlObj['ID'] = $data['id_order'];
$sqlObj['APPROVE_STATUS'] = 'ZATWIERDZONE';
$sqlObj['APPROVED_BY'] = User::getFullName();
$affected = DB::getDB()->UPDATE_OBJ('CRM_LISTA_ZASOBOW_ORDERS', (object)$sqlObj);
UI::startContainer();
if ($affected >= 0) {
UI::alert('success', "Zmieniono status zamówienia na ZATWIERDZONE");
} else {
UI::alert('danger', "Wystąpiły błędy podczas zmieniania statusu zamówienia");
}
echo UI::h('div', ['style'=>"text-align:center"], [
UI::h('a', ['href'=>"index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&ID_PROJECT={$data['id_project']}", 'class'=>"btn btn-primary"], "Wróć")
]);
UI::endContainer();
} catch (Exception $e) {
UI::alert('danger', "Error #" . $e->getCode() . "|" . $e->getLine() . ": " . $e->getMessage());
}
UI::dol();
}
public function rejectOrderAction() {
UI::gora();
try {
$data = array();
$data['id_order'] = V::get('id_order', 0, $_REQUEST, 'int');
$data = $this->setProps($data);
$sqlObj = array();
$sqlObj['ID'] = $data['id_order'];
$sqlObj['APPROVE_STATUS'] = 'ODRZUCONE';
$sqlObj['APPROVED_BY'] = User::getFullName();
$affected = DB::getDB()->UPDATE_OBJ('CRM_LISTA_ZASOBOW_ORDERS', (object)$sqlObj);
UI::startContainer();
if ($affected >= 0) {
UI::alert('success', "Zmieniono status zamówienia na ODRZUCONE");
} else {
UI::alert('danger', "Wystąpiły błędy podczas zmieniania statusu zamówienia");
}
echo UI::h('div', ['style'=>"text-align:center"], [
UI::h('a', ['href'=>"index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&ID_PROJECT={$data['id_project']}", 'class'=>"btn btn-primary"], "Wróć")
]);
UI::endContainer();
} catch (Exception $e) {
UI::alert('danger', "Error #" . $e->getCode() . "|" . $e->getLine() . ": " . $e->getMessage());
}
UI::dol();
}
public function setProps($data) {
$idOrder = V::get('id_order', 0, $data, 'int');
if (!$idOrder) throw new Exception("Error: Brak nr zamówienia!");
$data['id_order'] = $idOrder;
$data['zamowienie_label'] = '';
$data['orderRaw'] = DB::getPDO()->fetchAll("
select r.ID
, r.ORDER_LABEL
, r.ORDER_TYPE
, r.ID_PROJECT
, sum(o.OFFER_PRICE_PER_UNIT * o.OFFER_QUANTITY) as SUM_NETTO
, p.M_DIST_DESC
from CRM_LISTA_ZASOBOW_ORDERS r
join IN7_MK_BAZA_DYSTRYBUCJI p on(p.ID = r.ID_PROJECT)
left join CRM_LISTA_ZASOBOW_OFFERS o on(
o.ID_ORDER = r.ID
and (o.A_STATUS is null or o.A_STATUS not in('DELETED'))
)
where (r.A_STATUS is null or r.A_STATUS not in('DELETED'))
and r.ID = {$idOrder}
");
if (empty($data['orderRaw'])) throw new Exception("Error: Brak danych dla zamówienia {$idOrder}!");
$data['orderRaw'] = $data['orderRaw'][0];
$data['zamowienie_label'] = $data['orderRaw']['ORDER_LABEL'];
$data['zamowienie_suma'] = number_format($data['orderRaw']['SUM_NETTO'], 2, ',', ' ');
$data['id_project'] = $data['orderRaw']['ID_PROJECT'];
$data['project_label'] = $data['orderRaw']['M_DIST_DESC'];
$data['ORDER_TYPE'] = $data['orderRaw']['ORDER_TYPE'];
return $data;
}
public function finalApproveFormView($data) {
UI::startContainer();
echo UI::h('h1', [], [
('zlecenie' == $data['ORDER_TYPE']) ? "Zlecenie" : "Zamówienie",
': ',
$data['zamowienie_label'],
'
',
UI::h('small', [], "Dotyczy projektu: {$data['project_label']}")
]);
echo UI::alert('info', "Suma netto zamówienia: {$data['zamowienie_suma']}");
echo UI::h('form', ['style'=>"text-align:center"], [
UI::h('input', ['type'=>"hidden", 'name'=>"_route", 'value'=>"UrlAction_ProjektyProNetMediaFinalApproveZam"]),
UI::h('input', ['type'=>"hidden", 'name'=>"_task", 'value'=>""]),
UI::h('input', ['type'=>"hidden", 'name'=>"id_order", 'value'=>$data['id_order']]),
UI::h('button', ['onClick'=>"return finalApproveOrder(this);", 'class'=>"btn btn-lg btn-primary"], "Zatwierdzam"),
UI::h('button', ['onClick'=>"return rejectOrder(this);", 'class'=>"btn btn-lg btn-danger", 'style'=>"margin-left:30px"], "Nie zatwierdzam"),
]);
echo UI::h('hr');
Router::getRoute('UrlAction_ProjektyProNetMediaZamZlec')->previewOrder($data['id_order']);
UI::endContainer();
echo UI::h('script', [], "
function finalApproveOrder(fld) {
var frm = fld.form;
frm['_task'].value='finalApproveOrder';
}
function rejectOrder(fld) {
var frm = fld.form;
frm['_task'].value='rejectOrder';
}
");
}
}