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.
- checksums.yaml +4 -4
- data/app/controllers/ecom/core/{project_crews_controller.rb → site_crews_controller.rb} +5 -4
- data/app/models/ecom/core/attendance_sheet.rb +19 -19
- data/app/models/ecom/core/available_unit_of_measurement.rb +10 -0
- data/app/models/ecom/core/crew.rb +14 -3
- data/app/models/ecom/core/crew_contract.rb +41 -1
- data/app/models/ecom/core/crew_contract_transaction.rb +29 -0
- data/app/models/ecom/core/crew_id_card.rb +36 -0
- data/app/models/ecom/core/crew_time.rb +11 -3
- data/app/models/ecom/core/dimension_element.rb +22 -0
- data/app/models/ecom/core/inspection_checklist.rb +6 -0
- data/app/models/ecom/core/job_card.rb +1 -1
- data/app/models/ecom/core/material.rb +6 -0
- data/app/models/ecom/core/material_identity.rb +21 -0
- data/app/models/ecom/core/material_item.rb +18 -0
- data/app/models/ecom/core/material_sub_type.rb +20 -0
- data/app/models/ecom/core/measurement_unit.rb +55 -0
- data/app/models/ecom/core/overtime_sheet.rb +26 -16
- data/app/models/ecom/core/payroll.rb +3 -3
- data/app/models/ecom/core/plan.rb +18 -0
- data/app/models/ecom/core/project.rb +0 -3
- data/app/models/ecom/core/project_template.rb +11 -0
- data/app/models/ecom/core/project_work_item_template.rb +9 -0
- data/app/models/ecom/core/schedule_setting.rb +8 -6
- data/app/models/ecom/core/{project_crew.rb → site.rb} +8 -4
- data/app/models/ecom/core/site_crew.rb +27 -0
- data/app/models/ecom/core/takeoff.rb +10 -0
- data/app/models/ecom/core/task.rb +32 -4
- data/app/models/ecom/core/task_inspection_checklist.rb +18 -0
- data/app/models/ecom/core/task_resource.rb +2 -0
- data/app/models/ecom/core/task_template.rb +22 -2
- data/app/models/ecom/core/task_template_inspection_checklist.rb +8 -0
- data/app/models/ecom/core/work_order.rb +26 -0
- data/app/models/ecom/core/work_package.rb +3 -0
- data/app/models/ecom/core/work_product.rb +3 -18
- data/app/models/ecom/core/work_product_template.rb +2 -2
- data/app/services/ecom/core/crew_contract_transaction_service.rb +89 -0
- data/app/services/ecom/core/site_crew_service.rb +44 -0
- data/app/uploaders/ecom/core/photo_uploader.rb +8 -1
- data/config/routes.rb +2 -2
- data/db/migrate/20191119012030_create_ecom_core_task_templates.rb +6 -1
- data/db/migrate/20191119013236_create_ecom_core_work_product_templates.rb +0 -15
- data/db/migrate/20191119021405_create_ecom_core_project_templates.rb +15 -0
- data/db/migrate/20191119034319_create_ecom_core_project_work_item_templates.rb +20 -0
- data/db/migrate/20191201145849_create_ecom_core_sites.rb +16 -0
- data/db/migrate/20191202222210_create_ecom_core_work_packages.rb +12 -0
- data/db/migrate/20191202235434_create_ecom_core_work_products.rb +2 -18
- data/db/migrate/{20191225100054_create_ecom_core_crews.rb → 20191207103729_create_ecom_core_crews.rb} +3 -3
- data/db/migrate/20191207103730_create_ecom_core_plans.rb +12 -0
- data/db/migrate/20191207103731_create_ecom_core_work_orders.rb +23 -0
- data/db/migrate/20191207103735_create_ecom_core_tasks.rb +23 -7
- data/db/migrate/20191225140433_create_ecom_core_attendance_sheets.rb +4 -4
- data/db/migrate/20200126081005_create_ecom_core_payrolls.rb +3 -3
- data/db/migrate/20200410090701_create_ecom_core_overtime_sheets.rb +4 -4
- data/db/migrate/20200616044231_create_ecom_core_material_sub_types.rb +14 -0
- data/db/migrate/20200616051902_create_ecom_core_material_identities.rb +17 -0
- data/db/migrate/20200618105233_create_ecom_core_material_items.rb +16 -0
- data/db/migrate/20200813165553_create_ecom_core_measurement_units.rb +14 -0
- data/db/migrate/20200813165555_create_ecom_core_available_unit_of_measurements.rb +16 -0
- data/db/migrate/20200814043632_create_ecom_core_takeoffs.rb +14 -0
- data/db/migrate/20200901085227_create_ecom_core_crew_contracts.rb +7 -1
- data/db/migrate/20200901134912_create_ecom_core_dimension_elements.rb +23 -0
- data/db/migrate/20200919085613_create_ecom_core_job_cards.rb +1 -0
- data/db/migrate/20201013072924_create_ecom_core_crew_contract_transactions.rb +16 -0
- data/db/migrate/20201013090609_create_ecom_core_site_crews.rb.rb +22 -0
- data/db/migrate/20201013094100_create_ecom_core_crew_id_cards.rb +16 -0
- data/db/migrate/20201113050953_create_ecom_core_task_inspection_checklists.rb +22 -0
- data/db/migrate/20201113094302_create_ecom_core_task_template_inspection_checklists.rb +17 -0
- data/lib/ecom/core/version.rb +1 -1
- data/spec/factories/ecom/core/attendance_sheet_entries.rb +1 -1
- data/spec/factories/ecom/core/attendance_sheets.rb +1 -1
- data/spec/factories/ecom/core/available_unit_of_measurements.rb +6 -0
- data/spec/factories/ecom/core/crew_contract_transactions.rb +8 -0
- data/spec/factories/ecom/core/crew_contracts.rb +12 -0
- data/spec/factories/ecom/core/crew_id_cards.rb +8 -0
- data/spec/factories/ecom/core/dimension_elements.rb +8 -0
- data/spec/factories/ecom/core/inspection_checklists.rb +5 -0
- data/spec/factories/ecom/core/maintenance_statuses.rb +1 -1
- data/spec/factories/ecom/core/material_identities.rb +6 -0
- data/spec/factories/ecom/core/material_items.rb +6 -0
- data/spec/factories/ecom/core/material_sub_types.rb +6 -0
- data/spec/factories/ecom/core/materials.rb +5 -0
- data/spec/factories/ecom/core/measurement_units.rb +16 -0
- data/spec/factories/ecom/core/overtime_sheets.rb +1 -1
- data/spec/factories/ecom/core/payrolls.rb +1 -1
- data/spec/factories/ecom/core/plans.rb +8 -0
- data/spec/factories/ecom/core/project_templates.rb +8 -0
- data/spec/factories/ecom/core/project_work_item_templates.rb +7 -0
- data/spec/factories/ecom/core/site_crews.rb +10 -0
- data/spec/factories/ecom/core/sites.rb +8 -0
- data/spec/factories/ecom/core/takeoffs.rb +6 -0
- data/spec/factories/ecom/core/task_inspection_checklists.rb +11 -0
- data/spec/factories/ecom/core/task_template_inspection_checklists.rb +7 -0
- data/spec/factories/ecom/core/task_templates.rb +11 -1
- data/spec/factories/ecom/core/tasks.rb +8 -3
- data/spec/factories/ecom/core/work_orders.rb +10 -0
- data/spec/factories/ecom/core/work_packages.rb +6 -0
- data/spec/factories/ecom/core/work_product_templates.rb +0 -1
- data/spec/factories/ecom/core/work_products.rb +1 -8
- metadata +75 -9
- data/app/services/ecom/core/project_crew_service.rb +0 -39
- data/db/migrate/20191225121850_create_ecom_core_project_crews.rb +0 -19
- data/db/migrate/20200922044959_add_costs_approved_to_job_card.rb +0 -5
- data/spec/factories/ecom/core/project_crews.rb +0 -9
|
@@ -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,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
|
|
@@ -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
|
-
|
|
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 :
|
|
15
|
-
association :
|
|
16
|
-
association :
|
|
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
|
|
@@ -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
|
-
|
|
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.
|
|
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-
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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
|