редактирование и удаление сопоставлений

список накладных с позициями
This commit is contained in:
2025-12-29 10:46:05 +03:00
parent c2d382cb6a
commit 310a64e3ba
30 changed files with 1250 additions and 8173 deletions

View File

@@ -18,6 +18,19 @@ func NewRepository(db *gorm.DB) invoices.Repository {
return &pgRepository{db: db}
}
func (r *pgRepository) GetByID(id uuid.UUID) (*invoices.Invoice, error) {
var inv invoices.Invoice
err := r.db.
Preload("Items").
Preload("Items.Product").
Where("id = ?", id).
First(&inv).Error
if err != nil {
return nil, err
}
return &inv, nil
}
func (r *pgRepository) GetLastInvoiceDate(serverID uuid.UUID) (*time.Time, error) {
var inv invoices.Invoice
// Ищем последнюю накладную только для этого сервера
@@ -35,7 +48,8 @@ func (r *pgRepository) GetByPeriod(serverID uuid.UUID, from, to time.Time) ([]in
var list []invoices.Invoice
err := r.db.
Preload("Items").
Where("rms_server_id = ? AND date_incoming BETWEEN ? AND ?", serverID, from, to).
Preload("Items.Product").
Where("rms_server_id = ? AND date_incoming BETWEEN ? AND ? AND status != ?", serverID, from, to, "DELETED").
Order("date_incoming DESC").
Find(&list).Error
return list, err