|  |  | 
 |  |  |                 { | 
 |  |  |                     return WebResponseContent.Instance.Error($"æªæ¾å°æ¶è´§å"); | 
 |  |  |                 } | 
 |  |  |                 if (receiveOrder.ReceiveOrderStatus==ReceiveOrderStatusEnum.Completed.ObjToInt()) | 
 |  |  |                 if (receiveOrder.ReceiveOrderStatus == ReceiveOrderStatusEnum.Completed.ObjToInt()) | 
 |  |  |                 { | 
 |  |  |                     return WebResponseContent.Instance.Error($"æ¶è´§å已宿"); | 
 |  |  |                 } | 
 |  |  | 
 |  |  |                         Serno = item.RowNo, | 
 |  |  |                         Supplotno = "", | 
 |  |  |                         Taxrate = "", | 
 |  |  |                          | 
 |  |  |  | 
 |  |  |                     }; | 
 |  |  |                     recevieOrderDetails.Add(recevieOrderDetail); | 
 |  |  |                 } | 
 |  |  | 
 |  |  |                 ERPReceiveModel receiveModel = new ERPReceiveModel() | 
 |  |  |                 { | 
 |  |  |                     Code = receiveOrder.ReceiveOrderNo, | 
 |  |  |                     CompanyId = "HATC", | 
 |  |  |                     DeliveryCode = receiveOrder.DeliveryCode, | 
 |  |  |                     CustomerId = receiveOrder.CustomerId, | 
 |  |  |                     CreatorId = "TC20082",//æµè¯ receiveOrder.Creater | 
 |  |  |                     CreatorId = receiveOrder.Creater, | 
 |  |  |                     EntDate = receiveOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), | 
 |  |  |                     ReceiveDate = receiveOrder.ReceiveDate.ToString("yyyy-MM-dd HH:mm:ss"), | 
 |  |  |                     PlantsId = "HA02", | 
 |  |  |                     ReceiveDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), | 
 |  |  |                     SuppliersId = receiveOrder.SuppliersId, | 
 |  |  |                     Type = Enum.GetName(typeof(ReceiveOrderTypeEnum),receiveOrder.ReceiveOrderType), | 
 |  |  |                     Type = Enum.GetName(typeof(ReceiveOrderTypeEnum), receiveOrder.ReceiveOrderType) ?? throw new Exception($"éè´åç±»åé误"), | 
 |  |  |                     UniqueTag = receiveOrder.ReceiveOrderId.ToString(), | 
 |  |  |                     WarehouseCode = warehouse.WarehouseCode, | 
 |  |  |                     Way = 1, | 
 |  |  |                     Details = recevieOrderDetails | 
 |  |  |                 }; | 
 |  |  |                 //æ¶è´§æ¨éè³ERP | 
 |  |  |                 string Content = _invokeERPService.InvokeMatReceiveApi(receiveModel); | 
 |  |  |                 ErpRequestContent erpRequest=Content.DeserializeObject<ErpRequestContent>(); | 
 |  |  |                 if (erpRequest.res==0) | 
 |  |  |                 { | 
 |  |  |                     return WebResponseContent.Instance.Error(erpRequest.Data); | 
 |  |  |                 } | 
 |  |  |                  | 
 |  |  |                 //æ´æ°æ¶è´§åä¿¡æ¯ | 
 |  |  |                 receiveOrder.ReceiveOrderStatus = ReceiveOrderStatusEnum.Completed.ObjToInt(); | 
 |  |  |                 receiveOrder.UploadStatus = WhetherEnum.True.ObjToInt(); | 
 |  |  |                 //æ´æ°æ¶è´§åä¿¡æ¯ | 
 |  |  |                 _unitOfWorkManage.BeginTran(); | 
 |  |  |                 BaseDal.UpdateData(receiveOrder); | 
 |  |  |                 _unitOfWorkManage.CommitTran(); | 
 |  |  |                 //å建å
¥åºå | 
 |  |  |                 CreateInboundOrder(orderId); | 
 |  |  |                 //æ¶è´§æ¨éè³ERP æµè¯æ³¨é | 
 |  |  |                 _invokeERPService.InvokeMatReceiveApi(receiveModel); | 
 |  |  |                 return WebResponseContent.Instance.OK(); | 
 |  |  |             } | 
 |  |  |             catch (Exception ex) | 
 |  |  | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 int pageNo = saveModel.MainData["pageNo"].ObjToInt(); | 
 |  |  |                 int warehouseId = saveModel.MainData["warehouseId"].ObjToInt(); | 
 |  |  |                 string orderNo = saveModel.MainData["orderNo"].ToString(); | 
 |  |  |                 List<Dt_ReceiveOrder> dt_ReceiveOrders = new List<Dt_ReceiveOrder>(); | 
 |  |  |                 if (string.IsNullOrEmpty(orderNo)) | 
 |  |  |                 { | 
 |  |  |                     dt_ReceiveOrders = Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderStatus < ReceiveOrderStatusEnum.Completed.ObjToInt()).ToPageList(pageNo, 5); | 
 |  |  |                     dt_ReceiveOrders = Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderStatus < ReceiveOrderStatusEnum.Completed.ObjToInt() && x.WarehouseId == warehouseId).ToPageList(pageNo, 5); | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     dt_ReceiveOrders = Db.Queryable<Dt_ReceiveOrder>().Where(x => (x.ReceiveOrderNo.Contains(orderNo) || x.SuppliersId.Contains(orderNo)) && x.ReceiveOrderStatus < ReceiveOrderStatusEnum.Completed.ObjToInt()).ToPageList(pageNo, 5); | 
 |  |  |                     dt_ReceiveOrders = Db.Queryable<Dt_ReceiveOrder>().Where(x => (x.ReceiveOrderNo.Contains(orderNo) || x.SuppliersId.Contains(orderNo)) && x.ReceiveOrderStatus < ReceiveOrderStatusEnum.Completed.ObjToInt() && x.WarehouseId == warehouseId).ToPageList(pageNo, 5); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 content.OK(data: dt_ReceiveOrders); | 
 |  |  | 
 |  |  |                 { | 
 |  |  |                     return WebResponseContent.Instance.Error($"该æ¶è´§åæªå®æ"); | 
 |  |  |                 } | 
 |  |  |                 #region æ³¨é | 
 |  |  |                 //List<Dt_CheckOrder> checkOrders = _checkOrderRepository.QueryData(x => x.ReceiveOrderNo == receiveOrder.ReceiveOrderNo); | 
 |  |  |                 //if (checkOrders.FirstOrDefault(x => x.CheckOrderStatus == CheckOrderStatusEnum.NotCheck.ObjToInt()) != null) | 
 |  |  |                 //{ | 
 |  |  |                 //    return WebResponseContent.Instance.Error($"该æ¶è´§åæªè´¨æ£å®æ"); | 
 |  |  |                 //} | 
 |  |  |  | 
 |  |  |                 List<Dt_CheckOrder> checkOrders = _checkOrderRepository.QueryData(x => x.ReceiveOrderNo == receiveOrder.ReceiveOrderNo); | 
 |  |  |                 if (checkOrders.FirstOrDefault(x => x.CheckOrderStatus == CheckOrderStatusEnum.NotCheck.ObjToInt()) != null) | 
 |  |  |                 { | 
 |  |  |                     return WebResponseContent.Instance.Error($"该æ¶è´§åæªè´¨æ£å®æ"); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 if (checkOrders.FirstOrDefault(x => x.AuditStatus != AuditStatusEnum.Agree.ObjToInt()) != null) | 
 |  |  |                 { | 
 |  |  |                     return WebResponseContent.Instance.Error($"该æ¶è´§åè´¨æ£ç»æå®¡æ¹æªå®æ"); | 
 |  |  |                 } | 
 |  |  |                 //if (checkOrders.FirstOrDefault(x => x.AuditStatus != AuditStatusEnum.Agree.ObjToInt()) != null) | 
 |  |  |                 //{ | 
 |  |  |                 //    return WebResponseContent.Instance.Error($"该æ¶è´§åè´¨æ£ç»æå®¡æ¹æªå®æ"); | 
 |  |  |                 //} | 
 |  |  |                 #endregion | 
 |  |  |  | 
 |  |  |                 Dt_InboundOrder inboundOrder = new Dt_InboundOrder() | 
 |  |  |                 { | 
 |  |  |                     InboundOrderNo="TestInboundNo1",//æµè¯ | 
 |  |  |                     UpperOrderNo = receiveOrder.ReceiveOrderNo, | 
 |  |  |                     CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(), | 
 |  |  |                     OrderStatus = InOrderStatusEnum.æªå¼å§.ObjToInt(), | 
 |  |  | 
 |  |  |                 foreach (var item in receiveOrder.Details) | 
 |  |  |                 { | 
 |  |  |                     float quantity = item.ReceivedQuantity; | 
 |  |  |                     if (item.IfInspection == WhetherEnum.True.ObjToInt()) | 
 |  |  |                     { | 
 |  |  |                         Dt_CheckOrder? checkOrder = checkOrders.FirstOrDefault(x => x.ReceiveOrderNo == receiveOrder.ReceiveOrderNo && x.ReceiveDetailRowNo == item.RowNo); | 
 |  |  |                         if (checkOrder == null) | 
 |  |  |                         { | 
 |  |  |                             return WebResponseContent.Instance.Error($"è´¨æ£åæ°æ®é误"); | 
 |  |  |                         } | 
 |  |  |                         quantity = checkOrder.QualifiedQuantity.GetValueOrDefault() + checkOrder.DefectedQuantity.GetValueOrDefault(); | 
 |  |  |                     } | 
 |  |  |                     #region æ³¨é | 
 |  |  |                     //if (item.IfInspection == WhetherEnum.True.ObjToInt()) | 
 |  |  |                     //{ | 
 |  |  |                     //    Dt_CheckOrder? checkOrder = checkOrders.FirstOrDefault(x => x.ReceiveOrderNo == receiveOrder.ReceiveOrderNo && x.ReceiveDetailRowNo == item.RowNo); | 
 |  |  |                     //    if (checkOrder == null) | 
 |  |  |                     //    { | 
 |  |  |                     //        return WebResponseContent.Instance.Error($"è´¨æ£åæ°æ®é误"); | 
 |  |  |                     //    } | 
 |  |  |                     //    quantity = checkOrder.QualifiedQuantity.GetValueOrDefault() + checkOrder.DefectedQuantity.GetValueOrDefault(); | 
 |  |  |                     //} | 
 |  |  |                     #endregion | 
 |  |  |                     Dt_InboundOrderDetail detail = new Dt_InboundOrderDetail() | 
 |  |  |                     { | 
 |  |  |                         MaterielCode = item.MaterielCode, | 
 |  |  | 
 |  |  |                 { | 
 |  |  |                     return WebResponseContent.Instance.Error($"æªæ¾å°è¯¥éè´å"); | 
 |  |  |                 } | 
 |  |  |                 if (purchaseOrder.Details == null || purchaseOrder.Details.Count == 0) | 
 |  |  |                 if (purchaseOrder.Details.Count == 0) | 
 |  |  |                 { | 
 |  |  |                     return WebResponseContent.Instance.Error($"æªæ¾å°éè´åæç»ä¿¡æ¯"); | 
 |  |  |                 } | 
 |  |  | 
 |  |  |                         }; | 
 |  |  |                         rowNo += 1; | 
 |  |  |                         receiveOrderDetails.Add(receiveOrderDetail); | 
 |  |  |  | 
 |  |  |                         if (materielInfo.IsCheck == WhetherEnum.True) | 
 |  |  |                         { | 
 |  |  |                             Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail); | 
 |  |  |                             checkOrder.CheckOrderNo = "TestCheckNo11";//æµè¯ | 
 |  |  |                             checkOrder.ReceiveOrderNo = ""; | 
 |  |  |                             checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity; | 
 |  |  |                             checkOrder.ScrappedQuantity = 0; | 
 |  |  |                             checkOrder.ReturnQuantity = 0; | 
 |  |  |                             checkOrder.DefectedQuantity = 0; | 
 |  |  |                             checkOrder.ReceiveDetailRowNo = rowNo; | 
 |  |  |                             checkOrder.UploadStatus = CheckUploadEnum.UploadNo.ObjToInt(); | 
 |  |  |                             checkOrders.Add(checkOrder); | 
 |  |  |                         } | 
 |  |  |                         #region æ³¨é | 
 |  |  |                         //if (materielInfo.IsCheck == WhetherEnum.True) | 
 |  |  |                         //{ | 
 |  |  |                         //    Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail); | 
 |  |  |                         //    checkOrder.CheckOrderNo = "TestCheckNo21";//æµè¯ | 
 |  |  |                         //    checkOrder.ReceiveOrderNo = ""; | 
 |  |  |                         //    checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity; | 
 |  |  |                         //    checkOrder.ScrappedQuantity = 0; | 
 |  |  |                         //    checkOrder.ReturnQuantity = 0; | 
 |  |  |                         //    checkOrder.DefectedQuantity = 0; | 
 |  |  |                         //    checkOrder.ReceiveDetailRowNo = rowNo; | 
 |  |  |                         //    checkOrder.UploadStatus = CheckUploadEnum.UploadNo.ObjToInt(); | 
 |  |  |                         //    checkOrders.Add(checkOrder); | 
 |  |  |                         //} | 
 |  |  |                         #endregion | 
 |  |  |                     } | 
 |  |  |                     receiveOrder = new Dt_ReceiveOrder() | 
 |  |  |                     { | 
 |  |  |                         ReceiveOrderNo= "TestReceiveOrderNo11",//æµè¯ | 
 |  |  |                         ReceiveOrderStatus = ReceiveOrderStatusEnum.Receiving.ObjToInt(), | 
 |  |  |                         CustomerId = "", | 
 |  |  |                         DeliveryCode = "/", | 
 |  |  | 
 |  |  |                         rowNo += 1; | 
 |  |  |                         receiveOrderDetails.Add(receiveOrderDetail); | 
 |  |  |  | 
 |  |  |                         if (materielInfo.IsCheck == WhetherEnum.True) | 
 |  |  |                         { | 
 |  |  |                             Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail); | 
 |  |  |                             checkOrder.CheckOrderNo = "Test-CheckNo1";//æµè¯ | 
 |  |  |                             checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity; | 
 |  |  |                             checkOrder.ScrappedQuantity = 0; | 
 |  |  |                             checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo; | 
 |  |  |                             checkOrder.ReturnQuantity = 0; | 
 |  |  |                             checkOrder.DefectedQuantity = 0; | 
 |  |  |                             checkOrder.ReceiveDetailRowNo = rowNo; | 
 |  |  |                             checkOrder.UploadStatus = CheckUploadEnum.UploadNo.ObjToInt(); | 
 |  |  |                             checkOrders.Add(checkOrder); | 
 |  |  |                         } | 
 |  |  |                         //if (materielInfo.IsCheck == WhetherEnum.True) | 
 |  |  |                         //{ | 
 |  |  |                         //    Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail); | 
 |  |  |                         //    checkOrder.CheckOrderNo = "Test-CheckNo1";//æµè¯ | 
 |  |  |                         //    checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity; | 
 |  |  |                         //    checkOrder.ScrappedQuantity = 0; | 
 |  |  |                         //    checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo; | 
 |  |  |                         //    checkOrder.ReturnQuantity = 0; | 
 |  |  |                         //    checkOrder.DefectedQuantity = 0; | 
 |  |  |                         //    checkOrder.ReceiveDetailRowNo = rowNo; | 
 |  |  |                         //    checkOrder.UploadStatus = CheckUploadEnum.UploadNo.ObjToInt(); | 
 |  |  |                         //    checkOrders.Add(checkOrder); | 
 |  |  |                         //} | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  | 
 |  |  |                     Db.InsertNav(receiveOrder).Include(x => x.Details).ExecuteCommand(); | 
 |  |  |                     checkOrders.ForEach(x => x.ReceiveOrderNo = receiveOrder.ReceiveOrderNo); | 
 |  |  |                 } | 
 |  |  |                 if (checkOrders.Count > 0) | 
 |  |  |                 { | 
 |  |  |                     _checkOrderRepository.AddData(checkOrders); | 
 |  |  |                 } | 
 |  |  |                 //if (checkOrders.Count > 0) | 
 |  |  |                 //{ | 
 |  |  |                 //    _checkOrderRepository.AddData(checkOrders); | 
 |  |  |                 //} | 
 |  |  |                 _inboundRepository.PurchaseOrderRepository.UpdateData(purchaseOrder); | 
 |  |  |                 _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrder.Details); | 
 |  |  |                 _unitOfWorkManage.CommitTran(); |