Skip to content

Part Traceability with Reusable Tags (limited rework support)#177

Merged
EyeBrawler merged 54 commits intomainfrom
tags
Mar 28, 2026
Merged

Part Traceability with Reusable Tags (limited rework support)#177
EyeBrawler merged 54 commits intomainfrom
tags

Conversation

@EyeBrawler
Copy link
Copy Markdown
Collaborator

New Features

This pull request overhauls part traceability logic. A database migration is required for existing deployments or development environments tracking the main branch.

  • The UI for part nodes and produced parts in the production log create page have been redesigned to be both more visually appealing and usable.
  • Part nodes and produced part inputs in on the production log creation page (My Production) can now optionally accept the input of a reusable tag code. This means that available reusable tags can be scanned upon the completion of a sub-assembly (at the end of a production log) and then scanned again later when that sub-assembly is being installed into a parent part/product.
  • With serial numbers, parts can be moved from one sub-assembly to another. Replacement of one part in a sub-assembly is currently not possible as there is no way currently for MESS to recognize that a serializable part should be removed from a sub-assembly (this is still in the works).
  • The PartTraceabilityStateService is now used to store both tag codes and serial numbers for part traceability in memory before a production log is submitted.
  • The PartTraceabilityPersistenceService uses DTOs from the PartTraceabilityStateService to save part traceability data to the database.
  • Part Definitions now have a new option to set whether that part should allow non-unique serial numbers. This can be set in the part definition management page or the work instruction editor.
  • Part definitions can now be merged together from the parts management page. There is a "merge parts" button for this. For any "work instruction chains" (meaning, a part produced in one work instruction is installed in a different one), this feature may be necessary to make sure that the installed and produced parts share the same part definition in the database.
  • (Related to the bullet above) Part definition resolution logic in the work instruction editor has changed from resolving uniquely by name and number to just part name. This allows produced parts in the work instruction editor to get linked with existing part nodes that may have a part number. It also allows part numbers to be "appended" to existing part definitions that do not have them through the work instruction editor. Overall, this system makes it much easier to chain together work instructions that ultimately result in a final product.
  • With serializable part relationships now stored explicitly in the database's SerializablePartRelationships table, a new database view exists (the PartRelationshipsView) for easily viewing this information.

EyeBrawler and others added 30 commits March 18, 2026 11:31
…to storing part traceability UI data in memory. Added new method for tag checking to the serializable part service.
…al numbers in the PartTraceabilityStateService
…re Data in the PartTraceabilityStateService. Adding new method to the service to add or get a part entry.
…ng Create.razor.cs (the production log page) to use the new PartTraceabilityStateService. Adding GetTotalPartsLogged to that service and refactoring it to better support produced part serial numbers.
…is being viewed in a collection of part nodes.
…PartService - related to the old part traceability system.
…g submission when there are unresolved tags, allowing part traceability persistence to skip empty part nodes
…PartDefinitions Table and Renaming the SerializablePartRelationship Table to SerializablePartRelationships.
…tions. The WI Editor cannot change this flag for existing part definitions.
EyeBrawler and others added 24 commits March 23, 2026 12:40
…blies works, replacing existing parts does not.
…lvedTags Function. Making the function asynchronous, it is now called HasResolvedTagsAsync
@EyeBrawler EyeBrawler merged commit 21f7990 into main Mar 28, 2026
1 check passed
@EyeBrawler EyeBrawler deleted the tags branch March 28, 2026 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant