From bb66bf9372783cfb1af35a5384fdc69cc9c56a9f Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期二, 10 六月 2025 23:14:56 +0800 Subject: [PATCH] 1 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 41 insertions(+), 2 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" index 8486575..cfd7567 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" @@ -1,5 +1,6 @@ 锘� using AutoMapper; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Globalization; @@ -15,6 +16,9 @@ using WIDESEA_Core.Helper; using WIDESEA_DTO; using WIDESEA_DTO.Basic; +using WIDESEA_DTO.QMS; +using WIDESEA_External.Model; +using WIDESEA_External.QMSService; using WIDESEA_IBasicRepository; using WIDESEA_ICheckRepository; using WIDESEA_IInboundRepository; @@ -32,8 +36,10 @@ private readonly IBasicRepository _basicRepository; private readonly ICheckOrderRepository _checkOrderRepository; private readonly IStockRepository _stockRepository; + private readonly ISupplierInfoRepository _supplierInfoRepository; + private readonly IInvokeQMSService _invokeQMSService; - public ReceiveOrderDetailService(IReceiveOrderDetailRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IInboundRepository inboundRepository, IBasicRepository basicRepository, ICheckOrderRepository checkOrderRepository, IStockRepository stockRepository) : base(BaseDal) + public ReceiveOrderDetailService(IReceiveOrderDetailRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IInboundRepository inboundRepository, IBasicRepository basicRepository, ICheckOrderRepository checkOrderRepository, IStockRepository stockRepository,ISupplierInfoRepository supplierInfoRepository,IInvokeQMSService invokeQMSService) : base(BaseDal) { _mapper = mapper; _unitOfWorkManage = unitOfWorkManage; @@ -41,6 +47,8 @@ _basicRepository = basicRepository; _checkOrderRepository = checkOrderRepository; _stockRepository = stockRepository; + _supplierInfoRepository = supplierInfoRepository; + _invokeQMSService = invokeQMSService; } private static object _rowNoLocker = new object(); @@ -64,8 +72,9 @@ { return WebResponseContent.Instance.Error($"璇ュ崟鎹凡鏀惰揣瀹屾垚"); } - + Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseId == receiveOrder.WarehouseId); MatSerNumAnalysisModel model = CodeAnalysisHelper.CodeAnalysis<MatSerNumAnalysisModel>(AnalysisCodeEnum.MatSerNumAnalysis, serNum); + Dt_SupplierInfo supplierInfo = _supplierInfoRepository.QueryFirst(x => x.SupplierCode == receiveOrder.SuppliersId); //鏀惰揣澧炲姞鎵规鍗℃帶 //鏌ヨ鏀惰揣鏄庣粏鏄惁鏈夊瓨鍦ㄥ悓涓�涓壒娆� Dt_ReceiveOrderDetail receiveOrderDetailOld = _inboundRepository.ReceiveOrderDetailRepository.QueryFirst(x => x.LotNo == model.LotNo && x.MaterielCode == model.MaterielCode); @@ -320,10 +329,40 @@ } _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; -- Gitblit v1.9.3