CreditNote: Show business share penalty correctly
All checks were successful
Test / Run tests (push) Successful in 2m3s
All checks were successful
Test / Run tests (push) Successful in 2m3s
This commit is contained in:
@ -1,6 +1,7 @@
|
|||||||
using Elwig.Helpers;
|
using Elwig.Helpers;
|
||||||
using Elwig.Models.Dtos;
|
using Elwig.Models.Dtos;
|
||||||
using Elwig.Models.Entities;
|
using Elwig.Models.Entities;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
@ -59,9 +60,9 @@ namespace Elwig.Documents {
|
|||||||
if (considerTotalPenalty) {
|
if (considerTotalPenalty) {
|
||||||
var total = data.Rows.SelectMany(r => r.Buckets).Sum(b => b.Value);
|
var total = data.Rows.SelectMany(r => r.Buckets).Sum(b => b.Value);
|
||||||
var totalUnderDelivery = total - p.Member.BusinessShares * season.MinKgPerBusinessShare;
|
var totalUnderDelivery = total - p.Member.BusinessShares * season.MinKgPerBusinessShare;
|
||||||
MemberTotalUnderDelivery = totalUnderDelivery < 0 ? totalUnderDelivery * (season.PenaltyPerKg ?? 0) - (season.PenaltyAmount ?? 0) : 0;
|
MemberTotalUnderDelivery = totalUnderDelivery < 0 ? totalUnderDelivery * (season.PenaltyPerKg ?? 0) - (season.PenaltyAmount ?? 0) - (season.PenaltyPerBsAmount * Math.Floor(-(decimal)totalUnderDelivery / season.MinKgPerBusinessShare) ?? 0) : 0;
|
||||||
if (total == 0)
|
if (total == 0)
|
||||||
MemberTotalUnderDelivery -= (season.PenaltyNone ?? 0);
|
MemberTotalUnderDelivery -= (season.PenaltyNone ?? 0) + (season.PenaltyPerBsNone * p.Member.BusinessShares ?? 0);
|
||||||
}
|
}
|
||||||
if (considerAutoBusinessShares) {
|
if (considerAutoBusinessShares) {
|
||||||
var fromDate = $"{season.Year}-01-01";
|
var fromDate = $"{season.Year}-01-01";
|
||||||
|
Reference in New Issue
Block a user