Просмотр исходного кода

Bug fix + zaczątek importu z KRS

Mariusz Muszyński 8 лет назад
Родитель
Сommit
15b6b00116
1 измененных файлов с 103 добавлено и 9 удалено
  1. 103 9
      SE/se-lib/Route/UrlAction/BiAuditGenerate.php

+ 103 - 9
SE/se-lib/Route/UrlAction/BiAuditGenerate.php

@@ -305,8 +305,8 @@ where `REMOTE_PRIMARY_KEY` = '{$this->SOURCE['ID']}'";
           </tr>
 <?php
 			}
+		}
 ?>
-          </tr>
         </tbody>
       </table>
     </div>
@@ -342,11 +342,10 @@ where `REMOTE_PRIMARY_KEY` = '{$this->SOURCE['ID']}'";
       </div>
     </div>
     <div class="form-group">
-       <div class="col-sm-offset-4 col-sm-8">
-         Częściowe odświeżenie wymagane w przypadku, gdy dokonano dowolnych zmian w tabelach pracowników/kontrahentów.<br/>
-         Pełne odświeżenie wymagane w przypadku modyfikacji baz KRS lub CEiDG (UWAGA - trwa to wiele godzin)
-       </div>
-    </div>
+      <div class="col-sm-offset-4 col-sm-8">
+        Częściowe odświeżenie wymagane w przypadku, gdy dokonano dowolnych zmian w tabelach pracowników/kontrahentów.<br/>
+        Pełne odświeżenie wymagane w przypadku modyfikacji baz KRS lub CEiDG (UWAGA - trwa to wiele godzin)
+      </div>
     </div>
     <div class="form-group">
       <div class="col-sm-12">
@@ -360,9 +359,7 @@ where `REMOTE_PRIMARY_KEY` = '{$this->SOURCE['ID']}'";
     <input type="hidden" name="prID[]" value="<?=$pracownik['ID']?>">
   </form>
 </div>
-
 <?php
-		}
 	}
 
 	private function powiazania() {
@@ -400,6 +397,95 @@ where `REMOTE_PRIMARY_KEY` = '{$this->SOURCE['ID']}'";
 		}
 	}
 
+	private function importKrsToPracownicy() {
+		$action = V::get('action', '', $_POST);
+		switch ($action) {
+			case "search":
+				$this->importKrsToPracownicySearch();
+				break;
+			default: $this->importKrsToPracownicyForm();
+		}
+	}
+
+	private function importKrsToPracownicyForm() {
+?>
+<div class="container" style="margin-top:20px">
+  <legend>
+    Importowanie osób z KRS do tabeli pracowników
+  </legend>
+  <div class="form-group">
+    <div class="col-sm-12">
+      <h4>Znajdź podmiot</h4>
+    </div>
+  </div>
+  <form class="form-horizontal" method="post">
+    <div class="form-group">
+      <label class="col-sm-1 control-label">Nazwa</label>
+      <div class="col-sm-4">
+        <input type="text" class="form-control" name="nazwa" title="Podaj nazwę podmiotu">
+      </div>
+    </div>
+    <div class="form-group">
+      <label class="col-sm-1 control-label">KRS</label>
+      <div class="col-sm-2">
+	<input type="text" class="form-control" name="krs" pattern="^[0-9]{0,10}$" title="Podaj KRS"/>
+      </div>
+    </div>
+    <div class="form-group">
+      <label class="col-sm-1 control-label">NIP</label>
+      <div class="col-sm-2">
+        <input type="text" class="form-control" name="nip" pattern="^[0-9]{0,10}$" title="Podaj NIP (bez kresek i bez oznaczenia kraju)"/>
+      </div>
+    </div>
+    <div class="form-group">
+      <label class="col-sm-1 control-label">Regon</label>
+      <div class="col-sm-2">
+        <input type="text" class="form-control" name="regon" pattern="^[0-9]{0,9}$" title="Podaj regon"/>
+      </div>
+    </div>
+    <div class="form-group">
+      <div class="col-sm-offset-1 col-sm-11">
+        <button type="submit" class="btn btn-primary" name="action" value="search">Szukaj</button>
+        <a href="<?=$this->REFERER?>" class="btn btn-default">Powrót</a>
+      </div>
+    </div>
+    <input type="hidden" name="REFERER" value="<?=$this->REFERER?>"/>
+  </form>
+</div>
+<?php
+	}
+
+	private function importKrsToPracownicySearch() {
+		$items = [
+			"nazwa" => 'like',
+			"krs" => '=',
+			"nip" => '=',
+			"regon" => '=',
+		];
+		$form = [];
+		foreach ($items as $item => $type) {
+			if ($param = V::get($item, '', $_POST)) {
+				if ($type == 'like') $param = "%{$param}%";
+				$form[$item] = DB::getPDO()->quote($param);
+			}
+		}
+
+		$where = [];
+		foreach ($form as $name => $value) $where[] = "`{$name}` {$items[$name]} {$value}";
+		$query = "select * from `BI_audit_KRS` where " . implode(" and ", $where) . "order by ID limit 1001";
+		$result = DB::getPDO()->fetchAll($query);
+		if (count($result) == 1001) {
+			SE_Layout::alert('danger', 'Znaleziono zbyt wiele wyników. Doprecyzuj parametry wyszukiwania.');
+			$this->importKrsToPracownicyForm();
+			return;
+		}
+echo "test";
+//echo $query . "<br>";
+echo "<pre>";
+//print_r($result);
+echo "</pre>";
+	}
+
 	public function defaultAction() {
 		SE_Layout::gora();
 		SE_Layout::menu();
@@ -414,7 +500,15 @@ where `REMOTE_PRIMARY_KEY` = '{$this->SOURCE['ID']}'";
 			$this->SOURCE['ID'] = $ID;
 			$this->powiazania();
 		}
-		else SE_Layout::alert('danger','Błąd parametru');
+		elseif ($TABLE = V::get('_fromNamespace', '', $_GET)) {
+			switch ($TABLE) {
+				case "default_db/BI_audit_ENERGA_PRACOWNICY":
+					$this->importKrsToPracownicy();
+					break;
+				default: SE_Layout::alert('danger', 'Błąd parametru');
+			}
+		}
+		else SE_Layout::alert('danger', 'Błąd parametru');
 		SE_Layout::dol();
 	}