diff --git a/internal/modules/production/project_flocks/services/projectflock.service.go b/internal/modules/production/project_flocks/services/projectflock.service.go index a99228e4..3017f49a 100644 --- a/internal/modules/production/project_flocks/services/projectflock.service.go +++ b/internal/modules/production/project_flocks/services/projectflock.service.go @@ -374,7 +374,19 @@ func (s *projectflockService) CreateOne(c *fiber.Ctx, req *validation.Create) (* err = s.Repository.DB().WithContext(c.Context()).Transaction(func(dbTransaction *gorm.DB) error { projectRepo := repository.NewProjectflockRepository(dbTransaction) - generatedName, _, err := s.generateSequentialFlockName(c.Context(), projectRepo, canonicalBase, 1, nil) + periods, err := projectRepo.GetNextPeriodsForKandangs(c.Context(), kandangIDs) + if err != nil { + return err + } + + maxPeriod := 1 + for _, p := range periods { + if p > maxPeriod { + maxPeriod = p + } + } + + generatedName, _, err := s.generateSequentialFlockName(c.Context(), projectRepo, canonicalBase, maxPeriod, nil) if err != nil { return err } @@ -384,10 +396,6 @@ func (s *projectflockService) CreateOne(c *fiber.Ctx, req *validation.Create) (* return err } - periods, err := projectRepo.GetNextPeriodsForKandangs(c.Context(), kandangIDs) - if err != nil { - return err - } if err := s.attachKandangs(c.Context(), dbTransaction, createBody.Id, kandangIDs, periods); err != nil { return err }