mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-24 23:35:43 +00:00
64 lines
2.5 KiB
Go
64 lines
2.5 KiB
Go
package dto
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
// CustomerPaymentReportCustomer represents customer information in the report
|
|
type CustomerPaymentReportCustomer struct {
|
|
ID uint `json:"id"`
|
|
Name string `json:"name"`
|
|
Type string `json:"type"`
|
|
AccountNumber string `json:"account_number"`
|
|
Balance float64 `json:"balance"`
|
|
Address string `json:"address"`
|
|
}
|
|
|
|
// CustomerPaymentReportRow represents each transaction row
|
|
type CustomerPaymentReportRow struct {
|
|
ID uint `json:"id"`
|
|
DoDate time.Time `json:"do_date"`
|
|
RealizationDate time.Time `json:"realization_date"`
|
|
AgingDay int `json:"aging_day"`
|
|
Reference string `json:"reference"`
|
|
VehiclePlate []string `json:"vehicle_plate"`
|
|
Qty float64 `json:"qty"`
|
|
Weight float64 `json:"weight"`
|
|
AverageWeight float64 `json:"average_weight"`
|
|
Price float64 `json:"price"`
|
|
CreditNote float64 `json:"credit_note"`
|
|
FinalPrice float64 `json:"final_price"`
|
|
PPN float64 `json:"ppn"`
|
|
Total float64 `json:"total"`
|
|
Payment float64 `json:"payment"`
|
|
AccountsReceivable float64 `json:"accounts_receivable"`
|
|
Notes string `json:"notes"`
|
|
PickupInfo string `json:"pickup_info"`
|
|
SalesMarketing string `json:"sales_marketing"`
|
|
}
|
|
|
|
// CustomerPaymentReportSummary represents summary calculations per customer
|
|
type CustomerPaymentReportSummary struct {
|
|
TotalQty float64 `json:"total_qty"`
|
|
TotalWeight float64 `json:"total_weight"`
|
|
TotalInitialAmount float64 `json:"total_initial_amount"`
|
|
TotalCreditNote float64 `json:"total_credit_note"`
|
|
TotalFinalAmount float64 `json:"total_final_amount"`
|
|
TotalPPN float64 `json:"total_ppn"`
|
|
TotalGrandAmount float64 `json:"total_grand_amount"`
|
|
TotalPayment float64 `json:"total_payment"`
|
|
TotalAccountsReceivable float64 `json:"total_accounts_receivable"`
|
|
}
|
|
|
|
// CustomerPaymentReportItem represents data grouped by customer
|
|
type CustomerPaymentReportItem struct {
|
|
Customer CustomerPaymentReportCustomer `json:"customer"`
|
|
Rows []CustomerPaymentReportRow `json:"rows"`
|
|
Summary CustomerPaymentReportSummary `json:"summary"`
|
|
}
|
|
|
|
// CustomerPaymentReportResponse represents the complete response
|
|
type CustomerPaymentReportResponse struct {
|
|
Data []CustomerPaymentReportItem `json:"data"`
|
|
}
|