Compare commits

...

3 Commits

Author SHA1 Message Date
giovanni 77a30837e2 fix 2026-05-22 13:27:47 +07:00
giovanni 1be0fa1a5f fix filter 2026-05-22 12:30:23 +07:00
Giovanni Gabriel Septriadi c9e3905a65 Merge branch 'feat/filter' into 'development'
adjust export format purchase and filter

See merge request mbugroup/lti-api!547
2026-05-21 04:49:46 +00:00
@@ -264,6 +264,14 @@ func (s *purchaseService) GetAll(c *fiber.Ctx, params *validation.Query) ([]enti
sortBy := strings.TrimSpace(params.SortBy)
sortOrder := strings.ToUpper(strings.TrimSpace(params.SortOrder))
if sortBy == "" && (filterBy == "po_date" || filterBy == "due_date" || filterBy == "received_date" || filterBy == "created_at") {
sortBy = filterBy
if sortOrder == "" {
sortOrder = "ASC"
}
}
if sortOrder == "" {
sortOrder = "DESC"
}
@@ -2240,6 +2248,11 @@ func (s *purchaseService) attachLatestApprovals(ctx context.Context, items []ent
}
func parsePurchaseDateRangeForQuery(fromStr, toStr, fieldName string) (*time.Time, *time.Time, error) {
jakartaLoc, err := time.LoadLocation("Asia/Jakarta")
if err != nil {
jakartaLoc = time.FixedZone("WIB", 7*60*60)
}
var fromPtr *time.Time
var toPtr *time.Time
@@ -2248,7 +2261,8 @@ func parsePurchaseDateRangeForQuery(fromStr, toStr, fieldName string) (*time.Tim
if err != nil {
return nil, nil, errors.New(fieldName + "_from must use format YYYY-MM-DD")
}
fromPtr = &parsed
t := time.Date(parsed.Year(), parsed.Month(), parsed.Day(), 0, 0, 0, 0, jakartaLoc)
fromPtr = &t
}
if strings.TrimSpace(toStr) != "" {
@@ -2256,7 +2270,8 @@ func parsePurchaseDateRangeForQuery(fromStr, toStr, fieldName string) (*time.Tim
if err != nil {
return nil, nil, errors.New(fieldName + "_to must use format YYYY-MM-DD")
}
nextDay := parsed.AddDate(0, 0, 1)
t := time.Date(parsed.Year(), parsed.Month(), parsed.Day(), 0, 0, 0, 0, jakartaLoc)
nextDay := t.AddDate(0, 0, 1)
toPtr = &nextDay
}