zhangqian
2024-07-04 c950586b718ae6fc198bedf424609a4ac94cb5d1
request/operation.go
@@ -6,55 +6,114 @@
)
type AddOperation struct {
   Id              int                      `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
   Number          string                   `json:"number" gorm:"column:number;type:varchar(255)"`           //单号
   SourceNumber    string                   `json:"sourceNumber" gorm:"type:varchar(255)"`                   //源单号
   OperationTypeId int                      `json:"operationTypeId" gorm:"type:int;not null;comment:作业类型id"` //作业类型id
   Status          constvar.OperationStatus `json:"status" gorm:"type:int(11);not null;comment:状态"`          //状态
   FromLocationId  int                      `json:"fromLocationId"   gorm:"type:int;not null;comment:源位置id"` //源位置id
   ToLocationId    int                      `json:"toLocationId"    gorm:"type:int;not null;comment:目标位置id"` //目标位置id
   OperationDate   string                   `json:"operationDate" gorm:"type:varchar(31);comment:安排日期"`
   Details         []*OperationDetails      `json:"details"`
   CarrierID       int                      `json:"carrierID" gorm:"type:int;comment:承运商ID"`
   CarrierName     string                   `json:"carrierName" gorm:"type:varchar(63);comment:承运商名称"`
   Tracking        string                   `json:"tracking" gorm:"type:varchar(127);comment:追踪参考"`
   ContacterID     int                      `json:"contacterID" gorm:"type:int;comment:联系人ID"`
   ContacterName   string                   `json:"contacterName" gorm:"type:varchar(63);comment:联系人姓名"`
   Weight          decimal.Decimal          `json:"weight" gorm:"type:decimal(20,2);comment:重量(kg)"`
   TransferWeight  decimal.Decimal          `json:"transferWeight" gorm:"type:decimal(20,2);comment:物流重量(kg)"`
   CompanyID       int                      `json:"companyID" gorm:"type:int;comment:公司ID"`
   CompanyName     string                   `json:"companyName" gorm:"type:varchar(127);comment:公司名称(kg)"`
   ID                int                      `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
   Number            string                   `json:"number" gorm:"column:number;type:varchar(255)"`             //单号
   SourceNumber      string                   `json:"sourceNumber" gorm:"type:varchar(255)"`                     //源单号
   OperationTypeId   int                      `json:"operationTypeId" gorm:"type:int;not null;comment:作业类型id"`   //作业类型id
   OperationTypeName string                   `json:"operationTypeName" gorm:"type:varchar(127);comment:作业类型名称"` //作业类型名称
   Status            constvar.OperationStatus `json:"status" gorm:"type:int(11);not null;comment:状态"`            //状态
   //FromLocationId    int                      `json:"fromLocationId"   gorm:"type:int;not null;comment:源位置id"`   //源位置id
   //ToLocationId      int                      `json:"toLocationId"    gorm:"type:int;not null;comment:目标位置id"`   //目标位置id
   OperationDate       string                     `json:"operationDate" gorm:"type:varchar(31);comment:安排日期"` //安排日期
   Details             []*OperationDetails        `json:"details"`
   ContacterID         int                        `json:"contacterID" gorm:"type:int;comment:联系人ID"`           //联系人ID-非必填
   ContacterName       string                     `json:"contacterName" gorm:"type:varchar(63);comment:联系人姓名"` //联系人姓名-非必填
   CompanyID           string                     `json:"companyID"`                                           //公司ID-客户
   CompanyName         string                     `json:"companyName" gorm:"type:varchar(127);comment:公司名称"`   //公司名称-客户名称
   Comment             string                     `json:"comment" gorm:"type:text;comment:备注"`                 //备注
   LogisticCompanyId   string                     `json:"logisticCompanyId"   gorm:"type:varchar(191);comment:物流公司id"`
   WaybillNumber       string                     `json:"waybillNumber" gorm:"type:varchar(255);comment:运单号"`    //运单号
   Weight              decimal.Decimal            `gorm:"type:decimal(20,2);comment:重量" json:"weight"`           //重量
   LogisticWeight      decimal.Decimal            `gorm:"type:decimal(20,2);comment:物流重量" json:"logisticWeight"` //物流重量
   ReceiverName        string                     `json:"receiverName" gorm:"type:varchar(31);comment:收货人姓名"`
   ReceiverPhone       string                     `json:"receiverPhone" gorm:"type:varchar(31);comment:联系电话"`
   ReceiverAddr        string                     `json:"receiverAddr" gorm:"type:varchar(255);comment:收货地址"`
   LocationId          int                        `json:"locationId"   gorm:"type:int;not null;comment:源位置id"`     //源位置id
   ToLocationId        int                        `json:"toLocationId"    gorm:"type:int;not null;comment:仓库位置id"` //目标位置id
   ManagerId           string                     `json:"managerId" gorm:"type:varchar(255);comment:主管id"`
   Manager             string                     `json:"manager" gorm:"type:varchar(255);comment:主管名称"`
   AccountantId        string                     `json:"accountantId" gorm:"type:varchar(255);comment:会计id"`
   Accountant          string                     `json:"accountant" gorm:"type:varchar(255);comment:会计名称"`
   CustodianId         string                     `json:"custodianId" gorm:"type:varchar(255);comment:保管员id"`
   Custodian           string                     `json:"custodian" gorm:"type:varchar(255);comment:保管员名称"`
   BaseOperationType   constvar.BaseOperationType `json:"baseOperationType" gorm:"type:tinyint;not null;comment:基础作业类型"` //基础作业类型 5库存盘点
   WarehouseId         int                        `json:"warehouseId" gorm:"type:int;not null;comment:仓库id"`             //仓库id
   InventoryDealerType int                        `json:"inventoryDealerType" gorm:"type:varchar(255);comment:调拨出入库分类(对应dict字典表的ID)"`
}
type OperationDetails struct {
   ProductId      int             `json:"productId" gorm:"type:int;not null;comment:产品id"`              //产品id
   ProductName    string          `json:"productName" gorm:"type:varchar(255);not null;comment:产品名称"`   //产品名称
   Quantity       decimal.Decimal `json:"quantity" gorm:"type:decimal(20,2);not null;comment:数量"`       //数量
   FinishQuantity decimal.Decimal `json:"finishQuantity" gorm:"type:decimal(20,2);not null;comment:数量"` //完成数量
   OperationId int    `json:"OperationId" gorm:"type:int;not null;comment:操作记录id"`      //操作id
   ProductId   string `json:"productId" gorm:"type:varchar(191);not null;comment:产品id"` //产品id
   //ProductName string          `json:"productName" gorm:"type:varchar(255);not null;comment:产品名称"` //产品名称
   Amount decimal.Decimal `json:"amount" gorm:"type:decimal(20,2);not null;comment:数量"` //数量
   //Unit        string          `json:"unit" gorm:"type:varchar(31);comment:单位"`                    //单位
   //Product models.Material `json:"product" gorm:"foreignKey:ProductId;references:ID"`
   FromLocationId   int             `json:"fromLocationId"   gorm:"type:int;not null;comment:源位置id"` //源位置id
   ToLocationId     int             `json:"toLocationId"    gorm:"type:int;not null;comment:目标位置id"` //目标位置id
   TotalGrossWeight decimal.Decimal `json:"totalGrossWeight" gorm:"type:decimal(20,3);comment:总毛重"`  //总毛重
   TotalNetWeight   decimal.Decimal `json:"totalNetWeight" gorm:"type:decimal(20,3);comment:总净重"`    //总净重
   AuxiliaryAmount  decimal.Decimal `json:"auxiliaryAmount" gorm:"type:decimal(20,3);comment:辅助数量"`  //辅助数量
   AuxiliaryUnit    string          `json:"auxiliaryUnit" gorm:"type:varchar(191);comment:辅助单位"`     //辅助单位
   Remark           string          `gorm:"type:varchar(1024);comment:备注" json:"remark"`
   Cost      decimal.Decimal `json:"cost"`      //成本单价
   SalePrice decimal.Decimal `json:"salePrice"` //销售单价
}
type OperationList struct {
   PageInfo
   OperationTypeId int `json:"operationTypeId" form:"operationTypeId"`
   OperationTypeId   int                        `json:"operationTypeId" form:"operationTypeId"`
   BaseOperationType constvar.BaseOperationType `json:"baseOperationType"` // 1 入库 2 出库 3 内部调拨 4 报废 5 库存盘点
   Number            string                     `json:"number"`
   Status            constvar.OperationStatus   `json:"status"`
}
type UpdateOperation struct {
   Id              int                      `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
   Number          string                   `json:"number" gorm:"column:number;type:varchar(255)"`           //单号
   SourceNumber    string                   `json:"sourceNumber" gorm:"type:varchar(255)"`                   //源单号
   OperationTypeId int                      `json:"operationTypeId" gorm:"type:int;not null;comment:作业类型id"` //作业类型id
   Status          constvar.OperationStatus `json:"status" gorm:"type:int(11);not null;comment:状态"`          //状态
   FromLocationId  int                      `json:"fromLocationId"   gorm:"type:int;not null;comment:源位置id"` //源位置id
   ToLocationId    int                      `json:"toLocationId"    gorm:"type:int;not null;comment:目标位置id"` //目标位置id
   OperationDate   string                   `json:"operationDate" gorm:"type:varchar(31);comment:安排日期"`
   Details         []*OperationDetails      `json:"details"`
   CarrierID       int                      `json:"carrierID" gorm:"type:int;comment:承运商ID"`
   CarrierName     string                   `json:"carrierName" gorm:"type:varchar(63);comment:承运商名称"`
   Tracking        string                   `json:"tracking" gorm:"type:varchar(127);comment:追踪参考"`
   ContacterID     int                      `json:"contacterID" gorm:"type:int;comment:联系人ID"`
   ContacterName   string                   `json:"contacterName" gorm:"type:varchar(63);comment:联系人姓名"`
   Weight          decimal.Decimal          `json:"weight" gorm:"type:decimal(20,2);comment:重量(kg)"`
   TransferWeight  decimal.Decimal          `json:"transferWeight" gorm:"type:decimal(20,2);comment:物流重量(kg)"`
   CompanyID       int                      `json:"companyID" gorm:"type:int;comment:公司ID"`
   CompanyName     string                   `json:"companyName" gorm:"type:varchar(127);comment:公司名称(kg)"`
   ID                int                      `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
   Number            string                   `json:"number" gorm:"column:number;type:varchar(255)"`             //单号
   SourceNumber      string                   `json:"sourceNumber" gorm:"type:varchar(255)"`                     //源单号
   OperationTypeId   int                      `json:"operationTypeId" gorm:"type:int;not null;comment:作业类型id"`   //作业类型id
   OperationTypeName string                   `json:"operationTypeName" gorm:"type:varchar(127);comment:作业类型名称"` //作业类型名称
   Status            constvar.OperationStatus `json:"status" gorm:"type:int(11);not null;comment:状态"`            //状态
   //FromLocationId    int                        `json:"fromLocationId"   gorm:"type:int;not null;comment:源位置id"`   //源位置id
   //ToLocationId      int                        `json:"toLocationId"    gorm:"type:int;not null;comment:目标位置id"`   //目标位置id
   OperationDate       string                     `json:"operationDate" gorm:"type:varchar(31);comment:安排日期"` //安排日期
   Details             []*OperationDetails        `json:"details"`
   ContacterID         int                        `json:"contacterID" gorm:"type:int;comment:联系人ID"`           //联系人ID-非必填
   ContacterName       string                     `json:"contacterName" gorm:"type:varchar(63);comment:联系人姓名"` //联系人姓名-非必填
   CompanyID           string                     `json:"companyID"`                                           //公司ID-客户
   CompanyName         string                     `json:"companyName" gorm:"type:varchar(127);comment:公司名称"`   //公司名称-客户名称
   Comment             string                     `json:"comment" gorm:"type:text;comment:备注"`                 //备注
   BaseOperationType   constvar.BaseOperationType `json:"baseOperationType"`                                   //基础作业类型
   LogisticCompanyId   string                     `json:"logisticCompanyId"   gorm:"type:varchar(191);comment:物流公司id"`
   WaybillNumber       string                     `json:"waybillNumber" gorm:"type:varchar(255);comment:运单号"`    //运单号
   Weight              decimal.Decimal            `gorm:"type:decimal(20,2);comment:重量" json:"weight"`           //重量
   LogisticWeight      decimal.Decimal            `gorm:"type:decimal(20,2);comment:物流重量" json:"logisticWeight"` //物流重量
   ReceiverName        string                     `json:"receiverName" gorm:"type:varchar(31);comment:收货人姓名"`
   ReceiverPhone       string                     `json:"receiverPhone" gorm:"type:varchar(31);comment:联系电话"`
   ReceiverAddr        string                     `json:"receiverAddr" gorm:"type:varchar(255);comment:收货地址"`
   LocationId          int                        `json:"locationId"   gorm:"type:int;not null;comment:源位置id"`     //源位置id
   ToLocationId        int                        `json:"toLocationId"    gorm:"type:int;not null;comment:仓库位置id"` //目标位置id
   ManagerId           string                     `json:"managerId" gorm:"type:varchar(255);comment:主管id"`
   Manager             string                     `json:"manager" gorm:"type:varchar(255);comment:主管名称"`
   AccountantId        string                     `json:"accountantId" gorm:"type:varchar(255);comment:会计id"`
   Accountant          string                     `json:"accountant" gorm:"type:varchar(255);comment:会计名称"`
   CustodianId         string                     `json:"custodianId" gorm:"type:varchar(255);comment:保管员id"`
   Custodian           string                     `json:"custodian" gorm:"type:varchar(255);comment:保管员名称"`
   WarehouseId         int                        `json:"warehouseId" gorm:"type:int;not null;comment:仓库id"` //仓库id
   InventoryDealerType int                        `json:"inventoryDealerType" gorm:"type:varchar(255);comment:调拨出入库分类(对应dict字典表的ID)"`
}
type OperationAllList struct {
   PageInfo
   Number       string `json:"number"`
   SourceNumber string `json:"sourceNumber"`
}
type OperationCondition struct {
   PageInfo
   Condition   string `json:"condition"`
   Keyword     string `json:"keyword" form:"keyword"`         //关键字搜索
   WarehouseId int    `json:"warehouseId" form:"warehouseId"` //仓库ID
   LocationId  int    `json:"locationId" form:"locationId"`   //位置ID
}