Explorar el Código

added btn to Zlecenie in ZamZlec for pro-netmedia

Piotr Labudda hace 9 años
padre
commit
280112a236
Se han modificado 1 ficheros con 89 adiciones y 14 borrados
  1. 89 14
      SE/se-lib/Route/UrlAction/ProjektyProNetMediaZamZlec.php

+ 89 - 14
SE/se-lib/Route/UrlAction/ProjektyProNetMediaZamZlec.php

@@ -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>