From 57148c2264abe80bd3b472f2980104d90dad5c61 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期六, 13 九月 2025 08:35:32 +0800
Subject: [PATCH] 合并,接口优化等

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 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 2e99a29..bf5bd87 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"
@@ -9,6 +9,7 @@
 using System.Threading.Tasks;
 using WIDESEA_Common.CommonEnum;
 using WIDESEA_Common.OrderEnum;
+using WIDESEA_Common.WareHouseEnum;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
@@ -62,6 +63,7 @@
         {
             try
             {
+                //鑾峰彇鏀惰揣鍗�
                 Dt_ReceiveOrder receiveOrder = _inboundRepository.ReceiveOrderRepository.Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderNo == orderNo).Includes(x => x.Details).First();
                 if (receiveOrder == null)
                 {
@@ -75,8 +77,7 @@
                 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);
                 Dt_ReceiveOrder? receiveOrderOld = null;
                 if (receiveOrderDetailOld!=null)
@@ -98,6 +99,7 @@
                 {
                     return WebResponseContent.Instance.Error($"搴撳瓨{stockInfo.PalletCode}涓壒娆model.LotNo}宸插瓨鍦�");
                 }
+                //鏃ユ湡鏍煎紡楠岃瘉
                 if (model!=null)
                 {
                     string format = "yyyy-MM-dd"; // 鐩爣鏍煎紡
@@ -183,6 +185,7 @@
                             if (materielInfo.IsCheck == WhetherEnum.True)
                             {
                                 Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
+                                checkOrder.OrderType = CheckTypeEnum.ReceiveCheck.ObjToInt();
                                 checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo;
                                 checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity;
                                 checkOrder.ReceiveDetailRowNo = receiveOrderDetail.RowNo;
@@ -274,8 +277,8 @@
                             ReceivedQuantity = model.Quantity,
                             MaterielCode = model.MaterielCode,
                             LotNo = model.LotNo,
-                            MaterielName=materielInfo.MaterielName,
-                            MaterielSpec=materielInfo.MaterielSpec,
+                            MaterielName = materielInfo.MaterielName,
+                            MaterielSpec = materielInfo.MaterielSpec,
                             ReceiveOrderId = receiveOrder.ReceiveOrderId,
                             PurchaseOrderDetailRowNo = purchaseOrderDetail.RowNo,
                             IfInspection = materielInfo.IsCheck.ObjToInt(),
@@ -283,7 +286,8 @@
                             PriceInTax = 0,
                             TaxRate = "",
                             RowNo = rowNo + 1,
-                            Unit = purchaseOrderDetail.Unit
+                            Unit = purchaseOrderDetail.Unit,
+                            IsCheckOk = WhetherEnum.False.ObjToInt()
                         };
                         if (receiveOrder.ReceiveOrderStatus == ReceiveOrderStatusEnum.NotStarted.ObjToInt())
                         {
@@ -329,9 +333,12 @@
                         }
                         _inboundRepository.ReceiveOrderRepository.UpdateData(receiveOrder);
                         _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrderDetail);
-                        if (materielInfo.IsCheck == WhetherEnum.True)
+                        //鐗╂枡妫�楠屼笂浼�
+                        if (materielInfo.IsCheck == WhetherEnum.True && (warehouse.WarehouseCode != WarehouseEnum.HA152.ToString() && warehouse.WarehouseCode != WarehouseEnum.HA58.ToString()))
                         {
+                            //鏀惰揣缁撴灉涓婃姤
                             Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
+                            checkOrder.OrderType = CheckTypeEnum.ReceiveCheck.ObjToInt();
                             checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo;
                             checkOrder.Result = CheckAcceptEnum.NotCheckAccept.ToString();
                             checkOrder.QualifiedQuantity = 0;
@@ -359,17 +366,20 @@
                                 ReceiptDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                                 Remark = " "
                             };
+                            //璋冪敤QMS鏉ユ枡妫�楠屾帴鍙�
                             string response = _invokeQMSService.InvokeReceiveCheckApi(qMSReceiveCheck);
                             MesResponseContent mesResponseContent = response.DeserializeObject<MesResponseContent>();
                             if (!mesResponseContent.BSucc)
                             {
                                 throw new Exception(mesResponseContent.StrMsg);
                             }
+                            //QMS鍥炰紶缁撴灉
                             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);

--
Gitblit v1.9.3