mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-06-09 15:07:49 +00:00
80 lines
3.2 KiB
Go
80 lines
3.2 KiB
Go
package dto
|
|
|
|
type HppPerFarmFiltersDTO struct {
|
|
AreaID string `json:"area_id"`
|
|
LocationID string `json:"location_id"`
|
|
StartDate string `json:"start_date"`
|
|
EndDate string `json:"end_date"`
|
|
}
|
|
|
|
type HppPerFarmMetaDTO struct {
|
|
Page int `json:"page"`
|
|
Limit int `json:"limit"`
|
|
TotalPages int64 `json:"total_pages"`
|
|
TotalResults int64 `json:"total_results"`
|
|
Filters HppPerFarmFiltersDTO `json:"filters"`
|
|
}
|
|
|
|
type HppPerFarmResponseData struct {
|
|
StartDate string `json:"start_date"`
|
|
EndDate string `json:"end_date"`
|
|
Rows []HppPerFarmRowDTO `json:"rows"`
|
|
Summary HppPerFarmSummaryDTO `json:"summary"`
|
|
}
|
|
|
|
// HppPerFarmRowDTO is one farm (location) row, aggregating all LAYING project
|
|
// flocks within the same location over the selected date range.
|
|
type HppPerFarmRowDTO struct {
|
|
Location HppPerKandangLocationDTO `json:"location"`
|
|
// total_cost_rp = depreciation + pakan + ovk + bop (+ other production cost).
|
|
// DOC/pullet is NOT included here (it is expensed through depreciation);
|
|
// average_doc_price_rp is provided for information only.
|
|
TotalCostRp float64 `json:"total_cost_rp"`
|
|
FeedCostRp float64 `json:"feed_cost_rp"`
|
|
OvkCostRp float64 `json:"ovk_cost_rp"`
|
|
BopCostRp float64 `json:"bop_cost_rp"`
|
|
DepreciationRp float64 `json:"depreciation_rp"`
|
|
OtherCostRp float64 `json:"other_cost_rp"`
|
|
EggWeightRecordingKg float64 `json:"egg_weight_recording_kg"`
|
|
EggWeightDoKg float64 `json:"egg_weight_do_kg"`
|
|
HppPerKgProduction float64 `json:"hpp_per_kg_production"`
|
|
HppPerKgSales float64 `json:"hpp_per_kg_sales"`
|
|
AverageDocPriceRp int64 `json:"average_doc_price_rp"`
|
|
|
|
Flocks []HppPerFarmFlockDTO `json:"flocks"`
|
|
}
|
|
|
|
// HppPerFarmFlockDTO is the per-project-flock breakdown inside a farm row.
|
|
type HppPerFarmFlockDTO struct {
|
|
ProjectFlockID int64 `json:"project_flock_id"`
|
|
FlockName string `json:"flock_name"`
|
|
TotalCostRp float64 `json:"total_cost_rp"`
|
|
FeedCostRp float64 `json:"feed_cost_rp"`
|
|
OvkCostRp float64 `json:"ovk_cost_rp"`
|
|
BopCostRp float64 `json:"bop_cost_rp"`
|
|
DepreciationRp float64 `json:"depreciation_rp"`
|
|
OtherCostRp float64 `json:"other_cost_rp"`
|
|
EggWeightRecordingKg float64 `json:"egg_weight_recording_kg"`
|
|
EggWeightDoKg float64 `json:"egg_weight_do_kg"`
|
|
HppPerKgProduction float64 `json:"hpp_per_kg_production"`
|
|
HppPerKgSales float64 `json:"hpp_per_kg_sales"`
|
|
AverageDocPriceRp int64 `json:"average_doc_price_rp"`
|
|
}
|
|
|
|
type HppPerFarmSummaryDTO struct {
|
|
TotalCostRp float64 `json:"total_cost_rp"`
|
|
TotalEggWeightRecordingKg float64 `json:"total_egg_weight_recording_kg"`
|
|
TotalEggWeightDoKg float64 `json:"total_egg_weight_do_kg"`
|
|
AverageHppPerKgProduction float64 `json:"average_hpp_per_kg_production"`
|
|
AverageHppPerKgSales float64 `json:"average_hpp_per_kg_sales"`
|
|
}
|
|
|
|
func NewHppPerFarmFiltersDTO(area, location, startDate, endDate string) HppPerFarmFiltersDTO {
|
|
return HppPerFarmFiltersDTO{
|
|
AreaID: area,
|
|
LocationID: location,
|
|
StartDate: startDate,
|
|
EndDate: endDate,
|
|
}
|
|
}
|