diff --git a/pkg/services/ppm_closeout/ppm_closeout.go b/pkg/services/ppm_closeout/ppm_closeout.go index 5c807372da7..9f2f3a940a0 100644 --- a/pkg/services/ppm_closeout/ppm_closeout.go +++ b/pkg/services/ppm_closeout/ppm_closeout.go @@ -274,7 +274,7 @@ func (p *ppmCloseoutFetcher) GetExpenseStoragePrice(appCtx appcontext.AppContext } for _, movingExpense := range expenseItems { - if movingExpense.MovingExpenseType != nil && *movingExpense.MovingExpenseType == models.MovingExpenseReceiptTypeStorage && *movingExpense.Status == models.PPMDocumentStatusApproved { + if movingExpense.MovingExpenseType != nil && movingExpense.Status != nil && *movingExpense.MovingExpenseType == models.MovingExpenseReceiptTypeStorage && *movingExpense.Status == models.PPMDocumentStatusApproved { storageExpensePrice += *movingExpense.Amount } } diff --git a/pkg/services/shipment_summary_worksheet/shipment_summary_worksheet.go b/pkg/services/shipment_summary_worksheet/shipment_summary_worksheet.go index eb8f90ed94b..abd25465c44 100644 --- a/pkg/services/shipment_summary_worksheet/shipment_summary_worksheet.go +++ b/pkg/services/shipment_summary_worksheet/shipment_summary_worksheet.go @@ -869,8 +869,7 @@ func SubTotalExpenses(expenseDocuments models.MovingExpenses) map[string]float64 if expense.MovingExpenseType == nil || expense.Amount == nil { continue } // Added quick nil check to ensure SSW returns while moving expenses are being added still - var nilPPMDocumentStatus *models.PPMDocumentStatus - if expense.Status != nilPPMDocumentStatus && (*expense.Status == models.PPMDocumentStatusRejected || *expense.Status == models.PPMDocumentStatusExcluded) { + if expense.Status == nil || *expense.Status != models.PPMDocumentStatusApproved { continue } expenseType, addToTotal := getExpenseType(expense) diff --git a/pkg/services/shipment_summary_worksheet/shipment_summary_worksheet_test.go b/pkg/services/shipment_summary_worksheet/shipment_summary_worksheet_test.go index b99c2842336..a3bd17fa425 100644 --- a/pkg/services/shipment_summary_worksheet/shipment_summary_worksheet_test.go +++ b/pkg/services/shipment_summary_worksheet/shipment_summary_worksheet_test.go @@ -442,41 +442,49 @@ func (suite *ShipmentSummaryWorksheetServiceSuite) TestFormatValuesShipmentSumma tollExpense := models.MovingExpenseReceiptTypeTolls oilExpense := models.MovingExpenseReceiptTypeOil amount := unit.Cents(10000) + statusApproved := models.PPMDocumentStatusApproved movingExpenses := models.MovingExpenses{ { MovingExpenseType: &tollExpense, Amount: &amount, PaidWithGTCC: &paidWithGTCCFalse, + Status: &statusApproved, }, { MovingExpenseType: &oilExpense, Amount: &amount, PaidWithGTCC: &paidWithGTCCFalse, + Status: &statusApproved, }, { MovingExpenseType: &oilExpense, Amount: &amount, PaidWithGTCC: &paidWithGTCCTrue, + Status: &statusApproved, }, { MovingExpenseType: &oilExpense, Amount: &amount, PaidWithGTCC: &paidWithGTCCFalse, + Status: &statusApproved, }, { MovingExpenseType: &tollExpense, Amount: &amount, PaidWithGTCC: &paidWithGTCCTrue, + Status: &statusApproved, }, { MovingExpenseType: &tollExpense, Amount: &amount, PaidWithGTCC: &paidWithGTCCTrue, + Status: &statusApproved, }, { MovingExpenseType: &tollExpense, Amount: &amount, PaidWithGTCC: &paidWithGTCCFalse, + Status: &statusApproved, }, } @@ -661,12 +669,14 @@ func (suite *ShipmentSummaryWorksheetServiceSuite) TestFormatAdditionalHHG() { func (suite *ShipmentSummaryWorksheetServiceSuite) TestMemberPaidRemainingPPMEntitlementFormatValuesShipmentSummaryWorksheetFormPage2() { storageExpense := models.MovingExpenseReceiptTypeStorage amount := unit.Cents(10000) + statusApproved := models.PPMDocumentStatusApproved movingExpenses := models.MovingExpenses{ { MovingExpenseType: &storageExpense, Amount: &amount, PaidWithGTCC: models.BoolPointer(false), SITReimburseableAmount: models.CentPointer(unit.Cents(100)), + Status: &statusApproved, }, } @@ -711,12 +721,14 @@ func (suite *ShipmentSummaryWorksheetServiceSuite) TestMemberPaidRemainingPPMEnt func (suite *ShipmentSummaryWorksheetServiceSuite) TestAOAPacketPPMEntitlementFormatValuesShipmentSummaryWorksheetFormPage2() { storageExpense := models.MovingExpenseReceiptTypeStorage amount := unit.Cents(10000) + statusApproved := models.PPMDocumentStatusApproved movingExpenses := models.MovingExpenses{ { MovingExpenseType: &storageExpense, Amount: &amount, PaidWithGTCC: models.BoolPointer(false), SITReimburseableAmount: models.CentPointer(unit.Cents(100)), + Status: &statusApproved, }, } @@ -747,12 +759,14 @@ func (suite *ShipmentSummaryWorksheetServiceSuite) TestAOAPacketPPMEntitlementFo func (suite *ShipmentSummaryWorksheetServiceSuite) TestNullCheckForFinalIncentiveAndAOAPPMEntitlementFormatValuesShipmentSummaryWorksheetFormPage2() { storageExpense := models.MovingExpenseReceiptTypeStorage amount := unit.Cents(10000) + statusApproved := models.PPMDocumentStatusApproved movingExpenses := models.MovingExpenses{ { MovingExpenseType: &storageExpense, Amount: &amount, PaidWithGTCC: models.BoolPointer(false), SITReimburseableAmount: models.CentPointer(unit.Cents(100)), + Status: &statusApproved, }, } @@ -796,12 +810,14 @@ func (suite *ShipmentSummaryWorksheetServiceSuite) TestNullCheckForFinalIncentiv func (suite *ShipmentSummaryWorksheetServiceSuite) TestGTCCPaidRemainingPPMEntitlementFormatValuesShipmentSummaryWorksheetFormPage2() { storageExpense := models.MovingExpenseReceiptTypeStorage amount := unit.Cents(10000) + statusApproved := models.PPMDocumentStatusApproved movingExpenses := models.MovingExpenses{ { MovingExpenseType: &storageExpense, Amount: &amount, PaidWithGTCC: models.BoolPointer(true), SITReimburseableAmount: models.CentPointer(unit.Cents(20000)), + Status: &statusApproved, }, } @@ -848,6 +864,7 @@ func (suite *ShipmentSummaryWorksheetServiceSuite) TestGroupExpenses() { tollExpense := models.MovingExpenseReceiptTypeTolls oilExpense := models.MovingExpenseReceiptTypeOil amount := unit.Cents(10000) + statusApproved := models.PPMDocumentStatusApproved testCases := []struct { input models.MovingExpenses expected map[string]float64 @@ -858,26 +875,31 @@ func (suite *ShipmentSummaryWorksheetServiceSuite) TestGroupExpenses() { MovingExpenseType: &tollExpense, Amount: &amount, PaidWithGTCC: &paidWithGTCC, + Status: &statusApproved, }, { MovingExpenseType: &oilExpense, Amount: &amount, PaidWithGTCC: &paidWithGTCC, + Status: &statusApproved, }, { MovingExpenseType: &oilExpense, Amount: &amount, PaidWithGTCC: &paidWithGTCC, + Status: &statusApproved, }, { MovingExpenseType: &oilExpense, Amount: &amount, PaidWithGTCC: &paidWithGTCC, + Status: &statusApproved, }, { MovingExpenseType: &tollExpense, Amount: &amount, PaidWithGTCC: &paidWithGTCC, + Status: &statusApproved, }, }, map[string]float64{ @@ -1374,22 +1396,27 @@ func (suite *ShipmentSummaryWorksheetServiceSuite) TestActualExpenseReimbursemen } storageExpense := models.MovingExpenseReceiptTypeStorage contractedExpense := models.MovingExpenseReceiptTypeContractedExpense + statusApproved := models.PPMDocumentStatusApproved movingExpenses := models.MovingExpenses{ { MovingExpenseType: &contractedExpense, PaidWithGTCC: models.BoolPointer(false), + Status: &statusApproved, }, { MovingExpenseType: &contractedExpense, PaidWithGTCC: models.BoolPointer(true), + Status: &statusApproved, }, { MovingExpenseType: &storageExpense, PaidWithGTCC: models.BoolPointer(false), + Status: &statusApproved, }, { MovingExpenseType: &storageExpense, PaidWithGTCC: models.BoolPointer(true), + Status: &statusApproved, }, }