preorderaddressreporting permission; preorder split script updated

This commit is contained in:
Frank Schubert
2023-05-31 15:57:28 +02:00
parent 81837986c4
commit 7216b3339d
10 changed files with 201 additions and 186 deletions

View File

@@ -126,9 +126,8 @@
</select>
</div>
<?php if($me->is("Admin")): ?>
<div class="col-2">
<label class="form-label" for="filter_unit_count">Anzahl GWR Wohneinheiten</label>
<label class="form-label" for="filter_unit_count">Anzahl Wohneinheiten in GWR</label>
<select name="filter[unit_count]" id="filter_unit_count" class="form-control">
<option value=""></option>
<option value="0" <?=(isset($filter) && array_key_exists("unit_count", $filter) && strlen($filter['unit_count']) && intval($filter['unit_count']) === 0) ? "selected='selected'" : ""?>>0</option>
@@ -137,6 +136,7 @@
</select>
</div>
<?php if($campaign->fulfillment == "rimo"): ?>
<div class="col-2">
<label class="form-label" for="filter_rimo_workorder">Rimo Workorder</label>
<select name="filter[rimo_workorder]" id="filter_rimo_workorder" class="form-control">
@@ -228,7 +228,7 @@
<th>Attribute</th>
<th>Erstellt</th>
<th>Zuletzt bearbeitet</th>
<?php if($me->is("Admin")): ?>
<?php if($me->is("Admin") && $campaign->fulfillment == "rimo"): ?>
<th></th>
<?php endif; ?>
<th></th>
@@ -270,7 +270,7 @@
</td>
<td><?=date('d.m.Y H:i', $preorder->create)?></td>
<td id="update-<?=$preorder->id?>"><?=date('d.m.Y H:i', $preorder->edit)?></td>
<?php if($me->is("Admin")): ?>
<?php if($me->is("Admin") && $campaign->fulfillment == "rimo"): ?>
<td><?php if ($preorder->workorder_export_date):?><i class="fas fa-r" title="Rimo Workorder erstellt"></i><?php endif; ?></td>
<?php endif; ?>
<td style="text-align: left; letter-spacing: 4px; font-size: 1.1em;">

View File

@@ -112,6 +112,7 @@
<div class="col-lg-10">
<select class="form-control" name="fulfillment" id="fulfillment" data-placeholder="Bitte auswählen ...">
<option value="thetool" <?=($campaign->fulfillment == "thetool") ? "selected='selected'" : ""?>>thetool</option>
<option value="rimo" <?=($campaign->fulfillment == "rimo") ? "selected='selected'" : ""?>>RIMO</option>
<option value="thirdparty" <?=($campaign->fulfillment == "thirdparty") ? "selected='selected'" : ""?>>Drittsystem</option>
</select>
</div>

View File

@@ -64,7 +64,7 @@
<option value="true" <?=(isset($user) && $user->is("Technician")) ? "selected='selected'" : ""?>>Yes</option>
</select>
</div>
<div class="form-group">
<div class="form-group" id="preorderfront-container">
<label for="preorderfront">Preorder Frontdesk:</label>
<select name="preorderfront" class="form-control">
<option value="false" <?=(isset($user) && !$user->is("preorderfront")) ? "selected='selected'" : ""?>>No</option>
@@ -72,6 +72,15 @@
</select>
</div>
<div class="form-group" id="preorder-reporting-container">
<label for="preorderaddressreporting">Preorder Address Reporting API User:</label>
<select name="preorderaddressreporting" class="form-control">
<option value="false" <?=(isset($user) && !$user->is("preorderaddressreporting")) ? "selected='selected'" : ""?>>No</option>
<option value="true" <?=(isset($user) && $user->is("preorderaddressreporting")) ? "selected='selected'" : ""?>>Yes</option>
</select>
<small>z.B. Meridiam</small>
</div>
<div class="form-group" id="preorder-network-container">
<label for="preorder_networks">Preorder Netzgebiete:</label>
<?php
@@ -154,17 +163,37 @@
closeOnSelect: false
});
<?php if(!$user || !$user->is("preorderfront")): ?>
<?php if(!$user || (!$user->is("preorderfront") && !$user->is("preorderaddressreporting")) ): ?>
$("#preorder-network-container").hide();
<?php endif; ?>
<?php if($user && ($user->is("preorderfront")) ): ?>
$("#preorder-reporting-container").hide();
<?php endif; ?>
<?php if($user && ($user->is("preorderaddressreporting")) ): ?>
$("#preorderfront-container").hide();
<?php endif; ?>
$("select[name=preorderfront]").change(function() {
if($("select[name=preorderfront]").val() == "true") {
$("#preorder-network-container").show();
$("#preorder-network-container").show(500);
$("#preorder-reporting-container").hide(500);
} else {
$("#preorder-network-container").hide();
$("#preorder-network-container").hide(500);
$("#preorder-reporting-container").show(500);
}
});
// preorder-reporting-container
$("select[name=preorderaddressreporting]").change(function() {
if($("select[name=preorderaddressreporting]").val() == "true") {
$("#preorder-network-container").show(400);
$("#preorderfront-container").hide(400);
} else {
$("#preorder-network-container").hide(400);
$("#preorderfront-container").show(400);
}
});
});
</script>

View File

@@ -42,15 +42,21 @@ class AddressDB {
`Wohneinheit`.`stock` AS `stock`,
`Wohneinheit`.`tuer` AS `tuer`,
`Wohneinheit`.`bezeichner` AS `bezeichner`,
`Wohneinheit`.`zusatz` AS `zusatz`
`Wohneinheit`.`nutzung` AS `nutzung`
`Wohneinheit`.`zusatz` AS `zusatz`,
`Wohneinheit`.`nutzung` AS `nutzung`,
tbl_preorder.type AS `order_type`,
tbl_address.id AS `partner_id`,
tbl_address.company AS `partner_company`
from `Hausnummer`
left join `Netzgebiet` on (`Hausnummer`.`netzgebiet_id` = `Netzgebiet`.`id`)
left join `Plz` on (`Plz`.`id` = `Hausnummer`.`plz_id`)
left join `Strasse` on (`Strasse`.`id` = `Hausnummer`.`strasse_id`)
left join `Ortschaft` on (`Ortschaft`.`id` = `Hausnummer`.`ortschaft_id`)
left join `Gemeinde` on (`Gemeinde`.`id` = `Strasse`.`gemeinde_id`)
left join `Wohneinheit` on (`Wohneinheit`.`hausnummer_id` = `Hausnummer`.`id`)";
left join `Wohneinheit` on (`Wohneinheit`.`hausnummer_id` = `Hausnummer`.`id`)
left join `".FRONKDB_DBNAME."`.`Preorder` as tbl_preorder on (tbl_preorder.`adb_wohneinheit_id` = `Wohneinheit`.`id`)
left join `".FRONKDB_DBNAME."`.`Address` as tbl_address on (tbl_address.`id` = tbl_preorder.partner_id)
";
/*public static $wohneinheit_query = "select `Netzgebiet`.`id` AS `netzgebiet_id`,
`Netzgebiet`.`name` AS `netzgebiet`,

View File

@@ -29,53 +29,100 @@ class AddressdbApicontroller extends mfBaseApicontroller {
}
protected function authenticated() {
$campaignApiusers = PreordercampaignApiuserModel::search(["worker_id" => $this->me->id]);
if(!$campaignApiusers) {
$cau = new PreordercampaignApiuser();
$cau->preordercampaign_id = 1;
$campaignApiusers = [$cau];
}
if($this->me->is("preorderaddressreporting")) {
$preorder_networks = json_decode($this->me->getFlag("preorder_networks"));
foreach($campaignApiusers as $campaignApiuser) {
$campaign = new Preordercampaign($campaignApiuser->preordercampaign_id);
if($campaign) {
foreach(PreordercampaignSalesclusterModel::search(['preordercampaign_id' => $campaign->id]) as $campain_scluster) {
if(!in_array($campain_scluster->salescluster_id, $this->filter_salescluster_ids)) {
$this->filter_salescluster_ids[] = $campain_scluster->salescluster_id;
if(!is_array($preorder_networks) || !count($preorder_networks)) {
return mfResponse::Forbidden();
}
//$this->filter_salescluster_ids = $preorder_networks;
foreach($preorder_networks as $network_id) {
$network = new Network($network_id);
$adb_netzgebiet_id = $network->adb_netzgebiet_id;
foreach(PreordercampaignSalesclusterModel::search(["salescluster_id" => $adb_netzgebiet_id]) as $campaign_scluster) {
if(!in_array($campaign_scluster->salescluster_id, $this->filter_salescluster_ids)) {
$this->filter_salescluster_ids[] = $campaign_scluster->salescluster_id;
}
$campaign = new Preordercampaign($campaign_scluster->preordercampaign_id);
if(!$campaign->id) continue;
$this->campaigns_by_scluster[$adb_netzgebiet_id] = $campaign_scluster->preordercampaign_id;
$this->campaigns[$campaign->id] = $campaign;
// get allowed preordertypes
if(is_array($campaign->types) && count($campaign->types)) {
foreach($campaign->types as $type) {
$this->allowed_preordertypes[] = $type->type;
}
}
$this->campaigns_by_scluster[$campain_scluster->salescluster_id] = $campaign->id;
}
$this->campaigns[$campaign->id] = $campaign;
// get allowed preordertypes
if(is_array($campaign->types) && count($campaign->types)) {
foreach($campaign->types as $type) {
$this->allowed_preordertypes[] = $type->type;
if($campaign->district_is_city == 1) {
$this->district_is_city = true;
}
}
if($campaign->district_is_city == 1) {
$this->district_is_city = true;
}
if($campaign->hausnummer_add_zusatz == 1) {
$this->hausnummer_add_zusatz = true;
if($campaign->hausnummer_add_zusatz == 1) {
$this->hausnummer_add_zusatz = true;
}
foreach(PreordercampaignOriginhostnameModel::search(['preordercampaign_id' => $campaign->id]) as $origin) {
$this->addAllowedOrigin($origin->hostname);
}
}
}
foreach(PreordercampaignOriginhostnameModel::search(['preordercampaign_id' => $campaign->id]) as $origin) {
$this->addAllowedOrigin($origin->hostname);
} else {
$campaignApiusers = PreordercampaignApiuserModel::search(["worker_id" => $this->me->id]);
if(!$campaignApiusers) {
$cau = new PreordercampaignApiuser();
$cau->preordercampaign_id = 1;
$campaignApiusers = [$cau];
}
foreach($campaignApiusers as $campaignApiuser) {
$campaign = new Preordercampaign($campaignApiuser->preordercampaign_id);
if($campaign) {
foreach(PreordercampaignSalesclusterModel::search(['preordercampaign_id' => $campaign->id]) as $campaign_scluster) {
if(!in_array($campaign_scluster->salescluster_id, $this->filter_salescluster_ids)) {
$this->filter_salescluster_ids[] = $campaign_scluster->salescluster_id;
}
$this->campaigns_by_scluster[$campaign_scluster->salescluster_id] = $campaign->id;
}
$this->campaigns[$campaign->id] = $campaign;
// get allowed preordertypes
if(is_array($campaign->types) && count($campaign->types)) {
foreach($campaign->types as $type) {
$this->allowed_preordertypes[] = $type->type;
}
}
if($campaign->district_is_city == 1) {
$this->district_is_city = true;
}
if($campaign->hausnummer_add_zusatz == 1) {
$this->hausnummer_add_zusatz = true;
}
}
foreach(PreordercampaignOriginhostnameModel::search(['preordercampaign_id' => $campaign->id]) as $origin) {
$this->addAllowedOrigin($origin->hostname);
}
}
//var_dump($this->allowed_preordertypes);exit;
//var_dump($this->filter_salescluster_ids, $this->campaigns_by_scluster);exit;
//var_dump($this->campaigns, $this->allowed_origins);exit;
}
$this->allowed_preordertypes = array_unique($this->allowed_preordertypes);
//var_dump($this->allowed_preordertypes);exit;
//var_dump($this->filter_salescluster_ids, $this->campaigns_by_scluster);exit;
//var_dump($this->campaigns, $this->allowed_origins);exit;
}
@@ -316,135 +363,6 @@ class AddressdbApicontroller extends mfBaseApicontroller {
if($search == "%") {
return mfResponse::BadRequest(['message' => "Search string cannot be empty"]);
}
/*
* try direct search
*/
/*$m = [];
if(preg_match('/^([^,]+)\s+(\d+\w+),\s*(\d+),?\s*(.+)$/', $search, $m)) {
if($m[1] && $m[2] && $m[3] && $m[4]) {
$dsearch['Strasse.name'] = $this->db()->escape(trim($m[1]));
$dsearch['Hausnummer.hausnummer'] = $this->db()->escape(trim($m[2]));
$dsearch['Plz.plz'] = $this->db()->escape(trim($m[3]));
if($this->district_is_city) {
$dsearch['Ortschaft.name'] = $this->db()->escape(trim($m[4]));
} else {
$dsearch['Gemeinde.name'] = $this->db()->escape(trim($m[4]));
}
$where = "1=1";
if(count($this->filter_salescluster_ids)) {
$where .= " AND netzgebiet_id IN (".implode(",", $this->filter_salescluster_ids).")";
}
foreach($dsearch as $field => $value) {
$where .= " AND $field = '$value'";
}
$sql = AddressDB::$wohneinheit_query;
$sql .= "\n WHERE $where";
$this->log->debug($sql);
$res = $this->db()->query($sql);
if($this->db()->num_rows($res)) {
$address = [];
$units = [];
$hausnummer_id = false;
while($data = $this->db()->fetch_object($res)) {
if(!$hausnummer_id) {
$hausnummer_id = $data->hausnummer_id;
// get allowed preorderTypes
$ptypes = [];
if($data->freigabe) {
$freigaben = json_decode($data->freigabe);
if(is_array($freigaben) && count($freigaben)) {
foreach($freigaben as $freigabe) {
if(in_array($freigabe, $this->allowed_preordertypes)) {
$ptypes[] = $freigabe;
}
}
}
}
$housenumber = $data->hausnummer;
if($this->hausnummer_add_zusatz) {
if($data->zusatz) {
$housenumber .= " (".$data->zusatz.")";
}
}
$address = [
'oaid' => $data->hausnummer_oaid,
'cluster_id' => $data->netzgebiet_extref,
'zip' => $data->plz,
'city' => $data->gemeinde,
"municipality" => "",
'district' => $data->ortschaft,
'street' => $data->strasse,
'housenumber' => $housenumber,
'lot_number' => $data->grund_nr,
'building_unit_count' => 0,
'gps_lat' => ($data->gps_lat) ? (float)$data->gps_lat : null,
'gps_long' => ($data->gps_long) ? (float)$data->gps_long : null,
'rollout_year' => ($data->rollout) ? (int)$data->rollout : null,
'rollout_info' => $data->rollout_info,
'preorderTypes' => $ptypes,
'units' => []
];
if($this->district_is_city) {
$address['city'] = $data->ortschaft;
$address['municipality'] = $data->gemeinde;
} else {
unset($address['municipality']);
}
}
if($hausnummer_id && $hausnummer_id != $data->hausnummer_id) {
$address = [];
break;
}
$units[] = [
'oaid' => $data->wohneinheit_oaid,
'num' => (int)$data->num,
'block' => $data->block,
'stiege' => $data->stiege,
'stock' => $data->stock,
'tuer' => $data->tuer,
'zusatz' => $data->zusatz,
];
}
//var_dump($address, $units);exit;
$new_addresses = [];
if($address) {
if($format == "tree") {
$new_address = $address;
$new_address['units'] = $units;
$new_addresses[] = $address;
} else {
foreach($units as $unit) {
$new_address = $address;
unset($new_address['units']);
$new_address['building_unit_count'] = count($units);
$new_address['num'] = $unit['num'];
$new_address['block'] = $unit['block'];
$new_address['stiege'] = $unit['stiege'];
$new_address['stock'] = $unit['stock'];
$new_address['tuer'] = $unit['tuer'];
$new_address['zusatz'] = $unit['zusatz'];
$new_addresses[] = $new_address;
}
}
return mfResponse::Ok(['addresses' => $new_addresses]);
}
}
}
}*/
/*
* do normal search
@@ -472,7 +390,7 @@ class AddressdbApicontroller extends mfBaseApicontroller {
}
$sql = AddressDB::$wohneinheit_query;
$sql .= "\n WHERE $where AND ((".implode(" OR ", $ort_search).") OR (".implode(" OR ", $strasse_search).") OR (".implode(" OR ", $plz_search).") OR (".implode(" OR ", $hausnummer_search).")) ORDER BY strasse, LENGTH(hausnummer), hausnummer, LENGTH(tuer),tuer, zusatz, LENGTH(num), num";
$sql .= "\n WHERE $where AND ((".implode(" OR ", $ort_search).") OR (".implode(" OR ", $strasse_search).") OR (".implode(" OR ", $plz_search).") OR (".implode(" OR ", $hausnummer_search).")) ORDER BY strasse, LENGTH(hausnummer), hausnummer, LENGTH(`Wohneinheit`.tuer),`Wohneinheit`.tuer, zusatz, LENGTH(num), num";
//$sql = "SELECT * FROM view_wohneinheit WHERE $where AND ((".implode(" OR ", $ort_search).") OR (".implode(" OR ", $strasse_search).") OR (".implode(" OR ", $plz_search).") OR (".implode(" OR ", $hausnummer_search).")) ORDER BY strasse, LENGTH(hausnummer), hausnummer, LENGTH(tuer),tuer, zusatz, LENGTH(num), num";
$this->log->debug($sql);
@@ -539,7 +457,7 @@ class AddressdbApicontroller extends mfBaseApicontroller {
}
}
$tmp_addresses[$address_key]['units'][] = [
$unit_data = [
'oaid' => $data->wohneinheit_oaid,
'num' => (int)$data->num,
'block' => $data->block,
@@ -548,6 +466,20 @@ class AddressdbApicontroller extends mfBaseApicontroller {
'tuer' => $data->tuer,
'zusatz' => $data->zusatz,
];
if($this->me->is("preorderaddressreporting")) {
if($data->partner_company) {
$unit_data["ordered"] = true;
$unit_data["orderType"] = $data->order_type;
$unit_data["ispName"] = $data->partner_company;
} else {
$unit_data["ordered"] = false;
$unit_data["orderType"] = null;
$unit_data["ispName"] = null;
}
}
$tmp_addresses[$address_key]['units'][] = $unit_data;
$tmp_addresses[$address_key]['building_unit_count']++;
//if($data->hausnummer_oaid == "AT-8940-30400d5c") var_dump($data);
}
@@ -637,6 +569,11 @@ class AddressdbApicontroller extends mfBaseApicontroller {
foreach($counted_addresses as $ta) {
foreach($ta['units'] as $u) {
$new_address = [];
if($this->me->is("preorderaddressreporting")) {
$new_address['ordered'] = $u['ordered'];
$new_address['orderType'] = $u['orderType'];
$new_address['ispName'] = $u['ispName'];
}
$new_address['oaid'] = $u['oaid'];
$new_address['building_oaid'] = $ta['oaid'];
$new_address['cluster_id'] = $ta['cluster_id'];
@@ -727,7 +664,7 @@ class AddressdbApicontroller extends mfBaseApicontroller {
//var_dump($this->filter_salescluster_ids);exit;
$sql = AddressDB::$wohneinheit_query;
$sql .= "\n WHERE $where ORDER BY plz, gemeinde, ortschaft, strasse, LENGTH(hausnummer), hausnummer, block, stiege, stock, LENGTH(num), num, LENGTH(tuer), tuer";
$sql .= "\n WHERE $where ORDER BY plz, gemeinde, ortschaft, strasse, LENGTH(hausnummer), hausnummer, `Wohneinheit`.block, `Wohneinheit`.stiege, `Wohneinheit`.stock, LENGTH(num), num, LENGTH(`Wohneinheit`.tuer), `Wohneinheit`.tuer";
//$sql = "SELECT * FROM view_wohneinheit WHERE $where ORDER BY plz, gemeinde, ortschaft, strasse, LENGTH(hausnummer), hausnummer, block, stiege, stock, LENGTH(num), num, LENGTH(tuer), tuer";
$this->log->debug($sql);
@@ -786,9 +723,10 @@ class AddressdbApicontroller extends mfBaseApicontroller {
} else {
unset($tmp_addresses[$address_key]['municipality']);
}
}
$tmp_addresses[$address_key]['units'][] = [
$unit_data = [
'oaid' => $data->wohneinheit_oaid,
'num' => (int)$data->num,
'block' => $data->block,
@@ -796,9 +734,22 @@ class AddressdbApicontroller extends mfBaseApicontroller {
'stock' => $data->stock,
'tuer' => $data->tuer,
'zusatz' => $data->zusatz,
];
];
if($this->me->is("preorderaddressreporting")) {
if($data->partner_company) {
$unit_data["ordered"] = true;
$unit_data["orderType"] = $data->order_type;
$unit_data["ispName"] = $data->partner_company;
} else {
$unit_data["ordered"] = false;
$unit_data["orderType"] = null;
$unit_data["ispName"] = null;
}
}
$tmp_addresses[$address_key]['units'][] = $unit_data;
$tmp_addresses[$address_key]['building_unit_count']++;
}
if($format == "tree") {
/*foreach($tmp_addresses as $ta) {
@@ -809,6 +760,11 @@ class AddressdbApicontroller extends mfBaseApicontroller {
foreach($tmp_addresses as $ta) {
foreach($ta['units'] as $u) {
$new_address = [];
if($this->me->is("preorderaddressreporting")) {
$new_address['ordered'] = $u['ordered'];
$new_address['orderType'] = $u['orderType'];
$new_address['ispName'] = $u['ispName'];
}
$new_address['oaid'] = $u['oaid'];
$new_address['building_oaid'] = $ta['oaid'];
$new_address['cluster_id'] = $ta['cluster_id'];

View File

@@ -213,6 +213,8 @@ class PreordercampaignController extends mfBaseController {
if($r->fulfillment == "thirdparty") {
$data['fulfillment'] = "thirdparty";
} elseif($r->fulfillment == "rimo") {
$data['fulfillment'] = "rimo";
} else {
$data['fulfillment'] = "thetool";
}

View File

@@ -99,7 +99,7 @@ class PreordercampaignSalesclusterModel {
}
}
//var_dump($filter, $where);exit;
return $where;
}

View File

@@ -184,11 +184,17 @@ class UserController extends mfBaseController {
$user->permissions->preorderfront = "false";
}
if($r->preorderaddressreporting == "true" || $user->id == 1) {
$user->permissions->preorderaddressreporting = "true";
} else {
$user->permissions->preorderaddressreporting = "false";
}
$user->permissions->save();
// save networks
$pn = $user->getFlag("preorder_networks");
if($r->preorderfront == "true" && is_array($r->preorder_networks) && count($r->preorder_networks)) {
if(($r->preorderfront == "true" || $r->preorderaddressreporting == "true") && is_array($r->preorder_networks) && count($r->preorder_networks)) {
$pn->value(json_encode($r->preorder_networks));
$pn->save();
} else {

View File

@@ -5,6 +5,7 @@ class WorkerPermission extends mfBaseModel {
public $isTicketadmin = false;
public $isTechnician = false;
public $isPreorderfront = false;
public $isPreorderaddressreporting = false;
public function loadByUserId($userid) {
$res = $this->db->select($this->table,"*","worker_id=$userid");
@@ -33,6 +34,9 @@ class WorkerPermission extends mfBaseModel {
if($this->preorderfront == 'true') {
$this->isPreorderfront= true;
}
if($this->preorderaddressreporting == 'true') {
$this->isPreorderaddressreporting= true;
}
}
}

View File

@@ -2,7 +2,7 @@
<?php
//require 'vendor/autoload.php';
require("../config/config.php");
require("../../config/config.php");
define('FRONKDB_SQLDEBUG',false);
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
@@ -38,16 +38,28 @@ foreach(PreorderModel::search(["deleted" => 0, "preordercampaign_id" => $campaig
continue;
}
$available_units = [];
//if($preorder->id == 920) {var_dump($wohneinheiten);exit;}
$available_units = [];
$additional_units = []; // to sort non-specific units last
foreach($wohneinheiten as $unit) {
if(!PreorderModel::getFirst(["adb_wohneinheit_id" => $unit->id])) {
if(!PreorderModel::getFirst(["adb_wohneinheit_id" => $unit->id, "deleted" => 0])) {
if($unit->tuer || preg_match('/^Top\s+\d+$/', $unit->zusatz)) {
$available_units[] = $unit;
} else {
$additional_units[] = $unit;
}
} else {
echo $preorder->id." balh\n";
}
}
if(count($additional_units)) $available_units = array_merge($available_units, $additional_units);
/*if($preorder->id == 2441) {
var_dump($available_units);exit;
}*/
if($preorder->connection_count > count($available_units)) {
$md = [];
$md["unit_count"] = $unit_count;
@@ -72,7 +84,6 @@ foreach(PreorderModel::search(["deleted" => 0, "preordercampaign_id" => $campaig
$new_preorder->connection_count = 1;
$new_preorder->adb_wohneinheit_id = $available_units[$i]->id;
$new_preorder->oaid = $available_units[$i]->oaid;
//var_dump($new_preorder);exit;
$new_preorder->save();
}