mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 13:31:56 +00:00
Merge branch 'feat/delivery-order-purchase-recordings' into 'development'
[FEAT/BE] Add saparator type search get all productwarehouse See merge request mbugroup/lti-api!322
This commit is contained in:
+37
-7
@@ -100,11 +100,15 @@ func (s productWarehouseService) GetAll(c *fiber.Ctx, params *validation.Query)
|
|||||||
|
|
||||||
offset := (params.Page - 1) * params.Limit
|
offset := (params.Page - 1) * params.Limit
|
||||||
|
|
||||||
|
var marketingTypes []string
|
||||||
if params.Type != "" {
|
if params.Type != "" {
|
||||||
if !utils.IsValidMarketingType(params.Type) {
|
marketingTypes = utils.ParseQueryArray(params.Type)
|
||||||
|
for _, t := range marketingTypes {
|
||||||
|
if !utils.IsValidMarketingType(t) {
|
||||||
return nil, 0, fiber.NewError(fiber.StatusBadRequest, "Invalid marketing type")
|
return nil, 0, fiber.NewError(fiber.StatusBadRequest, "Invalid marketing type")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
cleanFlags := utils.ParseFlags(params.Flags)
|
cleanFlags := utils.ParseFlags(params.Flags)
|
||||||
|
|
||||||
@@ -135,16 +139,42 @@ func (s productWarehouseService) GetAll(c *fiber.Ctx, params *validation.Query)
|
|||||||
db = db.Where("warehouse_id = ?", params.WarehouseId)
|
db = db.Where("warehouse_id = ?", params.WarehouseId)
|
||||||
}
|
}
|
||||||
|
|
||||||
if params.Type != "" {
|
if len(marketingTypes) > 0 {
|
||||||
switch params.Type {
|
flagSet := make(map[string]struct{})
|
||||||
|
for _, t := range marketingTypes {
|
||||||
|
switch t {
|
||||||
case string(utils.MarketingTypeAyamPullet):
|
case string(utils.MarketingTypeAyamPullet):
|
||||||
db = s.Repository.ApplyFlagsFilter(db, []string{string(utils.FlagDOC), string(utils.FlagPullet), string(utils.FlagLayer)})
|
flagSet[string(utils.FlagDOC)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagPullet)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagLayer)] = struct{}{}
|
||||||
case string(utils.MarketingTypeAyam):
|
case string(utils.MarketingTypeAyam):
|
||||||
db = s.Repository.ApplyFlagsFilter(db, []string{string(utils.FlagAyamAfkir), string(utils.FlagAyamCulling), string(utils.FlagAyamMati)})
|
flagSet[string(utils.FlagAyamAfkir)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagAyamCulling)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagAyamMati)] = struct{}{}
|
||||||
case string(utils.MarketingTypeTelur):
|
case string(utils.MarketingTypeTelur):
|
||||||
db = s.Repository.ApplyFlagsFilter(db, []string{string(utils.FlagTelur), string(utils.FlagTelurUtuh), string(utils.FlagTelurPecah), string(utils.FlagTelurPutih), string(utils.FlagTelurRetak)})
|
flagSet[string(utils.FlagTelur)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagTelurUtuh)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagTelurPecah)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagTelurPutih)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagTelurRetak)] = struct{}{}
|
||||||
case string(utils.MarketingTypeTrading):
|
case string(utils.MarketingTypeTrading):
|
||||||
db = s.Repository.ApplyFlagsFilter(db, []string{string(utils.FlagPakan), string(utils.FlagPreStarter), string(utils.FlagStarter), string(utils.FlagFinisher), string(utils.FlagOVK), string(utils.FlagObat), string(utils.FlagVitamin), string(utils.FlagKimia), string(utils.FlagEkspedisi)})
|
flagSet[string(utils.FlagPakan)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagPreStarter)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagStarter)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagFinisher)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagOVK)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagObat)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagVitamin)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagKimia)] = struct{}{}
|
||||||
|
flagSet[string(utils.FlagEkspedisi)] = struct{}{}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(flagSet) > 0 {
|
||||||
|
flags := make([]string, 0, len(flagSet))
|
||||||
|
for f := range flagSet {
|
||||||
|
flags = append(flags, f)
|
||||||
|
}
|
||||||
|
db = s.Repository.ApplyFlagsFilter(db, flags)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -20,5 +20,5 @@ type Query struct {
|
|||||||
Flags string `query:"flags" validate:"omitempty"`
|
Flags string `query:"flags" validate:"omitempty"`
|
||||||
KandangId uint `query:"kandang_id" validate:"omitempty,number,min=1"`
|
KandangId uint `query:"kandang_id" validate:"omitempty,number,min=1"`
|
||||||
TransferContext string `query:"transfer_context" validate:"omitempty,oneof=inventory_transfer"`
|
TransferContext string `query:"transfer_context" validate:"omitempty,oneof=inventory_transfer"`
|
||||||
Type string `query:"type" validate:"omitempty,oneof=AYAM TELUR TRADING AYAM_PULLET"`
|
Type string `query:"type" validate:"omitempty"`
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user