Piotr Labudda 6 rokov pred
rodič
commit
373cf749ff
2 zmenil súbory, kde vykonal 138 pridanie a 147 odobranie
  1. 25 24
      tools/Bocian.php
  2. 113 123
      tools/Bocian.php.view.js

+ 25 - 24
tools/Bocian.php

@@ -2816,15 +2816,16 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 
 		$pracownicyIds = V::get('pracownicyIds', [], $args, 'uint_array'); // array of int > 0
 		$kontrahenciIds = V::get('kontrahenciIds', [], $args, 'uint_array'); // array of int > 0
-
 		$pozostaleOd = V::get('pozostaleOd', [], $args, 'array');
 		$pozostaleDo = V::get('pozostaleDo', [], $args, 'array');
+		$allOdLength = count($pracownicyIds) + count($pozostaleOd);
+		$allDoLength = count($kontrahenciIds) + count($pozostaleDo);
 
 		// walidacja listy kontrahentów i pracowników
-		if ( empty($kontrahenciIds) && empty($pozostaleDo) && empty($pracownicyIds) && empty($pozostaleOd) ) {
+		if ( !$allOdLength && !$allDoLength ) {
 			throw new Exception("Nie wybrano pozycji do analizy. Wybierz pracowników/kontrahentów.");
 		}
-
+		// TODO: analizaOnlyTargets = ( 'y' | 'n' ) - allDoLength should depend of analizaOnlyTargets?
 
 		// Tworzenie rekrodu w bazie - Raport -
 		$idRaport = DB::getPDO()->insert('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', [
@@ -2859,16 +2860,16 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 				$refListRemotePrimaryKey = $pracownicyIds
 			);
 		} else {
-			$refRaportToPracownicyConfig = ACL::getRefConfig(
-				$rootObjectNamespace = 'default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA',
-				$fieldTypeName = 'default_db__x3A__BI_audit_ENERGA_PRACOWNICY:BI_audit_ENERGA_PRACOWNICY'
-			);
-			DB::getPDO()->execSql("
-				insert into `{$refRaportToPracownicyConfig->tableName}` (`PRIMARY_KEY`,`REMOTE_PRIMARY_KEY`)
-				select {$idRaport} as PRIMARY_KEY, ID as REMOTE_PRIMARY_KEY
-				from `BI_audit_ENERGA_PRACOWNICY`
-				where `A_STATUS` != 'DELETED'
-			");
+			// $refRaportToPracownicyConfig = ACL::getRefConfig(
+			// 	$rootObjectNamespace = 'default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA',
+			// 	$fieldTypeName = 'default_db__x3A__BI_audit_ENERGA_PRACOWNICY:BI_audit_ENERGA_PRACOWNICY'
+			// );
+			// DB::getPDO()->execSql("
+			// 	insert into `{$refRaportToPracownicyConfig->tableName}` (`PRIMARY_KEY`,`REMOTE_PRIMARY_KEY`)
+			// 	select {$idRaport} as PRIMARY_KEY, ID as REMOTE_PRIMARY_KEY
+			// 	from `BI_audit_ENERGA_PRACOWNICY`
+			// 	where `A_STATUS` != 'DELETED'
+			// ");
 		}
 
 		if (!empty($kontrahenciIds)) {
@@ -2879,16 +2880,16 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 				$refListRemotePrimaryKey = $kontrahenciIds
 			);
 		} else {
-			$refRaportToKontrahenciConfig = ACL::getRefConfig(
-				$rootObjectNamespace = 'default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA',
-				$fieldTypeName = 'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI:BI_audit_ENERGA_RUM_KONTRAHENCI'
-			);
-			DB::getPDO()->execSql("
-				insert into `{$refRaportToKontrahenciConfig->tableName}` (`PRIMARY_KEY`,`REMOTE_PRIMARY_KEY`)
-				select '{$idRaport}' as PRIMARY_KEY, ID as REMOTE_PRIMARY_KEY
-				from `BI_audit_ENERGA_RUM_KONTRAHENCI`
-				where `A_STATUS` != 'DELETED'
-			");
+			// $refRaportToKontrahenciConfig = ACL::getRefConfig(
+			// 	$rootObjectNamespace = 'default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA',
+			// 	$fieldTypeName = 'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI:BI_audit_ENERGA_RUM_KONTRAHENCI'
+			// );
+			// DB::getPDO()->execSql("
+			// 	insert into `{$refRaportToKontrahenciConfig->tableName}` (`PRIMARY_KEY`,`REMOTE_PRIMARY_KEY`)
+			// 	select '{$idRaport}' as PRIMARY_KEY, ID as REMOTE_PRIMARY_KEY
+			// 	from `BI_audit_ENERGA_RUM_KONTRAHENCI`
+			// 	where `A_STATUS` != 'DELETED'
+			// ");
 		}
 
 		if (!empty($pozostaleOd)) {
@@ -3206,7 +3207,7 @@ public function showPowiazaniaEnergaRumKontrahenciPowiazania($items) {
 									</div>
 								</div>
 								<div class="form-input">
-									<div class="form-item col-md-7  col-lg-9 smad-heder-title">Czy zwracać wyniki tylko ze znalezionymi obiektami docelowymi(z tabeli kontrahentów)?</div>
+									<div class="form-item col-md-7  col-lg-9 smad-heder-title">Czy zwracać wyniki tylko ze znalezionymi obiektami docelowymi (DO)?</div>
 										<div class="form-item col-md-5  col-lg-3">
 											'.$formSmadSelectTarget.'
 										</div>

+ 113 - 123
tools/Bocian.php.view.js

@@ -17,7 +17,7 @@ var Redux = global.p5VendorJs.Redux;
 var ReduxThunk = global.p5VendorJs.ReduxThunk;
 var createStoreWithThunkMiddleware = Redux.applyMiddleware(ReduxThunk)(Redux.createStore); // TODO: to vendor.js
 var swal = window.swal;
-var globalGraphStore; // global store with Raport cunters
+var globalRaportStore; // global store with Raport cunters
 
 var P5UI__BocianHeader = createReactClass({
 	getStateFromStore: function () {
@@ -534,111 +534,102 @@ function defaultBIAuditLocalStorage() {
 function generateBiAuditRaport(event) {
 	event.preventDefault();
 
-		var pracownicyIdsArray = getItemLocalStorage('Bocian.biAuditForm.pracownicyIds');
-		var kontrahenciIdsArray = getItemLocalStorage('Bocian.biAuditForm.kontrahenciIds');
-		var depthValue = getItemLocalStorage('Bocian.biAuditForm.depth');
-		var smadReaportTitle = getItemLocalStorage('Bocian.biAuditForm.smadReaportTitle');
-		var analizaOnlyTargets = getItemLocalStorage('Bocian.biAuditForm.analizaOnlyTargets');
-		var pozostaleOd = getListFromLocalStorage(getSelectedListLocalStorageKey('OD'));
-		var pozostaleDo = getListFromLocalStorage(getSelectedListLocalStorageKey('DO'));
-
-		// validate
-		if(!smadReaportTitle || smadReaportTitle == '') {
-			p5UI__notifyAjaxCallback({ type: 'error', msg: 'Nie podano tytułu raportu' });
-		} else if (!depthValue || depthValue === 0) {
-			p5UI__notifyAjaxCallback({ type: 'error', msg: 'Nie podano wartości dla głębokości powiązań' });
-		} else if ( (!pracownicyIdsArray || pracownicyIdsArray.length === 0) && (!kontrahenciIdsArray || kontrahenciIdsArray.length === 0)	 ) {
-			p5UI__notifyAjaxCallback({ type: 'error', msg: 'Nie wybrano pozycji do analizy' });
-		} else {
-			var generateReaport = true; // generuj raport
-
-			// if not choise 'pracowniocy' or 'kontrahenci'
-			if ( (!pracownicyIdsArray || pracownicyIdsArray.length === 0)  || (!kontrahenciIdsArray || kontrahenciIdsArray.length === 0) ) {
+	var idsPracownicy = getListFromLocalStorage('Bocian.biAuditForm.pracownicyIds');
+	var idsKontrahenci = getListFromLocalStorage('Bocian.biAuditForm.kontrahenciIds');
+	var pozostaleOd = getListFromLocalStorage(getSelectedListLocalStorageKey('OD'));
+	var pozostaleDo = getListFromLocalStorage(getSelectedListLocalStorageKey('DO'));
+	var allOdLength = idsPracownicy.length + pozostaleOd.length;
+	var allDoLength = idsKontrahenci.length + pozostaleDo.length;
+	var depthValue = getItemLocalStorage('Bocian.biAuditForm.depth');
+	var smadReaportTitle = getItemLocalStorage('Bocian.biAuditForm.smadReaportTitle');
+	var analizaOnlyTargets = getItemLocalStorage('Bocian.biAuditForm.analizaOnlyTargets');
 
-				var messageConfirm = '';
-				// check selected items
-				if ( !pracownicyIdsArray || pracownicyIdsArray.length === 0 ) {
-					messageConfirm = 'Nie wybrano osób! Czas przygotowania raportu może wydłużyć się ze względu na sprawdzenie powiązania ze wszystkimi osobami w systemie. Czy jesteś pewny? ';
-				}
-				if ( !kontrahenciIdsArray || kontrahenciIdsArray.length === 0 )  {
-					messageConfirm = 'Nie wybrano podmiotów/kontrahentów! Czas przygotowania raportu może wydłużyć się ze względu na sprawdzenie powiązania ze wszystkimi podmiotami/kontrahentami w systemie. Czy jesteś pewny? ';
-				}
+	if ( !smadReaportTitle ) {
+		p5UI__notifyAjaxCallback({ type: 'error', msg: 'Nie podano tytułu raportu' });
+		return;
+	}
+	if ( !depthValue ) {
+		p5UI__notifyAjaxCallback({ type: 'error', msg: 'Nie podano wartości dla głębokości powiązań' });
+		return;
+	}
+	if ( !analizaOnlyTargets ) {
+		p5UI__notifyAjaxCallback({ type: 'error', msg: 'Nie podano wartości czy zwracać wyniki tylko z obiektami docelowymi' });
+		return;
+	}
+	if ( !allOdLength ) {
+		p5UI__notifyAjaxCallback({ type: 'error', msg: 'Nie wybrano pozycji OD do analizy (pracownicy lub pozostałe bazy)' });
+		return;
+	}
+	if ( !allOdLength && !allDoLength ) {
+		p5UI__notifyAjaxCallback({ type: 'error', msg: 'Nie wybrano pozycji do analizy' });
+		return;
+	}
 
-				// show confirm window with message
-				if (confirm(messageConfirm)) {
-	    		generateReaport = true;
-				} else { // cancel
-					generateReaport = false;
-				}
-			}
+	// TODO: analizaOnlyTargets = ( 'y' | 'n' ) - allDoLength should depend of analizaOnlyTargets?
 
-			if (generateReaport === true) {
-				// send
-				window.fetch(URL_GENERATE_BI_AUDIT_RAPORT_AJAX, {
-					  method: 'POST',
-					  headers: {
-					    'Content-Type': 'application/json'
-					  },
-						credentials: 'same-origin',
-					  body: JSON.stringify({
-							pracownicyIds: pracownicyIdsArray,
-							kontrahenciIds: kontrahenciIdsArray,
-							pozostaleOd: pozostaleOd,
-							pozostaleDo: pozostaleDo,
-							depthValue: depthValue,
-							smadReaportTitle: smadReaportTitle,
-							analizaOnlyTargets: analizaOnlyTargets
-					  })
-					})
-					.then(function(response) {
-						if(DBG) console.log('Firsst then', response);
+	// if not choise 'pracownicy' or 'kontrahenci'
+	if ( !allOdLength || !allDoLength ) {
+		var messageConfirm = '';
+		if ( !allDoLength )  {
+			messageConfirm = 'Nie wybrano podmiotów/kontrahentów! Czas przygotowania raportu może wydłużyć się ze względu na sprawdzenie powiązania ze wszystkimi podmiotami/kontrahentami w systemie. Czy jesteś pewny? ';
+		}
 
-						return response.text();
-					})
-					.then(function(responseText) {
-						try {
-							return JSON.parse(responseText);
-						} catch (e) {
-							throw responseText;
-						}
-					})
-					.then(function(result) {
-
-						if (result.type == 'success') {
-
-							p5UI__notifyAjaxCallback(result);
-							defaultBIAuditLocalStorage();
-							updateTopCounters();
-							// unchecked checkbox pracownicy
-							$('#smad-table-PRACOWNICY form').find(':checkbox').prop('checked', false);
-							// unchecked checkbox kontrahenci
-							$('#smad-table-KONTRAHENCI form').find(':checkbox').prop('checked', false);
-							//
-							$('#count-selected-item-kontrahenci').text('0');
-							$('#count-selected-item-pracownicy').text('0');
-							$('.bottom--message-warning-critical-search').text('');
-							swal({
-	 								 title: result.msg,
-	 								 html: '<a href="' + BASE_URLS + 'index.php?_route=ViewTableAjax&amp;namespace=default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA" title="przejdź do raportów" >Przejdź do raportów</a>',
-	 								 allowOutsideClick: false, // TODO: btn Anuluj na dole?
-	 								 showCloseButton: true,
-	 								 confirmButtonText: 'OK',
-	 	 						});
-
-							window.setTimeout(URL_TABLE_POWIAZANIA, 6000);
-							resolve(result.msg);
-
-
-						} else {
-							reject(result.msg);
-						}
-					})
-					.catch(function(error) {
-						if(DBG) console.log('request failed', error);
-					});
-			}
+		// show confirm window with message
+		if (!confirm(messageConfirm)) return;
+	}
 
+	window.fetch(URL_GENERATE_BI_AUDIT_RAPORT_AJAX, {
+		method: 'POST',
+		headers: {
+			'Content-Type': 'application/json'
+		},
+		credentials: 'same-origin',
+		body: JSON.stringify({
+			pracownicyIds: idsPracownicy,
+			kontrahenciIds: idsKontrahenci,
+			pozostaleOd: pozostaleOd,
+			pozostaleDo: pozostaleDo,
+			depthValue: depthValue,
+			smadReaportTitle: smadReaportTitle,
+			analizaOnlyTargets: analizaOnlyTargets
+	  })
+	})
+	.then(function(response) {
+		return response.text();
+	})
+	.then(function(responseText) {
+		try {
+			return JSON.parse(responseText);
+		} catch (e) {
+			throw responseText;
 		}
+	})
+	.then(function(result) {
+		if (result.type == 'success') {
+			p5UI__notifyAjaxCallback(result);
+			defaultBIAuditLocalStorage();
+			updateTopCounters();
+			$('#smad-table-PRACOWNICY form').find(':checkbox').prop('checked', false);
+			$('#smad-table-KONTRAHENCI form').find(':checkbox').prop('checked', false);
+			$('#count-selected-item-kontrahenci').text('0');
+			$('#count-selected-item-pracownicy').text('0');
+			$('.bottom--message-warning-critical-search').text('');
+			swal({
+				title: result.msg,
+				html: '<a href="' + BASE_URLS + 'index.php?_route=ViewTableAjax&amp;namespace=default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA" title="przejdź do raportów" >Przejdź do raportów</a>',
+				allowOutsideClick: false, // TODO: btn Anuluj na dole?
+				showCloseButton: true,
+				confirmButtonText: 'OK',
+			});
+			window.setTimeout(URL_TABLE_POWIAZANIA, 6000);
+			resolve(result.msg);
+		} else {
+			reject(result.msg);
+		}
+	})
+	.catch(function(error) {
+		if(DBG) console.log('request failed', error);
+	});
 }
 
 /**
@@ -2321,36 +2312,35 @@ function updateCountItemCheckedByType(typeNameLocalStorage) {
 }
 
 function updateTopCounters() {
-	var countPracownicy = getItemLocalStorage('Bocian.biAuditForm.pracownicyIds');
-	var countKontrahenci = getItemLocalStorage('Bocian.biAuditForm.kontrahenciIds');
-	var totalPracownicy = (countPracownicy) ? Object.keys(countPracownicy).length : 0;
-	var totalKontrahenci = (countKontrahenci) ? Object.keys(countKontrahenci).length : 0;
+	var idsPracownicy = getListFromLocalStorage('Bocian.biAuditForm.pracownicyIds');
+	var idsKontrahenci = getListFromLocalStorage('Bocian.biAuditForm.kontrahenciIds');
+	var pozostaleOd = getListFromLocalStorage(getSelectedListLocalStorageKey('OD'));
+	var pozostaleDo = getListFromLocalStorage(getSelectedListLocalStorageKey('DO'));
+	var allOdLength = idsPracownicy.length + pozostaleOd.length;
+	var allDoLength = idsKontrahenci.length + pozostaleDo.length;
 	var depthValue = getItemLocalStorage('Bocian.biAuditForm.depth');
-	if (globalGraphStore) globalGraphStore.dispatch({
+
+	if (globalRaportStore) globalRaportStore.dispatch({
 		type: 'UPDATE',
-		totalOdPracownicy: totalPracownicy,
-		totalDoKontrahenci: totalKontrahenci,
+		totalOdPracownicy: idsPracownicy.length,
+		totalDoKontrahenci: idsKontrahenci.length,
 	})
 
-	if(DBG) console.warn({totalPracownicy: totalPracownicy, totalKontrahenci: totalKontrahenci})
-	$('.top--count-selected-item-pracownicy').text(totalPracownicy ? '('+totalPracownicy+')' : '');
-	$('.top--count-selected-item-kontrahenci').text(totalKontrahenci ? '('+totalKontrahenci+')' : '');
-	$('.bottom--count-selected-item-pracownicy').text(totalPracownicy ? "Wybrano: (" + totalPracownicy + ") osób" : '');
-	$('.bottom--count-selected-item-kontrahenci').text(totalKontrahenci ? "Wybrano: (" + totalKontrahenci + ") podmiotów/kontrahentaów" : '');
+	if(DBG) console.warn({totalPracownicy: idsPracownicy.length, totalKontrahenci: idsKontrahenci.length})
+	$('.top--count-selected-item-pracownicy').text(idsPracownicy.length ? '('+idsPracownicy.length+')' : '');
+	$('.top--count-selected-item-kontrahenci').text(idsKontrahenci.length ? '('+idsKontrahenci.length+')' : '');
+	$('.bottom--count-selected-item-pracownicy').text(idsPracownicy.length ? "Wybrano: (" + idsPracownicy.length + ") osób" : '');
+	$('.bottom--count-selected-item-kontrahenci').text(idsKontrahenci.length ? "Wybrano: (" + idsKontrahenci.length + ") podmiotów/kontrahentaów" : '');
 
-// disable button generate reaport if not choise 'praconwicy' or 'kontrahenci'
-	if ( totalPracownicy === 0 && totalKontrahenci === 0 ) {
+	// disable button generate reaport if not choise 'praconwicy' or 'kontrahenci'
+	if ( !allOdLength && !allDoLength ) {
 		$('.smad-generate-reaport-button').addClass('disabled');
 	} else {
-
-		if ( ( totalPracownicy === 0 || totalKontrahenci === 0 ) && parseInt(depthValue) > 6) {
+		if ( ( !allOdLength || !allDoLength ) && parseInt(depthValue) > 6 ) {
 			$('.bottom--message-warning-critical-search').text(messageCriticalSearchData);
-			if(DBG) console.log('dodanie komunikatu niżej');
 		} else {
-			if(DBG) console.log('wyczyc komunikatu niżej');
 			$('.bottom--message-warning-critical-search').text('');
 		}
-
 		$('.smad-generate-reaport-button').removeClass('disabled');
 	}
 }
@@ -3007,14 +2997,14 @@ function addToReportByPreviousReport(event) {
 
 
 $(document).ready(function(){
-	globalGraphStore = createStoreWithThunkMiddleware(bocianRaportStore);
+	globalRaportStore = createStoreWithThunkMiddleware(bocianRaportStore);
 
-	global[STORE_NAME] = globalGraphStore;
-	DBG && console.warn('DBG:: SET window[STORE_NAME]', { store: window[STORE_NAME], STORE_NAME: STORE_NAME, globalGraphStore })
+	global[STORE_NAME] = globalRaportStore;
+	DBG && console.warn('DBG:: SET window[STORE_NAME]', { store: window[STORE_NAME], STORE_NAME: STORE_NAME, globalRaportStore })
 
 	ReactDOM.render(
 		h(P5UI__BocianHeader, {
-			store: globalGraphStore
+			store: globalRaportStore
 		}),
 		document.getElementById('bi_audit_header')
 	);