From 5e29274b887d9b9f9b1df23d4a804f30892c8a03 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期三, 15 一月 2025 18:28:20 +0800
Subject: [PATCH] 采购单详情物料编号去重

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 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 6540ec2..bf6d65c 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,7 @@
 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;
@@ -20,14 +21,27 @@
         public PurchaseOrderDetailService(IPurchaseOrderDetailRepository BaseDal) : base(BaseDal)
         {
         }
-
-        public WebResponseContent GetPurchaseOrderInfo(string materielCode)
+        public WebResponseContent GetPurchaseOrderDetailMaterielCode(int warehouseId)
         {
             try
             {
-                List<Dt_PurchaseOrderDetail> purchaseOrderDetails = BaseDal.QueryData(x => x.MaterielCode == materielCode);
-                List<int> ids = purchaseOrderDetails.Select(x => x.PurchaseOrderId).ToList();
-                List<Dt_PurchaseOrder> purchaseOrders = Db.Queryable<Dt_PurchaseOrder>().Where(x => ids.Contains(x.Id)).ToList();
+                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);
             }

--
Gitblit v1.9.3