ecom_core 1.2.31 → 1.2.36

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 (135) 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/controllers/ecom/core/unit_costs_controller.rb +29 -0
  4. data/app/models/ecom/core/attendance_sheet.rb +19 -19
  5. data/app/models/ecom/core/available_unit_of_measurement.rb +10 -0
  6. data/app/models/ecom/core/crew.rb +15 -3
  7. data/app/models/ecom/core/crew_contract.rb +41 -1
  8. data/app/models/ecom/core/crew_contract_transaction.rb +29 -0
  9. data/app/models/ecom/core/crew_id_card.rb +36 -0
  10. data/app/models/ecom/core/crew_time.rb +1 -1
  11. data/app/models/ecom/core/dimension_element.rb +22 -0
  12. data/app/models/ecom/core/inspection_checklist.rb +6 -0
  13. data/app/models/ecom/core/job_card.rb +1 -1
  14. data/app/models/ecom/core/lookahead_plan.rb +41 -0
  15. data/app/models/ecom/core/lookahead_plan_history.rb +16 -0
  16. data/app/models/ecom/core/lookahead_plan_review_time.rb +29 -0
  17. data/app/models/ecom/core/lookahead_plan_task_progress.rb +22 -0
  18. data/app/models/ecom/core/material.rb +6 -0
  19. data/app/models/ecom/core/material_identity.rb +21 -0
  20. data/app/models/ecom/core/material_item.rb +18 -0
  21. data/app/models/ecom/core/material_sub_type.rb +20 -0
  22. data/app/models/ecom/core/measurement_unit.rb +45 -0
  23. data/app/models/ecom/core/overtime_sheet.rb +26 -16
  24. data/app/models/ecom/core/payroll.rb +3 -3
  25. data/app/models/ecom/core/project.rb +0 -3
  26. data/app/models/ecom/core/project_template.rb +11 -0
  27. data/app/models/ecom/core/project_work_item_template.rb +9 -0
  28. data/app/models/ecom/core/resource_requisition.rb +21 -0
  29. data/app/models/ecom/core/resource_requisition_item.rb +45 -0
  30. data/app/models/ecom/core/schedule_setting.rb +8 -6
  31. data/app/models/ecom/core/{project_crew.rb → site.rb} +8 -4
  32. data/app/models/ecom/core/site_crew.rb +27 -0
  33. data/app/models/ecom/core/takeoff.rb +10 -0
  34. data/app/models/ecom/core/task.rb +28 -4
  35. data/app/models/ecom/core/task_attachment.rb +11 -0
  36. data/app/models/ecom/core/task_inspection_checklist.rb +18 -0
  37. data/app/models/ecom/core/task_resource.rb +2 -0
  38. data/app/models/ecom/core/task_template.rb +24 -2
  39. data/app/models/ecom/core/task_template_inspection_checklist.rb +8 -0
  40. data/app/models/ecom/core/unit_cost.rb +27 -0
  41. data/app/models/ecom/core/unit_of_measure.rb +8 -0
  42. data/app/models/ecom/core/work_item_resource_requirement_template.rb +18 -0
  43. data/app/models/ecom/core/work_order.rb +26 -0
  44. data/app/models/ecom/core/work_package.rb +3 -0
  45. data/app/models/ecom/core/work_product.rb +3 -18
  46. data/app/models/ecom/core/work_product_template.rb +2 -2
  47. data/app/serializers/ecom/core/unit_cost_serializer.rb +21 -0
  48. data/app/services/ecom/core/crew_contract_transaction_service.rb +89 -0
  49. data/app/services/ecom/core/site_crew_service.rb +44 -0
  50. data/app/uploaders/ecom/core/photo_uploader.rb +13 -2
  51. data/app/uploaders/ecom/core/task_attachment_uploader.rb +11 -0
  52. data/config/initializers/carrierwave.rb +9 -0
  53. data/config/routes.rb +4 -2
  54. data/db/migrate/20191118052213_create_ecom_core_unit_of_measures.rb +11 -0
  55. data/db/migrate/20191119012030_create_ecom_core_task_templates.rb +10 -1
  56. data/db/migrate/20191119013236_create_ecom_core_work_product_templates.rb +0 -15
  57. data/db/migrate/20191119021405_create_ecom_core_project_templates.rb +15 -0
  58. data/db/migrate/20191119034319_create_ecom_core_project_work_item_templates.rb +20 -0
  59. data/db/migrate/20191201145849_create_ecom_core_sites.rb +16 -0
  60. data/db/migrate/20191202222210_create_ecom_core_work_packages.rb +12 -0
  61. data/db/migrate/20191202235434_create_ecom_core_work_products.rb +2 -18
  62. data/db/migrate/{20191225100054_create_ecom_core_crews.rb → 20191207103729_create_ecom_core_crews.rb} +3 -3
  63. data/db/migrate/20191207103730_create_ecom_core_lookahead_plans.rb +19 -0
  64. data/db/migrate/20191207103731_create_ecom_core_work_orders.rb +23 -0
  65. data/db/migrate/20191207103735_create_ecom_core_tasks.rb +20 -7
  66. data/db/migrate/20191225140433_create_ecom_core_attendance_sheets.rb +4 -4
  67. data/db/migrate/20200126081005_create_ecom_core_payrolls.rb +3 -3
  68. data/db/migrate/20200410090701_create_ecom_core_overtime_sheets.rb +4 -4
  69. data/db/migrate/20200616044231_create_ecom_core_material_sub_types.rb +14 -0
  70. data/db/migrate/20200616051902_create_ecom_core_material_identities.rb +17 -0
  71. data/db/migrate/20200618105233_create_ecom_core_material_items.rb +16 -0
  72. data/db/migrate/20200813165553_create_ecom_core_measurement_units.rb +14 -0
  73. data/db/migrate/20200813165555_create_ecom_core_available_unit_of_measurements.rb +16 -0
  74. data/db/migrate/20200814043632_create_ecom_core_takeoffs.rb +14 -0
  75. data/db/migrate/20200901085227_create_ecom_core_crew_contracts.rb +7 -1
  76. data/db/migrate/20200901134912_create_ecom_core_dimension_elements.rb +23 -0
  77. data/db/migrate/20200919085613_create_ecom_core_job_cards.rb +1 -0
  78. data/db/migrate/20201013072924_create_ecom_core_crew_contract_transactions.rb +16 -0
  79. data/db/migrate/20201013090609_create_ecom_core_site_crews.rb.rb +22 -0
  80. data/db/migrate/20201013094100_create_ecom_core_crew_id_cards.rb +16 -0
  81. data/db/migrate/20201113050953_create_ecom_core_task_inspection_checklists.rb +22 -0
  82. data/db/migrate/20201113094302_create_ecom_core_task_template_inspection_checklists.rb +17 -0
  83. data/db/migrate/20201121064916_create_ecom_core_unit_costs.rb +30 -0
  84. data/db/migrate/20201122123227_create_ecom_core_lookahead_plan_backlogs.rb +18 -0
  85. data/db/migrate/20201122170645_create_ecom_core_lookahead_plan_histories.rb +21 -0
  86. data/db/migrate/20201122170724_create_ecom_core_lookahead_plan_task_progresses.rb +21 -0
  87. data/db/migrate/20201123134917_create_ecom_core_task_attachments.rb +15 -0
  88. data/db/migrate/20201124171642_create_ecom_core_lookahead_plan_review_times.rb +17 -0
  89. data/db/migrate/20201125191158_create_ecom_core_work_item_resource_requirement_templates.rb +31 -0
  90. data/db/migrate/20201126191334_create_ecom_core_resource_requisitions.rb +23 -0
  91. data/db/migrate/20201126191349_create_ecom_core_resource_requisition_items.rb +33 -0
  92. data/lib/ecom/core/version.rb +1 -1
  93. data/spec/factories/ecom/core/attendance_sheets.rb +1 -1
  94. data/spec/factories/ecom/core/available_unit_of_measurements.rb +6 -0
  95. data/spec/factories/ecom/core/crew_contract_transactions.rb +8 -0
  96. data/spec/factories/ecom/core/crew_contracts.rb +12 -0
  97. data/spec/factories/ecom/core/crew_id_cards.rb +8 -0
  98. data/spec/factories/ecom/core/dimension_elements.rb +8 -0
  99. data/spec/factories/ecom/core/inspection_checklists.rb +5 -0
  100. data/spec/factories/ecom/core/lookahead_plan_histories.rb +9 -0
  101. data/spec/factories/ecom/core/lookahead_plan_review_times.rb +8 -0
  102. data/spec/factories/ecom/core/lookahead_plan_task_progresses.rb +9 -0
  103. data/spec/factories/ecom/core/lookahead_plans.rb +10 -0
  104. data/spec/factories/ecom/core/maintenance_statuses.rb +1 -1
  105. data/spec/factories/ecom/core/material_identities.rb +6 -0
  106. data/spec/factories/ecom/core/material_items.rb +6 -0
  107. data/spec/factories/ecom/core/material_sub_types.rb +6 -0
  108. data/spec/factories/ecom/core/materials.rb +5 -0
  109. data/spec/factories/ecom/core/measurement_units.rb +16 -0
  110. data/spec/factories/ecom/core/overtime_sheets.rb +1 -1
  111. data/spec/factories/ecom/core/payrolls.rb +1 -1
  112. data/spec/factories/ecom/core/project_templates.rb +8 -0
  113. data/spec/factories/ecom/core/project_work_item_templates.rb +7 -0
  114. data/spec/factories/ecom/core/resource_requisition_items.rb +12 -0
  115. data/spec/factories/ecom/core/resource_requisitions.rb +9 -0
  116. data/spec/factories/ecom/core/site_crews.rb +10 -0
  117. data/spec/factories/ecom/core/sites.rb +8 -0
  118. data/spec/factories/ecom/core/takeoffs.rb +6 -0
  119. data/spec/factories/ecom/core/task_attachments.rb +8 -0
  120. data/spec/factories/ecom/core/task_inspection_checklists.rb +11 -0
  121. data/spec/factories/ecom/core/task_template_inspection_checklists.rb +7 -0
  122. data/spec/factories/ecom/core/task_templates.rb +12 -1
  123. data/spec/factories/ecom/core/tasks.rb +9 -3
  124. data/spec/factories/ecom/core/unit_costs.rb +13 -0
  125. data/spec/factories/ecom/core/unit_of_measures.rb +7 -0
  126. data/spec/factories/ecom/core/work_item_resource_requirement_templates.rb +10 -0
  127. data/spec/factories/ecom/core/work_orders.rb +10 -0
  128. data/spec/factories/ecom/core/work_packages.rb +6 -0
  129. data/spec/factories/ecom/core/work_product_templates.rb +0 -1
  130. data/spec/factories/ecom/core/work_products.rb +1 -8
  131. metadata +155 -9
  132. data/app/services/ecom/core/project_crew_service.rb +0 -39
  133. data/db/migrate/20191225121850_create_ecom_core_project_crews.rb +0 -19
  134. data/db/migrate/20200922044959_add_costs_approved_to_job_card.rb +0 -5
  135. data/spec/factories/ecom/core/project_crews.rb +0 -9
@@ -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
@@ -1,19 +0,0 @@
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,5 +0,0 @@
1
- class AddCostsApprovedToJobCard < ActiveRecord::Migration[6.0]
2
- def change
3
- add_column :ecom_core_job_cards, :costs_approved, :boolean, default: false
4
- end
5
- end
@@ -1,9 +0,0 @@
1
- FactoryBot.define do
2
- factory :project_crew, class: Ecom::Core::ProjectCrew do
3
- association :project
4
- association :crew
5
- start_date { 1.month.ago }
6
- end_date { Date.tomorrow }
7
- status { Ecom::Core::ProjectCrew::ACTIVE }
8
- end
9
- end