ecom_core 1.2.4 → 1.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/constants/ecom/core/status_constants.rb +11 -0
- data/app/controllers/ecom/core/access_controller.rb +1 -1
- data/app/models/ecom/core/attendance_sheet.rb +37 -26
- data/app/models/ecom/core/attendance_sheet_entry.rb +1 -1
- data/app/models/ecom/core/company.rb +10 -0
- data/app/models/ecom/core/crew.rb +4 -4
- data/app/models/ecom/core/crew_overtime.rb +6 -1
- data/app/models/ecom/core/crew_time.rb +7 -2
- data/app/models/ecom/core/overtime_sheet.rb +18 -15
- data/app/models/ecom/core/payment_detail.rb +1 -1
- data/app/models/ecom/core/payroll.rb +5 -0
- data/app/models/ecom/core/project.rb +4 -0
- data/app/models/ecom/core/project_crew.rb +15 -0
- data/config/database.ci.yml +1 -0
- data/db/migrate/20190101085530_create_ecom_core_companies.rb +14 -0
- data/db/migrate/20191119012030_create_ecom_core_task_templates.rb +4 -3
- data/db/migrate/20191119013236_create_ecom_core_work_product_templates.rb +4 -3
- data/db/migrate/20191119144618_create_ecom_core_stakeholders.rb +4 -3
- data/db/migrate/20191201131341_create_ecom_core_product_types.rb +4 -2
- data/db/migrate/20191201134420_create_ecom_core_work_component_templates.rb +8 -6
- data/db/migrate/20191201145848_create_ecom_core_projects.rb +28 -13
- data/db/migrate/20191202103735_create_ecom_core_tasks.rb +8 -5
- data/db/migrate/20191202105355_create_task_templates_resource_types.rb +8 -7
- data/db/migrate/20191202220832_create_ecom_core_users.rb +9 -6
- data/db/migrate/20191202220953_create_ecom_core_user_roles.rb +13 -8
- data/db/migrate/20191202221423_create_ecom_core_menus.rb +16 -9
- data/db/migrate/20191202235434_create_ecom_core_work_products.rb +29 -15
- data/db/migrate/20191206104247_create_ecom_core_work_components.rb +24 -14
- data/db/migrate/20191225100054_create_ecom_core_crews.rb +8 -4
- data/db/migrate/20191225121850_create_ecom_core_project_crews.rb +19 -0
- data/db/migrate/{20200401040433_create_ecom_core_attendance_sheets.rb → 20191225140433_create_ecom_core_attendance_sheets.rb} +6 -1
- data/db/migrate/20191225162539_create_ecom_core_attendance_sheet_entries.rb +17 -0
- data/db/migrate/20191225211712_create_ecom_core_crew_times.rb +15 -9
- data/db/migrate/20200126081005_create_ecom_core_payrolls.rb +4 -0
- data/db/migrate/20200126082103_create_ecom_core_payments.rb +6 -3
- data/db/migrate/20200126183218_create_ecom_core_payment_details.rb +10 -5
- data/db/migrate/20200307112519_create_ecom_core_custom_payment_details.rb +4 -3
- data/db/migrate/20200315145215_create_ecom_core_equipment_locations.rb +4 -3
- data/db/migrate/20200315150500_create_ecom_core_equipment_categories.rb +4 -2
- data/db/migrate/20200315152143_create_ecom_core_equipment.rb +4 -2
- data/db/migrate/20200315153640_create_ecom_core_equipment_items.rb +8 -5
- data/db/migrate/20200315160810_create_ecom_core_equipment_valuations.rb +4 -3
- data/db/migrate/20200316125323_create_ecom_core_equipment_components.rb +4 -3
- data/db/migrate/20200410090701_create_ecom_core_overtime_sheets.rb +7 -1
- data/db/migrate/20200410100035_create_ecom_core_overtime_sheet_entries.rb +8 -5
- data/db/migrate/20200410111827_create_ecom_core_crew_overtimes.rb +17 -11
- data/lib/ecom/core/version.rb +1 -1
- data/spec/factories/ecom/core/application_modules.rb +1 -1
- data/spec/factories/ecom/core/attendance_sheet_entries.rb +1 -1
- data/spec/factories/ecom/core/attendance_sheets.rb +3 -2
- data/spec/factories/ecom/core/companies.rb +9 -0
- data/spec/factories/ecom/core/crew_overtimes.rb +1 -1
- data/spec/factories/ecom/core/crew_times.rb +1 -1
- data/spec/factories/ecom/core/crew_types.rb +1 -1
- data/spec/factories/ecom/core/crews.rb +3 -1
- data/spec/factories/ecom/core/currencies.rb +1 -1
- data/spec/factories/ecom/core/custom_payment_details.rb +1 -1
- data/spec/factories/ecom/core/equipment.rb +1 -1
- data/spec/factories/ecom/core/equipment_categories.rb +1 -1
- data/spec/factories/ecom/core/equipment_components.rb +1 -1
- data/spec/factories/ecom/core/equipment_items.rb +1 -1
- data/spec/factories/ecom/core/equipment_locations.rb +1 -1
- data/spec/factories/ecom/core/equipment_types.rb +1 -1
- data/spec/factories/ecom/core/equipment_valuations.rb +1 -1
- data/spec/factories/ecom/core/location_types.rb +1 -1
- data/spec/factories/ecom/core/lookups.rb +1 -1
- data/spec/factories/ecom/core/material_types.rb +1 -1
- data/spec/factories/ecom/core/menus.rb +1 -1
- data/spec/factories/ecom/core/overtime_sheet_entries.rb +1 -1
- data/spec/factories/ecom/core/overtime_sheets.rb +3 -2
- data/spec/factories/ecom/core/overtime_types.rb +1 -1
- data/spec/factories/ecom/core/payment_details.rb +1 -1
- data/spec/factories/ecom/core/payments.rb +1 -1
- data/spec/factories/ecom/core/payrolls.rb +2 -1
- data/spec/factories/ecom/core/product_types.rb +1 -1
- data/spec/factories/ecom/core/project_crews.rb +9 -0
- data/spec/factories/ecom/core/projects.rb +2 -1
- data/spec/factories/ecom/core/resource_types.rb +1 -1
- data/spec/factories/ecom/core/stakeholder_types.rb +1 -1
- data/spec/factories/ecom/core/stakeholders.rb +1 -1
- data/spec/factories/ecom/core/task_template_types.rb +1 -1
- data/spec/factories/ecom/core/task_templates.rb +1 -1
- data/spec/factories/ecom/core/tasks.rb +1 -1
- data/spec/factories/ecom/core/user_roles.rb +1 -1
- data/spec/factories/ecom/core/users.rb +2 -1
- data/spec/factories/ecom/core/work_component_templates.rb +1 -1
- data/spec/factories/ecom/core/work_components.rb +1 -1
- data/spec/factories/ecom/core/work_product_templates.rb +1 -1
- data/spec/factories/ecom/core/work_products.rb +2 -2
- metadata +15 -18
- data/db/migrate/20200207035823_add_additional_columns_to_payment.rb +0 -6
- data/db/migrate/20200207040844_add_net_pay_column_to_payment_details.rb +0 -5
- data/db/migrate/20200210095535_add_advance_column_to_payment_details.rb +0 -5
- data/db/migrate/20200221123207_add_employee_id_to_crew.rb +0 -5
- data/db/migrate/20200401071343_remove_date_column_from_crew_times.rb +0 -5
- data/db/migrate/20200401122539_create_ecom_core_attendance_sheet_entries.rb +0 -14
- data/db/migrate/20200401142959_relate_crew_time_with_attendance_sheet_entry.rb +0 -8
- data/db/migrate/20200401144137_remove_crew_time_id_from_crew.rb +0 -7
- data/db/migrate/20200413144023_fix_crew_time_columns.rb +0 -17
- data/db/migrate/20200414044144_adjust_crew_overtime_column_names.rb +0 -6
- data/db/migrate/20200414185248_change_time_columns_to_datetime.rb +0 -8
@@ -6,11 +6,26 @@ class CreateEcomCoreProjects < ActiveRecord::Migration[6.0]
|
|
6
6
|
t.string :location, null: false
|
7
7
|
t.string :objective
|
8
8
|
t.string :project_scope
|
9
|
-
t.references :employer,
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
t.references :
|
9
|
+
t.references :employer,
|
10
|
+
null: false,
|
11
|
+
index: { name: 'employer_on_projects_indx' },
|
12
|
+
foreign_key: { to_table: :ecom_core_stakeholders }
|
13
|
+
t.references :contractor,
|
14
|
+
null: false,
|
15
|
+
index: { name: 'employer_on_contractor_indx' },
|
16
|
+
foreign_key: { to_table: :ecom_core_stakeholders }
|
17
|
+
t.references :consultant,
|
18
|
+
null: false,
|
19
|
+
index: { name: 'employer_on_consultant_indx' },
|
20
|
+
foreign_key: { to_table: :ecom_core_stakeholders }
|
21
|
+
t.references :project_manager,
|
22
|
+
null: false,
|
23
|
+
index: { name: 'employer_on_pm_indx' },
|
24
|
+
foreign_key: { to_table: :ecom_core_stakeholders }
|
25
|
+
t.references :task_template,
|
26
|
+
null: false,
|
27
|
+
index: { name: 'employer_on_tt_indx' },
|
28
|
+
foreign_key: { to_table: :ecom_core_task_templates }
|
14
29
|
t.string :contract_number, null: false
|
15
30
|
t.date :date_contract_signed, null: false
|
16
31
|
t.date :commencement_date, null: false
|
@@ -19,16 +34,16 @@ class CreateEcomCoreProjects < ActiveRecord::Migration[6.0]
|
|
19
34
|
t.float :advance_payment, null: false
|
20
35
|
t.float :retention, null: false
|
21
36
|
t.string :remark
|
22
|
-
t.references :currency,
|
37
|
+
t.references :currency,
|
38
|
+
null: false,
|
39
|
+
index: { name: 'employer_on_currency_indx' },
|
40
|
+
foreign_key: { to_table: :ecom_core_currencies }
|
41
|
+
t.references :company,
|
42
|
+
null: false,
|
43
|
+
index: { name: 'project_on_company_indx' },
|
44
|
+
foreign_key: { to_table: :ecom_core_companies }
|
23
45
|
|
24
46
|
t.timestamps
|
25
47
|
end
|
26
|
-
|
27
|
-
add_foreign_key :ecom_core_projects, :ecom_core_stakeholders, column: :employer_id
|
28
|
-
add_foreign_key :ecom_core_projects, :ecom_core_stakeholders, column: :contractor_id
|
29
|
-
add_foreign_key :ecom_core_projects, :ecom_core_stakeholders, column: :consultant_id
|
30
|
-
add_foreign_key :ecom_core_projects, :ecom_core_stakeholders, column: :project_manager_id
|
31
|
-
add_foreign_key :ecom_core_projects, :ecom_core_task_templates, column: :task_template_id
|
32
|
-
add_foreign_key :ecom_core_projects, :ecom_core_currencies, column: :currency_id
|
33
48
|
end
|
34
49
|
end
|
@@ -5,13 +5,16 @@ class CreateEcomCoreTasks < ActiveRecord::Migration[6.0]
|
|
5
5
|
t.string :name, null: false
|
6
6
|
t.string :description
|
7
7
|
t.string :ancestry
|
8
|
-
t.references :project,
|
9
|
-
|
8
|
+
t.references :project,
|
9
|
+
null: false,
|
10
|
+
index: { name: 'tasks_on_project_indx' },
|
11
|
+
foreign_key: { to_table: :ecom_core_projects }
|
12
|
+
t.references :task_template,
|
13
|
+
null: false,
|
14
|
+
index: { name: 'tt_on_project_indx' },
|
15
|
+
foreign_key: { to_table: :ecom_core_task_templates }
|
10
16
|
|
11
17
|
t.timestamps
|
12
18
|
end
|
13
|
-
|
14
|
-
add_foreign_key :ecom_core_tasks, :ecom_core_projects, column: :project_id
|
15
|
-
add_foreign_key :ecom_core_tasks, :ecom_core_task_templates, column: :task_template_id
|
16
19
|
end
|
17
20
|
end
|
@@ -1,16 +1,17 @@
|
|
1
1
|
class CreateTaskTemplatesResourceTypes < ActiveRecord::Migration[6.0]
|
2
2
|
def change
|
3
3
|
create_table :ecom_core_task_templates_resource_types, id: false do |t|
|
4
|
-
t.references :task_template,
|
5
|
-
|
4
|
+
t.references :task_template,
|
5
|
+
null: false,
|
6
|
+
index: false,
|
7
|
+
foreign_key: { to_table: :ecom_core_task_templates }
|
8
|
+
t.references :resource_type,
|
9
|
+
null: false,
|
10
|
+
index: false,
|
11
|
+
foreign_key: { to_table: :ecom_core_resource_types }
|
6
12
|
end
|
7
13
|
|
8
14
|
add_index :ecom_core_task_templates_resource_types, %i[task_template_id resource_type_id],
|
9
15
|
unique: true, name: 'ttr_on_tt_rt_indx'
|
10
|
-
|
11
|
-
add_foreign_key :ecom_core_task_templates_resource_types, :ecom_core_task_templates,
|
12
|
-
column: :task_template_id
|
13
|
-
add_foreign_key :ecom_core_task_templates_resource_types, :ecom_core_resource_types,
|
14
|
-
column: :resource_type_id
|
15
16
|
end
|
16
17
|
end
|
@@ -6,19 +6,22 @@ class CreateEcomCoreUsers < ActiveRecord::Migration[6.0]
|
|
6
6
|
t.string :email, null: false
|
7
7
|
t.boolean :active, null: false, default: true
|
8
8
|
t.string :password_digest
|
9
|
+
t.jsonb :projects
|
9
10
|
|
10
11
|
t.timestamps
|
11
12
|
end
|
12
13
|
|
13
14
|
create_table :ecom_core_application_modules_users, id: false do |t|
|
14
|
-
t.references :user,
|
15
|
-
|
15
|
+
t.references :user,
|
16
|
+
null: false,
|
17
|
+
index: false,
|
18
|
+
foreign_key: { to_table: :ecom_core_users }
|
19
|
+
t.references :application_module,
|
20
|
+
null: false,
|
21
|
+
index: false,
|
22
|
+
foreign_key: { to_table: :ecom_core_application_modules }
|
16
23
|
end
|
17
24
|
|
18
25
|
add_index :ecom_core_application_modules_users, %i[user_id application_module_id], name: 'am_on_users_indx'
|
19
|
-
|
20
|
-
add_foreign_key :ecom_core_application_modules_users, :ecom_core_users, column: :user_id
|
21
|
-
add_foreign_key :ecom_core_application_modules_users, :ecom_core_application_modules,
|
22
|
-
column: :application_module_id
|
23
26
|
end
|
24
27
|
end
|
@@ -2,21 +2,26 @@ class CreateEcomCoreUserRoles < ActiveRecord::Migration[6.0]
|
|
2
2
|
def change
|
3
3
|
create_table :ecom_core_user_roles do |t|
|
4
4
|
t.string :name, index: false
|
5
|
-
t.references :application_module,
|
5
|
+
t.references :application_module,
|
6
|
+
null: false,
|
7
|
+
index: { name: 'ur_on_am_indx' },
|
8
|
+
foreign_key: { to_table: :ecom_core_application_modules }
|
6
9
|
|
7
10
|
t.timestamps
|
8
11
|
end
|
9
|
-
add_index :ecom_core_user_roles, %i[name application_module_id], unique: true, name: 'am_name_indx'
|
10
|
-
add_foreign_key :ecom_core_user_roles, :ecom_core_application_modules,
|
11
|
-
column: :application_module_id
|
12
12
|
|
13
13
|
create_table :ecom_core_users_user_roles, id: false do |t|
|
14
|
-
t.references :user,
|
15
|
-
|
14
|
+
t.references :user,
|
15
|
+
null: false,
|
16
|
+
index: false,
|
17
|
+
foreign_key: { to_table: :ecom_core_users }
|
18
|
+
t.references :user_role,
|
19
|
+
null: false,
|
20
|
+
index: false,
|
21
|
+
foreign_key: { to_table: :ecom_core_user_roles }
|
16
22
|
end
|
17
23
|
|
24
|
+
add_index :ecom_core_user_roles, %i[name application_module_id], unique: true, name: 'am_name_indx'
|
18
25
|
add_index :ecom_core_users_user_roles, %i[user_id user_role_id], unique: true, name: 'users_user_roles_indx'
|
19
|
-
add_foreign_key :ecom_core_users_user_roles, :ecom_core_users, column: :user_id
|
20
|
-
add_foreign_key :ecom_core_users_user_roles, :ecom_core_user_roles, column: :user_role_id
|
21
26
|
end
|
22
27
|
end
|
@@ -4,22 +4,29 @@ class CreateEcomCoreMenus < ActiveRecord::Migration[6.0]
|
|
4
4
|
t.string :label, null: false
|
5
5
|
t.string :icon
|
6
6
|
t.string :route, null: false
|
7
|
-
t.references :parent,
|
8
|
-
|
7
|
+
t.references :parent,
|
8
|
+
null: true,
|
9
|
+
index: false,
|
10
|
+
foreign_key: { to_table: :ecom_core_menus }
|
11
|
+
t.references :application_module,
|
12
|
+
null: false,
|
13
|
+
index: { name: 'menus_on_am_indx' },
|
14
|
+
foreign_key: { to_table: :ecom_core_application_modules }
|
9
15
|
|
10
16
|
t.timestamps
|
11
17
|
end
|
12
18
|
|
13
|
-
add_foreign_key :ecom_core_menus, :ecom_core_menus, column: :parent_id
|
14
|
-
add_foreign_key :ecom_core_menus, :ecom_core_application_modules, column: :application_module_id
|
15
|
-
|
16
19
|
create_table :ecom_core_menus_user_roles, id: false do |t|
|
17
|
-
t.references :menu,
|
18
|
-
|
20
|
+
t.references :menu,
|
21
|
+
null: false,
|
22
|
+
index: false,
|
23
|
+
foreign_key: { to_table: :ecom_core_menus }
|
24
|
+
t.references :user_role,
|
25
|
+
null: false,
|
26
|
+
index: false,
|
27
|
+
foreign_key: { to_table: :ecom_core_user_roles }
|
19
28
|
end
|
20
29
|
|
21
30
|
add_index :ecom_core_menus_user_roles, %i[menu_id user_role_id], unique: true, name: 'menus_user_roles_indx'
|
22
|
-
add_foreign_key :ecom_core_menus_user_roles, :ecom_core_menus, column: :menu_id
|
23
|
-
add_foreign_key :ecom_core_menus_user_roles, :ecom_core_user_roles, column: :user_role_id
|
24
31
|
end
|
25
32
|
end
|
@@ -6,30 +6,44 @@ class CreateEcomCoreWorkProducts < ActiveRecord::Migration[6.0]
|
|
6
6
|
t.string :description
|
7
7
|
t.string :design_reference_no, unique: true
|
8
8
|
t.json :dimension
|
9
|
-
t.references :task,
|
10
|
-
|
11
|
-
|
9
|
+
t.references :task,
|
10
|
+
null: false,
|
11
|
+
index: { name: 'task_on_wp_indx' },
|
12
|
+
foreign_key: { to_table: :ecom_core_tasks }
|
13
|
+
t.references :work_product_template,
|
14
|
+
null: false,
|
15
|
+
index: { name: 'wpt_on_wp_indx' },
|
16
|
+
foreign_key: { to_table: :ecom_core_work_product_templates }
|
17
|
+
t.references :project,
|
18
|
+
null: false,
|
19
|
+
index: { name: 'projects_on_wp_indx' },
|
20
|
+
foreign_key: { to_table: :ecom_core_projects }
|
12
21
|
t.string :assignment_status, default: 'UNASSIGNED'
|
13
22
|
t.string :task_status, default: 'NEW'
|
14
23
|
t.integer :percent_completed
|
15
24
|
t.string :remark
|
16
|
-
t.references :performer,
|
17
|
-
|
18
|
-
|
19
|
-
|
25
|
+
t.references :performer,
|
26
|
+
null: true,
|
27
|
+
index: false,
|
28
|
+
foreign_key: { to_table: :ecom_core_users }
|
29
|
+
t.references :approver,
|
30
|
+
null: true,
|
31
|
+
index: false,
|
32
|
+
foreign_key: { to_table: :ecom_core_users }
|
33
|
+
t.references :supervisor,
|
34
|
+
null: true,
|
35
|
+
index: false,
|
36
|
+
foreign_key: { to_table: :ecom_core_users }
|
37
|
+
t.references :quality_controller,
|
38
|
+
null: true,
|
39
|
+
index: false,
|
40
|
+
foreign_key: { to_table: :ecom_core_users }
|
20
41
|
t.datetime :start_date
|
21
42
|
t.datetime :completion_date
|
22
43
|
|
23
44
|
t.timestamps
|
24
45
|
end
|
46
|
+
|
25
47
|
add_index :ecom_core_work_products, %i[code project_id], unique: true
|
26
|
-
add_foreign_key :ecom_core_work_products, :ecom_core_tasks, column: :task_id
|
27
|
-
add_foreign_key :ecom_core_work_products, :ecom_core_work_product_templates,
|
28
|
-
column: :work_product_template_id
|
29
|
-
add_foreign_key :ecom_core_work_products, :ecom_core_projects, column: :project_id
|
30
|
-
add_foreign_key :ecom_core_work_products, :ecom_core_users, column: :performer_id
|
31
|
-
add_foreign_key :ecom_core_work_products, :ecom_core_users, column: :approver_id
|
32
|
-
add_foreign_key :ecom_core_work_products, :ecom_core_users, column: :supervisor_id
|
33
|
-
add_foreign_key :ecom_core_work_products, :ecom_core_users, column: :quality_controller_id
|
34
48
|
end
|
35
49
|
end
|
@@ -7,24 +7,34 @@ class CreateEcomCoreWorkComponents < ActiveRecord::Migration[6.0]
|
|
7
7
|
t.string :task_status, null: false, default: :new
|
8
8
|
t.integer :percent_completed, null: false, default: 0
|
9
9
|
t.string :remark
|
10
|
-
t.references :performer,
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
t.references :performer,
|
11
|
+
null: true,
|
12
|
+
index: false,
|
13
|
+
foreign_key: { to_table: :ecom_core_users }
|
14
|
+
t.references :approver,
|
15
|
+
null: true,
|
16
|
+
index: false,
|
17
|
+
foreign_key: { to_table: :ecom_core_users }
|
18
|
+
t.references :supervisor,
|
19
|
+
null: true,
|
20
|
+
index: false,
|
21
|
+
foreign_key: { to_table: :ecom_core_users }
|
22
|
+
t.references :quality_controller,
|
23
|
+
null: true,
|
24
|
+
index: false,
|
25
|
+
foreign_key: { to_table: :ecom_core_users }
|
14
26
|
t.date :start_date
|
15
27
|
t.date :completion_date
|
16
|
-
t.references :work_component_template,
|
17
|
-
|
28
|
+
t.references :work_component_template,
|
29
|
+
null: false,
|
30
|
+
index: { name: 'wct_on_wc_indx' },
|
31
|
+
foreign_key: { to_table: :ecom_core_work_component_templates }
|
32
|
+
t.references :work_product,
|
33
|
+
null: false,
|
34
|
+
index: { name: 'wp_on_wc_indx' },
|
35
|
+
foreign_key: { to_table: :ecom_core_work_products }
|
18
36
|
|
19
37
|
t.timestamps
|
20
38
|
end
|
21
|
-
|
22
|
-
add_foreign_key :ecom_core_work_components, :ecom_core_users, column: :performer_id
|
23
|
-
add_foreign_key :ecom_core_work_components, :ecom_core_users, column: :approver_id
|
24
|
-
add_foreign_key :ecom_core_work_components, :ecom_core_users, column: :supervisor_id
|
25
|
-
add_foreign_key :ecom_core_work_components, :ecom_core_users, column: :quality_controller_id
|
26
|
-
add_foreign_key :ecom_core_work_components, :ecom_core_work_component_templates,
|
27
|
-
column: :work_component_template_id
|
28
|
-
add_foreign_key :ecom_core_work_components, :ecom_core_work_products, column: :work_product_id
|
29
39
|
end
|
30
40
|
end
|
@@ -1,22 +1,26 @@
|
|
1
1
|
class CreateEcomCoreCrews < ActiveRecord::Migration[6.0]
|
2
2
|
def change
|
3
3
|
create_table :ecom_core_crews do |t|
|
4
|
+
t.string :employee_id
|
4
5
|
t.string :name, null: false
|
6
|
+
t.string :address, null: false
|
5
7
|
t.string :phone
|
6
8
|
t.string :email
|
7
9
|
t.string :qualification, null: false
|
8
10
|
t.string :employment, null: false
|
9
|
-
t.float :wage
|
11
|
+
t.float :wage, null: false
|
12
|
+
t.string :wage_in_words, null: false
|
10
13
|
t.date :employment_date
|
11
14
|
t.boolean :sub_contracted, null: false, default: false
|
12
15
|
t.string :guarantor_name
|
13
16
|
t.string :guarantor_phone
|
14
17
|
t.boolean :active, null: false, default: true
|
15
|
-
t.references :crew_type,
|
18
|
+
t.references :crew_type,
|
19
|
+
null: false,
|
20
|
+
index: { name: 'crew_on_ct_indx' },
|
21
|
+
foreign_key: { to_table: :ecom_core_resource_types }
|
16
22
|
|
17
23
|
t.timestamps
|
18
24
|
end
|
19
|
-
|
20
|
-
add_foreign_key :ecom_core_crews, :ecom_core_resource_types, column: :crew_type_id
|
21
25
|
end
|
22
26
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class CreateEcomCoreProjectCrews < ActiveRecord::Migration[6.0]
|
2
|
+
def change
|
3
|
+
create_table :ecom_core_project_crews do |t|
|
4
|
+
t.references :project,
|
5
|
+
null: false,
|
6
|
+
index: { name: 'pc_on_project_indx' },
|
7
|
+
foreign_key: { to_table: :ecom_core_projects }
|
8
|
+
t.references :crew,
|
9
|
+
null: false,
|
10
|
+
index: { name: 'pc_on_crew_indx' },
|
11
|
+
foreign_key: { to_table: :ecom_core_crews }
|
12
|
+
t.date :start_date, null: false
|
13
|
+
t.date :end_date
|
14
|
+
t.string :status, null: false, default: 'Inactive'
|
15
|
+
|
16
|
+
t.timestamps
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -1,13 +1,18 @@
|
|
1
1
|
class CreateEcomCoreAttendanceSheets < ActiveRecord::Migration[6.0]
|
2
2
|
def change
|
3
3
|
create_table :ecom_core_attendance_sheets do |t|
|
4
|
-
t.date :date, null: false
|
4
|
+
t.date :date, null: false
|
5
5
|
t.time :opened_at, null: false
|
6
6
|
t.time :closed_at
|
7
7
|
t.string :remark
|
8
8
|
t.string :status, null: false, default: 'Open'
|
9
|
+
t.references :project,
|
10
|
+
null: false,
|
11
|
+
index: { name: 'as_on_project_indx' },
|
12
|
+
foreign_key: { to_table: :ecom_core_projects }
|
9
13
|
|
10
14
|
t.timestamps
|
11
15
|
end
|
16
|
+
add_index :ecom_core_attendance_sheets, %i[date project_id], unique: true
|
12
17
|
end
|
13
18
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateEcomCoreAttendanceSheetEntries < ActiveRecord::Migration[6.0]
|
2
|
+
def change
|
3
|
+
create_table :ecom_core_attendance_sheet_entries do |t|
|
4
|
+
t.references :attendance_sheet,
|
5
|
+
null: false,
|
6
|
+
index: { name: 'ase_on_as_indx' },
|
7
|
+
foreign_key: { to_table: :ecom_core_attendance_sheets }
|
8
|
+
t.references :crew,
|
9
|
+
null: false,
|
10
|
+
index: { name: 'ase_on_crew_indx' },
|
11
|
+
foreign_key: { to_table: :ecom_core_crews }
|
12
|
+
t.float :total_hours
|
13
|
+
|
14
|
+
t.timestamps
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -1,19 +1,25 @@
|
|
1
1
|
class CreateEcomCoreCrewTimes < ActiveRecord::Migration[6.0]
|
2
2
|
def change
|
3
3
|
create_table :ecom_core_crew_times do |t|
|
4
|
-
t.
|
5
|
-
t.
|
6
|
-
t.time :checkout_time
|
4
|
+
t.datetime :checkin_time
|
5
|
+
t.datetime :checkout_time
|
7
6
|
t.float :hours, null: false
|
8
|
-
t.float :converted_hours, null: false, default: 0
|
9
|
-
t.references :crew, index: { name: 'ct_on_crew_indx' }
|
10
7
|
t.string :remark
|
11
|
-
t.boolean :
|
12
|
-
t.
|
8
|
+
t.boolean :revised, null: false, default: false
|
9
|
+
t.references :revision_to,
|
10
|
+
null: true,
|
11
|
+
index: { name: 'ct_on_rt_indx' },
|
12
|
+
foreign_key: { to_table: :ecom_core_crew_times }
|
13
|
+
t.references :created_by,
|
14
|
+
null: false,
|
15
|
+
index: { name: 'ct_on_cb_indx' },
|
16
|
+
foreign_key: { to_table: :ecom_core_users }
|
17
|
+
t.references :attendance_sheet_entry,
|
18
|
+
null: false,
|
19
|
+
index: { name: 'ct_on_ase_indx' },
|
20
|
+
foreign_key: { to_table: :ecom_core_attendance_sheet_entries }
|
13
21
|
|
14
22
|
t.timestamps
|
15
23
|
end
|
16
|
-
|
17
|
-
add_foreign_key :ecom_core_crew_times, :ecom_core_crews, column: :crew_id
|
18
24
|
end
|
19
25
|
end
|
@@ -4,6 +4,10 @@ class CreateEcomCorePayrolls < ActiveRecord::Migration[6.0]
|
|
4
4
|
t.integer :month, null: false
|
5
5
|
t.integer :year, null: false
|
6
6
|
t.boolean :approved, null: false, default: false
|
7
|
+
t.references :project,
|
8
|
+
null: false,
|
9
|
+
index: { name: 'payroll_on_project_indx' },
|
10
|
+
foreign_key: { to_table: :ecom_core_projects }
|
7
11
|
|
8
12
|
t.timestamps
|
9
13
|
end
|