Complete Job modal: ask powder usage once per color, not per item/coat
The modal was showing one row per coat per item, so a job with 5 items each with 2 coats of the same powder produced 10 identical input rows. Now groups by unique InventoryItemId and shows one row per powder color for the whole job. The controller distributes the entered total across coats proportionally by their estimated PowderToOrder so per-coat reporting data is preserved. A single inventory transaction is created per powder (net of any pre-logged scan credit). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -389,7 +389,7 @@ public class CompleteJobDto
|
||||
{
|
||||
public int JobId { get; set; }
|
||||
public decimal? ActualTimeSpentHours { get; set; }
|
||||
public List<JobItemCoatUsageDto> CoatUsages { get; set; } = new();
|
||||
public List<JobPowderUsageDto> PowderUsages { get; set; } = new();
|
||||
public bool SendEmailToCustomer { get; set; } = false;
|
||||
}
|
||||
|
||||
@@ -400,10 +400,10 @@ public class SendJobSmsRequest
|
||||
public string Message { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
// DTO for tracking actual powder usage per coat
|
||||
public class JobItemCoatUsageDto
|
||||
// DTO for tracking actual powder usage per inventory item (color) for the whole job
|
||||
public class JobPowderUsageDto
|
||||
{
|
||||
public int JobItemCoatId { get; set; }
|
||||
public int InventoryItemId { get; set; }
|
||||
public decimal? ActualPowderUsedLbs { get; set; }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user