| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840 |
- <?php
- Lib::loadClass('RouteBase');
- Lib::loadClass('Typespecial');
- Lib::loadClass('TypespecialVariable');
- Lib::loadClass('Request');
- Lib::loadClass('Response');
- Lib::loadClass('ProcesHelper');
- Lib::loadClass('Route_UrlAction');
- Lib::loadClass('UI');
- Lib::loadClass('TableAjax');
- class Route_UrlAction_ProjektyProNetMediaZamZlec extends RouteBase {// TODO: UrlActionBase @see Route_UrlAction
- public function handleAuth() {
- if ('printZamowienie' == V::get('_task', '', $_GET)) {
- session_write_close();
- $this->printZamowieniePublicAction();
- exit;
- }
- if (!User::logged()) {
- User::authByRequest();
- }
- }
- public function typespecialAction() {
- $DBG = ('1' == V::get('DBG', '', $_REQUEST));
- header("Content-type: application/json");
- $fld = V::get('fld', '', $_GET);
- switch ($fld) {
- case 'id_company': {
- $typeSpecialCompanies = TypespecialVariable::getInstance(-1, '__COMPANIES');
- $query = V::get('q', '', $_REQUEST);
- $rawRows = null;
- $rows = $typeSpecialCompanies->getValuesWithExports($query);
- if($DBG){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">rows('.$query.') (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($rows);echo'</pre>';}
- 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;
- case 'ID_PROJECT': {
- $widgetProject = $this->getWidgetProject();
- $typeSpecialIdProject = Typespecial::getInstance($widgetProject['idKomorka'], $colName = $widgetProject['fieldName']);
- $query = V::get('q', '', $_REQUEST);
- $rawRows = null;
- $rows = $typeSpecialIdProject->getValuesWithExports($query);
- if($DBG){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">rows('.$query.') (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($rows);echo'</pre>';}
- 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() {
- UI::gora();
- if (1 != V::get('_print', '', $_GET)) UI::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');
- $data['widgetProject'] = $this->getWidgetProject();
- $this->zamZlecFormView($data);
- } catch (Exception $e) {
- UI::alert('danger', "Error #" . $e->getCode() . "|" . $e->getLine() . ": " . $e->getMessage());
- }
- if (1 != V::get('_print', '', $_GET)) UI::dol();
- }
- public function reinstallAction() {
- UI::gora();
- try {
- DB::getPDO()->execSql(" alter table CRM_LISTA_ZASOBOW_ORDERS add INVOICE enum('0','1') NOT NULL DEFAULT '0' ");
- DB::getPDO()->execSql(" alter table CRM_LISTA_ZASOBOW_ORDERS_HIST add INVOICE varchar(6) NOT NULL DEFAULT 'N/S;' ");
- } catch (Exception $e) {
- if (fales !== strpos($e->getMessage(), 'Duplicate column name')) {
- UI::alert('warning', $e->getMessage());
- } else {
- UI::alert('danger', $e->getMessage());
- DBG::log($e);
- }
- }
- try {
- DB::getPDO()->execSql(" alter table CRM_LISTA_ZASOBOW_ORDERS add PAYMENT enum('0','1') NOT NULL DEFAULT '0' ");
- DB::getPDO()->execSql(" alter table CRM_LISTA_ZASOBOW_ORDERS_HIST add PAYMENT varchar(6) NOT NULL DEFAULT 'N/S;' ");
- } catch (Exception $e) {
- if (fales !== strpos($e->getMessage(), 'Duplicate column name')) {
- UI::alert('warning', $e->getMessage());
- } else {
- UI::alert('danger', $e->getMessage());
- DBG::log($e);
- }
- }
- try {
- DB::getPDO()->execSql(" alter table CRM_LISTA_ZASOBOW_ORDERS add NR_PKWIU varchar(255) NOT NULL DEFAULT '' ");
- DB::getPDO()->execSql(" alter table CRM_LISTA_ZASOBOW_ORDERS_HIST add NR_PKWIU varchar(255) NOT NULL DEFAULT 'N/S;' ");
- } catch (Exception $e) {
- if (fales !== strpos($e->getMessage(), 'Duplicate column name')) {
- UI::alert('warning', $e->getMessage());
- } else {
- UI::alert('danger', $e->getMessage());
- DBG::log($e);
- }
- }
- try {
- DB::getPDO()->execSql("
- CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `CRM_LISTA_ZASOBOW_ORDERS_summary_view` AS
- SELECT o.ID
- , SUM( COALESCE(f.OFFER_QUANTITY, 0) * COALESCE(f.OFFER_PRICE_PER_UNIT, 0) ) as SUM_POS
- , COUNT(1) as COUNT_POS
- , o.`ID_COMPANIES`
- , IF(o.`ID_COMPANIES` > 0,
- (select c.P_NAME from COMPANIES c where c.ID = o.ID_COMPANIES limit 1)
- , '') as Kontrahent
- , o.`ID_PROJECT`
- , o.`ID_PROJECT_path`
- , o.`A_RECORD_CREATE_DATE`
- , o.`A_RECORD_CREATE_AUTHOR`
- , o.`SYNC_SQIX_STATUS`
- , o.`A_RECORD_UPDATE_DATE`
- , o.`A_RECORD_UPDATE_AUTHOR`
- , o.`L_APPOITMENT_DATE`
- , o.`L_APPOITMENT_USER`
- , o.`L_APPOITMENT_PERIOD`
- , o.`L_APPOITMENT_INFO`
- , o.`L_APPOITMENT_TYPE`
- , o.`A_STATUS`
- , o.`A_STATUS_INFO`
- , o.`A_ADM_COMPANY`
- , o.`A_CLASSIFIED`
- -- , o.`NR`
- , o.`COMPANY_NIP`
- , o.`COMPANY_NAME`
- , o.`COMPANY_ADDRESS`
- , o.`OFFER_DATE`
- , o.`OFFER_NR`
- , o.`ORDER_TYPE`
- , o.`DELIVERY_DATE`
- , o.`EXECUTION_START_DATE`
- , o.`EXECUTION_END_DATE`
- , o.`CASH_PENALTY`
- , o.`LOCATION`
- , o.`NOTES`
- FROM `CRM_LISTA_ZASOBOW_ORDERS` o
- LEFT JOIN `CRM_LISTA_ZASOBOW_OFFERS` f on(f.ID_ORDER = o.ID and (f.A_STATUS is null or f.A_STATUS != 'DELETED'))
- GROUP BY o.`ID`
- ");
- } catch (Exception $e) {
- UI::alert('danger', $e->getMessage());
- DBG::log($e);
- }
- UI::alert('info', "Koniec");
- UI::dol();
- }
- public function getWidgetProject() {
- $widgetProject = array();
- $widgetProject['idTabela'] = 1656;// TODO: idZasob for TABELA Projekty
- $widgetProject['idKomorka'] = 1658;// TODO: idZasob for KOMORKA Projekty.P_ID
- $widgetProject['fieldName'] = 'ID_PROJECT';
- $widgetProject['dataUrl'] = "index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&_task=typespecial&fld={$widgetProject['fieldName']}";
- $widgetProject['typeSpecial'] = null;
- try {
- $acl = User::getAcl()->getObjectAcl('default_db', 'IN7_MK_BAZA_DYSTRYBUCJI');
- $acl->init($force = false);
- $widgetProject['typeSpecial'] = Typespecial::getInstance($widgetProject['idKomorka'], $colName = $widgetProject['fieldName']);
- } catch (Exception $e) {
- }
- return $widgetProject;
- }
- public function addZlecenieAction() {
- $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
- 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() {
- 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');
- $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);
- 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());
- }
- if (1 != V::get('_print', '', $_GET)) UI::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 {
- UI::gora();
- UI::menu();
- UI::alert('danger', 'Nie udało się utworzyć rekordu');
- UI::dol();
- }
- }
- public function printZamowieniePublicAction() {
- $data = array();
- {// auth by token
- $id = V::get('id', 0, $_GET, 'int');
- if ($id <= 0) die("Brak dostępu");
- $token = V::get('token', '', $_GET);
- if (empty($token)) die("Brak dostępu");
- $email = V::get('email', '', $_GET);
- if (empty($email)) die("Brak dostępu");
- $data['id'] = $id;
- $data = $this->setProps($data);
- if (empty($data['id_project'])) die("Brak dostępu");
- if ($this->generateOrderLinkToken($id, $email, $data['id_project']) != $token) die("Brak dostępu");
- }
- $_GET['_print'] = $_REQUEST['_print'] = 1;
- UI::gora();
- try {
- $this->zamowienieView($data, $mode = 'print');
- } catch (Exception $e) {
- UI::alert('danger', "Error #" . $e->getCode() . "|" . $e->getLine() . ": " . $e->getMessage());
- }
- echo'</body></html>';
- }
- public function generateOrderLinkToken($id, $email, $id_project) {
- return md5("pro-netmedia--{$id}--{$email}--{$id_project}");
- }
- public function zamowienieAction() {
- 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');
- $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);
- if (1 == V::get('DBG_TYPE_ZLECENIE', '', $_GET)) $data['ORDER_TYPE'] = 'zlecenie';
- else if (1 == V::get('DBG_TYPE_UNDEFINED', '', $_GET)) $data['ORDER_TYPE'] = 'unknown';
- 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());
- }
- if (1 != V::get('_print', '', $_GET)) UI::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) {
- UI::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['OFFER_DATE'] = V::get('OFFER_DATE', '', $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_START_DATE'] = V::get('DELIVERY_START_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['NOTES'] = V::get('NOTES', '', $row);
- $data['APPROVE_STATUS'] = V::get('APPROVE_STATUS', '', $row);
- $data['ORDER_CONTACT_FAX'] = V::get('ORDER_CONTACT_FAX', '', $row);
- $data['ORDER_CONTACT_EMAIL'] = V::get('ORDER_CONTACT_EMAIL', '', $row);
- $data['ADDITIONAL_CONDITIONS'] = V::get('ADDITIONAL_CONDITIONS', '', $row);
- $data['NR_PKWIU'] = V::get('NR_PKWIU', '', $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']}";// add P_ADDRESS_HOUSE
- if (!empty($row['P_ADDRESS_HOME'])) $data['COMPANY_ADDRESS'] .= "/{$row['P_ADDRESS_HOME']}";// 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'];
- 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);
- $widgetProject = V::get('widgetProject', array(), $data);
- $projOrders = ($id_project > 0)
- ? 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)
- where o.ID_PROJECT = {$id_project}
- order by ID DESC
- -- limit 100
- ")
- : array();
- UI::startContainer(['style'=>"margin-top:2em"]);
- UI::startTag('form', ['action'=>"", 'method'=>"get", 'class'=>"form-horizontal"]);
- echo UI::h('input', ['type'=>"hidden", 'name'=>"_route", 'value'=>"UrlAction_ProjektyProNetMediaZamZlec"]);
- UI::startTag('div', ['class'=>"form-group"]);
- echo UI::h('label', ['for'=>"id_project", 'class'=>"col-sm-2 control-label"], "Projekt");
- UI::startTag('div', ['class'=>"col-sm-4"]);
- if ($widgetProject['typeSpecial']) {
- $fName = $widgetProject['fieldName'];
- $fldParams = array();
- $fldParams['allowCreate'] = false;
- $fldParams['ajaxDataUrlBase'] = $widgetProject['dataUrl'];
- if ($data['id_project'] > 0) {
- $tsValues = $widgetProject['typeSpecial']->getValuesWithExports($q = $data['id_project']);
- if (!empty($tsValues[ $data['id_project'] ])) {
- $fldParams['typespecialValue'] = $tsValues[ $data['id_project'] ]->param_out;
- }
- }
- //$fldParams['ajaxDataUrlBase'] .= "&DBG_TS=3";
- echo $widgetProject['typeSpecial']->showFormItem($idTbl = $widgetProject['idTabela'], $fName, $selValue = $data['id_project'], $fldParams);
- } else {
- echo UI::h('input', ['type'=>"number", 'name'=>$widgetProject['fieldName'], 'value'=>$data['id_project'], 'class'=>"form-control"]);
- }
- UI::endTag('div');// .col-sm-4
- UI::endTag('div');// .form-group
- UI::startTag('div', ['class'=>"form-group"]);
- echo UI::h('label', ['for'=>"id_company", 'class'=>"col-sm-2 control-label"], "Dostawca");
- UI::startTag('div', ['class'=>"col-sm-10"]);
- if ($widgetCompanies['typeSpecial']) {
- $fName = $widgetCompanies['fieldName'];
- $fldParams = array();
- $fldParams['allowCreate'] = false;
- $fldParams['ajaxDataUrlBase'] = $widgetCompanies['dataUrl'];
- if ($id_company > 0) {
- $tsValues = $widgetCompanies['typeSpecial']->getEditSelectedValuesByIds(-1, $id = $id_company, $fName, $fieldValue = $id_company);
- if (1 == count($tsValues)) {
- $fldParams['typespecialValue'] = array_values($tsValues);
- $fldParams['typespecialValue'] = reset($fldParams['typespecialValue']);
- }
- }
- //$fldParams['ajaxDataUrlBase'] .= "&DBG_TS=3";
- echo $widgetCompanies['typeSpecial']->showFormItem($tblID = -1, $fName, $selValue = $id_company, $fldParams);
- } else {
- echo UI::h('input', ['type'=>"number", 'name'=>"id_company", 'value'=>$id_company, 'class'=>"form-control"]);
- }
- UI::endTag('div');// .col-sm-10
- UI::endTag('div');// .form-group
- // <div class="form-group">
- // <label for="items_count" class="col-sm-2 control-label">Ilość pozycji</label>
- // <div class="col-sm-4">
- // <input type="number" name="items_count" value="$items_count" class="form-control">
- // </div>
- // </div>
- echo UI::h('div', ['class'=>"form-group"], [
- UI::h('div', ['class'=>"col-sm-offset-2 col-sm-10"], [
- UI::h('input', ['type'=>"hidden", 'name'=>"_task", 'value'=>""]),
- " ", UI::h('label', [], "Dodaj nowe"),
- " ", UI::h('button', ['type'=>"submit", 'class'=>"btn btn-primary", 'onclick'=>"return submitZamowienie(this);"], "Zamówienie"),
- " ", UI::h('button', ['type'=>"submit", 'class'=>"btn btn-primary", 'onclick'=>"return submitZlecenie(this);"], "Zlecenie")
- ])
- ]);
- UI::endTag('form');
- UI::endContainer();
- echo UI::h('hr');
- echo UI::h('style', ['type' => "text/css"], "
- .orders_cell__order_notes .edit_note_btn { opacity:0.1; cursor:pointer }
- .orders_cell__order_notes:hover .edit_note_btn { opacity:1; color:#337AB7 }
- ");
- if ($id_project > 0) { // !empty($projOrders)) {
- UI::startContainer(['style'=>"margin-top:2em"]);
- $idTableOrders = ProcesHelper::getZasobTableID('CRM_LISTA_ZASOBOW_ORDERS');
- UI::table([
- 'disable_lp' => true,
- 'cell_padding' => 6,
- 'cols' => [
- '#',
- 'status',
- 'uwagi',
- 'nr zlecenia',
- 'nr budowy',
- ],
- 'rows' => array_map(function ($order) use ($idTableOrders) {
- $changeState = array();
- $urlFunctions = Route_UrlAction::getTableFunctions($idTableOrders, $order['ID'], 'CRM_LISTA_ZASOBOW_ORDERS', User::getLogin());
- //DBG::_(true, true, 'urlFunctions', $urlFunctions);
- if ('WERSJA_ROBOCZA' == $order['APPROVE_STATUS']) {
- foreach ($urlFunctions as $fun) {
- if ('ProjektyProNetMediaRequestApproveZam' == $fun['name']) {
- $changeState['OCZEKUJE_ZATWIERDZENIA'] = $fun;
- }
- }
- }
- else if ('OCZEKUJE_ZATWIERDZENIA' == $order['APPROVE_STATUS']) {
- foreach ($urlFunctions as $fun) {
- if ('ProjektyProNetMediaApproveZam' == $fun['name']) {
- $changeState['OCZEKUJE_OSTATECZNEGO_ZATWIERDZENIA'] = $fun;
- }
- }
- }
- else if ('OCZEKUJE_OSTATECZNEGO_ZATWIERDZENIA' == $order['APPROVE_STATUS']) {
- foreach ($urlFunctions as $fun) {
- if ('ProjektyProNetMediaFinalApproveZam' == $fun['name']) {
- $changeState['ZATWIERDZONE'] = $fun;
- }
- }
- }
- $changeStateOut = "";
- if (!empty($changeState)) {
- foreach ($changeState as $key => $fun) {
- $changeStateOut .= UI::h('a', [
- 'href' => $this->generateFunctionLink($fun, $idTableOrders, $order['ID'], $order),
- 'class' => "btn btn-xs btn-default"
- ], "Zmień na: {$key}");
- $changeStateOut .= " ";
- }
- }
- return [
- '#' => $order['ID'] . UI::h('a', [
- 'href' => "index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&_task={$order['ORDER_TYPE']}&id={$order['ID']}",
- 'class' => "btn btn-link btn-xs"
- ], "Edytuj {$order['ORDER_TYPE']}"),
- 'status' => $order['APPROVE_STATUS'] . " " . $changeStateOut,
- '@class[uwagi]' => 'orders_cell__order_notes',
- 'uwagi' => UI::h('span', ['class'=>"order-notes"], $order['ORDER_NOTES']) . " " .
- UI::h('i', [
- 'onClick' => "return p5UI__Clickable(this, 'p5:ZamZlec:editNote', {idOrder: '{$order['ID']}', label: '{$order['ORDER_LABEL']}'})",
- 'class' => "glyphicon glyphicon-pencil edit_note_btn",
- 'title' => "Edytuj"
- ]),
- 'nr zlecenia' => $order['ORDER_LABEL'],
- 'nr budowy' => $order['obcy_nr_sprawy'],
- ];
- }, $projOrders)
- ]);
- UI::endContainer();
- } else {
- $filterInit = [];
- $forceFilterInit = [];
- $acl = Core_AclHelper::getAclByNamespace('default_db/CRM_LISTA_ZASOBOW_ORDERS');
- $syncUrl = Request::getPathUri() . 'index.php?_route=ViewTableAjax&namespace=' . $acl->getNamespace();
- $tbl = new TableAjax($acl);
- $tblLabel = $acl->getNamespace();
- if ('default_db' == $acl->getSourceName()) {
- $tblLabel = array();
- $zasobObj = ProcesHelper::getZasobTableInfo($acl->getID());
- if (!$zasobObj) throw new Exception("Zasob TABELA ID=" . $acl->getID() . " nie istnieje");
- if (!empty($zasobObj->DESC_PL)) $tblLabel []= $zasobObj->DESC_PL;
- if (!empty($zasobObj->OPIS)) $tblLabel []= $zasobObj->OPIS;
- $tblLabel = implode(" - ", $tblLabel);
- }
- $tbl->setSyncUrl($syncUrl);
- $tbl->setLabel($tblLabel);
- $tbl->addRowFunction('edit');
- // $tbl->addRowFunction('hist');
- // $tbl->addRowFunction('files');
- $tbl->addRowFunction('msgs');
- $tbl->setFilterInit($filterInit);
- if (!empty($forceFilterInit)) $tbl->setForceFilterInit($forceFilterInit);
- echo $tbl->render();
- }
- echo UI::h('link', ['rel'=>"stylesheet", 'type'=>"text/css", 'href'=>"static/sweetalert2.min.css"]);
- echo UI::h('script', ['src'=>'static/sweetalert2.min.js']);
- UI::inlineJS(__FILE__ . ".zam-zlec-list.js", [
- 'SAVE_ORDER_NOTES_URL' => "index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&_task=updateOrderNoteAjax",
- 'DBG' => (DBG::isActive()) ? "1" : "0"
- ]);
- }
- public function generateFunctionLink($fun, $idTableOrders, $idOrder, $order) {
- $link = $fun['baseLink'];
- if (empty($fun['cell_id_params'])) return $link;
- $fieldMap = array();
- {
- $rows = DB::getPDO()->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);
- ?>
- <style type="text/css">
- body { font-size:12px; line-height:1.3em }
- #tbl-items td { padding:3px !important }
- @media print {
- body { font-size:12px; line-height:1.3em }
- table { page-break-inside:auto }
- tr { page-break-inside:avoid; page-break-after:auto }
- li { page-break-inside:avoid; page-break-after:auto }
- .page-break-block { page-break-inside:avoid; page-break-after:auto }
- }
- </style>
- <div class="container">
- <div style="text-align:right">
- Gdańsk, dnia ____ _____ 2016 roku
- </div>
- <table style="width:100%">
- <tr>
- <td style="width:50%"></td>
- <td style="width:50%; padding:1em 0">
- <b>Zleceniodawca:</b>
- <br>PRO-NET.MEDIA S.A.
- <br>80-557 Gdańsk, ul. Narwicka 21
- <br>NIP 583-315-47-35
- <br>
- <br><b>Zleceniobiorca:</b>
- <br><?php echo V::get('dostawca_name', '.........................', $data); ?>
- <br><?php echo V::get('dostawca_address', '.........................', $data); ?>
- <br>NIP <?php echo V::get('dostawca_nip', '..................', $data); ?>
- </td>
- </tr>
- </table>
- <p>Zlecenie nr: <?php echo V::get('obcy_nr_sprawy', '.........................', $data);//zam./OSOBA/nr budowy/I/2016 ?></p>
- <p style="font-weight:bold">Zleceniodawca niniejszym składa zlecenie na wskazanych poniżej warunkach zgodnie z ofertą Zleceniobiorcy z dnia <?php echo V::get('data_oferty', '..................', $data); ?>.</p>
- <table id="tbl-items" style="width:100%; margin-top:2em" class="table table-bordered page-break-before">
- <tr>
- <th style="text-align:center">Lp.</th>
- <th style="text-align:center">Przedmiot zlecenia</th>
- <th style="text-align:center">J.M.</th>
- <th style="text-align:center">Ilość</th>
- <th style="text-align:center">Cena jednostkowa netto<br>[pln]</th>
- <th style="text-align:center">Wartość brutto<br>[pln]</th>
- </tr>
- <?php for ($i = 0; $i < $ile_pozycji; $i++) : ?>
- <tr class="page-break-before">
- <td><?php echo $i + 1; ?>.</td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- <td></td>
- </tr>
- <?php endfor; ?>
- <tr>
- <td colspan="5">
- <div style="text-align:right"><b>RAZEM:</b></div>
- <b>Słownie:</b> <?php echo $suma_slownie; ?>
- </td>
- <td></td>
- </tr>
- <tr>
- <td colspan="5"><b>UWAGI: NA FAKTURZE VAT NALEŻY UMIEŚCIĆ CZYTELNY NR ZLECENIA</b></td>
- <td></td>
- </tr>
- </table>
- <h4 style="font-size:1.2em">WARUNKI REALIZACJI ZLECENIA:</h4>
- <ol>
- <li>Termin wykonania zlecenia: od dnia ………. ……………. 2016 roku do dnia ……… ……….2016 roku, po tym terminie będzie naliczana przez Zleceniodawcę kara umowna odpowiednio za opóźnienie Zleceniobiorcy w rozpoczęciu / zakończeniu przedmiotu zlecenia w wysokości ……….. złotych (słownie: …………. złotych 00/100) za każdy rozpoczęty dzień opóźnienia z terminem płatności tej kary – 7 dni od jej naliczenia. Zleceniodawca może potrącić wskazaną karę umowną z wynagrodzenia Zleceniobiorcy. Zleceniodawca zastrzega sobie prawo dochodzenia odszkodowania na zasadach ogólnych, przekraczającego wysokość zastrzeżonej w niniejszym punkcie kary umownej.</li>
- <li>Miejsce wykonania zlecenia: ……………………………………..</li>
- <li>Forma płatności: przelew.</li>
- <li>Wynagrodzenie objęte niniejszym zleceniem jest wynagrodzeniem ryczałtowym.</li>
- <li>Termin płatności: 30 dni od daty wpływu do siedziby Zleceniodawcy wszystkich prawidłowych i kompletnych dokumentów, o których mowa w pkt 6 i 7 poniżej w trybie zgodnym z pkt 8 poniżej.</li>
- <li>Podstawą do wystawienia przez Zleceniobiorcę na rzecz Zleceniodawcy faktury VAT jest podpisany przez obie strony bezusterkowy protokół odbioru przez Zleceniodawcę przedmiotu zlecenia oraz dostarczenie Zleceniodawcy przez Zleceniobiorcę wszelkich niezbędnych dokumentów związanych z przedmiotem zlecenia, a także w razie gdy przedmiotem zlecenia jest wynajem sprzętu – podpisana i zaakceptowana przez obie strony karta pracy sprzętu.</li>
- <li>Płatność dokonana będzie wyłącznie na podstawie prawidłowo wystawionej i doręczonej Zleceniodawcy przez Zleceniobiorcę faktury VAT z dołączonym oryginałem dokumentu potwierdzającego bezusterkowy odbiór przez Zleceniodawcę przedmiotu zlecenia wraz ze wszystkimi niezbędnymi dokumentami przez osoby wymienione w pkt 10 i 11 poniżej, a także w przypadku gdy przedmiotem zlecenia jest wynajem sprzętu – w oparciu o podpisaną przez osoby wymienione w pkt 10 i 11 poniżej i zaakceptowaną przez obie strony kartę pracy sprzętu, a także kopią niniejszego zlecenia podpisaną przez Zleceniodawcę i Zleceniobiorcę zgodnie z zasadami reprezentacji, poświadczoną przez Zleceniobiorcę za zgodność z oryginałem.</li>
- <li>Zleceniobiorca przekaże Zleceniodawcy fakturę VAT wraz z wymaganymi załącznikami, o których mowa w pkt 5-7 powyżej wyłącznie przesyłką poleconą Poczty Polskiej za potwierdzeniem odbioru.</li>
- <li>W przypadku gdy Zleceniobiorca otrzyma dokumenty, o których mowa w pkt 5-7 powyżej, niespełniające warunków wskazanych w niniejszym zleceniu lub zostaną one wysłane niezgodnie z trybem określonym w pkt 8 powyżej, wówczas Zleceniodawca zastrzega sobie prawo do odmowy realizacji płatności i odesłania ich na adres Zleceniobiorcy celem skorygowania.</li>
- <li>Osoba do kontaktu ze strony Zleceniodawcy: ……………………………………..</li>
- <li>Osoba uprawniona do kontaktu ze strony Zleceniobiorcy: ………………………………</li>
- <li>Za datę zapłaty uważa się datę obciążenia rachunku bankowego Zleceniodawcy.</li>
- <li>Niniejsze zlecenie jest ważne po potwierdzeniu przez Zleceniobiorcę przyjęcia do realizacji niniejszego zlecenia w terminie 2 dni roboczych od daty jego przekazania Zleceniobiorcy przez Zleceniodawcę. Potwierdzenie pod rygorem nieważności winno być przesłane faksem do Zleceniodawcy pod numer ………… lub pocztą elektroniczną na adres email: ……….. Brak potwierdzenia jest uznawany jako odmowa przyjęcia przez Zleceniobiorcę do realizacji niniejszego zlecenia. Każda proponowana zamiana warunków zlecenia określonych w niniejszym zleceniu oznacza złożenie nowej oferty i winna być pod rygorem nieważności potwierdzona w formie pisemnej przez Zleceniodawcę. Nie dopuszcza się akceptu milczącego.</li>
- <li>Wierzytelności wynikające z niniejszego zlecenia nie mogą być przenoszone przez Zleceniobiorcę na osoby trzecie bez uprzedniej, pisemnej zgody Zleceniodawcy.</li>
- <li>Zleceniodawca ma prawo odstąpić od umowy objętej niniejszym zleceniem w terminie 30 dni od dnia wystąpienia jednej z następujących okoliczności:
- <ol style="list-style-type:lower-alpha">
- <li>Zleceniobiorca nie wykonuje lub nienależycie wykonuje jakiekolwiek ze zobowiązań Zleceniobiorcy wynikających z umowy objętej niniejszym zleceniem, pomimo wezwania Zleceniobiorcy przez Zleceniodawcę do usunięcia naruszeń w terminie 3 dni roboczych od dnia tego wezwania,</li>
- <li>powzięcia przez Zleceniodawcę informacji, iż sytuacja finansowa Zleceniobiorcy nie pozwala na wykonanie prac zleconych na mocy niniejszego zlecenia,</li>
- <li>powzięcia przez Zleceniodawcę informacji, iż Zleceniobiorca nie przestrzega przepisów BHP oraz przeciwpożarowych,</li>
- <li>Zleceniobiorca zaprzestał wykonywania zlecenia na okres dłuższy niż 2 dni robocze lub przerwał prace na okres dłuższy niż 2 dni robocze.</li>
- </ol>
- </li>
- <li>Zleceniobiorca ma prawo korzystać z osób trzecich do wykonywania przez niego przedmiotu zlecenia wyłącznie po uzyskaniu uprzedniej, pisemnej zgody Zleceniodawcy. Zleceniobiorca odpowiada za działania i zaniechania osób trzecich jak za własne.</li>
- <li style="padding-bottom:2em">Ustalenia dodatkowe: ……………………………….</li>
- </ol>
- <div style="padding-top:3em" class="page-break-block">
- (pieczęć i czytelny podpis Zamawiającego) …………………………………………………………….
- </div>
- <div class="page-break-block">
- <h4 style="font-size:1.2em">NINIEJSZYM OŚWIADCZAM, ŻE ZLECENIOBIORCA PRZYJMUJE ZLECENIE DO REALIZACJI NA POWYŻSZYCH WARUNKACH:</h4>
- <div style="padding-top:2em;">
- ………………………….,dnia………………………….………………………………………………..
- <br>(pieczęć i czytelny podpis Zleceniobiorcy zgodnie z zasadami reprezentacji)
- </div>
- </div>
- </div>
- <?php
- exit;
- }
- public function sendToAjaxAction() {
- Response::sendTryCatchJson(array($this, 'sendToAjax'), $args = 'JSON_FROM_REQUEST_BODY');
- }
- public function sendToAjax($args) {
- $response = array();
- $id = V::get('id', 0, $args, 'int');
- if ($id <= 0) throw new Exception("Error Processing Request - missing id");
- $email = V::get('email', '', $args, 'word');
- if (empty($email)) throw new Exception("Error Processing Request - missing email");
- // TODO: validate email address
- $data['id'] = $id;
- $data = $this->setProps($data);
- if (empty($data['id_project'])) throw new Exception("Error Processing Request - missing project id");
- $token = $this->generateOrderLinkToken($id, $email, $data['id_project']);
- $orderStatus = '';
- if ('ZATWIERDZONE' == $data['APPROVE_STATUS']) $orderStatus = 'Zatwierdzone';
- else if ('ODRZUCONE' == $data['APPROVE_STATUS']) $orderStatus = 'Odrzucone';
- else if ('OCZEKUJE_OSTATECZNEGO_ZATWIERDZENIA' == $data['APPROVE_STATUS']) $orderStatus = 'Oczekuje ostatecznego zatwierdzenia';
- else if ('OCZEKUJE_ZATWIERDZENIA' == $data['APPROVE_STATUS']) $orderStatus = 'Oczekuje zatwierdzenia';
- else if ('WERSJA_ROBOCZA' == $data['APPROVE_STATUS']) $orderStatus = 'Wersja robocza';
- if (DBG::isActive()) $response['DBG__DATA'] = $data;
- if (DBG::isActive()) $response['DBG__TOKEN'] = $token;
- $link = Request::getPathUri() . "index.php?_route=UrlAction_ProjektyProNetMediaZamZlec";
- $link .= "&_task=printZamowienie";
- $link .= "&id={$id}";
- $link .= "&email={$email}";
- $link .= "&token={$token}";
- if (DBG::isActive()) $response['DBG__LINK'] = $link;
- $subject = "Zamówienie {$data['ORDER_LABEL']} - Pro-Net.Media S.A.";
- $message = '<html><body>';
- $message .= '<p><a href="'.$link.'">'."Zamówienie nr {$data['ORDER_LABEL']}".'</a></p>'."\n";
- $message .= "<p>Status zamówienia: {$orderStatus}</p>\n";
- $message .= "\n<p>Wiadomość została wygenerowana automatycznie, prosimy na nią nie odpowiadać.</p>";
- $message .= "<p>Pro-Net.Media S.A.<br><a href=\"http://pro-netmedia.pl/\">pro-netmedia.pl</a></p>";
- $message .= '</body></html>';
- $headers = 'MIME-Version: 1.0' . "\r\n";
- $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
- $headers .= 'From: "Pro-Net.Media S.A." <noreply@pro-netmedia.pl>' . "\r\n";
- // $headers .= 'Bcc: piotrl86+zlecenie--pro-netmedia@gmail.com' . "\r\n";
- // $email = 'piotrl86+dbg-orders-pro-netmedia@gmail.com';// TODO: RMME TEST
- if (!mail($email, $subject, $message, $headers)) {
- $response['msg'] = "Nie udało się wysłać wiadomości";
- $response['type'] = "error";
- } else {
- $response['msg'] = "Wysłano wiadomość";
- $response['type'] = "success";
- }
- return $response;
- }
- public function updateOrderNoteAjaxAction() {
- Response::sendTryCatchJson(array($this, 'updateOrderNoteAjax'), $args = 'JSON_FROM_REQUEST_BODY');
- }
- public function updateOrderNoteAjax($args) {
- $response = array();
- $response['type'] = "error";
- if (DBG::isActive()) $response['DBG__ARGS'] = $args;
- $id = V::get('id', 0, $args, 'int');
- if ($id <= 0) throw new Exception("Error Processing Request - wrong id format");
- $notes = V::get('notes', '', $args);
- if (strlen($notes) > 255) throw new Exception("Przekroczono limit długości znaków");
- $sqlObj = array();
- $sqlObj['ID'] = $id;
- $sqlObj['ORDER_NOTES'] = $notes;
- $affected = DB::getDB()->UPDATE_OBJ('CRM_LISTA_ZASOBOW_ORDERS', (object)$sqlObj);
- if (DBG::isActive()) $response['DBG__DB_affected'] = $affected;
- if ($affected < 0) throw new Exception("Wystąpiły błędy podczas wprowadzania zmian");
- $response['order'] = array();
- $response['order']['ID'] = $id;
- $response['order']['ORDER_NOTES'] = DB::getPDO()->fetchValue("select ORDER_NOTES from CRM_LISTA_ZASOBOW_ORDERS where ID = {$id}");
- $response['msg'] = "Zmiany wprowadzono pomyślnie";
- $response['type'] = "success";
- return $response;
- }
- public function saveAjaxAction() {
- $body = Request::getRequestBody();
- $json = json_decode($body, $assoc = true);
- $data = array();
- $data['id'] = V::get('id', 0, $_REQUEST, 'int');
- $data['id_company'] = V::get('id_company', 0, $_REQUEST, 'int');
- $data['id_project'] = V::get('id_project', 0, $_REQUEST, 'int');
- $data = $this->setProps($data);
- $res = new stdClass();
- $res->type = 'success';
- $res->msg = 'OK';
- $res->idOrder = V::get('idOrder', -1, $json, 'int');
- $res->orderPosList = array();
- $res->fields = new stdClass();
- if (DBG::isActive()) $res->DBG_DATA = $data;
- if (!empty($json['fields'])) {
- $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[] = 'OFFER_NR';
- $sqlFieldsList[] = 'ORDER_DATE';
- $sqlFieldsList[] = 'PAYMENT_TERM_DAYS_FV';
- $sqlFieldsList[] = 'PAYMENT_METHOD';
- $sqlFieldsList[] = 'NOTES';
- $sqlFieldsList[] = 'DELIVERY_START_DATE';
- $sqlFieldsList[] = 'ORDER_CONTACT_FAX';
- $sqlFieldsList[] = 'ORDER_CONTACT_EMAIL';
- $sqlFieldsList[] = 'ADDITIONAL_CONDITIONS';
- $sqlFieldsList[] = 'NR_PKWIU';
- $sqlObj = array();
- //$sqlObj['ORDER_TYPE'] = $json['type'];
- foreach ($data as $fldName => $val) {
- if (!in_array($fldName, $sqlFieldsList)) continue;
- $sqlObj[$fldName] = $val;
- }
- foreach ($json['fields'] as $fldName => $val) {
- if (!in_array($fldName, $sqlFieldsList)) continue;
- $sqlObj[$fldName] = $val;
- }
- $res->TODO_SQL_OBJ = $sqlObj;
- $res->fields = $sqlObj;
- if ($res->idOrder > 0) {
- $sqlObj['ID'] = $res->idOrder;
- $affected = DB::getDB()->UPDATE_OBJ('CRM_LISTA_ZASOBOW_ORDERS', (object)$sqlObj);
- if ($affected > 0) {
- $res->type = 'success';
- $res->msg = "Zaktualizowano rekord '{$res->idOrder}'";
- $rows = DB::getPDO()->fetchAll("select * from CRM_LISTA_ZASOBOW_ORDERS where ID = '{$res->idOrder}'");
- $row = reset($rows);
- $res->fields = $row;
- } else if ($affected < 0) {
- $res->type = 'danger';
- $res->msg = 'Nie udało się wprowadzić zmian';
- }
- } else {
- $idOrder = DB::getDB()->ADD_NEW_OBJ('CRM_LISTA_ZASOBOW_ORDERS', (object)$sqlObj);
- if ($idOrder > 0) {
- $res->idOrder = $idOrder;
- $res->type = 'success';
- $res->msg = "Utworzono rekord nr '{$res->idOrder}'";
- $rows = DB::getPDO()->fetchAll("select * from CRM_LISTA_ZASOBOW_ORDERS where ID = '{$res->idOrder}'");
- $row = reset($rows);
- $res->fields = $row;
- } else {
- $res->idOrder = -1;
- $res->type = 'danger';
- $res->msg = 'Nie udało się utworzyć rekordu';
- }
- }
- {// try to add new company
- if (empty($res->fields['ID_COMPANIES'])) {
- $comObj = array();
- $comObj['P_NAME'] = V::get('COMPANY_NAME', '', $sqlObj);
- $comObj['P_ADDRESS_STREET'] = V::get('COMPANY_ADDRESS', '', $sqlObj);
- $comObj['P_ADDRESS_POST_CODE'] = V::get('COMPANY_POST_CODE', '', $sqlObj);
- $comObj['P_ADDRESS_CITY'] = V::get('COMPANY_CITY', '', $sqlObj);
- $comObj['P_NIP'] = V::get('COMPANY_NIP', '', $sqlObj);
- $comObj['P_CONTACT_PERSON'] = V::get('COMPANY_CONTACT_PERSON', '', $sqlObj);
- $comObj['P_PHONE'] = V::get('COMPANY_CONTACT_TEL', '', $sqlObj);
- $comObj['user_mail_contact'] = V::get('COMPANY_CONTACT_MAIL', '', $sqlObj);
- if (!empty($comObj['P_NIP']) && !empty($comObj['P_NAME']) && !empty($comObj['P_ADDRESS_STREET']) && !empty($comObj['P_PHONE'])) {
- $res->TODO_ADD_COM = $comObj;
- $idCompany = DB::getDB()->ADD_NEW_OBJ('COMPANIES', (object)$comObj);
- if ($idCompany > 0) {
- $orderObj['ID'] = $res->idOrder;
- $orderObj['ID_COMPANIES'] = $idCompany;
- $affected = DB::getDB()->UPDATE_OBJ('CRM_LISTA_ZASOBOW_ORDERS', (object)$orderObj);
- $rows = DB::getPDO()->fetchAll("select * from CRM_LISTA_ZASOBOW_ORDERS where ID = '{$res->idOrder}'");
- $row = reset($rows);
- $res->fields = $row;
- }
- }
- }
- }
- }
- $currentPosList = $this->fetchOrderPosList($res->idOrder);
- $res->validateErrors = array();
- if (!empty($json['orderPosList']) && $res->idOrder > 0) {
- $idMap = array();// $idFrontEnd => $idBackEnd
- foreach ($json['orderPosList'] as $item) {
- $sqlObj = array();
- $sqlObj['ID_ORDER'] = $res->idOrder;
- if ($item['id'] <= 0
- && empty($item['name'])
- && empty($item['price'])
- && empty($item['quantity'])
- && empty($item['unit'])) {// skip empty pos
- continue;
- }
- $validatePosErrors = $this->validatePos($item);
- if (!empty($validatePosErrors)) {
- $res->validateErrors[ $item['id'] ] = $validatePosErrors;
- } else {
- $sqlObj['OFFER_NAME'] = $item['name'];
- $sqlObj['OFFER_PRICE_PER_UNIT'] = str_replace(',', '.', $item['price']);
- $sqlObj['OFFER_QUANTITY'] = $item['quantity'];
- $sqlObj['OFFER_UNIT'] = $item['unit'];
- if ($item['id'] > 0) {
- $sqlObj['ID'] = $item['id'];
- }
- if ($sqlObj['ID'] > 0) {
- DB::getDB()->UPDATE_OBJ('CRM_LISTA_ZASOBOW_OFFERS', (object)$sqlObj);
- } else {
- $idPos = DB::getDB()->ADD_NEW_OBJ('CRM_LISTA_ZASOBOW_OFFERS', (object)$sqlObj);
- $idMap[ $item['id'] ] = $idPos;
- }
- }
- }
- if (!empty($json['toDeletePosList']) && $res->idOrder > 0) {
- $res->DELETE_LOG = array();
- foreach ($json['toDeletePosList'] as $idFrontEnd => $bool) {
- if (!$bool) continue;
- if ($idFrontEnd <= 0) continue;
- if (array_key_exists($idFrontEnd, $currentPosList)) {
- $sqlObj = array();
- $sqlObj['ID'] = $idFrontEnd;
- $sqlObj['A_STATUS'] = 'DELETED';
- $res->DELETE_LOG[$idFrontEnd] = DB::getDB()->UPDATE_OBJ('CRM_LISTA_ZASOBOW_OFFERS', (object)$sqlObj);
- }
- }
- }
- $orderPoslist = array();
- {// fix state frontEnd <--> backEnd
- $updatedPosList = $this->fetchOrderPosList($res->idOrder);
- foreach ($json['orderPosList'] as $item) {
- $idFrontEnd = $item['id'];
- $idBackEnd = 0;
- if ($idFrontEnd <= 0 && array_key_exists($idFrontEnd, $idMap)) {
- $idBackEnd = $idMap[$idFrontEnd];
- } else {// $item['id'] > 0
- $idBackEnd = $idFrontEnd;
- }
- if (!array_key_exists($idBackEnd, $updatedPosList)) $idBackEnd = 0;
- if ($idBackEnd) {
- $orderPoslist[] = $updatedPosList[ $idBackEnd ];
- } else {
- $orderPoslist[] = $item;
- $res->validateErrors[ $item['id'] ][ 'name' ] = true;
- $res->validateErrors[ $item['id'] ][ 'price' ] = true;
- $res->validateErrors[ $item['id'] ][ 'quantity' ] = true;
- $res->validateErrors[ $item['id'] ][ 'unit' ] = true;
- }
- }
- $res->orderPosList = $orderPoslist;
- }
- foreach ($idMap as $idFrontEnd => $idBackEnd) {
- if (array_key_exists($idFrontEnd, $res->validateErrors)) {
- }
- }
- }
- $res->validateErrors = (object)$res->validateErrors;
- Response::sendJsonExit($res);
- }
- public function validatePos($item) {
- $validatePosErrors = array();
- if (empty($item['name'])) $validatePosErrors['name'] = 'Brak nazwy';
- if (empty($item['unit'])) $validatePosErrors['unit'] = 'Brak jednostki';
- if (empty($item['quantity'])) $validatePosErrors['quantity'] = 'Brak ilości';
- if (empty($item['price'])) $validatePosErrors['price'] = 'Brak ceny jednostkowej';
- return $validatePosErrors;
- }
- public function fetchOrderPosList($idOrder) {
- $orderPosList = array();
- $rows = DB::getPDO()->fetchAll("
- select o.*
- from CRM_LISTA_ZASOBOW_OFFERS o
- where o.ID_ORDER = {$idOrder}
- and (o.A_STATUS != 'DELETED' or o.A_STATUS is null)
- ");
- foreach ($rows as $row) {
- $price = number_format($row['OFFER_PRICE_PER_UNIT'], 4, '.', '');
- $price_f2 = number_format($row['OFFER_PRICE_PER_UNIT'], 2, '.', '');
- if ($price_f2 . "00" == $price) $price = $price_f2;
- $quantity = number_format($row['OFFER_QUANTITY'], 4, '.', '');
- $quantity_f2 = number_format($row['OFFER_QUANTITY'], 2, '.', '');
- $quantity_int = intval($row['OFFER_QUANTITY']);
- if ($quantity_int . ".0000" == $quantity) $quantity = $quantity_int;
- else if ($quantity_f2 . "00" == $quantity) $quantity = $quantity_f2;
- $posItem = array('id' => $row['ID'], 'name' => $row['OFFER_NAME'], 'price' => $price, 'quantity' => $quantity, 'unit' => $row['OFFER_UNIT']);
- $orderPosList[ $row['ID'] ] = (object)$posItem;
- }
- return $orderPosList;
- }
- public function zamowienieView($data, $mode = 'view') {
- $id_order = V::get('id', 0, $data);
- $id_company = V::get('id_company', 0, $data);
- $id_project = V::get('id_project', 0, $data);
- $orderPosList = array();
- if ($id_order > 0) {
- $orderPosList = V::get('orderPosList', array(), $data);
- $orderPosList = array_values($orderPosList);
- }
- if (empty($orderPosList)) {
- $ile_pozycji = V::get('ile_pozycji', 10, $data);
- for ($i = 1; $i <= $ile_pozycji; $i++) {
- $posItem = array('id' => -1 * $i, 'name' => '', 'price' => '', 'quantity' => '', 'unit' => '');
- $orderPosList[] = (object)$posItem;
- }
- }
- // fetch from db - overwrite $orderPosList
- DBG::_('DBG', '>1', 'data', $data, __CLASS_, __FUNCTION__, __LINE__);
- $sendToLink = Request::getPathUri() . "index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&_task=sendToAjax&id={$id_order}";
- $saveLink = Request::getPathUri() . "index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&_task=saveAjax&id={$id_order}";
- $fields = $data;
- $labels = array();// $data['ORDER_TYPE']: zamowienie, zlecenie
- $isTypeZlecenie = ('zlecenie' == $data['ORDER_TYPE']);
- $labels['main'] = ($isTypeZlecenie) ? "Zlecenie" : "Zamówienie";
- $labels['comA'] = ($isTypeZlecenie) ? "Zleceniodawca" : "Zamawiający";
- $labels['comB'] = ($isTypeZlecenie) ? "Zleceniobiorca" : "Dostawca";
- $labels['invoiceMessage'] = "NA FAKTURZE VAT NALEŻY UMIEŚCIĆ CZYTELNY NR " . (($isTypeZlecenie) ? "ZLECENIA" : "ZAMÓWIENIA");
- $labels['offer'] = "Zamawiający zleca Dostawcy dostawę poniższych materiałów na wskazanych poniżej warunkach. Zgodnie z ofertą ";
- if ($isTypeZlecenie) $labels['offer'] = "Zleceniodawca niniejszym składa zlecenie na wskazanych poniżej warunkach zgodnie z ofertą Zleceniobiorcy z dnia ";
- $labels['firstPosFieldLabel'] = ($isTypeZlecenie)? 'Przedmiot zlecenia' : 'Wyszczególnienie';
- $labels['conditions'] = "WARUNKI REALIZACJI " . (($isTypeZlecenie) ? "ZLECENIA" : "ZAMÓWIENIA");
- $labels['signatureComA'] = "pieczęć i czytelny podpis " . (($isTypeZlecenie) ? "Zleceniodawcy" : "Zamawiającego");
- $labels['signatureComB'] = "pieczęć i czytelny podpis " . (($isTypeZlecenie) ? "Zleceniobiorcy" : "Dostawcy") . " zgodnie z zasadami reprezentacji";
- $labels['statement'] = "NINIEJSZYM OŚWIADCZAM, ŻE " . (($isTypeZlecenie) ? "ZLECENIOBIORCA" : "DOSTAWCA") . " PRZYJMUJE ZAMÓWIENIE DO REALIZACJI NA POWYŻSZYCH WARUNKACH:";
- $conditions = array();
- if ($isTypeZlecenie) {
- $conditions[] = [
- ['text', 'Termin wykonania zlecenia: od dnia '],
- ['field', '', 'DELIVERY_START_DATE', 'string'],
- ['text', ' do dnia '],
- ['field', '', 'DELIVERY_DATE', 'date'],
- ['text', ' , po tym terminie będzie naliczana przez Zleceniodawcę kara umowna odpowiednio za opóźnienie Zleceniobiorcy w rozpoczęciu / zakończeniu przedmiotu zlecenia w wysokości '],
- ['field', '', 'CASH_PENALTY', 'string'],
- // "……….. złotych (słownie: …………. złotych 00/100)
- ['text', ' za każdy rozpoczęty dzień opóźnienia z terminem płatności tej kary – 7 dni od jej naliczenia. '],
- ['text', ' Zleceniodawca może potrącić wskazaną karę umowną z wynagrodzenia Zleceniobiorcy. Zleceniodawca zastrzega sobie prawo dochodzenia odszkodowania na zasadach ogólnych, przekraczającego wysokość zastrzeżonej w niniejszym punkcie kary umownej.']
- ];
- $conditions[] = [
- ['text', 'Miejsce wykonania zlecenia: '],
- ['field', '', 'DELIVERY_LOCATION', 'string']
- ];
- $conditions[] = [
- ['text', 'Forma płatności: '],
- ['field', 'przelew', 'PAYMENT_METHOD', 'string']
- ];
- $conditions[] = [
- ['text', 'Wynagrodzenie objęte niniejszym zleceniem jest wynagrodzeniem ryczałtowym.']
- ];
- $conditions[] = [
- ['text', 'Termin płatności: '],
- ['field', '', 'PAYMENT_TERM_DAYS_FV', 'int'],
- ['text', ' dni od daty wpływu do siedziby Zleceniodawcy wszystkich prawidłowych i kompletnych dokumentów, o których mowa w pkt 6 i 7 poniżej w trybie zgodnym z pkt 8 poniżej.']
- ];
- $conditions[] = [
- ['text', 'Podstawą do wystawienia przez Zleceniobiorcę na rzecz Zleceniodawcy faktury VAT jest podpisany przez obie strony bezusterkowy protokół odbioru przez Zleceniodawcę przedmiotu zlecenia oraz dostarczenie Zleceniodawcy przez Zleceniobiorcę wszelkich niezbędnych dokumentów związanych z przedmiotem zlecenia, a także w razie gdy przedmiotem zlecenia jest wynajem sprzętu – podpisana i zaakceptowana przez obie strony karta pracy sprzętu.']
- ];
- $conditions[] = [
- ['text', 'Płatność dokonana będzie wyłącznie na podstawie prawidłowo wystawionej i doręczonej Zleceniodawcy przez Zleceniobiorcę faktury VAT z dołączonym oryginałem dokumentu potwierdzającego bezusterkowy odbiór przez Zleceniodawcę przedmiotu zlecenia wraz ze wszystkimi niezbędnymi dokumentami przez osoby wymienione w pkt 10 i 11 poniżej, a także w przypadku gdy przedmiotem zlecenia jest wynajem sprzętu – w oparciu o podpisaną przez osoby wymienione w pkt 10 i 11 poniżej i zaakceptowaną przez obie strony kartę pracy sprzętu, a także kopią niniejszego zlecenia podpisaną przez Zleceniodawcę i Zleceniobiorcę zgodnie z zasadami reprezentacji, poświadczoną przez Zleceniobiorcę za zgodność z oryginałem.']
- ];
- $conditions[] = [
- ['bold', 'Zleceniobiorca przekaże Zleceniodawcy fakturę VAT wraz z wymaganymi załącznikami, o których mowa w pkt 5-7 powyżej wyłącznie przesyłką poleconą Poczty Polskiej za potwierdzeniem odbioru.']
- ];
- $conditions[] = [
- ['bold', 'W przypadku gdy Zleceniobiorca otrzyma dokumenty, o których mowa w pkt 5-7 powyżej, niespełniające warunków wskazanych w niniejszym zleceniu lub zostaną one wysłane niezgodnie z trybem określonym w pkt 8 powyżej, wówczas Zleceniodawca zastrzega sobie prawo do odmowy realizacji płatności i odesłania ich na adres Zleceniobiorcy celem skorygowania.']
- ];
- $conditions[] = [
- ['text', 'Osoba do kontaktu ze strony Zleceniodawcy: '],
- ['tag', 'newline'],
- ['field', '', 'ORDER_CONTACT_PERSON', 'text']
- ];
- $conditions[] = [
- ['text', 'Osoba uprawniona do kontaktu ze strony Zleceniobiorcy: '],
- ['field', '', 'DELIVERY_CONTACT_PERSON', 'string']
- ];
- $conditions[] = [
- ['text', 'Za datę zapłaty uważa się datę obciążenia rachunku bankowego Zleceniodawcy.']
- ];
- $conditions[] = [
- ['text', 'Niniejsze zlecenie jest ważne po potwierdzeniu przez Zleceniobiorcę przyjęcia do realizacji niniejszego zlecenia w terminie 2 dni roboczych od daty jego przekazania Zleceniobiorcy przez Zleceniodawcę.'],
- ['text', ' Potwierdzenie pod rygorem nieważności winno być przesłane faksem do Zleceniodawcy pod numer '],
- ['field', '', 'ORDER_CONTACT_FAX', 'string'],
- ['text', ' lub pocztą elektroniczną na adres email: '],
- ['field', '', 'ORDER_CONTACT_EMAIL', 'string'],
- ['text', ' Brak potwierdzenia jest uznawany jako odmowa przyjęcia przez Zleceniobiorcę do realizacji niniejszego zlecenia. Każda proponowana zamiana warunków zlecenia określonych w niniejszym zleceniu oznacza złożenie nowej oferty i winna być pod rygorem nieważności potwierdzona w formie pisemnej przez Zleceniodawcę. Nie dopuszcza się akceptu milczącego.']
- ];
- $conditions[] = [
- ['text', 'Wierzytelności wynikające z niniejszego zlecenia nie mogą być przenoszone przez Zleceniobiorcę na osoby trzecie bez uprzedniej, pisemnej zgody Zleceniodawcy.']
- ];
- $conditions[] = [
- ['text', 'Zleceniodawca ma prawo odstąpić od umowy objętej niniejszym zleceniem w terminie 30 dni od dnia wystąpienia jednej z następujących okoliczności:'],
- ['tag', 'newline'],
- ['text', 'a) Zleceniobiorca nie wykonuje lub nienależycie wykonuje jakiekolwiek ze zobowiązań Zleceniobiorcy wynikających z umowy objętej niniejszym zleceniem, pomimo wezwania Zleceniobiorcy przez Zleceniodawcę do usunięcia naruszeń w terminie 3 dni roboczych od dnia tego wezwania,'],
- ['tag', 'newline'],
- ['text', 'b) powzięcia przez Zleceniodawcę informacji, iż sytuacja finansowa Zleceniobiorcy nie pozwala na wykonanie prac zleconych na mocy niniejszego zlecenia,'],
- ['tag', 'newline'],
- ['text', 'c) powzięcia przez Zleceniodawcę informacji, iż Zleceniobiorca nie przestrzega przepisów BHP oraz przeciwpożarowych,'],
- ['tag', 'newline'],
- ['text', 'd) Zleceniobiorca zaprzestał wykonywania zlecenia na okres dłuższy niż 2 dni robocze lub przerwał prace na okres dłuższy niż 2 dni robocze.']
- ];
- $conditions[] = [
- ['text', 'Zleceniobiorca ma prawo korzystać z osób trzecich do wykonywania przez niego przedmiotu zlecenia wyłącznie po uzyskaniu uprzedniej, pisemnej zgody Zleceniodawcy. Zleceniobiorca odpowiada za działania i zaniechania osób trzecich jak za własne.']
- ];
- $conditions[] = [
- ['bold', 'Zleceniobiorca usługi potwierdza / nie potwierdza iż jest podwykonawcą zlecanej usługi, objęty numerem PKWiU: '],
- ['field', '', 'NR_PKWIU', 'string']
- ];
- $conditions[] = [
- ['bold', 'Zleceniobiorca oświadcza, że jest / nie jest czynnym podatnikiem VAT'],
- ];
- $conditions[] = [
- ['text', 'Ustalenia dodatkowe: '],
- ['field', '', 'ADDITIONAL_CONDITIONS', 'string']
- ];
- } else {
- $conditions[] = [
- ['bold', 'Termin wykonania usługi: '],
- ['field', '', 'DELIVERY_DATE', 'date'],
- ['text', ', po tym terminie Zamawiający zastrzega sobie prawo do odmowy odbioru przedmiotu zamówienia.']
- ];
- $conditions[] = [
- ['bold', 'Forma dostawy: '],
- ['field', '', 'DELIVERY_TYPE', 'string']
- ];
- $conditions[] = [
- ['bold', 'Miejsce dostawy: '],
- ['field', '', 'DELIVERY_LOCATION', 'string']
- ];
- $conditions[] = [
- ['bold', 'Warunki płatności: '],
- ['field_readonly', 'przelew', 'PAYMENT_METHOD'],
- ['text', ' '],
- ['field', '', 'PAYMENT_TERM_DAYS_FV', 'int'],
- ['text', ' dni po dostawie towaru']
- ];
- $conditions[] = [
- ['bold', 'Forma płatności: '],
- ['field', 'przelew', 'PAYMENT_METHOD', 'string']
- ];
- $conditions[] = [
- ['bold', 'Termin płatności: '],
- ['field', '', 'PAYMENT_TERM_DAYS_FV', 'int'],
- ['text', ' dni od daty wpływu do siedziby Zamawiającego prawidłowych i kompletnych dokumentów, o których mowa w pkt 7 poniżej w trybie zgodnym z pkt 8 poniżej.']
- ];
- $conditions[] = [
- ['text', 'Płatność dokonana będzie wyłącznie na podstawie prawidłowo wystawionej i doręczonej Zamawiającemu przez Dostawcę faktury VAT z dołączonym oryginałem dokumentu potwierdzającego bezusterkowy odbiór przez Zamawiającego przedmiotu zamówienia wraz ze wszystkimi niezbędnymi dokumentami, gwarancjami, atestami, testami, etc. przez osoby wymienione w pkt 11-12 poniżej, a także kopią niniejszego zamówienia podpisaną przez Zamawiającego i Dostawcę zgodnie z zasadami reprezentacji, poświadczoną przez Dostawcę za zgodność z oryginałem.']
- ];
- $conditions[] = [
- ['bold', 'Dostawca przekaże Zamawiającemu fakturę VAT wraz z wymaganymi załącznikami, o których mowa w pkt 7 powyżej wyłącznie przesyłką poleconą Poczty Polskiej za potwierdzeniem odbioru.']
- ];
- $conditions[] = [
- ['bold', 'W przypadku gdy Zamawiający otrzyma dokumenty, o których mowa w pkt 7 i 8 powyżej, niespełniające warunków wskazanych w niniejszym zamówieniu lub zostaną one wysłane niezgodnie z trybem określonym w pkt 8 powyżej, wówczas Zamawiający zastrzega sobie prawo do odmowy realizacji płatności i odesłania ich na adres Dostawcy celem skorygowania.']
- ];
- $conditions[] = [
- ['text', 'Zamawiającemu przysługuje prawo do naliczenia Dostawcy kary umownej w wysokości '],
- ['field', '', 'CASH_PENALTY', 'price'],
- ['text', '% wartości zamówienia netto za każdy rozpoczęty dzień opóźnienia w dostawie przedmiotu zamówienia z terminem płatności tej kary - 7 dni od dnia jej naliczenia. Zamawiający może potrącić wskazaną karę umowną z wynagrodzenia Dostawcy. Zamawiający zastrzega sobie prawo do dochodzenia odszkodowania na zasadach ogólnych, przekraczającego wysokość kary umownej zastrzeżonej w niniejszym punkcie.']
- ];
- $conditions[] = [
- ['bold', 'Osoba do kontaktu ze strony Zamawiającego:'],
- ['tag', 'newline'],
- ['field', '', 'ORDER_CONTACT_PERSON', 'text']
- ];
- $conditions[] = [
- ['bold', 'Osoby upoważnione do odbioru towaru:'],
- ['tag', 'newline'],
- ['field', '', 'ORDER_APPROVE_PERSON', 'text']
- ];
- $conditions[] = [
- ['bold', 'Osoba uprawniona do kontaktu ze strony Dostawcy: '],
- ['field', '', 'DELIVERY_CONTACT_PERSON', 'string']
- ];
- $conditions[] = [
- ['text', 'Za datę zapłaty uważa się datę obciążenia rachunku bankowego Zamawiającego.']
- ];
- $conditions[] = [
- ['text', 'Niniejsze zamówienie jest ważne po potwierdzeniu przez Dostawcę przyjęcia do realizacji niniejszego zamówienia w terminie 2 dni roboczych od daty jego złożenia Dostawcy przez Zamawiającego.'],
- ['tag', 'newline'],
- ['text', 'Potwierdzenie pod rygorem nieważności winno być przesłane faksem do Zamawiającego pod numer (58) 347 51 02 lub pocztą elektroniczną na adres email: '],
- ['tag', 'u', 'asmentoch@pro-netmedia.pl'],
- ['text', ' Brak potwierdzenia jest uznawany jako odmowa przyjęcia przez Dostawcę do realizacji niniejszego zamówienia. Każda proponowana zamiana warunków dostawy określonych w niniejszym zamówieniu oznacza złożenie nowej oferty i winna być pod rygorem nieważności potwierdzona przez Zamawiającego. Nie dopuszcza się akceptu milczącego.']
- ];
- $conditions[] = [
- ['text', 'Wierzytelności wynikające z niniejszego zamówienia nie mogą być przenoszone przez Dostawcę na osoby trzecie bez uprzedniej, pisemnej zgody Zamawiającego.']
- ];
- }
- ?>
- <style type="text/css">
- body { font-size:12px; line-height:1.3em }
- #tbl-items td { padding:3px !important }
- @media print {
- body { font-size:12px; line-height:1.3em }
- h4 { font-size:1.3em; margin-top:8px; margin-bottom:6px }
- h3 { font-size:1.5em; margin-top:8px; margin-bottom:6px }
- h2 { font-size:1.6em; margin-top:8px; margin-bottom:6px }
- h1 { font-size:1.8em; margin-top:8px; margin-bottom:6px }
- table { page-break-inside:auto }
- tr { page-break-inside:avoid; page-break-after:auto }
- li { page-break-inside:avoid; page-break-after:auto }
- .page-break-block { page-break-inside:avoid; page-break-after:auto }
- td, th,
- .table>tbody>tr>td,
- .table>tbody>tr>th,
- .table>thead>tr>th { padding:2px }
- .order-panel { display:none }
- }
- </style>
- <div class="container">
- <div id="tbl-items">
- <div id="widget-orders"></div>
- </div>
- </div>
- <link rel="stylesheet" type="text/css" href="static/sweetalert2.min.css">
- <script src="static/sweetalert2.min.js"></script>
- <script src="stuff/vendors.js"></script>
- <script src="stuff/bundle.se_route_orders.js?_ver=8b030997<?php if (V::get('DBG_JS', '', $_GET)) : ?>&_ts=<?= time(); ?><?php endif; ?>"></script>
- <script>
- (function() {
- <?php
- $showSendToLink = (in_array($data['APPROVE_STATUS'], ['OCZEKUJE_OSTATECZNEGO_ZATWIERDZENIA','ZATWIERDZONE','OCZEKUJE_ZATWIERDZENIA']));
- $sendToDealEmail = (in_array($data['APPROVE_STATUS'], ['ZATWIERDZONE'])) ? $data['COMPANY_CONTACT_MAIL'] : '';
- ?>
- var _showSendToLink = <?= ($showSendToLink) ? 'true' : 'false' ?>;
- var _sendToAutorEmail = '<?= DB::getPDO()->fetchValue("select u.EMAIL from CRM_LISTA_ZASOBOW_ORDERS o join ADMIN_USERS u on(u.ADM_ACCOUNT = o.A_RECORD_CREATE_AUTHOR) where o.ID={$id_order}"); ?>';
- var _sendToDealEmail = '<?= $sendToDealEmail; ?>';
- var _sendToLinkLabel = "Wyślij";
- var _sendToLink = '<?= $sendToLink; ?>';
- var _mode = '<?= $mode; ?>';
- var _pos = <?php echo json_encode($orderPosList); ?>;
- var _saveLink = '<?= $saveLink; ?>';
- var _dbg = <?= (DBG::isActive())? 'true' : 'false'; ?>;
- var _fields = <?= json_encode($fields); ?>;
- var _conditions = <?= json_encode($conditions); ?>;
- jQuery("#widget-orders").p5_Orders({
- year: '2016',
- idOrder: '<?php echo V::get('id', '', $data); ?>',
- deal: {
- type: 'zamowienie',
- label: '<?= $labels['main']; ?>',
- nr: '<?php echo V::get('ORDER_LABEL', 'nr zamówienia / inicjały zamawiającego / numer budowy / miesiąc / rok', $data); ?>',
- showOfferLabel: true,
- offerLabel: '<?= $labels['offer']; ?>',
- offerNr: '',
- targetName: '',
- statement: '<?= $labels['statement']; ?>',
- conditions: _conditions,
- condLabel: '<?= $labels['conditions']; ?>',
- date: '<?php echo V::get('ORDER_DATE', date("Y-m-d"), $data); ?>',
- city: '<?php echo V::get('ORDER_CITY', 'Gdańsk', $data); ?>'
- },
- fields: _fields,
- mapFields: {
- deal: {
- nr: 'ORDER_LABEL',
- offerNr: 'OFFER_NR',
- date: 'ORDER_DATE',
- targetName: '_nr_budowy'
- },
- comB: {
- name: 'COMPANY_NAME',
- address: 'COMPANY_ADDRESS',
- postCode: 'COMPANY_POST_CODE',
- city: 'COMPANY_CITY',
- nip: 'COMPANY_NIP',
- contactPerson: 'COMPANY_CONTACT_PERSON',
- contactTel: 'COMPANY_CONTACT_TEL',
- contactMail: 'COMPANY_CONTACT_MAIL'
- },
- notes: 'NOTES'
- },
- comA: {
- label: '<?= $labels['comA']; ?>',
- name: 'PRO-NET.MEDIA S.A.',
- address: 'ul. Narwicka 21',
- postCode: '80-557',
- city: 'Gdańsk',
- nip: '583-315-47-35'
- },
- comB: {
- label: '<?= $labels['comB']; ?>',
- name: '',
- address: '',
- postCode: '',
- city: '',
- nip: ''
- },
- signatureComA: '<?= $labels['signatureComA']; ?>',
- signatureComB: '<?= $labels['signatureComB']; ?>',
- backLink: 'index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&ID_PROJECT=<?php echo $id_project; ?>',
- printLink: 'index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&_task=zamowienie&_print=1',
- printIdOrderArg: 'id',
- pos: _pos,
- firstPosFieldLabel: '<?= $labels['firstPosFieldLabel']; ?>',
- invoiceMessage: '<?= $labels['invoiceMessage']; ?>',
- notes: '',
- mode: _mode,
- actions: {
- save: function(data, callback) {
- var orderPosList, idOrder;
- try {
- console.log('#widget-orders/Orders::save: data:', data);
- if (!data || !('orderPosList' in data)) throw "Brak danych do zapisania";
- var orderPosList = data.orderPosList || [];
- var fields = data.fields || {};
- var idOrder = data.idOrder || -1;
- var req = superagent
- .post(_saveLink)
- .type('json') // header ĺapplication/x-www-form-urlencoded' requires type('form');
- .send({
- type: data.type || 'zamowienie',
- orderPosList: orderPosList,
- toDeletePosList: data.toDeletePosList || {},
- fields: fields,
- idOrder: idOrder
- })
- .set('Accept', 'application/json')
- .end(function(err, res) {
- if(_dbg)console.log('#widget-orders/Orders::save: res:', res, 'res.body:', res.body);
- if (err || !res.ok) {
- jQuery(document).trigger('DBG:notify', {type: 'warning', msg: 'Req error', err: err});
- } else {
- if ('application/json' !== res.type) {
- jQuery(document).trigger('DBG:notify', {type: 'warning', msg: 'Wrong response type - required json. ' + res.text});
- return;
- }
- jQuery(document).trigger('DBG:notify', {type: 'success', msg: 'res.status:' + res.status + '. res.body:' + JSON.stringify(res.body)});
- callback(null, {
- message: 'Saved',
- type: 'success',
- orderPosList: res.body.orderPosList,
- fields: res.body.fields,
- idOrder: res.body.idOrder
- });
- }
- req = null;
- });
- } catch (e) {
- callback(e);
- }
- },
- sendTo: orderView__sendTo
- },
- showSendToLink: _showSendToLink,
- sendToLinkLabel: _sendToLinkLabel,
- dbg: false
- });
- function orderView__sendTo(idOrder) {
- var htmlEmails = '<div style="text-align:left">';
- var changeJs = "jQuery(this).parents('.swal2-content').next('.swal2-input').val(this.value)";
- htmlEmails += '';
- if (_sendToAutorEmail) htmlEmails += '<div class="radio"><label style="font-weight:normal"><input onclick="'+changeJs+'" type="radio" name="email" value="'+_sendToAutorEmail+'"> '+_sendToAutorEmail+' <i>(Autor)</i></label></div>';
- if (_sendToDealEmail) htmlEmails += '<div class="radio"><label style="font-weight:normal"><input onclick="'+changeJs+'" type="radio" name="email" value="'+_sendToDealEmail+'"> '+_sendToDealEmail+' <i>(Dostawca)</i></label></div>';
- htmlEmails += '<div class="radio"><label style="font-weight:normal"><input onclick="'+changeJs+'" type="radio" name="email" value=""> inny adres</label></div>';
- htmlEmails += '</div>';
- swal({
- title: _sendToLinkLabel,
- html: htmlEmails,
- animation: false,
- input: 'text',
- inputPlaceholder: 'adres email',
- inputValue: _sendToDealEmail,
- showCancelButton: true,
- confirmButtonText: 'Wyślij',
- showLoaderOnConfirm: true,
- showCloseButton: true,
- preConfirm: function(email) {
- <?php if(DBG::isActive()): ?>console.log('#widget-orders/Orders::sendTo: ...');<?php echo"\n";endif; ?>
- return new Promise(function(resolve, reject) {
- if (email.length > 255) reject('Przekroczono limit długości znaków')
- var emailErrors = validate({email_value: email}, {email_value: {email: true, presence: true}});
- if (emailErrors) {
- <?php if(DBG::isActive()): ?>console.log('#widget-orders/Orders::sendTo: email validate errors:', emailErrors);<?php echo"\n";endif; ?>
- reject("Błędny adres email")
- return;
- }
- superagent
- .post(_sendToLink)
- .type('json') // header ĺapplication/x-www-form-urlencoded' requires type('form');
- .send({
- id: idOrder,
- email: email
- })
- .set('Accept', 'application/json')
- .end(function(err, res) {
- <?php if(DBG::isActive()): ?>console.log('#widget-orders/Orders::sendTo: res:', res, 'res.body:', res.body);<?php echo"\n";endif; ?>
- if (err || !res.ok) {
- reject((res.body && res.body.msg) ? res.body.msg || "Request error" : "Request error")
- } else {
- if ('application/json' !== res.type) {
- reject("Wrong response type - required json")
- return
- }
- if (!res.body.msg) reject(res.body.msg || "Wystąpiły błędy")
- resolve(res.body)
- }
- })
- })
- },
- allowOutsideClick: false
- }).then(function(body) {
- <?php if(DBG::isActive()): ?>console.log('#widget-orders/Orders::sendTo: body:', body);<?php echo"\n";endif; ?>
- // msg "wysłany pomyślnie"? (swal?)
- }).catch(function(e) {
- // eg. hit Cancel
- })
- }
- })();
- </script>
- <script>
- jQuery(document).ready(function() {
- var _mode = '<?php echo $mode; ?>';
- document.title = 'zamowienie_nr_<?php echo V::get('ORDER_LABEL', 'nr zamówienia / inicjały zamawiającego / numer budowy / miesiąc / rok', $data); ?>';
- if ('print' == _mode) {
- window.print();
- }
- })
- </script>
- <?php
- }
- }
- /*
- ALTER TABLE `CRM_LISTA_ZASOBOW_OFFERS` ADD `ID_ORDER` int(11) NOT NULL DEFAULT 0;
- ALTER TABLE `CRM_LISTA_ZASOBOW_OFFERS_HIST` ADD `ID_ORDER` varchar(11) NOT NULL DEFAULT 'N/S;';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS` ADD `ORDER_CONTACT_PERSON` varchar(255) NOT NULL DEFAULT '';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS_HIST` ADD `ORDER_CONTACT_PERSON` varchar(255) NOT NULL DEFAULT 'N/S;';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS` ADD `ORDER_APPROVE_PERSON` varchar(255) NOT NULL DEFAULT '';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS_HIST` ADD `ORDER_APPROVE_PERSON` varchar(255) NOT NULL DEFAULT 'N/S;';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS` ADD `DELIVERY_CONTACT_PERSON` varchar(255) NOT NULL DEFAULT '';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS_HIST` ADD `DELIVERY_CONTACT_PERSON` varchar(255) NOT NULL DEFAULT 'N/S;';
- $sqlFieldsList[] = 'ORDER_CONTACT_PERSON';
- $sqlFieldsList[] = 'ORDER_APPROVE_PERSON';
- $sqlFieldsList[] = 'DELIVERY_CONTACT_PERSON';
- CREATE TABLE IF NOT EXISTS `CRM_LISTA_ZASOBOW_ORDERS` (
- `ID` int(11) NOT NULL AUTO_INCREMENT,
- `ID_COMPANIES` int(11) NOT NULL DEFAULT 0,
- `ID_PROJECT` int(11) NOT NULL DEFAULT 0,
- `ID_PROJECT_path` varchar(255) NOT NULL COMMENT 'wyliczalna dynamicznie sciezka sprawy',
- `A_RECORD_CREATE_DATE` datetime DEFAULT NULL,
- `A_RECORD_CREATE_AUTHOR` varchar(100) DEFAULT NULL,
- `SYNC_SQIX_STATUS` varchar(100) NOT NULL DEFAULT '',
- `A_RECORD_UPDATE_DATE` datetime DEFAULT NULL,
- `A_RECORD_UPDATE_AUTHOR` varchar(100) NOT NULL DEFAULT '',
- `L_APPOITMENT_DATE` varchar(30) NOT NULL DEFAULT '',
- `L_APPOITMENT_USER` varchar(100) NOT NULL DEFAULT '',
- `L_APPOITMENT_PERIOD` varchar(4) NOT NULL DEFAULT '',
- `L_APPOITMENT_INFO` varchar(255) NOT NULL DEFAULT '',
- `L_APPOITMENT_TYPE` enum('','ARRANGED','TO_ARRANGE','CANCELLED','TO_CANCEL','RELATE','WAIT') DEFAULT NULL,
- `A_STATUS` enum('WAITING','NORMAL','MONITOR','WARNING','OFF_SOFT','OFF_HARD','DELETED') DEFAULT NULL,
- `A_STATUS_INFO` varchar(255) NOT NULL DEFAULT '',
- `A_ADM_COMPANY` varchar(100) NOT NULL DEFAULT '',
- `A_CLASSIFIED` varchar(100) NOT NULL DEFAULT '',
- `NR` varchar(255) NOT NULL DEFAULT '',
- `COMPANY_NAME` varchar(255) NOT NULL DEFAULT '',
- `COMPANY_ADDRESS` varchar(255) NOT NULL DEFAULT '',
- `COMPANY_POST_CODE` varchar(6) NOT NULL DEFAULT '',
- `COMPANY_CITY` varchar(255) NOT NULL DEFAULT '',
- `COMPANY_NIP` varchar(32) NOT NULL DEFAULT '',
- `COMPANY_CONTACT_PERSON` varchar(64) NOT NULL DEFAULT '',
- `COMPANY_CONTACT_TEL` varchar(32) NOT NULL DEFAULT '',
- `COMPANY_CONTACT_MAIL` varchar(64) NOT NULL DEFAULT '',
- `OFFER_DATE` date DEFAULT NULL,
- `OFFER_NR` varchar(255) NOT NULL DEFAULT '',
- `ORDER_TYPE` varchar(255) NOT NULL DEFAULT '',
- `DELIVERY_DATE` date DEFAULT NULL,
- `DELIVERY_TYPE` varchar(255) DEFAULT '',
- `DELIVERY_LOCATION` varchar(255) DEFAULT '',
- `EXECUTION_START_DATE` date DEFAULT NULL,
- `EXECUTION_END_DATE` date DEFAULT NULL,
- `CASH_PENALTY` varchar(255) NOT NULL DEFAULT '',
- `ORDER_CONTACT_PERSON` varchar(255) NOT NULL DEFAULT '',
- `ORDER_APPROVE_PERSON` varchar(255) NOT NULL DEFAULT '',
- `DELIVERY_CONTACT_PERSON` varchar(255) NOT NULL DEFAULT '',
- `LOCATION` date DEFAULT NULL,
- `NOTES` varchar(1000) NOT NULL DEFAULT '',
- PRIMARY KEY (`ID`)
- ) ENGINE=MyISAM DEFAULT CHARSET=latin2;
- CREATE TABLE IF NOT EXISTS `CRM_LISTA_ZASOBOW_ORDERS_HIST` (
- `ID` int(11) NOT NULL AUTO_INCREMENT,
- `ID_USERS2` int(11) NOT NULL,
- `ID_COMPANIES` varchar(255) NOT NULL DEFAULT 'N/S;',
- `ID_PROJECT` varchar(255) NOT NULL DEFAULT 'N/S;',
- `ID_PROJECT_path` varchar(255) NOT NULL DEFAULT 'N/S;',
- `A_RECORD_CREATE_DATE` varchar(255) NOT NULL DEFAULT 'N/S;',
- `A_RECORD_CREATE_AUTHOR` varchar(255) NOT NULL DEFAULT 'N/S;',
- `SYNC_SQIX_STATUS` varchar(255) NOT NULL DEFAULT 'N/S;',
- `A_RECORD_UPDATE_DATE` varchar(255) NOT NULL DEFAULT 'N/S;',
- `A_RECORD_UPDATE_AUTHOR` varchar(255) NOT NULL DEFAULT 'N/S;',
- `L_APPOITMENT_DATE` varchar(255) NOT NULL DEFAULT 'N/S;',
- `L_APPOITMENT_USER` varchar(255) NOT NULL DEFAULT 'N/S;',
- `L_APPOITMENT_PERIOD` varchar(255) NOT NULL DEFAULT 'N/S;',
- `L_APPOITMENT_INFO` varchar(255) NOT NULL DEFAULT 'N/S;',
- `L_APPOITMENT_TYPE` varchar(255) NOT NULL DEFAULT 'N/S;',
- `A_STATUS` varchar(255) NOT NULL DEFAULT 'N/S;',
- `A_STATUS_INFO` varchar(255) NOT NULL DEFAULT 'N/S;',
- `A_ADM_COMPANY` varchar(255) NOT NULL DEFAULT 'N/S;',
- `A_CLASSIFIED` varchar(255) NOT NULL DEFAULT 'N/S;',
- `NR` varchar(255) NOT NULL DEFAULT 'N/S;'
- `COMPANY_NAME` varchar(255) NOT NULL DEFAULT 'N/S;'
- `COMPANY_ADDRESS` varchar(255) NOT NULL DEFAULT 'N/S;'
- `COMPANY_POST_CODE` varchar(6) NOT NULL DEFAULT 'N/S;'
- `COMPANY_CITY` varchar(255) NOT NULL DEFAULT 'N/S;'
- `COMPANY_NIP` varchar(32) NOT NULL DEFAULT 'N/S;'
- `COMPANY_CONTACT_PERSON` varchar(64) NOT NULL DEFAULT 'N/S;'
- `COMPANY_CONTACT_TEL` varchar(32) NOT NULL DEFAULT 'N/S;'
- `COMPANY_CONTACT_MAIL` varchar(64) NOT NULL DEFAULT 'N/S;'
- `OFFER_DATE` varchar(10) NOT NULL DEFAULT 'N/S;'
- `OFFER_NR` varchar(255) NOT NULL DEFAULT 'N/S;'
- `ORDER_TYPE` varchar(255) NOT NULL DEFAULT 'N/S;'
- `DELIVERY_DATE` varchar(255) NOT NULL DEFAULT 'N/S;'
- `DELIVERY_TYPE` varchar(255) DEFAULT 'N/S;',
- `DELIVERY_LOCATION` varchar(255) DEFAULT 'N/S;',
- `EXECUTION_START_DATE` varchar(10) NOT NULL DEFAULT 'N/S;',
- `EXECUTION_END_DATE` varchar(10) NOT NULL DEFAULT 'N/S;',
- `CASH_PENALTY` varchar(255) NOT NULL DEFAULT 'N/S;',
- `ORDER_CONTACT_PERSON` varchar(255) NOT NULL DEFAULT 'N/S;',
- `ORDER_APPROVE_PERSON` varchar(255) NOT NULL DEFAULT 'N/S;',
- `DELIVERY_CONTACT_PERSON` varchar(255) NOT NULL DEFAULT 'N/S;',
- `LOCATION` varchar(10) NOT NULL DEFAULT 'N/S;',
- `NOTES` varchar(1000) NOT NULL DEFAULT 'N/S;',
- PRIMARY KEY (`ID`),
- KEY `ID_USERS2` (`ID_USERS2`)
- ) ENGINE=MyISAM DEFAULT CHARSET=latin2;
- -- ADD ORDER_NR to KORESP
- ALTER TABLE `IN7_DZIENNIK_KORESP_HIST` ADD `ORDER_NR` VARCHAR(32) NOT NULL DEFAULT 'N/S;';
- ALTER TABLE `IN7_DZIENNIK_KORESP` ADD `ORDER_NR` VARCHAR(32) NOT NULL DEFAULT '';
- SELECT ID,ID_PROJECT,ORDER_NR FROM `IN7_DZIENNIK_KORESP` where ID_PROJECT is not null or ORDER_NR != '' ORDER BY `IN7_DZIENNIK_KORESP`.`ID` DESC limit 500;
- SELECT ID,ID_PROJECT,ORDER_NR FROM `IN7_DZIENNIK_KORESP` where ID_PROJECT is not null and ORDER_NR != '' ORDER BY `IN7_DZIENNIK_KORESP`.`ID` DESC limit 500;
- -- ADD missing fields in CRM_LISTA_ZASOBOW_OFFERS
- -- ALTER TABLE `CRM_LISTA_ZASOBOW_OFFERS` CHANGE `OFFER_UNIT_TYPE` `OFFER_UNIT_TYPE` VARCHAR(16) CHARACTER SET latin2 COLLATE latin2_general_ci NULL DEFAULT 'szt.';
- ALTER TABLE `CRM_LISTA_ZASOBOW_OFFERS_HIST` ADD `OFFER_NAME` VARCHAR(255) NOT NULL DEFAULT 'N/S;';
- ALTER TABLE `CRM_LISTA_ZASOBOW_OFFERS` ADD `OFFER_NAME` VARCHAR(255) NOT NULL DEFAULT '';
- ALTER TABLE `CRM_LISTA_ZASOBOW_OFFERS_HIST` ADD `OFFER_QUANTITY` VARCHAR(16) NOT NULL DEFAULT 'N/S;';
- ALTER TABLE `CRM_LISTA_ZASOBOW_OFFERS` ADD `OFFER_QUANTITY` decimal(10,4) NOT NULL DEFAULT 0;
- ALTER TABLE `CRM_LISTA_ZASOBOW_OFFERS_HIST` ADD `OFFER_UNIT` VARCHAR(16) NOT NULL DEFAULT 'N/S;';
- ALTER TABLE `CRM_LISTA_ZASOBOW_OFFERS` ADD `OFFER_UNIT` VARCHAR(16) NOT NULL DEFAULT '';
- -- ADD zatwierdzony przez
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS_HIST` ADD `APPROVED_BY` VARCHAR(64) NOT NULL DEFAULT 'N/S;';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS` ADD `APPROVED_BY` VARCHAR(64) NOT NULL DEFAULT ''; -- ZATWIERDZONE PRZEZ
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS_HIST` ADD `APPROVE_STATUS` VARCHAR(32) NOT NULL DEFAULT 'N/S;';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS` ADD `APPROVE_STATUS` enum('WERSJA_ROBOCZA', 'OCZEKUJE_ZATWIERDZENIA', 'ZATWIERDZONE', 'ODRZUCONE') NOT NULL DEFAULT 'WERSJA_ROBOCZA';
- -- ADD payment term days after fv
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS_HIST` ADD `PAYMENT_TERM_DAYS_FV` VARCHAR(11) NOT NULL DEFAULT 'N/S;';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS` ADD `PAYMENT_TERM_DAYS_FV` int(11) NOT NULL DEFAULT '0';
- -- ADD payment method
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS_HIST` ADD `PAYMENT_METHOD` VARCHAR(32) NOT NULL DEFAULT 'N/S;';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS` ADD `PAYMENT_METHOD` VARCHAR(32) NOT NULL DEFAULT '';
- -- 2016-07-13 - ADD 'OCZEKUJE_OSTATECZNEGO_ZATWIERDZENIA' to `APPROVE_STATUS`
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS` CHANGE `APPROVE_STATUS` `APPROVE_STATUS` ENUM('WERSJA_ROBOCZA','OCZEKUJE_ZATWIERDZENIA','ZATWIERDZONE','ODRZUCONE','OCZEKUJE_OSTATECZNEGO_ZATWIERDZENIA') CHARACTER SET latin2 COLLATE latin2_general_ci NOT NULL DEFAULT 'WERSJA_ROBOCZA';
- 1213 12 14/AS/13/SP/2014/IV/2016 14 / AS / 13/SP/2014 / IV / 2016
- 1292 30 34/JL/16/SP/2015/V/2016 34 / JL / 16/SP/2015 / V / 2016
- 1259 37 24/JT/23/SP/2015/V/2016 24 / JT / 23/SP/2015 / V / 2016
- 1210 44 1/AS/2/2016/III/2016 1 / AS / 2/ 2016 / III / 2016
- 1211 44 1/AS/2/2016/III/2016 1 / AS / 2/ 2016 / III / 2016
- 1212 44 9/JT/2/SP/2016/IV/2016 9 / JT / 2/SP/2016 / IV / 2016
- 1215 44 10/JT/2/SP/2016/IV/2016 10 / JT / 2/SP/2016 / IV / 2016
- 1216 44 11/JT/2/SP/2016/V/2016 11 / JT / 2/SP/2016 / V / 2016
- 1214 45 8/AS/3/SP/2016/IV/2016 8 / AS / 3/SP/2016 / IV / 2016
- 1218 46 25/AS/04/SP/2016/V/2016 25 / AS / 04/SP/2016 / V / 2016
- 1255 46 11/RG/04/SP/2016/III/2016 11 / RG / 04/SP/2016 / III / 2016
- 1270 46 27/RG/04/SP/2016/V/2016 27 / RG / 04/SP/2016 / V / 2016
- 1219 50 2/MK/8/SP/2016/V/2016 2 / MK / 8/SP/2016 / V / 2016
- 1223 50 3/AS/8/SP/2016/V/2016 3 / AS / 8/SP/2016 / V / 2016
- -- ADD `ORDER_NOTES` - visible in orders list
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS` ADD `ORDER_NOTES` varchar(255) NOT NULL DEFAULT '';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS_HIST` ADD `ORDER_NOTES` varchar(255) NOT NULL DEFAULT 'N/S;';
- -- ADD `DELIVERY_START_DATE` - visible in orders list
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS` ADD `DELIVERY_START_DATE` varchar(32) NOT NULL DEFAULT '';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS_HIST` ADD `DELIVERY_START_DATE` varchar(32) NOT NULL DEFAULT 'N/S;';
- -- ADD `ORDER_CONTACT_FAX` - visible in orders list
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS` ADD `ORDER_CONTACT_FAX` varchar(32) NOT NULL DEFAULT '';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS_HIST` ADD `ORDER_CONTACT_FAX` varchar(32) NOT NULL DEFAULT 'N/S;';
- -- ADD `ORDER_CONTACT_EMAIL` - visible in orders list
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS` ADD `ORDER_CONTACT_EMAIL` varchar(64) NOT NULL DEFAULT '';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS_HIST` ADD `ORDER_CONTACT_EMAIL` varchar(64) NOT NULL DEFAULT 'N/S;';
- -- ADD `ADDITIONAL_CONDITIONS` - visible in orders list
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS` ADD `ADDITIONAL_CONDITIONS` varchar(1000) NOT NULL DEFAULT '';
- ALTER TABLE `CRM_LISTA_ZASOBOW_ORDERS_HIST` ADD `ADDITIONAL_CONDITIONS` varchar(1000) NOT NULL DEFAULT 'N/S;';
- */
|