WIP Contract/Billing 2024-06-24

This commit is contained in:
Frank Schubert
2024-06-25 12:19:35 +02:00
parent da52a802ef
commit 4589e61ab8
9 changed files with 515 additions and 113 deletions
@@ -4,6 +4,7 @@ class Admin_IvtContractImport {
private $request;
private $log;
private $static_ivt_order_match = [];
private $no_matchcode = [];
public function __construct($request = false) {
$this->request = $request;
@@ -77,6 +78,13 @@ class Admin_IvtContractImport {
16267 => 3079, // schmuck marianne
16786 => 3079
];
$this->no_matchcode = [
9,
2847,
3049,
5719
];
}
/* TODO: Credit */
@@ -166,14 +174,9 @@ class Admin_IvtContractImport {
$order_date = new DateTime($ivt_contract->created);
$order_date->setTime(0,0,0);
$finish_date = new DateTime($ivt_contract->lastdate);
$finish_date->modify("first day of this month");
$finish_date->setTime(0,0,0);
//$finish_date->setDate($finish_date->format("Y"), $finish_date->format("m"), 1);
//$finish_date->modify("+1 hours");
$contract_data = [];
$contract_data['owner_id'] = $customer->id;
@@ -186,23 +189,35 @@ class Admin_IvtContractImport {
$contract_data['price_nne'] = 0;
$contract_data['price_nbe'] = 0;
$contract_data['sla_id'] = $this->getNewSlaId($ivt_contract->sid);
$contract_data['order_date'] = $order_date->getTimestamp();
$contract_data['finish_date'] = $finish_date->getTimestamp();
$contract_data['finish_date_by'] = 1;
$contract_data['imported_from'] = "ivt";
$contract_data['imported_data'] = $ivt_contract->id;
$contract_data['create_by'] = 1;
$contract_data['edit_by'] = 1;
$finish_date = new DateTime($ivt_contract->lastdate);
switch($ip->interval) {
case 0:
$contract_data['billing_period'] = 1;
$finish_date->modify("+1 month");
break;
case 1:
$contract_data['billing_period'] = 12;
$finish_date->modify("+1 year");
break;
}
$order_date = new DateTime($ivt_contract->created);
$order_date->setTime(2,0,0);
$finish_date->modify("first day of this month");
$finish_date->setTime(2,0,0);
//$finish_date->setDate($finish_date->format("Y"), $finish_date->format("m"), 1);
//$finish_date->modify("+1 hours");
$contract_data['order_date'] = $order_date->getTimestamp();
$contract_data['finish_date'] = $finish_date->getTimestamp();
$contract_data['finish_date_by'] = 1;
$neu["customer"] = $customer;
$neu["ivtcustomer"] = $ivt_customer;
@@ -321,6 +336,8 @@ class Admin_IvtContractImport {
foreach($new_contracts as $ivt_customer_id => $contracts) {
$this->addVoipData($ivt_customer_id, $contracts);
if(in_array($ivt_contract->id, $this->no_matchcode)) break;
if(count($contracts) < 2) continue;
$prev_contracts = [];
$primary_matchcode = false;