Files
assets/model/dto/stock/inventory_count_detail_dto.go
2026-03-18 10:18:03 +08:00

180 lines
11 KiB
Go

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:"仓库名称"`
}