From 466c49167e52327b0fcc6c228180aaab55c103b2 Mon Sep 17 00:00:00 2001 From: Habib Fatkhul Rohman Date: Fri, 14 Nov 2025 15:13:32 +0700 Subject: [PATCH] feat(inventory_receipt): Add status field to inventory receipt entity and update DTO and service methods --- database/entities/t_inventory_receipt_entity.go | 1 + modules/inventory_receipt/dto/inventory_receipt_dto.go | 3 +++ modules/inventory_receipt/service/inventory_receipt_service.go | 2 ++ 3 files changed, 6 insertions(+) diff --git a/database/entities/t_inventory_receipt_entity.go b/database/entities/t_inventory_receipt_entity.go index 2c8798d..25bfdc4 100644 --- a/database/entities/t_inventory_receipt_entity.go +++ b/database/entities/t_inventory_receipt_entity.go @@ -16,6 +16,7 @@ type TInventoryReceiptEntity struct { ReceiptDate time.Time `gorm:"type:timestamp;" json:"receipt_date"` Source string `gorm:"type:varchar(50);" json:"source"` QrCodeFile string `gorm:"type:text;" json:"qr_code_file"` + Status string `gorm:"type:varchar(50);default:'draft';" json:"status"` ClientID uuid.UUID `gorm:"type:uuid;index;" json:"client_id"` diff --git a/modules/inventory_receipt/dto/inventory_receipt_dto.go b/modules/inventory_receipt/dto/inventory_receipt_dto.go index edf4a69..1f138a5 100644 --- a/modules/inventory_receipt/dto/inventory_receipt_dto.go +++ b/modules/inventory_receipt/dto/inventory_receipt_dto.go @@ -26,6 +26,7 @@ type InventoryReceiptCreateRequest struct { Source string `json:"source"` QrCodeFile string `json:"qr_code_file"` ClientID string `json:"client_id" binding:"required"` + Status string `json:"status" binding:"required"` ReceiptLines []InventoryReceiptLineCreateRequest `json:"inventory_lines,omitempty" binding:"dive"` } @@ -43,6 +44,7 @@ type InventoryReceiptUpdateRequest struct { ReceiptDate string `json:"receipt_date"` Source string `json:"source"` QrCodeFile string `json:"qr_code_file"` + Status string `json:"status"` } type InventoryReceiptResponse struct { @@ -52,6 +54,7 @@ type InventoryReceiptResponse struct { ReceiptDate string `json:"receipt_date"` Source string `json:"source"` QrCodeFile string `json:"qr_code_file"` + Status string `json:"status"` Client pkgdto.IdNameResponse `json:"client"` ReceiptLines []InventoryReceiptLineResponse `json:"inventory_lines"` LineCount int `json:"line_count"` diff --git a/modules/inventory_receipt/service/inventory_receipt_service.go b/modules/inventory_receipt/service/inventory_receipt_service.go index 180c5be..a86b3f9 100644 --- a/modules/inventory_receipt/service/inventory_receipt_service.go +++ b/modules/inventory_receipt/service/inventory_receipt_service.go @@ -221,6 +221,7 @@ func (s *inventoryReceiptService) Create(ctx context.Context, req dtodomain.Inve Source: req.Source, QrCodeFile: req.QrCodeFile, ClientID: clientUUID, + Status: req.Status, } created, err := s.receiptRepo.Create(ctx, tx, receipt) if err != nil { @@ -322,6 +323,7 @@ func (s *inventoryReceiptService) Update(ctx context.Context, req dtodomain.Inve receipt.ReceiptDate = utils.StringToDateTime(req.ReceiptDate) receipt.Source = req.Source receipt.QrCodeFile = req.QrCodeFile + receipt.Status = req.Status updated, err := s.receiptRepo.Update(ctx, tx, receipt) if err != nil { tx.Rollback()