mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 21:41:55 +00:00
Revert "Merge branch 'fix/implement-fifo-v2' into 'dev/fifo-v2'"
This reverts merge request !340
This commit is contained in:
+9
-185
@@ -14,18 +14,9 @@ type FlagType string
|
||||
|
||||
type FlagGroup string
|
||||
|
||||
type ProductFlagOption struct {
|
||||
Flag FlagType `json:"flag"`
|
||||
SubFlags []FlagType `json:"sub_flags"`
|
||||
AllowWithoutSubFlag bool `json:"allow_without_sub_flag"`
|
||||
}
|
||||
|
||||
const (
|
||||
FlagIsActive FlagType = "IS_ACTIVE"
|
||||
|
||||
FlagAyam FlagType = "AYAM"
|
||||
|
||||
// Legacy AYAM flags kept for backward compatibility with existing production data.
|
||||
FlagDOC FlagType = "DOC"
|
||||
FlagPullet FlagType = "PULLET"
|
||||
FlagLayer FlagType = "LAYER"
|
||||
@@ -45,13 +36,11 @@ const (
|
||||
FlagAyamMati FlagType = "AYAM-MATI"
|
||||
|
||||
//flag telur
|
||||
FlagTelur FlagType = "TELUR"
|
||||
FlagTelurUtuh FlagType = "TELUR-UTUH"
|
||||
FlagTelurPecah FlagType = "TELUR-PECAH"
|
||||
FlagTelurPutih FlagType = "TELUR-PUTIH"
|
||||
FlagTelurRetak FlagType = "TELUR-RETAK"
|
||||
FlagTelurPapacal FlagType = "TELUR-PAPACAL"
|
||||
FlagTelurJumbo FlagType = "TELUR-JUMBO"
|
||||
FlagTelur FlagType = "TELUR"
|
||||
FlagTelurUtuh FlagType = "TELUR-UTUH"
|
||||
FlagTelurPecah FlagType = "TELUR-PECAH"
|
||||
FlagTelurPutih FlagType = "TELUR-PUTIH"
|
||||
FlagTelurRetak FlagType = "TELUR-RETAK"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -61,10 +50,9 @@ const (
|
||||
|
||||
var flagGroupOptions = map[FlagGroup][]FlagType{
|
||||
FlagGroupProduct: {
|
||||
FlagAyam,
|
||||
FlagAyamAfkir,
|
||||
FlagAyamCulling,
|
||||
FlagAyamMati,
|
||||
FlagDOC,
|
||||
FlagPullet,
|
||||
FlagLayer,
|
||||
FlagPakan,
|
||||
FlagPreStarter,
|
||||
FlagStarter,
|
||||
@@ -73,82 +61,12 @@ var flagGroupOptions = map[FlagGroup][]FlagType{
|
||||
FlagObat,
|
||||
FlagVitamin,
|
||||
FlagKimia,
|
||||
FlagTelur,
|
||||
FlagTelurUtuh,
|
||||
FlagTelurPutih,
|
||||
FlagTelurRetak,
|
||||
FlagTelurPecah,
|
||||
FlagTelurPapacal,
|
||||
FlagTelurJumbo,
|
||||
},
|
||||
FlagGroupNonstock: {
|
||||
FlagEkspedisi,
|
||||
},
|
||||
}
|
||||
|
||||
var legacyFlagTypeAliases = map[FlagType]FlagType{
|
||||
FlagDOC: FlagAyam,
|
||||
FlagPullet: FlagAyam,
|
||||
FlagLayer: FlagAyam,
|
||||
}
|
||||
|
||||
var productMainFlags = []FlagType{
|
||||
FlagAyam,
|
||||
FlagPakan,
|
||||
FlagOVK,
|
||||
FlagTelur,
|
||||
}
|
||||
|
||||
var productSubFlagsByFlag = map[FlagType][]FlagType{
|
||||
FlagAyam: {
|
||||
FlagAyamAfkir,
|
||||
FlagAyamCulling,
|
||||
FlagAyamMati,
|
||||
},
|
||||
FlagPakan: {
|
||||
FlagPreStarter,
|
||||
FlagStarter,
|
||||
FlagFinisher,
|
||||
},
|
||||
FlagOVK: {
|
||||
FlagObat,
|
||||
FlagVitamin,
|
||||
FlagKimia,
|
||||
},
|
||||
FlagTelur: {
|
||||
FlagTelurUtuh,
|
||||
FlagTelurPutih,
|
||||
FlagTelurRetak,
|
||||
FlagTelurPecah,
|
||||
FlagTelurPapacal,
|
||||
FlagTelurJumbo,
|
||||
},
|
||||
}
|
||||
|
||||
var productSubFlagToFlag = func() map[FlagType]FlagType {
|
||||
out := make(map[FlagType]FlagType)
|
||||
for flag, subFlags := range productSubFlagsByFlag {
|
||||
for _, subFlag := range subFlags {
|
||||
out[subFlag] = flag
|
||||
}
|
||||
}
|
||||
return out
|
||||
}()
|
||||
|
||||
var productAllowWithoutSubFlagByFlag = map[FlagType]bool{
|
||||
FlagAyam: true,
|
||||
FlagPakan: false,
|
||||
FlagOVK: false,
|
||||
FlagTelur: false,
|
||||
}
|
||||
|
||||
func canonicalizeFlagType(flag FlagType) FlagType {
|
||||
if canonical, ok := legacyFlagTypeAliases[flag]; ok {
|
||||
return canonical
|
||||
}
|
||||
return flag
|
||||
}
|
||||
|
||||
var allFlagTypes = func() map[FlagType]struct{} {
|
||||
m := map[FlagType]struct{}{
|
||||
FlagIsActive: {},
|
||||
@@ -165,95 +83,6 @@ func AllFlagTypes() map[FlagType]struct{} {
|
||||
return allFlagTypes
|
||||
}
|
||||
|
||||
func CanonicalFlagType(v string) FlagType {
|
||||
normalized := FlagType(strings.ToUpper(strings.TrimSpace(v)))
|
||||
if normalized == "" {
|
||||
return ""
|
||||
}
|
||||
return canonicalizeFlagType(normalized)
|
||||
}
|
||||
|
||||
func LegacyFlagTypeAliases() map[FlagType]FlagType {
|
||||
out := make(map[FlagType]FlagType, len(legacyFlagTypeAliases))
|
||||
for legacy, canonical := range legacyFlagTypeAliases {
|
||||
out[legacy] = canonical
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func ProductMainFlags() []FlagType {
|
||||
out := make([]FlagType, len(productMainFlags))
|
||||
copy(out, productMainFlags)
|
||||
return out
|
||||
}
|
||||
|
||||
func ProductSubFlagsByFlag() map[FlagType][]FlagType {
|
||||
out := make(map[FlagType][]FlagType, len(productSubFlagsByFlag))
|
||||
for flag, subFlags := range productSubFlagsByFlag {
|
||||
dup := make([]FlagType, len(subFlags))
|
||||
copy(dup, subFlags)
|
||||
out[flag] = dup
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func ProductSubFlagToFlag() map[FlagType]FlagType {
|
||||
out := make(map[FlagType]FlagType, len(productSubFlagToFlag))
|
||||
for subFlag, flag := range productSubFlagToFlag {
|
||||
out[subFlag] = flag
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func ProductFlagOptions() []ProductFlagOption {
|
||||
result := make([]ProductFlagOption, 0, len(productMainFlags))
|
||||
for _, flag := range productMainFlags {
|
||||
subFlags := productSubFlagsByFlag[flag]
|
||||
dup := make([]FlagType, len(subFlags))
|
||||
copy(dup, subFlags)
|
||||
result = append(result, ProductFlagOption{
|
||||
Flag: flag,
|
||||
SubFlags: dup,
|
||||
AllowWithoutSubFlag: productAllowWithoutSubFlagByFlag[flag],
|
||||
})
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func ProductFlagAllowWithoutSubFlag(flag FlagType) bool {
|
||||
canonical := canonicalizeFlagType(flag)
|
||||
allow, ok := productAllowWithoutSubFlagByFlag[canonical]
|
||||
if !ok {
|
||||
return false
|
||||
}
|
||||
return allow
|
||||
}
|
||||
|
||||
func IsProductMainFlag(flag FlagType) bool {
|
||||
canonical := canonicalizeFlagType(flag)
|
||||
for _, f := range productMainFlags {
|
||||
if f == canonical {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func IsValidProductSubFlag(flag FlagType, subFlag FlagType) bool {
|
||||
canonicalFlag := canonicalizeFlagType(flag)
|
||||
canonicalSubFlag := canonicalizeFlagType(subFlag)
|
||||
allowedSubFlags, ok := productSubFlagsByFlag[canonicalFlag]
|
||||
if !ok {
|
||||
return false
|
||||
}
|
||||
for _, allowed := range allowedSubFlags {
|
||||
if allowed == canonicalSubFlag {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// WarehouseType
|
||||
// -------------------------------------------------------------------
|
||||
@@ -792,11 +621,7 @@ const (
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
func IsValidFlagType(v string) bool {
|
||||
flag := FlagType(strings.ToUpper(strings.TrimSpace(v)))
|
||||
if _, ok := allFlagTypes[flag]; ok {
|
||||
return true
|
||||
}
|
||||
_, ok := legacyFlagTypeAliases[flag]
|
||||
_, ok := allFlagTypes[FlagType(strings.ToUpper(strings.TrimSpace(v)))]
|
||||
return ok
|
||||
}
|
||||
|
||||
@@ -842,7 +667,6 @@ func NormalizeFlagTypes(flags []string) []FlagType {
|
||||
if normalized == "" {
|
||||
continue
|
||||
}
|
||||
normalized = canonicalizeFlagType(normalized)
|
||||
if _, exists := seen[normalized]; exists {
|
||||
continue
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user