wangxinhui
2025-01-12 2f14ad3cc01d575bfde0850bae05fded8acb7af6
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs
@@ -157,7 +157,6 @@
                        };
                        Dt_OutboundOrder outboundOrder = new Dt_OutboundOrder()
                        {
                            OrderNo = model.OrderNo,
                            UpperOrderNo = model.OrderNo,
                            OrderStatus = OutOrderStatusEnum.未开始.ObjToInt(),
                            OrderType = OutOrderTypeEnum.Issue.ObjToInt(),
@@ -240,31 +239,37 @@
                //测试架库给ERP上报出库完成
                if (warehouse.WarehouseCode == WarehouseEnum.HA64.ToString())
                {
                    stockInfos = TestOutStocksUpdate(warehouse).Data as List<Dt_StockInfo> ?? new List<Dt_StockInfo>();
                    List<ERPPickItemModel> eRPOutPick = new List<ERPPickItemModel>();
                    for (int i = 0; i < stockInfos.Count; i++)
                    List<ERPPickModel> eRPPicks = new List<ERPPickModel>();
                    foreach (var item in outboundOrder.Details)
                    {
                        ERPPickItemModel pickItemModel = new ERPPickItemModel()
                        if (item.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()) continue;
                        stockInfos = TestOutStocksUpdate(warehouse, item).Data as List<Dt_StockInfo> ?? null;
                        if (stockInfos == null) continue;
                        List<ERPPickItemModel> eRPOutPick = new List<ERPPickItemModel>();
                        for (int i = 0; i < stockInfos.Count; i++)
                        {
                            Lotno = stockInfos[i].Details[0].BatchNo,
                            Qty = stockInfos[i].Details[0].StockQuantity.ObjToInt().ToString(),
                            Location = warehouse.WarehouseCode
                            ERPPickItemModel pickItemModel = new ERPPickItemModel()
                            {
                                Lotno = stockInfos[i].Details[0].BatchNo,
                                Qty = stockInfos[i].Details[0].StockQuantity.ObjToInt().ToString(),
                                Location = warehouse.WarehouseCode
                            };
                            eRPOutPick.Add(pickItemModel);
                        }
                        ERPPickModel pickModel = new ERPPickModel()
                        {
                            Rowindex = item.RowNo,
                            Material = item.MaterielCode,
                            Qty = (item.OrderQuantity.ObjToInt()).ToString(),
                            Dataitem = eRPOutPick
                        };
                        eRPOutPick.Add(pickItemModel);
                        eRPPicks.Add(pickModel);
                    }
                    ERPPickModel pickModel = new ERPPickModel()
                    {
                        Rowindex = outboundOrder.Details[0].RowNo,
                        Material = outboundOrder.Details[0].MaterielCode,
                        Qty = (outboundOrder.Details[0].OrderQuantity.ObjToInt()).ToString(),
                        Dataitem = eRPOutPick
                    };
                    ERPIssueItemModel issueItemModel = new ERPIssueItemModel()
                    {
                        Pickcode = outboundOrder.UpperOrderNo,
                        PickList = new List<ERPPickModel>() { pickModel }
                        PickList = eRPPicks
                    };
                    issueModel = new ERPIssueModel()
                    {
@@ -316,7 +321,7 @@
                    issueModel = new ERPIssueModel()
                    {
                        UniqueTag = id.ToString(),
                        Code = outboundOrder.OrderNo,//测试
                        Code = outboundOrder.OrderNo,
                        WarehouseCode = warehouse.WarehouseCode,
                        Docremark = "",
                        Deptno = outboundOrder.DepartmentCode,
@@ -350,15 +355,15 @@
        /// <param name="warehouse"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public WebResponseContent TestOutStocksUpdate(Dt_Warehouse warehouse)
        public WebResponseContent TestOutStocksUpdate(Dt_Warehouse warehouse,Dt_OutboundOrderDetail outboundOrderDetails)
        {
            try
            {
                //获取出库单库存
                List<Dt_StockInfo> stockInfos = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.WarehouseId == warehouse.WarehouseId).Includes(x => x.Details).ToList();
                List<Dt_StockInfo> stockInfos = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.WarehouseId == warehouse.WarehouseId).Includes(x => x.Details).Where(x=>x.Details.Any(j=>j.MaterielCode== outboundOrderDetails.MaterielCode)).Take((int)outboundOrderDetails.OrderQuantity).ToList();
                if (stockInfos.Count <= 0)
                {
                    return WebResponseContent.Instance.Error($"库存不足");
                    return WebResponseContent.Instance.OK();
                }
                //更改状态
                stockInfos.ForEach(x =>