| | |
| | | } |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "操作成功!"); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 其他出库报表 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [RequestMethod(RequestMethods.POST)] |
| | | public ReturnDto<PageList<dynamic>> GetListPageReport([FromBody] dynamic model) |
| | | { |
| | | 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", "") |
| | | }; |
| | | var dset = new DataSet(); |
| | | var _pglist = new PageList<dynamic> |
| | | { |
| | | total = 0, |
| | | everyPageSize = 0, |
| | | pages = 0, |
| | | list = new List<dynamic>() |
| | | }; |
| | | try |
| | | { |
| | | dset = DbHelperSQL.RunProcedure("prc_QTDJ_report", 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; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), ex.Message); |
| | | return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, |
| | | ReturnCode.Exception, ex.Message); |
| | | } |
| | | |
| | | return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, |
| | | ReturnCode.Success, "读取成功"); |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | string inKcfx = model.inKcfx;//库存方向 |
| | | string inSource = model.inSource; |
| | | string qtlx = model.qtlx;//后来增加的类型 |
| | | string wwgys = model.wwgys;//后来增加上的委外供应商 |
| | | var _sb = new StringBuilder(); |
| | | var _split = "|"; |
| | | foreach (var m in model.list) |
| | |
| | | new("@inEdtUserGuid", _userGuid), |
| | | new("@inLineList", _sb.ToString()), |
| | | new("@inSource", inSource), |
| | | new("@qtlx", qtlx) |
| | | new("@qtlx", qtlx), |
| | | new("@wwgys", wwgys), |
| | | }; |
| | | parameters[0].Direction = ParameterDirection.Output; |
| | | parameters[1].Direction = ParameterDirection.Output; |
| | |
| | | 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))) "); |