Files
assets/model/dto/procurement/purchase_inbound_dto.go

97 lines
4.0 KiB
Go
Raw Permalink Normal View History

2026-03-18 10:18:03 +08:00
package dto
import (
"gitea.com/red-future/common/beans"
"github.com/gogf/gf/v2/frame/g"
"go.mongodb.org/mongo-driver/v2/bson"
)
// CreatePurchaseInboundReq 创建采购入库请求
type CreatePurchaseInboundReq struct {
g.Meta `path:"/createPurchaseInbound" method:"post" tags:"采购入库管理" summary:"创建采购入库" dc:"将采购订单明细入库到私域库存"`
OrderItemId *bson.ObjectID `json:"orderItemId" v:"required" dc:"采购订单明细ID"`
InboundQty int `json:"inboundQty" v:"required|min:1" dc:"入库数量"`
// 仓储信息(非必填)
WarehouseId *bson.ObjectID `json:"warehouseId" dc:"仓库ID"`
ZoneId *bson.ObjectID `json:"zoneId" dc:"库区ID"`
LocationId *bson.ObjectID `json:"locationId" dc:"库位ID"`
// 私域SKU和分类必填
PrivateSkuId *bson.ObjectID `json:"privateSkuId" v:"required" dc:"私域SKU ID"`
PrivateCategoryId *bson.ObjectID `json:"privateCategoryId" v:"required" dc:"私域分类ID"`
Remark string `json:"remark" dc:"入库备注"`
}
// CreatePurchaseInboundRes 创建采购入库响应
type CreatePurchaseInboundRes struct {
Id *bson.ObjectID `json:"id" dc:"入库记录ID"`
InboundNo string `json:"inboundNo" dc:"入库单号"`
BatchNo string `json:"batchNo" dc:"批次号"`
}
// GetPurchaseInboundReq 获取入库详情请求
type GetPurchaseInboundReq struct {
g.Meta `path:"/getPurchaseInbound" method:"get" tags:"采购入库管理" summary:"获取入库详情" dc:"根据ID获取入库记录详情"`
Id *bson.ObjectID `json:"id" v:"required" dc:"入库记录ID"`
}
// GetPurchaseInboundRes 获取入库详情响应
type GetPurchaseInboundRes struct {
Id *bson.ObjectID `json:"id" dc:"入库记录ID"`
InboundNo string `json:"inboundNo" dc:"入库单号"`
BatchNo string `json:"batchNo" dc:"批次号"`
// 关联信息
OrderId *bson.ObjectID `json:"orderId" dc:"采购订单ID"`
OrderItemId *bson.ObjectID `json:"orderItemId" dc:"采购订单明细ID"`
// 入库数量和时间
InboundQty int `json:"inboundQty" dc:"本次入库数量"`
InboundDate string `json:"inboundDate" dc:"入库日期"`
// 仓储信息
WarehouseId *bson.ObjectID `json:"warehouseId" dc:"仓库ID"`
WarehouseName string `json:"warehouseName" dc:"仓库名称"`
ZoneId *bson.ObjectID `json:"zoneId" dc:"库区ID"`
ZoneName string `json:"zoneName" dc:"库区名称"`
LocationId *bson.ObjectID `json:"locationId" dc:"库位ID"`
LocationName string `json:"locationName" dc:"库位名称"`
// 私域SKU和分类
PrivateSkuId *bson.ObjectID `json:"privateSkuId" dc:"私域SKU ID"`
PrivateSkuName string `json:"privateSkuName" dc:"私域SKU名称"`
PrivateCategoryId *bson.ObjectID `json:"privateCategoryId" dc:"私域分类ID"`
PrivateCategoryPath string `json:"privateCategoryPath" dc:"私域分类路径"`
// 生成的库存信息
PrivateStockId *bson.ObjectID `json:"privateStockId" dc:"关联的私域库存ID"`
Remark string `json:"remark" dc:"入库备注"`
CreatedAt string `json:"createdAt" dc:"创建时间"`
UpdatedAt string `json:"updatedAt" dc:"更新时间"`
}
// ListPurchaseInboundReq 获取入库列表请求
type ListPurchaseInboundReq struct {
g.Meta `path:"/listPurchaseInbounds" method:"get" tags:"采购入库管理" summary:"获取入库列表" dc:"分页查询入库记录列表"`
OrderId *bson.ObjectID `json:"orderId" dc:"采购订单ID"`
OrderItemId *bson.ObjectID `json:"orderItemId" dc:"采购订单明细ID"`
InboundNo string `json:"inboundNo" dc:"入库单号"`
StartDate string `json:"startDate" dc:"开始日期(YYYY-MM-DD)"`
EndDate string `json:"endDate" dc:"结束日期(YYYY-MM-DD)"`
beans.Page `json:",inline"`
beans.OrderBy `json:",inline"`
}
// ListPurchaseInboundRes 获取入库列表响应
type ListPurchaseInboundRes struct {
Total int64 `json:"total" dc:"总数"`
List []*GetPurchaseInboundRes `json:"list" dc:"列表"`
}