137 lines
7.5 KiB
Go
137 lines
7.5 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"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// CreateLocationReq 创建库位请求
|
|||
|
|
type CreateLocationReq struct {
|
|||
|
|
g.Meta `path:"/createLocation" method:"post" tags:"库位管理" summary:"创建库位" dc:"创建新的库位"`
|
|||
|
|
WarehouseId string `json:"warehouseId" v:"required" dc:"仓库ID"`
|
|||
|
|
ZoneId string `json:"zoneId" v:"required" dc:"库区ID"`
|
|||
|
|
LocationCode string `json:"locationCode" v:"required|max-length:50#库位编码不能为空|库位编码不能超过50个字符" dc:"库位编码"`
|
|||
|
|
LocationName string `json:"locationName" v:"required|max-length:100#库位名称不能为空|库位名称不能超过100个字符" dc:"库位名称"`
|
|||
|
|
LocationType stock.LocationType `json:"locationType" v:"required" dc:"库位类型"`
|
|||
|
|
CapacityUnitType stock.CapacityUnitType `json:"capacityUnitType" v:"required" dc:"容量单位类型"`
|
|||
|
|
CapacityUnit string `json:"capacityUnit" v:"required" dc:"容量单位(如箱、托盘)"`
|
|||
|
|
MaxCapacity int `json:"maxCapacity" v:"required|min:1#最大容量不能为空|最大容量必须大于0" dc:"最大容量"`
|
|||
|
|
Status *stock.LocationStatus `json:"status" dc:"库位状态(可选,默认空闲)"`
|
|||
|
|
Remark string `json:"remark" dc:"备注"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// CreateLocationRes 创建库位响应
|
|||
|
|
type CreateLocationRes struct {
|
|||
|
|
Id *bson.ObjectID `json:"id" dc:"库位ID"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// UpdateLocationReq 更新库位请求
|
|||
|
|
type UpdateLocationReq struct {
|
|||
|
|
g.Meta `path:"/updateLocation" method:"put" tags:"库位管理" summary:"更新库位" dc:"更新库位信息"`
|
|||
|
|
Id *bson.ObjectID `json:"id" v:"required" dc:"库位ID"`
|
|||
|
|
WarehouseId string `json:"warehouseId" dc:"仓库ID"`
|
|||
|
|
ZoneId string `json:"zoneId" dc:"库区ID"`
|
|||
|
|
LocationCode string `json:"locationCode" dc:"库位编码"`
|
|||
|
|
LocationName string `json:"locationName" dc:"库位名称"`
|
|||
|
|
LocationType *stock.LocationType `json:"locationType" dc:"库位类型"`
|
|||
|
|
CapacityUnitType *stock.CapacityUnitType `json:"capacityUnitType" dc:"容量单位类型"`
|
|||
|
|
CapacityUnit string `json:"capacityUnit" dc:"容量单位"`
|
|||
|
|
MaxCapacity *int `json:"maxCapacity" dc:"最大容量"`
|
|||
|
|
Status *stock.LocationStatus `json:"status" dc:"库位状态"`
|
|||
|
|
Remark string `json:"remark" dc:"备注"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// UpdateLocationRes 更新库位响应
|
|||
|
|
type UpdateLocationRes struct {
|
|||
|
|
Id *bson.ObjectID `json:"id" dc:"库位ID"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// DeleteLocationReq 删除库位请求
|
|||
|
|
type DeleteLocationReq struct {
|
|||
|
|
g.Meta `path:"/deleteLocation" method:"delete" tags:"库位管理" summary:"删除库位" dc:"删除库位"`
|
|||
|
|
Id *bson.ObjectID `json:"id" v:"required" dc:"库位ID"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// UpdateLocationStatusReq 更新库位状态请求
|
|||
|
|
type UpdateLocationStatusReq struct {
|
|||
|
|
g.Meta `path:"/updateLocationStatus" method:"put" tags:"库位管理" summary:"更新库位状态" dc:"单独更新库位状态(空闲/占用/锁定/维护)"`
|
|||
|
|
Id *bson.ObjectID `json:"id" v:"required" dc:"库位ID"`
|
|||
|
|
Status stock.LocationStatus `json:"status" v:"required|in:idle,occupied,locked,maintenance#状态不能为空|状态值无效" dc:"库位状态"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// DeleteLocationRes 删除库位响应
|
|||
|
|
type DeleteLocationRes struct {
|
|||
|
|
Id *bson.ObjectID `json:"id" dc:"库位ID"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// GetLocationReq 获取库位详情请求
|
|||
|
|
type GetLocationReq struct {
|
|||
|
|
g.Meta `path:"/getLocation" method:"get" tags:"库位管理" summary:"获取库位详情" dc:"获取库位详情"`
|
|||
|
|
Id *bson.ObjectID `json:"id" v:"required" dc:"库位ID"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// GetLocationRes 获取库位详情响应
|
|||
|
|
type GetLocationRes struct {
|
|||
|
|
Id *bson.ObjectID `json:"id" dc:"库位ID"`
|
|||
|
|
WarehouseId *bson.ObjectID `json:"warehouseId" dc:"仓库ID"`
|
|||
|
|
WarehouseName string `json:"warehouseName" dc:"仓库名称"`
|
|||
|
|
ZoneId *bson.ObjectID `json:"zoneId" dc:"库区ID"`
|
|||
|
|
ZoneName string `json:"zoneName" dc:"库区名称"`
|
|||
|
|
LocationCode string `json:"locationCode" dc:"库位编码"`
|
|||
|
|
LocationName string `json:"locationName" dc:"库位名称"`
|
|||
|
|
LocationType stock.LocationType `json:"locationType" dc:"库位类型"`
|
|||
|
|
LocationTypeText string `json:"locationTypeText" dc:"库位类型文本"`
|
|||
|
|
MaxCapacity int `json:"maxCapacity" dc:"最大容量"`
|
|||
|
|
CurrentCapacity int `json:"currentCapacity" dc:"当前容量"`
|
|||
|
|
UsageRate float64 `json:"usageRate" dc:"使用率"`
|
|||
|
|
Status stock.LocationStatus `json:"status" dc:"库位状态"`
|
|||
|
|
StatusText string `json:"statusText" dc:"状态文本"`
|
|||
|
|
Remark string `json:"remark" dc:"备注"`
|
|||
|
|
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
|
|||
|
|
UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// ListLocationReq 获取库位列表请求
|
|||
|
|
type ListLocationReq struct {
|
|||
|
|
g.Meta `path:"/listLocations" method:"get" tags:"库位管理" summary:"获取库位列表" dc:"分页查询库位列表"`
|
|||
|
|
*beans.Page
|
|||
|
|
OrderBy []beans.OrderBy `json:"orderBy" dc:"排序规则"`
|
|||
|
|
WarehouseId string `json:"warehouseId" dc:"仓库ID(单个,兼容旧版)"`
|
|||
|
|
WarehouseIds []string `json:"warehouseIds" dc:"仓库ID列表(批量查询)"`
|
|||
|
|
ZoneId string `json:"zoneId" dc:"库区ID(单个,兼容旧版)"`
|
|||
|
|
ZoneIds []string `json:"zoneIds" dc:"库区ID列表(批量查询)"`
|
|||
|
|
LocationType *stock.LocationType `json:"locationType" dc:"库位类型"`
|
|||
|
|
Status *stock.LocationStatus `json:"status" dc:"库位状态"`
|
|||
|
|
Keyword string `json:"keyword" dc:"关键词搜索(编码/名称)"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// ListLocationRes 获取库位列表响应
|
|||
|
|
type ListLocationRes struct {
|
|||
|
|
List []LocationListItem `json:"list" dc:"库位列表"`
|
|||
|
|
Total int64 `json:"total" dc:"总数"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// LocationListItem 库位列表项
|
|||
|
|
type LocationListItem struct {
|
|||
|
|
Id *bson.ObjectID `json:"id" dc:"库位ID"`
|
|||
|
|
WarehouseId *bson.ObjectID `json:"warehouseId" dc:"仓库ID"`
|
|||
|
|
WarehouseName string `json:"warehouseName" dc:"仓库名称"`
|
|||
|
|
ZoneId *bson.ObjectID `json:"zoneId" dc:"库区ID"`
|
|||
|
|
ZoneName string `json:"zoneName" dc:"库区名称"`
|
|||
|
|
LocationCode string `json:"locationCode" dc:"库位编码"`
|
|||
|
|
LocationName string `json:"locationName" dc:"库位名称"`
|
|||
|
|
LocationType stock.LocationType `json:"locationType" dc:"库位类型"`
|
|||
|
|
LocationTypeText string `json:"locationTypeText" dc:"库位类型文本"`
|
|||
|
|
MaxCapacity int `json:"maxCapacity" dc:"最大容量"`
|
|||
|
|
CurrentCapacity int `json:"currentCapacity" dc:"当前容量"`
|
|||
|
|
UsageRate float64 `json:"usageRate" dc:"使用率"`
|
|||
|
|
Status stock.LocationStatus `json:"status" dc:"库位状态"`
|
|||
|
|
StatusText string `json:"statusText" dc:"状态文本"`
|
|||
|
|
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
|
|||
|
|
UpdatedAt *gtime.Time `json:"updatedAt" dc:"更新时间"`
|
|||
|
|
}
|