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