Patch Notes 2.1.13

Prev Next

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 and TotalLaborByType 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 the belongsTo 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 the WorkOrderCheckoutView.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 the ComboboxInput 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

  •