|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"该éè´åæ¶è´§å·²å®æ"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Dt_PurchaseOrderDetail? purchaseOrderDetail = purchaseOrder.Details.FirstOrDefault(x => x.MaterielCode == model.MaterielCode && (x.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt() || x.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.Receiving.ObjToInt())); | 
|---|
|  |  |  | Dt_PurchaseOrderDetail? purchaseOrderDetail = purchaseOrder.Details.Where(x => x.MaterielCode == model.MaterielCode && (x.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt() || x.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.Receiving.ObjToInt())).FirstOrDefault(); | 
|---|
|  |  |  | 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) | 
|---|
|  |  |  | //å¤æè¯¥éè´åæç»æ¯å¦å·²åå¨æç» | 
|---|
|  |  |  | List<Dt_ReceiveOrderDetail> details = receiveOrder.Details.Where(x => x.PurchaseOrderNo == model.PurchaseOrderNo && x.PurchaseOrderDetailRowNo == purchaseOrderDetail.RowNo && x.MaterielCode == model.MaterielCode).ToList(); | 
|---|
|  |  |  | if (details.Count >0 && details.Sum(x=>x.ReceivedQuantity) == purchaseOrderDetail.PurchaseDetailQuantity) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"该æç»å·²æ¶è´§"); | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"该æ¶è´§åæç»å·²æ¶è´§"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //è·åå
·ä½æ¹æ¬¡ | 
|---|
|  |  |  | Dt_ReceiveOrderDetail? detail = details.FirstOrDefault(x => x.LotNo == model.LotNo); | 
|---|
|  |  |  | lock (_rowNoLocker) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (detail != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //åææ¶è´§æç»å¢å æ¶è´§æ°é | 
|---|
|  |  |  | detail.ReceivedQuantity += model.Quantity; | 
|---|
|  |  |  | purchaseOrderDetail.PurchaseDetailReceiveQty = detail.ReceivedQuantity; | 
|---|
|  |  |  | purchaseOrderDetail.PurchaseDetailReceiveQty += model.Quantity; | 
|---|
|  |  |  | if (purchaseOrderDetail.PurchaseDetailReceiveQty > purchaseOrderDetail.PurchaseDetailQuantity) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"éè´åè¯¥ç©ææ°éåæ¶è´§æ°éä¸ä¸è´"); | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.Received.ObjToInt(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | float sumQty = purchaseOrder.Details.Sum(x => x.PurchaseDetailReceiveQty) + model.Quantity; | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.Receiving.ObjToInt(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | float sumQty = purchaseOrder.Details.Sum(x => x.PurchaseDetailReceiveQty); //+ model.Quantity | 
|---|
|  |  |  | _unitOfWorkManage.BeginTran(); | 
|---|
|  |  |  | BaseDal.AddData(receiveOrderDetail); | 
|---|
|  |  |  | if (purchaseOrder.OrderQuantity == sumQty) | 
|---|