| | |
| | | return |
| | | } |
| | | warehouse := "" |
| | | data, err := service.NewPurchaseService().GetPurchase(uint(params.Id)) |
| | | if err != nil { |
| | | global.GVA_LOG.Error("获取失败!", zap.Error(err)) |
| | | response.FailWithMessage("获取失败", c) |
| | | return |
| | | } |
| | | if params.Status == purchase.OrderStatusReceived { |
| | | data, err := service.NewPurchaseService().GetPurchase(uint(params.Id)) |
| | | if err != nil { |
| | | global.GVA_LOG.Error("获取失败!", zap.Error(err)) |
| | | response.FailWithMessage("获取失败", c) |
| | | return |
| | | } |
| | | productList, err := service.NewPurchaseService().GetPurchaseProductList(uint(params.Id)) |
| | | if err != nil { |
| | | global.GVA_LOG.Error("获取失败!", zap.Error(err)) |
| | |
| | | } |
| | | client := purchase_wms.NewPurchaseServiceClient(purchase_wms.PurchaseConn) |
| | | resp, err := client.PurchaseToWms(context.Background(), &purchase_wms.PurchaseToWmsRequest{ |
| | | Number: data.Number, |
| | | SupplierName: data.Supplier.Name, |
| | | Product: product, |
| | | Source: "SRM_PURCHASE", |
| | | Number: data.Number, |
| | | SupplierName: data.Supplier.Name, |
| | | Product: product, |
| | | Source: "SRM_PURCHASE", |
| | | OperationSource: purchase_wms.OperationSource_OperationSourcePurchase, |
| | | SalesDetailsNumber: data.SourceOrder, |
| | | }) |
| | | if err != nil { |
| | | global.GVA_LOG.Error("grpc调用失败!", zap.Error(err)) |
| | |
| | | response.FailWithMessage("参数缺失", c) |
| | | return |
| | | } |
| | | data, err := service.NewPurchaseService().GetPurchase(uint(id)) |
| | | server := service.NewPurchaseService() |
| | | data, err := server.GetPurchase(uint(id)) |
| | | if err != nil { |
| | | global.GVA_LOG.Error("获取失败!", zap.Error(err)) |
| | | response.FailWithMessage("获取失败", c) |
| | | return |
| | | } |
| | | productList, err := service.NewPurchaseService().GetPurchaseProductList(uint(id)) |
| | | productList, err := server.GetPurchaseProductList(uint(id)) |
| | | if err != nil { |
| | | global.GVA_LOG.Error("获取失败!", zap.Error(err)) |
| | | response.FailWithMessage("获取失败", c) |
| | | return |
| | | } |
| | | confirmInfo, err := server.GetPurchaseProductConfirmInfo(data.Number) |
| | | if err != nil { |
| | | global.GVA_LOG.Error("获取失败!", zap.Error(err)) |
| | | response.FailWithMessage("获取失败", c) |
| | |
| | | return |
| | | } |
| | | |
| | | operationInfos := make([]purchaseRes.OperationInfo, 0) |
| | | var operationInfos purchaseRes.OperationInfo |
| | | productInfos := make([]purchaseRes.ProductInfo, 0) |
| | | inWarehouseInfos := make([]purchaseRes.InWarehouseInfo, 0) |
| | | productMap := make(map[string]*purchaseRes.ProductInfo) |
| | | if len(info.Operations) > 0 { |
| | | for _, operation := range info.Operations { |
| | | var oi purchaseRes.OperationInfo |
| | | oi.Number = operation.ProductId |
| | | oi.Name = operation.ProductName |
| | | oi.OperationNumber = operation.Number |
| | | oi.Status = operation.Status |
| | | oi.Principal = data.Principal |
| | | oi.WarehouseName = data.Warehouse |
| | | if operation.OverTime != "" { |
| | | oi.OverTime = operation.OverTime |
| | | oi.OverAmount = operation.Amount |
| | | } else { |
| | | oi.SendAmount = operation.Amount |
| | | var pi purchaseRes.ProductInfo |
| | | var iwi purchaseRes.InWarehouseInfo |
| | | if p, ok := productMap[operation.ProductId]; ok { |
| | | pi = *p |
| | | } |
| | | pi.Number = operation.ProductId |
| | | pi.Name = operation.ProductName |
| | | iwi.Number = operation.ProductId |
| | | iwi.Name = operation.ProductName |
| | | iwi.OperationNumber = operation.Number |
| | | iwi.Status = operation.Status |
| | | iwi.Principal = data.Principal |
| | | iwi.WarehouseName = data.Warehouse |
| | | if operation.OverTime != "" && operation.Status == 4 { |
| | | iwi.OverTime = operation.OverTime |
| | | iwi.OverAmount = operation.Amount |
| | | pi.OverAmount = pi.OverAmount + operation.Amount |
| | | } |
| | | for _, products := range productList { |
| | | if products.Product.Number == operation.ProductId { |
| | | oi.Amount = products.Amount |
| | | oi.PurchasePrice = products.Price |
| | | oi.Total = products.Total |
| | | oi.Unit = products.Product.Unit |
| | | oi.Specifications = products.Product.Specifications |
| | | oi.ModelNumber = products.Product.ModelNumber |
| | | pi.Amount = products.Amount |
| | | pi.PurchasePrice = products.Price |
| | | pi.Total = products.Total |
| | | pi.Unit = products.Product.Unit |
| | | pi.Specifications = products.Product.Specifications |
| | | pi.ModelNumber = products.Product.ModelNumber |
| | | break |
| | | } |
| | | } |
| | | operationInfos = append(operationInfos, oi) |
| | | for _, confirm := range confirmInfo { |
| | | if operation.ProductId == confirm.ProductId { |
| | | pi.SendAmount = confirm.OverReceiveAmount.IntPart() |
| | | break |
| | | } |
| | | } |
| | | inWarehouseInfos = append(inWarehouseInfos, iwi) |
| | | productMap[operation.ProductId] = &pi |
| | | } |
| | | } else { |
| | | for _, products := range productList { |
| | | var oi purchaseRes.OperationInfo |
| | | oi.Number = products.Product.Number |
| | | oi.Name = products.Product.Name |
| | | oi.Amount = products.Amount |
| | | oi.PurchasePrice = products.Price |
| | | oi.Total = products.Total |
| | | oi.Unit = products.Product.Unit |
| | | oi.Specifications = products.Product.Specifications |
| | | oi.ModelNumber = products.Product.ModelNumber |
| | | operationInfos = append(operationInfos, oi) |
| | | var pi purchaseRes.ProductInfo |
| | | pi.Number = products.Product.Number |
| | | pi.Name = products.Product.Name |
| | | pi.Amount = products.Amount |
| | | pi.PurchasePrice = products.Price |
| | | pi.Total = products.Total |
| | | pi.Unit = products.Product.Unit |
| | | pi.Specifications = products.Product.Specifications |
| | | pi.ModelNumber = products.Product.ModelNumber |
| | | for _, confirm := range confirmInfo { |
| | | if products.Product.Number == confirm.ProductId { |
| | | pi.SendAmount = confirm.OverReceiveAmount.IntPart() |
| | | break |
| | | } |
| | | } |
| | | productMap[pi.Number] = &pi |
| | | } |
| | | } |
| | | for _, productInfo := range productMap { |
| | | productInfos = append(productInfos, *productInfo) |
| | | } |
| | | operationInfos.InWarehouseInfos = inWarehouseInfos |
| | | operationInfos.ProductInfos = productInfos |
| | | |
| | | response.OkWithData(operationInfos, c) |
| | | } |
| | |
| | | } |
| | | client := purchase_wms.NewPurchaseServiceClient(purchase_wms.PurchaseConn) |
| | | _, err = client.PurchaseToWms(context.Background(), &purchase_wms.PurchaseToWmsRequest{ |
| | | Number: purchaseData.Number, |
| | | SupplierName: purchaseData.Supplier.Name, |
| | | SupplierId: int64(purchaseData.SupplierId), |
| | | Product: product, |
| | | Source: "SRM_PURCHASE", |
| | | WarehouseName: purchaseData.Warehouse, |
| | | Number: purchaseData.Number, |
| | | SupplierName: purchaseData.Supplier.Name, |
| | | SupplierId: int64(purchaseData.SupplierId), |
| | | Product: product, |
| | | Source: "SRM_PURCHASE", |
| | | WarehouseName: purchaseData.Warehouse, |
| | | OperationSource: purchase_wms.OperationSource_OperationSourcePurchase, |
| | | SalesDetailsNumber: purchaseData.SourceOrder, |
| | | }) |
| | | if err != nil { |
| | | global.GVA_LOG.Error("grpc调用失败!", zap.Error(err)) |
| | |
| | | } |
| | | product := make([]*purchase_wms.PurchaseProduct, 0) |
| | | ids := make([]int, 0) |
| | | productMap := make(map[string]int64) |
| | | for _, inspection := range inspectionList { |
| | | var p purchase_wms.PurchaseProduct |
| | | p.Id = inspection.ProductId |
| | | p.Amount = inspection.Amount.IntPart() |
| | | product = append(product, &p) |
| | | productMap[inspection.ProductId] = inspection.Amount.IntPart() |
| | | ids = append(ids, int(inspection.ID)) |
| | | } |
| | | for k, v := range productMap { |
| | | var p purchase_wms.PurchaseProduct |
| | | p.Id = k |
| | | p.Amount = v |
| | | product = append(product, &p) |
| | | } |
| | | client := purchase_wms.NewPurchaseServiceClient(purchase_wms.PurchaseConn) |
| | | _, err = client.PurchaseToWms(context.Background(), &purchase_wms.PurchaseToWmsRequest{ |
| | | Number: purchaseData.Number, |
| | | SupplierName: purchaseData.Supplier.Name, |
| | | SupplierId: int64(purchaseData.SupplierId), |
| | | Product: product, |
| | | Source: "SRM_PURCHASE", |
| | | WarehouseName: purchaseData.Warehouse, |
| | | Number: purchaseData.Number, |
| | | SupplierName: purchaseData.Supplier.Name, |
| | | SupplierId: int64(purchaseData.SupplierId), |
| | | Product: product, |
| | | Source: "SRM_PURCHASE", |
| | | WarehouseName: purchaseData.Warehouse, |
| | | OperationSource: purchase_wms.OperationSource_OperationSourcePurchase, |
| | | SalesDetailsNumber: purchaseData.SourceOrder, |
| | | }) |
| | | if err != nil { |
| | | global.GVA_LOG.Error("grpc调用失败!", zap.Error(err)) |
| | |
| | | response.FailWithMessage("质检失败", c) |
| | | return |
| | | } |
| | | err = server.UpdatePurchaseStatus(purchaseData.Number, purchase.WaitInspection) |
| | | if err != nil { |
| | | global.GVA_LOG.Error("质检失败!", zap.Error(err)) |
| | | response.FailWithMessage("质检失败", c) |
| | | return |
| | | } |
| | | response.OkWithMessage("质检成功", c) |
| | | } |