Work on product costing (broadband) and reporting

This commit is contained in:
Deon George
2020-02-18 22:35:20 +11:00
parent f8d998d935
commit 910edfd89f
19 changed files with 762 additions and 45 deletions

View File

@@ -0,0 +1,86 @@
<?php
use Faker\Generator as Faker;
$factory->define(App\Models\Product\Adsl::class, function (Faker $faker) {
return [
'id'=>1,
'contract_term'=>12,
];
});
$factory->afterMaking(App\Models\Product\Adsl::class, function ($adsl,$faker) {
$product = factory(App\Models\AdslSupplierPlan::class)->make();
$adsl->setRelation('product',$product);
$adsl->adsl_supplier_plan_id = $product->id;
});
$factory->state(App\Models\Product\Adsl::class,'unlimit',[
'base_down_peak'=>NULL,
'base_up_peak'=>NULL,
'base_down_offpeak'=>NULL,
'base_up_offpeak'=>NULL,
'extra_charged'=>NULL,
'extra_shaped'=>NULL,
'extra_down_peak'=>NULL,
'extra_up_peak'=>NULL,
'extra_down_offpeak'=>NULL,
'extra_up_offpeak'=>NULL,
'metric'=>1,
]);
$factory->state(App\Models\Product\Adsl::class,'140/0/0/0',[
'base_down_peak'=>140,
'base_up_peak'=>0,
'base_down_offpeak'=>0,
'base_up_offpeak'=>0,
'extra_charged'=>NULL,
'extra_shaped'=>NULL,
'extra_down_peak'=>1,
'extra_up_peak'=>NULL,
'extra_down_offpeak'=>NULL,
'extra_up_offpeak'=>NULL,
'metric'=>1,
]);
$factory->state(App\Models\Product\Adsl::class,'70/-/0/-',[
'base_down_peak'=>70,
'base_up_peak'=>NULL,
'base_down_offpeak'=>0,
'base_up_offpeak'=>NULL,
'extra_charged'=>NULL,
'extra_shaped'=>NULL,
'extra_down_peak'=>1,
'extra_up_peak'=>NULL,
'extra_down_offpeak'=>NULL,
'extra_up_offpeak'=>NULL,
'metric'=>1,
]);
$factory->state(App\Models\Product\Adsl::class,'100/0/40/0',[
'base_down_peak'=>100,
'base_up_peak'=>0,
'base_down_offpeak'=>40,
'base_up_offpeak'=>0,
'extra_charged'=>NULL,
'extra_shaped'=>NULL,
'extra_down_peak'=>0,
'extra_up_peak'=>NULL,
'extra_down_offpeak'=>0,
'extra_up_offpeak'=>NULL,
'metric'=>1,
]);
$factory->state(App\Models\Product\Adsl::class,'50/-/20/-',[
'base_down_peak'=>50,
'base_up_peak'=>NULL,
'base_down_offpeak'=>20,
'base_up_offpeak'=>NULL,
'extra_charged'=>NULL,
'extra_shaped'=>NULL,
'extra_down_peak'=>0,
'extra_up_peak'=>NULL,
'extra_down_offpeak'=>0,
'extra_up_offpeak'=>NULL,
'metric'=>1,
]);

View File

@@ -0,0 +1,10 @@
<?php
use Faker\Generator as Faker;
$factory->define(App\Models\AdslSupplierPlan::class, function (Faker $faker) {
return [
'id'=>1,
'contract_term'=>12,
];
});

View File

@@ -26,4 +26,39 @@ $factory->state(App\Models\Product::class,'strict',[
]);
$factory->state(App\Models\Product::class,'notstrict',[
'price_recurr_strict' => 0,
]);
]);
$factory->afterMakingState(App\Models\Product::class,'broadband-unlimit',function ($product,$faker) {
$type = factory(App\Models\Product\Adsl::class)->state('unlimit')->make();
$product->setRelation('type',$type);
$product->prod_plugin_data = $type->id;
$product->model = 'App\Models\Product\Adsl';
});
$factory->afterMakingState(App\Models\Product::class,'broadband-140/0/0/0',function ($product,$faker) {
$type = factory(App\Models\Product\Adsl::class)->state('140/0/0/0')->make();
$product->setRelation('type',$type);
$product->prod_plugin_data = $type->id;
$product->model = 'App\Models\Product\Adsl';
});
$factory->afterMakingState(App\Models\Product::class,'broadband-70/-/0/-',function ($product,$faker) {
$type = factory(App\Models\Product\Adsl::class)->state('70/-/0/-')->make();
$product->setRelation('type',$type);
$product->prod_plugin_data = $type->id;
$product->model = 'App\Models\Product\Adsl';
});
$factory->afterMakingState(App\Models\Product::class,'broadband-100/0/40/0',function ($product,$faker) {
$type = factory(App\Models\Product\Adsl::class)->state('100/0/40/0')->make();
$product->setRelation('type',$type);
$product->prod_plugin_data = $type->id;
$product->model = 'App\Models\Product\Adsl';
});
$factory->afterMakingState(App\Models\Product::class,'broadband-50/-/20/-',function ($product,$faker) {
$type = factory(App\Models\Product\Adsl::class)->state('50/-/20/-')->make();
$product->setRelation('type',$type);
$product->prod_plugin_data = $type->id;
$product->model = 'App\Models\Product\Adsl';
});