| | |
| | | using System.Web; |
| | | using System.Text; |
| | | using System; |
| | | using Admin.NET.Application.Service.WmsTask.WmsRbLineTask.Dto; |
| | | |
| | | namespace Admin.NET.Application; |
| | | /// <summary> |
| | | /// 库存信息服务 |
| | |
| | | public class WmsStockQuanService : IDynamicApiController, ITransient |
| | | { |
| | | private readonly SqlSugarRepository<WmsStockQuan> _rep; |
| | | public WmsStockQuanService(SqlSugarRepository<WmsStockQuan> rep) |
| | | private readonly SqlSugarRepository<Mes_BatchOrderUPI_New> _Mes_BatchOrderUPI_New_Rep; |
| | | private readonly SqlSugarRepository<V_Station_Quan> _V_Station_Quan_Rep; |
| | | |
| | | public WmsStockQuanService(SqlSugarRepository<WmsStockQuan> rep, |
| | | SqlSugarRepository<Mes_BatchOrderUPI_New> Mes_BatchOrderUPI_New_Rep, |
| | | SqlSugarRepository<V_Station_Quan> v_Station_Quan_Rep) |
| | | { |
| | | _rep = rep; |
| | | _Mes_BatchOrderUPI_New_Rep = Mes_BatchOrderUPI_New_Rep; |
| | | _V_Station_Quan_Rep = v_Station_Quan_Rep; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | throw Oops.Oh($"导入数据不能为空"); |
| | | } |
| | | //根据组合校验验证表格中中是否已存在相同数据 |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //根据单独校验验证表格中中是否已存在相同数据 |
| | | |
| | | |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | /// <summary> |
| | | /// 不分页查询齐包管理 |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [ApiDescriptionSettings(Name = "packList")] |
| | | [Description("WmsStockQuan/packList")] |
| | | public async Task<List<WmsPackListOutput>> packList([FromQuery] PackListInput input) |
| | | { |
| | | // 查询并转换为 WmsKittingListOutput 对象的列表 |
| | | var list = await _rep.AsQueryable() |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.DetailName), u => u.PlaceCode.Contains(input.DetailName.Trim())) |
| | | .Select(x => new WmsPackListOutput |
| | | { |
| | | PackageCode = x.PackageCode, |
| | | // 映射其他字段 |
| | | }) |
| | | .ToListAsync(); // 确保获取结果为 List |
| | | // 分组并返回分组信息 |
| | | var groupedResult = list |
| | | .GroupBy(x => x.PackageCode) // 按 PackageCode 分组 |
| | | .Select(g => new WmsPackListOutput |
| | | { |
| | | PackageCode = g.Key, // 获取分组的键 |
| | | Count = g.Count(), // 统计每组的数量 |
| | | IsPack = g.Count() == 5 ? true : false // 如果 Count 为 5 则 IsKitting 为 1,否则为 0 |
| | | }) |
| | | .WhereIF(input.IsPack.HasValue, u => u.IsPack == input.IsPack) |
| | | .OrderBy(g => g.PackageCode) // 根据 PackageCode 排序 |
| | | .ToList(); // 转换为 List |
| | | return groupedResult; // 返回分组结果 |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 不分页查询齐套管理 |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [ApiDescriptionSettings(Name = "KittingList")] |
| | | [Description("WmsStockQuan/KittingList")] |
| | | public async Task<List<WmsKittingListOutput>> KittingList([FromQuery] KittingListInput input) |
| | | { |
| | | var list = await _rep.AsQueryable() |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.DetailName), u => u.PlaceCode.Contains(input.DetailName.Trim())) |
| | | .Select(x => new WmsKittingListOutput |
| | | { |
| | | OrderId = x.OrderId |
| | | }) |
| | | .ToListAsync(); // 确保获取结果为 List |
| | | // 分组并返回分组信息 |
| | | var groupedResult = list |
| | | .GroupBy(x => x.OrderId) // 按 PackageCode 分组 |
| | | .Select(g => new WmsKittingListOutput |
| | | { |
| | | OrderId = g.Key, // 获取分组的键 |
| | | Count = g.Count(), // 统计每组的数量 |
| | | IsKitting = g.Count() == 5 ? true : false // 如果 Count 为 5 则 IsKitting 为 1,否则为 0 |
| | | }) |
| | | .WhereIF(input.IsKitting.HasValue, u => u.IsKitting == input.IsKitting) |
| | | .OrderBy(g => g.OrderId) // 根据 PackageCode 排序 |
| | | .ToList(); // 转换为 List |
| | | return groupedResult; // 返回分组结果 |
| | | } |
| | | |
| | | |
| | | } |
| | | |