cdk
2025-11-29 44cff1636bcc223e0d43463f82fd93793955ec19
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'正常'  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))) ");