zhangqian
2024-03-28 c7e82fd1d76b9fb25497d5aba4372bbfe13a8468
model/purchase/request/purchase.go
@@ -4,13 +4,11 @@
   "github.com/shopspring/decimal"
   "srm/model/common/request"
   "srm/model/purchase"
   "time"
)
type PurchaseSearch struct {
   StartCreatedAt *time.Time `json:"startCreatedAt" form:"startCreatedAt"`
   EndCreatedAt   *time.Time `json:"endCreatedAt" form:"endCreatedAt"`
   request.PageInfo
   SupplierId int `json:"supplierId" form:"supplierId" gorm:"type:int(11);not null;default 0;comment:供应商id"` // 供应商id
}
type AddPurchase struct {
@@ -23,23 +21,60 @@
   ProductList []*purchase.PurchaseProducts `json:"productList"`
}
type SubmitPurchase struct {
   Id     int                  `json:"id"`
   Status purchase.OrderStatus `json:"status"`
}
type Purchase struct {
   ID                  uint                         `gorm:"primarykey"`                                                                                                // 主键ID
   PurchaseTypeId      int                          `json:"purchaseTypeId" form:"purchaseType" gorm:"type:int(11);not null;default 0;comment:采购类型id"`                  // 采购类型id
   SupplierId          int                          `json:"supplierId" form:"supplierId" gorm:"type:int(11);not null;default 0;comment:供应商id"`                         // 供应商id
   Number              string                       `json:"number" form:"number" gorm:"unique;type:varchar(255);not null;default '';comment:采购编号"`                     // 采购编号
   Name                string                       `json:"name" form:"name" gorm:"type:varchar(255);not null;default '';comment:采购名称"`                                // 采购名称
   Contact             string                       `json:"contact" form:"contact" gorm:"type:varchar(255);not null;default '';comment:联系人"`                           // 联系人
   Phone               string                       `json:"phone" form:"phone" gorm:"type:varchar(255);not null;default '';comment:联系人电话"`                             // 联系人电话
   SigningDate         string                       `json:"signingDate" form:"signingDate" gorm:"type:varchar(255);not null;default '';comment:签约日期"`                  // 签约日期
   DeliveryDate        string                       `json:"deliveryDate" form:"deliveryDate" gorm:"type:varchar(255);not null;default '';comment:交付日期"`                //交付日期
   Remark              string                       `json:"remark" form:"remark" gorm:"type:varchar(1000);not null;default '';comment:备注"`                             //备注
   Status              purchase.OrderStatus         `json:"status" form:"status" gorm:"type:tinyint(1);not null;default 0;comment:状态"`                                 //状态
   Quantity            decimal.Decimal              `json:"quantity" form:"quantity" gorm:"type:decimal(12,4);not null;comment:采购数量"`                                  // 采购数量
   TotalPrice          decimal.Decimal              `json:"totalPrice" form:"totalPrice" gorm:"type:decimal(12,2);not null;default '';comment:价税合计"`                   //价税合计
   WholeDiscountType   purchase.WholeDiscountType   `json:"wholeDiscountType" form:"wholeDiscountType" gorm:"type:decimal(12,2);not null;default '';comment:整单折扣"`     //整单折扣类型
   WholeDiscount       decimal.Decimal              `json:"wholeDiscount" form:"wholeDiscount" gorm:"type:decimal(12,2);not null;default '';comment:整单折扣"`             //整单折扣值
   PriceAdjustmentType purchase.PriceAdjustmentType `json:"priceAdjustmentType" form:"priceAdjustmentType" gorm:"type:decimal(12,2);not null;default '';comment:价格调整"` //价格调整类型
   PriceAdjustment     decimal.Decimal              `json:"priceAdjustment" form:"priceAdjustment" gorm:"type:decimal(12,2);not null;default '';comment:价格调整"`         //价格调整值
   RealTotalPrice      decimal.Decimal              `json:"realTotalPrice" form:"realTotalPrice" gorm:"type:decimal(12,2);not null;default '';comment:最终价格"`           //最终价格
   ID                  uint                         `json:"id,string" gorm:"primarykey"`                                                                                // 主键ID
   PurchaseTypeId      int                          `json:"purchaseTypeId,string" form:"purchaseType" gorm:"type:int(11);not null;default 0;comment:采购类型id"`            // 采购类型id
   SupplierId          int                          `json:"supplierId,string" form:"supplierId" gorm:"type:int(11);not null;default 0;comment:供应商id"`                   // 供应商id
   OrderSource         string                       `json:"orderSource" gorm:"type:varchar(255);not null;default '';comment:单据来源"`                                      // 单据来源
   Number              string                       `json:"number" form:"number" gorm:"unique;type:varchar(255);not null;default '';comment:采购编号"`                      // 采购编号
   Name                string                       `json:"name" form:"name" gorm:"type:varchar(255);not null;default '';comment:采购名称"`                                 // 采购名称
   Contact             string                       `json:"contact" form:"contact" gorm:"type:varchar(255);not null;default '';comment:联系人"`                            // 联系人
   Phone               string                       `json:"phone" form:"phone" gorm:"type:varchar(255);not null;default '';comment:联系人电话"`                              // 联系人电话
   SigningDate         string                       `json:"signingDate" form:"signingDate" gorm:"type:varchar(255);not null;default '';comment:签约日期"`                   // 签约日期
   DeliveryDate        string                       `json:"deliveryDate" form:"deliveryDate" gorm:"type:varchar(255);not null;default '';comment:交付日期"`                 //交付日期
   Remark              string                       `json:"remark" form:"remark" gorm:"type:varchar(1000);not null;default '';comment:备注"`                              //备注
   Status              purchase.OrderStatus         `json:"status" form:"status" gorm:"type:tinyint(1);not null;default 0;comment:状态"`                                  //状态
   Quantity            decimal.Decimal              `json:"quantity" form:"quantity" gorm:"type:decimal(12,2);not null;default 0;comment:采购数量"`                         // 采购数量
   TotalPrice          decimal.Decimal              `json:"totalPrice" form:"totalPrice" gorm:"type:decimal(12,2);not null;default 0.00;comment:价税合计"`                  //价税合计
   WholeDiscountType   purchase.WholeDiscountType   `json:"wholeDiscountType" form:"wholeDiscountType" gorm:"type:decimal(12,2);not null;default 0.00;comment:整单折扣"`    //整单折扣类型
   WholeDiscount       decimal.Decimal              `json:"wholeDiscount" form:"wholeDiscount" gorm:"type:decimal(12,2);not null;default 0;comment:整单折扣"`               //整单折扣值
   PriceAdjustmentType purchase.PriceAdjustmentType `json:"priceAdjustmentType" form:"priceAdjustmentType" gorm:"type:decimal(12,2);not null;default 0;comment:价格调整类型"` //价格调整类型
   PriceAdjustment     decimal.Decimal              `json:"priceAdjustment" form:"priceAdjustment" gorm:"type:decimal(12,2);not null;default 0.00;comment:价格调整"`        //价格调整值
   RealTotalPrice      decimal.Decimal              `json:"realTotalPrice" form:"realTotalPrice" gorm:"type:decimal(12,2);not null;default 0.00;comment:最终价格"`          //最终价格
   Warehouse           string                       `json:"warehouse" form:"warehouse" gorm:"type:varchar(255);not null;default '';comment:收货仓库"`                       //收货仓库
   WarehouseAddress    string                       `json:"warehouseAddress" form:"warehouseAddress" gorm:"type:varchar(512);default '';comment:收货仓库地址"`                //收货仓库地址
   Principal           string                       `json:"principal" form:"principal" gorm:"type:varchar(255);not null;default '';comment:仓库负责人"`                      //仓库负责人
   SourceOrder         string                       `json:"sourceOrder" gorm:"type:varchar(255);comment:来源单据"`                                                          //来源单据
}
type PurchaseProductConfirmInfo struct {
   PurchaseNumber       string          `json:"purchaseNumber" gorm:"type:varchar(255);comment:采购单编号"`
   ProductId            string          `json:"productId"  gorm:"type:varchar(255);comment:产品编码"`
   ProductName          string          `json:"productName"  gorm:"type:varchar(255);comment:产品名"`
   Principal            string          `json:"principal" gorm:"type:varchar(255);comment:收货人"`
   Unit                 string          `json:"unit" gorm:"type:varchar(255);comment:计量单位"`
   Specs                string          `json:"specs" gorm:"type:varchar(255);comment:规格"`
   Type                 string          `json:"type" gorm:"type:varchar(255);comment:型号"`
   Amount               decimal.Decimal `json:"amount" gorm:"type:decimal(12,4);not null;comment:采购数量"`
   OverReceiveAmount    decimal.Decimal `json:"overReceiveAmount" gorm:"type:decimal(12,4);comment:已收货数量"`
   NotReceiveAmount     decimal.Decimal `json:"notReceiveAmount" gorm:"type:decimal(12,4);comment:未收货数量"`
   NowReceiveAmount     decimal.Decimal `json:"nowReceiveAmount" gorm:"type:decimal(12,4);comment:本次收货数量"`
   SurplusReceiveAmount decimal.Decimal `json:"surplusReceiveAmount" gorm:"type:decimal(12,4);comment:剩余收货数量"`
}
type GetQualityInspectionInfo struct {
   PurchaseNumber string   `json:"purchaseNumber"`
   Status         []int    `json:"status"`
   Times          []string `json:"times"`
}
type SaveQualityInspectionInfo struct {
   PurchaseId uint  `json:"purchaseId"`
   Ids        []int `json:"ids"`
   Status     int   `json:"status"`
}