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