From a9a3f943efb083de8ed88b293897886b3ef612a2 Mon Sep 17 00:00:00 2001 From: helongyang <647556386@qq.com> Date: 星期一, 11 八月 2025 17:37:09 +0800 Subject: [PATCH] 功能增添优化 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs | 70 +++++++++++++++++++++++++++++++---- 1 files changed, 62 insertions(+), 8 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs" index ce12b7c..03267dc 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs" @@ -1,4 +1,5 @@ -锘縰sing System; +锘縰sing SqlSugar; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -37,6 +38,54 @@ _materielInfoRepository = materielInfoRepository; } + public override PageGridData<Dt_PurchaseOrder> GetPageData(PageDataOptions options) + { + PageGridData<Dt_PurchaseOrder> pageGridData = base.GetPageData(options); + + ISugarQueryable<Dt_PurchaseOrder> sugarQueryable1 = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Includes(x => x.Details); + if (!string.IsNullOrEmpty(options.Wheres)) + { + + List<SearchParameters> searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>(); + int totalCount = 0; + if (searchParametersList.Count > 0) + { + { + SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_PurchaseOrderDetail.MaterielCode).FirstLetterToLower()); + if (searchParameters != null) + { + sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.MaterielCode.Contains(searchParameters.Value))); + List<Dt_PurchaseOrder> dataList = sugarQueryable1.ToPageList(options.Page, options.Rows, ref totalCount); + return new PageGridData<Dt_PurchaseOrder>(totalCount, dataList); + } + } + + { + SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_PurchaseOrderDetail.WarehouseId).FirstLetterToLower()); + if (searchParameters != null && int.TryParse(searchParameters.Value, out int warehouseId)) + { + sugarQueryable1 = sugarQueryable1.Where(x =>x.Details.Any(v => v.WarehouseId == warehouseId)); + List<Dt_PurchaseOrder> dataList = sugarQueryable1.ToPageList(options.Page, options.Rows, ref totalCount); + return new PageGridData<Dt_PurchaseOrder>(totalCount, dataList); + } + } + } + } + return pageGridData; + } + public WebResponseContent GetPurchaseOrderInfo(string purchaseOrderNo) + { + try + { + Dt_PurchaseOrder purchaseOrder = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == purchaseOrderNo).Includes(x => x.Details).First(); + List<string> MaterielCodes = purchaseOrder.Details.Where(x => x.PurchaseDetailStatus != PurchaseOrderDetailStatusEnum.Received.ObjToInt()).Select(x => x.MaterielCode).ToList(); + return WebResponseContent.Instance.OK(data: MaterielCodes); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } public WebResponseContent ReceivePurchaseOrder(PurchaseOrderModel model) { try @@ -86,8 +135,10 @@ Dt_PurchaseOrderDetail purchaseOrderDetail = new Dt_PurchaseOrderDetail() { MaterielCode = item.MCode, + MaterielName = materielInfo.MaterielName, + MaterielSpec = materielInfo.MaterielSpec, PurchaseDetailQuantity = item.Qty, - PurchaseDetailReceiveQty=0, + PurchaseDetailReceiveQty = 0, PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt(), Unit = item.Unit, WarehouseId = warehouse.WarehouseId, @@ -121,7 +172,7 @@ { try { - Dt_PurchaseOrder purchaseOrder = Db.Queryable<Dt_PurchaseOrder>().First(x => x.PurchaseOrderNo == model.OrderNo); + Dt_PurchaseOrder purchaseOrder = Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == model.OrderNo).Includes(x => x.Details).First(); if (purchaseOrder == null) { return WebResponseContent.Instance.Error($"鏈壘鍒伴噰璐崟淇℃伅"); @@ -213,7 +264,7 @@ { try { - Dt_PurchaseOrder purchaseOrder = Db.Queryable<Dt_PurchaseOrder>().First(x => x.PurchaseOrderNo == model.OrderNo); + Dt_PurchaseOrder purchaseOrder = Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == model.OrderNo).Includes(x => x.Details).First(); if (purchaseOrder == null) { return WebResponseContent.Instance.Error($"鏈壘鍒伴噰璐崟淇℃伅"); @@ -235,7 +286,7 @@ { try { - Dt_PurchaseOrder purchaseOrder = Db.Queryable<Dt_PurchaseOrder>().First(x => x.PurchaseOrderNo == model.OrderNo); + Dt_PurchaseOrder purchaseOrder = Db.Queryable<Dt_PurchaseOrder>().Where(x=>x.PurchaseOrderNo== model.OrderNo).Includes(x=>x.Details).First(); if (purchaseOrder == null) { return WebResponseContent.Instance.Error($"鏈壘鍒伴噰璐崟淇℃伅"); @@ -244,12 +295,15 @@ { return WebResponseContent.Instance.Error($"鏈壘鍒伴噰璐崟鏄庣粏淇℃伅"); } - + purchaseOrder.PurchaseOrderStatus = PurchaseOrderStatusEnum.Closed.ObjToInt(); _unitOfWorkManage.BeginTran(); - BaseDal.DeleteAndMoveIntoHty(purchaseOrder, OperateTypeEnum.鍏抽棴); + BaseDal.UpdateData(purchaseOrder); + //BaseDal.DeleteAndMoveIntoHty(purchaseOrder, OperateTypeEnum.鍏抽棴); foreach (var item in purchaseOrder.Details) { - _purchaseOrderDetailRepository.DeleteAndMoveIntoHty(item, OperateTypeEnum.鍏抽棴); + item.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.Closed.ObjToInt(); + //_purchaseOrderDetailRepository.DeleteAndMoveIntoHty(item, OperateTypeEnum.鍏抽棴); + _purchaseOrderDetailRepository.UpdateData(item); } _unitOfWorkManage.CommitTran(); return WebResponseContent.Instance.OK(); -- Gitblit v1.9.3