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:"列表"` }