package dto import ( "assets/consts/stock" "gitea.com/red-future/common/beans" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/os/gtime" "go.mongodb.org/mongo-driver/v2/bson" ) // CreateInventoryCountDetailReq 创建盘点明细请求 type CreateInventoryCountDetailReq struct { g.Meta `path:"/createInventoryCountDetail" method:"post" tags:"盘点明细管理" summary:"创建盘点明细" dc:"创建新的盘点明细"` CountID string `json:"countId" v:"required" dc:"盘点单ID"` AssetID string `json:"assetId" v:"required" dc:"资产ID"` AssetSkuID string `json:"assetSkuId" v:"required" dc:"资产SKU ID"` WarehouseID string `json:"warehouseId" v:"required" dc:"仓库ID"` ZoneID string `json:"zoneId" dc:"库区ID"` LocationID string `json:"locationId" dc:"库位ID"` BookQuantity int `json:"bookQuantity" v:"required" dc:"账面数量"` BookBatchInfo map[string]int `json:"bookBatchInfo" dc:"账面批次信息"` ActualQuantity int `json:"actualQuantity" dc:"实盘数量"` ActualBatchInfo map[string]int `json:"actualBatchInfo" dc:"实盘批次信息"` Remark string `json:"remark" dc:"备注"` } // CreateInventoryCountDetailRes 创建盘点明细响应 type CreateInventoryCountDetailRes struct { Id *bson.ObjectID `json:"id" dc:"盘点明细ID"` } // UpdateInventoryCountDetailReq 更新盘点明细请求 type UpdateInventoryCountDetailReq struct { g.Meta `path:"/updateInventoryCountDetail" method:"put" tags:"盘点明细管理" summary:"更新盘点明细" dc:"更新盘点明细信息"` Id *bson.ObjectID `json:"id" v:"required" dc:"盘点明细ID"` ActualQuantity *int `json:"actualQuantity" dc:"实盘数量"` ActualBatchInfo map[string]int `json:"actualBatchInfo" dc:"实盘批次信息"` DiscrepancyReason string `json:"discrepancyReason" dc:"差异原因"` Status *stock.InventoryDetailStatus `json:"status" dc:"明细状态"` Remark string `json:"remark" dc:"备注"` } // UpdateInventoryCountDetailRes 更新盘点明细响应 type UpdateInventoryCountDetailRes struct { Id *bson.ObjectID `json:"id" dc:"盘点明细ID"` } // DeleteInventoryCountDetailReq 删除盘点明细请求 type DeleteInventoryCountDetailReq struct { g.Meta `path:"/deleteInventoryCountDetail" method:"delete" tags:"盘点明细管理" summary:"删除盘点明细" dc:"删除盘点明细"` Id *bson.ObjectID `json:"id" v:"required" dc:"盘点明细ID"` } // DeleteInventoryCountDetailRes 删除盘点明细响应 type DeleteInventoryCountDetailRes struct { Id *bson.ObjectID `json:"id" dc:"盘点明细ID"` } // GetInventoryCountDetailReq 获取盘点明细详情请求 type GetInventoryCountDetailReq struct { g.Meta `path:"/getInventoryCountDetail" method:"get" tags:"盘点明细管理" summary:"获取盘点明细详情" dc:"获取盘点明细详情"` Id *bson.ObjectID `json:"id" v:"required" dc:"盘点明细ID"` } // GetInventoryCountDetailRes 获取盘点明细详情响应 type GetInventoryCountDetailRes struct { Id *bson.ObjectID `json:"id" dc:"盘点明细ID"` CountID *bson.ObjectID `json:"countId" dc:"盘点单ID"` CountNo string `json:"countNo" dc:"盘点单号"` AssetID *bson.ObjectID `json:"assetId" dc:"资产ID"` AssetName string `json:"assetName" dc:"资产名称"` AssetSkuID *bson.ObjectID `json:"assetSkuId" dc:"资产SKU ID"` AssetSkuName string `json:"assetSkuName" dc:"资产SKU名称"` 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:"库位名称"` BookQuantity int `json:"bookQuantity" dc:"账面数量"` BookBatchInfo map[string]int `json:"bookBatchInfo" dc:"账面批次信息"` ActualQuantity int `json:"actualQuantity" dc:"实盘数量"` ActualBatchInfo map[string]int `json:"actualBatchInfo" dc:"实盘批次信息"` CountBy string `json:"countBy" dc:"盘点人ID"` CountByName string `json:"countByName" dc:"盘点人名称"` CountAt *gtime.Time `json:"countAt" dc:"盘点时间"` Difference int `json:"difference" dc:"差异数量"` DifferenceRate float64 `json:"differenceRate" dc:"差异率"` DiscrepancyType stock.DiscrepancyType `json:"discrepancyType" dc:"差异类型"` DiscrepancyTypeText string `json:"discrepancyTypeText" dc:"差异类型文本"` DiscrepancyReason string `json:"discrepancyReason" dc:"差异原因"` Status stock.InventoryDetailStatus `json:"status" dc:"明细状态"` StatusText string `json:"statusText" dc:"状态文本"` IsAdjusted bool `json:"isAdjusted" dc:"是否已调整"` AdjustedAt *gtime.Time `json:"adjustedAt" dc:"调整时间"` AdjustedBy string `json:"adjustedBy" dc:"调整人ID"` AdjustedByName string `json:"adjustedByName" dc:"调整人名称"` Remark string `json:"remark" dc:"备注"` CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"` UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"` } // ListInventoryCountDetailReq 获取盘点明细列表请求 type ListInventoryCountDetailReq struct { g.Meta `path:"/listInventoryCountDetails" method:"get" tags:"盘点明细管理" summary:"获取盘点明细列表" dc:"分页查询盘点明细列表"` *beans.Page OrderBy []beans.OrderBy `json:"orderBy" dc:"排序规则"` CountID string `json:"countId" v:"required" dc:"盘点单ID"` AssetID string `json:"assetId" dc:"资产ID"` AssetSkuID string `json:"assetSkuId" dc:"资产SKU ID"` WarehouseID string `json:"warehouseId" dc:"仓库ID"` ZoneID string `json:"zoneId" dc:"库区ID"` LocationID string `json:"locationId" dc:"库位ID"` DiscrepancyType *stock.DiscrepancyType `json:"discrepancyType" dc:"差异类型"` Status *stock.InventoryDetailStatus `json:"status" dc:"明细状态"` IsAdjusted *bool `json:"isAdjusted" dc:"是否已调整"` Keyword string `json:"keyword" dc:"关键词搜索"` } // ListInventoryCountDetailRes 获取盘点明细列表响应 type ListInventoryCountDetailRes struct { List []InventoryCountDetailListItem `json:"list" dc:"盘点明细列表"` Total int64 `json:"total" dc:"总数"` } // InventoryCountDetailListItem 盘点明细列表项 type InventoryCountDetailListItem struct { Id *bson.ObjectID `json:"id" dc:"盘点明细ID"` CountID *bson.ObjectID `json:"countId" dc:"盘点单ID"` AssetID *bson.ObjectID `json:"assetId" dc:"资产ID"` AssetName string `json:"assetName" dc:"资产名称"` AssetSkuID *bson.ObjectID `json:"assetSkuId" dc:"资产SKU ID"` AssetSkuName string `json:"assetSkuName" dc:"资产SKU名称"` 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:"库位名称"` BookQuantity int `json:"bookQuantity" dc:"账面数量"` ActualQuantity int `json:"actualQuantity" dc:"实盘数量"` Difference int `json:"difference" dc:"差异数量"` DifferenceRate float64 `json:"differenceRate" dc:"差异率"` DiscrepancyType stock.DiscrepancyType `json:"discrepancyType" dc:"差异类型"` DiscrepancyTypeText string `json:"discrepancyTypeText" dc:"差异类型文本"` Status stock.InventoryDetailStatus `json:"status" dc:"明细状态"` StatusText string `json:"statusText" dc:"状态文本"` IsAdjusted bool `json:"isAdjusted" dc:"是否已调整"` CountBy string `json:"countBy" dc:"盘点人ID"` CountByName string `json:"countByName" dc:"盘点人名称"` CountAt *gtime.Time `json:"countAt" dc:"盘点时间"` Remark string `json:"remark" dc:"备注"` CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"` UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"` } // SearchSimilarAssetsReq 查询相似商品请求 type SearchSimilarAssetsReq struct { g.Meta `path:"/searchSimilarAssets" method:"get" tags:"盘点明细管理" summary:"查询相似商品" dc:"单字模糊查询相似商品"` Keyword string `json:"keyword" v:"required" dc:"关键词"` WarehouseID *bson.ObjectID `json:"warehouseId" dc:"仓库ID"` } // SearchSimilarAssetsRes 查询相似商品响应 type SearchSimilarAssetsRes struct { List []SimilarAssetItem `json:"list" dc:"相似商品列表"` } // SimilarAssetItem 相似商品项 type SimilarAssetItem struct { AssetID *bson.ObjectID `json:"assetId" dc:"资产ID"` AssetName string `json:"assetName" dc:"资产名称"` AssetSkuID *bson.ObjectID `json:"assetSkuId" dc:"资产SKU ID"` AssetSkuName string `json:"assetSkuName" dc:"资产SKU名称"` AvailableQty int `json:"availableQty" dc:"可用库存"` WarehouseID *bson.ObjectID `json:"warehouseId" dc:"仓库ID"` WarehouseName string `json:"warehouseName" dc:"仓库名称"` }