Commit b8299bfe by ruyun.zhang

科室考勤上报录入结果统计&下载接口

parent 2a6523ec
...@@ -426,6 +426,7 @@ public IActionResult DownloadStatistics(int allotId) ...@@ -426,6 +426,7 @@ public IActionResult DownloadStatistics(int allotId)
new ExcelDownloadHeads { Alias = "员工号", Name = nameof(AttendanceStatistics.PersonnelNumber) }, new ExcelDownloadHeads { Alias = "员工号", Name = nameof(AttendanceStatistics.PersonnelNumber) },
new ExcelDownloadHeads { Alias = "在科开始时问", Name = nameof(AttendanceStatistics.BeginDate) }, new ExcelDownloadHeads { Alias = "在科开始时问", Name = nameof(AttendanceStatistics.BeginDate) },
new ExcelDownloadHeads { Alias = "在科结束时间", Name = nameof(AttendanceStatistics.EndDate) }, new ExcelDownloadHeads { Alias = "在科结束时间", Name = nameof(AttendanceStatistics.EndDate) },
new ExcelDownloadHeads { Alias = "人员系数", Name = nameof(AttendanceStatistics.PermanentStaff) },
}; };
var type = _attendanceService.GetAttendanceType(allotId); var type = _attendanceService.GetAttendanceType(allotId);
foreach (var item in type.Data) foreach (var item in type.Data)
...@@ -483,6 +484,7 @@ public IActionResult DownloadAuditDetail(int allotId, string unitType, string ac ...@@ -483,6 +484,7 @@ public IActionResult DownloadAuditDetail(int allotId, string unitType, string ac
new ExcelDownloadHeads { Alias = "员工号", Name = nameof(AttendanceStatistics.PersonnelNumber) }, new ExcelDownloadHeads { Alias = "员工号", Name = nameof(AttendanceStatistics.PersonnelNumber) },
new ExcelDownloadHeads { Alias = "在科开始时问", Name = nameof(AttendanceStatistics.BeginDate) }, new ExcelDownloadHeads { Alias = "在科开始时问", Name = nameof(AttendanceStatistics.BeginDate) },
new ExcelDownloadHeads { Alias = "在科结束时间", Name = nameof(AttendanceStatistics.EndDate) }, new ExcelDownloadHeads { Alias = "在科结束时间", Name = nameof(AttendanceStatistics.EndDate) },
new ExcelDownloadHeads { Alias = "人员系数", Name = nameof(AttendanceStatistics.PermanentStaff) },
}; };
var type = _attendanceService.GetAttendanceType(allotId); var type = _attendanceService.GetAttendanceType(allotId);
foreach (var item in type.Data) foreach (var item in type.Data)
...@@ -607,6 +609,20 @@ public ApiResponse<List<AttendanceDeptAuditList>> DeptAuditList(int allotId, str ...@@ -607,6 +609,20 @@ public ApiResponse<List<AttendanceDeptAuditList>> DeptAuditList(int allotId, str
} }
/// <summary> /// <summary>
/// 科室考勤上报录入状态
/// </summary>
/// <param name="allotId">绩效月ID</param>
/// <param name="unitType">核算组别</param>
/// <returns></returns>
[HttpPost]
[Route("dept/state")]
public ApiResponse<AttendanceDeptState> DeptState(int allotId, string unitType)
{
var userid = claim.GetUserId();
return _attendanceService.DeptState(allotId, userid, unitType);
}
/// <summary>
/// 科室考勤上报录入加载 /// 科室考勤上报录入加载
/// </summary> /// </summary>
/// <param name="allotId">绩效月ID</param> /// <param name="allotId">绩效月ID</param>
...@@ -640,6 +656,79 @@ public ApiResponse DeptSave(int allotId, string unitType, [FromBody] List<Attend ...@@ -640,6 +656,79 @@ public ApiResponse DeptSave(int allotId, string unitType, [FromBody] List<Attend
} }
/// <summary> /// <summary>
/// 科室考勤上报录入结果统计
/// </summary>
/// <param name="allotId">绩效月ID</param>
/// <param name="unitType">核算组别</param>
/// <param name="accountingUnit">核算单元</param>
/// <returns></returns>
[HttpPost]
[Route("dept/compute")]
public ApiResponse<List<AttendanceStatistics>> DeptCompute(int allotId, string unitType, string accountingUnit)
{
if (!Enum.TryParse(unitType, out UnitType unitType1))
throw new PerformanceException("核算组别错误");
if (string.IsNullOrEmpty(accountingUnit))
throw new PerformanceException("核算单元错误");
return _attendanceService.DeptCompute(allotId, unitType, accountingUnit);
}
/// <summary>
/// 科室考勤上报录入结果统计下载
/// </summary>
/// <param name="allotId">绩效月ID</param>
/// <param name="unitType">核算组别</param>
/// <param name="accountingUnit">核算单元</param>
/// <returns></returns>
[HttpPost]
[Route("dept/download/compute")]
public IActionResult DownloadDeptCompute(int allotId, string unitType, string accountingUnit)
{
if (!Enum.TryParse(unitType, out UnitType unitType1))
throw new PerformanceException("核算组别错误");
if (string.IsNullOrEmpty(accountingUnit))
throw new PerformanceException("核算单元错误");
List<ExcelDownloadHeads> excelDownloadHeads = new List<ExcelDownloadHeads>()
{
new ExcelDownloadHeads { Alias = "核算组别", Name = nameof(AttendanceStatistics.UnitType) },
new ExcelDownloadHeads { Alias = "核算单元名称", Name = nameof(AttendanceStatistics.AccountingUnit) },
new ExcelDownloadHeads { Alias = "姓名", Name = nameof(AttendanceStatistics.PersonnelName) },
new ExcelDownloadHeads { Alias = "员工号", Name = nameof(AttendanceStatistics.PersonnelNumber) },
new ExcelDownloadHeads { Alias = "在科开始时问", Name = nameof(AttendanceStatistics.BeginDate) },
new ExcelDownloadHeads { Alias = "在科结束时间", Name = nameof(AttendanceStatistics.EndDate) },
new ExcelDownloadHeads { Alias = "人员系数", Name = nameof(AttendanceStatistics.PermanentStaff) },
};
var type = _attendanceService.GetAttendanceType(allotId);
foreach (var item in type.Data)
{
excelDownloadHeads.Add(new ExcelDownloadHeads() { Alias = item.AttendanceName, Name = item.AttendanceName });
}
excelDownloadHeads.Add(new ExcelDownloadHeads() { Alias = "出勤天数", Name = "AttendanceDays" });
var userid = claim.GetUserId();
var res = _attendanceService.DeptCompute(allotId, unitType, accountingUnit);
var result = (res?.Data == null) ? new List<AttendanceStatistics>() : res.Data;
var ser = JsonConvert.SerializeObject(result);
var rows = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(ser);
var filepath = _attendanceService.ExcelDownload(rows, "科室上报考勤结果", allotId, excelDownloadHeads);
var memoryStream = new MemoryStream();
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> /// </summary>
/// <param name="allotId">绩效月ID</param> /// <param name="allotId">绩效月ID</param>
...@@ -688,6 +777,8 @@ public ApiResponse DeptAudit(int allotId, string unitType, string accountingUnit ...@@ -688,6 +777,8 @@ public ApiResponse DeptAudit(int allotId, string unitType, string accountingUnit
{ {
if (audit == null) if (audit == null)
throw new PerformanceException("审核参数错误"); throw new PerformanceException("审核参数错误");
if (string.IsNullOrEmpty(unitType) || string.IsNullOrEmpty(accountingUnit))
throw new PerformanceException("核算单元及组别信息错误");
var states = new int[] { (int)Attendance.Report.通过, (int)Attendance.Report.驳回, }; var states = new int[] { (int)Attendance.Report.通过, (int)Attendance.Report.驳回, };
if (!states.Contains(audit.State)) if (!states.Contains(audit.State))
......
...@@ -520,6 +520,14 @@ ...@@ -520,6 +520,14 @@
<param name="state"></param> <param name="state"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.AttendanceController.DeptState(System.Int32,System.String)">
<summary>
科室考勤上报录入状态
</summary>
<param name="allotId">绩效月ID</param>
<param name="unitType">核算组别</param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.DeptLoad(System.Int32)"> <member name="M:Performance.Api.Controllers.AttendanceController.DeptLoad(System.Int32)">
<summary> <summary>
科室考勤上报录入加载 科室考勤上报录入加载
...@@ -536,6 +544,24 @@ ...@@ -536,6 +544,24 @@
<param name="datas"></param> <param name="datas"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.AttendanceController.DeptCompute(System.Int32,System.String,System.String)">
<summary>
科室考勤上报录入结果统计
</summary>
<param name="allotId">绩效月ID</param>
<param name="unitType">核算组别</param>
<param name="accountingUnit">核算单元</param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.DownloadDeptCompute(System.Int32,System.String,System.String)">
<summary>
科室考勤上报录入结果统计下载
</summary>
<param name="allotId">绩效月ID</param>
<param name="unitType">核算组别</param>
<param name="accountingUnit">核算单元</param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.DeptSubmit(System.Int32,System.String,System.Collections.Generic.List{Performance.DtoModels.Request.AttendanceDept})"> <member name="M:Performance.Api.Controllers.AttendanceController.DeptSubmit(System.Int32,System.String,System.Collections.Generic.List{Performance.DtoModels.Request.AttendanceDept})">
<summary> <summary>
科室考勤上报录入提交 科室考勤上报录入提交
......
...@@ -3188,6 +3188,11 @@ ...@@ -3188,6 +3188,11 @@
调入时间 调入时间
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.Response.AttendanceDeptState.Title">
<summary>
标题名
</summary>
</member>
<member name="P:Performance.DtoModels.Response.AttendanceDeptAuditList.Code"> <member name="P:Performance.DtoModels.Response.AttendanceDeptAuditList.Code">
<summary> <summary>
编码 编码
......
...@@ -2,6 +2,13 @@ ...@@ -2,6 +2,13 @@
namespace Performance.DtoModels.Response namespace Performance.DtoModels.Response
{ {
public class AttendanceDeptState : AttendanceDeptAuditList
{
/// <summary>
/// 标题名
/// </summary>
public string Title { get; set; }
}
public class AttendanceDeptAuditList public class AttendanceDeptAuditList
{ {
/// <summary> /// <summary>
......
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