ecom_core 1.2.30 → 1.2.35

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.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/ecom/core/{project_crews_controller.rb → site_crews_controller.rb} +5 -4
  3. data/app/models/ecom/core/attendance_sheet.rb +19 -19
  4. data/app/models/ecom/core/available_unit_of_measurement.rb +10 -0
  5. data/app/models/ecom/core/crew.rb +14 -3
  6. data/app/models/ecom/core/crew_contract.rb +41 -1
  7. data/app/models/ecom/core/crew_contract_transaction.rb +29 -0
  8. data/app/models/ecom/core/crew_id_card.rb +36 -0
  9. data/app/models/ecom/core/crew_time.rb +11 -3
  10. data/app/models/ecom/core/dimension_element.rb +22 -0
  11. data/app/models/ecom/core/inspection_checklist.rb +6 -0
  12. data/app/models/ecom/core/job_card.rb +1 -1
  13. data/app/models/ecom/core/material.rb +6 -0
  14. data/app/models/ecom/core/material_identity.rb +21 -0
  15. data/app/models/ecom/core/material_item.rb +18 -0
  16. data/app/models/ecom/core/material_sub_type.rb +20 -0
  17. data/app/models/ecom/core/measurement_unit.rb +55 -0
  18. data/app/models/ecom/core/overtime_sheet.rb +26 -16
  19. data/app/models/ecom/core/payroll.rb +3 -3
  20. data/app/models/ecom/core/plan.rb +18 -0
  21. data/app/models/ecom/core/project.rb +0 -3
  22. data/app/models/ecom/core/project_template.rb +11 -0
  23. data/app/models/ecom/core/project_work_item_template.rb +9 -0
  24. data/app/models/ecom/core/schedule_setting.rb +8 -6
  25. data/app/models/ecom/core/{project_crew.rb → site.rb} +8 -4
  26. data/app/models/ecom/core/site_crew.rb +27 -0
  27. data/app/models/ecom/core/takeoff.rb +10 -0
  28. data/app/models/ecom/core/task.rb +32 -4
  29. data/app/models/ecom/core/task_inspection_checklist.rb +18 -0
  30. data/app/models/ecom/core/task_resource.rb +2 -0
  31. data/app/models/ecom/core/task_template.rb +22 -2
  32. data/app/models/ecom/core/task_template_inspection_checklist.rb +8 -0
  33. data/app/models/ecom/core/work_order.rb +26 -0
  34. data/app/models/ecom/core/work_package.rb +3 -0
  35. data/app/models/ecom/core/work_product.rb +3 -18
  36. data/app/models/ecom/core/work_product_template.rb +2 -2
  37. data/app/services/ecom/core/crew_contract_transaction_service.rb +89 -0
  38. data/app/services/ecom/core/site_crew_service.rb +44 -0
  39. data/app/uploaders/ecom/core/photo_uploader.rb +8 -1
  40. data/config/routes.rb +2 -2
  41. data/db/migrate/20191119012030_create_ecom_core_task_templates.rb +6 -1
  42. data/db/migrate/20191119013236_create_ecom_core_work_product_templates.rb +0 -15
  43. data/db/migrate/20191119021405_create_ecom_core_project_templates.rb +15 -0
  44. data/db/migrate/20191119034319_create_ecom_core_project_work_item_templates.rb +20 -0
  45. data/db/migrate/20191201145849_create_ecom_core_sites.rb +16 -0
  46. data/db/migrate/20191202222210_create_ecom_core_work_packages.rb +12 -0
  47. data/db/migrate/20191202235434_create_ecom_core_work_products.rb +2 -18
  48. data/db/migrate/{20191225100054_create_ecom_core_crews.rb → 20191207103729_create_ecom_core_crews.rb} +3 -3
  49. data/db/migrate/20191207103730_create_ecom_core_plans.rb +12 -0
  50. data/db/migrate/20191207103731_create_ecom_core_work_orders.rb +23 -0
  51. data/db/migrate/20191207103735_create_ecom_core_tasks.rb +23 -7
  52. data/db/migrate/20191225140433_create_ecom_core_attendance_sheets.rb +4 -4
  53. data/db/migrate/20200126081005_create_ecom_core_payrolls.rb +3 -3
  54. data/db/migrate/20200410090701_create_ecom_core_overtime_sheets.rb +4 -4
  55. data/db/migrate/20200616044231_create_ecom_core_material_sub_types.rb +14 -0
  56. data/db/migrate/20200616051902_create_ecom_core_material_identities.rb +17 -0
  57. data/db/migrate/20200618105233_create_ecom_core_material_items.rb +16 -0
  58. data/db/migrate/20200813165553_create_ecom_core_measurement_units.rb +14 -0
  59. data/db/migrate/20200813165555_create_ecom_core_available_unit_of_measurements.rb +16 -0
  60. data/db/migrate/20200814043632_create_ecom_core_takeoffs.rb +14 -0
  61. data/db/migrate/20200901085227_create_ecom_core_crew_contracts.rb +7 -1
  62. data/db/migrate/20200901134912_create_ecom_core_dimension_elements.rb +23 -0
  63. data/db/migrate/20200919085613_create_ecom_core_job_cards.rb +1 -0
  64. data/db/migrate/20201013072924_create_ecom_core_crew_contract_transactions.rb +16 -0
  65. data/db/migrate/20201013090609_create_ecom_core_site_crews.rb.rb +22 -0
  66. data/db/migrate/20201013094100_create_ecom_core_crew_id_cards.rb +16 -0
  67. data/db/migrate/20201113050953_create_ecom_core_task_inspection_checklists.rb +22 -0
  68. data/db/migrate/20201113094302_create_ecom_core_task_template_inspection_checklists.rb +17 -0
  69. data/lib/ecom/core/version.rb +1 -1
  70. data/spec/factories/ecom/core/attendance_sheet_entries.rb +1 -1
  71. data/spec/factories/ecom/core/attendance_sheets.rb +1 -1
  72. data/spec/factories/ecom/core/available_unit_of_measurements.rb +6 -0
  73. data/spec/factories/ecom/core/crew_contract_transactions.rb +8 -0
  74. data/spec/factories/ecom/core/crew_contracts.rb +12 -0
  75. data/spec/factories/ecom/core/crew_id_cards.rb +8 -0
  76. data/spec/factories/ecom/core/dimension_elements.rb +8 -0
  77. data/spec/factories/ecom/core/inspection_checklists.rb +5 -0
  78. data/spec/factories/ecom/core/maintenance_statuses.rb +1 -1
  79. data/spec/factories/ecom/core/material_identities.rb +6 -0
  80. data/spec/factories/ecom/core/material_items.rb +6 -0
  81. data/spec/factories/ecom/core/material_sub_types.rb +6 -0
  82. data/spec/factories/ecom/core/materials.rb +5 -0
  83. data/spec/factories/ecom/core/measurement_units.rb +16 -0
  84. data/spec/factories/ecom/core/overtime_sheets.rb +1 -1
  85. data/spec/factories/ecom/core/payrolls.rb +1 -1
  86. data/spec/factories/ecom/core/plans.rb +8 -0
  87. data/spec/factories/ecom/core/project_templates.rb +8 -0
  88. data/spec/factories/ecom/core/project_work_item_templates.rb +7 -0
  89. data/spec/factories/ecom/core/site_crews.rb +10 -0
  90. data/spec/factories/ecom/core/sites.rb +8 -0
  91. data/spec/factories/ecom/core/takeoffs.rb +6 -0
  92. data/spec/factories/ecom/core/task_inspection_checklists.rb +11 -0
  93. data/spec/factories/ecom/core/task_template_inspection_checklists.rb +7 -0
  94. data/spec/factories/ecom/core/task_templates.rb +11 -1
  95. data/spec/factories/ecom/core/tasks.rb +8 -3
  96. data/spec/factories/ecom/core/work_orders.rb +10 -0
  97. data/spec/factories/ecom/core/work_packages.rb +6 -0
  98. data/spec/factories/ecom/core/work_product_templates.rb +0 -1
  99. data/spec/factories/ecom/core/work_products.rb +1 -8
  100. metadata +75 -9
  101. data/app/services/ecom/core/project_crew_service.rb +0 -39
  102. data/db/migrate/20191225121850_create_ecom_core_project_crews.rb +0 -19
  103. data/db/migrate/20200922044959_add_costs_approved_to_job_card.rb +0 -5
  104. data/spec/factories/ecom/core/project_crews.rb +0 -9
@@ -3,6 +3,6 @@ FactoryBot.define do
3
3
  month { 1 }
4
4
  year { 2000 }
5
5
  approved { false }
6
- association :project
6
+ association :site
7
7
  end
8
8
  end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :plan, class: Ecom::Core::Plan do
3
+ name { FFaker::Name.name }
4
+ start_date { Time.now }
5
+ end_date { (Time.now + 1.day).to_s }
6
+ status { Ecom::Core::Plan::STATUSES.sample }
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :project_template, class: Ecom::Core::ProjectTemplate do
3
+ code { FFaker::Name.name }
4
+ name { FFaker::Name.name }
5
+ description { FFaker::Name.name }
6
+ association :task_template_type
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :project_work_item_template, class: Ecom::Core::ProjectWorkItemTemplate do
3
+ association :task_template
4
+ association :work_product_template
5
+ association :project_template
6
+ end
7
+ end
@@ -0,0 +1,10 @@
1
+ FactoryBot.define do
2
+ factory :site_crew, class: Ecom::Core::SiteCrew do
3
+ association :crew
4
+ association :site
5
+ site_crew_type { Ecom::Core::SiteCrew::SITE_CREW_TYPES.sample }
6
+ start_date { Time.now }
7
+ end_date { Time.now + 1.month }
8
+ status { 'Active' }
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :site, class: Ecom::Core::Site do
3
+ name { FFaker::Name.name }
4
+ address { FFaker::Address.street_address }
5
+ association :project
6
+ status { Ecom::Core::Site::STATUSES.sample }
7
+ end
8
+ end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :takeoff, class: Ecom::Core::Takeoff do
3
+ association :task
4
+ takeoff_quantity { 33 }
5
+ end
6
+ end
@@ -0,0 +1,11 @@
1
+ FactoryBot.define do
2
+ factory :task_inspection_checklist, class: Ecom::Core::TaskInspectionChecklist do
3
+ name { FFaker::Name.name }
4
+ date_of_inspection { Date.today }
5
+ association :inspected_by, factory: :user
6
+ status { Ecom::Core::TaskInspectionChecklist::NOT_INSPECTED }
7
+ remark { FFaker::Name.name }
8
+ recommendation { FFaker::Name.name }
9
+ association :task
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :task_template_inspection_checklist, class: Ecom::Core::TaskTemplateInspectionChecklist do
3
+ association :task_template
4
+ association :inspection_checklist
5
+ standard { FFaker::Name.name }
6
+ end
7
+ end
@@ -7,6 +7,16 @@ FactoryBot.define do
7
7
  description { FFaker::Name.name }
8
8
  association :task_template_type
9
9
  has_takeoff_fields { false }
10
- fields { [{ name: 'length', label: 'Length' }] }
10
+ takeoff_fields { [{ name: 'length', label: 'Length' }] }
11
+ percentage_contribution { nil }
12
+ task_sequence { 1 }
13
+ has_inspection { false }
14
+ discipline { false }
15
+ task_completion_detail do
16
+ [
17
+ { name: 'length', label: 'Length' },
18
+ { name: 'width', label: 'Width' }
19
+ ]
20
+ end
11
21
  end
12
22
  end
@@ -10,10 +10,15 @@ FactoryBot.define do
10
10
  status { :new }
11
11
  percent_completed { 0 }
12
12
  remark { FFaker::Name.name }
13
+ inspection_submission_date { Date.today }
14
+ inspection_status { Ecom::Core::Task::NOT_INSPECTED }
15
+ change_order { false }
16
+ change_order_for { nil }
17
+ percentage_contribution { nil }
13
18
  association :performer, factory: :user
14
- association :approver, factory: :user
15
- association :supervisor, factory: :user
16
- association :quality_controller, factory: :user
19
+ association :client_consultant, factory: :user
20
+ association :foreman, factory: :user
21
+ association :inspector, factory: :user
17
22
  association :task_template
18
23
  association :work_product
19
24
  association :work_package
@@ -0,0 +1,10 @@
1
+ FactoryBot.define do
2
+ factory :work_order, class: Ecom::Core::WorkOrder do
3
+ name { FFaker::Name.unique.name }
4
+ association :assigned_to, factory: :crew
5
+ association :generated_by, factory: :user
6
+ start_date { (Time.now + 1.day).to_s }
7
+ end_date { (Time.now + 1.month).to_s }
8
+ status { Ecom::Core::WorkOrder::STATUSES.sample }
9
+ end
10
+ end
@@ -7,6 +7,12 @@ FactoryBot.define do
7
7
  description { FFaker::Name.name }
8
8
  start_date { Date.yesterday }
9
9
  end_date { Date.today }
10
+ location { FFaker::Name.name }
11
+ budget { 1000 }
12
+ resource_required { FFaker::Name.name }
13
+ concerns { FFaker::Name.name }
14
+ association :site_engineer, factory: :user
15
+ association :project_manager, factory: :user
10
16
  association :project
11
17
  end
12
18
  end
@@ -7,6 +7,5 @@ FactoryBot.define do
7
7
  "Name#{n}"
8
8
  end
9
9
  description { FFaker::Name.name }
10
- association :task_template_type
11
10
  end
12
11
  end
@@ -2,19 +2,12 @@ FactoryBot.define do
2
2
  factory :work_product, class: Ecom::Core::WorkProduct do
3
3
  name { FFaker::Name.name }
4
4
  description { FFaker::Name.name }
5
- design_reference_no { FFaker::Guid.guid }
6
- dimension { [{ label: 'Length', name: 'length', value: 12 }] }
5
+ design_reference { FFaker::Guid.guid }
7
6
  association :product_group
8
7
  association :work_product_template
9
8
  association :project
10
- status { Ecom::Core::WorkProduct::NEW }
11
- percent_completed { FFaker::Random.rand(1..100) }
12
9
  remark { FFaker::Name.name }
13
- association :approver, factory: :user
14
- association :supervisor, factory: :user
15
- association :quality_controller, factory: :user
16
10
  start_date { 1.day.ago }
17
11
  completion_date { Time.now.next_week }
18
- tasks_generated { false }
19
12
  end
20
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecom_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.30
4
+ version: 1.2.35
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-22 00:00:00.000000000 Z
11
+ date: 2020-11-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aasm
@@ -142,6 +142,20 @@ dependencies:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
144
  version: 6.0.3
145
+ - !ruby/object:Gem::Dependency
146
+ name: json-schema
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ type: :runtime
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
145
159
  - !ruby/object:Gem::Dependency
146
160
  name: factory_bot_rails
147
161
  requirement: !ruby/object:Gem::Requirement
@@ -248,14 +262,15 @@ files:
248
262
  - app/controllers/ecom/core/equipment_types_controller.rb
249
263
  - app/controllers/ecom/core/material_types_controller.rb
250
264
  - app/controllers/ecom/core/menus_controller.rb
251
- - app/controllers/ecom/core/project_crews_controller.rb
252
265
  - app/controllers/ecom/core/projects_controller.rb
266
+ - app/controllers/ecom/core/site_crews_controller.rb
253
267
  - app/controllers/ecom/core/user_roles_controller.rb
254
268
  - app/controllers/ecom/core/users_controller.rb
255
269
  - app/models/ecom/core/application_module.rb
256
270
  - app/models/ecom/core/application_record.rb
257
271
  - app/models/ecom/core/attendance_sheet.rb
258
272
  - app/models/ecom/core/attendance_sheet_entry.rb
273
+ - app/models/ecom/core/available_unit_of_measurement.rb
259
274
  - app/models/ecom/core/booked_item.rb
260
275
  - app/models/ecom/core/booking.rb
261
276
  - app/models/ecom/core/company.rb
@@ -264,11 +279,14 @@ files:
264
279
  - app/models/ecom/core/country.rb
265
280
  - app/models/ecom/core/crew.rb
266
281
  - app/models/ecom/core/crew_contract.rb
282
+ - app/models/ecom/core/crew_contract_transaction.rb
283
+ - app/models/ecom/core/crew_id_card.rb
267
284
  - app/models/ecom/core/crew_overtime.rb
268
285
  - app/models/ecom/core/crew_time.rb
269
286
  - app/models/ecom/core/crew_type.rb
270
287
  - app/models/ecom/core/currency.rb
271
288
  - app/models/ecom/core/custom_payment_detail.rb
289
+ - app/models/ecom/core/dimension_element.rb
272
290
  - app/models/ecom/core/equipment.rb
273
291
  - app/models/ecom/core/equipment_category.rb
274
292
  - app/models/ecom/core/equipment_component.rb
@@ -277,6 +295,7 @@ files:
277
295
  - app/models/ecom/core/equipment_request.rb
278
296
  - app/models/ecom/core/equipment_type.rb
279
297
  - app/models/ecom/core/equipment_valuation.rb
298
+ - app/models/ecom/core/inspection_checklist.rb
280
299
  - app/models/ecom/core/job_card.rb
281
300
  - app/models/ecom/core/location_type.rb
282
301
  - app/models/ecom/core/lookup.rb
@@ -285,7 +304,12 @@ files:
285
304
  - app/models/ecom/core/maintenance_service_order.rb
286
305
  - app/models/ecom/core/maintenance_status.rb
287
306
  - app/models/ecom/core/maintenance_type.rb
307
+ - app/models/ecom/core/material.rb
308
+ - app/models/ecom/core/material_identity.rb
309
+ - app/models/ecom/core/material_item.rb
310
+ - app/models/ecom/core/material_sub_type.rb
288
311
  - app/models/ecom/core/material_type.rb
312
+ - app/models/ecom/core/measurement_unit.rb
289
313
  - app/models/ecom/core/menu.rb
290
314
  - app/models/ecom/core/overtime_sheet.rb
291
315
  - app/models/ecom/core/overtime_sheet_entry.rb
@@ -293,22 +317,30 @@ files:
293
317
  - app/models/ecom/core/payment.rb
294
318
  - app/models/ecom/core/payment_detail.rb
295
319
  - app/models/ecom/core/payroll.rb
320
+ - app/models/ecom/core/plan.rb
296
321
  - app/models/ecom/core/product_group.rb
297
322
  - app/models/ecom/core/product_type.rb
298
323
  - app/models/ecom/core/project.rb
299
- - app/models/ecom/core/project_crew.rb
324
+ - app/models/ecom/core/project_template.rb
325
+ - app/models/ecom/core/project_work_item_template.rb
300
326
  - app/models/ecom/core/requested_item.rb
301
327
  - app/models/ecom/core/resource_type.rb
302
328
  - app/models/ecom/core/schedule_setting.rb
303
329
  - app/models/ecom/core/schedule_unit.rb
330
+ - app/models/ecom/core/site.rb
331
+ - app/models/ecom/core/site_crew.rb
304
332
  - app/models/ecom/core/stakeholder.rb
305
333
  - app/models/ecom/core/stakeholder_type.rb
334
+ - app/models/ecom/core/takeoff.rb
306
335
  - app/models/ecom/core/task.rb
336
+ - app/models/ecom/core/task_inspection_checklist.rb
307
337
  - app/models/ecom/core/task_resource.rb
308
338
  - app/models/ecom/core/task_template.rb
339
+ - app/models/ecom/core/task_template_inspection_checklist.rb
309
340
  - app/models/ecom/core/task_template_type.rb
310
341
  - app/models/ecom/core/user.rb
311
342
  - app/models/ecom/core/user_role.rb
343
+ - app/models/ecom/core/work_order.rb
312
344
  - app/models/ecom/core/work_package.rb
313
345
  - app/models/ecom/core/work_product.rb
314
346
  - app/models/ecom/core/work_product_template.rb
@@ -317,8 +349,9 @@ files:
317
349
  - app/serializers/ecom/core/resource_type_serializer.rb
318
350
  - app/serializers/ecom/core/user_role_serializer.rb
319
351
  - app/serializers/ecom/core/user_serializer.rb
352
+ - app/services/ecom/core/crew_contract_transaction_service.rb
320
353
  - app/services/ecom/core/menu_service.rb
321
- - app/services/ecom/core/project_crew_service.rb
354
+ - app/services/ecom/core/site_crew_service.rb
322
355
  - app/services/ecom/core/token_auth_service.rb
323
356
  - app/uploaders/ecom/core/photo_uploader.rb
324
357
  - app/validators/ecom/core/date_range_validator.rb
@@ -330,12 +363,15 @@ files:
330
363
  - db/migrate/20191119010518_create_ecom_core_task_template_types.rb
331
364
  - db/migrate/20191119012030_create_ecom_core_task_templates.rb
332
365
  - db/migrate/20191119013236_create_ecom_core_work_product_templates.rb
366
+ - db/migrate/20191119021405_create_ecom_core_project_templates.rb
367
+ - db/migrate/20191119034319_create_ecom_core_project_work_item_templates.rb
333
368
  - db/migrate/20191119144141_create_ecom_core_stakeholder_types.rb
334
369
  - db/migrate/20191119144618_create_ecom_core_stakeholders.rb
335
370
  - db/migrate/20191119145711_create_ecom_core_resource_types.rb
336
371
  - db/migrate/20191201131341_create_ecom_core_product_types.rb
337
372
  - db/migrate/20191201145816_create_ecom_core_currencies.rb
338
373
  - db/migrate/20191201145848_create_ecom_core_projects.rb
374
+ - db/migrate/20191201145849_create_ecom_core_sites.rb
339
375
  - db/migrate/20191201251015_create_ecom_core_product_groups.rb
340
376
  - db/migrate/20191202105355_create_task_templates_resource_types.rb
341
377
  - db/migrate/20191202220752_create_ecom_core_application_modules.rb
@@ -344,10 +380,11 @@ files:
344
380
  - db/migrate/20191202221423_create_ecom_core_menus.rb
345
381
  - db/migrate/20191202222210_create_ecom_core_work_packages.rb
346
382
  - db/migrate/20191202235434_create_ecom_core_work_products.rb
383
+ - db/migrate/20191207103729_create_ecom_core_crews.rb
384
+ - db/migrate/20191207103730_create_ecom_core_plans.rb
385
+ - db/migrate/20191207103731_create_ecom_core_work_orders.rb
347
386
  - db/migrate/20191207103735_create_ecom_core_tasks.rb
348
387
  - db/migrate/20191210724614_create_ecom_core_task_resources.rb
349
- - db/migrate/20191225100054_create_ecom_core_crews.rb
350
- - db/migrate/20191225121850_create_ecom_core_project_crews.rb
351
388
  - db/migrate/20191225140433_create_ecom_core_attendance_sheets.rb
352
389
  - db/migrate/20191225162539_create_ecom_core_attendance_sheet_entries.rb
353
390
  - db/migrate/20191225211712_create_ecom_core_crew_times.rb
@@ -368,14 +405,25 @@ files:
368
405
  - db/migrate/20200602130247_create_ecom_core_requested_items.rb
369
406
  - db/migrate/20200602830603_create_ecom_core_bookings.rb
370
407
  - db/migrate/20200603115317_create_ecom_core_booked_items.rb
408
+ - db/migrate/20200616044231_create_ecom_core_material_sub_types.rb
409
+ - db/migrate/20200616051902_create_ecom_core_material_identities.rb
410
+ - db/migrate/20200618105233_create_ecom_core_material_items.rb
411
+ - db/migrate/20200813165553_create_ecom_core_measurement_units.rb
412
+ - db/migrate/20200813165555_create_ecom_core_available_unit_of_measurements.rb
413
+ - db/migrate/20200814043632_create_ecom_core_takeoffs.rb
371
414
  - db/migrate/20200901085227_create_ecom_core_crew_contracts.rb
415
+ - db/migrate/20200901134912_create_ecom_core_dimension_elements.rb
372
416
  - db/migrate/20200919053331_create_ecom_core_maintenance_types.rb
373
417
  - db/migrate/20200919072216_create_ecom_core_schedule_settings.rb
374
418
  - db/migrate/20200919081338_create_ecom_core_maintenance_service_orders.rb
375
419
  - db/migrate/20200919085613_create_ecom_core_job_cards.rb
376
420
  - db/migrate/20200919101941_create_ecom_core_cost_types.rb
377
421
  - db/migrate/20200919102802_create_ecom_core_maintenance_costs.rb
378
- - db/migrate/20200922044959_add_costs_approved_to_job_card.rb
422
+ - db/migrate/20201013072924_create_ecom_core_crew_contract_transactions.rb
423
+ - db/migrate/20201013090609_create_ecom_core_site_crews.rb.rb
424
+ - db/migrate/20201013094100_create_ecom_core_crew_id_cards.rb
425
+ - db/migrate/20201113050953_create_ecom_core_task_inspection_checklists.rb
426
+ - db/migrate/20201113094302_create_ecom_core_task_template_inspection_checklists.rb
379
427
  - lib/ecom/core.rb
380
428
  - lib/ecom/core/engine.rb
381
429
  - lib/ecom/core/version.rb
@@ -384,19 +432,23 @@ files:
384
432
  - spec/factories/ecom/core/application_modules.rb
385
433
  - spec/factories/ecom/core/attendance_sheet_entries.rb
386
434
  - spec/factories/ecom/core/attendance_sheets.rb
435
+ - spec/factories/ecom/core/available_unit_of_measurements.rb
387
436
  - spec/factories/ecom/core/booked_items.rb
388
437
  - spec/factories/ecom/core/bookings.rb
389
438
  - spec/factories/ecom/core/companies.rb
390
439
  - spec/factories/ecom/core/component_types.rb
391
440
  - spec/factories/ecom/core/cost_types.rb
392
441
  - spec/factories/ecom/core/countries.rb
442
+ - spec/factories/ecom/core/crew_contract_transactions.rb
393
443
  - spec/factories/ecom/core/crew_contracts.rb
444
+ - spec/factories/ecom/core/crew_id_cards.rb
394
445
  - spec/factories/ecom/core/crew_overtimes.rb
395
446
  - spec/factories/ecom/core/crew_times.rb
396
447
  - spec/factories/ecom/core/crew_types.rb
397
448
  - spec/factories/ecom/core/crews.rb
398
449
  - spec/factories/ecom/core/currencies.rb
399
450
  - spec/factories/ecom/core/custom_payment_details.rb
451
+ - spec/factories/ecom/core/dimension_elements.rb
400
452
  - spec/factories/ecom/core/equipment.rb
401
453
  - spec/factories/ecom/core/equipment_categories.rb
402
454
  - spec/factories/ecom/core/equipment_components.rb
@@ -405,6 +457,7 @@ files:
405
457
  - spec/factories/ecom/core/equipment_requests.rb
406
458
  - spec/factories/ecom/core/equipment_types.rb
407
459
  - spec/factories/ecom/core/equipment_valuations.rb
460
+ - spec/factories/ecom/core/inspection_checklists.rb
408
461
  - spec/factories/ecom/core/job_cards.rb
409
462
  - spec/factories/ecom/core/location_types.rb
410
463
  - spec/factories/ecom/core/lookups.rb
@@ -413,7 +466,12 @@ files:
413
466
  - spec/factories/ecom/core/maintenance_service_orders.rb
414
467
  - spec/factories/ecom/core/maintenance_statuses.rb
415
468
  - spec/factories/ecom/core/maintenance_types.rb
469
+ - spec/factories/ecom/core/material_identities.rb
470
+ - spec/factories/ecom/core/material_items.rb
471
+ - spec/factories/ecom/core/material_sub_types.rb
416
472
  - spec/factories/ecom/core/material_types.rb
473
+ - spec/factories/ecom/core/materials.rb
474
+ - spec/factories/ecom/core/measurement_units.rb
417
475
  - spec/factories/ecom/core/menus.rb
418
476
  - spec/factories/ecom/core/overtime_sheet_entries.rb
419
477
  - spec/factories/ecom/core/overtime_sheets.rb
@@ -421,22 +479,30 @@ files:
421
479
  - spec/factories/ecom/core/payment_details.rb
422
480
  - spec/factories/ecom/core/payments.rb
423
481
  - spec/factories/ecom/core/payrolls.rb
482
+ - spec/factories/ecom/core/plans.rb
424
483
  - spec/factories/ecom/core/product_groups.rb
425
484
  - spec/factories/ecom/core/product_types.rb
426
- - spec/factories/ecom/core/project_crews.rb
485
+ - spec/factories/ecom/core/project_templates.rb
486
+ - spec/factories/ecom/core/project_work_item_templates.rb
427
487
  - spec/factories/ecom/core/projects.rb
428
488
  - spec/factories/ecom/core/requested_items.rb
429
489
  - spec/factories/ecom/core/resource_types.rb
430
490
  - spec/factories/ecom/core/schedule_settings.rb
431
491
  - spec/factories/ecom/core/schedule_units.rb
492
+ - spec/factories/ecom/core/site_crews.rb
493
+ - spec/factories/ecom/core/sites.rb
432
494
  - spec/factories/ecom/core/stakeholder_types.rb
433
495
  - spec/factories/ecom/core/stakeholders.rb
496
+ - spec/factories/ecom/core/takeoffs.rb
497
+ - spec/factories/ecom/core/task_inspection_checklists.rb
434
498
  - spec/factories/ecom/core/task_resources.rb
499
+ - spec/factories/ecom/core/task_template_inspection_checklists.rb
435
500
  - spec/factories/ecom/core/task_template_types.rb
436
501
  - spec/factories/ecom/core/task_templates.rb
437
502
  - spec/factories/ecom/core/tasks.rb
438
503
  - spec/factories/ecom/core/user_roles.rb
439
504
  - spec/factories/ecom/core/users.rb
505
+ - spec/factories/ecom/core/work_orders.rb
440
506
  - spec/factories/ecom/core/work_packages.rb
441
507
  - spec/factories/ecom/core/work_product_templates.rb
442
508
  - spec/factories/ecom/core/work_products.rb
@@ -1,39 +0,0 @@
1
- module Ecom
2
- module Core
3
- class ProjectCrewService
4
- def update(params)
5
- id = params[:project_id]
6
- crew = params[:crew]
7
-
8
- # Process new additions
9
- new_crew = crew.select { |c| c[:status] == 'checked' }
10
- removed = crew.select { |c| c[:status] == 'unchecked' }
11
-
12
- crew_ids = new_crew.map { |c| c[:crew_id] }
13
-
14
- project_crew = Ecom::Core::Crew.where(id: crew_ids)
15
-
16
- new_entries = []
17
- new_crew.each do |nc|
18
- new_entries << Ecom::Core::ProjectCrew.new(
19
- project_id: id, crew_id: nc[:crew_id], start_date: Date.today, status: 'Active'
20
- )
21
- end
22
-
23
- Ecom::Core::ProjectCrew.transaction do
24
- new_entries.each(&:save)
25
- end
26
-
27
- removed_ids = removed.map { |r| r[:crew_id] }
28
- if removed_ids.count.positive?
29
- removed_crew = Ecom::Core::ProjectCrew.where(project_id: id, crew_id: removed_ids)
30
- Ecom::Core::ProjectCrew.transaction do
31
- removed_crew.map(&:delete)
32
- end
33
- end
34
-
35
- { success: true, data: project_crew }
36
- end
37
- end
38
- end
39
- end