adjust hpp per farm query to take feed and ovk

This commit is contained in:
giovanni
2026-06-06 10:29:33 +07:00
parent 98bfdac3c5
commit aa3e655a67
5 changed files with 429 additions and 34 deletions
@@ -192,19 +192,27 @@ func TestHppV2RepositoryGetRecordingStockRoutingAdjustmentCostByProjectFlockID(t
repo := &HppV2RepositoryImpl{db: db}
// Route sekarang HANYA menangkap routing cross-kandang asli
// (transferExists AND rs.pfk IS NOT NULL AND rs.pfk <> r.project_flock_kandangs_id).
// Baris pfk NULL (gudang LOKASI) tidak lagi masuk route — kini jadi production_cost
// laying-usage via ListLayingUsageCostRowsByProductFlags.
// Pada 2026-04-30 hanya rs 102 yang lolos: recording pfk 101 (transfer 1001 approved &
// executed, effective 04-05 <= 04-30), rs.pfk 201 <> 101 → 1 × 110 = 110.
periodDate := mustJakartaTime(t, "2026-04-30 00:00:00")
total, err := repo.GetRecordingStockRoutingAdjustmentCostByProjectFlockID(context.Background(), 1, periodDate)
if err != nil {
t.Fatalf("expected no error, got %v", err)
}
assertFloatEquals(t, total, 750)
assertFloatEquals(t, total, 110)
// Pada 2026-04-10 hanya recording pfk 101 & 102 yang masuk rentang tanggal; tetap hanya
// rs 102 (cross-kandang) yang lolos → 110.
earlyPeriod := mustJakartaTime(t, "2026-04-10 23:59:59")
earlyTotal, err := repo.GetRecordingStockRoutingAdjustmentCostByProjectFlockID(context.Background(), 1, earlyPeriod)
if err != nil {
t.Fatalf("expected no error, got %v", err)
}
assertFloatEquals(t, earlyTotal, 240)
assertFloatEquals(t, earlyTotal, 110)
}
func setupHppV2RepositoryTestDB(t *testing.T) *gorm.DB {