Wohneinheiten: " + units;
+ label += "
Belegte Wohneinheiten: " + units_used + " von " + units;
if(code || oan_id) {
if(code) {
label += "
Code: " + code;
diff --git a/application/Building/Building.php b/application/Building/Building.php
index 2003391b4..b2b8bf53a 100644
--- a/application/Building/Building.php
+++ b/application/Building/Building.php
@@ -80,6 +80,25 @@ class Building extends mfBaseModel {
return $code;
}
+ public function getUsedTerminationCount($includePreorders = false) {
+ if(!$this->id) {
+ return false;
+ }
+
+ $count = 0;
+
+ $orders = OrderModel::search(['building_id' => $this->id]);
+ $count += count($orders);
+
+ if($includePreorders) {
+ $preorders = PreorderModel::search(['building_id' => $this->id]);
+ $count += count($preorders);
+ }
+
+ return $count;
+
+ }
+
public function loadWorkflowItems() {
$item_ids = [];
diff --git a/application/Building/BuildingController.php b/application/Building/BuildingController.php
index 5a6802ce3..47b504580 100644
--- a/application/Building/BuildingController.php
+++ b/application/Building/BuildingController.php
@@ -294,10 +294,10 @@ class BuildingController extends mfBaseController {
$data['email'] = $building->email;
}
/*
- // no more lineworker_id in Termination
- if($building->lineworker_id) {
- $data['lineworker_id'] = $building->lineworker_id;
- }*/
+ // no more lineworker_id in Termination
+ if($building->lineworker_id) {
+ $data['lineworker_id'] = $building->lineworker_id;
+ }*/
if($building->oan_id) {
$data['oan_id'] = $building->oan_id. "." . sprintf("%03d", $i);
}
@@ -418,6 +418,7 @@ class BuildingController extends mfBaseController {
$u['oan_id'] = $building->oan_id;
$u['code'] = $building->code;
$u['units'] = ($building->units) ? $building->units : 1;
+ $u['units_used'] = $building->getUsedTerminationCount(true);
$u['status'] = $building->status->name;
$unsorted[$building->street."-".$building->id] = $u;
}
diff --git a/application/Dashboard/DashboardController.php b/application/Dashboard/DashboardController.php
index 80430640d..f618c7970 100644
--- a/application/Dashboard/DashboardController.php
+++ b/application/Dashboard/DashboardController.php
@@ -29,9 +29,15 @@ class DashboardController extends mfBaseController {
var_dump($a->generateServicePin());exit;
*/
+ /*
$t = new Termination(45);
$ports = $t->getLineworkportPairs();
var_dump($ports);exit;
+ *
+ */
+
+ $b = new Building(12);
+ echo $b->getUsedTerminationCount(true);exit;
}
protected function pdfAction() {
diff --git a/application/Order/OrderModel.php b/application/Order/OrderModel.php
index de825bd86..710413278 100644
--- a/application/Order/OrderModel.php
+++ b/application/Order/OrderModel.php
@@ -332,6 +332,17 @@ class OrderModel {
}
}
+ if(array_key_exists("building_id", $filter)) {
+ $building_id = $filter['building_id'];
+ if(is_numeric($building_id)) {
+ $where .= " AND Building.id=$building_id";
+ } elseif(is_array($building_id)) {
+ $where .= " AND Building.id IN (".implode(",",$building_id).")";
+ } elseif($building_id === null) {
+ $where .= " AND Building.id IS NULL";
+ }
+ }
+
if(array_key_exists("termination_id", $filter)) {
$termination_id = $filter['termination_id'];
if(is_numeric($termination_id)) {
diff --git a/application/Preorder/PreorderModel.php b/application/Preorder/PreorderModel.php
index fc9f591a5..2a9d39bbc 100644
--- a/application/Preorder/PreorderModel.php
+++ b/application/Preorder/PreorderModel.php
@@ -118,6 +118,17 @@ class PreorderModel {
}
}
+ if(array_key_exists("building_id", $filter)) {
+ $building_id = $filter['building_id'];
+ if(is_numeric($building_id)) {
+ $where .= " AND building_id=$building_id";
+ } elseif(is_array($building_id)) {
+ $where .= " AND building_id IN (".implode(",",$building_id).")";
+ } elseif($building_id === null) {
+ $where .= " AND building_id IS NULL";
+ }
+ }
+
//var_dump($filter, $where);exit;