outgoing filter status by approvals

This commit is contained in:
efrilm 2025-10-20 13:18:04 +07:00
parent e082d4fce5
commit 8d220ba19f

View File

@ -138,9 +138,6 @@ func (r *LetterOutgoingRepository) List(ctx context.Context, filter ListOutgoing
} }
} }
if filter.Status != nil {
query = query.Where("letters_outgoing.status = ?", *filter.Status)
}
if filter.Query != nil { if filter.Query != nil {
q := "%" + *filter.Query + "%" q := "%" + *filter.Query + "%"
query = query.Where("subject ILIKE ? OR reference_number ILIKE ? OR letter_number ILIKE ?", q, q, q) query = query.Where("subject ILIKE ? OR reference_number ILIKE ? OR letter_number ILIKE ?", q, q, q)
@ -155,6 +152,7 @@ func (r *LetterOutgoingRepository) List(ctx context.Context, filter ListOutgoing
fmt.Printf("[DEBUG] filter.UserID: %v\n", filter.UserID) fmt.Printf("[DEBUG] filter.UserID: %v\n", filter.UserID)
fmt.Printf("[DEBUG] filter.isRead: %v\n", filter.IsRead) fmt.Printf("[DEBUG] filter.isRead: %v\n", filter.IsRead)
fmt.Printf("[DEBUG] filter.status: %v\n", *filter.Status)
// Tambahkan filter IsRead // Tambahkan filter IsRead
if filter.IsRead != nil { if filter.IsRead != nil {
@ -165,6 +163,14 @@ func (r *LetterOutgoingRepository) List(ctx context.Context, filter ListOutgoing
} }
} }
}
if filter.Status != nil {
query = query.Joins("LEFT JOIN letter_outgoing_approvals ON letter_outgoing_approvals.letter_id = letters_outgoing.id")
query = query.Where("letter_outgoing_approvals.approver_id = ?", *filter.UserID)
query = query.Where("letter_outgoing_approvals.status = ?", *filter.Status)
query = query.Distinct() query = query.Distinct()
} }