From a6e0ea9ce13e791f3edae4edffeb3be3ccb760be Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 31 三月 2025 02:14:59 +0800
Subject: [PATCH] 版本更新

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs |   39 +++++++++++++++++++++++----------------
 1 files changed, 23 insertions(+), 16 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 2fc803e..806339d 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"
@@ -68,7 +68,7 @@
                 MatSerNumAnalysisModel model = CodeAnalysisHelper.CodeAnalysis<MatSerNumAnalysisModel>(AnalysisCodeEnum.MatSerNumAnalysis, serNum);
                 //鏀惰揣澧炲姞鎵规鍗℃帶
                 //鏌ヨ鏀惰揣鏄庣粏鏄惁鏈夊瓨鍦ㄥ悓涓�涓壒娆�
-                Dt_ReceiveOrderDetail receiveOrderDetailOld = _inboundRepository.ReceiveOrderDetailRepository.QueryFirst(x => x.LotNo == model.LotNo);
+                Dt_ReceiveOrderDetail receiveOrderDetailOld = _inboundRepository.ReceiveOrderDetailRepository.QueryFirst(x => x.LotNo == model.LotNo && x.MaterielCode == model.MaterielCode);
                 Dt_ReceiveOrder? receiveOrderOld = null;
                 if (receiveOrderDetailOld!=null)
                 {
@@ -79,7 +79,7 @@
                     return WebResponseContent.Instance.Error($"鏀惰揣鍗曞彿{receiveOrderOld.ReceiveOrderNo}涓壒娆model.LotNo}宸插瓨鍦�");
                 }
                 //鏌ヨ搴撳瓨鎵规鏄惁鏈夊瓨鍦ㄥ悓涓�涓壒娆�
-                Dt_StockInfoDetail stockInfoDetail = _stockRepository.StockInfoDetailRepository.QueryFirst(x => x.BatchNo == model.LotNo);
+                Dt_StockInfoDetail stockInfoDetail = _stockRepository.StockInfoDetailRepository.QueryFirst(x => x.BatchNo == model.LotNo && x.MaterielCode == model.MaterielCode);
                 Dt_StockInfo? stockInfo = null;
                 if (stockInfoDetail!=null)
                 {
@@ -205,7 +205,7 @@
                 {
                     return WebResponseContent.Instance.Error($"璇ラ噰璐崟鏀惰揣宸插畬鎴�");
                 }
-                Dt_PurchaseOrderDetail? purchaseOrderDetail = purchaseOrder.Details.Where(x => x.MaterielCode == model.MaterielCode && (x.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt() || x.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.Receiving.ObjToInt())).FirstOrDefault();
+                Dt_PurchaseOrderDetail? purchaseOrderDetail = purchaseOrder.Details.Where(x => x.MaterielCode == model.MaterielCode && (x.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt() || x.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.Receiving.ObjToInt())).OrderBy(x=>x.Id).FirstOrDefault();
                 if (purchaseOrderDetail == null)
                 {
                     return WebResponseContent.Instance.Error($"璇ラ噰璐崟鏄庣粏鏀惰揣宸插畬鎴�");
@@ -227,7 +227,7 @@
                         purchaseOrderDetail.PurchaseDetailReceiveQty += model.Quantity;
                         if (purchaseOrderDetail.PurchaseDetailReceiveQty > purchaseOrderDetail.PurchaseDetailQuantity)
                         {
-                            return WebResponseContent.Instance.Error($"閲囪喘鍗曡鐗╂枡鏁伴噺鍜屾敹璐ф暟閲忎笉涓�鑷�");
+                            return WebResponseContent.Instance.Error($"閲囪喘鍗曡鍙穥purchaseOrderDetail.RowNo}鐗╂枡{purchaseOrderDetail.MaterielCode}鏁伴噺婧㈠嚭:{purchaseOrderDetail.PurchaseDetailReceiveQty - purchaseOrderDetail.PurchaseDetailQuantity}");
                         }
                         if (purchaseOrderDetail.PurchaseDetailReceiveQty == purchaseOrderDetail.PurchaseDetailQuantity)
                         {
@@ -295,7 +295,7 @@
                         }
                         if (purchaseOrderDetail.PurchaseDetailReceiveQty > purchaseOrderDetail.PurchaseDetailQuantity)
                         {
-                            return WebResponseContent.Instance.Error($"閲囪喘鍗曡鐗╂枡鏁伴噺鍜屾敹璐ф暟閲忎笉涓�鑷�");
+                            return WebResponseContent.Instance.Error($"閲囪喘鍗曡鍙穥purchaseOrderDetail.RowNo}鐗╂枡{purchaseOrderDetail.MaterielCode}鏁伴噺婧㈠嚭:{purchaseOrderDetail.PurchaseDetailReceiveQty - purchaseOrderDetail.PurchaseDetailQuantity}");
                         }
                         if (purchaseOrderDetail.PurchaseDetailQuantity == purchaseOrderDetail.PurchaseDetailReceiveQty)
                         {
@@ -313,20 +313,27 @@
                             purchaseOrder.PurchaseOrderStatus = PurchaseOrderStatusEnum.Received.ObjToInt();
                             _inboundRepository.PurchaseOrderRepository.UpdateData(purchaseOrder);
                         }
+                        if(purchaseOrder.PurchaseOrderStatus== PurchaseOrderStatusEnum.NotReceived.ObjToInt())
+                        {
+                            purchaseOrder.PurchaseOrderStatus = PurchaseOrderStatusEnum.Receiving.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.ReceiveDetailRowNo = receiveOrderDetail.RowNo;
-                        ////    checkOrder.ScrappedQuantity = 0;
-                        ////    checkOrder.ReturnQuantity = 0;
-                        ////    checkOrder.DefectedQuantity = 0;
-                        ////    _checkOrderRepository.AddData(checkOrder);
-                        ////}
+                        if (materielInfo.IsCheck == WhetherEnum.True)
+                        {
+                            Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
+                            checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo;
+                            checkOrder.Result = CheckAcceptEnum.NotCheckAccept.ToString();
+                            checkOrder.QualifiedQuantity = 0;
+                            checkOrder.ReceiveDetailRowNo = receiveOrderDetail.RowNo;
+                            checkOrder.WarehouseId = receiveOrder.WarehouseId;
+                            checkOrder.ScrappedQuantity = 0;
+                            checkOrder.ReturnQuantity = 0;
+                            checkOrder.DefectedQuantity = 0;
+                            _checkOrderRepository.AddData(checkOrder);
+                        }
                         #endregion
                         _unitOfWorkManage.CommitTran();
                     }

--
Gitblit v1.9.3