From bc3e001d093c3d6cbddc7e008aa99c12f850c1e5 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期四, 26 十二月 2024 21:50:35 +0800
Subject: [PATCH] 更新

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs |   65 ++++++++++++++++++++++++--------
 1 files changed, 49 insertions(+), 16 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 f2a2084..e309926 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"
@@ -11,7 +11,9 @@
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
 using WIDESEA_Core.Helper;
+using WIDESEA_DTO;
 using WIDESEA_DTO.Basic;
+using WIDESEA_DTO.ERP;
 using WIDESEA_External.ERPService;
 using WIDESEA_External.Model;
 using WIDESEA_IBasicRepository;
@@ -79,7 +81,11 @@
 
             return base.AddData(saveModel);
         }
-
+        /// <summary>
+        /// 鏀惰揣瀹屾垚骞跺洖浼燛RP
+        /// </summary>
+        /// <param name="orderId"></param>
+        /// <returns></returns>
         public WebResponseContent FeedbackReceiveOrder(int orderId)
         {
             try
@@ -88,6 +94,10 @@
                 if (receiveOrder == null)
                 {
                     return WebResponseContent.Instance.Error($"鏈壘鍒版敹璐у崟");
+                }
+                if (receiveOrder.ReceiveOrderStatus==ReceiveOrderStatusEnum.Completed.ObjToInt())
+                {
+                    return WebResponseContent.Instance.Error($"鏀惰揣鍗曞凡瀹屾垚");
                 }
                 if (receiveOrder.Details == null || receiveOrder.Details.Count == 0)
                 {
@@ -112,10 +122,11 @@
                         PriceInTax = 0,
                         PurchaseOrderCode = item.PurchaseOrderNo,
                         PurchaseOrderSerno = item.PurchaseOrderDetailRowNo,
-                        QtyReceived = item.ReceivedQuantity,
+                        QtyRecieved = item.ReceivedQuantity.ObjToInt(),
                         Serno = item.RowNo,
                         Supplotno = "",
-                        Taxrate = ""
+                        Taxrate = "",
+                        
                     };
                     recevieOrderDetails.Add(recevieOrderDetail);
                 }
@@ -123,23 +134,33 @@
                 ERPReceiveModel receiveModel = new ERPReceiveModel()
                 {
                     Code = receiveOrder.ReceiveOrderNo,
-                    CompanyId = "",
+                    CompanyId = "HATC",
                     DeliveryCode = receiveOrder.DeliveryCode,
                     CustomerId = receiveOrder.CustomerId,
-                    CreatorId = receiveOrder.Creater,
-                    EndDate = receiveOrder.CreateDate,
-                    ReceiveDate = receiveOrder.CreateDate,
-                    PlantsId = "",
+                    CreatorId = "TC20082",//娴嬭瘯 receiveOrder.Creater
+                    EntDate = receiveOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
+                    ReceiveDate = receiveOrder.ReceiveDate.ToString("yyyy-MM-dd HH:mm:ss"),
+                    PlantsId = "HA02",
                     SuppliersId = receiveOrder.SuppliersId,
-                    Type = "PO",
+                    Type = Enum.GetName(typeof(ReceiveOrderTypeEnum),receiveOrder.ReceiveOrderType),
                     UniqueTag = receiveOrder.ReceiveOrderId.ToString(),
                     WarehouseCode = warehouse.WarehouseCode,
                     Way = 1,
                     Details = recevieOrderDetails
                 };
-
-                string response = _invokeERPService.InvokeMatReceiveApi(receiveModel);
-
+                //鏀惰揣鎺ㄩ�佽嚦ERP
+                string Content = _invokeERPService.InvokeMatReceiveApi(receiveModel);
+                ErpRequestContent erpRequest=Content.DeserializeObject<ErpRequestContent>();
+                if (erpRequest.res==0)
+                {
+                    return WebResponseContent.Instance.Error(erpRequest.Data);
+                }
+                receiveOrder.ReceiveOrderStatus = ReceiveOrderStatusEnum.Completed.ObjToInt();
+                receiveOrder.UploadStatus = WhetherEnum.True.ObjToInt();
+                //鏇存柊鏀惰揣鍗曚俊鎭�
+                _unitOfWorkManage.BeginTran();
+                BaseDal.UpdateData(receiveOrder);
+                _unitOfWorkManage.CommitTran();
                 return WebResponseContent.Instance.OK();
             }
             catch (Exception ex)
@@ -174,7 +195,11 @@
             }
             return content;
         }
-
+        /// <summary>
+        /// 鍒涘缓鍏ュ簱鍗�
+        /// </summary>
+        /// <param name="receiveOrderId">鏀惰揣鍗曠紪鍙�</param>
+        /// <returns></returns>
         public WebResponseContent CreateInboundOrder(int receiveOrderId)
         {
             try
@@ -206,6 +231,7 @@
 
                 Dt_InboundOrder inboundOrder = new Dt_InboundOrder()
                 {
+                    InboundOrderNo="TestInboundNo1",//娴嬭瘯
                     UpperOrderNo = receiveOrder.ReceiveOrderNo,
                     CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
                     OrderStatus = InOrderStatusEnum.鏈紑濮�.ObjToInt(),
@@ -311,20 +337,23 @@
                         if (materielInfo.IsCheck == WhetherEnum.True)
                         {
                             Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
+                            checkOrder.CheckOrderNo = "TestCheckNo11";//娴嬭瘯
                             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);
                         }
                     }
                     receiveOrder = new Dt_ReceiveOrder()
                     {
+                        ReceiveOrderNo= "TestReceiveOrderNo11",//娴嬭瘯
                         ReceiveOrderStatus = ReceiveOrderStatusEnum.Receiving.ObjToInt(),
                         CustomerId = "",
-                        DeliveryCode = "",
+                        DeliveryCode = "/",
                         ReceiveDate = DateTime.Now,
                         ReceiveOrderType = ReceiveOrderTypeEnum.PO.ObjToInt(),
                         SuppliersId = purchaseOrder.SupplierCode,
@@ -371,12 +400,14 @@
                         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);
                         }
                     }
@@ -395,11 +426,13 @@
                     Db.InsertNav(receiveOrder).Include(x => x.Details).ExecuteCommand();
                     checkOrders.ForEach(x => x.ReceiveOrderNo = receiveOrder.ReceiveOrderNo);
                 }
-                _checkOrderRepository.AddData(checkOrders);
+                if (checkOrders.Count > 0)
+                {
+                    _checkOrderRepository.AddData(checkOrders);
+                }
                 _inboundRepository.PurchaseOrderRepository.UpdateData(purchaseOrder);
                 _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrder.Details);
                 _unitOfWorkManage.CommitTran();
-
                 return WebResponseContent.Instance.OK();
             }
             catch (Exception ex)

--
Gitblit v1.9.3