dengjunjie
2024-12-16 3d25ef8353e593533ade370481a49209dc603785
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs
@@ -3,6 +3,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_BasicRepository;
using WIDESEA_Common.OrderEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
@@ -10,6 +11,7 @@
using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
using WIDESEA_DTO;
using WIDESEA_IBasicRepository;
using WIDESEA_IInboundRepository;
using WIDESEA_IInboundService;
using WIDESEA_InboundRepository;
@@ -21,11 +23,13 @@
    {
        private readonly IUnitOfWorkManage _unitOfWorkManage;
        private readonly IPurchaseOrderDetailRepository _purchaseOrderDetailRepository;
        private readonly IBasicRepository _basicRepository;
        public PurchaseOrderService(IPurchaseOrderRepository BaseDal, IPurchaseOrderDetailRepository purchaseOrderDetailRepository, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
        public PurchaseOrderService(IPurchaseOrderRepository BaseDal, IPurchaseOrderDetailRepository purchaseOrderDetailRepository, IUnitOfWorkManage unitOfWorkManage,IBasicRepository basicRepository) : base(BaseDal)
        {
            _purchaseOrderDetailRepository = purchaseOrderDetailRepository;
            _unitOfWorkManage = unitOfWorkManage;
            _basicRepository = basicRepository;
        }
        public WebResponseContent ReceivePurchaseOrder(PurchaseOrderModel model)
@@ -55,17 +59,22 @@
                {
                    return WebResponseContent.Instance.Error($"采购单号重复");
                }
                List<Dt_PurchaseOrderDetail> purchaseOrderDetails = new List<Dt_PurchaseOrderDetail>();
                List<Dt_Warehouse> warehouses = _basicRepository.WarehouseRepository.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)
                    {
                        return WebResponseContent.Instance.Error($"未找到仓库信息");
                    }
                    Dt_PurchaseOrderDetail purchaseOrderDetail = new Dt_PurchaseOrderDetail()
                    {
                        MaterielCode = item.MCode,
                        PurchaseDetailQuantity = item.Qty,
                        PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt(),
                        Unit = item.Unit,
                        WarehouseId = item.WaId,
                        WarehouseId = warehouse.WarehouseId,
                        RowNo = item.RowId,
                    };
                    purchaseOrderDetails.Add(purchaseOrderDetail);
@@ -105,12 +114,17 @@
                {
                    return WebResponseContent.Instance.Error($"未找到采购单明细信息");
                }
                List<Dt_Warehouse> warehouses = _basicRepository.WarehouseRepository.QueryData();
                List<Dt_PurchaseOrderDetail> purchaseOrderDetails = new List<Dt_PurchaseOrderDetail>();
                List<Dt_PurchaseOrderDetail> updatePurchaseOrderDetails = new List<Dt_PurchaseOrderDetail>();
                List<int> detailIds = new List<int>();
                foreach (var item in model.MList)
                {
                    Dt_Warehouse? warehouse = warehouses.FirstOrDefault(x => x.WarehouseCode == item.WaId);
                    if (warehouse == null)
                    {
                        return WebResponseContent.Instance.Error($"未找到仓库信息");
                    }
                    Dt_PurchaseOrderDetail? purchaseOrderDetail = purchaseOrder.Details.FirstOrDefault(x => x.RowNo == item.RowId);
                    if (purchaseOrderDetail == null)
                    {
@@ -120,7 +134,7 @@
                            PurchaseDetailQuantity = item.Qty,
                            PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt(),
                            Unit = item.Unit,
                            WarehouseId = item.WaId,
                            WarehouseId = warehouse.WarehouseId,
                            RowNo = item.RowId,
                        };
                        purchaseOrderDetails.Add(purchaseOrderDetail);
@@ -131,7 +145,7 @@
                        purchaseOrderDetail.PurchaseDetailQuantity = item.Qty;
                        purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt();
                        purchaseOrderDetail.Unit = item.Unit;
                        purchaseOrderDetail.WarehouseId = item.WaId;
                        purchaseOrderDetail.WarehouseId = warehouse.WarehouseId;
                        purchaseOrderDetail.RowNo = item.RowId;
                        updatePurchaseOrderDetails.Add(purchaseOrderDetail);
                        detailIds.Add(purchaseOrderDetail.Id);