package entity import ( "assets/consts/public" "assets/consts/stock" "gitea.redpowerfuture.com/red-future/common/beans" "github.com/gogf/gf/v2/os/gtime" "go.mongodb.org/mongo-driver/v2/bson" ) // InventoryCountDetail 库存盘点明细表实体 type InventoryCountDetail struct { beans.MongoBaseDO `bson:",inline"` // 嵌入基础字段:Id, Creator, CreatedAt, Updater, UpdatedAt, TenantId, IsDeleted // 关联信息 CountID *bson.ObjectID `bson:"countId" json:"countId"` // 盘点单ID AssetID *bson.ObjectID `bson:"assetId" json:"assetId"` // 资产ID AssetSkuID *bson.ObjectID `bson:"assetSkuId" json:"assetSkuId"` // 资产SKU ID WarehouseID *bson.ObjectID `bson:"warehouseId" json:"warehouseId"` // 仓库ID ZoneID *bson.ObjectID `bson:"zoneId" json:"zoneId"` // 库区ID LocationID *bson.ObjectID `bson:"locationId" json:"locationId"` // 库位ID // 账面数据 BookQuantity int `bson:"bookQuantity" json:"bookQuantity"` // 账面数量 BookBatchInfo map[string]int `bson:"bookBatchInfo" json:"bookBatchInfo"` // 账面批次信息 {batchNo: quantity} // 实盘数据 ActualQuantity int `bson:"actualQuantity" json:"actualQuantity"` // 实盘数量 ActualBatchInfo map[string]int `bson:"actualBatchInfo" json:"actualBatchInfo"` // 实盘批次信息 {batchNo: quantity} CountBy string `bson:"countBy" json:"countBy"` // 盘点人ID CountAt *gtime.Time `bson:"countAt" json:"countAt"` // 盘点时间 // 差异信息 Difference int `bson:"difference" json:"difference"` // 差异数量 (实际-账面) DifferenceRate float64 `bson:"differenceRate" json:"differenceRate"` // 差异率 DiscrepancyType stock.DiscrepancyType `bson:"discrepancyType" json:"discrepancyType"` // 差异类型 DiscrepancyReason string `bson:"discrepancyReason" json:"discrepancyReason"` // 差异原因 // 状态信息 Status stock.InventoryDetailStatus `bson:"status" json:"status"` // 明细状态 IsAdjusted bool `bson:"isAdjusted" json:"isAdjusted"` // 是否已调整 AdjustedAt *gtime.Time `bson:"adjustedAt" json:"adjustedAt"` // 调整时间 AdjustedBy string `bson:"adjustedBy" json:"adjustedBy"` // 调整人ID AdjustedByName string `bson:"adjustedByName" json:"adjustedByName"` // 调整人姓名 // 上传信息 UploadBy string `bson:"uploadBy" json:"uploadBy"` // 上传人ID UploadByName string `bson:"uploadByName" json:"uploadByName"` // 上传人姓名 UploadAt *gtime.Time `bson:"uploadAt" json:"uploadAt"` // 上传时间 UploadFileName string `bson:"uploadFileName" json:"uploadFileName"` // 文件名 // 备注信息 Remark string `bson:"remark" json:"remark"` // 备注 } // CollectionName 获取集合名称 func (InventoryCountDetail) CollectionName() string { return public.InventoryCountDetailCollection }