From ffb5bb3a68ae74ed3a1765baf946336cead3bb0d Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期一, 23 六月 2025 09:00:37 +0800 Subject: [PATCH] 货位同侧移库,干膜货位大小托分配优化,WCS任务接收优化等 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs | 63 +++++++++++++++++++++++++++++++ 1 files changed, 62 insertions(+), 1 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs" index d03a821..2cd6d3a 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs" @@ -3,6 +3,8 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using WIDESEA_Common.OrderEnum; +using WIDESEA_Core; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; @@ -12,12 +14,71 @@ namespace WIDESEA_InboundService { - public class PurchaseOrderDetailService : ServiceBase<Dt_PurchaseOrderDetail, IPurchaseOrderDetailRepository>,IPurchaseOrderDetailService + public class PurchaseOrderDetailService : ServiceBase<Dt_PurchaseOrderDetail, IPurchaseOrderDetailRepository>, IPurchaseOrderDetailService { public IPurchaseOrderDetailRepository Repository => BaseDal; public PurchaseOrderDetailService(IPurchaseOrderDetailRepository BaseDal) : base(BaseDal) { } + public WebResponseContent GetPurchaseOrderDetailMaterielCode(int warehouseId) + { + try + { + List<Dt_PurchaseOrderDetail> purchaseOrderDetails = BaseDal.QueryData(x => x.WarehouseId == warehouseId && x.PurchaseDetailStatus != PurchaseOrderDetailStatusEnum.Received.ObjToInt()); + List<string> MaterielCodes = purchaseOrderDetails.Select(x => x.MaterielCode).ToList(); + MaterielCodes = MaterielCodes.Distinct().ToList(); + return WebResponseContent.Instance.OK(data: MaterielCodes); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + public WebResponseContent GetPurchaseOrderNos(string materielCode) + { + try + { + List<Dt_PurchaseOrderDetail> purchaseOrderDetails = BaseDal.QueryData(x => x.MaterielCode == materielCode && x.PurchaseDetailStatus != PurchaseOrderDetailStatusEnum.Received.ObjToInt()); + List<int> PurchaseOrderIds = purchaseOrderDetails.Select(x => x.PurchaseOrderId).ToList(); + List<Dt_PurchaseOrder> purchaseOrders = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Where(x => PurchaseOrderIds.Contains(x.Id)).ToList(); + List<string> PurchaseOrderNos = purchaseOrders.Select(x => x.PurchaseOrderNo).ToList(); + return WebResponseContent.Instance.OK(data: PurchaseOrderNos); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + public WebResponseContent GetOrderQuantity(string purchaseOrderNo) + { + try + { + List<Dt_PurchaseOrder> purchaseOrders = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == purchaseOrderNo).ToList(); + List<float> orderQuantity = purchaseOrders.Select(x => x.OrderQuantity).ToList(); + return WebResponseContent.Instance.OK(data: orderQuantity); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + + public WebResponseContent GetOrderMaterielSpec(string purchaseOrderNo, string materielCode) + { + try + { + List<Dt_PurchaseOrder> purchaseOrders = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == purchaseOrderNo).ToList(); + List<int> purchaseOrderIds = purchaseOrders.Select(x => x.Id).ToList(); + List<Dt_PurchaseOrderDetail> purchaseOrderDetails = BaseDal.Db.Queryable<Dt_PurchaseOrderDetail>() + .Where(x => purchaseOrderIds.Contains(x.PurchaseOrderId)&& x.MaterielCode == materielCode).ToList(); + List<string> materielSpec = purchaseOrderDetails.Select(x => x.MaterielSpec).ToList(); + return WebResponseContent.Instance.OK(data: materielSpec); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } } } -- Gitblit v1.9.3