From efaf0b8aeb26aca6536a4b384c912cc3cac4d070 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期六, 15 三月 2025 16:07:45 +0800
Subject: [PATCH] 成品代码,其他仓优化,前端优化界面增加

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs |  124 +++++++++++++++++++++++-----------------
 1 files changed, 71 insertions(+), 53 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs"
index 72ba693..0477465 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs"
@@ -131,12 +131,17 @@
                         PriceInTax = 0,
                         PurchaseOrderCode = item.PurchaseOrderNo,
                         PurchaseOrderSerno = item.PurchaseOrderDetailRowNo,
-                        QtyRecieved = item.ReceivedQuantity.ObjToInt(),
+                        QtyRecieved = item.ReceivedQuantity,
                         Serno = item.RowNo,
-                        Supplotno = "",
+                        Supplotno = item.LotNo,
                         Taxrate = "",
 
                     };
+                    if (receiveOrder.ReceiveOrderType!=ReceiveOrderTypeEnum.PO.ObjToInt())
+                    {
+                        recevieOrderDetail.Taxrate = "ZZ11";
+                        recevieOrderDetail.Currcode = "RMB";
+                    }
                     recevieOrderDetails.Add(recevieOrderDetail);
                 }
 
@@ -158,12 +163,16 @@
 
                 //鏇存柊鏀惰揣鍗曚俊鎭�
                 receiveOrder.ReceiveOrderStatus = ReceiveOrderStatusEnum.Completed.ObjToInt();
-                receiveOrder.UploadStatus = WhetherEnum.True.ObjToInt();
+                //鏀惰揣鎺ㄩ�佽嚦ER
+                string response = _invokeERPService.InvokeMatReceiveApi(receiveModel);
+                ErpRequestContent requestContent = response.DeserializeObject<ErpRequestContent>();
+                if (requestContent.res == 1)
+                {
+                    receiveOrder.UploadStatus = WhetherEnum.True.ObjToInt();
+                }
                 BaseDal.UpdateData(receiveOrder);
                 //鍒涘缓鍏ュ簱鍗�
                 CreateInboundOrder(orderId);
-                //鏀惰揣鎺ㄩ�佽嚦ERP 娴嬭瘯娉ㄩ噴
-                _invokeERPService.InvokeMatReceiveApi(receiveModel);
                 return WebResponseContent.Instance.OK();
             }
             catch (Exception ex)
@@ -209,6 +218,10 @@
             try
             {
                 Dt_ReceiveOrder receiveOrder = Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderId == receiveOrderId).Includes(x => x.Details).First();
+                if (receiveOrder.UploadStatus!= WhetherEnum.True.ObjToInt())
+                {
+                    return WebResponseContent.Instance.Error($"璇ユ敹璐у崟鏉ユ枡涓婁紶ERP澶辫触鏃犳硶鍒涘缓鍏ュ簱鍗曟嵁");
+                }
                 if (receiveOrder == null)
                 {
                     return WebResponseContent.Instance.Error($"鏈壘鍒拌鏀惰揣鍗曚俊鎭�");
@@ -221,17 +234,22 @@
                 {
                     return WebResponseContent.Instance.Error($"璇ユ敹璐у崟鏈畬鎴�");
                 }
+                Dt_InboundOrder OldCreateOrder = _inboundRepository.InboundOrderRepository.QueryFirst(x => x.UpperOrderNo == receiveOrder.ReceiveOrderNo);
+                if (receiveOrder.CreateInOrderStatus==WhetherEnum.True.ObjToInt() || OldCreateOrder!=null)
+                {
+                    return WebResponseContent.Instance.Error($"璇ユ敹璐у崟瀵瑰簲鐨勫叆搴撳崟宸插瓨鍦�");
+                }
                 #region 娉ㄩ噴
-                //List<Dt_CheckOrder> checkOrders = _checkOrderRepository.QueryData(x => x.ReceiveOrderNo == receiveOrder.ReceiveOrderNo);
-                //if (checkOrders.FirstOrDefault(x => x.CheckOrderStatus == CheckOrderStatusEnum.NotCheck.ObjToInt()) != null)
-                //{
-                //    return WebResponseContent.Instance.Error($"璇ユ敹璐у崟鏈川妫�瀹屾垚");
-                //}
+                ////List<Dt_CheckOrder> checkOrders = _checkOrderRepository.QueryData(x => x.ReceiveOrderNo == receiveOrder.ReceiveOrderNo);
+                ////if (checkOrders.FirstOrDefault(x => x.CheckOrderStatus == CheckOrderStatusEnum.NotCheck.ObjToInt()) != null)
+                ////{
+                ////    return WebResponseContent.Instance.Error($"璇ユ敹璐у崟鏈川妫�瀹屾垚");
+                ////}
 
-                //if (checkOrders.FirstOrDefault(x => x.AuditStatus != AuditStatusEnum.Agree.ObjToInt()) != null)
-                //{
-                //    return WebResponseContent.Instance.Error($"璇ユ敹璐у崟璐ㄦ缁撴灉瀹℃壒鏈畬鎴�");
-                //}
+                ////if (checkOrders.FirstOrDefault(x => x.AuditStatus != AuditStatusEnum.Agree.ObjToInt()) != null)
+                ////{
+                ////    return WebResponseContent.Instance.Error($"璇ユ敹璐у崟璐ㄦ缁撴灉瀹℃壒鏈畬鎴�");
+                ////}
                 #endregion
 
                 Dt_InboundOrder inboundOrder = new Dt_InboundOrder()
@@ -249,15 +267,15 @@
                 {
                     float quantity = item.ReceivedQuantity;
                     #region 娉ㄩ噴
-                    //if (item.IfInspection == WhetherEnum.True.ObjToInt())
-                    //{
-                    //    Dt_CheckOrder? checkOrder = checkOrders.FirstOrDefault(x => x.ReceiveOrderNo == receiveOrder.ReceiveOrderNo && x.ReceiveDetailRowNo == item.RowNo);
-                    //    if (checkOrder == null)
-                    //    {
-                    //        return WebResponseContent.Instance.Error($"璐ㄦ鍗曟暟鎹敊璇�");
-                    //    }
-                    //    quantity = checkOrder.QualifiedQuantity.GetValueOrDefault() + checkOrder.DefectedQuantity.GetValueOrDefault();
-                    //}
+                    ////if (item.IfInspection == WhetherEnum.True.ObjToInt())
+                    ////{
+                    ////    Dt_CheckOrder? checkOrder = checkOrders.FirstOrDefault(x => x.ReceiveOrderNo == receiveOrder.ReceiveOrderNo && x.ReceiveDetailRowNo == item.RowNo);
+                    ////    if (checkOrder == null)
+                    ////    {
+                    ////        return WebResponseContent.Instance.Error($"璐ㄦ鍗曟暟鎹敊璇�");
+                    ////    }
+                    ////    quantity = checkOrder.QualifiedQuantity.GetValueOrDefault() + checkOrder.DefectedQuantity.GetValueOrDefault();
+                    ////}
                     #endregion
                     Dt_InboundOrderDetail detail = new Dt_InboundOrderDetail()
                     {
@@ -342,19 +360,19 @@
                         rowNo += 1;
                         receiveOrderDetails.Add(receiveOrderDetail);
                         #region 娉ㄩ噴
-                        //if (materielInfo.IsCheck == WhetherEnum.True)
-                        //{
-                        //    Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
-                        //    checkOrder.CheckOrderNo = "TestCheckNo21";//娴嬭瘯
-                        //    checkOrder.ReceiveOrderNo = "";
-                        //    checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity;
-                        //    checkOrder.ScrappedQuantity = 0;
-                        //    checkOrder.ReturnQuantity = 0;
-                        //    checkOrder.DefectedQuantity = 0;
-                        //    checkOrder.ReceiveDetailRowNo = rowNo;
-                        //    checkOrder.UploadStatus = CheckUploadEnum.UploadNo.ObjToInt();
-                        //    checkOrders.Add(checkOrder);
-                        //}
+                        if (materielInfo.IsCheck == WhetherEnum.True)
+                        {
+                            Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
+                            checkOrder.CheckOrderNo = "TestCheckNo21";//娴嬭瘯
+                            checkOrder.ReceiveOrderNo = "";
+                            checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity;
+                            checkOrder.ScrappedQuantity = 0;
+                            checkOrder.ReturnQuantity = 0;
+                            checkOrder.DefectedQuantity = 0;
+                            checkOrder.ReceiveDetailRowNo = rowNo;
+                            checkOrder.UploadStatus = CheckUploadEnum.UploadNo.ObjToInt();
+                            checkOrders.Add(checkOrder);
+                        }
                         #endregion
                     }
                     receiveOrder = new Dt_ReceiveOrder()
@@ -405,19 +423,19 @@
                         rowNo += 1;
                         receiveOrderDetails.Add(receiveOrderDetail);
 
-                        //if (materielInfo.IsCheck == WhetherEnum.True)
-                        //{
-                        //    Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
-                        //    checkOrder.CheckOrderNo = "Test-CheckNo1";//娴嬭瘯
-                        //    checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity;
-                        //    checkOrder.ScrappedQuantity = 0;
-                        //    checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo;
-                        //    checkOrder.ReturnQuantity = 0;
-                        //    checkOrder.DefectedQuantity = 0;
-                        //    checkOrder.ReceiveDetailRowNo = rowNo;
-                        //    checkOrder.UploadStatus = CheckUploadEnum.UploadNo.ObjToInt();
-                        //    checkOrders.Add(checkOrder);
-                        //}
+                        if (materielInfo.IsCheck == WhetherEnum.True)
+                        {
+                            Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
+                            checkOrder.CheckOrderNo = "Test-CheckNo1";//娴嬭瘯
+                            checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity;
+                            checkOrder.ScrappedQuantity = 0;
+                            checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo;
+                            checkOrder.ReturnQuantity = 0;
+                            checkOrder.DefectedQuantity = 0;
+                            checkOrder.ReceiveDetailRowNo = rowNo;
+                            checkOrder.UploadStatus = CheckUploadEnum.UploadNo.ObjToInt();
+                            checkOrders.Add(checkOrder);
+                        }
                     }
                 }
 
@@ -434,10 +452,10 @@
                     Db.InsertNav(receiveOrder).Include(x => x.Details).ExecuteCommand();
                     checkOrders.ForEach(x => x.ReceiveOrderNo = receiveOrder.ReceiveOrderNo);
                 }
-                //if (checkOrders.Count > 0)
-                //{
-                //    _checkOrderRepository.AddData(checkOrders);
-                //}
+                if (checkOrders.Count > 0)
+                {
+                    _checkOrderRepository.AddData(checkOrders);
+                }
                 _inboundRepository.PurchaseOrderRepository.UpdateData(purchaseOrder);
                 _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrder.Details);
                 _unitOfWorkManage.CommitTran();

--
Gitblit v1.9.3