From 25cb7cd50d12f48e93d6cde47420ca3458e9c47a Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期四, 12 六月 2025 21:39:43 +0800
Subject: [PATCH] 1

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs |   33 ++++++++++++++++++++++++++-------
 1 files changed, 26 insertions(+), 7 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 270c4c6..2eb5da7 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"
@@ -36,7 +36,19 @@
             _supplierInfoRepository = supplierInfoRepository;
             _materielInfoRepository = materielInfoRepository;
         }
-
+        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,7 +98,10 @@
                     Dt_PurchaseOrderDetail purchaseOrderDetail = new Dt_PurchaseOrderDetail()
                     {
                         MaterielCode = item.MCode,
+                        MaterielName = materielInfo.MaterielName,
+                        MaterielSpec = materielInfo.MaterielSpec,
                         PurchaseDetailQuantity = item.Qty,
+                        PurchaseDetailReceiveQty = 0,
                         PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt(),
                         Unit = item.Unit,
                         WarehouseId = warehouse.WarehouseId,
@@ -120,7 +135,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($"鏈壘鍒伴噰璐崟淇℃伅");
@@ -157,6 +172,7 @@
                         {
                             MaterielCode = item.MCode,
                             PurchaseDetailQuantity = item.Qty,
+                            PurchaseDetailReceiveQty = 0,
                             PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt(),
                             Unit = item.Unit,
                             WarehouseId = warehouse.WarehouseId,
@@ -211,7 +227,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($"鏈壘鍒伴噰璐崟淇℃伅");
@@ -233,7 +249,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($"鏈壘鍒伴噰璐崟淇℃伅");
@@ -242,12 +258,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