getValuesWithExports($query); if($DBG){echo'
rows('.$query.') (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($rows);echo'';}
foreach ($rows as $kID => $vItem) {
$itemJson = new stdClass();
$itemJson->id = $vItem->id;
$itemJson->name = $vItem->param_out;
if (!empty($vItem->exports)) {
$itemJson->exports = $vItem->exports;
}
$jsonData[] = $itemJson;
}
echo json_encode($jsonData);
}
break;
}
}
public function defaultAction() {
SE_Layout::gora();
if (1 != V::get('_print', '', $_GET)) SE_Layout::menu();
try {
$data = array();
$data['id_project'] = V::get('ID_PROJECT', 0, $_REQUEST, 'int');
$data['id_company'] = V::get('id_company', 0, $_REQUEST, 'int');
$data['items_count'] = V::get('items_count', 10, $_REQUEST, 'int');
$data['widgetCompanies'] = array();
$data['widgetCompanies']['fieldName'] = 'id_company';
$data['widgetCompanies']['dataUrl'] = "index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&_task=typespecial&fld={$data['widgetCompanies']['fieldName']}";
$data['widgetCompanies']['typeSpecial'] = TypespecialVariable::getInstance(-1, '__COMPANIES');
$this->zamZlecFormView($data);
} catch (Exception $e) {
SE_Layout::alert('danger', "Error #" . $e->getCode() . "|" . $e->getLine() . ": " . $e->getMessage());
}
if (1 != V::get('_print', '', $_GET)) SE_Layout::dol();
}
public function addZlecenieAction() {
die("TODO: add zlecenie and redirect");
}
public function rmOrdersDataAction() {// TODO: RMME only TEST
if ('diradmin' != User::getLogin()) die('access denied!');
if ('doRemove' != V::get('rm', '', $_GET)) die('confirmation required!');
DB::getPDO()->exec("TRUNCATE CRM_LISTA_ZASOBOW_ORDERS_HIST");
DB::getPDO()->exec("TRUNCATE CRM_LISTA_ZASOBOW_ORDERS");
die('orders data removed');
}
public function zlecenieAction() {
SE_Layout::gora();
if (1 != V::get('_print', '', $_GET)) SE_Layout::menu();
try {
$id_project = V::get('ID_PROJECT', 0, $_REQUEST, 'int');
$id_company = V::get('id_company', 0, $_REQUEST, 'int');
$items_count = V::get('items_count', 10, $_REQUEST, 'int');
if (1 != V::get('_print', '', $_GET)) {
$basePrintUrl = "index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&ID_PROJECT={$id_project}";
$basePrintUrl .= "&id_company={$id_company}";
$basePrintUrl .= "&items_count={$items_count}";
?>
setProps($data);
$this->zlecenieView($data);
} catch (Exception $e) {
SE_Layout::alert('danger', "Error #" . $e->getCode() . "|" . $e->getLine() . ": " . $e->getMessage());
}
if (1 != V::get('_print', '', $_GET)) SE_Layout::dol();
}
public function addZamowienieAction() {
$id_company = V::get('id_company', 0, $_REQUEST, 'int');
$id_project = V::get('ID_PROJECT', 0, $_REQUEST, 'int');
$orderType = 'zamowienie';
$data = array();
$data['id_company'] = $id_company;
$data['id_project'] = $id_project;
$data = $this->setProps($data);
$sqlFieldsList = array();
$sqlFieldsList[] = 'ID_PROJECT';
$sqlFieldsList[] = 'ID_COMPANIES';
$sqlFieldsList[] = 'COMPANY_NAME';
$sqlFieldsList[] = 'COMPANY_ADDRESS';
$sqlFieldsList[] = 'COMPANY_POST_CODE';
$sqlFieldsList[] = 'COMPANY_CITY';
$sqlFieldsList[] = 'COMPANY_NIP';
$sqlFieldsList[] = 'COMPANY_CONTACT_PERSON';
$sqlFieldsList[] = 'COMPANY_CONTACT_TEL';
$sqlFieldsList[] = 'COMPANY_CONTACT_MAIL';
$sqlFieldsList[] = 'DELIVERY_DATE';
$sqlFieldsList[] = 'DELIVERY_TYPE';
$sqlFieldsList[] = 'DELIVERY_LOCATION';
$sqlFieldsList[] = 'CASH_PENALTY';
$sqlFieldsList[] = 'ORDER_CONTACT_PERSON';
$sqlFieldsList[] = 'ORDER_APPROVE_PERSON';
$sqlFieldsList[] = 'DELIVERY_CONTACT_PERSON';
$sqlFieldsList[] = 'PAYMENT_TERM_DAYS_FV';
$sqlFieldsList[] = 'PAYMENT_METHOD';
$sqlObj = array();
$sqlObj['ORDER_TYPE'] = $orderType;
foreach ($data as $fldName => $val) {
if (!in_array($fldName, $sqlFieldsList)) continue;
$sqlObj[$fldName] = $val;
}
$idOrder = DB::getDB()->ADD_NEW_OBJ('CRM_LISTA_ZASOBOW_ORDERS', (object)$sqlObj);
if ($idOrder > 0) {
{// update `ORDER_LABEL`: nr zamówienia / inicjały zamawiającego / numer budowy / miesiąc / rok
if (!empty($data['obcy_nr_sprawy'])) {
$inicjaly = User::getInicjaly();
$year = date('Y');
$month = '';// n Liczbowa forma miesiąca, bez zer wiodących 1 aż do 12
switch (date('n')) {
case 1: $month = 'I'; break;
case 2: $month = 'II'; break;
case 3: $month = 'III'; break;
case 4: $month = 'IV'; break;
case 5: $month = 'V'; break;
case 6: $month = 'VI'; break;
case 7: $month = 'VII'; break;
case 8: $month = 'VIII'; break;
case 9: $month = 'IX'; break;
case 10: $month = 'X'; break;
case 11: $month = 'XI'; break;
case 12: $month = 'XII'; break;
}
// 58/MŁ/13/2016/10/VII/2016
// 58 - nr rekordu
// MŁ - inicjały
// 13/2016 - nr budowy (obcy_nr_sprawy)
// 10 - nr kolejny zamówienia w odniesieniu do danej budowy
// VII - miesiąc
// 2016 - rok
$lpOrder = '';
if ($data['id_project'] > 0) {
$sqlIdProject = DB::getPDO()->quote($data['id_project'], PDO::PARAM_INT);
$lpOrder = DB::getPDO()->fetchValue("select count(*) as cnt from CRM_LISTA_ZASOBOW_ORDERS where ID_PROJECT = {$sqlIdProject}");
if ($lpOrder < 1) $lpOrder = 1;
}
$data['ORDER_LABEL'] = "{$idOrder}/{$inicjaly}/{$data['obcy_nr_sprawy']}/{$lpOrder}/{$month}/{$year}";
}
DB::getPDO()->exec("update CRM_LISTA_ZASOBOW_ORDERS set ORDER_LABEL = '{$data['ORDER_LABEL']}' where ID = '{$idOrder}'");
}
$urlZam = Request::getPathUri() . "index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&_task={$orderType}&id={$idOrder}";
header("Location: {$urlZam}");
exit;
} else {
SE_Layout::gora();
SE_Layout::menu();
SE_Layout::alert('danger', 'Nie udało się utworzyć rekordu');
SE_Layout::dol();
}
}
public function zamowienieAction() {
SE_Layout::gora();
if (1 != V::get('_print', '', $_GET)) SE_Layout::menu();
try {
$id_order = V::get('id', 0, $_REQUEST, 'int');
$id_project = V::get('ID_PROJECT', 0, $_REQUEST, 'int');
$id_company = V::get('id_company', 0, $_REQUEST, 'int');
$items_count = V::get('items_count', 10, $_REQUEST, 'int');
$data = array();
$data['id'] = $id_order;
$data['ile_pozycji'] = $items_count;
$data['id_company'] = $id_company;
$data['id_project'] = $id_project;
$data = $this->setProps($data);
$mode = (V::get('_print', '', $_REQUEST))? 'print' : 'view';
$this->zamowienieView($data, $mode);
} catch (Exception $e) {
SE_Layout::alert('danger', "Error #" . $e->getCode() . "|" . $e->getLine() . ": " . $e->getMessage());
}
if (1 != V::get('_print', '', $_GET)) SE_Layout::dol();
}
public function previewOrder($idOrder) {
try {
$id_order = $idOrder;
$data = array();
$data['id'] = $id_order;
$data = $this->setProps($data);
$this->zamowienieView($data, $mode = 'preview');
} catch (Exception $e) {
SE_Layout::alert('danger', "Error #" . $e->getCode() . "|" . $e->getLine() . ": " . $e->getMessage());
}
}
public function setProps($data) {
$data['_nr_budowy'] = '';// fetch from project - field M_DIST_DESC
$sqlIdOrder = V::get('id', 0, $data, 'int');
if ($sqlIdOrder > 0) {
$rows = DB::getPDO()->fetchAll("
select t.*
from CRM_LISTA_ZASOBOW_ORDERS t
where t.ID = {$sqlIdOrder}
");
if (count($rows) > 0) {
$row = reset($rows);
if (!empty($row['ID_COMPANIES'])) $data['id_company'] = $row['ID_COMPANIES'];
if (!empty($row['ID_PROJECT'])) $data['id_project'] = $row['ID_PROJECT'];
$data['ORDER_TYPE'] = V::get('ORDER_TYPE', '', $row);
$data['ORDER_LABEL'] = V::get('ORDER_LABEL', '', $row);
$defaultOrderDate = substr(V::get('A_RECORD_CREATE_DATE', date("Y-m-d"), $row), 0, 10);
$data['ORDER_DATE'] = V::get('ORDER_DATE', $defaultOrderDate, $row);
$data['OFFER_NR'] = V::get('OFFER_NR', '', $row);
$data['COMPANY_NAME'] = V::get('COMPANY_NAME', '', $row);
$data['COMPANY_ADDRESS'] = V::get('COMPANY_ADDRESS', '', $row);
$data['COMPANY_POST_CODE'] = V::get('COMPANY_POST_CODE', '', $row);
$data['COMPANY_CITY'] = V::get('COMPANY_CITY', '', $row);
$data['COMPANY_NIP'] = V::get('COMPANY_NIP', '', $row);
$data['COMPANY_CONTACT_PERSON'] = V::get('COMPANY_CONTACT_PERSON', '', $row);
$data['COMPANY_CONTACT_TEL'] = V::get('COMPANY_CONTACT_TEL', '', $row);
$data['COMPANY_CONTACT_MAIL'] = V::get('COMPANY_CONTACT_MAIL', '', $row);
$data['DELIVERY_DATE'] = V::get('DELIVERY_DATE', '', $row);
$data['DELIVERY_TYPE'] = V::get('DELIVERY_TYPE', '', $row);
$data['DELIVERY_LOCATION'] = V::get('DELIVERY_LOCATION', '', $row);
$data['CASH_PENALTY'] = V::get('CASH_PENALTY', '', $row);
$data['ORDER_CONTACT_PERSON'] = V::get('ORDER_CONTACT_PERSON', '', $row);
$data['ORDER_APPROVE_PERSON'] = V::get('ORDER_APPROVE_PERSON', '', $row);
$data['DELIVERY_CONTACT_PERSON'] = V::get('DELIVERY_CONTACT_PERSON', '', $row);
$data['PAYMENT_TERM_DAYS_FV'] = V::get('PAYMENT_TERM_DAYS_FV', '60', $row);
$data['PAYMENT_METHOD'] = V::get('PAYMENT_METHOD', 'przelew', $row);
}
$data['orderPosList'] = $this->fetchOrderPosList($sqlIdOrder);
}
$sqlIdCompany = V::get('id_company', 0, $data, 'int');
if ($sqlIdCompany > 0) {
$rows = DB::getPDO()->fetchAll("
select c.*
from COMPANIES c
where c.ID = {$sqlIdCompany}
");
if (count($rows) > 0) {
$row = reset($rows);
DBG::_('DBG', '>2', "company by id='{$sqlIdCompany}'", $row, __CLASS__, __FUNCTION__, __LINE__);
if (empty($data['COMPANY_NAME'])) $data['COMPANY_NAME'] = V::get('P_NAME', '', $row);
if (empty($data['COMPANY_ADDRESS'])) {
$data['COMPANY_ADDRESS'] = V::get('P_ADDRESS_STREET', '', $row);
if (!empty($row['P_ADDRESS_HOUSE'])) $data['COMPANY_ADDRESS'] .= " {$row['P_ADDRESS_HOUSE']}";// TODO: add P_ADDRESS_HOUSE
if (!empty($row['P_ADDRESS_HOME'])) $data['COMPANY_ADDRESS'] .= "/{$row['P_ADDRESS_HOME']}";// TODO: add '/' P_ADDRESS_HOME
}
if (empty($data['COMPANY_POST_CODE'])) $data['COMPANY_POST_CODE'] = V::get('P_ADDRESS_POST_CODE', '', $row);
if (empty($data['COMPANY_CITY'])) $data['COMPANY_CITY'] = V::get('P_ADDRESS_CITY', '', $row);
if (empty($data['COMPANY_NIP'])) $data['COMPANY_NIP'] = V::get('P_NIP', '', $row);
if (empty($data['COMPANY_CONTACT_PERSON'])) $data['COMPANY_CONTACT_PERSON'] = V::get('P_CONTACT_PERSON', '', $row);
if (empty($data['COMPANY_CONTACT_TEL'])) $data['COMPANY_CONTACT_TEL'] = V::get('P_PHONE', '', $row);
if (empty($data['COMPANY_CONTACT_MAIL'])) $data['COMPANY_CONTACT_MAIL'] = V::get('user_mail_contact', '', $row);
}
}
$sqlIdProject = V::get('id_project', 0, $data, 'int');
if ($sqlIdProject > 0) {
$rows = DB::getPDO()->fetchAll("
select p.*
from IN7_MK_BAZA_DYSTRYBUCJI p
where p.ID = {$sqlIdProject}
limit 1
");
if (count($rows) > 0) {
$row = reset($rows);
if (!empty($row['M_DIST_DEALNUM'])) $data['obcy_nr_sprawy'] = $row['M_DIST_DEALNUM'];
if (!empty($row['M_DIST_DESC'])) $data['_nr_budowy'] = $row['M_DIST_DESC'];
}
}
if (!empty($data['id_company'])) $data['ID_COMPANIES'] = $data['id_company'];
if (!empty($data['id_project'])) $data['ID_PROJECT'] = $data['id_project'];
// TODO: $data['obcy_nr_sprawy'] = 'zam./OSOBA/nr budowy/I/2016' lub 'zlec./OSOBA/nr budowy/I/2016'
return $data;
}
public function zamZlecFormView($data) {
$id_project = V::get('id_project', 0, $data);
$id_company = V::get('id_company', 0, $data);
$items_count = V::get('items_count', 0, $data);
$widgetCompanies = V::get('widgetCompanies', array(), $data);
$sqlWhere = '';
if ($id_project > 0) $sqlWhere = "where o.ID_PROJECT = {$id_project}";
$projOrders = DB::getPDO()->fetchAll("
select o.*
, p.M_DIST_DEALNUM as obcy_nr_sprawy
from CRM_LISTA_ZASOBOW_ORDERS o
left join IN7_MK_BAZA_DYSTRYBUCJI p on(p.ID = o.ID_PROJECT)
left join COMPANIES c on(c.ID = o.ID_COMPANIES)
{$sqlWhere}
order by ID DESC
limit 100
");
?>
fetchAll("
select z.ID, z.`DESC`
from CRM_LISTA_ZASOBOW z
where z.PARENT_ID = '{$idTableOrders}'
and z.`TYPE` = 'KOMORKA'
");
if (empty($rows)) return '#';
foreach ($rows as $row) {
$fieldMap[ $row['ID'] ] = $row['DESC'];
}
if (empty($fieldMap)) return '#';
}
$record = null;
{
$rows = DB::getPDO()->fetchAll("
select r.*
from CRM_LISTA_ZASOBOW_ORDERS r
where r.ID = '{$idOrder}'
");
if (empty($rows)) return '#';
$record = $rows[0];
}
if (!$record) return '#';
$urlParams = array();// [ "{$urlParamName}={$paramValue}" ]
foreach ($fun['cell_id_params'] as $idField => $urlParamName) {
$paramValue = '';
if (array_key_exists($idField, $fieldMap)) {
$paramValue = V::get($fieldMap[$idField], '', $record);
$urlParams[] = "{$urlParamName}={$paramValue}";
}
}
if (!empty($urlParams)) $link .= "&" . implode("&", $urlParams);
return $link;
}
public function zlecenieView($data) {
$ile_pozycji = V::get('ile_pozycji', 10, $data);
?>
|
Zleceniodawca:
PRO-NET.MEDIA S.A. 80-557 Gdańsk, ul. Narwicka 21 NIP 583-315-47-35 Zleceniobiorca: NIP |
Zlecenie nr:
Zleceniodawca niniejszym składa zlecenie na wskazanych poniżej warunkach zgodnie z ofertą Zleceniobiorcy z dnia .
| Lp. | Przedmiot zlecenia | J.M. | Ilość | Cena jednostkowa netto [pln] |
Wartość brutto [pln] |
|---|---|---|---|---|---|
| . | |||||
|
RAZEM:
Słownie:
|
|||||
| UWAGI: NA FAKTURZE VAT NALEŻY UMIESZCZAĆ CZYTELNY NR ZLECENIA | |||||