|  |  |  | 
|---|
|  |  |  | using System.Linq; | 
|---|
|  |  |  | using System.Text; | 
|---|
|  |  |  | using System.Threading.Tasks; | 
|---|
|  |  |  | using WIDESEA_Common.CommonEnum; | 
|---|
|  |  |  | using WIDESEA_Common.OrderEnum; | 
|---|
|  |  |  | using WIDESEA_Core; | 
|---|
|  |  |  | using WIDESEA_Core.BaseRepository; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private static object _rowNoLocker = new object(); | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// æ«ç æ·»å æ¶è´§åæç»ï¼åä¸ªï¼ | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | /// <param name="serNum">ç©æç </param> | 
|---|
|  |  |  | /// <param name="orderNo">æ¶è´§åå·</param> | 
|---|
|  |  |  | /// <returns></returns> | 
|---|
|  |  |  | public WebResponseContent AddReceiveOrderDetail(string serNum, string orderNo) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Dt_ReceiveOrder receiveOrder = _inboundRepository.ReceiveOrderRepository.QueryFirst(x => x.ReceiveOrderNo == orderNo); | 
|---|
|  |  |  | Dt_ReceiveOrder receiveOrder = _inboundRepository.ReceiveOrderRepository.Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderNo == orderNo).Includes(x => x.Details).First(); | 
|---|
|  |  |  | if (receiveOrder == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"æªæ¾å°è¯¥æ¶è´§å"); | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"æªæ¾å°è¯¥ç©æçä¿¡æ¯"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Dt_PurchaseOrder purchaseOrder = _inboundRepository.PurchaseOrderRepository.QueryFirst(x => x.PurchaseOrderNo == model.PurchaseOrderNo); | 
|---|
|  |  |  | //该æ¶è´§åä»åºæ¯å¦æè¯¥ç©æ | 
|---|
|  |  |  | if (materielInfo.WarehouseId != receiveOrder.WarehouseId) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"è¯¥ç©æä¸å±äºè¯¥ä»åº"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Dt_PurchaseOrder purchaseOrder = _inboundRepository.PurchaseOrderRepository.Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == model.PurchaseOrderNo).Includes(x => x.Details).First(); | 
|---|
|  |  |  | if (purchaseOrder == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"æªæ¾å°è¯¥éè´å"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (purchaseOrder.Details.Count == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"æªæ¾å°è¯¥éè´åæç»æ°æ®"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (purchaseOrder.SupplierCode != receiveOrder.SuppliersId) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"ä¾åºåä¸ä¸è´,请æ°å»ºæ¶è´§å"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (purchaseOrder.PurchaseOrderStatus == PurchaseOrderStatusEnum.Received.ObjToInt()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"该éè´åæ¶è´§å·²å®æ"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<Dt_PurchaseOrderDetail> purchaseOrderDetails = _inboundRepository.PurchaseOrderDetailRepository.QueryData(x => x.PurchaseOrderId == purchaseOrder.Id); | 
|---|
|  |  |  | if (purchaseOrderDetails == null || purchaseOrderDetails.Count == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"æªæ¾å°è¯¥éè´åæç»æ°æ®"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Dt_PurchaseOrderDetail? purchaseOrderDetail = purchaseOrderDetails.FirstOrDefault(x => x.PurchaseDetailQuantity == model.Quantity && x.MaterielCode == model.MaterielCode && x.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.NotReceived.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) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (purchaseOrderDetails.Count > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"该æç»æ¶è´§å·²å®æ"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"æªæ¾å°å¯¹åºçéè´åæç»æ°æ®"); | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"该éè´åæç»æ¶è´§å·²å®æ"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Dt_ReceiveOrderDetail detail = BaseDal.QueryFirst(x => x.PurchaseOrderNo == model.PurchaseOrderNo && x.PurchaseOrderDetailRowNo == purchaseOrderDetail.RowNo); | 
|---|
|  |  |  | if (detail != null) | 
|---|
|  |  |  | //å¤æè¯¥éè´åæç»æ¯å¦å·²åå¨æç» | 
|---|
|  |  |  | 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) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | int rowNo = 0; | 
|---|
|  |  |  | List<Dt_ReceiveOrderDetail> receiveOrderDetails = BaseDal.QueryData(x => x.ReceiveOrderId == receiveOrder.ReceiveOrderId); | 
|---|
|  |  |  | if (receiveOrderDetails != null && receiveOrderDetails.Count > 0) | 
|---|
|  |  |  | if (detail != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | rowNo = receiveOrderDetails.Max(x => x.RowNo); | 
|---|
|  |  |  | //åææ¶è´§æç»å¢å æ¶è´§æ°é | 
|---|
|  |  |  | detail.ReceivedQuantity += model.Quantity; | 
|---|
|  |  |  | purchaseOrderDetail.PurchaseDetailReceiveQty += model.Quantity; | 
|---|
|  |  |  | if (purchaseOrderDetail.PurchaseDetailReceiveQty > purchaseOrderDetail.PurchaseDetailQuantity) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"éè´åè¯¥ç©ææ°éåæ¶è´§æ°éä¸ä¸è´"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (purchaseOrderDetail.PurchaseDetailReceiveQty == purchaseOrderDetail.PurchaseDetailQuantity) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.Received.ObjToInt(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.Receiving.ObjToInt(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | float sumQty = purchaseOrder.Details.Sum(x => x.PurchaseDetailReceiveQty); | 
|---|
|  |  |  | if (purchaseOrder.OrderQuantity == sumQty) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | purchaseOrder.PurchaseOrderStatus = PurchaseOrderStatusEnum.Received.ObjToInt(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | purchaseOrder.PurchaseOrderStatus = PurchaseOrderStatusEnum.Receiving.ObjToInt(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | _unitOfWorkManage.BeginTran(); | 
|---|
|  |  |  | _inboundRepository.PurchaseOrderRepository.UpdateData(purchaseOrder); | 
|---|
|  |  |  | BaseDal.UpdateData(detail); | 
|---|
|  |  |  | _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrderDetail); | 
|---|
|  |  |  | _unitOfWorkManage.CommitTran(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | int rowNo = 0; | 
|---|
|  |  |  | if (receiveOrder.Details.Count > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | rowNo = receiveOrder.Details.Max(x => x.RowNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Dt_ReceiveOrderDetail receiveOrderDetail = new Dt_ReceiveOrderDetail() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | PurchaseOrderNo = model.PurchaseOrderNo, | 
|---|
|  |  |  | ReceivedQuantity = model.Quantity, | 
|---|
|  |  |  | MaterielCode = model.MaterielCode, | 
|---|
|  |  |  | LotNo = model.LotNo, | 
|---|
|  |  |  | ReceiveOrderId = receiveOrder.ReceiveOrderId, | 
|---|
|  |  |  | PurchaseOrderDetailRowNo = purchaseOrderDetail.RowNo, | 
|---|
|  |  |  | IfInspection = materielInfo.IsCheck.ObjToInt(), | 
|---|
|  |  |  | CurrCode = "", | 
|---|
|  |  |  | PriceInTax = 0, | 
|---|
|  |  |  | TaxRate = "", | 
|---|
|  |  |  | RowNo = rowNo + 1, | 
|---|
|  |  |  | Unit = purchaseOrderDetail.Unit | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | if (receiveOrder.ReceiveOrderStatus == ReceiveOrderStatusEnum.NotStarted.ObjToInt()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | receiveOrder.ReceiveOrderStatus = ReceiveOrderStatusEnum.Receiving.ObjToInt(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //夿éè´æç»æ°é | 
|---|
|  |  |  | if (purchaseOrderDetail.PurchaseDetailQuantity < model.Quantity) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"请核对éè´åè¯¥ç©ææ°é"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (purchaseOrderDetail.PurchaseDetailReceiveQty > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | purchaseOrderDetail.PurchaseDetailReceiveQty += model.Quantity; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | purchaseOrderDetail.PurchaseDetailReceiveQty = model.Quantity; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (purchaseOrderDetail.PurchaseDetailReceiveQty > purchaseOrderDetail.PurchaseDetailQuantity) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"éè´åè¯¥ç©ææ°éåæ¶è´§æ°éä¸ä¸è´"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (purchaseOrderDetail.PurchaseDetailQuantity == purchaseOrderDetail.PurchaseDetailReceiveQty) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.Received.ObjToInt(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | purchaseOrder.PurchaseOrderStatus = PurchaseOrderStatusEnum.Received.ObjToInt(); | 
|---|
|  |  |  | _inboundRepository.PurchaseOrderRepository.UpdateData(purchaseOrder); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | _inboundRepository.ReceiveOrderRepository.UpdateData(receiveOrder); | 
|---|
|  |  |  | _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrderDetail); | 
|---|
|  |  |  | #region æ³¨é | 
|---|
|  |  |  | //if (materielInfo.IsCheck == WhetherEnum.True) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail); | 
|---|
|  |  |  | //    checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo; | 
|---|
|  |  |  | //    checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity; | 
|---|
|  |  |  | //    checkOrder.ScrappedQuantity = 0; | 
|---|
|  |  |  | //    checkOrder.ReturnQuantity = 0; | 
|---|
|  |  |  | //    checkOrder.DefectedQuantity = 0; | 
|---|
|  |  |  | //    _checkOrderRepository.AddData(checkOrder); | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  | _unitOfWorkManage.CommitTran(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Dt_ReceiveOrderDetail receiveOrderDetail = new Dt_ReceiveOrderDetail() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | PurchaseOrderNo = model.PurchaseOrderNo, | 
|---|
|  |  |  | ReceivedQuantity = model.Quantity, | 
|---|
|  |  |  | MaterielCode = model.MaterielCode, | 
|---|
|  |  |  | LotNo = model.LotNo, | 
|---|
|  |  |  | ReceiveOrderId = receiveOrder.ReceiveOrderId, | 
|---|
|  |  |  | PurchaseOrderDetailRowNo = purchaseOrderDetail.RowNo, | 
|---|
|  |  |  | IfInspection = materielInfo.IsCheck.ObjToInt(), | 
|---|
|  |  |  | CurrCode = "", | 
|---|
|  |  |  | PriceInTax = 0, | 
|---|
|  |  |  | TaxRate = "", | 
|---|
|  |  |  | RowNo = rowNo + 1, | 
|---|
|  |  |  | Unit = purchaseOrderDetail.Unit | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (receiveOrder.ReceiveOrderStatus == ReceiveOrderStatusEnum.NotStarted.ObjToInt()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | receiveOrder.ReceiveOrderStatus = ReceiveOrderStatusEnum.Receiving.ObjToInt(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.Received.ObjToInt(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | _unitOfWorkManage.BeginTran(); | 
|---|
|  |  |  | BaseDal.AddData(receiveOrderDetail); | 
|---|
|  |  |  | _inboundRepository.ReceiveOrderRepository.UpdateData(receiveOrder); | 
|---|
|  |  |  | _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrderDetail); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (materielInfo.IsCheck == WIDESEA_Common.CommonEnum.WhetherEnum.True) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail); | 
|---|
|  |  |  | checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo; | 
|---|
|  |  |  | checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity; | 
|---|
|  |  |  | checkOrder.ScrappedQuantity = 0; | 
|---|
|  |  |  | checkOrder.ReturnQuantity = 0; | 
|---|
|  |  |  | checkOrder.DefectedQuantity = 0; | 
|---|
|  |  |  | _checkOrderRepository.AddData(checkOrder); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | _unitOfWorkManage.CommitTran(); | 
|---|
|  |  |  | return WebResponseContent.Instance.OK(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | return WebResponseContent.Instance.Error(ex.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public WebResponseContent ScaninnerCode(string innerCode) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | WebResponseContent content = new WebResponseContent(); | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var innerCodes = innerCode.Split(','); | 
|---|
|  |  |  | var matCode = innerCodes.FirstOrDefault(x => x.Contains("M:"));//.Replace("M:", ""); | 
|---|
|  |  |  | if (matCode == null) throw new Exception("æªè·åå°ç©æç "); | 
|---|
|  |  |  | var batchNo = innerCodes.FirstOrDefault(x => x.Contains("BS:"));//.Replace("BS:", "") | 
|---|
|  |  |  | if (batchNo == null) throw new Exception("æªè·åå°æ¹æ¬¡å·"); | 
|---|
|  |  |  | var purchaseOrderNo = innerCodes.FirstOrDefault(x => x.Contains("PO:"));//.Replace("PO:", "") | 
|---|
|  |  |  | if (purchaseOrderNo == null) throw new Exception("æªè·åå°éè´åå·"); | 
|---|
|  |  |  | var qty = innerCodes.FirstOrDefault(x => x.Contains("Q:")); | 
|---|
|  |  |  | if (qty == null) throw new Exception("æªè·åå°æ°é"); | 
|---|
|  |  |  | InnerCodeDTO innerCodeDTO = new InnerCodeDTO() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | matCode = matCode.Replace("M:", ""), | 
|---|
|  |  |  | batchNo = batchNo.Replace("BS:", ""), | 
|---|
|  |  |  | purchaseOrderNo = purchaseOrderNo.Replace("PO:", ""), | 
|---|
|  |  |  | qty = Convert.ToInt32(qty.Replace("Q:", "")) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | content.OK("æ«ææå", data: innerCodeDTO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception ex) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | content.Error(ex.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return content; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public WebResponseContent GetReceiveOrderInfos(SaveModel saveModel) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | WebResponseContent content = new WebResponseContent(); | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string searchValue = saveModel.MainData["searchValue"].ToString(); | 
|---|
|  |  |  | string orderNo = saveModel.MainData["orderNo"].ToString(); | 
|---|
|  |  |  | Dt_ReceiveOrder receiveOrder = Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderNo == orderNo).First(); | 
|---|
|  |  |  | if (receiveOrder == null) throw new Exception($"æªæ¾å°åæ®ç¼å·ã{orderNo}ãä¿¡æ¯"); | 
|---|
|  |  |  | List<Dt_ReceiveOrderDetail> receiveOrderDetails = new List<Dt_ReceiveOrderDetail>(); | 
|---|
|  |  |  | if (string.IsNullOrEmpty(searchValue)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | receiveOrderDetails = Db.Queryable<Dt_ReceiveOrderDetail>().Where(x => x.ReceiveOrderId == receiveOrder.ReceiveOrderId).ToList(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | receiveOrderDetails = Db.Queryable<Dt_ReceiveOrderDetail>().Where(x => x.ReceiveOrderId == receiveOrder.ReceiveOrderId && x.MaterielCode == searchValue).ToList(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | content.OK(data: receiveOrderDetails); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception ex) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | content.Error(ex.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return content; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|