mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 13:31:56 +00:00
fix:[BE] Remove unnecessary filters and update profit loss calculation logic in ClosingKeuanganService
This commit is contained in:
@@ -146,7 +146,7 @@ func (s closingKeuanganService) GetClosingKeuanganByKandang(c *fiber.Ctx, projec
|
|||||||
func (s closingKeuanganService) calculateClosingKeuangan(c *fiber.Ctx, projectFlock *entity.ProjectFlock, budgets []entity.ProjectBudget, kandangs []entity.ProjectFlockKandang, scopeID uint) (*dto.ClosingKeuanganData, error) {
|
func (s closingKeuanganService) calculateClosingKeuangan(c *fiber.Ctx, projectFlock *entity.ProjectFlock, budgets []entity.ProjectBudget, kandangs []entity.ProjectFlockKandang, scopeID uint) (*dto.ClosingKeuanganData, error) {
|
||||||
// Define flag filters using constants
|
// Define flag filters using constants
|
||||||
pakanFilters := []string{string(utils.FlagPakan), string(utils.FlagPreStarter), string(utils.FlagStarter), string(utils.FlagFinisher)}
|
pakanFilters := []string{string(utils.FlagPakan), string(utils.FlagPreStarter), string(utils.FlagStarter), string(utils.FlagFinisher)}
|
||||||
ovkFilters := []string{string(utils.FlagOVK), string(utils.FlagObat), string(utils.FlagVitamin), string(utils.FlagKimia), string(utils.FlagEkspedisi)}
|
ovkFilters := []string{string(utils.FlagOVK), string(utils.FlagObat), string(utils.FlagVitamin), string(utils.FlagKimia)}
|
||||||
ayamFilters := []string{string(utils.FlagDOC), string(utils.FlagPullet), string(utils.FlagLayer)}
|
ayamFilters := []string{string(utils.FlagDOC), string(utils.FlagPullet), string(utils.FlagLayer)}
|
||||||
allFilters := append(pakanFilters, ovkFilters...)
|
allFilters := append(pakanFilters, ovkFilters...)
|
||||||
allFilters = append(allFilters, ayamFilters...)
|
allFilters = append(allFilters, ayamFilters...)
|
||||||
@@ -336,7 +336,7 @@ func (s closingKeuanganService) calculateClosingKeuangan(c *fiber.Ctx, projectFl
|
|||||||
|
|
||||||
// Budget per category
|
// Budget per category
|
||||||
budgetPakan := calculateBudgetByFlag([]string{"PAKAN", "PRE-STARTER", "STARTER", "FINISHER"})
|
budgetPakan := calculateBudgetByFlag([]string{"PAKAN", "PRE-STARTER", "STARTER", "FINISHER"})
|
||||||
budgetOvk := calculateBudgetByFlag([]string{"OVK", "OBAT", "VITAMIN", "KIMIA", "EKSPEDISI"})
|
budgetOvk := calculateBudgetByFlag([]string{"OVK", "OBAT", "VITAMIN", "KIMIA"})
|
||||||
budgetAyam := calculateBudgetByFlag([]string{"DOC", "PULLET", "LAYER"})
|
budgetAyam := calculateBudgetByFlag([]string{"DOC", "PULLET", "LAYER"})
|
||||||
budgetEkspedisi := calculateBudgetByFlag([]string{"EKSPEDISI"})
|
budgetEkspedisi := calculateBudgetByFlag([]string{"EKSPEDISI"})
|
||||||
|
|
||||||
@@ -432,13 +432,13 @@ func (s closingKeuanganService) calculateClosingKeuangan(c *fiber.Ctx, projectFl
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate metrics for profit loss (use total population for sales)
|
// Calculate metrics for profit loss (use total population and total weight produced)
|
||||||
calculateProfitLossMetrics := func(amount float64) (rpPerBird, rpPerKg float64) {
|
calculateProfitLossMetrics := func(amount float64) (rpPerBird, rpPerKg float64) {
|
||||||
if totalPopulation > 0 {
|
if totalPopulation > 0 {
|
||||||
rpPerBird = amount / totalPopulation
|
rpPerBird = amount / totalPopulation
|
||||||
}
|
}
|
||||||
if totalWeightSold > 0 {
|
if totalWeightProduced > 0 {
|
||||||
rpPerKg = amount / totalWeightSold
|
rpPerKg = amount / totalWeightProduced
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user