liujiandao
2023-11-21 4c182b863d4766bae67ef421f097af8f97626774
proto/purchase_wms/server.go
@@ -69,8 +69,14 @@
   var purchaseRecord purchase.Purchase
   purchaseRecord.PurchaseTypeId = int(pt.ID)
   purchaseRecord.SupplierId = int(req.SupplierId)
   purchaseRecord.OrderSource = "WMS推送"
   purchaseRecord.Name = "WMS补货"
   if req.Source == "WMS" {
      purchaseRecord.OrderSource = "WMS推送"
      purchaseRecord.Name = "WMS补货"
   } else if req.Source == "APS" {
      purchaseRecord.OrderSource = "APS推送"
      purchaseRecord.Name = "APS采购"
   }
   purchaseRecord.ID = 0
   purchaseRecord.Status = purchase.OrderStatusConfirmed
   purchaseRecord.HandledBy = "admin"
@@ -89,7 +95,11 @@
   pp.Amount = purchaseRecord.Quantity
   pp.Price = decimal.NewFromFloat(product.PurchasePrice)
   pp.Total = purchaseRecord.TotalPrice
   pp.Remark = "WMS补货"
   if req.Source == "WMS" {
      pp.Remark = "WMS补货"
   } else if req.Source == "APS" {
      pp.Remark = "APS采购"
   }
   err = global.GVA_DB.Transaction(func(tx *gorm.DB) error {
      err = tx.Create(&purchaseRecord).Error
@@ -106,3 +116,27 @@
   resp.PurchaseNumber = purchaseRecord.Number
   return resp, nil
}
func (s *Server) GetPurchaseInfo(ctx context.Context, req *GetPurchaseInfoRequest) (*GetPurchaseInfoResponse, error) {
   if len(req.PurchaseNumbers) == 0 {
      return nil, errors.New("采购单编码不能为空")
   }
   var ps []purchase.Purchase
   err := global.GVA_DB.Model(&purchase.Purchase{}).Where("number in (?)", req.PurchaseNumbers).Preload("Supplier").Find(&ps).Error
   if err != nil {
      return nil, err
   }
   infos := make([]*PurchaseInfo, 0)
   for _, p := range ps {
      var info PurchaseInfo
      info.PurchaseNumber = p.Number
      info.PurchaseName = p.Name
      info.SupplierName = p.Supplier.Name
      info.Amount = p.Quantity.IntPart()
      info.Status = int64(p.Status)
      infos = append(infos, &info)
   }
   resp := new(GetPurchaseInfoResponse)
   resp.Infos = infos
   return resp, nil
}