From 3a1a5e58e9ac1b4a8449601db8c6608897877746 Mon Sep 17 00:00:00 2001 From: helongyang <647556386@qq.com> Date: 星期五, 21 三月 2025 11:26:12 +0800 Subject: [PATCH] 界面更新 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs | 118 ++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 72 insertions(+), 46 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 e309926..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" @@ -42,7 +42,16 @@ _basicRepository = basicRepository; _invokeERPService = invokeERPService; } - + public override PageGridData<Dt_ReceiveOrder> GetPageData(PageDataOptions options) + { + PageGridData<Dt_ReceiveOrder> pageGridData = base.GetPageData(options); + //foreach (var item in pageGridData.Rows) + //{ + // //鑾峰彇鏀惰揣鏄庣粏 + // item.PurchaseOrderNo + //} + return pageGridData; + } public override WebResponseContent AddData(SaveModel saveModel) { if (saveModel.MainData.ContainsKey(nameof(Dt_ReceiveOrder.ReceiveOrderStatus).FirstLetterToLower())) @@ -95,7 +104,7 @@ { return WebResponseContent.Instance.Error($"鏈壘鍒版敹璐у崟"); } - if (receiveOrder.ReceiveOrderStatus==ReceiveOrderStatusEnum.Completed.ObjToInt()) + if (receiveOrder.ReceiveOrderStatus == ReceiveOrderStatusEnum.Completed.ObjToInt()) { return WebResponseContent.Instance.Error($"鏀惰揣鍗曞凡瀹屾垚"); } @@ -122,45 +131,48 @@ 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); } ERPReceiveModel receiveModel = new ERPReceiveModel() { Code = receiveOrder.ReceiveOrderNo, - CompanyId = "HATC", DeliveryCode = receiveOrder.DeliveryCode, CustomerId = receiveOrder.CustomerId, - CreatorId = "TC20082",//娴嬭瘯 receiveOrder.Creater + CreatorId = receiveOrder.Creater, EntDate = receiveOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), - ReceiveDate = receiveOrder.ReceiveDate.ToString("yyyy-MM-dd HH:mm:ss"), - PlantsId = "HA02", + ReceiveDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), SuppliersId = receiveOrder.SuppliersId, - Type = Enum.GetName(typeof(ReceiveOrderTypeEnum),receiveOrder.ReceiveOrderType), + Type = Enum.GetName(typeof(ReceiveOrderTypeEnum), receiveOrder.ReceiveOrderType) ?? throw new Exception($"閲囪喘鍗曠被鍨嬮敊璇�"), UniqueTag = receiveOrder.ReceiveOrderId.ToString(), WarehouseCode = warehouse.WarehouseCode, Way = 1, Details = recevieOrderDetails }; - //鏀惰揣鎺ㄩ�佽嚦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(); + receiveOrder.ReceiveOrderStatus = ReceiveOrderStatusEnum.Completed.ObjToInt(); + //鏀惰揣鎺ㄩ�佽嚦ER + string response = _invokeERPService.InvokeMatReceiveApi(receiveModel); + ErpRequestContent requestContent = response.DeserializeObject<ErpRequestContent>(); + if (requestContent.res == 1) + { + receiveOrder.UploadStatus = WhetherEnum.True.ObjToInt(); + } BaseDal.UpdateData(receiveOrder); - _unitOfWorkManage.CommitTran(); + //鍒涘缓鍏ュ簱鍗� + CreateInboundOrder(orderId); return WebResponseContent.Instance.OK(); } catch (Exception ex) @@ -175,15 +187,16 @@ try { int pageNo = saveModel.MainData["pageNo"].ObjToInt(); + int warehouseId = saveModel.MainData["warehouseId"].ObjToInt(); string orderNo = saveModel.MainData["orderNo"].ToString(); List<Dt_ReceiveOrder> dt_ReceiveOrders = new List<Dt_ReceiveOrder>(); if (string.IsNullOrEmpty(orderNo)) { - dt_ReceiveOrders = Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderStatus < ReceiveOrderStatusEnum.Completed.ObjToInt()).ToPageList(pageNo, 5); + dt_ReceiveOrders = Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderStatus < ReceiveOrderStatusEnum.Completed.ObjToInt() && x.WarehouseId == warehouseId).ToPageList(pageNo, 5); } else { - dt_ReceiveOrders = Db.Queryable<Dt_ReceiveOrder>().Where(x => (x.ReceiveOrderNo.Contains(orderNo) || x.SuppliersId.Contains(orderNo)) && x.ReceiveOrderStatus < ReceiveOrderStatusEnum.Completed.ObjToInt()).ToPageList(pageNo, 5); + dt_ReceiveOrders = Db.Queryable<Dt_ReceiveOrder>().Where(x => (x.ReceiveOrderNo.Contains(orderNo) || x.SuppliersId.Contains(orderNo)) && x.ReceiveOrderStatus < ReceiveOrderStatusEnum.Completed.ObjToInt() && x.WarehouseId == warehouseId).ToPageList(pageNo, 5); } content.OK(data: dt_ReceiveOrders); @@ -205,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($"鏈壘鍒拌鏀惰揣鍗曚俊鎭�"); @@ -217,21 +234,26 @@ { 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) + Dt_InboundOrder OldCreateOrder = _inboundRepository.InboundOrderRepository.QueryFirst(x => x.UpperOrderNo == receiveOrder.ReceiveOrderNo); + if (receiveOrder.CreateInOrderStatus==WhetherEnum.True.ObjToInt() || OldCreateOrder!=null) { - return WebResponseContent.Instance.Error($"璇ユ敹璐у崟鏈川妫�瀹屾垚"); + 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($"璇ユ敹璐у崟鏈川妫�瀹屾垚"); + ////} - 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() { - InboundOrderNo="TestInboundNo1",//娴嬭瘯 UpperOrderNo = receiveOrder.ReceiveOrderNo, CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(), OrderStatus = InOrderStatusEnum.鏈紑濮�.ObjToInt(), @@ -240,22 +262,26 @@ SupplierId = receiveOrder.SuppliersId, Details = new List<Dt_InboundOrderDetail>() }; - + List<Dt_MaterielInfo> materielCodeInfos = _basicRepository.MaterielInfoRepository.QueryData(x => receiveOrder.Details.Select(x => x.MaterielCode).ToList().Contains(x.MaterielCode)); foreach (var item in receiveOrder.Details) { float quantity = item.ReceivedQuantity; - 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(); - } + #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(); + ////} + #endregion Dt_InboundOrderDetail detail = new Dt_InboundOrderDetail() { 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, @@ -286,7 +312,7 @@ { return WebResponseContent.Instance.Error($"鏈壘鍒拌閲囪喘鍗�"); } - if (purchaseOrder.Details == null || purchaseOrder.Details.Count == 0) + if (purchaseOrder.Details.Count == 0) { return WebResponseContent.Instance.Error($"鏈壘鍒伴噰璐崟鏄庣粏淇℃伅"); } @@ -333,11 +359,11 @@ }; rowNo += 1; receiveOrderDetails.Add(receiveOrderDetail); - + #region 娉ㄩ噴 if (materielInfo.IsCheck == WhetherEnum.True) { Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail); - checkOrder.CheckOrderNo = "TestCheckNo11";//娴嬭瘯 + checkOrder.CheckOrderNo = "TestCheckNo21";//娴嬭瘯 checkOrder.ReceiveOrderNo = ""; checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity; checkOrder.ScrappedQuantity = 0; @@ -347,10 +373,10 @@ checkOrder.UploadStatus = CheckUploadEnum.UploadNo.ObjToInt(); checkOrders.Add(checkOrder); } + #endregion } receiveOrder = new Dt_ReceiveOrder() { - ReceiveOrderNo= "TestReceiveOrderNo11",//娴嬭瘯 ReceiveOrderStatus = ReceiveOrderStatusEnum.Receiving.ObjToInt(), CustomerId = "", DeliveryCode = "/", -- Gitblit v1.9.3