xiazhengtongxue
9 小时以前 56538e602b927c232ac5b991ef84175edd2ce3ce
Code/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs
@@ -197,7 +197,7 @@
        /// <returns>库存信息</returns>
        public async Task<Dt_StockInfo> GetStockInfoAsync(string palletCode, string locationCode)
        {
            return await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode && x.LocationCode == locationCode);
            return await BaseDal.QueryDataNavFirstAsync(x => x.PalletCode == palletCode && x.LocationCode == locationCode);
        }
        /// <summary>
@@ -257,12 +257,12 @@
                    // 空托盘也有库存记录,只是不包含明细
                    item.PalletCode = stockInfo.PalletCode;
                    item.StockStatus = stockInfo.StockStatus; // 直接使用后端库存状态
                    // 只有当Details不为null且有数据时才处理库存明细
                    if (stockInfo.Details != null && stockInfo.Details.Any())
                    {
                        item.StockQuantity = stockInfo.Details.Sum(d => d.StockQuantity);
                        item.OutboundDate = stockInfo.OutboundDate;
                        // 获取第一个明细的物料信息(如果存在)
                        var firstDetail = stockInfo.Details.FirstOrDefault();
                        if (firstDetail != null)
@@ -278,6 +278,7 @@
                            Id = d.Id,
                            MaterielCode = d.MaterielCode,
                            MaterielName = d.MaterielName,
                            SerialNumber = d.SerialNumber,
                            BatchNo = d.BatchNo,
                            StockQuantity = d.StockQuantity,
                            Unit = d.Unit,
@@ -381,5 +382,27 @@
                return WebResponseContent.Instance.Error($"删除库存和明细时发生异常: {ex.Message}");
            }
        }
        /// <summary>
        /// 更新MES上传状态
        /// </summary>
        /// <param name="palletCode">托盘号</param>
        /// <param name="status">MES上传状态值</param>
        /// <returns>更新是否成功</returns>
        public async Task<bool> UpdateMesUploadStatusAsync(string palletCode, int status)
        {
            try
            {
                var stockInfo = await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode);
                if (stockInfo == null)
                    return false;
                stockInfo.MesUploadStatus = status;
                return await BaseDal.UpdateDataAsync(stockInfo);
            }
            catch
            {
                return false;
            }
        }
    }
}