WIP Contract/Billing 2024-06-24
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -163,7 +163,9 @@ class Admin_IvtCreditImport {
|
||||
$create_date->setTime(2,0);
|
||||
|
||||
$finish_date = new DateTime($cust_cred->lastdate);
|
||||
$finish_date->setDate($finish_date->format("Y"), $finish_date->format("m"), 1);
|
||||
$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);
|
||||
|
||||
$data["orderproduct_id"] = null;
|
||||
$data["product_id"] = 336; // Mainproduct dummy for crediting import [IVT]
|
||||
@@ -227,8 +229,7 @@ class Admin_IvtCreditImport {
|
||||
$journal = ContractjournalModel::create([
|
||||
'contract_id' => $primary_contract->id,
|
||||
'type' => "credit_created",
|
||||
'value' => $primary_contract->id,
|
||||
//'text' => "IVT customer_credit ".$cust_cred->id."; cid: ".$cust_cred->cust_id."; pid: ".$ivt_cred_product->id." (".$ivt_cred_product->name.")"
|
||||
'value' => $cred_contract->id,
|
||||
]);
|
||||
$journal_id = $journal->save();
|
||||
if(!$journal_id) {
|
||||
|
||||
Reference in New Issue
Block a user