wangxinhui
2025-01-10 4bc0e18b94a2bf17c1b7277910d63ef82fbe616a
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs
@@ -92,13 +92,13 @@
                Dt_PurchaseOrderDetail? purchaseOrderDetail = purchaseOrder.Details.FirstOrDefault(x => x.MaterielCode == model.MaterielCode && (x.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt() || x.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.Receiving.ObjToInt()));
                if (purchaseOrderDetail == null)
                {
                    return WebResponseContent.Instance.Error($"该明细收货已完成");
                    return WebResponseContent.Instance.Error($"该采购单明细收货已完成");
                }
                //判断是否存在对应采购明细的收货明细
                Dt_ReceiveOrderDetail? detail = receiveOrder.Details.FirstOrDefault(x => x.PurchaseOrderNo == model.PurchaseOrderNo && x.PurchaseOrderDetailRowNo == purchaseOrderDetail.RowNo);
                if (detail != null && detail.ReceivedQuantity == purchaseOrderDetail.PurchaseDetailQuantity)
                {
                    return WebResponseContent.Instance.Error($"该明细已收货");
                    return WebResponseContent.Instance.Error($"该收货单明细已收货");
                }
                lock (_rowNoLocker)
@@ -116,13 +116,21 @@
                        {
                            purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.Received.ObjToInt();
                        }
                        float sumQty = purchaseOrder.Details.Sum(x => x.PurchaseDetailReceiveQty) + model.Quantity;
                        _unitOfWorkManage.BeginTran();
                        else
                        {
                            purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.Receiving.ObjToInt();
                        }
                        float sumQty = purchaseOrder.Details.Sum(x => x.PurchaseDetailReceiveQty)+ model.Quantity;
                        if (purchaseOrder.OrderQuantity == sumQty)
                        {
                            purchaseOrder.PurchaseOrderStatus = PurchaseOrderStatusEnum.Received.ObjToInt();
                            _inboundRepository.PurchaseOrderRepository.UpdateData(purchaseOrder);
                        }
                        else
                        {
                            purchaseOrder.PurchaseOrderStatus = PurchaseOrderStatusEnum.Receiving.ObjToInt();
                        }
                        _unitOfWorkManage.BeginTran();
                        _inboundRepository.PurchaseOrderRepository.UpdateData(purchaseOrder);
                        BaseDal.UpdateData(detail);
                        _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrderDetail);
                        _unitOfWorkManage.CommitTran();