diff --git a/internal/modules/inventory/product-warehouses/repositories/product_warehouse.repository.go b/internal/modules/inventory/product-warehouses/repositories/product_warehouse.repository.go index d95c298b..fbda4718 100644 --- a/internal/modules/inventory/product-warehouses/repositories/product_warehouse.repository.go +++ b/internal/modules/inventory/product-warehouses/repositories/product_warehouse.repository.go @@ -165,7 +165,7 @@ func (r *ProductWarehouseRepositoryImpl) GetByFlagAndWarehouseID(ctx context.Con var productWarehouses []entity.ProductWarehouse err := r.DB().WithContext(ctx).Model(&entity.ProductWarehouse{}). Joins("JOIN products ON products.id = product_warehouses.product_id"). - Joins("JOIN flags ON flags.flagable_id = products.id AND flags.flagable_type = ?", "products"). + Joins("JOIN flags ON flags.flagable_id = products.id AND flags.flagable_type = 'products'"). Where("flags.name = ? AND product_warehouses.warehouse_id = ?", flagName, warehouseId). Order("product_warehouses.created_at DESC"). Preload("Product").Preload("Warehouse"). @@ -179,7 +179,7 @@ func (r *ProductWarehouseRepositoryImpl) GetByFlagAndWarehouseID(ctx context.Con func (r *ProductWarehouseRepositoryImpl) GetFirstProductByFlag(ctx context.Context, flagName string) (*entity.Product, error) { var product entity.Product err := r.DB().WithContext(ctx). - Joins("JOIN flags ON flags.flagable_id = products.id AND flags.flagable_type = ?", "products"). + Joins("JOIN flags ON flags.flagable_id = products.id AND flags.flagable_type = 'products'"). Where("flags.name = ?", flagName). First(&product).Error if err != nil { diff --git a/internal/modules/production/chickins/services/chickin.service.go b/internal/modules/production/chickins/services/chickin.service.go index d78a9a00..974b5c9f 100644 --- a/internal/modules/production/chickins/services/chickin.service.go +++ b/internal/modules/production/chickins/services/chickin.service.go @@ -136,7 +136,7 @@ func (s *chickinService) CreateOne(c *fiber.Ctx, req *validation.Create) ([]enti return nil, fiber.NewError(fiber.StatusBadRequest, fmt.Sprintf("Unknown category: %s", category)) } - productWarehouses, err = s.ProductWarehouseRepo.GetByCategoryCodeAndWarehouseID(c.Context(), productCategoryCode, warehouse.Id) + productWarehouses, err = s.ProductWarehouseRepo.GetByFlagAndWarehouseID(c.Context(), productCategoryCode, warehouse.Id) if err != nil || len(productWarehouses) == 0 { return nil, fiber.NewError(fiber.StatusNotFound, fmt.Sprintf("Product for %s category in the Kandang's warehouse not found", strings.ToLower(category))) } diff --git a/internal/modules/production/project-flock-kandangs/services/project_flock_kandang.service.go b/internal/modules/production/project-flock-kandangs/services/project_flock_kandang.service.go index ec292d90..52b2570a 100644 --- a/internal/modules/production/project-flock-kandangs/services/project_flock_kandang.service.go +++ b/internal/modules/production/project-flock-kandangs/services/project_flock_kandang.service.go @@ -105,11 +105,10 @@ func (s projectFlockKandangService) getAvailableQuantities(c *fiber.Ctx, project } else if projectFlockKandang.ProjectFlock.Category == string(utils.ProjectFlockCategoryLaying) { productCategoryCode = "PULLET" } else { - return nil, nil } - products, err := s.ProductWarehouseRepo.GetByCategoryCodeAndWarehouseID(c.Context(), productCategoryCode, warehouse.Id) + products, err := s.ProductWarehouseRepo.GetByFlagAndWarehouseID(c.Context(), productCategoryCode, warehouse.Id) if err != nil || len(products) == 0 { return nil, nil } @@ -121,7 +120,6 @@ func (s projectFlockKandangService) getAvailableQuantities(c *fiber.Ctx, project s.Log.Warnf("Failed to calculate available quantity for product warehouse %d: %v", pw.Id, err) } - // Only include product warehouse if available_qty > 0 if availableQty <= 0 { continue }