Przeglądaj źródła

Merge branch 'master' of ssh://biuro.biall-net.pl:2222/plabudda/se

Piotr Labudda 9 lat temu
rodzic
commit
5d312bf703
1 zmienionych plików z 481 dodań i 0 usunięć
  1. 481 0
      SE/se-lib/Route/UrlAction/RaportyKasowe.php

+ 481 - 0
SE/se-lib/Route/UrlAction/RaportyKasowe.php

@@ -0,0 +1,481 @@
+<?php
+
+Lib::loadClass('RouteBase');
+Lib::loadClass('ProcesHelper');
+
+class Route_UrlAction_RaportyKasowe extends RouteBase {
+
+	private $REFERER, $LAST_REFERER;
+	private $RK, $BO;
+
+	public function handleAuth() {
+		if (!User::logged()) {
+			throw new HttpException('Unauthorized', 401);
+		}
+
+		$this->LAST_REFERER = $_SERVER['HTTP_REFERER'];
+		if (($this->REFERER=V::get('REFERER','',$_POST))=='') $this->REFERER = $_SERVER['HTTP_REFERER'];
+
+		try {
+			if (!($ID_BILLS_RK = V::get('ID_BILLS_RK',0,$_GET,'int'))) throw new Exception("Błąd parametru");
+			if ($result = DB::getPDO()->fetchall("select * from BILLS_RK where ID='{$ID_BILLS_RK}' and L_APPOITMENT_USER='".User::getLogin()."'")) $this->RK = $result[0]; 
+			else throw new Exception("Dostęp zabroniony");
+			if ($result = DB::getPDO()->fetchall("select * from BILLING_OWNER where ID='{$this->RK['ID_BILLING_OWNER']}'")) $this->BO = $result[0];
+			else throw new Exception("Błąd spójności danych");
+		} catch (Exception $e) {
+			SE_Layout::gora();
+			SE_Layout::menu();
+			SE_Layout::alert('danger',$e->getMessage());
+?>
+<div class="container" style="text-align:center">
+  <a href="<?php echo $this->REFERER?>" class="btn btn-primary">Powrót</a>
+</div>
+<?php
+			SE_Layout::dol();
+			die();
+		}
+	}
+
+	private function initialize() {
+		SE_Layout::gora();
+		SE_Layout::menu();
+		try {
+			$lastDate = DB::getPDO()->fetchValue("select max(RK_DATE_TO) from BILLS_RK where A_STATUS='OFF_HARD' and ID_BILLING_OWNER='{$this->RK['ID_BILLING_OWNER']}' and L_APPOITMENT_USER='".User::getLogin()."'");
+			if (!$lastRK=($lastDate)) $lastDate = '2004-06-30';
+			$minTS = strtotime($lastDate . " + 1 day");
+			$minDate = date("Y-m-d", $minTS);
+			$firstTS = strtotime(date("Y-m", strtotime($minDate)));
+
+			$nierozliczone = false;
+			if ($ID_BILLING_USERS = DB::getPDO()->fetchValue("select ID_BILLING_USERS from ADMIN_USERS where ID='".User::getID()."'")) {
+//$ID_BILLING_USERS=
+				$maxMonth = DB::getPDO(931)->fetchValue("select substring(min(DATE),1,7) from (select min(bkp.BILL_DATE) as DATE from BILLING_NUMBERS bn join BILLS_KP bkp on bn.ID=bkp.ID_BILLING_NUMBERS join BILLING_USERS bu on bn.ID_BILLING_USERS=bu.ID where bkp.ID_BILLS_RK_POS is null and bu.BILLING_OWNER='{$this->RK['ID_BILLING_OWNER']}' and bn.U_ID='{$ID_BILLING_USERS}' union select min(bkw.BILL_DATE) as DATE from BILLING_NUMBERS bn join BILLS_KW bkw on bn.ID=bkw.ID_BILLING_NUMBERS join BILLING_USERS bu on bn.ID_BILLING_USERS=bu.ID where bkw.ID_BILLS_RK_POS is null and bu.BILLING_OWNER='{$this->RK['ID_BILLING_OWNER']}' and bn.U_ID='{$ID_BILLING_USERS}') as r1");
+				if (!$nierozliczone=$maxMonth) $maxMonth = date("Y-m");
+			} else $maxMonth = date("Y-m");
+
+			$maxTS = strtotime($maxMonth);
+			if ($firstTS > $maxTS) throw new Exception("poprzedni raport kasowy zawiera już okres do końca bieżącego miesiąca.");
+
+			$months = Array($maxMonth);
+			while ($maxTS > $firstTS) {
+				$maxTS = strtotime($maxMonth. " -1 month");
+				$maxMonth = date("Y-m", $maxTS);
+				$months[] = $maxMonth;
+			}
+
+			$saldo = DB::getPDO()->fetchValue("select coalesce(RK_FINAL_BALANCE,0) from BILLS_RK where A_STATUS='OFF_HARD' and ID_BILLING_OWNER='{$this->RK['ID_BILLING_OWNER']}' and L_APPOITMENT_USER='".User::getLogin()."' order by ID desc limit 1");
+
+			$numer = DB::getPDO()->fetchValue("select coalesce(max(RK_NUMBER),0)+1 from BILLS_RK where A_STATUS='OFF_HARD' and ID_BILLING_OWNER='{$this->RK['ID_BILLING_OWNER']}' and L_APPOITMENT_USER='".User::getLogin()."'");
+
+			if (($month = V::get('MONTH','',$_POST))!='') {
+				if (!in_array($month, $months)) throw new Exception("niedopuszczalny miesiąc raportu (abuse - wysłano do administratora informację na temat próby nielegalnego dostępu do danych!)");
+				if ($minTS > strtotime($month)) $startDate = $minDate;
+				else $startDate = date("Y-m-d", strtotime($month));
+
+				$sqlObj = new stdClass();
+				$sqlObj->ID = $this->RK['ID'];
+				$sqlObj->A_STATUS = 'NORMAL';
+				$sqlObj->ID_ADMIN_USERS = User::getID();
+				$sqlObj->RK_NUMBER = $numer;
+				$sqlObj->RK_MONTH = $month;
+				$sqlObj->RK_DATE_FROM = $startDate;
+				$sqlObj->RK_STARTING_BALANCE = $saldo;
+
+				$affected = DB::getDB()->UPDATE_OBJ('BILLS_RK', $sqlObj);
+				if ($affected) {
+					SE_Layout::alert('success','Pomyślnie zainicjalizowano raport kasowy.');
+?>
+<div class="container" style="text-align:center">
+  <form method="post">
+    <input type="hidden" name="REFERER" value="<?php echo $this->REFERER?>"/>
+    <button type="submit" class="btn btn-primary">Edytuj</button>
+    <a href="<?php echo $this->REFERER?>" class="btn btn-default">Powrót</a>
+  </form>
+</div>
+<?php
+				}
+				else {
+					SE_Layout::alert('warning','Wystąpił nieznany błąd podczas inicjalizowania raportu kasowego.');
+?>
+<div class="container" style="text-align:center">
+  <a href="<?php echo $this->REFERER?>" class="btn btn-primary">Powrót</a>
+</div>
+<?php
+				}
+			} else {
+?>
+<div class="container" style="margin-top:20px">
+  <form class="form-horizontal" method="post">
+    <legend>Inicjalizacja raportu kasowego</legend>
+    <div class="form-group">
+      <label class="col-sm-3 control-label">Operator</label>
+      <div class="col-sm-9" style="margin-top:7px;"><?php echo $this->BO['name1']?></div>
+    </div>
+    <div class="form-group">
+      <label class="col-sm-3 control-label">Nr kasy</label>
+      <div class="col-sm-9" style="margin-top:7px;"><?php echo User::getID()?></div>
+    </div>
+    <div class="form-group">
+      <label class="col-sm-3 control-label">Numer raportu</label>
+      <div class="col-sm-9" style="margin-top:7px;"><?php echo $numer?></div>
+    </div>
+    <div class="form-group">
+      <label class="col-sm-3 control-label">Końcowa data poprzedniego raportu</label>
+      <div class="col-sm-9" style="margin-top:7px;"><?php echo ($lastRK?$lastDate:"brak")?></div>
+    </div>
+    <div class="form-group">
+      <label class="col-sm-3 control-label">Miesiąc, którego dotyczy raport</label>
+      <div class="col-sm-2">
+        <select class="form-control" name="MONTH">
+          <?php foreach ($months as $month) echo "<option value='{$month}'>{$month}</option>"?>
+        </select>
+      </div>
+      <?php if ($nierozliczone) echo '<div class="col-sm-7" style="margin-top:7px;">(znaleziono w L1 nierozliczone dokumenty kasowe z miesiąca '.$months[0].')</div>'?>
+    </div>
+    <div class="form-group">
+      <label class="col-sm-3 control-label">Saldo początkowe</label>
+      <div class="col-sm-9" style="margin-top:7px;"><?php echo number_format($saldo, 2, ',', ' ') . " PLN"?></div>
+    </div>
+    <div class="form-group">
+      <div class="col-sm-offset-3 col-sm-9">
+        <button type="submit" class="btn btn-primary">Zapisz</button>
+        <a href="<?php echo $this->REFERER?>" class="btn btn-default">Anuluj</a>
+      </div>
+    </div>
+  <input type="hidden" name="REFERER" value="<?php echo $this->REFERER?>"/>
+  </form>
+</div>
+<?php
+			}
+		} catch (Exception $e) {
+			SE_Layout::alert('danger', "Inicjalizacja nowego raportu kasowe" . $e->getMessage());
+?>
+<div class="container" style="text-align:center">
+  <a href="<?php echo $this->REFERER?>" class="btn btn-primary">Powrót</a>
+</div>
+<?php
+		}
+		SE_Layout::dol();	
+	}
+
+	private function edit() {
+		SE_Layout::gora();
+		SE_Layout::menu();
+		$docs = DB::getPDO()->fetchall("select * from BILLS_RK_POS where ID_BILLS_RK='{$this->RK['ID']}'");
+?>
+<div class="container" style="margin-top:20px">
+  <form class="form-horizontal" method="post">
+    <legend>
+      Edycja raportu kasowego nr <?=$this->RK['RK_NUMBER']?> :: <?=$this->RK['RK_MONTH']?>
+      <span class="pull-right">
+        <?php echo "Nr kasy: " . User::getID() . " :: " . $this->BO['name1']?>
+      </span>
+    </legend>
+    <div class="form-group">
+      <div class="col-sm-12">
+        <input type="submit" class="btn btn-default btn-sm" name="action" value="Dodaj KP"/>
+        <input type="submit" class="btn btn-default btn-sm" name="action" value="Dodaj KW"/>
+        <?php if (DB::getPDO()->fetchValue("select ID_BILLING_USERS from ADMIN_USERS where ID='".User::getID()."'")) echo '<input type="submit" class="btn btn-default btn-sm" name="action" value="Importuj z L1"/>'?>
+        <input type="hidden" name="_task" value="edit">
+        <input type="hidden" name="REFERER" value="<?php echo $this->REFERER?>"/>
+      </div>
+    </div>
+    <div class="form-group">
+      <div class="col-sm-12">
+         <table class="table table-bordered table-hover table-striped">
+           <thead>
+              <tr style="text-align:center; background-color:lightgray"><td width="1">Lp.</td><td>Data</td><td>Numer</td><td>Tytułem</td><td>Kontrahent</td><td>Przychód</td><td>Rozchód</td></tr>
+           </thead>
+           <tbody>
+<?php
+		if ($docs) {
+		} else echo '<tr style="text-align:center"><td colspan="7">Brak dokumentów</td></tr>';
+?>
+           </tbody>
+         <table>
+      </div>
+    </div>
+    <div class="form-group" style="text-align:center">
+      <div class="col-sm-12">
+        <button type="submit" class="btn btn-default" name="action" value="<?=($docs?"close":"reinitialize")?>"><?=($docs?"Zamknij":"Reinicjalizuj")?> raport</button>
+        <a href="<?php echo $this->REFERER?>" class="btn btn-primary">Powrót</a>
+      </div>
+    </div>
+  </form>
+</div>
+<?php
+		SE_Layout::dol();
+	}
+
+	public function editAction() {
+		switch (V::get('action','',$_POST)) {
+			case "Dodaj KP":
+			case "Dodaj KW":
+				$this->addDoc();
+				break;
+			case "Importuj z L1":
+				$this->importL1();
+				break;
+			case "reinitialize":
+				$this->reinitialize();
+				break;
+			default:
+				SE_Layout::gora();
+				SE_Layout::menu();
+				SE_Layout::alert('danger', "Wykryto abuse! Wysłano informację do administratora.");
+?>
+<div class="container" style="text-align:center">
+  <form method="post" action="<?php echo $this->LAST_REFERER?>">
+    <input type="hidden" name="REFERER" value="<?php echo $this->REFERER?>"/>
+    <button type="submit" class="btn btn-primary">Powrót</button>
+  </form>
+</div>
+<?php
+				SE_Layout::dol();
+		}
+	}
+
+	private function addDoc() {
+		echo V::kwotaSlownie("1111111.11");
+	}
+
+	private function importL1() {
+	}
+
+	private function add() {
+		SE_Layout::gora();
+		SE_Layout::menu();
+?>
+<div class="container" style="margin-top:20px">
+  <form class="form-horizontal" method="post">
+    <legend>
+      Edycja raportu kasowego nr <?php echo $this->RK['RK_NUMBER']?>
+      <span class="pull-right">
+        <?php echo "Nr kasy: " . User::getID()?>
+      </span>
+    </legend>
+    <div class="form-group">
+      <label class="col-sm-12 control-label" style="text-align:left"><h4>Nowy dokument</h4></label>
+    </div>
+    <div class="form-group">
+      <label class="col-xs-12 col-sm-3 col-md-2 control-label">Data dokumentu</label>
+      <div class="col-xs-12 col-sm-9 col-md-10">
+        <div class="input-group">
+          <input type="text" id="DOC_DATE" class="form-control se_type-date" name="DOC_DATE" value="<?php echo date("Y-m-d")?>" maxlength="10"/>
+          <span class="input-group-addon">
+            <span class="glyphicon glyphicon-calendar">
+            </span>
+          </span>
+        </div>
+      </div>
+    </div>
+  </form>
+</div>
+<script>
+console.log(document.getElementById('DOC_DATE'));
+jQuery(document.getElementById('DOC_DATE')).parent().datetimepicker({
+format: 'YYYY-MM-DD'
+, locale: 'pl'
+, showTodayButton: true
+, minDate: '2017-01-01'
+, maxDate: '2017-01-03'
+});
+</script>
+<?php
+		SE_Layout::dol();
+	}
+
+	private function reinitialize() {
+		$sqlObj = new stdClass();
+		$sqlObj->ID = $this->RK['ID'];
+		$sqlObj->A_STATUS = 'WAITING';
+		$sqlObj->ID_ADMIN_USERS = "NULL";
+		$sqlObj->RK_NUMBER = "NULL";
+		$sqlObj->RK_MONTH = "NULL";
+		$sqlObj->RK_DATE_FROM = "NULL";
+		$sqlObj->RK_STARTING_BALANCE = "NULL";
+		DB::getDB()->UPDATE_OBJ('BILLS_RK', $sqlObj);
+		$this->initialize();
+}
+
+	public function defaultAction() {
+		switch ($this->RK['A_STATUS']) {
+			case "WAITING":
+				$this->initialize();
+				break;
+			case "NORMAL":
+				$this->edit();
+				break;
+			default:
+				SE_Layout::alert('danger', "Błędny status rekordu.");
+		}
+	}
+
+
+
+
+	public function reinstallAction() {
+		$this->reinstall();
+		die('OK');
+	}
+
+	public function reinstall() {
+		$sqlList = array();
+/*		$sqlList['InstallLayerTable'] = <<<SQL
+CREATE TABLE IF NOT EXISTS `WMS_LAYERS` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
+  `the_geom` polygon NOT NULL,
+  `ID_PROJECT` int(11) NOT NULL,
+  `LAYER_NAME` varchar(100) NOT NULL,
+  `LAYER_TYPE` enum('GeoTIFF','QGIS') NOT NULL DEFAULT 'GeoTIFF',
+  `OLD_LAYER_TYPE` enum('GeoTIFF','QGIS') NOT NULL,
+  `LAYER_DESC` text NOT NULL,
+  `ID_WMS_MAPS` int(11) NOT NULL,
+  `OLD_ID_WMS_MAPS` int(11) NOT NULL,
+  `FILE_NAME` varchar(255) NOT NULL,
+  `FILE_STATUS` enum('NONE','TO_GENERATE','IN_PROGRESS','GENERATED','ERROR') NOT NULL DEFAULT 'NONE',
+  `FILE_STATUS_INFO` varchar(255) NOT NULL,
+  `EPSG` int(11) NOT NULL,
+  `EXTENT` varchar(100) NOT NULL,
+  `MAP_STATUS` enum('ACTIVE','INACTIVE') NOT NULL DEFAULT 'INACTIVE',
+  `FILE_MD5` varchar(32) NOT NULL,
+  `A_RECORD_CREATE_DATE` datetime NOT NULL,
+  `A_RECORD_CREATE_AUTHOR` varchar(40) NOT NULL,
+  `A_RECORD_UPDATE_DATE` varchar(18) NOT NULL,
+  `A_RECORD_UPDATE_AUTHOR` varchar(40) NOT NULL,
+  `L_APPOITMENT_DATE` datetime NOT NULL,
+  `L_APPOITMENT_USER` varchar(40) NOT NULL,
+  `L_APPOITMENT_PERIOD` varchar(30) NOT NULL,
+  `L_APPOITMENT_INFO` varchar(200) NOT NULL,
+  `L_APPOITMENT_TYPE` enum('','ARRANGED','TO_ARRANGE','CANCELLED','TO_CANCEL','RELATE','WAIT') NOT NULL,
+  `A_PROBLEM` enum('','WARNING','PROBLEM','SERIOUS','UNVERIFIED') NOT NULL,
+  `A_PROBLEM_DESC` varchar(200) NOT NULL,
+  `A_PROBLEM_DATE` datetime NOT NULL,
+  `A_STATUS` enum('DELETED','MONITOR','NORMAL','OFF_HARD','OFF_SOFT','WAITING','WARNING') NOT NULL DEFAULT 'WAITING',
+  `A_STATUS_INFO` varchar(100) NOT NULL,
+  `A_STATUS_LASTCHANGE_DATE` datetime NOT NULL,
+  `A_ADM_COMPANY` varchar(100) NOT NULL,
+  `A_CLASSIFIED` varchar(100) NOT NULL,
+  `SYNC_SQIX_STATUS` varchar(100) NOT NULL,
+  PRIMARY KEY (`ID`)
+) ENGINE=MyISAM  DEFAULT CHARSET=latin2;
+SQL;
+
+                $sqlList['InstallLayerHistTable'] = <<<SQL
+CREATE TABLE IF NOT EXISTS `WMS_LAYERS_HIST` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
+  `ID_USERS2` int(11) NOT NULL,
+  `the_geom` text,
+  `ID_PROJECT` varchar(20) DEFAULT 'N/S;',
+  `LAYER_NAME` varchar(100) DEFAULT 'N/S;',
+  `LAYER_TYPE` varchar(10) DEFAULT 'N/S;',
+  `OLD_LAYER_TYPE` varchar(10) DEFAULT 'N/S;',
+  `LAYER_DESC` varchar(10000) DEFAULT 'N/S;',
+  `ID_WMS_MAPS` varchar(20) DEFAULT 'N/S;',
+  `OLD_ID_WMS_MAPS` varchar(20) DEFAULT 'N/S;',
+  `FILE_NAME` varchar(255) DEFAULT 'N/S;',
+  `FILE_STATUS` varchar(20) DEFAULT 'N/S;',
+  `FILE_STATUS_INFO` varchar(255) DEFAULT 'N/S;',
+  `EPSG` varchar(10) DEFAULT 'N/S;',
+  `EXTENT` varchar(100) DEFAULT 'N/S;',
+  `MAP_STATUS` varchar(20) DEFAULT 'N/S;',
+  `FILE_MD5` varchar(32) DEFAULT 'N/S;',
+  `A_RECORD_CREATE_DATE` varchar(30) DEFAULT 'N/S;',
+  `A_RECORD_CREATE_AUTHOR` varchar(40) DEFAULT 'N/S;',
+  `A_RECORD_UPDATE_DATE` varchar(18) DEFAULT 'N/S;',
+  `A_RECORD_UPDATE_AUTHOR` varchar(40) DEFAULT 'N/S;',
+  `L_APPOITMENT_DATE` varchar(30) DEFAULT 'N/S;',
+  `L_APPOITMENT_USER` varchar(40) DEFAULT 'N/S;',
+  `L_APPOITMENT_PERIOD` varchar(30) DEFAULT 'N/S;',
+  `L_APPOITMENT_INFO` varchar(200) DEFAULT 'N/S;',
+  `L_APPOITMENT_TYPE` varchar(255) DEFAULT 'N/S;',
+  `A_PROBLEM` varchar(255) DEFAULT 'N/S;',
+  `A_PROBLEM_DESC` varchar(200) DEFAULT 'N/S;',
+  `A_PROBLEM_DATE` varchar(255) DEFAULT 'N/S;',
+  `A_STATUS` varchar(255) DEFAULT 'N/S;',
+  `A_STATUS_INFO` varchar(100) DEFAULT 'N/S;',
+  `A_STATUS_LASTCHANGE_DATE` varchar(255) DEFAULT 'N/S;',
+  `A_ADM_COMPANY` varchar(100) DEFAULT 'N/S;',
+  `A_CLASSIFIED` varchar(100) DEFAULT 'N/S;',
+  `SYNC_SQIX_STATUS` varchar(100) DEFAULT 'N/S;',
+  PRIMARY KEY (`ID`)
+) ENGINE=MyISAM  DEFAULT CHARSET=latin2;
+SQL;
+
+		$sqlList['InstallMapTable'] = <<<SQL
+CREATE TABLE IF NOT EXISTS `WMS_MAPS` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
+  `MAP_NAME` varchar(100) NOT NULL,
+  `MAP_DESC` text NOT NULL,
+  `MAP_STATUS` enum('NONE','TO_GENERATE','IN_PROGRESS','GENERATED','ERROR') NOT NULL DEFAULT 'NONE',
+  `MAP_STATUS_INFO` varchar(255) NOT NULL,
+  `MAP_URL` varchar(100) NOT NULL,
+  `MAP_FILE` varchar(100) NOT NULL,
+  `A_RECORD_CREATE_DATE` datetime NOT NULL,
+  `A_RECORD_CREATE_AUTHOR` varchar(40) NOT NULL,
+  `A_RECORD_UPDATE_DATE` varchar(18) NOT NULL,
+  `A_RECORD_UPDATE_AUTHOR` varchar(40) NOT NULL,
+  `L_APPOITMENT_DATE` datetime NOT NULL,
+  `L_APPOITMENT_USER` varchar(40) NOT NULL,
+  `L_APPOITMENT_PERIOD` varchar(30) NOT NULL,
+  `L_APPOITMENT_INFO` varchar(200) NOT NULL,
+  `L_APPOITMENT_TYPE` enum('','ARRANGED','TO_ARRANGE','CANCELLED','TO_CANCEL','RELATE','WAIT') NOT NULL,
+  `A_PROBLEM` enum('','WARNING','PROBLEM','SERIOUS','UNVERIFIED') NOT NULL,
+  `A_PROBLEM_DESC` varchar(200) NOT NULL,
+  `A_PROBLEM_DATE` datetime NOT NULL,
+  `A_STATUS` enum('DELETED','MONITOR','NORMAL','OFF_HARD','OFF_SOFT','WAITING','WARNING') NOT NULL DEFAULT 'WAITING',
+  `A_STATUS_INFO` varchar(100) NOT NULL,
+  `A_STATUS_LASTCHANGE_DATE` datetime NOT NULL,
+  `A_ADM_COMPANY` varchar(100) NOT NULL,
+  `A_CLASSIFIED` varchar(100) NOT NULL,
+  `SYNC_SQIX_STATUS` varchar(100) NOT NULL,
+  PRIMARY KEY (`ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin2;
+SQL;
+
+		$sqlList['InstallMapHistTable'] = <<<SQL
+CREATE TABLE IF NOT EXISTS `WMS_MAPS_HIST` (
+  `ID` int(11) NOT NULL AUTO_INCREMENT,
+  `ID_USERS2` int(11) NOT NULL,
+  `MAP_NAME` varchar(100) DEFAULT 'N/S;',
+  `MAP_DESC` varchar(10000) NOT NULL DEFAULT 'N/S;',
+  `MAP_STATUS` varchar(20) NOT NULL DEFAULT 'N/S;',
+  `MAP_STATUS_INFO` varchar(255) NOT NULL DEFAULT 'N/S;',
+  `MAP_URL` varchar(100) NOT NULL DEFAULT 'N/S;',
+  `MAP_FILE` varchar(100) NOT NULL DEFAULT 'N/S;',
+  `A_RECORD_CREATE_DATE` varchar(30) DEFAULT 'N/S;',
+  `A_RECORD_CREATE_AUTHOR` varchar(40) DEFAULT 'N/S;',
+  `A_RECORD_UPDATE_DATE` varchar(18) DEFAULT 'N/S;',
+  `A_RECORD_UPDATE_AUTHOR` varchar(40) DEFAULT 'N/S;',
+  `L_APPOITMENT_DATE` varchar(30) DEFAULT 'N/S;',
+  `L_APPOITMENT_USER` varchar(40) DEFAULT 'N/S;',
+  `L_APPOITMENT_PERIOD` varchar(30) DEFAULT 'N/S;',
+  `L_APPOITMENT_INFO` varchar(200) DEFAULT 'N/S;',
+  `L_APPOITMENT_TYPE` varchar(255) DEFAULT 'N/S;',
+  `A_PROBLEM` varchar(255) DEFAULT 'N/S;',
+  `A_PROBLEM_DESC` varchar(200) DEFAULT 'N/S;',
+  `A_PROBLEM_DATE` varchar(255) DEFAULT 'N/S;',
+  `A_STATUS` varchar(255) DEFAULT 'N/S;',
+  `A_STATUS_INFO` varchar(100) DEFAULT 'N/S;',
+  `A_STATUS_LASTCHANGE_DATE` varchar(255) DEFAULT 'N/S;',
+  `A_ADM_COMPANY` varchar(100) DEFAULT 'N/S;',
+  `A_CLASSIFIED` varchar(100) DEFAULT 'N/S;',
+  `SYNC_SQIX_STATUS` varchar(100) DEFAULT 'N/S;',
+  PRIMARY KEY (`ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin2;
+SQL;
+*/
+		$db = DB::getDB();
+		if ($db->has_errors()) {
+			throw new Exception("DB Errors: " . implode("\n<br>", $db->get_errors()));
+		}
+		foreach ($sqlList as $sqlName => $sql) {
+			$res = $db->query($sql);
+			if ($db->has_errors()) {
+				throw new Exception("DB Errors at sql '{$sqlName}': " . implode("\n<br>", $db->get_errors()));
+			}
+		}
+	}
+
+
+}