Commit 784696c4 by Licx

医院其他绩效8.23问题修改

parent 4d55acf9
...@@ -268,12 +268,12 @@ public ApiResponse Audit(int allotid) ...@@ -268,12 +268,12 @@ public ApiResponse Audit(int allotid)
/// <returns></returns> /// <returns></returns>
[Route("apr/getlist")] [Route("apr/getlist")]
[HttpPost] [HttpPost]
public ApiResponse GetAprList([FromBody] per_apr_amount request) public ApiResponse GetAprList([FromBody] AprAmountAuditRequest request)
{ {
if (request.AllotId == 0) if (request.AllotId == 0)
return new ApiResponse(ResponseType.ParameterError, "参数AllotId无效!"); return new ApiResponse(ResponseType.ParameterError, "参数AllotId无效!");
var employee = employeeService.GetAprByTypeInDepartment(request.AllotId, request.TypeInDepartment); var employee = employeeService.GetAprByTypeInDepartment(request.AllotId, request.TypeInDepartment, request.CreateDate);
return new ApiResponse(ResponseType.OK, "ok", employee); return new ApiResponse(ResponseType.OK, "ok", employee);
} }
...@@ -293,10 +293,11 @@ public ApiResponse GetAprGroupList([FromBody] AllotIdRequest request) ...@@ -293,10 +293,11 @@ public ApiResponse GetAprGroupList([FromBody] AllotIdRequest request)
if (employee == null || !employee.Any()) if (employee == null || !employee.Any())
return new ApiResponse(ResponseType.OK, "ok", employee); return new ApiResponse(ResponseType.OK, "ok", employee);
var result = employee.GroupBy(t => new { TypeInDepartment = t.TypeInDepartment ?? "" }) var result = employee.GroupBy(t => new { TypeInDepartment = t.TypeInDepartment ?? "", t.CreateDate })
.Select(t => new OhterAmountAuditResponse .Select(t => new OhterAmountAuditResponse
{ {
TypeInDepartment = t.Key.TypeInDepartment, TypeInDepartment = t.Key.TypeInDepartment,
CreateDate = t.Key.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
Amount = t.Sum(s => s.Amount ?? 0), Amount = t.Sum(s => s.Amount ?? 0),
Status = t.Any(s => s.Status == 2) ? 2 : t.Any(s => s.Status == 4) ? 4 : t.FirstOrDefault().Status, Status = t.Any(s => s.Status == 2) ? 2 : t.Any(s => s.Status == 4) ? 4 : t.FirstOrDefault().Status,
AuditTime = t.Any(s => s.Status == 2) ? "" : t.Max(w => w.AuditTime)?.ToString("yyyy-MM-dd HH:mm:ss"), AuditTime = t.Any(s => s.Status == 2) ? "" : t.Max(w => w.AuditTime)?.ToString("yyyy-MM-dd HH:mm:ss"),
...@@ -312,12 +313,12 @@ public ApiResponse GetAprGroupList([FromBody] AllotIdRequest request) ...@@ -312,12 +313,12 @@ public ApiResponse GetAprGroupList([FromBody] AllotIdRequest request)
/// <returns></returns> /// <returns></returns>
[Route("apr/getdeptdetail")] [Route("apr/getdeptdetail")]
[HttpPost] [HttpPost]
public ApiResponse GetAprDetail([FromBody] per_apr_amount request) public ApiResponse GetAprDetail([FromBody] AprAmountAuditRequest request)
{ {
if (request.AllotId == 0) if (request.AllotId == 0)
return new ApiResponse(ResponseType.ParameterError, "参数AllotId无效!"); return new ApiResponse(ResponseType.ParameterError, "参数AllotId无效!");
var employee = employeeService.GetAprList(request.AllotId, request.TypeInDepartment); var employee = employeeService.GetAprList(request.AllotId, request.TypeInDepartment, date: request.CreateDate);
if (employee == null || !employee.Any()) if (employee == null || !employee.Any())
return new ApiResponse(ResponseType.OK, "ok", employee); return new ApiResponse(ResponseType.OK, "ok", employee);
...@@ -398,12 +399,12 @@ public ApiResponse DeleteApr([FromBody] IdRequest request) ...@@ -398,12 +399,12 @@ public ApiResponse DeleteApr([FromBody] IdRequest request)
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("apr/commit")] [Route("apr/commit")]
public ApiResponse CommitResult([FromBody] per_apr_amount request) public ApiResponse CommitResult([FromBody] AprAmountAuditRequest request)
{ {
if (request.AllotId == 0) if (request.AllotId == 0)
return new ApiResponse(ResponseType.ParameterError, "参数AllotId无效!"); return new ApiResponse(ResponseType.ParameterError, "参数AllotId无效!");
var result = employeeService.CommitApr(request.AllotId, request.TypeInDepartment, request.Status ?? 1); var result = employeeService.CommitApr(request.AllotId, request.TypeInDepartment, request.Status, request.CreateDate);
return new ApiResponse(ResponseType.OK); return new ApiResponse(ResponseType.OK);
} }
...@@ -547,10 +548,11 @@ public ApiResponse AprOverview(int allotId) ...@@ -547,10 +548,11 @@ public ApiResponse AprOverview(int allotId)
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost("apr/clear")] [HttpPost("apr/clear")]
public ApiResponse<List<TitleValue>> ClearAprData([FromBody] per_apr_amount request) public ApiResponse<List<TitleValue>> ClearAprData([FromBody] AprAmountAuditRequest request)
{ {
var result = employeeService.ClearAprData(request); var result = employeeService.ClearAprData(request);
return new ApiResponse<List<TitleValue>>(ResponseType.OK, "删除成功"); return result ? new ApiResponse<List<TitleValue>>(ResponseType.OK, "删除成功")
: new ApiResponse<List<TitleValue>>(ResponseType.OK, "删除失败");
} }
#endregion #endregion
...@@ -599,12 +601,12 @@ public ApiResponse GetDeptAssessment(int allotId) ...@@ -599,12 +601,12 @@ public ApiResponse GetDeptAssessment(int allotId)
/// <returns></returns> /// <returns></returns>
[Route("apr/hide/getlist")] [Route("apr/hide/getlist")]
[HttpPost] [HttpPost]
public ApiResponse GetAprHideList([FromBody] per_apr_amount request) public ApiResponse GetAprHideList([FromBody] AprAmountAuditRequest request)
{ {
if (request.AllotId == 0) if (request.AllotId == 0)
return new ApiResponse(ResponseType.ParameterError, "参数AllotId无效!"); return new ApiResponse(ResponseType.ParameterError, "参数AllotId无效!");
var employee = employeeService.GetAprHideByTypeInDepartment(request.AllotId, request.TypeInDepartment); var employee = employeeService.GetAprHideByTypeInDepartment(request.AllotId, request.TypeInDepartment, request.CreateDate);
return new ApiResponse(ResponseType.OK, "ok", employee); return new ApiResponse(ResponseType.OK, "ok", employee);
} }
...@@ -624,10 +626,11 @@ public ApiResponse GetAprHideGroupList([FromBody] AllotIdRequest request) ...@@ -624,10 +626,11 @@ public ApiResponse GetAprHideGroupList([FromBody] AllotIdRequest request)
if (employee == null || !employee.Any()) if (employee == null || !employee.Any())
return new ApiResponse(ResponseType.OK, "ok", employee); return new ApiResponse(ResponseType.OK, "ok", employee);
var result = employee.GroupBy(t => new { TypeInDepartment = t.TypeInDepartment ?? "" }) var result = employee.GroupBy(t => new { TypeInDepartment = t.TypeInDepartment ?? "", t.CreateDate })
.Select(t => new OhterAmountAuditResponse .Select(t => new OhterAmountAuditResponse
{ {
TypeInDepartment = t.Key.TypeInDepartment, TypeInDepartment = t.Key.TypeInDepartment,
CreateDate = t.Key.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
Amount = t.Sum(s => s.Amount ?? 0), Amount = t.Sum(s => s.Amount ?? 0),
Status = t.Any(s => s.Status == 2) ? 2 : t.Any(s => s.Status == 4) ? 4 : t.FirstOrDefault().Status, Status = t.Any(s => s.Status == 2) ? 2 : t.Any(s => s.Status == 4) ? 4 : t.FirstOrDefault().Status,
AuditTime = t.Any(s => s.Status == 2) ? "" : t.Max(w => w.AuditTime)?.ToString("yyyy-MM-dd HH:mm:ss"), AuditTime = t.Any(s => s.Status == 2) ? "" : t.Max(w => w.AuditTime)?.ToString("yyyy-MM-dd HH:mm:ss"),
...@@ -729,12 +732,12 @@ public ApiResponse DeleteAprHide([FromBody] IdRequest request) ...@@ -729,12 +732,12 @@ public ApiResponse DeleteAprHide([FromBody] IdRequest request)
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("apr/hide/commit")] [Route("apr/hide/commit")]
public ApiResponse CommitResultHide([FromBody] per_apr_amount request) public ApiResponse CommitResultHide([FromBody] AprAmountAuditRequest request)
{ {
if (request.AllotId == 0) if (request.AllotId == 0)
return new ApiResponse(ResponseType.ParameterError, "参数AllotId无效!"); return new ApiResponse(ResponseType.ParameterError, "参数AllotId无效!");
var result = employeeService.CommitAprHide(request.AllotId, request.TypeInDepartment, request.Status ?? 1); var result = employeeService.CommitAprHide(request.AllotId, request.TypeInDepartment, request.Status, request.CreateDate);
return new ApiResponse(ResponseType.OK); return new ApiResponse(ResponseType.OK);
} }
...@@ -867,10 +870,11 @@ public ApiResponse AprHideOverview(int allotId) ...@@ -867,10 +870,11 @@ public ApiResponse AprHideOverview(int allotId)
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost("apr/hide/clear")] [HttpPost("apr/hide/clear")]
public ApiResponse<List<TitleValue>> ClearAprHideData([FromBody] per_apr_amount request) public ApiResponse<List<TitleValue>> ClearAprHideData([FromBody] AprAmountAuditRequest request)
{ {
var result = employeeService.ClearAprHideData(request); var result = employeeService.ClearAprHideData(request);
return new ApiResponse<List<TitleValue>>(ResponseType.OK, "删除成功"); return result ? new ApiResponse<List<TitleValue>>(ResponseType.OK, "删除成功")
: new ApiResponse<List<TitleValue>>(ResponseType.OK, "删除失败");
} }
#endregion #endregion
......
...@@ -1136,7 +1136,7 @@ ...@@ -1136,7 +1136,7 @@
<param name="allotid"></param> <param name="allotid"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetAprList(Performance.DtoModels.AllotIdRequest)"> <member name="M:Performance.Api.Controllers.EmployeeController.GetAprList(Performance.DtoModels.AprAmountAuditRequest)">
<summary> <summary>
获取医院其他绩效列表 获取医院其他绩效列表
</summary> </summary>
...@@ -1150,7 +1150,7 @@ ...@@ -1150,7 +1150,7 @@
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetAprDetail(Performance.EntityModels.per_apr_amount)"> <member name="M:Performance.Api.Controllers.EmployeeController.GetAprDetail(Performance.DtoModels.AprAmountAuditRequest)">
<summary> <summary>
医院其他绩效审核详情 医院其他绩效审核详情
</summary> </summary>
...@@ -1217,6 +1217,13 @@ ...@@ -1217,6 +1217,13 @@
<param name="allotId"></param> <param name="allotId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.ClearAprData(Performance.DtoModels.AprAmountAuditRequest)">
<summary>
清理该科室录入数据
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetEmployeeMessage(Performance.EntityModels.per_apr_amount)"> <member name="M:Performance.Api.Controllers.EmployeeController.GetEmployeeMessage(Performance.EntityModels.per_apr_amount)">
<summary> <summary>
自动获取人员信息 自动获取人员信息
...@@ -1240,7 +1247,7 @@ ...@@ -1240,7 +1247,7 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetAprHideList(Performance.DtoModels.AllotIdRequest)"> <member name="M:Performance.Api.Controllers.EmployeeController.GetAprHideList(Performance.DtoModels.AprAmountAuditRequest)">
<summary> <summary>
获取不公示其他绩效列表 获取不公示其他绩效列表
</summary> </summary>
...@@ -1321,6 +1328,13 @@ ...@@ -1321,6 +1328,13 @@
<param name="allotId"></param> <param name="allotId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.ClearAprHideData(Performance.DtoModels.AprAmountAuditRequest)">
<summary>
清理该科室录入不公示数据
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetDeptComparison(Performance.DtoModels.ComparisonPagingRequest)"> <member name="M:Performance.Api.Controllers.EmployeeController.GetDeptComparison(Performance.DtoModels.ComparisonPagingRequest)">
<summary> <summary>
实发绩效比对 实发绩效比对
......
...@@ -1909,6 +1909,15 @@ ...@@ -1909,6 +1909,15 @@
<member name="P:Performance.DtoModels.AprAmountAuditRequest.AllotId"> <member name="P:Performance.DtoModels.AprAmountAuditRequest.AllotId">
<summary> 绩效ID </summary> <summary> 绩效ID </summary>
</member> </member>
<member name="P:Performance.DtoModels.AprAmountAuditRequest.TypeInDepartment">
<summary> 录入科室 </summary>
</member>
<member name="P:Performance.DtoModels.AprAmountAuditRequest.CreateDate">
<summary> 创建时间 </summary>
</member>
<member name="P:Performance.DtoModels.AprAmountAuditRequest.Status">
<summary> 提交 1、撤销 2、提交 </summary>
</member>
<member name="P:Performance.DtoModels.AprAmountAuditRequest.IsPass"> <member name="P:Performance.DtoModels.AprAmountAuditRequest.IsPass">
<summary> 审核结果 1、审核通过 2、驳回 </summary> <summary> 审核结果 1、审核通过 2、驳回 </summary>
</member> </member>
......
...@@ -7,24 +7,30 @@ namespace Performance.DtoModels ...@@ -7,24 +7,30 @@ namespace Performance.DtoModels
{ {
public class AprAmountAuditRequest public class AprAmountAuditRequest
{ {
public class Member
{
public string PersonnelNumber { get; set; }
public string DoctorName { get; set; }
}
/// <summary> 绩效ID </summary> /// <summary> 绩效ID </summary>
public int AllotId { get; set; } public int AllotId { get; set; }
public List<Member> Members { get; set; }
/// <summary> 录入科室 </summary>
public string TypeInDepartment { get; set; }
/// <summary> 创建时间 </summary>
public DateTime CreateDate { get; set; }
/// <summary> 提交 1、撤销 2、提交 </summary>
public int Status { get; set; }
/// <summary> 审核结果 1、审核通过 2、驳回 </summary> /// <summary> 审核结果 1、审核通过 2、驳回 </summary>
public int IsPass { get; set; } public int IsPass { get; set; }
/// <summary> 备注 </summary> /// <summary> 备注 </summary>
public string Remark { get; set; } public string Remark { get; set; }
public List<Member> Members { get; set; }
} }
public class AprAmountAuditRequestValidator : AbstractValidator<AprAmountAuditRequest>
public class Member
{ {
public AprAmountAuditRequestValidator() public string PersonnelNumber { get; set; }
{ public string DoctorName { get; set; }
RuleFor(x => x.IsPass).NotNull().NotEmpty().InclusiveBetween(1, 2);
}
} }
} }
...@@ -11,6 +11,7 @@ public class OhterAmountAuditResponse ...@@ -11,6 +11,7 @@ public class OhterAmountAuditResponse
public string TypeInDepartment { get; set; } public string TypeInDepartment { get; set; }
public decimal Amount { get; set; } public decimal Amount { get; set; }
public int? Status { get; set; } public int? Status { get; set; }
public string CreateDate { get; set; }
public string AuditTime { get; set; } public string AuditTime { get; set; }
public string Remark { get; set; } public string Remark { get; set; }
} }
......
...@@ -74,7 +74,7 @@ public class per_apr_amount ...@@ -74,7 +74,7 @@ public class per_apr_amount
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public Nullable<DateTime> CreateDate { get; set; } public DateTime CreateDate { get; set; }
/// <summary> /// <summary>
/// ///
......
...@@ -69,7 +69,7 @@ public class per_apr_amount_hide ...@@ -69,7 +69,7 @@ public class per_apr_amount_hide
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public Nullable<DateTime> CreateDate { get; set; } public DateTime CreateDate { get; set; }
/// <summary> /// <summary>
/// ///
......
...@@ -452,8 +452,10 @@ public List<per_apr_amount> GetAprList(int allotId, int userId) ...@@ -452,8 +452,10 @@ public List<per_apr_amount> GetAprList(int allotId, int userId)
/// </summary> /// </summary>
/// <param name="allotId"></param> /// <param name="allotId"></param>
/// <param name="department"></param> /// <param name="department"></param>
/// <param name="status"></param>
/// <param name="date"></param>
/// <returns></returns> /// <returns></returns>
public List<view_per_apr_amount> GetAprList(int allotId, string department, int? status = null) public List<view_per_apr_amount> GetAprList(int allotId, string department, int? status = null, DateTime? date = null)
{ {
Expression<Func<per_apr_amount, bool>> predicate = w => w.AllotId == allotId && w.Amount.HasValue && w.Amount != 0; Expression<Func<per_apr_amount, bool>> predicate = w => w.AllotId == allotId && w.Amount.HasValue && w.Amount != 0;
if (!string.IsNullOrEmpty(department)) if (!string.IsNullOrEmpty(department))
...@@ -462,6 +464,9 @@ public List<view_per_apr_amount> GetAprList(int allotId, string department, int? ...@@ -462,6 +464,9 @@ public List<view_per_apr_amount> GetAprList(int allotId, string department, int?
if (status.HasValue) if (status.HasValue)
predicate = predicate.And(w => w.Status == status); predicate = predicate.And(w => w.Status == status);
if (date != null)
predicate = predicate.And((w) => w.CreateDate == date);
var list = perapramountRepository.GetFullAmount(predicate); var list = perapramountRepository.GetFullAmount(predicate);
if (list != null && list.Any()) if (list != null && list.Any())
list = list.OrderBy(t => t.DoctorName).ToList(); list = list.OrderBy(t => t.DoctorName).ToList();
...@@ -490,7 +495,6 @@ public bool InsertApr(per_apr_amount request, int userId) ...@@ -490,7 +495,6 @@ public bool InsertApr(per_apr_amount request, int userId)
request.TypeInDepartment = GetTypeInDepartment(userId); request.TypeInDepartment = GetTypeInDepartment(userId);
request.Status = 1; request.Status = 1;
request.CreateDate = DateTime.Now;
request.CreateUser = userId; request.CreateUser = userId;
return perapramountRepository.Add(request); return perapramountRepository.Add(request);
} }
...@@ -543,11 +547,13 @@ public bool DeleteApr(int id) ...@@ -543,11 +547,13 @@ public bool DeleteApr(int id)
/// </summary> /// </summary>
/// <param name="allotId"></param> /// <param name="allotId"></param>
/// <param name="department">录入科室</param> /// <param name="department">录入科室</param>
/// <param name="department"></param> /// <param name="status">1.撤销 2.提交</param>
/// <returns></returns> /// <returns></returns>
public bool CommitApr(int allotId, string department, int status) public bool CommitApr(int allotId, string department, int status, DateTime date)
{ {
var list = GetAprByTypeInDepartment(allotId, department); var list = status == 1
? GetAprByTypeInDepartment(allotId, department, date, 2) // 撤销操作,获取已提交等待审核的数据
: GetAprByTypeInDepartment(allotId, department, date, 1, 4); // 提交操作,获取未提交、驳回的数据
if (list == null) return true; if (list == null) return true;
list.ForEach(t => t.Status = status); list.ForEach(t => t.Status = status);
...@@ -586,7 +592,7 @@ public ApiResponse ConfirmAudit(int userid, AprAmountAuditRequest request) ...@@ -586,7 +592,7 @@ public ApiResponse ConfirmAudit(int userid, AprAmountAuditRequest request)
if (error.Count > 0) if (error.Count > 0)
return new ApiResponse(ResponseType.WarningTable, "验证不通过,当前操作已拒绝", error); return new ApiResponse(ResponseType.WarningTable, "验证不通过,当前操作已拒绝", error);
var allApramounts = perapramountRepository.GetEntities(t => t.AllotId == request.AllotId); var allApramounts = GetAprByTypeInDepartment(request.AllotId, request.TypeInDepartment, request.CreateDate, 2); // 获取等待审核的数据
foreach (var member in request.Members) foreach (var member in request.Members)
{ {
var apramounts = allApramounts?.Where(t => (t.PersonnelNumber ?? "") == member.PersonnelNumber); var apramounts = allApramounts?.Where(t => (t.PersonnelNumber ?? "") == member.PersonnelNumber);
...@@ -638,13 +644,6 @@ public string ImpoerAprEmployees(int allotid, string path, int userid) ...@@ -638,13 +644,6 @@ public string ImpoerAprEmployees(int allotid, string path, int userid)
if (userrole == null) throw new PerformanceException("用户未绑定角色"); if (userrole == null) throw new PerformanceException("用户未绑定角色");
var typeIn = GetTypeInDepartment(userid); var typeIn = GetTypeInDepartment(userid);
var data = perapramountRepository.GetEntities(t => t.AllotId == allotid && t.TypeInDepartment == typeIn);
if (data != null && data.Any())
{
data.ForEach(t => t.Status = 1);
perapramountRepository.UpdateRange(data.ToArray());
}
try try
{ {
IWorkbook workbook = null; IWorkbook workbook = null;
...@@ -652,9 +651,7 @@ public string ImpoerAprEmployees(int allotid, string path, int userid) ...@@ -652,9 +651,7 @@ public string ImpoerAprEmployees(int allotid, string path, int userid)
var version = FileHelper.GetExtension(path) == ".xlsx" ? ExcelVersion.xlsx : ExcelVersion.xls; var version = FileHelper.GetExtension(path) == ".xlsx" ? ExcelVersion.xlsx : ExcelVersion.xls;
using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate)) using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate))
{ {
workbook = (version == ExcelVersion.xlsx) workbook = version == ExcelVersion.xlsx ? new XSSFWorkbook(fs) : new HSSFWorkbook(fs);
? (IWorkbook)(new XSSFWorkbook(fs))
: (IWorkbook)(new HSSFWorkbook(fs));
} }
if (workbook == null) return ""; if (workbook == null) return "";
var sheet = workbook.GetSheetAt(0); var sheet = workbook.GetSheetAt(0);
...@@ -921,7 +918,7 @@ public List<per_apr_amount_hide> GetAprHideList(int allotId, int userId) ...@@ -921,7 +918,7 @@ public List<per_apr_amount_hide> GetAprHideList(int allotId, int userId)
/// <param name="allotId"></param> /// <param name="allotId"></param>
/// <param name="department"></param> /// <param name="department"></param>
/// <returns></returns> /// <returns></returns>
public List<view_per_apr_amount> GetAprHideList(int allotId, string department, int? status = null) public List<view_per_apr_amount> GetAprHideList(int allotId, string department, int? status = null, string date = null)
{ {
Expression<Func<per_apr_amount_hide, bool>> predicate = w => w.AllotId == allotId && w.Amount.HasValue && w.Amount != 0; Expression<Func<per_apr_amount_hide, bool>> predicate = w => w.AllotId == allotId && w.Amount.HasValue && w.Amount != 0;
if (!string.IsNullOrEmpty(department)) if (!string.IsNullOrEmpty(department))
...@@ -930,6 +927,9 @@ public List<view_per_apr_amount> GetAprHideList(int allotId, string department, ...@@ -930,6 +927,9 @@ public List<view_per_apr_amount> GetAprHideList(int allotId, string department,
if (status.HasValue) if (status.HasValue)
predicate = predicate.And(w => w.Status == status); predicate = predicate.And(w => w.Status == status);
if (!string.IsNullOrEmpty(date))
predicate = predicate.And(w => w.CreateDate.ToString("yyyy-MM-dd HH:mm:ss") == date);
var list = _hideRepository.GetFullAmount(predicate); var list = _hideRepository.GetFullAmount(predicate);
if (list != null && list.Any()) if (list != null && list.Any())
list = list.OrderBy(t => t.DoctorName).ToList(); list = list.OrderBy(t => t.DoctorName).ToList();
...@@ -958,7 +958,6 @@ public bool InsertAprHide(per_apr_amount_hide request, int userId) ...@@ -958,7 +958,6 @@ public bool InsertAprHide(per_apr_amount_hide request, int userId)
request.TypeInDepartment = GetTypeInDepartment(userId); request.TypeInDepartment = GetTypeInDepartment(userId);
request.Status = 1; request.Status = 1;
request.CreateDate = DateTime.Now;
request.CreateUser = userId; request.CreateUser = userId;
return _hideRepository.Add(request); return _hideRepository.Add(request);
} }
...@@ -1010,12 +1009,14 @@ public bool DeleteAprHide(int id) ...@@ -1010,12 +1009,14 @@ public bool DeleteAprHide(int id)
/// 提交、撤销医院不公示其他绩效 /// 提交、撤销医院不公示其他绩效
/// </summary> /// </summary>
/// <param name="allotId"></param> /// <param name="allotId"></param>
/// <param name="userId"></param> /// <param name="department">录入科室</param>
/// <param name="status"></param> /// <param name="status">1.撤销 2.提交</param>
/// <returns></returns> /// <returns></returns>
public bool CommitAprHide(int allotId, string department, int status) public bool CommitAprHide(int allotId, string department, int status, DateTime date)
{ {
var list = GetAprHideByTypeInDepartment(allotId, department); var list = status == 1
? GetAprHideByTypeInDepartment(allotId, department, date, 2) // 撤销操作,获取已提交等待审核的数据
: GetAprHideByTypeInDepartment(allotId, department, date, 1, 4); // 提交操作,获取未提交、驳回的数据
if (list == null) return true; if (list == null) return true;
list.ForEach(t => t.Status = status); list.ForEach(t => t.Status = status);
...@@ -1055,7 +1056,7 @@ public ApiResponse ConfirmAuditHide(int userid, AprAmountAuditRequest request) ...@@ -1055,7 +1056,7 @@ public ApiResponse ConfirmAuditHide(int userid, AprAmountAuditRequest request)
if (error.Count > 0) if (error.Count > 0)
return new ApiResponse(ResponseType.WarningTable, "验证不通过,当前操作已拒绝", error); return new ApiResponse(ResponseType.WarningTable, "验证不通过,当前操作已拒绝", error);
var allApramounts = _hideRepository.GetEntities(t => t.AllotId == request.AllotId); var allApramounts = GetAprHideByTypeInDepartment(request.AllotId, request.TypeInDepartment, request.CreateDate, 2); // 获取等待审核的数据
foreach (var member in request.Members) foreach (var member in request.Members)
{ {
var apramounts = allApramounts?.Where(t => (t.PersonnelNumber ?? "") == member.PersonnelNumber); var apramounts = allApramounts?.Where(t => (t.PersonnelNumber ?? "") == member.PersonnelNumber);
...@@ -1106,13 +1107,6 @@ public void ImpoerAprHideEmployees(int allotid, string path, int userid) ...@@ -1106,13 +1107,6 @@ public void ImpoerAprHideEmployees(int allotid, string path, int userid)
if (userrole == null) throw new PerformanceException("用户未绑定角色"); if (userrole == null) throw new PerformanceException("用户未绑定角色");
var typeIn = GetTypeInDepartment(userid); var typeIn = GetTypeInDepartment(userid);
var data = _hideRepository.GetEntities(t => t.AllotId == allotid && t.TypeInDepartment == typeIn);
if (data != null && data.Any())
{
data.ForEach(t => t.Status = 1);
_hideRepository.UpdateRange(data.ToArray());
}
try try
{ {
IWorkbook workbook = null; IWorkbook workbook = null;
...@@ -1120,9 +1114,7 @@ public void ImpoerAprHideEmployees(int allotid, string path, int userid) ...@@ -1120,9 +1114,7 @@ public void ImpoerAprHideEmployees(int allotid, string path, int userid)
var version = FileHelper.GetExtension(path) == ".xlsx" ? ExcelVersion.xlsx : ExcelVersion.xls; var version = FileHelper.GetExtension(path) == ".xlsx" ? ExcelVersion.xlsx : ExcelVersion.xls;
using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate)) using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate))
{ {
workbook = (version == ExcelVersion.xlsx) workbook = version == ExcelVersion.xlsx ? new XSSFWorkbook(fs) : new HSSFWorkbook(fs);
? (IWorkbook)(new XSSFWorkbook(fs))
: (IWorkbook)(new HSSFWorkbook(fs));
} }
if (workbook == null) return; if (workbook == null) return;
var sheet = workbook.GetSheetAt(0); var sheet = workbook.GetSheetAt(0);
...@@ -1880,9 +1872,10 @@ public void AuditGather(List<Gather> gather) ...@@ -1880,9 +1872,10 @@ public void AuditGather(List<Gather> gather)
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
public bool ClearAprData(per_apr_amount request) public bool ClearAprData(AprAmountAuditRequest request)
{ {
var data = perapramountRepository.GetEntities(t => t.AllotId == request.AllotId && t.TypeInDepartment == request.TypeInDepartment); var data = perapramountRepository.GetEntities(t => t.AllotId == request.AllotId
&& t.TypeInDepartment == request.TypeInDepartment && t.CreateDate == request.CreateDate);
if (data == null || !data.Any()) return true; if (data == null || !data.Any()) return true;
return perapramountRepository.RemoveRange(data.ToArray()); return perapramountRepository.RemoveRange(data.ToArray());
...@@ -1893,9 +1886,10 @@ public bool ClearAprData(per_apr_amount request) ...@@ -1893,9 +1886,10 @@ public bool ClearAprData(per_apr_amount request)
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
public bool ClearAprHideData(per_apr_amount request) public bool ClearAprHideData(AprAmountAuditRequest request)
{ {
var data = _hideRepository.GetEntities(t => t.AllotId == request.AllotId && t.TypeInDepartment == request.TypeInDepartment); var data = _hideRepository.GetEntities(t => t.AllotId == request.AllotId
&& t.TypeInDepartment == request.TypeInDepartment && t.CreateDate == request.CreateDate);
if (data == null || !data.Any()) return true; if (data == null || !data.Any()) return true;
return _hideRepository.RemoveRange(data.ToArray()); return _hideRepository.RemoveRange(data.ToArray());
...@@ -1906,10 +1900,20 @@ public bool ClearAprHideData(per_apr_amount request) ...@@ -1906,10 +1900,20 @@ public bool ClearAprHideData(per_apr_amount request)
/// </summary> /// </summary>
/// <param name="allotId"></param> /// <param name="allotId"></param>
/// <param name="department">录入科室</param> /// <param name="department">录入科室</param>
/// <param name="date"></param>
/// <param name="status">1.未提交 2.等待审核 3.审核通过 4.驳回</param>
/// <returns></returns> /// <returns></returns>
public List<per_apr_amount> GetAprByTypeInDepartment(int allotId, string department) public List<per_apr_amount> GetAprByTypeInDepartment(int allotId, string department, DateTime date, params int[] status)
{ {
var data = perapramountRepository.GetEntities(t => t.AllotId == allotId && t.TypeInDepartment == department); Expression<Func<per_apr_amount, bool>> exp = (w) => w.AllotId == allotId && w.TypeInDepartment == department && w.CreateDate == date;
//if (!string.IsNullOrEmpty(date))
// exp = exp.And((w) => w.CreateDate.ToString("yyyy-MM-dd HH:mm:ss") == date);
if (status != null && status.Any())
exp = exp.And((w) => status.Contains(w.Status ?? 1));
var data = perapramountRepository.GetEntities(exp);
return data; return data;
} }
...@@ -1918,10 +1922,20 @@ public List<per_apr_amount> GetAprByTypeInDepartment(int allotId, string departm ...@@ -1918,10 +1922,20 @@ public List<per_apr_amount> GetAprByTypeInDepartment(int allotId, string departm
/// </summary> /// </summary>
/// <param name="allotId"></param> /// <param name="allotId"></param>
/// <param name="department">录入科室</param> /// <param name="department">录入科室</param>
/// <param name="date"></param>
/// <param name="status">1.未提交 2.等待审核 3.审核通过 4.驳回</param>
/// <returns></returns> /// <returns></returns>
public List<per_apr_amount_hide> GetAprHideByTypeInDepartment(int allotId, string department) public List<per_apr_amount_hide> GetAprHideByTypeInDepartment(int allotId, string department, DateTime date, params int[] status)
{ {
var data = _hideRepository.GetEntities(t => t.AllotId == allotId && t.TypeInDepartment == department); Expression<Func<per_apr_amount_hide, bool>> exp = (w) => w.AllotId == allotId && w.TypeInDepartment == department && w.CreateDate == date;
//if (!string.IsNullOrEmpty(date))
// exp = exp.And((w) => w.CreateDate.ToString("yyyy-MM-dd HH:mm:ss") == date);
if (status != null && status.Any())
exp = exp.And((w) => status.Contains(w.Status ?? 1));
var data = _hideRepository.GetEntities(exp);
return data; return data;
} }
} }
......
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