From 911a17b31eb1caa56d02a7be547176be6c259127 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期一, 16 十二月 2024 21:30:23 +0800
Subject: [PATCH] 接口优化

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs |   31 ++++++++++++++++++++++++++++---
 1 files changed, 28 insertions(+), 3 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 fd2344f..270c4c6 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"
@@ -11,6 +11,7 @@
 using WIDESEA_Core.Enums;
 using WIDESEA_Core.Helper;
 using WIDESEA_DTO;
+using WIDESEA_DTO.Basic;
 using WIDESEA_IBasicRepository;
 using WIDESEA_IInboundRepository;
 using WIDESEA_IInboundService;
@@ -24,12 +25,16 @@
         private readonly IUnitOfWorkManage _unitOfWorkManage;
         private readonly IPurchaseOrderDetailRepository _purchaseOrderDetailRepository;
         private readonly IBasicRepository _basicRepository;
+        private readonly ISupplierInfoRepository _supplierInfoRepository;
+        private readonly IMaterielInfoRepository _materielInfoRepository;
 
-        public PurchaseOrderService(IPurchaseOrderRepository BaseDal, IPurchaseOrderDetailRepository purchaseOrderDetailRepository, IUnitOfWorkManage unitOfWorkManage,IBasicRepository basicRepository) : base(BaseDal)
+        public PurchaseOrderService(IPurchaseOrderRepository BaseDal, IPurchaseOrderDetailRepository purchaseOrderDetailRepository, IUnitOfWorkManage unitOfWorkManage, IBasicRepository basicRepository, ISupplierInfoRepository supplierInfoRepository, IMaterielInfoRepository materielInfoRepository) : base(BaseDal)
         {
             _purchaseOrderDetailRepository = purchaseOrderDetailRepository;
             _unitOfWorkManage = unitOfWorkManage;
             _basicRepository = basicRepository;
+            _supplierInfoRepository = supplierInfoRepository;
+            _materielInfoRepository = materielInfoRepository;
         }
 
         public WebResponseContent ReceivePurchaseOrder(PurchaseOrderModel model)
@@ -59,14 +64,24 @@
                 {
                     return WebResponseContent.Instance.Error($"閲囪喘鍗曞彿閲嶅");
                 }
+                if (_supplierInfoRepository.QueryFirst(x => x.SupplierCode == model.SCode) == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒颁緵搴斿晢缂栫爜銆恵model.SCode}銆戠殑淇℃伅");
+                }
                 List<Dt_Warehouse> warehouses = _basicRepository.WarehouseRepository.QueryData();
-                 List<Dt_PurchaseOrderDetail> purchaseOrderDetails = new List<Dt_PurchaseOrderDetail>();
+                List<Dt_MaterielInfo> materielInfos = _materielInfoRepository.QueryData();
+                List<Dt_PurchaseOrderDetail> purchaseOrderDetails = new List<Dt_PurchaseOrderDetail>();
                 foreach (var item in model.MList)
                 {
                     Dt_Warehouse? warehouse = warehouses.FirstOrDefault(x => x.WarehouseCode == item.WaId);
-                    if(warehouse == null)
+                    if (warehouse == null)
                     {
                         return WebResponseContent.Instance.Error($"鏈壘鍒颁粨搴撲俊鎭�");
+                    }
+                    Dt_MaterielInfo? materielInfo = materielInfos.FirstOrDefault(x => x.MaterielCode == item.MCode);
+                    if (materielInfo == null)
+                    {
+                        return WebResponseContent.Instance.Error($"鏈壘鍒扮墿鏂欑紪鐮併�恵item.MCode}銆戠殑淇℃伅");
                     }
                     Dt_PurchaseOrderDetail purchaseOrderDetail = new Dt_PurchaseOrderDetail()
                     {
@@ -114,7 +129,12 @@
                 {
                     return WebResponseContent.Instance.Error($"鏈壘鍒伴噰璐崟鏄庣粏淇℃伅");
                 }
+                if (_supplierInfoRepository.QueryFirst(x => x.SupplierCode == model.SCode) == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒颁緵搴斿晢缂栫爜銆恵model.SCode}銆戠殑淇℃伅");
+                }
                 List<Dt_Warehouse> warehouses = _basicRepository.WarehouseRepository.QueryData();
+                List<Dt_MaterielInfo> materielInfos = _materielInfoRepository.QueryData();
                 List<Dt_PurchaseOrderDetail> purchaseOrderDetails = new List<Dt_PurchaseOrderDetail>();
                 List<Dt_PurchaseOrderDetail> updatePurchaseOrderDetails = new List<Dt_PurchaseOrderDetail>();
                 List<int> detailIds = new List<int>();
@@ -125,6 +145,11 @@
                     {
                         return WebResponseContent.Instance.Error($"鏈壘鍒颁粨搴撲俊鎭�");
                     }
+                    Dt_MaterielInfo? materielInfo = materielInfos.FirstOrDefault(x => x.MaterielCode == item.MCode);
+                    if (materielInfo == null)
+                    {
+                        return WebResponseContent.Instance.Error($"鏈壘鍒扮墿鏂欑紪鐮併�恵item.MCode}銆戠殑淇℃伅");
+                    }
                     Dt_PurchaseOrderDetail? purchaseOrderDetail = purchaseOrder.Details.FirstOrDefault(x => x.RowNo == item.RowId);
                     if (purchaseOrderDetail == null)
                     {

--
Gitblit v1.9.3