mirror of
https://github.com/serty2005/rmser.git
synced 2026-02-04 19:02:33 -06:00
добавил редактируемую сумму и пересчет треугольником
This commit is contained in:
@@ -18,6 +18,14 @@ const (
|
||||
StatusDeleted = "DELETED"
|
||||
)
|
||||
|
||||
type EditedField string
|
||||
|
||||
const (
|
||||
FieldQuantity EditedField = "quantity"
|
||||
FieldPrice EditedField = "price"
|
||||
FieldSum EditedField = "sum"
|
||||
)
|
||||
|
||||
type DraftInvoice struct {
|
||||
ID uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()" json:"id"`
|
||||
|
||||
@@ -63,6 +71,10 @@ type DraftInvoiceItem struct {
|
||||
Price decimal.Decimal `gorm:"type:numeric(19,4);default:0" json:"price"`
|
||||
Sum decimal.Decimal `gorm:"type:numeric(19,4);default:0" json:"sum"`
|
||||
|
||||
// Два последних отредактированных поля (для автопересчёта)
|
||||
LastEditedField1 EditedField `gorm:"column:last_edited_field1;type:varchar(20);default:'quantity'" json:"last_edited_field_1"`
|
||||
LastEditedField2 EditedField `gorm:"column:last_edited_field2;type:varchar(20);default:'price'" json:"last_edited_field_2"`
|
||||
|
||||
IsMatched bool `gorm:"default:false" json:"is_matched"`
|
||||
}
|
||||
|
||||
@@ -70,9 +82,10 @@ type Repository interface {
|
||||
Create(draft *DraftInvoice) error
|
||||
GetByID(id uuid.UUID) (*DraftInvoice, error)
|
||||
GetByRMSInvoiceID(rmsInvoiceID uuid.UUID) (*DraftInvoice, error)
|
||||
Update(draft *DraftInvoice) error
|
||||
GetItemByID(itemID uuid.UUID) (*DraftInvoiceItem, error)
|
||||
CreateItems(items []DraftInvoiceItem) error
|
||||
UpdateItem(itemID uuid.UUID, productID *uuid.UUID, containerID *uuid.UUID, qty, price decimal.Decimal) error
|
||||
Update(draft *DraftInvoice) error
|
||||
UpdateItem(itemID uuid.UUID, updates map[string]interface{}) error
|
||||
CreateItem(item *DraftInvoiceItem) error
|
||||
DeleteItem(itemID uuid.UUID) error
|
||||
Delete(id uuid.UUID) error
|
||||
|
||||
Reference in New Issue
Block a user