Profit Ops Patch 2.1.13 has been released to the live environment. Changes and updates for the patch cycle ending 10-16-2024
Be Aware
Due to an issue with Dark Mode, this article should be viewed using light mode only.
This Patch Notes uses a new formatting that attempts to more closely relate what is being discussed with actions taken by the Dev Team in GitHub.
[Type of Issue] Name of the Issue [#Github Link]
Description of an issue or action taken.
This formatting is intended to help things be more readable to all users.
Feel free to send comments or suggestions to JASON CALLAHAN or BRUCE CLARK on teams.
Projects Module
[Enhancement] Add 'color' column to project_stages table [#815]
This migration adds a nullable 'color' column to the
project_stages
table.Updates existing records with specific color values to standardize the color representation for each project stage.
The migration ensures that the new column can be easily removed if needed.
[Enhancement] Add new performance-related endpoints and clean up code formatting [#815]
Introduce new routes for
TargetMaterialPerLaborHour
andTotalLaborByType
performance calculations.Standardize code formatting by aligning assignments and removing unnecessary spaces and commas.
[Enhancement] Rearrange Job model constants and properties. [#815]
Moved constants and properties to improve code readability and structure.
Adjusted the
stage
function to explicitly define foreign key and local key for thebelongsTo
relation.
[Enhancement] Add PerformanceCompForSurfService.vue [#815]
Introduce a new Vue component for displaying performance data related to surface service.
This includes computation of various metrics and rendering them within a modal for user interaction.
[Enhancement] The background color and display name for each project stage are now dynamically set using the proj.stage object properties. [#815]
This improves maintainability and readability.
[Enhancement] Format code and load 'stage' relationship. [#815]
Correct the spacing in the lambda function for consistency and load the
'stage'
relationship for projects to include display name and color attributes.This will ensure more detailed project information is readily available.
[Enhancement] Add TargetMaterialPerLaborHourController for calculations. [#815]
This will handle requests for calculating material efficiency based on material type and provided value.
Includes validation checks and specific calculations for 'surface' and 'crack' materials, with appropriate error handling for invalid material types.
[Enhancement] Add TotalLaborByTypeController for task time calculations. [#815]
Introduce a new controller to handle total labor computations by type.
This includes summing up the total hours from time entries based on the specified timeclock type.
[Refactor] Update performance calculations and UI components. [#815]
Refactored computation logic for performance metrics such as application rate and efficiency rate in
PerformanceCompForSurfService.vue
.Removed unused
useForm
import and cleaned up the component's UI by integrating new computed properties.
[Refactor] Refactor Task model and remove unused code. [#815]
Improved code readability by aligning assignments, removing outdated comments, and adding methods for time entries and labor calculations.
Also enhanced attribute methods and fixed minor formatting issues.
[Maintenace] Add PerformanceCompForSurfService Component. [#815]
Removed commented-out UI related to the manpower feature and added
PerformanceCompForSurfService
component to theWorkOrderCheckoutView.vue
file.This prepares the view for handling performance data related to surf service.
Work Orders
[Feature] Switched PDF rendering to Browsershot. [#806]
Browsershot is a package that allows for the conversion of a webpage or image to PDF.
This package allows for more precise manipulation of PDF content during the capture and conversion process.
Allows us to better customize a rendered PDF to printable format, eliminating various irrelevant page items like buttons and URL’s.
Allows us to apply a custom template that can be rendered from page data without needing to be visible on the desktop or mobile view.
[Enhancement] Updated the PrintWorkOrderController.php [#800] & [#801]
This system is responsible to generating the PDF used to print work orders.
This resolved an error message that could occur with the PDF failed to render correctly.
[Bug] Fixed an issue that would break the Work Order print page. [#799]
Will now use table elements to render a Work Order into a column view.
Fixed the 2nd and 3rd column breaking off in print view.
Changed print handler to use the browser’s native print interface.
Modified print button text.
Page will now return a view instead of trying to return the PDF computed file.
[Bug] Fixed various small issues with the print view. [#803]
Removed unused CSS styles related to printing that were commented out.
Updated the print logic and structure.
Reorganized and cleaned up page HTML structure for better readability.
[Bug] Fixed PDF generation settings and code formatting. [#803]
Standardized the PDF paper size to A4 and adjusted PDF export options.
Modified code formatting for readability.
Included attribute alignment and spacing within arrays.
Changes PDF responses from streaming to download.
Manpower Module - BETA
Manpower Assign - BETA
[Feature] Select Work Orders [#802]
It’s now possible to select one or more work orders using a checkbox.
Selected work orders can have actions applied to them as a batch.
[Feature] Changes made in draft mode are now saved automatically. [#798]
This allows users to build changes over separate sessions without needing to select the save button each time.
Changes are not applied to live database until marked “Ready to Publish” using the related button.
[Feature] Created published and unpublished (draft) states. [#805]
Module can now track and manage data in a draft and published state.
Draft data is not shown to users requiring live info and will not appear on the Schedule or Calendar modules.
Draft changes can be pushed as a batch when the “Ready to Publish” button is selected.
Drafted and Published changes can be filtered out to show only one or the other.
[Feature] Push Crew/Labor changes from Manpower Assign to the Work Order Labor Tab on publish. [#807]
When published, all crew changes made in manpower assign will appear on their respective work orders.
This system will update all affected work orders as a batch.
A warning will be displayed if changes affect current crew access on the schedule module.
[Feature] Ask to populate the crew based on the Foreman. [#811]
Foreman that are listed as part of a preset crew in the Manpower Crew module can have their whole crew assigned with them.
When Foreman is assigned, users have the option to bring in the entire saved crew or only that Foreman.
Bringing in the whole crew will replace any existing labor assignments on that work order.
[Feature] Publish work orders reminder. [#810]
When users make changes to work orders that have already been published, they are reminded that these changes need to be published again.
This helps protect changes from being lost if the page is not saved.
Helps clarify when changes will be made available to affected users.
[Feature] Print Manpower Report [#812]
Manpower assign is now able to print a paper manpower report for reference.
Formatted so that it can be filled out by hand.
Modeled after the traditional manpower charts used before ProfitOps.
[Enhancement] Removed restrictions that are not Region related. [#793]
Removed validation rules for overlap protection.
System will only validate the region for Crew, Labor, and Fleet.
Other fields will allow assignment from outside the current region.
[Enhancement] Superintendents can now be added as a Foreman or Crew Member during manpower planning. [#808]
This was previously not possible due to the way users were listed and validated.
Superintendent can now be dragged from the labor pool directly to a Foreman or Crew slot and be assigned accordingly, instead of being auto assigned as the Superintendent.
[Maintenace] Removed an unused method from WorkOrderCardsContainer.vue [#809]
This is a general cleanup of the backend code as this module continues to evolve.
Helped resolve an occasional bug that could occur when this method was inadvertently called.
[Bug] Fixed an issue with the Foreman crew population that prevented the options modal from being displayed. [#814]
Timecard Approval Module
[Feature] Work Orders can now be filtered by a Labor Record’s Time In. [#794]
[Enhancement] Introduced a new permission for editing Time Entries in the database. [#794]
This helps us more precisely display or restrict specific parts of the TCA to users based on conditions.
Updated
TimeCardTableRow.vue
to conditionally display the Add Entry modal based on user permissions.
[Maintenace] Removed unnecessary disabled attribute check. [#794]
The
:disabled
attribute on theComboboxInput
component was removed since it duplicated logic that was handled elsewhere.This simplifies backend code by eliminating redundancy.
Helps ensure that the Edit state is handled consistently.
[Maintenace] Removed commented-out debug code. [#796]
These comments were used to troubleshoot an issue with past versions,
This helps improve readability and maintainability.
HR
Employees
[Enhancement] Current Location column has been renamed to Current Region/MOB. [#813]
This better reflects operational vocabulary.
Credits & Acknowledgments
Code Contributors:
@corydemille
@pemeraldy
@devsquad-pedro-silva
@devsquad-denisbeder-carvalho
Patch Notes Transcribed By:
Jason M Callahan