| | |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using System.Text; |
| | | using Gs.Entity.BaseInfo; |
| | | using Gs.Entity.Sys; |
| | |
| | | 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, |
| | |
| | | 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] ,"); |
| | |
| | | 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))) "); |
| | |
| | | } |
| | | return j; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 查询列表,支持分页(保持输出参数方式) |
| | | /// </summary> |
| | | [RequestMethod(RequestMethods.POST)] |
| | | public ReturnDto<PageList<dynamic>> GetListCgy(PageQuery model) |
| | | { |
| | | string currentId = "";//默认采购员 |
| | | 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", _userGuid)//当前登录用户guid,将根据他读取仓管员 |
| | | }; |
| | | var dset = new DataSet(); |
| | | var _pglist = new PageList<dynamic> |
| | | { |
| | | total = 0, |
| | | everyPageSize = 0, |
| | | pages = 0, |
| | | list = new List<dynamic>() |
| | | }; |
| | | try |
| | | { |
| | | dset = DbHelperSQL.RunProcedure("prc_cgy_lst", 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; |
| | | currentId = dset.Tables[1].Rows[0]["mrCgy"].ToString(); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), ex.Message); |
| | | return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, |
| | | ReturnCode.Exception,"-1"); |
| | | } |
| | | |
| | | return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, |
| | | ReturnCode.Success, currentId); |
| | | |
| | | |
| | | } |
| | | } |