Browse Source

wpisywanie do tabel zgodne z assertami

michalzmijewski 7 năm trước cách đây
mục cha
commit
e5c110e843
2 tập tin đã thay đổi với 263 bổ sung12 xóa
  1. 218 10
      tools/Bocian.php
  2. 45 2
      tools/Bocian.php.addItemToRaport.js

+ 218 - 10
tools/Bocian.php

@@ -266,6 +266,7 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 			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);
+			case 'default_db/BI_audit_taxpayer/BI_audit_taxpayer': return $this->saveVATpToPracownicyAjax($item);
 			case 'default_db/BI_audit_MSIG/BI_audit_MSIG': return $this->saveMSIGToPracownicyAjax($item);
 			case 'default_db/BI_audit_MSIG_person/BI_audit_MSIG_person': return $this->saveMSIGPersonToPracownicyAjax($item);
 			case 'default_db/BI_audit_CEIDG/BI_audit_CEIDG': return $this->saveCEIDGToPracownicyAjax($item);
@@ -293,6 +294,11 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 		$companyNip = V::get('nip', '', $item);
 		$comapanyRegon = V::get('regon', '', $item);
 		$comapanyKrs = V::get('krs', '', $item);
+		$companyStreet = V::get('A_ulica', '', $item);
+		$companyHomeNumber = V::get('A_nrDomu', '', $item);
+		$companyNumber = V::get('A_nrLokalu', '', $item);
+		$companyPostCode = V::get('A_kod', '', $item);
+		$companyCity = V::get('A_miejscowosc', '', $item);
 
 		// validate
 		if (!$companyName) throw new Exception("Nie podano nazwy");
@@ -303,6 +309,11 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 			'nip' => ($companyNip) ? $companyNip : NULL,
 			'regon' => ($comapanyRegon) ? $comapanyRegon : NULL,
 			'krs' => ($comapanyKrs) ? $comapanyKrs : NULL,
+			'ulica' => $companyStreet,
+			'nr' => $companyHomeNumber,
+			'nrLokalu' => $companyNumber,
+			'kodPocztowy' => $companyPostCode,
+			'miejscowosc' => $companyCity,
 			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
 			'A_RECORD_CREATE_DATE' => 'NOW()',
 		]);
@@ -317,6 +328,11 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 		$companyNip = V::get('nip', '', $item);
 		$comapanyRegon = V::get('regon', '', $item);
 		$comapanyKrs = V::get('krs', '', $item);
+		$companyStreet = V::get('A_ulica', '', $item);
+		$companyHomeNumber = V::get('A_nrDomu', '', $item);
+		$companyNumber = V::get('A_nrLokalu', '', $item);
+		$companyPostCode = V::get('A_kod', '', $item);
+		$companyCity = V::get('A_miejscowosc', '', $item);
 
 		// validate
 		if (!$companyName) throw new Exception("Nie podano nazwy");
@@ -327,6 +343,11 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 			'nip' => ($companyNip) ? $companyNip : NULL,
 			'regon' => ($comapanyRegon) ? $comapanyRegon : NULL,
 			'krs' => ($comapanyKrs) ? $comapanyKrs : NULL,
+			'ulica' => $companyStreet,
+			'nr' => $companyHomeNumber,
+			'nrLokalu' => $companyNumber,
+			'kodPocztowy' => $companyPostCode,
+			'miejscowosc' => $companyCity,
 			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
 			'A_RECORD_CREATE_DATE' => 'NOW()',
 		]);
@@ -380,7 +401,46 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 			'type' => "success",
 		];
 	}
-	function saveCEIDGPersonToPracownicyAjax($item) {
+	function saveCEIDGToPracownicyAjax($item) {
+		$personName = V::get('imiona', '', $item);
+		$personSurname = V::get('nazwisko', '', $item);
+		$personEnterprise = V::get('firma','',$item);
+		$personNip = V::get('nip', '', $item);
+		$personRegon = V::get('regon', '', $item);
+		$personLocal = V::get('lokal', '', $item);
+		$personPostalCode = V::get('kodPocztwy', '', $item);
+		$personCity = V::get('miejscowosc', '', $item);
+		$personBuilding = V::get('budynek', '', $item);
+		$personStreet = V::get('ulica', '', $item);
+		$personName.=' ';
+		$personName.=$personEnterprise;
+		$personEnterprise.=' ';
+		$personEnterprise.=$personSurname;
+
+		// 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', [
+			'imie' => $personName,
+			'nazwisko' => $personEnterprise,
+			'ulica' => $personStreet,
+			'nr' => $personBuilding,
+			'nrLokalu' => $personLocal,
+			'kodPocztowy' => $personPostalCode,
+			'miejscowosc' => $personCity,
+			'regon' => ($personRegon) ? $personRegon : NULL,
+			'nip' => ($personNip) ? $personNip : NULL,
+			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
+			'A_RECORD_CREATE_DATE' => 'NOW()',
+		]);
+
+		return [
+			'msg' => "Dodano osobę",
+			'type' => "success",
+		];
+	}
+	function saveVATpToPracownicyAjax($item) {
 		$personName = V::get('imiona', '', $item);
 		$personSurname = V::get('nazwisko', '', $item);
 		$personNip = V::get('nip', '', $item);
@@ -410,16 +470,30 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 		// comapanyRegon: document.getElementById('comapanyRegon').value,
 		$companyName = V::get('companyName', '', $item);
 		$companyNip = V::get('companyNip', '', $item);
-		$comapanyRegon = V::get('comapanyRegon', '', $item);
+		$companyRegon = V::get('companyRegon', '', $item);
+		$companyPesel = V::get('companyPesel', '', $item);
+		$companyStreet = V::get('companyStreet', '', $item);
+		$companyNumber = V::get('companyNumber', '', $item);
+		$companyNumberLocal = V::get('companyNumberLocal', '', $item);
+		$companyPostCode = V::get('companyPostCode', '', $item);
+		$companyCity = V::get('companyCity', '', $item);
+		$companyKrs = V::get('companyKrs', '', $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,
+			'nazwisko' => $companyName,
 			'nip' => ($companyNip) ? $companyNip : NULL,
-			'regon' => ($comapanyRegon) ? $comapanyRegon : NULL,
+			'regon' => ($companyRegon) ? $companyRegon : NULL,
+			'pesel' => $companyPesel,
+			'ulica' => $companyStreet,
+			'nr' => $companyNumber,
+			'nrLokalu' => $companyNumberLocal,
+			'kodPocztowy' => $companyPostCode,
+			'miejscowosc' => $companyCity,
+			'krs' => $companyKrs,
 			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
 			'A_RECORD_CREATE_DATE' => 'NOW()',
 		]);
@@ -467,6 +541,7 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 			case 'default_db/BI_audit_KRS_person/BI_audit_KRS_person': return $this->saveKRSPersonToKontrahenciAjax($item);
 			case 'default_db/BI_audit_ENERGA_RUM_KONTRAHENCI/BI_audit_ENERGA_RUM_KONTRAHENCI': return $this->saveKonrahentToKontrahenciAjax($item);
 			case 'default_db/BI_audit_ENERGA_PRACOWNICY/BI_audit_ENERGA_PRACOWNICY': return $this->savePracownikToKontrahenciAjax($item);
+			case 'default_db/BI_audit_taxpayer/BI_audit_taxpayer': return $this->saveVATpToKontrahenciAjax($item);
 			case 'default_db/BI_audit_MSIG/BI_audit_MSIG': return $this->saveMSIGToKontrahenciAjax($item);
 			case 'default_db/BI_audit_MSIG_person/BI_audit_MSIG_person': return $this->saveMSIGPersonToKontrahenciAjax($item);
 			case 'default_db/BI_audit_CEIDG/BI_audit_CEIDG': return $this->saveCEIDGToKontrahenciAjax($item);
@@ -476,8 +551,14 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 	function saveKRSToKontrahenciAjax($item) {
 		$companyName = V::get('nazwa', '', $item);
 		$companyNip = V::get('nip', '', $item);
-		$comapanyRegon = V::get('regon', '', $item);
-		$comapanyKrs = V::get('krs', '', $item);
+		$companyRegon = V::get('regon', '', $item);
+		$companyKrs = V::get('krs', '', $item);
+		$companyStreet = V::get('A_ulica', '', $item);
+		$companyNumberBuilding = V::get('A_nrDomu', '', $item);
+		$companyNumberLocal = V::get('A_nrLokalu', '', $item);
+		$companyPostCode = V::get('A_kod', '', $item);
+		$companyCountry = V::get('A_kraj', '', $item);
+		$companyCity = V::get('A_miejscowosc', '', $item);
 
 		// validate
 		if (!$companyName) throw new Exception("Nie podano nazwy");
@@ -486,8 +567,14 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 		$idOd = DB::getPDO()->insert('BI_audit_ENERGA_RUM_KONTRAHENCI', [
 			'Pelna_nazwa_kontrahenta' => $companyName,
 			'NIP' => ($companyNip) ? $companyNip : NULL,
-			'REGON' => ($comapanyRegon) ? $comapanyRegon : NULL,
-			'KRS' => ($comapanyKrs) ? $comapanyKrs : NULL,
+			'REGON' => ($companyRegon) ? $companyRegon : NULL,
+			'KRS' => ($companyKrs) ? $companyKrs : NULL,
+			'Ulica' => $companyStreet,
+			'Numer_mieszkania_lokalu' => $companyNumberLocal,
+			'Numer_budynku' => $companyNumberBuilding,
+			'Kod_pocztowy' => $companyPostCode,
+			'Miejscowosc' => $companyCity,
+			'Kraj' => $companyCountry,
 			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
 			'A_RECORD_CREATE_DATE' => 'NOW()',
 		]);
@@ -502,6 +589,12 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 		$companyNip = V::get('nip', '', $item);
 		$comapanyRegon = V::get('regon', '', $item);
 		$comapanyKrs = V::get('krs', '', $item);
+		$companyStreet = V::get('A_ulica', '', $item);
+		$companyNumberBuilding = V::get('A_nrDomu', '', $item);
+		$companyNumberLocal = V::get('A_nrLokalu', '', $item);
+		$companyPostCode = V::get('A_kod', '', $item);
+		$companyCountry = V::get('A_kraj', '', $item);
+		$companyCity = V::get('A_miejscowosc', '', $item);
 
 		// validate
 		if (!$companyName) throw new Exception("Nie podano nazwy");
@@ -512,6 +605,12 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 			'NIP' => ($companyNip) ? $companyNip : NULL,
 			'REGON' => ($comapanyRegon) ? $comapanyRegon : NULL,
 			'KRS' => ($comapanyKrs) ? $comapanyKrs : NULL,
+			'Ulica' => $companyStreet,
+			'Numer_mieszkania_lokalu' => $companyNumberLocal,
+			'Numer_budynku' => $companyNumberBuilding,
+			'Kod_pocztowy' => $companyPostCode,
+			'Miejscowosc' => $companyCity,
+			'Kraj' => $companyCountry,
 			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
 			'A_RECORD_CREATE_DATE' => 'NOW()',
 		]);
@@ -525,17 +624,34 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 		$personFirstName = V::get('imie', '', $item);
 		$personLastName = V::get('nazwisko', '', $item);
 		$personNip = V::get('nip', '', $item);
-		$personRegon = V::get('regon', '', $item);
+		$personEnterprise = V::get('firma', '', $item);
+		$personStreet = V::get('ulica', '', $item);
+		$personNumber = V::get('budynek', '', $item);
+		$personNumberLocal = V::get('lokal', '', $item);
+		$personPostalCode = V::get('kodPocztowy', '', $item);
+		$personCity = V::get('miejscowosc', '', $item);
+		$personCountry = V::get('kraj', '', $item);
+		$personFirstName .= ' ';
+		$personFirstName .= $personEnterprise;
+		$personEnterprise .= ' ';
+		$personEnterprise .= $personLastName;
+
 
 		// validate
 		if (!$personFirstName) throw new Exception("Nie podano nazwy");
 		if (!$personNip) throw new Exception("Nie podano nip");
 
 		$idOd = DB::getPDO()->insert('BI_audit_ENERGA_RUM_KONTRAHENCI', [
-			'Pelna_nazwa_kontrahenta' => $personFirstName,
+			'Pelna_nazwa_kontrahenta' => $personEnterprise,
 			'Skrocona_Nazwa_Kontrahenta' => $personFirstName,
 			'NIP' => ($personNip) ? $personNip : NULL,
 			'REGON' => ($personRegon) ? $personRegon : NULL,
+			'Ulica' => $personStreet,
+			'Numer_mieszkania_lokalu' => $personNumber,
+			'Numer_budynku' => $personNumber,
+			'Kod_pocztowy' => $personPostalCode,
+			'Miejscowosc' => $personCity,
+			'Kraj' => $personCountry,
 			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
 			'A_RECORD_CREATE_DATE' => 'NOW()',
 		]);
@@ -589,6 +705,28 @@ TODO: dodać możliwość wysyłania maila używajac mail()
 			'type' => "success",
 		];
 	}
+	function saveVATpToKontrahenciAjax($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_RUM_KONTRAHENCI', [
+			'Skrocona_Nazwa_Kontrahenta' => $personName,
+			'Pelna_nazwa_kontrahenta' => $personSurname,
+			'PESEL' => ($personPesel) ? $personPesel : NULL,
+			'A_RECORD_CREATE_AUTHOR' => User::getLogin(),
+			'A_RECORD_CREATE_DATE' => 'NOW()',
+		]);
+
+		return [
+			'msg' => "Dodano osobę",
+			'type' => "success",
+		];
+	}
 	function saveKonrahentToKontrahenciAjax($item) {
 		// companyName: document.getElementById('companyName').value,
 		// companyNip: document.getElementById('companyNip').value,
@@ -1338,6 +1476,7 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 			case 'default_db/BI_audit_KRS_person/BI_audit_KRS_person': return $this->fetchFromKRSPerson($query);
 			case 'default_db/BI_audit_MSIG/BI_audit_MSIG': return $this->fetchFromMSIG($query);
 			case 'default_db/BI_audit_MSIG_person/BI_audit_MSIG_person': return $this->fetchFromMSIGPerson($query);
+			case 'default_db/BI_audit_taxpayer/BI_audit_taxpayer': return $this->fetchFromVATp($query);
 			case 'default_db/BI_audit_CEIDG/BI_audit_CEIDG': return $this->fetchFromCEIDG($query);
 
 		}
@@ -1497,6 +1636,75 @@ function fetchFromKRS($query){
 			];
 		}
 
+		function fetchFromVATp($query){
+				$ogcSearch = "*{$query}*";
+				$searchParams = [];
+				$searchParams['ogc:Filter'] = '
+					<ogc:Filter>
+						<ogc:Or>
+							<ogc:PropertyIsLike wildCard="*" singleChar="%23" escapeChar="!">
+								<ogc:PropertyName>nazwisko</ogc:PropertyName>
+								<ogc:Literal>' . $ogcSearch . '</ogc:Literal>
+							</ogc:PropertyIsLike>
+							<ogc:PropertyIsLike wildCard="*" singleChar="%23" escapeChar="!">
+								<ogc:PropertyName>imiona</ogc:PropertyName>
+								<ogc:Literal>' . $ogcSearch . '</ogc:Literal>
+							</ogc:PropertyIsLike>
+							<ogc:PropertyIsLike wildCard="*" singleChar="%23" escapeChar="!">
+								<ogc:PropertyName>pesel</ogc:PropertyName>
+								<ogc:Literal>' . $ogcSearch . '</ogc:Literal>
+							</ogc:PropertyIsLike>
+						</ogc:Or>
+					</ogc:Filter>
+				';
+				$items = ACL::getAclByNamespace('default_db/BI_audit_taxpayer/BI_audit_taxpayer')->buildQuery(array_merge([
+					'cols' => [ // TODO:? propertyName = []
+						'nip',
+						'ID',
+						// 'dataDokumentu',
+						// 'default_db__x3A__BI_audit_KRS_company:BI_audit_KRS_company/ID',
+						// 'default_db__x3A__BI_audit_KRS_company:BI_audit_KRS_company/krs',
+						// 'default_db__x3A__BI_audit_KRS_company:BI_audit_KRS_company/nazwa',
+						// 'default_db__x3A__BI_audit_KRS_company:BI_audit_KRS_company/regon',
+						// 'default_db__x3A__BI_audit_KRS_person:BI_audit_KRS_person/ID',
+						// 'default_db__x3A__BI_audit_KRS_person:BI_audit_KRS_person/imiona',
+						// 'default_db__x3A__BI_audit_KRS_person:BI_audit_KRS_person/nazwisko',
+						// 'default_db__x3A__BI_audit_KRS_person:BI_audit_KRS_person/pesel',
+					],
+					// 'f_ID' => "{$id}",
+				], $searchParams))->getItems([
+					'limit' => 10
+				]);
+				DBG::log($items, 'array', "DBG: items query({$query}) from '{$baza}'");
+
+				return [
+					'type' => 'success',
+					'msg' => 'KRS person',
+					'__args' => $args,
+					'body' => [
+						'items' => array_map(function ($item) {
+							//$nazwa = str_replace([ '"', "'" ], '', $item['nazwa']);
+							//$nazwa = $item['nazwisko'];
+							//$item['nazwa'] = $nazwa;
+							$item['label'] = "{$item['nip']}";
+							// 'searchLabel' => "{$item['nazwa']}, {$item['A_miejscowosc']}, {$item['krs']}, {$item['nip']}, {$item['regon']}",
+
+							return $item;
+
+							// return [
+							// 	'ID' => $item['ID'],
+							// 	'nazwa' => $shortNazwa,
+							// 	'nip' => $item['nip'],
+							// 	'krs' => $item['krs'],
+							// 	'regon' => $item['regon'],
+							// 	'S_miejscowosc' => $item['S_miejscowosc'],
+							// 	'label' => "{$nazwa}, {$item['A_miejscowosc']}, {$item['krs']}, {$item['nip']}, {$item['regon']}",
+							// ];
+						}, $items),
+					]
+				];
+			}
+
 		function fetchFromMSIG($query){
 				$ogcSearch = "*{$query}*";
 				$searchParams = [];

+ 45 - 2
tools/Bocian.php.addItemToRaport.js

@@ -307,6 +307,36 @@ var P5UI_AddItemToReport = createReactClass({
                 id:'companyName',
                 placeholder:'Nazwa'
               }),
+              h('input',{
+                className:'form-control required',
+                id:'companyPesel',
+                placeholder:'Pesel'
+              }),
+              h('input',{
+                className:'form-control required',
+                id:'companyStreet',
+                placeholder:'Ulica'
+              }),
+              h('input',{
+                className:'form-control required',
+                id:'companyNumber',
+                placeholder:'Numer budynku'
+              }),
+              h('input',{
+                className:'form-control required',
+                id:'companyNumberLocal',
+                placeholder:'Numer lokalu'
+              }),
+              h('input',{
+                className:'form-control required',
+                id:'companyPostCode',
+                placeholder:'Kod pocztowy'
+              }),
+              h('input',{
+                className:'form-control required',
+                id:'companyCity',
+                placeholder:'Miejscowosc'
+              }),
               h('input',{
                 className:'form-control required',
                 id:'companyNip',
@@ -314,14 +344,27 @@ var P5UI_AddItemToReport = createReactClass({
               }),
               h('input',{
                 className:'form-control',
-                id:'comapanyRegon',
+                id:'comapnyRegon',
                 placeholder:'REGON'
               }),
+              h('input',{
+                className:'form-control',
+                id:'companyKrs',
+                placeholder:'KRS'
+              }),
               h('button', { className: "btn btn-primary", onClick: function () {
                 _onSelect(selectedNewItemBaza, {
                   companyName: document.getElementById('companyName').value,
                   companyNip: document.getElementById('companyNip').value,
-                  comapanyRegon: document.getElementById('comapanyRegon').value,
+                  companyRegon: document.getElementById('companyRegon').value,
+                  companyPesel: document.getElementById('companyPesel').value,
+                  companyStreet: document.getElementById('companyStreet').value,
+                  companyNumber: document.getElementById('companyNumber').value,
+                  companyNumberLocal: document.getElementById('companyNumberLocal').value,
+                  companyPostCode: document.getElementById('companyPostCode').value,
+                  companyCity: document.getElementById('companyCity').value,
+                  companyKrs: document.getElementById('companyKrs').value,
+
                 })
               }.bind(this) }, "Dodaj podmiot")
             ]),