111
wangxinhui
2025-06-11 0bb8fa57f20980f869cb1780a7594ef3ea7d576e
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs
@@ -329,40 +329,9 @@
                        }
                        _inboundRepository.ReceiveOrderRepository.UpdateData(receiveOrder);
                        _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrderDetail);
                        QMSReceiveCheckModel qMSReceiveCheck = new QMSReceiveCheckModel()
                        {
                            EntryNumber=receiveOrder.ReceiveOrderNo,
                            MaterialCode=receiveOrderDetail.MaterielCode,
                            MaterialName=receiveOrderDetail.MaterielName,
                            Quantity=(decimal)receiveOrderDetail.ReceivedQuantity,
                            SupplierCode=receiveOrder.SuppliersId,
                            SupplierName= supplierInfo.SupplierName,
                            BatchNumber=receiveOrderDetail.LotNo,
                            DeliveryNumber=receiveOrder.DeliveryCode,
                            PurchaseNumber=receiveOrderDetail.PurchaseOrderNo,
                            RowNumber= receiveOrderDetail.RowNo,
                            WarehouseCode= warehouse.WarehouseCode,
                            ReceiptDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                            Remark=" "
                        };
                        string response = _invokeQMSService.InvokeReceiveCheckApi(qMSReceiveCheck);
                        MesResponseContent mesResponseContent = response.DeserializeObject<MesResponseContent>();
                        if (!mesResponseContent.BSucc)
                        {
                            throw new Exception(mesResponseContent.StrMsg);
                        }
                        ReceiveResultDTO receiveResult = JsonConvert.DeserializeObject<ReceiveResultDTO>(mesResponseContent.Content.ToString());
                        if (receiveResult==null)
                        {
                            throw new Exception("鎺ユ敹QMS缁撴灉澶辫触");
                        }
                        #region 娉ㄩ噴
                        if (materielInfo.IsCheck == WhetherEnum.True)
                        {
                            Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
                            checkOrder.CheckOrderNo = receiveResult.InspectionNumber;
                            checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo;
                            checkOrder.Result = CheckAcceptEnum.NotCheckAccept.ToString();
                            checkOrder.QualifiedQuantity = 0;
@@ -372,9 +341,39 @@
                            checkOrder.MaterielSpec = materielInfo.MaterielSpec;
                            checkOrder.ReturnQuantity = 0;
                            checkOrder.DefectedQuantity = 0;
                            _checkOrderRepository.AddData(checkOrder);
                            int id = _checkOrderRepository.AddData(checkOrder);
                            QMSReceiveCheckModel qMSReceiveCheck = new QMSReceiveCheckModel()
                            {
                                UniqueTag = id.ToString(),
                                EntryNumber = receiveOrder.ReceiveOrderNo,
                                MaterialCode = receiveOrderDetail.MaterielCode,
                                MaterialName = receiveOrderDetail.MaterielName,
                                Quantity = (decimal)receiveOrderDetail.ReceivedQuantity,
                                SupplierCode = receiveOrder.SuppliersId,
                                SupplierName = supplierInfo.SupplierName,
                                BatchNumber = receiveOrderDetail.LotNo,
                                DeliveryNumber = receiveOrder.DeliveryCode,
                                PurchaseNumber = receiveOrderDetail.PurchaseOrderNo,
                                RowNumber = receiveOrderDetail.RowNo,
                                WarehouseCode = warehouse.WarehouseCode,
                                ReceiptDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                                Remark = " "
                            };
                            string response = _invokeQMSService.InvokeReceiveCheckApi(qMSReceiveCheck);
                            MesResponseContent mesResponseContent = response.DeserializeObject<MesResponseContent>();
                            if (!mesResponseContent.BSucc)
                            {
                                throw new Exception(mesResponseContent.StrMsg);
                            }
                            ReceiveResultDTO? receiveResult = JsonConvert.DeserializeObject<ReceiveResultDTO>(mesResponseContent.Content.ToString());
                            if (receiveResult == null)
                            {
                                throw new Exception("鎺ユ敹QMS缁撴灉澶辫触");
                            }
                            Dt_CheckOrder _CheckOrder = _checkOrderRepository.QueryFirst(x => x.CheckOrderId == id);
                            _CheckOrder.CheckOrderNo = receiveResult.InspectionNumber;
                            _checkOrderRepository.UpdateData(_CheckOrder);
                        }
                        #endregion
                        _unitOfWorkManage.CommitTran();
                    }