diff --git a/app/Models/ContractTemplate.php b/app/Models/ContractTemplate.php new file mode 100644 index 0000000..1dae33b --- /dev/null +++ b/app/Models/ContractTemplate.php @@ -0,0 +1,11 @@ +id(); + $table->bigInteger('user_id')->unsigned()->nullable(); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->string('name'); + $table->integer('complete_day_range')->nullable()->default(1); + $table->integer('status')->nullable()->default(1); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('contract_templates'); + } +} diff --git a/database/migrations/2021_06_22_012628_create_contract_template_logs_table.php b/database/migrations/2021_06_22_012628_create_contract_template_logs_table.php new file mode 100644 index 0000000..893d5e4 --- /dev/null +++ b/database/migrations/2021_06_22_012628_create_contract_template_logs_table.php @@ -0,0 +1,36 @@ +id(); + $table->bigInteger('contract_template_id')->unsigned()->nullable(); + $table->foreign('contract_template_id')->references('id')->on('contract_templates')->onDelete('cascade'); + $table->json('history')->nullable(); + $table->text('remark')->nullable(); + $table->integer('status')->nullable()->default(1); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('contract_template_logs'); + } +} diff --git a/database/migrations/2021_06_22_012629_create_contract_template_obligations_table.php b/database/migrations/2021_06_22_012629_create_contract_template_obligations_table.php new file mode 100644 index 0000000..74f4968 --- /dev/null +++ b/database/migrations/2021_06_22_012629_create_contract_template_obligations_table.php @@ -0,0 +1,42 @@ +id(); + $table->bigInteger('user_id')->unsigned()->nullable(); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->bigInteger('contract_template_id')->unsigned()->nullable(); + $table->foreign('contract_template_id')->references('id')->on('contract_templates')->onDelete('cascade'); + $table->float('sequence', 4, 2)->nullable(); + $table->string('reference'); + $table->json('content'); + $table->integer('must_complete')->nullable()->default(1); + $table->integer('must_accept')->nullable()->default(1); + $table->integer('complete_day_range')->nullable()->default(1); + $table->integer('status')->nullable()->default(1); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('contract_template_obligations'); + } +} diff --git a/database/migrations/2021_06_22_012630_create_contract_template_obligation_dependencies_table.php b/database/migrations/2021_06_22_012630_create_contract_template_obligation_dependencies_table.php new file mode 100644 index 0000000..585069d --- /dev/null +++ b/database/migrations/2021_06_22_012630_create_contract_template_obligation_dependencies_table.php @@ -0,0 +1,38 @@ +id(); + $table->bigInteger('user_id')->unsigned()->nullable(); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->bigInteger('contract_template_obligation_id')->unsigned()->nullable(); + $table->foreign('contract_template_obligation_id', 'ctod_cto_id')->references('id')->on('contract_template_obligations')->onDelete('cascade'); + $table->bigInteger('depend_template_contract_obligation_id')->unsigned()->nullable(); + $table->foreign('depend_template_contract_obligation_id', 'dctod_cto_id')->references('id')->on('contract_template_obligations')->onDelete('cascade'); + $table->integer('status')->nullable()->default(1); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('contract_template_obligation_dependencies'); + } +} diff --git a/database/migrations/2021_06_22_012651_create_contracts_table.php b/database/migrations/2021_06_22_012651_create_contracts_table.php index ca5a1a3..77120cf 100644 --- a/database/migrations/2021_06_22_012651_create_contracts_table.php +++ b/database/migrations/2021_06_22_012651_create_contracts_table.php @@ -17,6 +17,10 @@ class CreateContractsTable extends Migration $table->id(); $table->bigInteger('user_id')->unsigned()->nullable(); $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->bigInteger('contract_template_id')->unsigned()->nullable(); + $table->foreign('contract_template_id')->references('id')->on('contract_templates')->onDelete('cascade'); + $table->string('name'); + $table->json('in_time_contract_template'); $table->integer('status')->nullable()->default(1); $table->timestamp('completed_at')->nullable(); $table->timestamp('failed_at')->nullable(); diff --git a/database/migrations/2021_06_22_013621_create_contract_obligation_dependencies_table.php b/database/migrations/2021_06_22_013621_create_contract_obligation_dependencies_table.php index b35cc37..82bdc38 100644 --- a/database/migrations/2021_06_22_013621_create_contract_obligation_dependencies_table.php +++ b/database/migrations/2021_06_22_013621_create_contract_obligation_dependencies_table.php @@ -20,7 +20,7 @@ class CreateContractObligationDependenciesTable extends Migration $table->bigInteger('contract_obligation_id')->unsigned()->nullable(); $table->foreign('contract_obligation_id')->references('id')->on('contract_obligations')->onDelete('cascade'); $table->bigInteger('depend_contract_obligation_id')->unsigned()->nullable(); - $table->foreign('depend_contract_obligation_id')->references('id')->on('contract_obligations')->onDelete('cascade'); + $table->foreign('depend_contract_obligation_id', 'cod_dco_id')->references('id')->on('contract_obligations')->onDelete('cascade'); $table->integer('status')->nullable()->default(1); $table->timestamps(); }); diff --git a/database/seeders/UsersTableSeeder.php b/database/seeders/UsersTableSeeder.php index 6dec896..8cea828 100644 --- a/database/seeders/UsersTableSeeder.php +++ b/database/seeders/UsersTableSeeder.php @@ -20,7 +20,7 @@ class UsersTableSeeder extends Seeder 'id' => 1, 'first_name' => 'izyim', 'last_name' => 'project', - 'username' => 'calvin', + 'username' => 'izyim', 'email' => 'one@izyim.com', 'password' => bcrypt('pass123'), 'img' => null, @@ -29,6 +29,34 @@ class UsersTableSeeder extends Seeder 'login_at' => date('Y-m-d H:i:s'), 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'id' => 2, + 'first_name' => 'vendor machine', + 'last_name' => 'project', + 'username' => 'user 1', + 'email' => 'one@vendor-machine.com', + 'password' => bcrypt('pass123'), + 'img' => null, + 'status' => 1, + 'active_at' => date('Y-m-d H:i:s'), + 'login_at' => date('Y-m-d H:i:s'), + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ], + [ + 'id' => 3, + 'first_name' => 'plumber service', + 'last_name' => 'project', + 'username' => 'user 2', + 'email' => 'one@plumber-service.com', + 'password' => bcrypt('pass123'), + 'img' => null, + 'status' => 1, + 'active_at' => date('Y-m-d H:i:s'), + 'login_at' => date('Y-m-d H:i:s'), + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') ] ]); }