From d82de9beedf9a92782237f10e5561c4be46797a4 Mon Sep 17 00:00:00 2001 From: cnf <3200815559@qq.com> Date: 星期六, 30 八月 2025 14:36:47 +0800 Subject: [PATCH] 加调用 --- WebApi/Gs.Warehouse/Services/MesDepotsManager.cs | 91 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 91 insertions(+), 0 deletions(-) diff --git a/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs b/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs index 1508419..de7b05d 100644 --- a/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs +++ b/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs @@ -8,6 +8,7 @@ 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; @@ -86,6 +87,96 @@ } /// <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> -- Gitblit v1.9.3