Commit 4cecffe9 by wyc

自定义表接口修改

parent 13115d59
......@@ -912,6 +912,7 @@ public ApiResponse CopyDropDown()
return new ApiResponse(ResponseType.OK, result);
}
#region 自定义表
/// <summary>
/// 自定义表Heads表头
/// </summary>
......@@ -946,7 +947,7 @@ public ApiResponse GetCustomList([FromBody] CustomPagingRequest request)
}
/// <summary>
/// 保存自定义表数据
/// 自定义表(保存数据)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
......@@ -965,7 +966,7 @@ public ApiResponse BatchSaveCustom([FromBody] SaveCustomData request)
}
/// <summary>
/// 自定义表数据(加载上月)
/// 自定义表(加载上月)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
......@@ -984,7 +985,7 @@ public ApiResponse CustomNewcopy([FromBody] CustomNewcopyData request)
}
/// <summary>
/// 自定义表导出
/// 自定义表(下载)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
......@@ -1010,5 +1011,8 @@ public IActionResult CustomDownload([FromBody] CustomPagingRequest request)
var memi = provider.Mappings[".xlsx"];
return File(memoryStream, memi, Path.GetFileName(fileInfo.Name));
}
#endregion
}
}
\ No newline at end of file
......@@ -1519,21 +1519,21 @@
</member>
<member name="M:Performance.Api.Controllers.ConfigController.BatchSaveCustom(Performance.DtoModels.SaveCustomData)">
<summary>
保存自定义表数据
自定义表(保存数据)
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.CustomNewcopy(Performance.DtoModels.CustomNewcopyData)">
<summary>
自定义表数据(加载上月)
自定义表(加载上月)
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.CustomDownload(Performance.DtoModels.CustomPagingRequest)">
<summary>
自定义表导出
自定义表(下载)
</summary>
<param name="request"></param>
<returns></returns>
......
......@@ -298,5 +298,11 @@ public enum Format
三位小数百分比,
四位小数百分比,
}
public enum CustomTableLimitation
{
通过核算单元或者核算组别进行限制 = 0,
无限制 = 1,
}
}
}
......@@ -18,7 +18,9 @@
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection.PortableExecutable;
using System.Text.RegularExpressions;
using static Performance.DtoModels.ManagementDept;
namespace Performance.Services
{
......@@ -1353,7 +1355,7 @@ public HandsonTableBase QueryHandsCustom(CustomPagingRequest request)
ColHeaders = new List<string>(),
};
var jsonData = JsonHelper.Serialize(_perforReport.QueryCustom(request, true, false).DataList);
var jsonData = JsonHelper.Serialize(_perforReport.QueryCustom(request, dicCustom.Select(w => w.Name).ToList()).DataList);
var data = JsonHelper.Deserialize<List<Dictionary<string, string>>>(jsonData);
var headDic = new List<Dictionary<string, object>>();
......@@ -1479,6 +1481,12 @@ public ApiResponse CustomNewcopy(CustomNewcopyData request)
_perallotRepository.ProcCustomTableNewcopy(request.TableName, request.AllotId, prevAllotId);
return new ApiResponse(ResponseType.OK);
}
/// <summary>
/// 自定义表显示
/// </summary>
/// <param name="userId"></param>
/// <param name="request"></param>
/// <returns></returns>
public ApiResponse QueryCustom(int userId, CustomPagingRequest request)
{
var heads = _perforReport.QueryCustomColumn(request.TableName);
......@@ -1507,18 +1515,22 @@ public ApiResponse QueryCustom(int userId, CustomPagingRequest request)
{
Heads = headList.ToList()
};
if (request.Limit == 1)
List<string> columns = result.Heads.Select(t => t.Column).Distinct().ToList();
if (request.Limit == (int)CustomTableLimitation.无限制)
{
request.QuerySearch = null;
result.Datas = _perforReport.QueryCustom(request, true, isView);
result.Datas = _perforReport.QueryCustom(request, columns);
}
else
{
var unitTypes = UnitTypeUtil.GetMaps(roleType);
if (unitTypes.Any())
result.Datas = _perforReport.QueryCustom(request.TableName, request.AllotId, user?.Department ?? "", unitTypes, request.PageIndex, request.PageSize, isView);
result.Datas = _perforReport.QueryCustom( user?.Department ?? "", unitTypes, request, columns);
else
result.Datas = _perforReport.QueryCustom(request, false, isView);
{
result.Datas = _perforReport.QueryCustom(request, columns);
}
}
......@@ -1567,6 +1579,8 @@ public string CustomDownloadFile(int userId, CustomPagingRequest request, per_al
string filepath = Path.Combine(dpath, filename);
FileStream stream = new FileStream(filepath, FileMode.Create);
var customResponses = (CustomResponse)QueryCustom(userId, request).Data;
var user = _userService.GetUser(userId);
var roleType = _roleService.GetUserRole(userId)?.FirstOrDefault()?.Type ?? 0;
......@@ -1574,17 +1588,17 @@ public string CustomDownloadFile(int userId, CustomPagingRequest request, per_al
if (heads != null && heads.Any(w => string.IsNullOrEmpty(w.Comment)))
heads.RemoveAll(w => string.IsNullOrEmpty(w.Comment));
var data = new List<dynamic>();
if (request.Limit == 1)
{
request.QuerySearch = null;
data = _perforReport.QueryCustom(request.TableName, request.AllotId, null, null) ?? new List<dynamic>();
}
else
{
var unitTypes = UnitTypeUtil.GetMaps(roleType);
data = _perforReport.QueryCustom(request.TableName, request.AllotId, user?.Department ?? "", unitTypes) ?? new List<dynamic>();
}
var data = customResponses.Datas.DataList;
//if (request.Limit == (int)CustomTableLimitation.无限制)
//{
// request.QuerySearch = null;
// data = _perforReport.QueryCustom(request.TableName, request.AllotId, null, null) ?? new List<dynamic>();
//}
//else
//{
// var unitTypes = UnitTypeUtil.GetMaps(roleType);
// data = _perforReport.QueryCustom(request.TableName, request.AllotId, user?.Department ?? "", unitTypes) ?? new List<dynamic>();
//}
try
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment