Optimise charge table, implemented charge recording, optimised payment recording
This commit is contained in:
@@ -37,6 +37,22 @@ class InvoiceItem extends Model
|
||||
// Array of items that can be updated with PushNew
|
||||
protected $pushable = ['taxes'];
|
||||
|
||||
public const type = [
|
||||
1 => 'Hardware', // *
|
||||
2 => 'Service Relocation Fee', // * Must have corresponding SERVICE_ID
|
||||
3 => 'Service Change', // * Must have corresponding SERVICE_ID
|
||||
4 => 'Service Connection', // * Must have corresponding SERVICE_ID
|
||||
6 => 'Service Cancellation', // * Must have corresponding SERVICE_ID
|
||||
7 => 'Extra Product/Service Charge', // * Service Billing in advance, Must have corresponding SERVICE_ID
|
||||
8 => 'Product Addition', // * Additional Product Customisation, Must have corresponding SERVICE_ID
|
||||
120 => 'Credit/Debit Transfer', // * SERVICE_ID is NULL, MODULE_ID is NULL, MODULE_REF is NULL : INVOICE_ID is NOT NULL
|
||||
123 => 'Shipping',
|
||||
124 => 'Late Payment Fee', // * SERVICE_ID is NULL, MODULE_ID = CHECKOUT MODULE,
|
||||
125 => 'Payment Fee', // * SERVICE_ID is NULL, MODULE_ID = CHECKOUT MODULE, MODULE_REF = CHECKOUT NAME
|
||||
126 => 'Other', // * MODEL_ID should be a module
|
||||
127 => 'Rounding', // * SERVICE_ID is NULL, MODULE_ID is NULL, MODULE_REF is NULL
|
||||
];
|
||||
|
||||
/* RELATIONS */
|
||||
|
||||
public function invoice()
|
||||
@@ -98,6 +114,7 @@ class InvoiceItem extends Model
|
||||
|
||||
public function getItemTypeNameAttribute()
|
||||
{
|
||||
// @todo use self::type
|
||||
$types = [
|
||||
1=>'Hardware', // *
|
||||
2=>'Service Relocation Fee', // * Must have corresponding SERVICE_ID
|
||||
@@ -118,8 +135,11 @@ class InvoiceItem extends Model
|
||||
{
|
||||
// * Line Charge Topic on Invoice.
|
||||
case 0:
|
||||
return sprintf('%s [%s]','Product/Service',
|
||||
$this->date_start == $this->date_stop ? $this->date_start->format('Y-m-d') : sprintf('%s -> %s',$this->date_start->format('Y-m-d'),$this->date_stop->format('Y-m-d')));
|
||||
if ($this->date_start)
|
||||
return sprintf('%s [%s]','Product/Service',
|
||||
(($this->date_start == $this->date_stop) || (! $this->date_stop)) ? $this->date_start->format('Y-m-d') : sprintf('%s -> %s',$this->date_start->format('Y-m-d'),$this->date_stop->format('Y-m-d')));
|
||||
else
|
||||
return 'Product/Service';
|
||||
|
||||
// * Excess Service Item, of item 0, must have corresponding SERVICE_ID
|
||||
case 5:
|
||||
|
Reference in New Issue
Block a user