33
schangxiang@126.com
2024-12-07 9597b1df912c1ca4401a74970d9472e268b3a9c2
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs
@@ -4,7 +4,6 @@
using System.Data;
using System.Web;
using System.Text;
using System;
namespace Admin.NET.Application;
/// <summary>
/// 库存信息服务
@@ -159,12 +158,12 @@
            .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)
@@ -190,13 +189,13 @@
        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)
        {
           
@@ -232,75 +231,7 @@
           
           
        }
    #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
}