|
|
@@ -88,7 +88,6 @@ class Route_UrlAction_BiAuditGenerate extends RouteBase {
|
|
|
<td><?=$pracownik['nip']?></td>
|
|
|
<td><?=$pracownik['regon']?></td>
|
|
|
<td><?=$pracownik['source']?></td>
|
|
|
-
|
|
|
</tr>
|
|
|
<?php
|
|
|
}
|
|
|
@@ -133,49 +132,76 @@ function toggle(source) {
|
|
|
$prID = V::get('prID', array(), $_POST);
|
|
|
if (!$prID) throw new Exception("Nie wybrano żadnego pracownika!");
|
|
|
$reloadCache = V::get('reloadCache', 'off', $_POST);
|
|
|
- $sqlArr = [
|
|
|
- 'ID' => $this->powiazanie['ID'],
|
|
|
- 'FILE_STATUS' => 'TO_GENERATE',
|
|
|
- ];
|
|
|
+
|
|
|
+ if ($this->powiazanie) { // wyzwolone z poziomu tabeli BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA - aktualizujemy istniejący rekord
|
|
|
+ $sqlArr = [
|
|
|
+ 'ID' => $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 (!($BiAnalizaDepth = V::get('depth', 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!");
|
|
|
+ $sqlArr = [
|
|
|
+ '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'],
|
|
|
+ 'BI_analiza_depth' => $BiAnalizaDepth,
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
+ $sqlArr['FILE_STATUS'] = 'TO_GENERATE';
|
|
|
if ($reloadCache == 'on') $sqlArr['BI_analiza_reloadCache'] = 'Y';
|
|
|
+ else $sqlArr['BI_analiza_reloadCache'] = 'N';
|
|
|
+
|
|
|
+ $query = "select count(*) from BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA where BI_analiza_reloadCache = 'Y'";
|
|
|
+ $result = DB::getPDO()->fetchValue($query);
|
|
|
+ if ($result) $sqlArr['FILE_STATUS_info'] = 'Oczekuje na odświeżenie cache (wymagane dla innego rekordu)';
|
|
|
+ elseif ($reloadCache == 'on') $sqlArr['FILE_STATUS_info'] = 'Oczekuje na odświeżenie cache';
|
|
|
+ else $sqlArr['FILE_STATUS_info'] = "Oczekuje na wygenerowanie powiązań";
|
|
|
+
|
|
|
+ if ($this->powiazanie) {
|
|
|
+ $powiazazanieID = $this->powiazanie['ID'];
|
|
|
+ $affected = DB::getDB()->UPDATE_OBJ('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', $sqlArr);
|
|
|
+ if ($affected) {
|
|
|
+ SE_Layout::alert('success','Oznaczono rekord do wygenerowania powiązań');
|
|
|
+?>
|
|
|
+<div class="container" style="text-align:center">
|
|
|
+ <a href="<?=$this->REFERER?>" class="btn btn-primary">Powrót</a>
|
|
|
+</div>
|
|
|
+<?php
|
|
|
+ } else throw new Exception("Wystąpił nieznany błąd @initializePowiazaniaSave");
|
|
|
+ } else {
|
|
|
+ $powiazanieID = DB::getPDO()->insert('BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA', $sqlArr);
|
|
|
+ if ($powiazanieID) SE_Layout::alert('success','Dodano rekord do wygenerowania powiązań');
|
|
|
+ else throw new Exception("Wystąpił nieznany błąd @initializePowiazaniaSave");
|
|
|
+ }
|
|
|
|
|
|
- $this->truncatePowiazaniaFromDB($this->powiazanie['ID']);
|
|
|
+ $this->truncatePowiazaniaFromDB($powiazanieID);
|
|
|
|
|
|
$refPowiazaniaToPracownicy = ACL::getRefTable('default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA',
|
|
|
'default_db__x3A__BI_audit_ENERGA_PRACOWNICY:BI_audit_ENERGA_PRACOWNICY');
|
|
|
- foreach ($prID as $v) DB::getPDO()->insert($refPowiazaniaToPracownicy, ['PRIMARY_KEY' => $this->powiazanie['ID'], 'REMOTE_PRIMARY_KEY' => $v]);
|
|
|
+ foreach ($prID as $v) DB::getPDO()->insert($refPowiazaniaToPracownicy, ['PRIMARY_KEY' => $powiazanieID, 'REMOTE_PRIMARY_KEY' => $v]);
|
|
|
|
|
|
$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();
|
|
|
$refPowiazaniaToKontrahenci = ACL::getRefTable('default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA',
|
|
|
'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI:BI_audit_ENERGA_RUM_KONTRAHENCI');
|
|
|
- foreach ($kontrahenci as $kontrahent) DB::getPDO()->insert($refPowiazaniaToKontrahenci, ['PRIMARY_KEY' => $this->powiazanie['ID'], 'REMOTE_PRIMARY_KEY' => $kontrahent['ID']]);
|
|
|
+ foreach ($kontrahenci as $kontrahent) DB::getPDO()->insert($refPowiazaniaToKontrahenci, ['PRIMARY_KEY' => $powiazanieID, 'REMOTE_PRIMARY_KEY' => $kontrahent['ID']]);
|
|
|
|
|
|
$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();
|
|
|
$refPowiazaniaToKwRequestedPreson = ACL::getRefTable('default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA',
|
|
|
'default_db__x3A__BI_audit_KW_requested_person:BI_audit_KW_requested_person');
|
|
|
- foreach ($requestedPersons as $requestedPerson) DB::getPDO()->insert($refPowiazaniaToKwRequestedPreson, ['PRIMARY_KEY' => $this->powiazanie['ID'], 'REMOTE_PRIMARY_KEY' => $requestedPerson['ID']]);
|
|
|
-
|
|
|
- $query = "select count(*) from BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA where BI_analiza_reloadCache = 'Y'";
|
|
|
- $result = DB::getPDO()->fetchValue($query);
|
|
|
- if ($result) $sqlArr['FILE_STATUS_info'] = 'Oczekuje na odświeżenie cache (wymagane dla innego rekordu)';
|
|
|
- elseif ($reloadCache == 'on') $sqlArr['FILE_STATUS_info'] = 'Oczekuje na odświeżenie cache';
|
|
|
- else $sqlArr['FILE_STATUS_info'] = "Oczekuje na wygenerowanie powiązań";
|
|
|
+ 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', $sqlArr);
|
|
|
- if ($affected) {
|
|
|
- SE_Layout::alert('success','Oznaczono rekord do wygenerowania');
|
|
|
-?>
|
|
|
-<div class="container" style="text-align:center">
|
|
|
- <a href="<?=$this->REFERER?>" class="btn btn-primary">Powrót</a>
|
|
|
-</div>
|
|
|
-<?php
|
|
|
- } else {
|
|
|
- throw new Exception("Wystąpił nieznany błąd @initializePowiazaniaSave");
|
|
|
- }
|
|
|
+ if (!$this->powiazanie) $this->showPowiazaniaListForm();
|
|
|
}
|
|
|
|
|
|
private function initializePowiazania() {
|
|
|
@@ -196,35 +222,44 @@ function toggle(source) {
|
|
|
}
|
|
|
|
|
|
private function showPowiazaniaList() {
|
|
|
+ switch (V::get('action', '', $_POST)) {
|
|
|
+ case "initialize":
|
|
|
+ $this->initializePowiazaniaSave();
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ $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");
|
|
|
- echo "test";
|
|
|
|
|
|
$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">
|
|
|
- <form class="form-horizontal" method="post">
|
|
|
- <legend>
|
|
|
- Lista wygenerowanych powiązań :: <?=($pracownik['imiona'] . " " . $pracownik['nazwisko'])?>
|
|
|
- <span class="pull-right"># <?=$pracownik['ID']?></span>
|
|
|
- </legend>
|
|
|
- <div class="form-group">
|
|
|
- <div class="col-sm-12">
|
|
|
- <h4>Lista wygenerowanych powiązań, w których znajduje się pracownik</h4>
|
|
|
- <table class="table table-bordered table-hover table-striped" height=5>
|
|
|
- <thead>
|
|
|
- <tr style="text-align:center; background-color:lightgray">
|
|
|
- <td width=1>ID</td>
|
|
|
- <td>Adnotacje</td>
|
|
|
- <td>Głębokość analizy</td>
|
|
|
- <td>Status raportu</td>
|
|
|
- <td>Status raportu - informacje</td>
|
|
|
- <td>Indywidualny raport</td>
|
|
|
- </tr>
|
|
|
- </thead>
|
|
|
- <tbody>
|
|
|
+ <legend>
|
|
|
+ Lista wygenerowanych powiązań :: <?=htmlspecialchars($pracownik['imiona'] . " " . $pracownik['nazwisko'])?>
|
|
|
+ <span class="pull-right"># <?=$pracownik['ID']?></span>
|
|
|
+ </legend>
|
|
|
+ <div class="form-group">
|
|
|
+ <div class="col-sm-12">
|
|
|
+ <h4>Lista wygenerowanych powiązań, w których znajduje się pracownik</h4>
|
|
|
+ <table class="table table-bordered table-hover table-striped" height=5>
|
|
|
+ <thead>
|
|
|
+ <tr style="text-align:center; background-color:lightgray">
|
|
|
+ <td width=1>ID</td>
|
|
|
+ <td>Adnotacje</td>
|
|
|
+ <td>Głębokość analizy</td>
|
|
|
+ <td>Status raportu</td>
|
|
|
+ <td>Status raportu - informacje</td>
|
|
|
+ <td>Indywidualny raport</td>
|
|
|
+ <td width=1></td>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
|
|
|
<?php
|
|
|
$refPowiazaniaToPracownicy = ACL::getRefTable('default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA',
|
|
|
@@ -235,45 +270,66 @@ join `{$refPowiazaniaToPracownicy}` on `BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZAN
|
|
|
where `REMOTE_PRIMARY_KEY` = '{$this->SOURCE['ID']}'";
|
|
|
$result = DB::getPDO()->fetchAll($query);
|
|
|
|
|
|
- if (!$result) echo '<tr><td align="center" colspan="6">Brak znalezionych powiązań</td></tr>';
|
|
|
+ if (!$result) echo '<tr><td align="center" colspan="7">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>
|
|
|
- <td align="right"><?=$row['ID']?></td>
|
|
|
- <td><?=$row['L_APPOITMENT_INFO']?></td>
|
|
|
- <td><?=$row['BI_analiza_depth']?></td>
|
|
|
- <td><?=$row['FILE_STATUS']?></td>
|
|
|
- <td><?=$row['FILE_STATUS_info']?></td>
|
|
|
- <td><?=($count > 1 ? 'Nie' : 'Tak')?></td>
|
|
|
- </tr>
|
|
|
+ <tr>
|
|
|
+ <td align="right"><?=$row['ID']?></td>
|
|
|
+ <td><?=$row['L_APPOITMENT_INFO']?></td>
|
|
|
+ <td><?=$row['BI_analiza_depth']?></td>
|
|
|
+ <td><?=$row['FILE_STATUS']?></td>
|
|
|
+ <td><?=$row['FILE_STATUS_info']?></td>
|
|
|
+ <td><?=($count > 1 ? 'Nie' : 'Tak')?></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>
|
|
|
<?php
|
|
|
}
|
|
|
?>
|
|
|
- </tr>
|
|
|
- </tbody>
|
|
|
- </table>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="form-group">
|
|
|
+ <div class="col-sm-12">
|
|
|
+ <h4>Dodaj nowe zadanie generowania powiazań dla tego pracownika</h4>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <form class="form-horizontal" method="post">
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-4 control-label">Głębokość poszukiwań (liczba rekurencji)</label>
|
|
|
+ <div class="col-sm-1">
|
|
|
+ <input type="number" class="form-control" name="depth" data-bind="value:replyNumber" min="1" max="9" value="6" required/>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="form-group">
|
|
|
- <div class="col-sm-12">
|
|
|
- <h4>Dodaj nowe zadanie generowania powiazań dla tego pracownika</h4>
|
|
|
- <div class="containter" style="text-align:center">
|
|
|
- TODO
|
|
|
- </div>
|
|
|
+ <label class="col-sm-4 control-label">Adnotacje</label>
|
|
|
+ <div class="col-sm-4">
|
|
|
+ <input type="text" class="form-control" name="info" value="Indywidualnie dla <?=htmlspecialchars($pracownik['imiona'] . " " . $pracownik['nazwisko'])?>" required/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-4 control-label">Odśwież cache (wymagane w przypadku, gdy dokonano dowolnych zmian w tabelach pracowników/kontrahentów)</label>
|
|
|
+ <div class="col-sm-1">
|
|
|
+ <select name="checkbox" class="form-control">
|
|
|
+ <option value="on">Tak</option>
|
|
|
+ <option value="off" selected>Nie</option>
|
|
|
+ </select>
|
|
|
</div>
|
|
|
</div>
|
|
|
-<!-- <div class="form-group">
|
|
|
+ <div class="form-group">
|
|
|
<div class="col-sm-12">
|
|
|
<div class="containter" style="text-align:center">
|
|
|
<button type="submit" class="btn btn-primary" name="action" value="initialize">Generuj</button>
|
|
|
<a href="<?=$this->REFERER?>" class="btn btn-default">Powrót</a>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>-->
|
|
|
+ </div>
|
|
|
<input type="hidden" name="REFERER" value="<?=$this->REFERER?>"/>
|
|
|
+ <input type="hidden" name="prID[]" value="<?=$pracownik['ID']?>">
|
|
|
</form>
|
|
|
</div>
|
|
|
|