feat/BE/US-76/TASK-122,133,121,120 Recording add create delete edit

This commit is contained in:
ragil adi prasetio
2025-10-24 08:18:16 +00:00
parent 3a162972ba
commit 3065669d60
@@ -51,6 +51,7 @@ type RecordingDepletionDTO struct {
ProductWarehouseId uint `json:"product_warehouse_id"`
Total int64 `json:"total"`
Notes *string `json:"notes,omitempty"`
ProductWarehouse *RecordingProductWarehouseDTO `json:"product_warehouse,omitempty"`
}
type RecordingStockDTO struct {
@@ -59,6 +60,15 @@ type RecordingStockDTO struct {
Decrease *float64 `json:"decrease,omitempty"`
UsageAmount *int64 `json:"usage_amount,omitempty"`
Notes *string `json:"notes,omitempty"`
ProductWarehouse *RecordingProductWarehouseDTO `json:"product_warehouse,omitempty"`
}
type RecordingProductWarehouseDTO struct {
Id uint `json:"id"`
ProductId uint `json:"product_id"`
ProductName string `json:"product_name"`
WarehouseId uint `json:"warehouse_id"`
WarehouseName string `json:"warehouse_name"`
}
// === Mapper Functions ===
@@ -145,6 +155,7 @@ func ToRecordingDepletionDTOs(depletions []entity.RecordingDepletion) []Recordin
ProductWarehouseId: d.ProductWarehouseId,
Total: d.Total,
Notes: d.Notes,
ProductWarehouse: toRecordingProductWarehouseDTO(&d.ProductWarehouse),
}
}
return result
@@ -159,7 +170,29 @@ func ToRecordingStockDTOs(stocks []entity.RecordingStock) []RecordingStockDTO {
Decrease: s.Decrease,
UsageAmount: s.UsageAmount,
Notes: s.Notes,
ProductWarehouse: toRecordingProductWarehouseDTO(&s.ProductWarehouse),
}
}
return result
}
func toRecordingProductWarehouseDTO(pw *entity.ProductWarehouse) *RecordingProductWarehouseDTO {
if pw == nil || pw.Id == 0 {
return nil
}
dto := RecordingProductWarehouseDTO{
Id: pw.Id,
ProductId: pw.ProductId,
WarehouseId: pw.WarehouseId,
}
if pw.Product.Id != 0 {
dto.ProductName = pw.Product.Name
}
if pw.Warehouse.Id != 0 {
dto.WarehouseName = pw.Warehouse.Name
}
return &dto
}