Merge branch 'fronkdev' into 'master'
citycom import now saves service_number and status to PreorderCtag See merge request fronk/thetool!1603
This commit is contained in:
@@ -153,7 +153,7 @@ class PreorderCtag extends mfBaseModel {
|
|||||||
$model = new PreorderCtag();
|
$model = new PreorderCtag();
|
||||||
|
|
||||||
$table_fields = [
|
$table_fields = [
|
||||||
"preorder_id", "network", "stag", "ctag", "service_type", "deleted",
|
"preorder_id", "network", "stag", "ctag", "service_type", "ext_id", "ext_status", "deleted",
|
||||||
"create_by","edit_by","create","edit"
|
"create_by","edit_by","create","edit"
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -192,7 +192,12 @@ class PreorderCtag extends mfBaseModel {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getFirst($filter) {
|
public static function getFirstActive($filter) {
|
||||||
|
$filter["deleted"] = false;
|
||||||
|
return self::getFirst($filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getFirst($filter = []) {
|
||||||
$db = FronkDB::singleton();
|
$db = FronkDB::singleton();
|
||||||
|
|
||||||
$where = self::getSqlFilter($filter);
|
$where = self::getSqlFilter($filter);
|
||||||
@@ -253,6 +258,13 @@ class PreorderCtag extends mfBaseModel {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function searchActive($filter, $limit = false, $order = false) {
|
||||||
|
$filter["deleted"] = false;
|
||||||
|
return self::search($filter, $limit, $order);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public static function search($filter, $limit = false, $order = false) {
|
public static function search($filter, $limit = false, $order = false) {
|
||||||
//var_dump($filter);exit;
|
//var_dump($filter);exit;
|
||||||
$items = [];
|
$items = [];
|
||||||
@@ -265,7 +277,6 @@ class PreorderCtag extends mfBaseModel {
|
|||||||
|
|
||||||
$where = self::getSqlFilter($filter);
|
$where = self::getSqlFilter($filter);
|
||||||
$sql = "SELECT PreorderCtag.* FROM PreorderCtag
|
$sql = "SELECT PreorderCtag.* FROM PreorderCtag
|
||||||
LEFT JOIN Preorder ON Preorder.id = PreorderCtag.preorder_id
|
|
||||||
WHERE $where
|
WHERE $where
|
||||||
ORDER BY $order";
|
ORDER BY $order";
|
||||||
|
|
||||||
@@ -292,6 +303,13 @@ class PreorderCtag extends mfBaseModel {
|
|||||||
private static function getSqlFilter($filter) {
|
private static function getSqlFilter($filter) {
|
||||||
$where = "1=1 ";
|
$where = "1=1 ";
|
||||||
|
|
||||||
|
if(array_key_exists("preorder_id", $filter)) {
|
||||||
|
$preorder_id = $filter['preorder_id'];
|
||||||
|
if(is_numeric($preorder_id)) {
|
||||||
|
$where .= " AND PreorderCtag.preorder_id=$preorder_id";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(array_key_exists("stag", $filter)) {
|
if(array_key_exists("stag", $filter)) {
|
||||||
$stag = $filter['stag'];
|
$stag = $filter['stag'];
|
||||||
if(is_numeric($stag)) {
|
if(is_numeric($stag)) {
|
||||||
@@ -312,7 +330,22 @@ class PreorderCtag extends mfBaseModel {
|
|||||||
$where .= " AND PreorderCtag.network = '$network'";
|
$where .= " AND PreorderCtag.network = '$network'";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("service_type", $filter)) {
|
||||||
|
$service_type = FronkDB::singleton()->escape($filter['service_type']);
|
||||||
|
if($service_type) {
|
||||||
|
$where .= " AND PreorderCtag.service_type = '$service_type'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(array_key_exists("deleted", $filter)) {
|
||||||
|
$deleted = $filter['deleted'];
|
||||||
|
if($deleted === false || $deleted === null || $deleted === 0) {
|
||||||
|
$where .= " AND (PreorderCtag.deleted=0 OR PreorderCtag.deleted IS NULL)";
|
||||||
|
} elseif($deleted === true) {
|
||||||
|
$where .= " AND PreorderCtag.deleted > 0";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -200,8 +200,6 @@ class CitycomImporter {
|
|||||||
$services = $ccapi->getServices();
|
$services = $ccapi->getServices();
|
||||||
foreach($services as $service) {
|
foreach($services as $service) {
|
||||||
|
|
||||||
if(!property_exists($service, "ont") || !$service->ont || !$service->ont->id) continue;
|
|
||||||
|
|
||||||
if(!property_exists($service, "location") || !$service->location || !$service->location->id) continue;
|
if(!property_exists($service, "location") || !$service->location || !$service->location->id) continue;
|
||||||
if(!property_exists($service->location, "sublocation") || !$service->location->sublocation || !$service->location->sublocation->id) continue;
|
if(!property_exists($service->location, "sublocation") || !$service->location->sublocation || !$service->location->sublocation->id) continue;
|
||||||
//var_dump($service);
|
//var_dump($service);
|
||||||
@@ -213,28 +211,49 @@ class CitycomImporter {
|
|||||||
$preorder = \PreorderModel::getFirst(["adb_wohneinheit_id" => $unit->id]);
|
$preorder = \PreorderModel::getFirst(["adb_wohneinheit_id" => $unit->id]);
|
||||||
if(!$preorder) continue;
|
if(!$preorder) continue;
|
||||||
|
|
||||||
$pco = \PreorderCitycomOan::getFirst(["preorder_id" => $preorder->id]);
|
|
||||||
if(!$pco) {
|
|
||||||
$pco = \PreorderCitycomOan::create([
|
|
||||||
"preorder_id" => $preorder->id
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
$ont_sn = $service->ont->serial;
|
|
||||||
$ont_gpid = $service->ont->fsan;
|
|
||||||
|
|
||||||
if($ont_sn || $ont_gpid) {
|
if(property_exists($service, "ont") && !$service->ont && !$service->ont->id) {
|
||||||
$status_300 = \PreorderstatusModel::getFirst(["code" => 300]);
|
$pco = \PreorderCitycomOan::getFirst(["preorder_id" => $preorder->id]);
|
||||||
if($preorder->status->code < 300) {
|
if(!$pco) {
|
||||||
$preorder->status_id = $status_300->id;
|
$pco = \PreorderCitycomOan::create([
|
||||||
$preorder->save();
|
"preorder_id" => $preorder->id
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$ont_sn = $service->ont->serial;
|
||||||
|
$ont_gpid = $service->ont->fsan;
|
||||||
|
|
||||||
|
if($ont_sn || $ont_gpid) {
|
||||||
|
$status_300 = \PreorderstatusModel::getFirst(["code" => 300]);
|
||||||
|
if($preorder->status->code < 300) {
|
||||||
|
$preorder->status_id = $status_300->id;
|
||||||
|
$preorder->save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($pco->ont_sn != $ont_sn || $pco->ont_gpid != $ont_gpid) {
|
||||||
|
$pco->ont_sn = $ont_sn;
|
||||||
|
$pco->ont_gpid = $ont_gpid;
|
||||||
|
$pco->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($pco->ont_sn != $ont_sn || $pco->ont_gpid != $ont_gpid) {
|
// find ctag and update ext id and status if changed
|
||||||
$pco->ont_sn = $ont_sn;
|
$stypes = array_flip(CITYCOM_OAN_API_SERVICES_FOR_ORDER);
|
||||||
$pco->ont_gpid = $ont_gpid;
|
$stag = $unit->hausnummer->vlan_stag;
|
||||||
$pco->save();
|
if(!$stag) continue;
|
||||||
|
|
||||||
|
$ctag = \PreorderCtag::getFirstActive(["preorder_id" => $preorder->id, "stag" => $stag, "service_type" => $stypes[$service->service_type]]);
|
||||||
|
//echo "====\n";
|
||||||
|
//echo $preorder->id." - ".$service->service_number." - ".$service->location->sublocation->id." - ".$service->service_type." - $stag\n";
|
||||||
|
if($ctag->ext_id != $service->service_number) {
|
||||||
|
$ctag->ext_id = $service->service_number;
|
||||||
|
$ctag->save();
|
||||||
|
}
|
||||||
|
if($ctag->ext_status != $service->state) {
|
||||||
|
$ctag->ext_status = $service->state;
|
||||||
|
$ctag->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user