215 lines
12 KiB
Go
215 lines
12 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"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// CreateInventoryWarningReq 创建库存预警请求
|
|||
|
|
type CreateInventoryWarningReq struct {
|
|||
|
|
g.Meta `path:"/createInventoryWarning" method:"post" tags:"库存预警管理" summary:"创建库存预警" dc:"创建新的库存预警"`
|
|||
|
|
|
|||
|
|
WarningType stock.WarningType `json:"warningType" v:"required" dc:"预警类型"`
|
|||
|
|
BatchID *bson.ObjectID `json:"batchId" v:"required" dc:"关联批次ID"`
|
|||
|
|
AssetID *bson.ObjectID `json:"assetId" dc:"关联资产ID"`
|
|||
|
|
AssetSkuID *bson.ObjectID `json:"assetSkuId" dc:"关联资产SKU ID"`
|
|||
|
|
SupplierID *bson.ObjectID `json:"supplierId" dc:"关联供应商ID"`
|
|||
|
|
BatchNo string `json:"batchNo" dc:"批次号"`
|
|||
|
|
BatchQty int `json:"batchQty" dc:"批次数量"`
|
|||
|
|
AvailableQty int `json:"availableQty" dc:"可用数量"`
|
|||
|
|
|
|||
|
|
ProductionDate *gtime.Time `json:"productionDate" dc:"生产日期"`
|
|||
|
|
ExpiryDate *gtime.Time `json:"expiryDate" dc:"过期日期"`
|
|||
|
|
ExpiryWarningDate *gtime.Time `json:"expiryWarningDate" dc:"临期预警时间"`
|
|||
|
|
|
|||
|
|
MinStockThreshold int `json:"minStockThreshold" dc:"最低库存阈值"`
|
|||
|
|
|
|||
|
|
Status stock.ExpiryMessageStatus `json:"status" dc:"消息状态"`
|
|||
|
|
|
|||
|
|
ProcessedAt *gtime.Time `json:"processedAt" dc:"处理时间"`
|
|||
|
|
Processor string `json:"processor" dc:"处理人"`
|
|||
|
|
ProcessNote string `json:"processNote" dc:"处理备注"`
|
|||
|
|
ProcessMethod *stock.ExpiryProcessMethod `json:"processMethod" dc:"处理方式"`
|
|||
|
|
PromotionPlanID string `json:"promotionPlanId" dc:"促销方案ID"`
|
|||
|
|
|
|||
|
|
SupportsRecycle bool `json:"supportsRecycle" dc:"是否支持回收"`
|
|||
|
|
Notes string `json:"notes" dc:"备注"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// CreateInventoryWarningRes 创建库存预警响应
|
|||
|
|
type CreateInventoryWarningRes struct {
|
|||
|
|
Id *bson.ObjectID `json:"id" dc:"预警ID"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// UpdateInventoryWarningReq 更新库存预警请求
|
|||
|
|
type UpdateInventoryWarningReq struct {
|
|||
|
|
g.Meta `path:"/updateInventoryWarning" method:"put" tags:"库存预警管理" summary:"更新库存预警" dc:"更新库存预警信息"`
|
|||
|
|
Id *bson.ObjectID `json:"id" v:"required" dc:"预警ID"`
|
|||
|
|
|
|||
|
|
WarningType stock.WarningType `json:"warningType" v:"required" dc:"预警类型"`
|
|||
|
|
BatchID *bson.ObjectID `json:"batchId" v:"required" dc:"关联批次ID"`
|
|||
|
|
AssetID *bson.ObjectID `json:"assetId" dc:"关联资产ID"`
|
|||
|
|
AssetSkuID *bson.ObjectID `json:"assetSkuId" dc:"关联资产SKU ID"`
|
|||
|
|
SupplierID *bson.ObjectID `json:"supplierId" dc:"关联供应商ID"`
|
|||
|
|
BatchNo string `json:"batchNo" dc:"批次号"`
|
|||
|
|
BatchQty int `json:"batchQty" dc:"批次数量"`
|
|||
|
|
AvailableQty int `json:"availableQty" dc:"可用数量"`
|
|||
|
|
|
|||
|
|
ProductionDate *gtime.Time `json:"productionDate" dc:"生产日期"`
|
|||
|
|
ExpiryDate *gtime.Time `json:"expiryDate" dc:"过期日期"`
|
|||
|
|
ExpiryWarningDate *gtime.Time `json:"expiryWarningDate" dc:"临期预警时间"`
|
|||
|
|
|
|||
|
|
MinStockThreshold int `json:"minStockThreshold" dc:"最低库存阈值"`
|
|||
|
|
|
|||
|
|
Status stock.ExpiryMessageStatus `json:"status" dc:"消息状态"`
|
|||
|
|
|
|||
|
|
ProcessedAt *gtime.Time `json:"processedAt" dc:"处理时间"`
|
|||
|
|
Processor string `json:"processor" dc:"处理人"`
|
|||
|
|
ProcessNote string `json:"processNote" dc:"处理备注"`
|
|||
|
|
ProcessMethod *stock.ExpiryProcessMethod `json:"processMethod" dc:"处理方式"`
|
|||
|
|
PromotionPlanID string `json:"promotionPlanId" dc:"促销方案ID"`
|
|||
|
|
|
|||
|
|
SupportsRecycle bool `json:"supportsRecycle" dc:"是否支持回收"`
|
|||
|
|
Notes string `json:"notes" dc:"备注"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// UpdateInventoryWarningRes 更新库存预警响应
|
|||
|
|
type UpdateInventoryWarningRes struct {
|
|||
|
|
Id *bson.ObjectID `json:"id" dc:"预警ID"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// DeleteInventoryWarningReq 删除库存预警请求
|
|||
|
|
type DeleteInventoryWarningReq struct {
|
|||
|
|
g.Meta `path:"/deleteInventoryWarning" method:"delete" tags:"库存预警管理" summary:"删除库存预警" dc:"删除库存预警"`
|
|||
|
|
Id *bson.ObjectID `json:"id" v:"required" dc:"预警ID"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// DeleteInventoryWarningRes 删除库存预警响应
|
|||
|
|
type DeleteInventoryWarningRes struct {
|
|||
|
|
Id *bson.ObjectID `json:"id" dc:"预警ID"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// GetInventoryWarningReq 获取库存预警详情请求
|
|||
|
|
type GetInventoryWarningReq struct {
|
|||
|
|
g.Meta `path:"/getInventoryWarning" method:"get" tags:"库存预警管理" summary:"获取库存预警详情" dc:"获取库存预警详情"`
|
|||
|
|
Id *bson.ObjectID `json:"id" v:"required" dc:"预警ID"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// GetInventoryWarningRes 获取库存预警详情响应
|
|||
|
|
type GetInventoryWarningRes struct {
|
|||
|
|
Id *bson.ObjectID `json:"id" dc:"预警ID"`
|
|||
|
|
WarningType stock.WarningType `json:"warningType" dc:"预警类型"`
|
|||
|
|
WarningTypeText string `json:"warningTypeText" dc:"预警类型文本"`
|
|||
|
|
BatchID *bson.ObjectID `json:"batchId" 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名称"`
|
|||
|
|
SupplierID *bson.ObjectID `json:"supplierId" dc:"关联供应商ID"`
|
|||
|
|
SupplierName string `json:"supplierName" dc:"供应商名称"`
|
|||
|
|
BatchNo string `json:"batchNo" dc:"批次号"`
|
|||
|
|
BatchQty int `json:"batchQty" dc:"批次数量"`
|
|||
|
|
AvailableQty int `json:"availableQty" dc:"可用数量"`
|
|||
|
|
ProductionDate *gtime.Time `json:"productionDate" dc:"生产日期"`
|
|||
|
|
ExpiryDate *gtime.Time `json:"expiryDate" dc:"过期日期"`
|
|||
|
|
ExpiryWarningDate *gtime.Time `json:"expiryWarningDate" dc:"临期预警时间"`
|
|||
|
|
MinStockThreshold int `json:"minStockThreshold" dc:"最低库存阈值"`
|
|||
|
|
Status stock.ExpiryMessageStatus `json:"status" dc:"消息状态"`
|
|||
|
|
StatusText string `json:"statusText" dc:"状态文本"`
|
|||
|
|
ProcessedAt *gtime.Time `json:"processedAt" dc:"处理时间"`
|
|||
|
|
Processor string `json:"processor" dc:"处理人"`
|
|||
|
|
ProcessorName string `json:"processorName" dc:"处理人名称"`
|
|||
|
|
ProcessNote string `json:"processNote" dc:"处理备注"`
|
|||
|
|
ProcessMethod *stock.ExpiryProcessMethod `json:"processMethod" dc:"处理方式"`
|
|||
|
|
ProcessMethodText string `json:"processMethodText" dc:"处理方式文本"`
|
|||
|
|
PromotionPlanID string `json:"promotionPlanId" dc:"促销方案ID"`
|
|||
|
|
SupportsRecycle bool `json:"supportsRecycle" dc:"是否支持回收"`
|
|||
|
|
Notes string `json:"notes" dc:"备注"`
|
|||
|
|
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
|
|||
|
|
UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// ListInventoryWarningReq 获取库存预警列表请求
|
|||
|
|
type ListInventoryWarningReq struct {
|
|||
|
|
g.Meta `path:"/listInventoryWarnings" method:"get" tags:"库存预警管理" summary:"获取库存预警列表" dc:"分页查询库存预警列表"`
|
|||
|
|
*beans.Page
|
|||
|
|
OrderBy []beans.OrderBy `json:"orderBy" dc:"排序规则"`
|
|||
|
|
|
|||
|
|
WarningType *stock.WarningType `json:"warningType" dc:"预警类型"`
|
|||
|
|
|
|||
|
|
BatchID string `json:"batchId" dc:"关联批次ID(单个,兼容旧版)"`
|
|||
|
|
BatchIDs []string `json:"batchIds" dc:"批次ID列表(批量查询)"`
|
|||
|
|
AssetID string `json:"assetId" dc:"关联资产ID(单个,兼容旧版)"`
|
|||
|
|
AssetIDs []string `json:"assetIds" dc:"资产ID列表(批量查询)"`
|
|||
|
|
AssetSkuID string `json:"assetSkuId" dc:"关联资产SKU ID(单个,兼容旧版)"`
|
|||
|
|
AssetSkuIDs []string `json:"assetSkuIds" dc:"资产SKU ID列表(批量查询)"`
|
|||
|
|
SupplierID string `json:"supplierId" dc:"关联供应商ID(单个,兼容旧版)"`
|
|||
|
|
SupplierIDs []string `json:"supplierIds" dc:"供应商ID列表(批量查询)"`
|
|||
|
|
|
|||
|
|
Status *stock.ExpiryMessageStatus `json:"status" dc:"消息状态"`
|
|||
|
|
|
|||
|
|
ProcessMethod *stock.ExpiryProcessMethod `json:"processMethod" dc:"处理方式"`
|
|||
|
|
|
|||
|
|
SupportsRecycle *bool `json:"supportsRecycle" dc:"是否支持回收"`
|
|||
|
|
StartDate string `json:"startDate" dc:"开始日期"`
|
|||
|
|
EndDate string `json:"endDate" dc:"结束日期"`
|
|||
|
|
Keyword string `json:"keyword" dc:"关键词搜索(批次号/备注)"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// ListInventoryWarningRes 获取库存预警列表响应
|
|||
|
|
type ListInventoryWarningRes struct {
|
|||
|
|
List []InventoryWarningListItem `json:"list" dc:"库存预警列表"`
|
|||
|
|
Total int64 `json:"total" dc:"总数"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// InventoryWarningListItem 库存预警列表项
|
|||
|
|
type InventoryWarningListItem struct {
|
|||
|
|
Id *bson.ObjectID `json:"id" dc:"预警ID"`
|
|||
|
|
WarningType stock.WarningType `json:"warningType" dc:"预警类型"`
|
|||
|
|
WarningTypeText string `json:"warningTypeText" dc:"预警类型文本"`
|
|||
|
|
BatchID *bson.ObjectID `json:"batchId" dc:"关联批次ID"`
|
|||
|
|
BatchNo string `json:"batchNo" 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名称"`
|
|||
|
|
SupplierID *bson.ObjectID `json:"supplierId" dc:"关联供应商ID"`
|
|||
|
|
SupplierName string `json:"supplierName" dc:"供应商名称"`
|
|||
|
|
BatchQty int `json:"batchQty" dc:"批次数量"`
|
|||
|
|
AvailableQty int `json:"availableQty" dc:"可用数量"`
|
|||
|
|
ProductionDate *gtime.Time `json:"productionDate" dc:"生产日期"`
|
|||
|
|
ExpiryDate *gtime.Time `json:"expiryDate" dc:"过期日期"`
|
|||
|
|
MinStockThreshold int `json:"minStockThreshold" dc:"最低库存阈值"`
|
|||
|
|
Status stock.ExpiryMessageStatus `json:"status" dc:"消息状态"`
|
|||
|
|
StatusText string `json:"statusText" dc:"状态文本"`
|
|||
|
|
ProcessedAt *gtime.Time `json:"processedAt" dc:"处理时间"`
|
|||
|
|
Processor string `json:"processor" dc:"处理人"`
|
|||
|
|
ProcessorName string `json:"processorName" dc:"处理人名称"`
|
|||
|
|
ProcessMethod *stock.ExpiryProcessMethod `json:"processMethod" dc:"处理方式"`
|
|||
|
|
ProcessMethodText string `json:"processMethodText" dc:"处理方式文本"`
|
|||
|
|
SupportsRecycle bool `json:"supportsRecycle" dc:"是否支持回收"`
|
|||
|
|
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// ProcessInventoryWarningReq 处理库存预警请求
|
|||
|
|
type ProcessInventoryWarningReq struct {
|
|||
|
|
g.Meta `path:"/processInventoryWarning" method:"post" tags:"库存预警管理" summary:"处理库存预警" dc:"处理库存预警"`
|
|||
|
|
|
|||
|
|
Id *bson.ObjectID `json:"id" v:"required" dc:"预警ID"`
|
|||
|
|
|
|||
|
|
Status stock.ExpiryMessageStatus `json:"status" v:"required" dc:"处理状态"`
|
|||
|
|
Processor string `json:"processor" v:"required" dc:"处理人"`
|
|||
|
|
ProcessNote string `json:"processNote" dc:"处理备注"`
|
|||
|
|
ProcessMethod *stock.ExpiryProcessMethod `json:"processMethod" dc:"处理方式"`
|
|||
|
|
PromotionPlanID string `json:"promotionPlanId" dc:"促销方案ID"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// ProcessInventoryWarningRes 处理库存预警响应
|
|||
|
|
type ProcessInventoryWarningRes struct {
|
|||
|
|
Id *bson.ObjectID `json:"id" dc:"预警ID"`
|
|||
|
|
}
|