| | |
| | | using System.Data; |
| | | using System.Web; |
| | | using System.Text; |
| | | using System; |
| | | namespace Admin.NET.Application; |
| | | /// <summary> |
| | | /// 库存信息服务 |
| | |
| | | .Select<WmsStockQuanOutput>(); |
| | | if(input.InTimeRange != null && input.InTimeRange.Count >0) |
| | | { |
| | | DateTime? start= input.InTimeRange[0].Value.AddDays(-1); |
| | | query = query.WhereIF(start.HasValue, u => u.InTime > start); |
| | | DateTime? start= input.InTimeRange[0].Value; |
| | | query = query.WhereIF(start.HasValue, u => u.InTime >= start); |
| | | if (input.InTimeRange.Count >1 && input.InTimeRange[1].HasValue) |
| | | { |
| | | var end = input.InTimeRange[1].Value.AddDays(1); |
| | | query = query.Where(u => u.InTime < end); |
| | | var end = input.InTimeRange[1].Value; |
| | | query = query.Where(u => u.InTime <= end); |
| | | } |
| | | } |
| | | if(input.OperTimeRange != null && input.OperTimeRange.Count >0) |
| | |
| | | return query; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 重复性验证 |
| | | /// </summary> |
| | | /// <param name="input">验证对象</param> |
| | | /// <param name="isEdit">是否是编辑</param> |
| | | /// <returns></returns> |
| | | private async Task CheckExist( WmsStockQuan input,bool isEdit=false) |
| | | /// <summary> |
| | | /// 重复性验证 |
| | | /// </summary> |
| | | /// <param name="input">验证对象</param> |
| | | /// <param name="isEdit">是否是编辑</param> |
| | | /// <returns></returns> |
| | | private async Task CheckExist( WmsStockQuan input,bool isEdit=false) |
| | | { |
| | | |
| | | |
| | |
| | | |
| | | |
| | | } |
| | | #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; // 返回分组结果 |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | |