|
@@ -169,128 +169,128 @@ source.form['checkAll'].checked = all;
|
|
|
-->
|
|
-->
|
|
|
</script>
|
|
</script>
|
|
|
<?php
|
|
<?php
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-private function initializePowiazaniaSave() {
|
|
|
|
|
- $prID = V::get('prID', array(), $_POST);
|
|
|
|
|
- if (!$prID) throw new Exception("Nie wybrano żadnego pracownika!");
|
|
|
|
|
-
|
|
|
|
|
- $acl = Core_AclHelper::getAclByNamespace('default_db/BI_audit_ENERGA_RUM_KONTRAHENCI/BI_audit_ENERGA_RUM_KONTRAHENCI');
|
|
|
|
|
- $queryFeatures = $acl->buildQuery(['limit' => 0, 'cols' => ['ID']]);
|
|
|
|
|
- $kontrahenci = $queryFeatures->getItems();
|
|
|
|
|
-
|
|
|
|
|
- $acl = Core_AclHelper::getAclByNamespace('default_db/BI_audit_KW_requested_person/BI_audit_KW_requested_person');
|
|
|
|
|
- $queryFeatures = $acl->buildQuery(['limit' => 0, 'cols' => ['ID']]);
|
|
|
|
|
- $requestedPersons = $queryFeatures->getItems();
|
|
|
|
|
-
|
|
|
|
|
- if (!($kontrahenci || $requestedPersons)) throw new Exception("Nie znaleziono żadnego obiektu końcowego");
|
|
|
|
|
-
|
|
|
|
|
- $sqlUpdate = ['FILE_STATUS' => 'TO_GENERATE'];
|
|
|
|
|
-
|
|
|
|
|
- $reloadCache = V::get('reloadCache', 'No', $_POST);
|
|
|
|
|
- $reloadCacheAvailable = ['Full', 'Part', 'No'];
|
|
|
|
|
- if (!in_array($reloadCache, $reloadCacheAvailable)) throw new Exception("Błąd formularza!");
|
|
|
|
|
- $sqlUpdate['BI_analiza_reloadCache'] = $reloadCache;
|
|
|
|
|
-
|
|
|
|
|
- $query = "select count(*) from BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA where BI_analiza_reloadCache in ('Full', 'Part')";
|
|
|
|
|
- $result = DB::getPDO()->fetchValue($query);
|
|
|
|
|
- if ($result) $sqlUpdate['FILE_STATUS_info'] = 'Oczekuje na odświeżenie cache (wymagane dla innego rekordu)';
|
|
|
|
|
- elseif ($reloadCache != 'No') $sqlUpdate['FILE_STATUS_info'] = 'Oczekuje na odświeżenie cache';
|
|
|
|
|
- else $sqlUpdate['FILE_STATUS_info'] = "Oczekuje na wygenerowanie powiązań";
|
|
|
|
|
-
|
|
|
|
|
- if ($this->powiazanie) { // wyzwolone z poziomu tabeli BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA - aktualizujemy istniejący rekord
|
|
|
|
|
- $powiazanieID = $this->powiazanie['ID'];
|
|
|
|
|
- } else { // wyzwolone z poziomu tabeli BI_audit_ENERGA_PRACOWNICY - dodajemy nowy rekord
|
|
|
|
|
- if (count($prID) != 1) throw new Exception("Błąd formularza!");
|
|
|
|
|
- if (!($lAppoitmentInfo = V::get('info', false, $_POST))) throw new Exception("Błąd formularza!");
|
|
|
|
|
- if (!($BiAnalizaMinDepth = V::get('minDepth', false, $_POST))) throw new Exception("Błąd formularza!");
|
|
|
|
|
- if (!($BiAnalizaMaxDepth = V::get('maxDepth', false, $_POST))) throw new Exception("Błąd formularza!");
|
|
|
|
|
- if (!($BiAnalizaOnlyTargets = V::get('onlyTargets', false, $_POST))) throw new Exception("Błąd formularza!");
|
|
|
|
|
- $query = "select * from BI_audit_ENERGA_PRACOWNICY where ID='{$prID[0]}'";
|
|
|
|
|
- $result = DB::getPDO()->fetchFirst($query);
|
|
|
|
|
- if (!$result) throw new Exception("Błąd formularza!");
|
|
|
|
|
- $sqlInsert = [
|
|
|
|
|
- 'L_APPOITMENT_INFO' => $lAppoitmentInfo,
|
|
|
|
|
- 'A_STATUS' => 'NORMAL',
|
|
|
|
|
- 'A_STATUS_INFO' => 'Dodane przez BiAuditGenerate z poziomu tabeli BI_audit_ENERGA_PRACOWNICY',
|
|
|
|
|
- 'A_ADM_COMPANY' => $result['A_ADM_COMPANY'],
|
|
|
|
|
- 'A_CLASSIFIED' => $result['A_CLASSIFIED'],
|
|
|
|
|
- 'FILE_STATUS' => 'NONE',
|
|
|
|
|
- 'FILE_STATUS_info' => 'Oczekuję na zdefiniowanie danych wejściowych',
|
|
|
|
|
- 'BI_analiza_reloadCache' => $sqlUpdate['BI_analiza_reloadCache'],
|
|
|
|
|
- 'BI_analiza_minDepth' => $BiAnalizaMinDepth,
|
|
|
|
|
- 'BI_analiza_maxDepth' => $BiAnalizaMaxDepth,
|
|
|
|
|
- 'BI_analiza_onlyTargets' => $BiAnalizaOnlyTargets,
|
|
|
|
|
- ];
|
|
|
|
|
- $powiazanieID = DB::getDB()->ADD_NEW_OBJ('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', (object)$sqlInsert);
|
|
|
|
|
- if ($powiazanieID) SE_Layout::alert('success','Dodano rekord do wygenerowania powiązań');
|
|
|
|
|
- else throw new Exception("Wystąpił nieznany błąd @initializePowiazaniaSave");
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- $sqlUpdate['ID'] = $powiazanieID;
|
|
|
|
|
|
|
+ private function initializePowiazaniaSave() {
|
|
|
|
|
+ $prID = V::get('prID', array(), $_POST);
|
|
|
|
|
+ if (!$prID) throw new Exception("Nie wybrano żadnego pracownika!");
|
|
|
|
|
+
|
|
|
|
|
+ $acl = Core_AclHelper::getAclByNamespace('default_db/BI_audit_ENERGA_RUM_KONTRAHENCI/BI_audit_ENERGA_RUM_KONTRAHENCI');
|
|
|
|
|
+ $queryFeatures = $acl->buildQuery(['limit' => 0, 'cols' => ['ID']]);
|
|
|
|
|
+ $kontrahenci = $queryFeatures->getItems();
|
|
|
|
|
+
|
|
|
|
|
+ $acl = Core_AclHelper::getAclByNamespace('default_db/BI_audit_KW_requested_person/BI_audit_KW_requested_person');
|
|
|
|
|
+ $queryFeatures = $acl->buildQuery(['limit' => 0, 'cols' => ['ID']]);
|
|
|
|
|
+ $requestedPersons = $queryFeatures->getItems();
|
|
|
|
|
+
|
|
|
|
|
+ if (!($kontrahenci || $requestedPersons)) throw new Exception("Nie znaleziono żadnego obiektu końcowego");
|
|
|
|
|
+
|
|
|
|
|
+ $sqlUpdate = ['FILE_STATUS' => 'TO_GENERATE'];
|
|
|
|
|
+
|
|
|
|
|
+ $reloadCache = V::get('reloadCache', 'No', $_POST);
|
|
|
|
|
+ $reloadCacheAvailable = ['Full', 'Part', 'No'];
|
|
|
|
|
+ if (!in_array($reloadCache, $reloadCacheAvailable)) throw new Exception("Błąd formularza!");
|
|
|
|
|
+ $sqlUpdate['BI_analiza_reloadCache'] = $reloadCache;
|
|
|
|
|
+
|
|
|
|
|
+ $query = "select count(*) from BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA where BI_analiza_reloadCache in ('Full', 'Part')";
|
|
|
|
|
+ $result = DB::getPDO()->fetchValue($query);
|
|
|
|
|
+ if ($result) $sqlUpdate['FILE_STATUS_info'] = 'Oczekuje na odświeżenie cache (wymagane dla innego rekordu)';
|
|
|
|
|
+ elseif ($reloadCache != 'No') $sqlUpdate['FILE_STATUS_info'] = 'Oczekuje na odświeżenie cache';
|
|
|
|
|
+ else $sqlUpdate['FILE_STATUS_info'] = "Oczekuje na wygenerowanie powiązań";
|
|
|
|
|
+
|
|
|
|
|
+ if ($this->powiazanie) { // wyzwolone z poziomu tabeli BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA - aktualizujemy istniejący rekord
|
|
|
|
|
+ $powiazanieID = $this->powiazanie['ID'];
|
|
|
|
|
+ } else { // wyzwolone z poziomu tabeli BI_audit_ENERGA_PRACOWNICY - dodajemy nowy rekord
|
|
|
|
|
+ if (count($prID) != 1) throw new Exception("Błąd formularza!");
|
|
|
|
|
+ if (!($lAppoitmentInfo = V::get('info', false, $_POST))) throw new Exception("Błąd formularza!");
|
|
|
|
|
+ if (!($BiAnalizaMinDepth = V::get('minDepth', false, $_POST))) throw new Exception("Błąd formularza!");
|
|
|
|
|
+ if (!($BiAnalizaMaxDepth = V::get('maxDepth', false, $_POST))) throw new Exception("Błąd formularza!");
|
|
|
|
|
+ if (!($BiAnalizaOnlyTargets = V::get('onlyTargets', false, $_POST))) throw new Exception("Błąd formularza!");
|
|
|
|
|
+ $query = "select * from BI_audit_ENERGA_PRACOWNICY where ID='{$prID[0]}'";
|
|
|
|
|
+ $result = DB::getPDO()->fetchFirst($query);
|
|
|
|
|
+ if (!$result) throw new Exception("Błąd formularza!");
|
|
|
|
|
+ $sqlInsert = [
|
|
|
|
|
+ 'L_APPOITMENT_INFO' => $lAppoitmentInfo,
|
|
|
|
|
+ 'A_STATUS' => 'NORMAL',
|
|
|
|
|
+ 'A_STATUS_INFO' => 'Dodane przez BiAuditGenerate z poziomu tabeli BI_audit_ENERGA_PRACOWNICY',
|
|
|
|
|
+ 'A_ADM_COMPANY' => $result['A_ADM_COMPANY'],
|
|
|
|
|
+ 'A_CLASSIFIED' => $result['A_CLASSIFIED'],
|
|
|
|
|
+ 'FILE_STATUS' => 'NONE',
|
|
|
|
|
+ 'FILE_STATUS_info' => 'Oczekuję na zdefiniowanie danych wejściowych',
|
|
|
|
|
+ 'BI_analiza_reloadCache' => $sqlUpdate['BI_analiza_reloadCache'],
|
|
|
|
|
+ 'BI_analiza_minDepth' => $BiAnalizaMinDepth,
|
|
|
|
|
+ 'BI_analiza_maxDepth' => $BiAnalizaMaxDepth,
|
|
|
|
|
+ 'BI_analiza_onlyTargets' => $BiAnalizaOnlyTargets,
|
|
|
|
|
+ ];
|
|
|
|
|
+ $powiazanieID = DB::getDB()->ADD_NEW_OBJ('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', (object)$sqlInsert);
|
|
|
|
|
+ if ($powiazanieID) SE_Layout::alert('success','Dodano rekord do wygenerowania powiązań');
|
|
|
|
|
+ else throw new Exception("Wystąpił nieznany błąd @initializePowiazaniaSave");
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- self::truncatePowiazaniaFromDB($powiazanieID);
|
|
|
|
|
|
|
+ $sqlUpdate['ID'] = $powiazanieID;
|
|
|
|
|
|
|
|
- $refPowiazaniaToPracownicy = BiAuditRefTables::getRefTable('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', 'BI_audit_ENERGA_PRACOWNICY', true);
|
|
|
|
|
- foreach ($prID as $v) DB::getPDO()->insert($refPowiazaniaToPracownicy, ['PRIMARY_KEY' => $powiazanieID, 'REMOTE_PRIMARY_KEY' => $v]);
|
|
|
|
|
|
|
+ self::truncatePowiazaniaFromDB($powiazanieID);
|
|
|
|
|
|
|
|
- $refPowiazaniaToKontrahenci = BiAuditRefTables::getRefTable('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', 'BI_audit_ENERGA_RUM_KONTRAHENCI', true);
|
|
|
|
|
- foreach ($kontrahenci as $kontrahent) DB::getPDO()->insert($refPowiazaniaToKontrahenci, ['PRIMARY_KEY' => $powiazanieID, 'REMOTE_PRIMARY_KEY' => $kontrahent['ID']]);
|
|
|
|
|
|
|
+ $refPowiazaniaToPracownicy = BiAuditRefTables::getRefTable('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', 'BI_audit_ENERGA_PRACOWNICY', true);
|
|
|
|
|
+ foreach ($prID as $v) DB::getPDO()->insert($refPowiazaniaToPracownicy, ['PRIMARY_KEY' => $powiazanieID, 'REMOTE_PRIMARY_KEY' => $v]);
|
|
|
|
|
|
|
|
- $refPowiazaniaToKwRequestedPreson = BiAuditRefTables::getRefTable('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', 'BI_audit_KW_requested_person', true);
|
|
|
|
|
- foreach ($requestedPersons as $requestedPerson) DB::getPDO()->insert($refPowiazaniaToKwRequestedPreson, ['PRIMARY_KEY' => $powiazanieID, 'REMOTE_PRIMARY_KEY' => $requestedPerson['ID']]);
|
|
|
|
|
|
|
+ $refPowiazaniaToKontrahenci = BiAuditRefTables::getRefTable('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', 'BI_audit_ENERGA_RUM_KONTRAHENCI', true);
|
|
|
|
|
+ foreach ($kontrahenci as $kontrahent) DB::getPDO()->insert($refPowiazaniaToKontrahenci, ['PRIMARY_KEY' => $powiazanieID, 'REMOTE_PRIMARY_KEY' => $kontrahent['ID']]);
|
|
|
|
|
|
|
|
- $affected = DB::getDB()->UPDATE_OBJ('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', $sqlUpdate);
|
|
|
|
|
- if ($affected) {
|
|
|
|
|
- if ($this->powiazanie) {
|
|
|
|
|
- SE_Layout::alert('success','Oznaczono rekord do wygenerowania powiązań');
|
|
|
|
|
|
|
+ $refPowiazaniaToKwRequestedPreson = BiAuditRefTables::getRefTable('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', 'BI_audit_KW_requested_person', true);
|
|
|
|
|
+ foreach ($requestedPersons as $requestedPerson) DB::getPDO()->insert($refPowiazaniaToKwRequestedPreson, ['PRIMARY_KEY' => $powiazanieID, 'REMOTE_PRIMARY_KEY' => $requestedPerson['ID']]);
|
|
|
|
|
+
|
|
|
|
|
+ $affected = DB::getDB()->UPDATE_OBJ('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', $sqlUpdate);
|
|
|
|
|
+ if ($affected) {
|
|
|
|
|
+ if ($this->powiazanie) {
|
|
|
|
|
+ SE_Layout::alert('success','Oznaczono rekord do wygenerowania powiązań');
|
|
|
?>
|
|
?>
|
|
|
<div class="container" style="text-align:center">
|
|
<div class="container" style="text-align:center">
|
|
|
<a href="<?=$this->REFERER?>" class="btn btn-primary">Powrót</a>
|
|
<a href="<?=$this->REFERER?>" class="btn btn-primary">Powrót</a>
|
|
|
</div>
|
|
</div>
|
|
|
<?php
|
|
<?php
|
|
|
- }
|
|
|
|
|
- } else throw new Exception("Wystąpił nieznany błąd @initializePowiazaniaSave");
|
|
|
|
|
-}
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ } else throw new Exception("Wystąpił nieznany błąd @initializePowiazaniaSave");
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
-private function initializePowiazania() {
|
|
|
|
|
- switch (V::get('action', '', $_POST)) {
|
|
|
|
|
- case "initialize":
|
|
|
|
|
- $this->initializePowiazaniaSave();
|
|
|
|
|
- break;
|
|
|
|
|
- default:
|
|
|
|
|
- $this->initializePowiazaniaForm();
|
|
|
|
|
|
|
+ private function initializePowiazania() {
|
|
|
|
|
+ switch (V::get('action', '', $_POST)) {
|
|
|
|
|
+ case "initialize":
|
|
|
|
|
+ $this->initializePowiazaniaSave();
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ $this->initializePowiazaniaForm();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
|
|
|
|
|
-private function showPowiazania() {
|
|
|
|
|
|
|
+ private function showPowiazania() {
|
|
|
// echo "Statystyki znalezionych powiązań [TODO]";
|
|
// echo "Statystyki znalezionych powiązań [TODO]";
|
|
|
- $dir = self::getDirectory('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', $this->powiazanie['ID']);
|
|
|
|
|
- $url = self::getUrl('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', $this->powiazanie['ID']);
|
|
|
|
|
-
|
|
|
|
|
- $reports = [
|
|
|
|
|
- 'pdf' => [
|
|
|
|
|
- 'files' => glob("{$dir}/relations*.pdf"),
|
|
|
|
|
- 'label' => 'Raporty PDF:<br/> ',
|
|
|
|
|
- 'button' => 'Pokaż raport PDF',
|
|
|
|
|
- 'regex' => "/^relations(-{$this->powiazanie['ID']})?_([[:digit:]]+)\.pdf$/",
|
|
|
|
|
- 'parentDir' => false,
|
|
|
|
|
- ],
|
|
|
|
|
- 'html' => [
|
|
|
|
|
- 'files' => glob("{$dir}/html*/relations-{$this->powiazanie['ID']}*.html"),
|
|
|
|
|
- 'label' => 'Raporty HTML<br/>do przeglądania:',
|
|
|
|
|
- 'button' => 'Pokaż raport HTML',
|
|
|
|
|
- 'regex' => "/^relations-({$this->powiazanie['ID']})_([[:digit:]]+)\.html$/",
|
|
|
|
|
- 'parentDir' => true,
|
|
|
|
|
- ],
|
|
|
|
|
- 'htmlZip' => [
|
|
|
|
|
- 'files' => glob("{$dir}/html*.zip"),
|
|
|
|
|
- 'label' => 'Raporty HTML<br/>do pobrania:',
|
|
|
|
|
- 'button' => 'Pobież raport HTML',
|
|
|
|
|
- 'regex' => "/^html(-{$this->powiazanie['ID']})?_([[:digit:]]+)\.zip$/",
|
|
|
|
|
- 'parentDir' => false,
|
|
|
|
|
- ],
|
|
|
|
|
- ];
|
|
|
|
|
|
|
+ $dir = self::getDirectory('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', $this->powiazanie['ID']);
|
|
|
|
|
+ $url = self::getUrl('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', $this->powiazanie['ID']);
|
|
|
|
|
+
|
|
|
|
|
+ $reports = [
|
|
|
|
|
+ 'pdf' => [
|
|
|
|
|
+ 'files' => glob("{$dir}/relations*.pdf"),
|
|
|
|
|
+ 'label' => 'Raporty PDF:<br/> ',
|
|
|
|
|
+ 'button' => 'Pokaż raport PDF',
|
|
|
|
|
+ 'regex' => "/^relations(-{$this->powiazanie['ID']})?_([[:digit:]]+)\.pdf$/",
|
|
|
|
|
+ 'parentDir' => false,
|
|
|
|
|
+ ],
|
|
|
|
|
+ 'html' => [
|
|
|
|
|
+ 'files' => glob("{$dir}/html*/relations-{$this->powiazanie['ID']}*.html"),
|
|
|
|
|
+ 'label' => 'Raporty HTML<br/>do przeglądania:',
|
|
|
|
|
+ 'button' => 'Pokaż raport HTML',
|
|
|
|
|
+ 'regex' => "/^relations-({$this->powiazanie['ID']})_([[:digit:]]+)\.html$/",
|
|
|
|
|
+ 'parentDir' => true,
|
|
|
|
|
+ ],
|
|
|
|
|
+ 'htmlZip' => [
|
|
|
|
|
+ 'files' => glob("{$dir}/html*.zip"),
|
|
|
|
|
+ 'label' => 'Raporty HTML<br/>do pobrania:',
|
|
|
|
|
+ 'button' => 'Pobież raport HTML',
|
|
|
|
|
+ 'regex' => "/^html(-{$this->powiazanie['ID']})?_([[:digit:]]+)\.zip$/",
|
|
|
|
|
+ 'parentDir' => false,
|
|
|
|
|
+ ],
|
|
|
|
|
+ ];
|
|
|
?>
|
|
?>
|
|
|
<div class="container" style="margin-top:20px">
|
|
<div class="container" style="margin-top:20px">
|
|
|
<legend>
|
|
<legend>
|
|
@@ -298,20 +298,20 @@ Wygenerowany raport nr <?=$this->powiazanie['ID']?>
|
|
|
</legend>
|
|
</legend>
|
|
|
<div class="form-group" style="text-align: center;">
|
|
<div class="form-group" style="text-align: center;">
|
|
|
<?php
|
|
<?php
|
|
|
- array_walk($reports, function ($report) use ($url) {
|
|
|
|
|
- echo "<div class=\"col-sm-2\"><h4>{$report['label']}</h4>";
|
|
|
|
|
- $hrefs = array_filter(array_map(function ($path) use ($url, $report) {
|
|
|
|
|
- if (!is_file($path)) return false;
|
|
|
|
|
- $file = basename($path);
|
|
|
|
|
- if (preg_match($report['regex'], $file, $matches)) $i = " (" . ltrim($matches[2], '0') . ")";
|
|
|
|
|
- else $i = '';
|
|
|
|
|
- if ($report['parentDir']) $file = basename(dirname($path)) . "/" . $file;
|
|
|
|
|
- return "<a href=\"{$url}/{$file}\" target=\"_blank\" class=\"btn btn-primary\">{$report['button']}{$i}</a>";
|
|
|
|
|
- }, $report['files']));
|
|
|
|
|
- if ($hrefs) echo implode('<br/><br/>', $hrefs);
|
|
|
|
|
- else echo "<h5>Nie znaleziono</h5>";
|
|
|
|
|
- echo "</div>\n";
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ array_walk($reports, function ($report) use ($url) {
|
|
|
|
|
+ echo "<div class=\"col-sm-2\"><h4>{$report['label']}</h4>";
|
|
|
|
|
+ $hrefs = array_filter(array_map(function ($path) use ($url, $report) {
|
|
|
|
|
+ if (!is_file($path)) return false;
|
|
|
|
|
+ $file = basename($path);
|
|
|
|
|
+ if (preg_match($report['regex'], $file, $matches)) $i = " (" . ltrim($matches[2], '0') . ")";
|
|
|
|
|
+ else $i = '';
|
|
|
|
|
+ if ($report['parentDir']) $file = basename(dirname($path)) . "/" . $file;
|
|
|
|
|
+ return "<a href=\"{$url}/{$file}\" target=\"_blank\" class=\"btn btn-primary\">{$report['button']}{$i}</a>";
|
|
|
|
|
+ }, $report['files']));
|
|
|
|
|
+ if ($hrefs) echo implode('<br/><br/>', $hrefs);
|
|
|
|
|
+ else echo "<h5>Nie znaleziono</h5>";
|
|
|
|
|
+ echo "</div>\n";
|
|
|
|
|
+ });
|
|
|
?>
|
|
?>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="form-group">
|
|
<div class="form-group">
|
|
@@ -321,24 +321,24 @@ Wygenerowany raport nr <?=$this->powiazanie['ID']?>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<?php
|
|
<?php
|
|
|
-}
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
-private function showPowiazaniaList() {
|
|
|
|
|
- switch (V::get('action', '', $_POST)) {
|
|
|
|
|
- case "initialize":
|
|
|
|
|
- $this->initializePowiazaniaSave();
|
|
|
|
|
- break;
|
|
|
|
|
|
|
+ private function showPowiazaniaList() {
|
|
|
|
|
+ switch (V::get('action', '', $_POST)) {
|
|
|
|
|
+ case "initialize":
|
|
|
|
|
+ $this->initializePowiazaniaSave();
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ $this->showPowiazaniaListForm();
|
|
|
}
|
|
}
|
|
|
- $this->showPowiazaniaListForm();
|
|
|
|
|
-}
|
|
|
|
|
|
|
|
|
|
-private function showPowiazaniaListForm() {
|
|
|
|
|
- if (!$this->SOURCE['ID']) throw new Exception("Błąd danych");
|
|
|
|
|
- elseif ($this->SOURCE['TABLE'] != 'BI_audit_ENERGA_PRACOWNICY') throw new Exception("Błąd danych");
|
|
|
|
|
|
|
+ private function showPowiazaniaListForm() {
|
|
|
|
|
+ if (!$this->SOURCE['ID']) throw new Exception("Błąd danych");
|
|
|
|
|
+ elseif ($this->SOURCE['TABLE'] != 'BI_audit_ENERGA_PRACOWNICY') throw new Exception("Błąd danych");
|
|
|
|
|
|
|
|
- $query = "select * from `{$this->SOURCE['TABLE']}` where ID = '{$this->SOURCE['ID']}'";
|
|
|
|
|
- $pracownik = DB::getPDO()->fetchFirst($query);
|
|
|
|
|
- if (!$pracownik) throw new Exception("Błąd danych");
|
|
|
|
|
|
|
+ $query = "select * from `{$this->SOURCE['TABLE']}` where ID = '{$this->SOURCE['ID']}'";
|
|
|
|
|
+ $pracownik = DB::getPDO()->fetchFirst($query);
|
|
|
|
|
+ if (!$pracownik) throw new Exception("Błąd danych");
|
|
|
?>
|
|
?>
|
|
|
<div class="container" style="margin-top:20px">
|
|
<div class="container" style="margin-top:20px">
|
|
|
<legend>
|
|
<legend>
|
|
@@ -365,18 +365,18 @@ Lista wygenerowanych powiązań :: <?=htmlspecialchars($pracownik['imiona'] . "
|
|
|
<tbody>
|
|
<tbody>
|
|
|
|
|
|
|
|
<?php
|
|
<?php
|
|
|
- $refPowiazaniaToPracownicy = BiAuditRefTables::getRefTable('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', 'BI_audit_ENERGA_PRACOWNICY', true);
|
|
|
|
|
- $query = "select `BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA`.*
|
|
|
|
|
-from `BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA`
|
|
|
|
|
-join `{$refPowiazaniaToPracownicy}` on `BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA`.`ID` = `{$refPowiazaniaToPracownicy}`.`PRIMARY_KEY`
|
|
|
|
|
-where `REMOTE_PRIMARY_KEY` = '{$this->SOURCE['ID']}'";
|
|
|
|
|
- $result = DB::getPDO()->fetchAll($query);
|
|
|
|
|
-
|
|
|
|
|
- if (!$result) echo '<tr><td align="center" colspan="9">Brak znalezionych powiązań</td></tr>';
|
|
|
|
|
- else {
|
|
|
|
|
- foreach ($result as $row) {
|
|
|
|
|
- $query = "select count(*) from `{$refPowiazaniaToPracownicy}` where `PRIMARY_KEY` = '{$row['ID']}'";
|
|
|
|
|
- $count = DB::getPDO()->fetchValue($query);
|
|
|
|
|
|
|
+ $refPowiazaniaToPracownicy = BiAuditRefTables::getRefTable('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', 'BI_audit_ENERGA_PRACOWNICY', true);
|
|
|
|
|
+ $query = "select `BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA`.*
|
|
|
|
|
+ from `BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA`
|
|
|
|
|
+ join `{$refPowiazaniaToPracownicy}` on `BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA`.`ID` = `{$refPowiazaniaToPracownicy}`.`PRIMARY_KEY`
|
|
|
|
|
+ where `REMOTE_PRIMARY_KEY` = '{$this->SOURCE['ID']}'";
|
|
|
|
|
+ $result = DB::getPDO()->fetchAll($query);
|
|
|
|
|
+
|
|
|
|
|
+ if (!$result) echo '<tr><td align="center" colspan="9">Brak znalezionych powiązań</td></tr>';
|
|
|
|
|
+ else {
|
|
|
|
|
+ foreach ($result as $row) {
|
|
|
|
|
+ $query = "select count(*) from `{$refPowiazaniaToPracownicy}` where `PRIMARY_KEY` = '{$row['ID']}'";
|
|
|
|
|
+ $count = DB::getPDO()->fetchValue($query);
|
|
|
?>
|
|
?>
|
|
|
<tr>
|
|
<tr>
|
|
|
<td align="right"><?=$row['ID']?></td>
|
|
<td align="right"><?=$row['ID']?></td>
|
|
@@ -390,8 +390,8 @@ where `REMOTE_PRIMARY_KEY` = '{$this->SOURCE['ID']}'";
|
|
|
<td><?=UI::hButtonPost("Pokaż w tabeli", ['class' => 'btn-info btn-xs', 'action' => "index.php?_route=ViewTableAjax&namespace=default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA&ff_ID={$row['ID']}", 'data' > ['f_ID' => $row['ID']]])?></td>
|
|
<td><?=UI::hButtonPost("Pokaż w tabeli", ['class' => 'btn-info btn-xs', 'action' => "index.php?_route=ViewTableAjax&namespace=default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA&ff_ID={$row['ID']}", 'data' > ['f_ID' => $row['ID']]])?></td>
|
|
|
</tr>
|
|
</tr>
|
|
|
<?php
|
|
<?php
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
?>
|
|
?>
|
|
|
</tbody>
|
|
</tbody>
|
|
|
</table>
|
|
</table>
|
|
@@ -668,6 +668,9 @@ format: 'YYYY-MM-DD'
|
|
|
case "BI_audit_ENERGA_PRACOWNICY":
|
|
case "BI_audit_ENERGA_PRACOWNICY":
|
|
|
$this->showPowiazaniaList();
|
|
$this->showPowiazaniaList();
|
|
|
break;
|
|
break;
|
|
|
|
|
+ case "BI_audit_BENFORD":
|
|
|
|
|
+ $this->benford_showReport();
|
|
|
|
|
+ break;
|
|
|
default: throw new Exception("Błąd wyzwolenia funkcji BiAuditGenerate");
|
|
default: throw new Exception("Błąd wyzwolenia funkcji BiAuditGenerate");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1369,7 +1372,7 @@ function validateCompany(source) {
|
|
|
}
|
|
}
|
|
|
?>
|
|
?>
|
|
|
<div class="container" style="margin-top:20px">
|
|
<div class="container" style="margin-top:20px">
|
|
|
- <form method="post" onSubmit="showMsg('Proszę czekać, generuję raport...');">
|
|
|
|
|
|
|
+ <form method="post" onSubmit="showMsg('<center>Proszę czekać, generuję raport...<br/><br/><p class=benfordLoader></p></center>');">
|
|
|
<legend>
|
|
<legend>
|
|
|
Analiza rozkładu Benford'a
|
|
Analiza rozkładu Benford'a
|
|
|
<span class="pull-right">Tabela: <?=$this->SOURCE['TABLE']?></span>
|
|
<span class="pull-right">Tabela: <?=$this->SOURCE['TABLE']?></span>
|
|
@@ -1486,6 +1489,9 @@ function validateCompany(source) {
|
|
|
<div id="details" onClick="hideDetails();">
|
|
<div id="details" onClick="hideDetails();">
|
|
|
<div id="detailsMsg" onClick="event.stopPropagation();"></div>
|
|
<div id="detailsMsg" onClick="event.stopPropagation();"></div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+<div id="message">
|
|
|
|
|
+ <div id="messageBody" onClick="event.stopPropagation();"></div>
|
|
|
|
|
+</div>
|
|
|
<style type="text/css">
|
|
<style type="text/css">
|
|
|
<!--
|
|
<!--
|
|
|
#benford .step1-green,#benford .step1-red {font-weight:bold;}
|
|
#benford .step1-green,#benford .step1-red {font-weight:bold;}
|
|
@@ -1494,15 +1500,19 @@ function validateCompany(source) {
|
|
|
#benford table { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}
|
|
#benford table { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}
|
|
|
td {font-size: 12px;}
|
|
td {font-size: 12px;}
|
|
|
#benford ::selection {background: transparent;}
|
|
#benford ::selection {background: transparent;}
|
|
|
-#details {display:none; position: fixed; left: 0; top: 0; width: 100%; height: 100%; text-align: center; z-index: 1000; background-color: rgba(0,0,0,0.5);}
|
|
|
|
|
-#details div {width: 500px; height: auto; margin: 100px auto; background: #fff; padding: 10px; text-align: center; overflow: hidden; border-radius: 5px; box-shadow: 0 0 7px 7px rgba(0,0,0,0.25);}
|
|
|
|
|
|
|
+#details,#message {display:none; position: fixed; left: 0; top: 0; width: 100%; height: 100%; text-align: center; z-index: 1000; background-color: rgba(0,0,0,0.5);}
|
|
|
|
|
+#details,#message div {width: 500px; height: auto; margin: 100px auto; background: #fff; padding: 10px; text-align: center; overflow: hidden; border-radius: 5px; box-shadow: 0 0 7px 7px rgba(0,0,0,0.25);}
|
|
|
|
|
+.benfordLoader {border: 4px solid #f3f3f3; border-radius: 50%; border-top: 4px solid #000000; width: 32px; height: 32px; -webkit-animation: spin 1s linear infinite; animation: spin 1s linear infinite;}
|
|
|
|
|
+@-webkit-keyframes spin {0% {-webkit-transform: rotate(0deg);} 100% {-webkit-transform: rotate(360deg);}}
|
|
|
|
|
+@keyframes spin {0% {transform: rotate(0deg);} 100% {transform: rotate(360deg);}}
|
|
|
-->
|
|
-->
|
|
|
</style>
|
|
</style>
|
|
|
<script language="JavaScript">
|
|
<script language="JavaScript">
|
|
|
<!--
|
|
<!--
|
|
|
function showDetails(groupField, ka, kb) {
|
|
function showDetails(groupField, ka, kb) {
|
|
|
event.stopPropagation();
|
|
event.stopPropagation();
|
|
|
- showMsg('Proszę czekać...');
|
|
|
|
|
|
|
+ document.getElementById('detailsMsg').innerHTML = "<h4>Proszę czekać...</h4>";
|
|
|
|
|
+ document.getElementById('details').style.display = 'block';
|
|
|
var post = "_noMenu=1&action=getDetails&_groupField=" + groupField + "&_ka=" + ka;
|
|
var post = "_noMenu=1&action=getDetails&_groupField=" + groupField + "&_ka=" + ka;
|
|
|
if (kb !== null) post += "&_kb=" + kb;
|
|
if (kb !== null) post += "&_kb=" + kb;
|
|
|
var xhttp = new XMLHttpRequest();
|
|
var xhttp = new XMLHttpRequest();
|
|
@@ -1521,8 +1531,9 @@ function showDetails2(node, ka, kb) {
|
|
|
showDetails(groupField, ka, kb);
|
|
showDetails(groupField, ka, kb);
|
|
|
}
|
|
}
|
|
|
function showMsg(msg) {
|
|
function showMsg(msg) {
|
|
|
- document.getElementById('detailsMsg').innerHTML = "<h4>" + msg + "</h4>";
|
|
|
|
|
- document.getElementById('details').style.display = 'block';
|
|
|
|
|
|
|
+ event.stopPropagation();
|
|
|
|
|
+ document.getElementById('messageBody').innerHTML = "<h4>" + msg + "</h4>";
|
|
|
|
|
+ document.getElementById('message').style.display = 'block';
|
|
|
}
|
|
}
|
|
|
function hideDetails() {
|
|
function hideDetails() {
|
|
|
document.getElementById('details').style.display = 'none';
|
|
document.getElementById('details').style.display = 'none';
|
|
@@ -1716,7 +1727,8 @@ function toggleCheckSecond(check) {
|
|
|
$pdf = self::antXmlToPdf($xmlFile);
|
|
$pdf = self::antXmlToPdf($xmlFile);
|
|
|
copy($pdf, $pdfFile);
|
|
copy($pdf, $pdfFile);
|
|
|
DB::getPDO()->update($mainTable, 'ID', $benfordId, ['A_STATUS' => 'NORMAL', 'A_STATUS_INFO' => 'Poprawnie wygenerowano raport']);
|
|
DB::getPDO()->update($mainTable, 'ID', $benfordId, ['A_STATUS' => 'NORMAL', 'A_STATUS_INFO' => 'Poprawnie wygenerowano raport']);
|
|
|
- SE_Layout::alert('success', 'Poprawnie wygenerowano raport');
|
|
|
|
|
|
|
+ SE_Layout::alert('success', 'Poprawnie wygenerowano raport' .
|
|
|
|
|
+ '<br/><br/><a href="index.php?_route=UrlAction_BiAuditGenerate&ID_BI_audit_BENFORD=' . $benfordId . '" class="btn btn-default" style="width: 120px;">Pokaż raport</a>');
|
|
|
} catch (Exception $e) {
|
|
} catch (Exception $e) {
|
|
|
if ($benfordId) DB::getPDO()->update($mainTable, 'ID', $benfordId, ['A_STATUS' => 'DELETED', 'A_STATUS_INFO' => $e->getMessage()]);
|
|
if ($benfordId) DB::getPDO()->update($mainTable, 'ID', $benfordId, ['A_STATUS' => 'DELETED', 'A_STATUS_INFO' => $e->getMessage()]);
|
|
|
SE_Layout::alert('danger', $e->getMessage());
|
|
SE_Layout::alert('danger', $e->getMessage());
|
|
@@ -1729,6 +1741,48 @@ function toggleCheckSecond(check) {
|
|
|
<?php
|
|
<?php
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private function benford_showReport() {
|
|
|
|
|
+ $dir = self::getDirectory('BI_audit_BENFORD', $this->SOURCE['ID']);
|
|
|
|
|
+ $url = self::getUrl('BI_audit_BENFORD', $this->SOURCE['ID']);
|
|
|
|
|
+
|
|
|
|
|
+ $reports = [
|
|
|
|
|
+ 'pdf' => [
|
|
|
|
|
+ 'files' => glob("{$dir}/BI_audit_BENFORD_{$this->SOURCE['ID']}.pdf"),
|
|
|
|
|
+ 'label' => 'Raport PDF:<br/> ',
|
|
|
|
|
+ 'button' => 'Pokaż raport PDF',
|
|
|
|
|
+ 'parentDir' => false,
|
|
|
|
|
+ ],
|
|
|
|
|
+ ];
|
|
|
|
|
+?>
|
|
|
|
|
+<div class="container" style="margin-top:20px">
|
|
|
|
|
+<legend>
|
|
|
|
|
+Wygenerowany raport Benford'a nr <?=$this->SOURCE['ID']?>
|
|
|
|
|
+</legend>
|
|
|
|
|
+<div class="form-group" style="text-align: center;">
|
|
|
|
|
+<?php
|
|
|
|
|
+ array_walk($reports, function ($report) use ($url) {
|
|
|
|
|
+ echo "<div class=\"col-sm-2\"><h4>{$report['label']}</h4>";
|
|
|
|
|
+ $hrefs = array_filter(array_map(function ($path) use ($url, $report) {
|
|
|
|
|
+ if (!is_file($path)) return false;
|
|
|
|
|
+ $file = basename($path);
|
|
|
|
|
+ if ($report['parentDir']) $file = basename(dirname($path)) . "/" . $file;
|
|
|
|
|
+ return "<a href=\"{$url}/{$file}\" target=\"_blank\" class=\"btn btn-primary\">{$report['button']}</a>";
|
|
|
|
|
+ }, $report['files']));
|
|
|
|
|
+ if ($hrefs) echo implode('<br/><br/>', $hrefs);
|
|
|
|
|
+ else echo "<h5>Nie znaleziono</h5>";
|
|
|
|
|
+ echo "</div>\n";
|
|
|
|
|
+ });
|
|
|
|
|
+?>
|
|
|
|
|
+</div>
|
|
|
|
|
+<div class="form-group">
|
|
|
|
|
+<div class="col-sm-12">
|
|
|
|
|
+<br/><br/><a href="<?=$this->REFERER?>" class="btn btn-default">Powrót</a>
|
|
|
|
|
+</div>
|
|
|
|
|
+</div>
|
|
|
|
|
+</div>
|
|
|
|
|
+<?php
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private function benford() {
|
|
private function benford() {
|
|
|
try {
|
|
try {
|
|
|
$action = V::get('action', '', $_POST);
|
|
$action = V::get('action', '', $_POST);
|
|
@@ -1949,6 +2003,7 @@ function toggleCheckSecond(check) {
|
|
|
elseif (($ID = V::get('ID_BI_audit_MSIG_person', 0, $_GET, 'int')) > 0) $this->SOURCE['TABLE'] = 'BI_audit_MSIG_person';
|
|
elseif (($ID = V::get('ID_BI_audit_MSIG_person', 0, $_GET, 'int')) > 0) $this->SOURCE['TABLE'] = 'BI_audit_MSIG_person';
|
|
|
elseif (($ID = V::get('ID_BI_audit_CEIDG', 0, $_GET, 'int')) > 0) $this->SOURCE['TABLE'] = 'BI_audit_CEIDG';
|
|
elseif (($ID = V::get('ID_BI_audit_CEIDG', 0, $_GET, 'int')) > 0) $this->SOURCE['TABLE'] = 'BI_audit_CEIDG';
|
|
|
elseif (($ID = V::get('ID_BI_audit_CEIDG_pelnomocnicy', 0, $_GET, 'int')) > 0) $this->SOURCE['TABLE'] = 'BI_audit_CEIDG_pelnomocnicy';
|
|
elseif (($ID = V::get('ID_BI_audit_CEIDG_pelnomocnicy', 0, $_GET, 'int')) > 0) $this->SOURCE['TABLE'] = 'BI_audit_CEIDG_pelnomocnicy';
|
|
|
|
|
+ elseif (($ID = V::get('ID_BI_audit_BENFORD', 0, $_GET, 'int')) > 0) $this->SOURCE['TABLE'] = 'BI_audit_BENFORD';
|
|
|
if ($this->SOURCE) {
|
|
if ($this->SOURCE) {
|
|
|
$this->SOURCE['ID'] = $ID;
|
|
$this->SOURCE['ID'] = $ID;
|
|
|
$this->urlActionOnItem();
|
|
$this->urlActionOnItem();
|