PageRenderTime 52ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 1ms

/plugins/wasserrecht/model/db/teilgewaesserbenutzungen.php

https://github.com/srahn/kvwmap
PHP | 352 lines | 270 code | 48 blank | 34 comment | 31 complexity | c9a70b02a502b130f19b8ffdc43669e9 MD5 | raw file
  1. <?php
  2. class Teilgewaesserbenutzungen extends WrPgObject {
  3. protected $tableName = 'fiswrv_teilgewaesserbenutzungen';
  4. public $gewaesserbenutzungArt;
  5. public $gewaesserbenutzungZweck;
  6. public $mengenbestimmung;
  7. public $art_benutzung;
  8. public $entgeltsatz;
  9. public $teilgewaesserbenutzungen_art;
  10. public $gewaesserbenutzungen;
  11. public function find_where_with_subtables($where, $order = NULL, $select = '*')
  12. {
  13. $this->log->log_info('*** Teilgewaesserbenutzungen->find_where_with_subtables ***');
  14. $this->log->log_debug('where: ' . $where);
  15. $teilgewaesserbenutzungen = $this->find_where($where, $order, $select);
  16. if(!empty($teilgewaesserbenutzungen))
  17. {
  18. foreach ($teilgewaesserbenutzungen AS $teilgewaesserbenutzung)
  19. {
  20. if(!empty($teilgewaesserbenutzung))
  21. {
  22. $gwa = new GewaesserbenutzungenArt($this->gui);
  23. if(!empty($teilgewaesserbenutzung->data['art']))
  24. {
  25. $gewaesserbenutzungArt = $gwa->find_where('id=' . $teilgewaesserbenutzung->data['art']);
  26. if(!empty($gewaesserbenutzungArt))
  27. {
  28. $teilgewaesserbenutzung->gewaesserbenutzungArt = $gewaesserbenutzungArt[0];
  29. }
  30. }
  31. $gwz = new GewaesserbenutzungenZweck($this->gui);
  32. if(!empty($teilgewaesserbenutzung->data['zweck']))
  33. {
  34. $gewaesserbenutzungZweck = $gwz->find_where('id=' . $teilgewaesserbenutzung->data['zweck']);
  35. if(!empty($gewaesserbenutzungZweck))
  36. {
  37. $teilgewaesserbenutzung->gewaesserbenutzungZweck = $gewaesserbenutzungZweck[0];
  38. }
  39. }
  40. // $gwu = new GewaesserbenutzungenUmfang($this->gui);
  41. // if(!empty($teilgewaesserbenutzung->data['umfang']))
  42. // {
  43. // // echo 'id=' . $teilgewaesserbenutzung->data['umfang'];
  44. // $gewaesserbenutzungUmfang = $gwu->find_where('id=' . $teilgewaesserbenutzung->data['umfang']);
  45. // if(!empty($gewaesserbenutzungUmfang))
  46. // {
  47. // $teilgewaesserbenutzung->gewaesserbenutzungUmfang = $gewaesserbenutzungUmfang[0];
  48. // }
  49. // }
  50. $mb = new Mengenbestimmung($this->gui);
  51. if(!empty($teilgewaesserbenutzung->data['mengenbestimmung']))
  52. {
  53. $mengenbestimmung = $mb->find_where('id=' . $teilgewaesserbenutzung->data['mengenbestimmung']);
  54. if(!empty($mengenbestimmung))
  55. {
  56. $teilgewaesserbenutzung->mengenbestimmung = $mengenbestimmung[0];
  57. }
  58. }
  59. $ab = new GewaesserbenutzungenArtBenutzung($this->gui);
  60. if(!empty($teilgewaesserbenutzung->data['art_benutzung']))
  61. {
  62. $gewaesserbenutzungArtBenutzung = $ab->find_where('id=' . $teilgewaesserbenutzung->data['art_benutzung']);
  63. if(!empty($gewaesserbenutzungArtBenutzung))
  64. {
  65. $teilgewaesserbenutzung->art_benutzung = $gewaesserbenutzungArtBenutzung[0];
  66. }
  67. }
  68. $eesatz = new GewaesserbenutzungenWeeSatz($this->gui);
  69. if(!empty($teilgewaesserbenutzung->data['entgeltsatz']))
  70. {
  71. $entgeltsatz = $eesatz->find_where('id=' . $teilgewaesserbenutzung->data['entgeltsatz']);
  72. if(!empty($entgeltsatz))
  73. {
  74. $teilgewaesserbenutzung->entgeltsatz = $entgeltsatz[0];
  75. }
  76. }
  77. $tgba = new TeilgewaesserbenutzungenArt($this->gui);
  78. if(!empty($teilgewaesserbenutzung->data['teilgewaesserbenutzungen_art']))
  79. {
  80. $teilgewaesserbenutzungen_art = $tgba->find_where('id=' . $teilgewaesserbenutzung->data['teilgewaesserbenutzungen_art']);
  81. if(!empty($teilgewaesserbenutzungen_art))
  82. {
  83. $teilgewaesserbenutzung->teilgewaesserbenutzungen_art = $teilgewaesserbenutzungen_art[0];
  84. }
  85. }
  86. $gb = new Gewaesserbenutzungen($this->gui);
  87. if(!empty($teilgewaesserbenutzung->data['gewaesserbenutzungen']))
  88. {
  89. $gewaesserbenutzungen = $gb->find_where('id=' . $teilgewaesserbenutzung->data['gewaesserbenutzungen']);
  90. if(!empty($gewaesserbenutzungen))
  91. {
  92. $teilgewaesserbenutzung->gewaesserbenutzungen = $gewaesserbenutzungen[0];
  93. }
  94. }
  95. }
  96. }
  97. }
  98. return $teilgewaesserbenutzungen;
  99. }
  100. public function getErhebungsjahr() {
  101. return $this->data['erhebungsjahr'];
  102. }
  103. public function getWiedereinleitungNutzer() {
  104. return $this->data['wiedereinleitung_nutzer'];
  105. }
  106. public function getWiedereinleitungBearbeiter() {
  107. if(!empty($this->data['wiedereinleitung_bearbeiter']))
  108. {
  109. if($this->data['wiedereinleitung_bearbeiter'] === 't')
  110. {
  111. return true;
  112. }
  113. elseif($this->data['wiedereinleitung_bearbeiter'] === 'f')
  114. {
  115. return false;
  116. }
  117. }
  118. return null;
  119. }
  120. public function getBefreiungstatbestaende() {
  121. if(!empty($this->data['befreiungstatbestaende']))
  122. {
  123. if($this->data['befreiungstatbestaende'] === 't')
  124. {
  125. return true;
  126. }
  127. elseif($this->data['befreiungstatbestaende'] === 'f')
  128. {
  129. return false;
  130. }
  131. }
  132. return null;
  133. }
  134. public function getUmfang() {
  135. return $this->data['umfang'];
  136. }
  137. public function getUmfangHTML()
  138. {
  139. if(!empty($this->getUmfang()))
  140. {
  141. return number_format($this->getUmfang(), 0, '', ' ') . " m³/a";
  142. }
  143. return "";
  144. }
  145. public function getBerechneterEntgeltsatzZugelassen() {
  146. return $this->data['berechneter_entgeltsatz_zugelassen'];
  147. }
  148. public function getBerechneterEntgeltsatzNichtZugelassen() {
  149. return $this->data['berechneter_entgeltsatz_nicht_zugelassen'];
  150. }
  151. public function getBerechnetesEntgeltZugelassen() {
  152. return $this->data['berechnetes_entgelt_zugelassen'];
  153. }
  154. public function getBerechnetesEntgeltNichtZugelassen() {
  155. return $this->data['berechnetes_entgelt_nicht_zugelassen'];
  156. }
  157. public function getEntgeltsatz($artBenutzungId, $befreit, $zugelassen, $ermaessigt)
  158. {
  159. $this->log->log_info('*** Teilgewaesserbenutzungen->getEntgeltsatz ***');
  160. $this->log->log_debug('artBenutzungId: ' . var_export($artBenutzungId, true));
  161. $this->log->log_debug('befreit: ' . var_export($befreit, true));
  162. $this->log->log_debug('zugelassen: ' . var_export($zugelassen, true));
  163. $this->log->log_debug('ermaessigt: ' . var_export($ermaessigt, true));
  164. if(!empty($this->entgeltsatz))
  165. {
  166. // echo "Entgeltsatz not null";
  167. if(!empty($artBenutzungId))
  168. {
  169. if($artBenutzungId === "1") //GW
  170. {
  171. if($befreit)
  172. {
  173. return $this->entgeltsatz->getSatzGW_Befreit();
  174. }
  175. elseif($zugelassen)
  176. {
  177. if($ermaessigt)
  178. {
  179. return $this->entgeltsatz->getSatzGW_ZugelassenErmaessigt();
  180. }
  181. else
  182. {
  183. return $this->entgeltsatz->getSatzGW_Zugelassen();
  184. }
  185. }
  186. else
  187. {
  188. return $this->entgeltsatz->getSatzGW_NichtZugelassen();
  189. }
  190. }
  191. elseif ($artBenutzungId === "2") //OW
  192. {
  193. if($befreit)
  194. {
  195. return $this->entgeltsatz->getSatzOW_Befreit();
  196. }
  197. elseif($zugelassen)
  198. {
  199. if($ermaessigt)
  200. {
  201. return $this->entgeltsatz->getSatzOW_ZugelassenErmaessigt();
  202. }
  203. else
  204. {
  205. return $this->entgeltsatz->getSatzOW_Zugelassen();
  206. }
  207. }
  208. else
  209. {
  210. return $this->entgeltsatz->getSatzOW_NichtZugelassen();
  211. }
  212. }
  213. }
  214. }
  215. // else
  216. // {
  217. // echo "Entgeltsatz is null";
  218. // }
  219. return "<div style=\"color: red;\">Fehler</div>";
  220. }
  221. public function getEntgelt($umfang, $artBenutzungId, $befreit, $zugelassen, $ermaessigt)
  222. {
  223. $entgeltsatz = $this->getEntgeltsatz($artBenutzungId, $befreit, $zugelassen, $ermaessigt);
  224. if(is_numeric($entgeltsatz))
  225. {
  226. return $umfang * $entgeltsatz;
  227. }
  228. return $entgeltsatz;
  229. }
  230. public function getFreitext() {
  231. return $this->data['freitext'];
  232. }
  233. public function createTeilgewaesserbenutzung_Nutzer($gewaesserbenutzungen, $erhebungsjahr, $art = NULL, $zweck = NULL, $umfang = NULL, $wiedereinleitung_nutzer = NULL, $mengenbestimmung = NULL, $teilgewaesserbenutzungen_art = NULL, $entgeltsatz = NULL)
  234. {
  235. if (!empty($gewaesserbenutzungen) && !empty($erhebungsjahr))
  236. {
  237. $teilgewaesserbenutzung_value_array = array
  238. (
  239. 'gewaesserbenutzungen' => $gewaesserbenutzungen,
  240. 'erhebungsjahr' => $erhebungsjahr
  241. );
  242. $this->addToArray($teilgewaesserbenutzung_value_array, 'art', $art);
  243. $this->addToArray($teilgewaesserbenutzung_value_array, 'zweck', $zweck);
  244. $this->addToArray($teilgewaesserbenutzung_value_array, 'umfang', $umfang);
  245. $this->addToArray($teilgewaesserbenutzung_value_array, 'wiedereinleitung_nutzer', $wiedereinleitung_nutzer);
  246. $this->addToArray($teilgewaesserbenutzung_value_array, 'mengenbestimmung', $mengenbestimmung);
  247. $this->addToArray($teilgewaesserbenutzung_value_array, 'teilgewaesserbenutzungen_art', $teilgewaesserbenutzungen_art);
  248. $this->addToArray($teilgewaesserbenutzung_value_array, 'entgeltsatz', $entgeltsatz);
  249. // print_r($teilgewaesserbenutzung_value_array);
  250. $this->log->log_debug('teilgewaesserbenutzung_value_array: ' . var_export($teilgewaesserbenutzung_value_array, true));
  251. return $this->create(
  252. $teilgewaesserbenutzung_value_array
  253. );
  254. }
  255. }
  256. // public function createTeilgewaesserbenutzung_Bearbeiter($gewaesserbenutzungen, $art_benutzung = NULL, $wiedereinleitung_bearbeiter = NULL, $befreiungstatbestaende = NULL)
  257. // {
  258. // if (!empty($gewaesserbenutzungen))
  259. // {
  260. // $teilgewaesserbenutzung_value_array = array
  261. // (
  262. // 'gewaesserbenutzungen' => $gewaesserbenutzungen
  263. // );
  264. // $this->addToArray($teilgewaesserbenutzung_value_array, 'art_benutzung', $art_benutzung);
  265. // $this->addToArray($teilgewaesserbenutzung_value_array, 'wiedereinleitung_bearbeiter', $wiedereinleitung_bearbeiter);
  266. // $this->addToArray($teilgewaesserbenutzung_value_array, 'befreiungstatbestaende', $befreiungstatbestaende);
  267. // // print_r($teilgewaesserbenutzung_value_array);
  268. // $this->log->log_debug('teilgewaesserbenutzung_value_array: ' . var_export($teilgewaesserbenutzung_value_array, true));
  269. // return $this->create(
  270. // $teilgewaesserbenutzung_value_array
  271. // );
  272. // }
  273. // }
  274. public function updateTeilgewaesserbenutzung_Nutzer($erhebungsjahr = NULL, $art = NULL, $zweck = NULL, $umfang = NULL, $wiedereinleitung_nutzer = NULL, $mengenbestimmung = NULL, $teilgewaesserbenutzungen_art = NULL, $entgeltsatz = NULL)
  275. {
  276. $this->updateData('erhebungsjahr', $erhebungsjahr);
  277. $this->updateData('art', $art);
  278. $this->updateData('zweck', $zweck);
  279. $this->updateData('umfang', $umfang);
  280. $this->updateData('wiedereinleitung_nutzer', $wiedereinleitung_nutzer);
  281. $this->updateData('mengenbestimmung', $mengenbestimmung);
  282. $this->updateData('entgeltsatz', $entgeltsatz);
  283. $this->updateData('teilgewaesserbenutzungen_art', $teilgewaesserbenutzungen_art);
  284. $this->log->log_debug('kvp update: ' . var_export($this->getKVP(), true));
  285. $this->update();
  286. return $this->getId();
  287. }
  288. public function updateTeilgewaesserbenutzung_Bearbeiter($erhebungsjahr = NULL, $art_benutzung = NULL, $wiedereinleitung_bearbeiter = NULL, $befreiungstatbestaende = NULL, $freitext = NULL, $berechneter_entgeltsatz_zugelassen = NULL, $berechneter_entgeltsatz_nicht_zugelassen = NULL, $berechnetes_entgelt_zugelassen = NULL, $berechnetes_entgelt_nicht_zugelassen = NULL)
  289. {
  290. $this->updateData('erhebungsjahr', $erhebungsjahr);
  291. $this->updateData('art_benutzung', $art_benutzung);
  292. $this->updateData('wiedereinleitung_bearbeiter', $wiedereinleitung_bearbeiter);
  293. $this->updateData('befreiungstatbestaende', $befreiungstatbestaende);
  294. $this->updateData('freitext', $freitext);
  295. $this->updateData('berechneter_entgeltsatz_zugelassen', $berechneter_entgeltsatz_zugelassen);
  296. $this->updateData('berechneter_entgeltsatz_nicht_zugelassen', $berechneter_entgeltsatz_nicht_zugelassen);
  297. $this->updateData('berechnetes_entgelt_zugelassen', $berechnetes_entgelt_zugelassen);
  298. $this->updateData('berechnetes_entgelt_nicht_zugelassen', $berechnetes_entgelt_nicht_zugelassen);
  299. $this->log->log_debug('kvp update: ' . var_export($this->getKVP(), true));
  300. $this->update();
  301. return $this->getId();
  302. }
  303. }
  304. ?>