From 3aa5940da6995787b78c339e01812cbb3b9d075a Mon Sep 17 00:00:00 2001 From: liuying <1427574514@qq.com> Date: 周二, 26 11月 2024 09:10:03 +0800 Subject: [PATCH] 接口 --- LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanInput.cs | 85 ++++++++++++++ LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs | 122 ++++++++++++++++++++ LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs | 31 +++++ LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs | 85 ++++++++++++- LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanOutput.cs | 21 +++ 5 files changed, 332 insertions(+), 12 deletions(-) diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs index 161464c..e321bb0 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs @@ -1,4 +1,6 @@ -锘縩amespace Admin.NET.Application; +锘縰sing 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; } + +} diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs index 7228b9c..f6dec3e 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs +++ b/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; + } + } diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanInput.cs index 50b71cc..873fd4d 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanInput.cs +++ b/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; } + +} diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanOutput.cs index cf82253..cf828e0 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanOutput.cs +++ b/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; } // 鍖呰浠g爜 + 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; } +} \ No newline at end of file diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs index fe70b9d..f246294 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs +++ b/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; // 杩斿洖鍒嗙粍缁撴灉 + } } -- Gitblit v1.9.3