mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 13:31:56 +00:00
Fix adjusment stock chickin, transfer to laying and chickin
This commit is contained in:
@@ -141,6 +141,9 @@ func (s *fifoStockV2Service) allocateInternal(ctx context.Context, tx *gorm.DB,
|
||||
if remaining <= 0 {
|
||||
break
|
||||
}
|
||||
if shouldSkipStockableForUsable(req, lot.Ref.LegacyTypeKey) {
|
||||
continue
|
||||
}
|
||||
if lot.AvailableQuantity <= 0 {
|
||||
continue
|
||||
}
|
||||
@@ -207,6 +210,20 @@ func (s *fifoStockV2Service) allocateInternal(ctx context.Context, tx *gorm.DB,
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func shouldSkipStockableForUsable(req AllocateRequest, stockableType string) bool {
|
||||
usableType := strings.ToUpper(strings.TrimSpace(req.Usable.LegacyTypeKey))
|
||||
functionCode := strings.ToUpper(strings.TrimSpace(req.Usable.FunctionCode))
|
||||
stockable := strings.ToUpper(strings.TrimSpace(stockableType))
|
||||
|
||||
// CHICKIN_OUT must consume physical stock sources, not population lots,
|
||||
// otherwise approved chickin can consume its own just-created population.
|
||||
if (usableType == "PROJECT_CHICKIN" || functionCode == "CHICKIN_OUT") && stockable == "PROJECT_FLOCK_POPULATION" {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
func (s *fifoStockV2Service) Rollback(ctx context.Context, req RollbackRequest) (*RollbackResult, error) {
|
||||
if err := s.validateRollbackRequest(req); err != nil {
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user