|
|
@@ -69,7 +69,89 @@ class Route_UrlAction_ProjektyProNetMediaZamZlec extends RouteBase {// TODO: Url
|
|
|
}
|
|
|
|
|
|
public function addZlecenieAction() {
|
|
|
- die("TODO: add zlecenie and redirect");
|
|
|
+ $id_company = V::get('id_company', 0, $_REQUEST, 'int');
|
|
|
+ $id_project = V::get('ID_PROJECT', 0, $_REQUEST, 'int');
|
|
|
+ $orderType = 'zlecenie';
|
|
|
+
|
|
|
+ $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 {
|
|
|
+ UI::gora();
|
|
|
+ UI::menu();
|
|
|
+ UI::alert('danger', 'Nie udało się utworzyć rekordu');
|
|
|
+ UI::dol();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public function rmOrdersDataAction() {// TODO: RMME only TEST
|
|
|
@@ -84,26 +166,19 @@ class Route_UrlAction_ProjektyProNetMediaZamZlec extends RouteBase {// TODO: Url
|
|
|
UI::gora();
|
|
|
if (1 != V::get('_print', '', $_GET)) UI::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');
|
|
|
- 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}";
|
|
|
- ?>
|
|
|
- <div class="container" style="margin:2em auto; text-align:right">
|
|
|
- <a class="btn btn-default" href="<?php echo $basePrintUrl; ?>">Cofnij</a>
|
|
|
- <a class="btn btn-primary" href="<?php echo $basePrintUrl; ?>&_task=zlecenie&_print=1" target="_blank">Drukuj Zlecenie</a>
|
|
|
- </div>
|
|
|
- <?php
|
|
|
- }
|
|
|
$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);
|
|
|
- $this->zlecenieView($data);
|
|
|
+ DBG::_('DBG', '>1', 'data', $data, __CLASS__, __FUNCTION__, __LINE__);
|
|
|
+ $mode = (V::get('_print', '', $_REQUEST))? 'print' : 'view';
|
|
|
+ $this->zamowienieView($data, $mode);
|
|
|
} catch (Exception $e) {
|
|
|
UI::alert('danger', "Error #" . $e->getCode() . "|" . $e->getLine() . ": " . $e->getMessage());
|
|
|
}
|
|
|
@@ -423,7 +498,7 @@ class Route_UrlAction_ProjektyProNetMediaZamZlec extends RouteBase {// TODO: Url
|
|
|
<input type="hidden" name="_task" value="">
|
|
|
<label>Dodaj nowe </label>
|
|
|
<button type="submit" class="btn btn-primary" onclick="return submitZamowienie(this);">Zamówienie</button>
|
|
|
- <!-- <button type="submit" class="btn btn-primary" onclick="return submitZlecenie(this);">Zlecenie</button> -->
|
|
|
+ <button type="submit" class="btn btn-primary" onclick="return submitZlecenie(this);">Zlecenie</button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</form>
|