liuying
2024-11-26 3aa5940da6995787b78c339e01812cbb3b9d075a
接口
已修改5个文件
344 ■■■■■ 文件已修改
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanInput.cs 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanOutput.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs
@@ -1,4 +1,6 @@
namespace Admin.NET.Application;
using Admin.NET.Application.Entity;
namespace Admin.NET.Application;
/// <summary>
/// 库位信息输出参数
@@ -131,5 +133,121 @@
    public bool IsDelete { get; set; }
    
    }
/// <summary>
/// 库位视图输出参
/// </summary>
public class LocationViewOutput
{
        /// <summary>
        /// 进入时间
        /// </summary>
        public DateTime? InTime { get; set; }
        /// <summary>
        /// 部件条码
        /// </summary>
        public string Upi { get; set; }
        /// <summary>
        /// 部件名称
        /// </summary>
        public string DetailName { get; set; }
        /// <summary>
        /// 批次
        /// </summary>
        public string PlanNo { get; set; }
        /// <summary>
        /// 订单号
        /// </summary>
        public string OrderId { get; set; }
        /// <summary>
        /// 包装号
        /// </summary>
        public string PackageCode { get; set; }
        public float Length { get; set; }
        public float Width { get; set; }
        public float Thk { get; set; }
        /// <summary>
        /// 库存状态
        /// </summary>
        public StockStatusEnum StockStatus { get; set; }
        /// <summary>
        /// 库存状态名称
        /// </summary>
        public string StockStatusName { get; set; }
        /// <summary>
        /// 操作原因
        /// </summary>
        public string? OperReason { get; set; }
        /// <summary>
        /// 操作人
        /// </summary>
        public string? OperUser { get; set; }
        /// <summary>
        /// 操作时间
        /// </summary>
        public DateTime? OperTime { get; set; }
        /// <summary>
        /// 锁定状态
        /// </summary>
        public LockStatusEnum LockStatus { get; set; }
        /// <summary>
        /// 锁定原因
        /// </summary>
        public string? LockReason { get; set; }
        /// <summary>
        /// 锁定人
        /// </summary>
        public string? LockUser { get; set; }
        /// <summary>
        /// 锁定时间
        /// </summary>
        public DateTime? LockTime { get; set; }
        public int? LaneNo { get; set; }
        public int? ColumnNo { get; set; }
        public int? LayerNo { get; set; }
        /// <summary>
        /// 库位属性
        /// </summary>
        public PlaceStatusEnum PlaceStatus { get; set; }
}
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs
@@ -12,9 +12,12 @@
public class WmsBasePlaceService : IDynamicApiController, ITransient
{
    private readonly SqlSugarRepository<WmsBasePlace> _rep;
    public WmsBasePlaceService(SqlSugarRepository<WmsBasePlace> rep)
    private readonly SqlSugarRepository<V_Station_Quan> _V_Station_Quan;
    public WmsBasePlaceService(SqlSugarRepository<WmsBasePlace> rep,
        SqlSugarRepository<V_Station_Quan> V_Station_Quan_Rep)
    {
        _rep = rep;
        _V_Station_Quan = V_Station_Quan_Rep;
    }
    /// <summary>
@@ -260,5 +263,31 @@
        await _rep.InsertRangeAsync(places);
    }
    /// <summary>
    /// 不分页查询库位信息
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    [HttpGet]
    [ApiDescriptionSettings(Name = "ListView")]
    [Description("WmsBasePlace/ListView")]
    public async Task<List<LocationViewOutput>> ListView([FromQuery] WmsBasePlaceInput input)
    {
        var query = await _V_Station_Quan.AsQueryable()
        .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
        u.PlaceCode.Contains(input.SearchKey.Trim())
        //  || u.WareContainerCode.Contains(input.SearchKey.Trim())
        //|| u.Lane==input.Lane
        //|| u.Row==input.Row
        )
        .OrderBy(u => u.LaneNo)
        //.OrderBy(u => u.Row)
        .OrderBy(u => u.LayerNo)
        .OrderBy(u => u.ColumnNo)
        .Select<LocationViewOutput>().ToListAsync();
        return query;
    }
}
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanInput.cs
@@ -381,3 +381,88 @@
    {
    }
/// <summary>
/// 库存信息分页查询输入参数
/// </summary>
public class PackListInput : BasePageInput
{
    /// <summary>
    /// 关键字查询
    /// </summary>
    public string? SearchKey { get; set; }
    /// <summary>
    /// 是否齐套
    /// </summary>
    public bool? IsPack { get; set; }
    /// <summary>
    /// 进入时间
    /// </summary>
    public DateTime? InTime { get; set; }
    /// <summary>
    /// 进入时间范围
    /// </summary>
    public List<DateTime?> InTimeRange { get; set; }
    /// <summary>
    /// 部件条码
    /// </summary>
    public string? Upi { get; set; }
    /// <summary>
    /// 部件名称
    /// </summary>
    public string? DetailName { get; set; }
    /// <summary>
    /// 批次
    /// </summary>
    public string? PlanNo { get; set; }
}
/// <summary>
/// 库存信息分页查询输入参数
/// </summary>
public class KittingListInput : BasePageInput
{
    /// <summary>
    /// 关键字查询
    /// </summary>
    public string? SearchKey { get; set; }
    /// <summary>
    /// 是否齐套
    /// </summary>
    public bool? IsKitting { get; set; }
    /// <summary>
    /// 进入时间
    /// </summary>
    public DateTime? InTime { get; set; }
    /// <summary>
    /// 进入时间范围
    /// </summary>
    public List<DateTime?> InTimeRange { get; set; }
    /// <summary>
    /// 部件条码
    /// </summary>
    public string? Upi { get; set; }
    /// <summary>
    /// 部件名称
    /// </summary>
    public string? DetailName { get; set; }
    /// <summary>
    /// 批次
    /// </summary>
    public string? PlanNo { get; set; }
}
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanOutput.cs
@@ -146,5 +146,24 @@
    public bool IsDelete { get; set; }
    
    }
/// <summary>
/// 整包的入参
/// </summary>
public class WmsPackListOutput
{
    public string PackageCode { get; set; } // 包装代码
    public int Count { get; set; }           // 对应的数量
    public bool IsPack { get; set; }
}
/// <summary>
/// 齐套入参
/// </summary>
public class WmsKittingListOutput
{
    public string OrderId { get; set; } // 单号
    public int Count { get; set; }           // 对应的数量
    public bool IsKitting { get; set; }
}
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs
@@ -4,6 +4,7 @@
using System.Data;
using System.Web;
using System.Text;
using System;
namespace Admin.NET.Application;
/// <summary>
/// 库存信息服务
@@ -189,13 +190,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)
        {
           
@@ -231,7 +232,75 @@
           
           
        }
     #endregion
    #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; // 返回分组结果
    }
}