diff --git a/app/Models/NhAct.php b/app/Models/NhAct.php new file mode 100644 index 0000000..7e4eee0 --- /dev/null +++ b/app/Models/NhAct.php @@ -0,0 +1,39 @@ + 'int' + ]; + + protected $fillable = [ + 'nh_network_config_id', + 'name', + 'billing_type', + 'authorization_type' + ]; +} diff --git a/app/Models/NhMonthsPricesGrid.php b/app/Models/NhMonthsPricesGrid.php new file mode 100644 index 0000000..6c870b1 --- /dev/null +++ b/app/Models/NhMonthsPricesGrid.php @@ -0,0 +1,39 @@ + 'int', + 'number_of_months' => 'float', + 'min_amount' => 'float' + ]; + + protected $fillable = [ + 'nh_network_config_id', + 'number_of_months', + 'min_amount' + ]; +} diff --git a/app/Models/NhNetworksConfig.php b/app/Models/NhNetworksConfig.php index 60e349b..23c60c6 100644 --- a/app/Models/NhNetworksConfig.php +++ b/app/Models/NhNetworksConfig.php @@ -11,17 +11,21 @@ use Illuminate\Database\Eloquent\Model; /** * Class NhNetworksConfig - * + * * @property int $id * @property int $network_id * @property string $provider_billing_period * @property float $max_number_of_beneficiaries * @property float $age_limit_of_child_beneficiary - * @property string $support_type - * @property float $percentage_insurer - * @property float $percentage_insured - * @property Carbon $updated_at - * @property Carbon $created_at + * @property float $coverage_limit_per_insured_per_year + * @property float $current_affection_percentage_insurer + * @property float $current_affection_percentage_insured + * @property float $long_term_affection_percentage_insurer + * @property float $long_term_affection_percentage_insured + * @property float $exoneration_percentage_insurer + * @property float $exoneration_percentage_insured + * @property Carbon|null $created_at + * @property Carbon|null $updated_at * * @package App\Models */ @@ -30,20 +34,29 @@ class NhNetworksConfig extends Model protected $table = 'nh_networks_configs'; protected $casts = [ - 'network_id' => 'int', - 'max_number_of_beneficiaries' => 'float', - 'age_limit_of_child_beneficiary' => 'float', - 'percentage_insurer' => 'float', - 'percentage_insured' => 'float' - ]; + 'network_id' => 'int', + 'max_number_of_beneficiaries' => 'float', + 'age_limit_of_child_beneficiary' => 'float', + 'coverage_limit_per_insured_per_year' => 'float', + 'current_affection_percentage_insurer' => 'float', + 'current_affection_percentage_insured' => 'float', + 'long_term_affection_percentage_insurer' => 'float', + 'long_term_affection_percentage_insured' => 'float', + 'exoneration_percentage_insurer' => 'float', + 'exoneration_percentage_insured' => 'float' + ]; protected $fillable = [ - 'network_id', - 'provider_billing_period', - 'max_number_of_beneficiaries', - 'age_limit_of_child_beneficiary', - 'support_type', - 'percentage_insurer', - 'percentage_insured' - ]; + 'network_id', + 'provider_billing_period', + 'max_number_of_beneficiaries', + 'age_limit_of_child_beneficiary', + 'coverage_limit_per_insured_per_year', + 'current_affection_percentage_insurer', + 'current_affection_percentage_insured', + 'long_term_affection_percentage_insurer', + 'long_term_affection_percentage_insured', + 'exoneration_percentage_insurer', + 'exoneration_percentage_insured' + ]; } diff --git a/app/Models/NhYearsPricesGrid.php b/app/Models/NhYearsPricesGrid.php new file mode 100644 index 0000000..c0254f4 --- /dev/null +++ b/app/Models/NhYearsPricesGrid.php @@ -0,0 +1,42 @@ + 'int', + 'min_age' => 'float', + 'max_age' => 'float', + 'markup_percentage' => 'float' + ]; + + protected $fillable = [ + 'nh_network_config_id', + 'min_age', + 'max_age', + 'markup_percentage' + ]; +} diff --git a/database/migrations/2021_10_04_160210_add_nano_health_columns_in_config_wallet_table.php b/database/migrations/2021_10_04_160210_add_nano_health_columns_in_config_wallet_table.php index 6d8bd07..01f78f3 100644 --- a/database/migrations/2021_10_04_160210_add_nano_health_columns_in_config_wallet_table.php +++ b/database/migrations/2021_10_04_160210_add_nano_health_columns_in_config_wallet_table.php @@ -14,8 +14,12 @@ class AddNanoHealthColumnsInConfigWalletTable extends Migration public function up() { Schema::table('configWallet', function (Blueprint $table) { - $table->integer('nh_network_config_id')->nullable(); - $table->boolean('enabled')->default(0); + if (!Schema::hasColumn('configWallet', 'nh_network_config_id')) { + $table->integer('nh_network_config_id')->nullable(); + } + if (!Schema::hasColumn('configWallet', 'enabled')) { + $table->boolean('enabled')->default(1); + } }); } @@ -28,7 +32,7 @@ class AddNanoHealthColumnsInConfigWalletTable extends Migration { Schema::table('configWallet', function (Blueprint $table) { // - $table->dropColumn(['nh_network_config_id', ]); + $table->dropColumn(['nh_network_config_id', 'enabled']); }); } } diff --git a/database/migrations/2021_10_04_161135_create_nh_networks_configs_table.php b/database/migrations/2021_10_04_161135_create_nh_networks_configs_table.php index 0ec3db8..30967f6 100644 --- a/database/migrations/2021_10_04_161135_create_nh_networks_configs_table.php +++ b/database/migrations/2021_10_04_161135_create_nh_networks_configs_table.php @@ -14,16 +14,20 @@ class CreateNhNetworksConfigsTable extends Migration public function up() { Schema::create('nh_networks_configs', function (Blueprint $table) { - $table->integer('id', true); + $table->id(); $table->integer('network_id'); - $table->enum('provider_billing_period', ['WEEKLY', 'BIMONTHLY', 'MONTHLY'])->default('WEEKLY')->comment('Période de facturatio des prestataires : hebdomadaire ou bimensuel ,mensuel '); + $table->enum('provider_billing_period', ['WEEKLY', 'BIMONTHLY', 'MONTHLY'])->default('WEEKLY')->comment('Période de facturation des prestataires : hebdomadaire ou bimensuel ,mensuel '); $table->decimal('max_number_of_beneficiaries', 1, 0)->default(0)->comment('Nombre d’ayant droit maximum : un nombre à un chiffre'); $table->decimal('age_limit_of_child_beneficiary', 2, 0)->default(0)->comment('Age limite de l’ayant droit enfant : un nombre à 2 chiffres'); - $table->enum('support_type', ['CURRENT_AFFECTATION', 'LONG_TERM_AFFECTATION', 'EXONERATION'])->default('CURRENT_AFFECTATION')->comment('type de prises en charge'); - $table->decimal('percentage_insurer', 2, 0)->default(0); - $table->decimal('percentage_insured', 2, 0)->default(0); - $table->timestamp('updated_at')->useCurrent(); + $table->decimal('coverage_limit_per_insured_per_year', 10, 2)->default(0)->comment("Limite de la couverture par assuré par an"); + $table->decimal('current_affection_percentage_insurer', 2, 0)->default(0)->comment("Affection courante: % part assureur"); + $table->decimal('current_affection_percentage_insured', 2, 0)->default(0)->comment("Affection courante: % part assuré"); + $table->decimal('long_term_affection_percentage_insurer', 2, 0)->default(0)->comment("Affection longue durée: % part assureur"); + $table->decimal('long_term_affection_percentage_insured', 2, 0)->default(0)->comment("Affection longue durée: % part assuré"); + $table->decimal('exoneration_percentage_insurer', 2, 0)->default(0)->comment("Exoneration: % part assureur"); + $table->decimal('exoneration_percentage_insured', 2, 0)->default(0)->comment("Exoneration: % part assuré"); $table->timestamp('created_at')->useCurrent(); + $table->timestamp('updated_at')->useCurrent(); }); } diff --git a/database/migrations/2021_10_04_161135_create_nh_prices_grid_table.php b/database/migrations/2021_10_04_161135_create_nh_years_prices_grid_table.php similarity index 69% rename from database/migrations/2021_10_04_161135_create_nh_prices_grid_table.php rename to database/migrations/2021_10_04_161135_create_nh_years_prices_grid_table.php index e694baa..ec5980e 100644 --- a/database/migrations/2021_10_04_161135_create_nh_prices_grid_table.php +++ b/database/migrations/2021_10_04_161135_create_nh_years_prices_grid_table.php @@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CreateNhPricesGridTable extends Migration +class CreateNhYearsPricesGridTable extends Migration { /** * Run the migrations. @@ -13,16 +13,14 @@ class CreateNhPricesGridTable extends Migration */ public function up() { - Schema::create('nh_prices_grid', function (Blueprint $table) { - $table->integer('id')->primary(); + Schema::create('nh_years_prices_grid', function (Blueprint $table) { + $table->id(); $table->integer('nh_network_config_id'); $table->decimal('min_age', 2, 0)->default(0); $table->decimal('max_age', 2, 0)->default(0); $table->decimal('markup_percentage', 2, 0)->default(0)->comment('Pourcentage de majoration'); - $table->decimal('min_amount', 10)->default(0); - $table->decimal('number_of_months', 2, 0)->default(0); - $table->timestamp('updated_at')->useCurrent(); $table->timestamp('created_at')->useCurrent(); + $table->timestamp('updated_at')->useCurrent(); }); } @@ -33,6 +31,6 @@ class CreateNhPricesGridTable extends Migration */ public function down() { - Schema::dropIfExists('nh_prices_grid'); + Schema::dropIfExists('nh_years_prices_grid'); } } diff --git a/database/migrations/2021_10_08_062533_create_nh_months_prices_grid_table.php b/database/migrations/2021_10_08_062533_create_nh_months_prices_grid_table.php new file mode 100644 index 0000000..8e1a2fb --- /dev/null +++ b/database/migrations/2021_10_08_062533_create_nh_months_prices_grid_table.php @@ -0,0 +1,35 @@ +id(); + $table->integer('nh_network_config_id'); + $table->decimal('number_of_months', 2, 0)->default(0); + $table->decimal('min_amount', 10)->default(0); + $table->timestamp('created_at')->useCurrent(); + $table->timestamp('updated_at')->useCurrent(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('nh_months_prices_grid'); + } +} diff --git a/database/migrations/2021_10_08_070528_create_nh_acts_table.php b/database/migrations/2021_10_08_070528_create_nh_acts_table.php new file mode 100644 index 0000000..070d436 --- /dev/null +++ b/database/migrations/2021_10_08_070528_create_nh_acts_table.php @@ -0,0 +1,36 @@ +id(); + $table->integer('nh_network_config_id'); + $table->string('name'); + $table->enum('billing_type', ['PACKAGE', 'UNIT_PRICE'])->default('UNIT_PRICE')->comment('Type de facturation : forfait ou prix unitaire'); + $table->enum('authorization_type', ['FREE', 'PRIOR'])->default('FREE')->comment("Type d'autorisation : préalable ou libre"); + $table->timestamp('created_at')->useCurrent(); + $table->timestamp('updated_at')->useCurrent(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('nh_acts'); + } +}