Commit d739a710 by 纪旭 韦

报表分析,全院核算发放,财务全院发放

parent 8f0e0aa2
...@@ -282,12 +282,25 @@ public ApiResponse TableSpecial([FromBody] ConditionRequest request) ...@@ -282,12 +282,25 @@ public ApiResponse TableSpecial([FromBody] ConditionRequest request)
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
[Route("getAllComputeView")] [Route("getAllComputeView/{BeginTime},{EndTime},{CurrentPage},{PageSize}")]
[HttpPost] [HttpPost]
public ApiResponse GetAllComputeView([FromBody] BeginEndTime request) public ApiResponse GetAllComputeView([FromRoute] BeginEndTime request)
{
try
{
if (Convert.ToDateTime(request.BeginTime) > Convert.ToDateTime(request.EndTime))
{
throw new PerformanceException();
}
}
catch (Exception)
{ {
var data = _computeService.GetAllComputeViewByDate( "view_allot_complete", request.BeginTime, request.EndTime);
throw new PerformanceException("请输入正确的时间格式");
}
var data = _computeService.GetAllComputeViewByDate("view_allot_sign_emp", request.BeginTime, request.EndTime);
if (null == data)
throw new PerformanceException("当前绩效记录不存在");
var list = new QueryComputeByDateGetPage var list = new QueryComputeByDateGetPage
{ {
Data = data.Skip((request.CurrentPage - 1) * request.PageSize).Take(request.PageSize).ToList(), Data = data.Skip((request.CurrentPage - 1) * request.PageSize).Take(request.PageSize).ToList(),
...@@ -310,8 +323,20 @@ public ApiResponse GetAllComputeView([FromBody] BeginEndTime request) ...@@ -310,8 +323,20 @@ public ApiResponse GetAllComputeView([FromBody] BeginEndTime request)
[HttpPost] [HttpPost]
public IActionResult AllComputeViewDownload(int HospitalId,string BeginTime,string EndTime) public IActionResult AllComputeViewDownload(int HospitalId,string BeginTime,string EndTime)
{ {
try
{
if (Convert.ToDateTime(BeginTime) > Convert.ToDateTime(EndTime))
{
throw new PerformanceException();
}
}
catch (Exception)
{
throw new PerformanceException("请输入正确的时间格式");
}
var list = _computeService.GetAllComputeViewByDate("view_allot_complete", BeginTime, EndTime); var list = _computeService.GetAllComputeViewByDate("view_allot_sign_emp", BeginTime, EndTime);
if (null == list) if (null == list)
throw new PerformanceException("当前绩效记录不存在"); throw new PerformanceException("当前绩效记录不存在");
...@@ -331,39 +356,155 @@ public IActionResult AllComputeViewDownload(int HospitalId,string BeginTime,stri ...@@ -331,39 +356,155 @@ public IActionResult AllComputeViewDownload(int HospitalId,string BeginTime,stri
/// <summary> /// <summary>
/// 获取全院绩效列表(人事科 /// 全院核算绩效发放(视图
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
[Route("allcomputeView/personnel")] [Route("gethosdataView/{BeginTime},{EndTime},{CurrentPage},{PageSize}")]
[HttpPost]
public ApiResponse GethosdataView([FromRoute] BeginEndTime request)
{
try
{
if (Convert.ToDateTime(request.BeginTime) > Convert.ToDateTime(request.EndTime))
{
throw new PerformanceException();
}
}
catch (Exception)
{
throw new PerformanceException("请输入正确的时间格式");
}
var data = _computeService.GetAllComputeViewByDate("view_allot_sign_dept", request.BeginTime, request.EndTime);
if (null == data)
throw new PerformanceException("当前绩效记录不存在");
var list = new QueryComputeByDateGetPage
{
Data = data.Skip((request.CurrentPage - 1) * request.PageSize).Take(request.PageSize).ToList(),
TotalCount = data.Count(),
TotalPages = (int)Math.Ceiling((double)data.Count() / request.PageSize),
CurrentPage = request.CurrentPage,
PageSize = request.PageSize
};
return new ApiResponse(ResponseType.OK, "ok", list);
}
/// <summary>
/// 全院核算绩效发放(视图) 下载
/// </summary>
/// <param name="BeginTime"></param>
/// <param name="EndTime"></param>
/// <param name="HospitalId"></param>
/// <returns></returns>
[Route("gethosdataView/download/{HospitalId},{BeginTime},{EndTime}")]
[HttpPost] [HttpPost]
public ApiResponse AllComputeViewByPM([FromBody] ComputerRequest request) public IActionResult GethosdataView(int HospitalId, string BeginTime, string EndTime)
{ {
var allot = allotService.GetAllot(request.AllotId);
if (null == allot) try
{
if (Convert.ToDateTime(BeginTime) > Convert.ToDateTime(EndTime))
{
throw new PerformanceException();
}
}
catch (Exception)
{
throw new PerformanceException("请输入正确的时间格式");
}
var list = _computeService.GetAllComputeViewByDate("view_allot_sign_dept", BeginTime, EndTime);
if (null == list)
throw new PerformanceException("当前绩效记录不存在"); throw new PerformanceException("当前绩效记录不存在");
var result = _computeService.GetAllComputeView(allot.HospitalId, request.AllotId, "view_allot_sign_emp_finance"); var filepath = downloadService.AllComputerViewReportByDate(HospitalId, list, "/report/print/compute", "全院核算绩效发放");
//var result = _computeService.ComputerGroupBy(list); var memoryStream = new MemoryStream();
return new ApiResponse(ResponseType.OK, "ok", result); using (var stream = new FileStream(filepath, FileMode.Open))
{
stream.CopyToAsync(memoryStream).Wait();
}
memoryStream.Seek(0, SeekOrigin.Begin);
var provider = new FileExtensionContentTypeProvider();
FileInfo fileInfo = new FileInfo(filepath);
var memi = provider.Mappings[".xlsx"];
return File(memoryStream, memi, Path.GetFileName(fileInfo.Name));
}
/// <summary>
/// 获取财务全院绩效列表(视图)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route("allcomputeView/personnel/{BeginTime},{EndTime},{CurrentPage},{PageSize}")]
[HttpPost]
public ApiResponse AllComputeViewByPM([FromRoute] BeginEndTime request)
{
try
{
if (Convert.ToDateTime(request.BeginTime) > Convert.ToDateTime(request.EndTime))
{
throw new PerformanceException();
}
}
catch (Exception)
{
throw new PerformanceException("请输入正确的时间格式");
}
var data = _computeService.GetAllComputeViewByDate("view_allot_sign_emp_finance", request.BeginTime, request.EndTime);
if (null == data)
throw new PerformanceException("当前绩效记录不存在");
var list = new QueryComputeByDateGetPage
{
Data = data.Skip((request.CurrentPage - 1) * request.PageSize).Take(request.PageSize).ToList(),
TotalCount = data.Count(),
TotalPages = (int)Math.Ceiling((double)data.Count() / request.PageSize),
CurrentPage = request.CurrentPage,
PageSize = request.PageSize
};
return new ApiResponse(ResponseType.OK, "ok", list);
} }
/// <summary> /// <summary>
/// 下载全院绩效列表(人事科) /// 获取财务全院绩效列表(视图)下载
/// </summary> /// </summary>
/// <param name="allotId"></param> /// <param name="BeginTime"></param>
/// <param name="EndTime"></param>
/// <param name="HospitalId"></param>
/// <returns></returns> /// <returns></returns>
[Route("allcomputeView/personnel/download/{allotId}")] [Route("allcomputeView/personnel/download/{HospitalId},{BeginTime},{EndTime}")]
[HttpPost] [HttpPost]
public IActionResult AllComputeByPMViewDownLoad(int allotId) public IActionResult AllComputeByPMViewDownLoad(int HospitalId, string BeginTime, string EndTime)
{
try
{
if (Convert.ToDateTime(BeginTime) > Convert.ToDateTime(EndTime))
{
throw new PerformanceException();
}
}
catch (Exception)
{ {
var allot = allotService.GetAllot(allotId);
if (null == allot) throw new PerformanceException("请输入正确的时间格式");
}
var list = _computeService.GetAllComputeViewByDate("view_allot_sign_emp_finance", BeginTime, EndTime);
if (null == list)
throw new PerformanceException("当前绩效记录不存在"); throw new PerformanceException("当前绩效记录不存在");
var result = _computeService.GetAllComputeView(allot.HospitalId, allotId, "view_allot_sign_emp_finance"); var filepath = downloadService.AllComputerViewReportByDate(HospitalId, list, "/report/wholehospital", "财务全院绩效发放");
var filepath = downloadService.AllComputerViewReport(allotId, result, "/result/wholehospital", "财务全院绩效发放");
var memoryStream = new MemoryStream(); var memoryStream = new MemoryStream();
using (var stream = new FileStream(filepath, FileMode.Open)) using (var stream = new FileStream(filepath, FileMode.Open))
...@@ -375,7 +516,7 @@ public IActionResult AllComputeByPMViewDownLoad(int allotId) ...@@ -375,7 +516,7 @@ public IActionResult AllComputeByPMViewDownLoad(int allotId)
FileInfo fileInfo = new FileInfo(filepath); FileInfo fileInfo = new FileInfo(filepath);
var memi = provider.Mappings[".xlsx"]; var memi = provider.Mappings[".xlsx"];
return File(memoryStream, memi, Path.GetFileName(fileInfo.Name)); return File(memoryStream, memi, Path.GetFileName(fileInfo.Name));
#endregion
} }
#endregion
} }
} }
\ No newline at end of file
...@@ -1626,18 +1626,36 @@ ...@@ -1626,18 +1626,36 @@
<param name="HospitalId"></param> <param name="HospitalId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.ReportController.AllComputeViewByPM(Performance.DtoModels.ComputerRequest)"> <member name="M:Performance.Api.Controllers.ReportController.GethosdataView(Performance.DtoModels.BeginEndTime)">
<summary>
全院核算绩效发放(视图)
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ReportController.GethosdataView(System.Int32,System.String,System.String)">
<summary>
全院核算绩效发放(视图) 下载
</summary>
<param name="BeginTime"></param>
<param name="EndTime"></param>
<param name="HospitalId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ReportController.AllComputeViewByPM(Performance.DtoModels.BeginEndTime)">
<summary> <summary>
获取全院绩效列表(人事科) 获取全院绩效列表(人事科)
</summary> </summary>
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.ReportController.AllComputeByPMViewDownLoad(System.Int32)"> <member name="M:Performance.Api.Controllers.ReportController.AllComputeByPMViewDownLoad(System.Int32,System.String,System.String)">
<summary> <summary>
下载全院绩效列表(人事科) 全院绩效列表(人事科)下载
</summary> </summary>
<param name="allotId"></param> <param name="BeginTime"></param>
<param name="EndTime"></param>
<param name="HospitalId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.ReportGlobalController.GetAllReportGlobal(System.Int32)"> <member name="M:Performance.Api.Controllers.ReportGlobalController.GetAllReportGlobal(System.Int32)">
......
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