feat(automation): separate lot number counters per raw material kind
With {ART} in the raw material number format (default {ART}-{YYYY}-{SEQ:4}),
beeswax and propolis each count on their own: WA-2026-0001, PR-2026-0001.
Counters live in the new AutomationSequence table (one row per rule and
scope). Without {ART} the rule keeps its single shared counter, since
separate counters behind one prefix would hand out duplicate numbers.
Resetting a rule clears all of its counters.
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
1 parent
5408711b2d
commit
cfd3a187af
9 files changed
+252
-24
No files matched your search
@@ -1365,6 +1365,23 @@ model AutomationRule {
|
||||
sequenceValue Int @default(0)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
sequences AutomationSequence[]
|
||||
}
|
||||
|
||||
// Separate counters of one number-format rule, one per scope - e.g. per raw
|
||||
// material kind when the format contains {ART}, so wax and propolis each
|
||||
// count WA-2026-0001, WA-2026-0002, ... and PR-2026-0001, ... on their own.
|
||||
// Without {ART} the rule keeps using AutomationRule.sequenceValue: separate
|
||||
// counters behind an identical prefix would produce duplicate numbers.
|
||||
model AutomationSequence {
|
||||
triggerType AutomationTriggerType
|
||||
rule AutomationRule @relation(fields: [triggerType], references: [triggerType], onDelete: Cascade)
|
||||
scope String
|
||||
value Int @default(0)
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@id([triggerType, scope])
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
Reference in new issue
Block a user