From 44cff1636bcc223e0d43463f82fd93793955ec19 Mon Sep 17 00:00:00 2001
From: cdk <2441919651@qq.com>
Date: 星期六, 29 十一月 2025 13:23:32 +0800
Subject: [PATCH] 其他出库代码搬祈禧的

---
 WebApi/Gs.QiTaCk/MesItemQtManager.cs             |    4 +
 WebApi/Gs.Warehouse/Services/MesDepotsManager.cs |   23 ++++++++---
 WebApi/Gs.QiTaCk/MesItemQtDJManager.cs           |   64 ++++++++++++++++++++++++++++++++
 3 files changed, 83 insertions(+), 8 deletions(-)

diff --git a/WebApi/Gs.QiTaCk/MesItemQtDJManager.cs b/WebApi/Gs.QiTaCk/MesItemQtDJManager.cs
index 4199527..5b48a6e 100644
--- a/WebApi/Gs.QiTaCk/MesItemQtDJManager.cs
+++ b/WebApi/Gs.QiTaCk/MesItemQtDJManager.cs
@@ -189,5 +189,69 @@
             }
             return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "鎿嶄綔鎴愬姛锛�");
         }
+
+
+        /// <summary>
+        /// 鍏朵粬鍑哄簱鎶ヨ〃
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        [RequestMethod(RequestMethods.POST)]
+        public ReturnDto<PageList<dynamic>> GetListPageReport([FromBody] dynamic model)
+        {
+            int currentPage = model.currentPage;
+            int everyPageSize = model.everyPageSize;
+            string sortName = model.sortName;
+            string keyWhere = model.keyWhere;
+            SqlParameter[] parameters =
+            {
+            new("@inCurrentPage", currentPage),
+            new("@inEveryPageSize", everyPageSize),
+            new("@inSortName", sortName),
+            new("@inSortOrder", ""),
+            new("@inQueryWhere", keyWhere),
+            new("@inFid", ""),
+            new("@inP1", ""),
+            new("@inP2", ""),
+            new("@inP3", ""),
+            new("@inP4", "")
+        };
+            var dset = new DataSet();
+            var _pglist = new PageList<dynamic>
+            {
+                total = 0,
+                everyPageSize = 0,
+                pages = 0,
+                list = new List<dynamic>()
+            };
+            try
+            {
+                dset = DbHelperSQL.RunProcedure("prc_QTDJ_report", parameters, "0");
+                if (dset != null && dset.Tables.Count > 0 &&
+                    dset.Tables[0].Rows.Count > 0) //鏈夋暟鎹�
+                {
+                    var intTotal =
+                        int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString());
+                    var pages = intTotal % everyPageSize != 0
+                        ? intTotal / everyPageSize + 1
+                        : intTotal / everyPageSize;
+                    _pglist.total = intTotal;
+                    _pglist.everyPageSize = everyPageSize;
+                    _pglist.pages = pages;
+                    var _dy = dset.Tables[0].TableToDynamicList();
+                    _pglist.list = _dy;
+                }
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Debug(ToString(), ex.Message);
+                return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
+              ReturnCode.Exception, ex.Message);
+            }
+
+            return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
+                ReturnCode.Success, "璇诲彇鎴愬姛");
+        }
+
     }
 }
\ No newline at end of file
diff --git a/WebApi/Gs.QiTaCk/MesItemQtManager.cs b/WebApi/Gs.QiTaCk/MesItemQtManager.cs
index 0accc3d..4e5a3c9 100644
--- a/WebApi/Gs.QiTaCk/MesItemQtManager.cs
+++ b/WebApi/Gs.QiTaCk/MesItemQtManager.cs
@@ -209,6 +209,7 @@
             string inKcfx = model.inKcfx;//搴撳瓨鏂瑰悜
             string inSource = model.inSource;
             string qtlx = model.qtlx;//鍚庢潵澧炲姞鐨勭被鍨�
+            string wwgys = model.wwgys;//鍚庢潵澧炲姞涓婄殑濮斿渚涘簲鍟�
             var _sb = new StringBuilder();
             var _split = "|";
             foreach (var m in model.list)
@@ -256,7 +257,8 @@
                         new("@inEdtUserGuid", _userGuid),
                         new("@inLineList", _sb.ToString()),
                         new("@inSource", inSource),
-                        new("@qtlx", qtlx)
+                        new("@qtlx", qtlx),
+                       new("@wwgys", wwgys),
                     };
                         parameters[0].Direction = ParameterDirection.Output;
                         parameters[1].Direction = ParameterDirection.Output;
diff --git a/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs b/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs
index de7b05d..f6f9e2f 100644
--- a/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs
+++ b/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs
@@ -102,14 +102,14 @@
             var orderBy = $"{query.sortName ?? "DepotCode"} {query.sortOrder ?? "ASC"}";
             var totalCount = 0;
 
-            // 浣跨敤鏇存竻鏅扮殑鏌ヨ璇硶
+            // 淇鍚庣殑鏌ヨ璇硶 - 娉ㄦ剰LeftJoin鐨勫弬鏁�
             var queryable = Db.Queryable<MesDepots>()
                 .LeftJoin<SysOrganization>((a, Org) => a.FSubsidiary == Org.Fid)
-                .LeftJoin<MesStaff>((a, c) => a.CreateBy == c.Id.ToString())
-                .LeftJoin<MesCustomer>((a, d) => d.Id.ToString() == a.ClientId.ToString())
-                .LeftJoin<MesSupplier>((a, f) => f.Id.ToString() == a.SuppLierId.ToString())
-                .LeftJoin<SysDepartment>((a, g) => g.Id.ToString() == a.department.ToString())
-                .LeftJoin<MesItems>((a, h) => h.DepotCode.ToString() == a.DepotId.ToString())
+                .LeftJoin<MesStaff>((a, Org, MesStaff) => a.CreateBy == MesStaff.Id.ToString())  // 淇杩欎竴琛�
+                .LeftJoin<MesCustomer>((a, Org, MesStaff, d) => d.Id.ToString() == a.ClientId.ToString())  // 淇鍙傛暟
+                .LeftJoin<MesSupplier>((a, Org, MesStaff, d, f) => f.Id.ToString() == a.SuppLierId.ToString())  // 淇鍙傛暟
+                .LeftJoin<SysDepartment>((a, Org, MesStaff, d, f, g) => g.Id.ToString() == a.department.ToString())  // 淇鍙傛暟
+                .LeftJoin<MesItems>((a, Org, MesStaff, d, f, g, h) => h.DepotCode.ToString() == a.DepotId.ToString())  // 淇鍙傛暟
                 .Where(whereClause)
                 .GroupBy(a => new {
                     a.Guid,
@@ -189,6 +189,7 @@
         var sortName = string.IsNullOrEmpty(model.sortName) ? "a.PAGE_GROUP" : model.sortName;
         var keyWhere = model.keyWhere;
         string keyType = model.keyType;
+        string keyWord = model.keyWord;
         var sbSql = new StringBuilder();
         sbSql.Append("  SELECT * FROM ");
         sbSql.Append(" (SELECT N'(' +[Org].[FNumber] + N')'  +[Org].[NAME]  AS [FSubsidiary2] ,");
@@ -197,12 +198,20 @@
         sbSql.Append(" [f].[supp_name] AS [SuppLierId] , [g].[departmentname] AS [department2] ,");
         sbSql.Append(" ( CASE  WHEN ( [a].[is_ng] = N'A' ) THEN N'姝e父'  ELSE N'绂佺敤' END ) AS [IsNg] ");
         sbSql.Append(", [a].*,ROW_NUMBER() OVER(ORDER BY org.FNumber asc ,a.depot_code asc) AS RowIndex ");
+        if (string.IsNullOrEmpty(keyWord))
+        {
+            sbSql.Append(",'' as kcQty");
+        }
+        else
+        {
+            sbSql.Append(", isnull((select top 1 搴撳瓨瀵规瘮 from [dbo].[鍗虫椂搴撳瓨宸紓琛╙ where 鐗╂枡ID=" + keyWord + " and 浠撳簱ID=[a].[depot_id]),'('+a.depot_name+')0/0') AS [kcQty]  ");
+        }
         if (string.IsNullOrEmpty(keyType))
         {
             sbSql.Append(",cast(0 as bit) as chkInt");
         }
         else
-            sbSql.Append(",cast( (select count(1)  from SYS_USER_BIND b where b.userGuid='" + keyType + "' and b.aboutGuid=a.guid)  as bit) as chkInt ");
+            sbSql.Append(",cast( (select count(1)  from SYS_USER_BIND b where b.userGuid='" + keyType + "' and b.aboutGuid=a.guid  and b.fType='浠撳簱')  as bit) as chkInt ");
         sbSql.Append(" FROM [MES_DEPOTS] [a] Left JOIN [SYS_ORGANIZATION] [Org] ON ( [a].[FSubsidiary] = [Org].[FID] )");
         sbSql.Append(" Left JOIN [MES_STAFF] [c] ON ( [a].[create_by] = CAST([c].[id] AS NVARCHAR(50))) ");
         sbSql.Append(" Left JOIN [MES_CUSTOMER] [d] ON (CAST([d].[id] AS NVARCHAR(50)) = CAST([a].[Client_Id] AS NVARCHAR(50))) ");

--
Gitblit v1.9.3