From 5707781039b9d902ce1d2d6727fba65bbab14574 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期六, 13 九月 2025 17:02:06 +0800
Subject: [PATCH] 异常单回滚

---
 WebApi/Gs.Warehouse/Services/MesDepotsManager.cs |  131 +++++++++----------------------------------
 1 files changed, 28 insertions(+), 103 deletions(-)

diff --git a/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs b/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs
index de7b05d..3815d20 100644
--- a/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs
+++ b/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs
@@ -8,7 +8,6 @@
 using Gs.Toolbox.ApiCore.Group;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Logging;
 using Newtonsoft.Json.Linq;
 using NPOI.SS.Formula.Functions;
 using SqlSugar;
@@ -41,7 +40,8 @@
         try
         {
             var _sbWhere = new StringBuilder(" 1=1" + query.keyWhere);
-            var _sbBy = new StringBuilder(query.sortName + " " + query.sortOrder);
+            var _sbBy =
+                new StringBuilder(query.sortName + " " + query.sortOrder);
             var totalCount = 0;
             var itemsList = Db.Queryable<MesDepots, SysOrganization, MesStaff, MesCustomer, MesSupplier, SysDepartment>(
                     (a, Org, c, d, f, g) => new object[]
@@ -87,96 +87,6 @@
     }
 
     /// <summary>
-    ///     鏌ヨ鍒楄〃锛屾敮鎸佸垎椤�
-    /// </summary>
-    /// <param name="query"></param>
-    /// <returns></returns>
-    [RequestMethod(RequestMethods.POST)]
-    public ReturnDto<PageList<MesDepots>> GetListPage3(PageQuery query)
-    {
-        var pageList = new PageList<MesDepots>();
-        try
-        {
-            // 鏋勫缓鏌ヨ鏉′欢
-            var whereClause = "1=1" + (string.IsNullOrEmpty(query.keyWhere) ? "" : query.keyWhere);
-            var orderBy = $"{query.sortName ?? "DepotCode"} {query.sortOrder ?? "ASC"}";
-            var totalCount = 0;
-
-            // 浣跨敤鏇存竻鏅扮殑鏌ヨ璇硶
-            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())
-                .Where(whereClause)
-                .GroupBy(a => new {
-                    a.Guid,
-                    a.DepotCode,
-                    a.DepotName,
-                    a.DepotId,
-                    a.FSubsidiary,
-                    a.CreateBy,
-                    a.ClientId,
-                    a.SuppLierId,
-                    a.department,
-                    a.IsNg,
-                    a.DocumentStatus
-                })
-                .OrderBy(orderBy);
-
-            // 浣跨敤鏇村畨鍏ㄧ殑鏄犲皠鏂瑰紡
-            var itemsList = queryable.Select<MesDepots>(a => new MesDepots
-            {
-                Guid = a.Guid,
-                DepotCode = a.DepotCode,
-                DepotName = a.DepotName,
-                DepotId = a.DepotId,
-                FSubsidiary = SqlFunc.Subqueryable<SysOrganization>()
-                    .Where(org => org.Fid == a.FSubsidiary)
-                    .Select(org => "(" + org.FNumber + ")" + org.Name),
-                OrgName = SqlFunc.Subqueryable<SysOrganization>()
-                    .Where(org => org.Fid == a.FSubsidiary)
-                    .Select(org => org.Name),
-                OrgId = SqlFunc.Subqueryable<SysOrganization>()
-                    .Where(org => org.Fid == a.FSubsidiary)
-                    .Select(org => org.FNumber),
-                CreateBy = SqlFunc.Subqueryable<MesStaff>()
-                    .Where(staff => staff.Id.ToString() == a.CreateBy)
-                    .Select(staff => staff.StaffName),
-                ClientId = SqlFunc.Subqueryable<MesCustomer>()
-                    .Where(cust => cust.Id.ToString() == a.ClientId)
-                    .Select(cust => cust.CustName),
-                SuppLierId = SqlFunc.Subqueryable<MesSupplier>()
-                    .Where(supp => supp.Id.ToString() == a.SuppLierId)
-                    .Select(supp => supp.SuppName),
-                department = SqlFunc.Subqueryable<SysDepartment>()
-                    .Where(dept => dept.Id.ToString() == a.department)
-                    .Select(dept => dept.Departmentname),
-                IsNg = a.IsNg + ":" + (a.IsNg == "A" ? "姝e父" : "绂佺敤"),
-                DocumentStatus = a.DocumentStatus + ":" +
-                    SqlFunc.IF(a.DocumentStatus == "Z").Return("鏆傚瓨")
-                    .ElseIF(a.DocumentStatus == "A").Return("鍒涘缓")
-                    .ElseIF(a.DocumentStatus == "B").Return("瀹℃牳涓�")
-                    .ElseIF(a.DocumentStatus == "C").Return("宸插鏍�")
-                    .ElseIF(a.DocumentStatus == "D").Return("閲嶆柊瀹℃牳")
-                    .End(a.DocumentStatus)
-            })
-            .ToPageList(query.currentPage, query.everyPageSize, ref totalCount);
-
-            pageList = new PageList<MesDepots>(itemsList, totalCount, query.everyPageSize);
-            return ReturnDto<PageList<MesDepots>>.QuickReturn(pageList, ReturnCode.Success, "璇诲彇鎴愬姛");
-        }
-        catch (Exception ex)
-        {
-           
-            return ReturnDto<PageList<MesDepots>>.QuickReturn(pageList,
-                ReturnCode.Default, $"绯荤粺閿欒: {ex.Message}");
-        }
-    }
-
-    /// <summary>
     ///     鏌ヨ鍒楄〃锛屾敮鎸佸垎椤�,鐢ㄤ簬鍚勭缁戝畾
     /// </summary>
     /// <param name="query"></param>
@@ -189,6 +99,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 +108,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))) ");
@@ -264,18 +183,18 @@
     public ReturnDto<MesDepots> GetModel([FromBody] MesDepots model)
     {
         var m = base.GetById(model.Guid);
-        string _CreateBy = m.CreateBy;
-        try
-        {
-            m.CreateBy = Gs.Toolbox.DbHelperSQL.GetSingle("select  top 1 staff_name from [dbo].[MES_STAFF] where id='" + _CreateBy + "'").ToString();
-        }
-        catch (Exception ex)
-        {
-            Gs.Toolbox.LogHelper.Debug(this.ToString(), "璇诲彇璐熻矗浜篹rror," + ex.Message);
-        }
+        //string _CreateBy = m.CreateBy;
+        //try
+        //{
+        //    m.CreateBy = Gs.Toolbox.DbHelperSQL.GetSingle("select  top 1 staff_name from [dbo].[MES_STAFF] where id='" + _CreateBy + "'").ToString();
+        //}
+        //catch (Exception ex)
+        //{
+        //    Gs.Toolbox.LogHelper.Debug(this.ToString(), "璇诲彇璐熻矗浜篹rror," + ex.Message);
+        //}
         m.IsNg = m.IsNg + ":" + (m.IsNg == "A" ? "姝e父" : "绂佺敤");
         var lst = new MesDepotSectionsManager();
-        m.list = lst.GetList(it => it.DepotGuid == m.Guid).OrderBy(it => it.Xh).ToList();
+        m.list = lst.GetList(it => it.DepotGuid == m.Guid).OrderBy(it => it.DepotSectionCode).ToList();
         if (m != null)
             return ReturnDto<MesDepots>.QuickReturn(m, ReturnCode.Success, "璇诲彇鎴愬姛锛�");
         return ReturnDto<MesDepots>.QuickReturn(m, ReturnCode.Default, "璇诲彇澶辫触锛�");
@@ -292,6 +211,12 @@
         System.Text.StringBuilder sbMsg = new System.Text.StringBuilder();
         try
         {
+            string Remark55 = model.Remark5;
+            string Guid55 = model.Guid;
+            //if (!string.IsNullOrEmpty(Remark55))
+            //{
+            Gs.Toolbox.DbHelperSQL.ExecuteSql(" update MES_DEPOTS set Remark5='" + Remark55 + "' where guid='" + Guid55 + "'");
+            //}
             Db.Ado.BeginTran();
             var _manager = new MesDepotSectionsManager();
             var _upLst = new List<MesDepotSections>();

--
Gitblit v1.9.3