浏览代码

added save to Pracownicy, avoid submit on space key

Piotr Labudda 7 年之前
父节点
当前提交
691cac4714
共有 2 个文件被更改,包括 142 次插入0 次删除
  1. 128 0
      tools/Bocian.php
  2. 14 0
      tools/Bocian.php.addItemToRaport.js

+ 128 - 0
tools/Bocian.php

@@ -233,6 +233,134 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 	}
 
 
+	public function saveToPracownicyAjaxAction() {
+		 Response::sendTryCatchJson(array($this, 'saveToPracownicyAjax'), $args = 'JSON_FROM_REQUEST_BODY');
+	}
+	public function saveToPracownicyAjax($args) {
+		DBG::log($args, 'array', "saveToPracownicyAjax args");
+		$baza = V::get('baza', '', $args);
+		$item = V::get('item', [], $args);
+		if (empty($item)) throw new Exception("Brak danych do zapisania");
+		switch ($baza) {
+			case 'default_db/BI_audit_KRS/BI_audit_KRS': return $this->saveKRSToPracownicyAjax($item);
+			case 'default_db/BI_audit_KRS_person/BI_audit_KRS_person': return $this->saveKRSPersonToPracownicyAjax($item);
+			case 'default_db/BI_audit_ENERGA_RUM_KONTRAHENCI/BI_audit_ENERGA_RUM_KONTRAHENCI': return $this->saveKonrahentToPracownicyAjax($item);
+			case 'default_db/BI_audit_ENERGA_PRACOWNICY/BI_audit_ENERGA_PRACOWNICY': return $this->savePracownikToPracownicyAjax($item);
+		}
+	}
+	//   "@primaryKey": "161323",
+  //   "A_kod": "80-299",
+  //   "A_kraj": "POLSKA",
+  //   "A_miejscowosc": "GDAŃSK",
+  //   "A_nrDomu": "54C",
+  //   "A_nrLokalu": null,
+  //   "A_poczta": "GDAŃSK",
+  //   "A_ulica": "BARNIEWICKA",
+  //   "ID": "161323",
+  //   "S_kraj": "POLSKA",
+  //   "S_miejscowosc": "GDAŃSK",
+  //   "S_wojewodztwo": "POMORSKIE",
+  //   "krs": "0000223476",
+  //   "nazwa": "BIALL Sp. z o.o.",
+  //   "nip": "6040018535",
+  //   "regon": "193106935",
+	function saveKRSToPracownicyAjax($item) {
+		$companyName = V::get('nazwa', '', $item);
+		$companyNip = V::get('nip', '', $item);
+		$comapanyRegon = V::get('regon', '', $item);
+		$comapanyKrs = V::get('krs', '', $item);
+
+		// validate
+		if (!$companyName) throw new Exception("Nie podano nazwy");
+		if (!$companyNip) throw new Exception("Nie podano nip");
+
+		$idOd = DB::getPDO()->insert('BI_audit_ENERGA_PRACOWNICY', [
+			'imiona' => $companyName,
+			'nip' => ($companyNip) ? $companyNip : NULL,
+			'regon' => ($comapanyRegon) ? $comapanyRegon : NULL,
+			'krs' => ($comapanyKrs) ? $comapanyKrs : NULL,
+			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
+			'A_RECORD_CREATE_DATE' => 'NOW()',
+		]);
+
+		return [
+			'msg' => "Dodano podmiot",
+			'type' => "success",
+		];
+	}
+	function saveKRSPersonToPracownicyAjax($item) {
+		$personName = V::get('imiona', '', $item);
+		$personSurname = V::get('nazwisko', '', $item);
+		$personPesel = V::get('pesel', '', $item);
+
+		// validate
+		if (!$personName) throw new Exception("Nie podano imienia");
+		if (!$personSurname) throw new Exception("Nie podano nazwiska");
+
+		$idOd = DB::getPDO()->insert('BI_audit_ENERGA_PRACOWNICY', [
+			'imiona' => $personName,
+			'nazwisko' => $personSurname,
+			'pesel' => ($personPesel) ? $personPesel : NULL,
+			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
+			'A_RECORD_CREATE_DATE' => 'NOW()',
+		]);
+
+		return [
+			'msg' => "Dodano osobę",
+			'type' => "success",
+		];
+	}
+	function saveKonrahentToPracownicyAjax($item) {
+		// companyName: document.getElementById('companyName').value,
+		// companyNip: document.getElementById('companyNip').value,
+		// comapanyRegon: document.getElementById('comapanyRegon').value,
+		$companyName = V::get('companyName', '', $item);
+		$companyNip = V::get('companyNip', '', $item);
+		$comapanyRegon = V::get('comapanyRegon', '', $item);
+
+		// validate
+		if (!$companyName) throw new Exception("Nie wpisano nazwy");
+		if (!$companyNip) throw new Exception("Nie wpisano nip");
+
+		$idOd = DB::getPDO()->insert('BI_audit_ENERGA_PRACOWNICY', [
+			'imiona' => $companyName,
+			'nip' => ($companyNip) ? $companyNip : NULL,
+			'regon' => ($comapanyRegon) ? $comapanyRegon : NULL,
+			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
+			'A_RECORD_CREATE_DATE' => 'NOW()',
+		]);
+
+		return [
+			'msg' => "Dodano podmiot",
+			'type' => "success",
+		];
+	}
+	function savePracownikToPracownicyAjax($item) {
+		$personName = V::get('personName', '', $item);
+		$personSurname = V::get('personSurname', '', $item);
+		$personNip = V::get('personNip', '', $item);
+		$personPesel = V::get('personPesel', '', $item);
+
+		// validate
+		if (!$personName) throw new Exception("Nie wpisano imienia");
+		if (!$personSurname) throw new Exception("Nie wpisano  nazwiska");
+
+		$idOd = DB::getPDO()->insert('BI_audit_ENERGA_PRACOWNICY', [
+			'imiona' => $personName,
+			'nazwisko' => $personSurname,
+			'nip' => ($personNip) ? $personNip : NULL,
+			'pesel' => ($personPesel) ? $personPesel : NULL,
+			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
+			'A_RECORD_CREATE_DATE' => 'NOW()',
+		]);
+
+		return [
+			'msg' => "Dodano osobę",
+			'type' => "success",
+		];
+	}
+
+
 	/**
 	*  Dodanie nowego pracownika
 	*/

+ 14 - 0
tools/Bocian.php.addItemToRaport.js

@@ -371,12 +371,26 @@ function createPracownikAjax(event) {
         showConfirmButton: false,
         showCancelButton: false,
         showCloseButton: true,
+        allowEnterKey: false,
         onOpen: function () {
             ReactDOM.render(
                 h(P5UI_AddItemToReport, {
                     onSelect: function (baza, selected) {
                         //insert do tabeli BI_audit_ENERGA_PRACOWNICY
                         console.log('TODO: selected ', { baza, selected });
+                        global.fetch(URL_SAVE_TO_PRACOWNICY, {
+                          method: 'POST',
+                          credentials: 'same-origin',
+                          headers: { 'Content-Type': 'application/json' },
+                          body: JSON.stringify({
+                            baza: baza,
+                            item: selected
+                          })
+                        }).then(function(response) {
+                          return response.json();
+                        }).then(function(result) {
+                          p5UI__notifyAjaxCallback(result)
+                        })
                     }
                 }),
                 document.getElementById('createPracownikAjax__searchBaza')