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/ReceiveOrderService.cs | 106 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 67 insertions(+), 39 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 3aa437c..80a732e 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,20 @@ //鏇存柊鏀惰揣鍗曚俊鎭� receiveOrder.ReceiveOrderStatus = ReceiveOrderStatusEnum.Completed.ObjToInt(); + //鏀惰揣鎺ㄩ�佽嚦ER + string response = _invokeERPService.InvokeMatReceiveApi(receiveModel); + ErpRequestContent requestContent = response.DeserializeObject<ErpRequestContent>(); + if (requestContent.res != 1) + { + return WebResponseContent.Instance.Error($"{requestContent.Data}"); + } receiveOrder.UploadStatus = WhetherEnum.True.ObjToInt(); BaseDal.UpdateData(receiveOrder); - //鍒涘缓鍏ュ簱鍗� - CreateInboundOrder(orderId); - //鏀惰揣鎺ㄩ�佽嚦ERP 娴嬭瘯娉ㄩ噴 - _invokeERPService.InvokeMatReceiveApi(receiveModel); + if (receiveOrder.Details.FirstOrDefault(x=>x.IfInspection==WhetherEnum.True.ObjToInt())==null) + { + //鍒涘缓鍏ュ簱鍗� todo:鏄庣粏閮芥槸涓嶆楠岃嚜鍔ㄥ垱寤哄叆搴撳崟 + CreateInboundOrder(orderId); + } return WebResponseContent.Instance.OK(); } catch (Exception ex) @@ -209,6 +222,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,6 +238,11 @@ { 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) @@ -228,9 +250,13 @@ // return WebResponseContent.Instance.Error($"璇ユ敹璐у崟鏈川妫�瀹屾垚"); //} - //if (checkOrders.FirstOrDefault(x => x.AuditStatus != AuditStatusEnum.Agree.ObjToInt()) != null) + ////if (checkOrders.FirstOrDefault(x => x.AuditStatus != AuditStatusEnum.Agree.ObjToInt()) != null) + ////{ + //// return WebResponseContent.Instance.Error($"璇ユ敹璐у崟璐ㄦ缁撴灉瀹℃壒鏈畬鎴�"); + ////} + //if (checkOrders.FirstOrDefault(x => x.Result != CheckAcceptEnum.Accept.ToString()) != null) //{ - // return WebResponseContent.Instance.Error($"璇ユ敹璐у崟璐ㄦ缁撴灉瀹℃壒鏈畬鎴�"); + // return WebResponseContent.Instance.Error($"鏀惰揣鏄庣粏涓瓨鏈夎川妫�鏈�氳繃"); //} #endregion @@ -263,6 +289,7 @@ { MaterielCode = item.MaterielCode, MaterielName = materielCodeInfos.FirstOrDefault(x => x.MaterielCode == item.MaterielCode)?.MaterielName ?? "", + MaterielSpec= materielCodeInfos.FirstOrDefault(x => x.MaterielCode == item.MaterielCode)?.MaterielSpec ?? "", OrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt(), OrderQuantity = quantity, OverInQuantity = 0, @@ -283,7 +310,7 @@ return WebResponseContent.Instance.Error(ex.Message); } } - + #region 娴嬭瘯 public WebResponseContent ReceiveAllOrder(int purchaseOrderId, string lotNo) { try @@ -341,19 +368,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() @@ -404,19 +431,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); + } } } @@ -433,10 +460,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(); @@ -448,5 +475,6 @@ return WebResponseContent.Instance.Error(ex.Message); } } + #endregion } } -- Gitblit v1.9.3