Commit 8d45a787 by ruyun.zhang@suvalue.com

Merge branch 'feature/医院其他绩效097' into develop

parents b47369b6 65dbd843
...@@ -395,21 +395,5 @@ public ApiResponse<res_baiscnorm> EditHospitalAvg([FromBody] ComputerAvgRequest ...@@ -395,21 +395,5 @@ public ApiResponse<res_baiscnorm> EditHospitalAvg([FromBody] ComputerAvgRequest
} }
#endregion #endregion
#region 其他绩效统计
/// <summary>
/// 其他医院绩效统计
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
[Route("OtherPerStats/{allotId}")]
[HttpPost]
public ApiResponse OtherPerStats(int allotId)
{
var relust = _employeeService.GetOtherPerStats(allotId);
return new ApiResponse(ResponseType.OK, relust);
}
#endregion
} }
} }
\ No newline at end of file
...@@ -509,13 +509,6 @@ ...@@ -509,13 +509,6 @@
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.ComputeController.OtherPerStats(System.Int32)">
<summary>
其他医院绩效统计
</summary>
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.GetDrugtypeList(Performance.DtoModels.DrugpropRequest)"> <member name="M:Performance.Api.Controllers.ConfigController.GetDrugtypeList(Performance.DtoModels.DrugpropRequest)">
<summary> <summary>
获取 药占比类型信息列表 获取 药占比类型信息列表
...@@ -795,14 +788,14 @@ ...@@ -795,14 +788,14 @@
<param name="allotid"></param> <param name="allotid"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetAprList(Performance.EntityModels.per_apr_amount)"> <member name="M:Performance.Api.Controllers.EmployeeController.GetAprList(Performance.DtoModels.AllotIdRequest)">
<summary> <summary>
获取人员补充绩效列表 获取医院其他绩效列表
</summary> </summary>
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetAprGroupList(Performance.EntityModels.per_apr_amount)"> <member name="M:Performance.Api.Controllers.EmployeeController.GetAprGroupList(Performance.DtoModels.AllotIdRequest)">
<summary> <summary>
医院其他绩效审核 医院其他绩效审核
</summary> </summary>
...@@ -818,21 +811,21 @@ ...@@ -818,21 +811,21 @@
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.InsertApr(Performance.EntityModels.per_apr_amount)"> <member name="M:Performance.Api.Controllers.EmployeeController.InsertApr(Performance.EntityModels.per_apr_amount)">
<summary> <summary>
新增人员补充绩效 新增医院其他绩效
</summary> </summary>
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.UpdateApr(Performance.EntityModels.per_apr_amount)"> <member name="M:Performance.Api.Controllers.EmployeeController.UpdateApr(Performance.EntityModels.per_apr_amount)">
<summary> <summary>
修改人员补充绩效 修改医院其他绩效
</summary> </summary>
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.DeleteApr(Performance.EntityModels.per_apr_amount)"> <member name="M:Performance.Api.Controllers.EmployeeController.DeleteApr(Performance.DtoModels.IdRequest)">
<summary> <summary>
删除人员补充绩效 删除医院其他绩效
</summary> </summary>
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
...@@ -845,11 +838,25 @@ ...@@ -845,11 +838,25 @@
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.Import(Microsoft.AspNetCore.Http.IFormCollection)"> <member name="M:Performance.Api.Controllers.EmployeeController.Import(Microsoft.AspNetCore.Http.IFormCollection)">
<summary> <summary>
上传人员绩效文件 上传医院其他绩效文件
</summary> </summary>
<param name="form"></param> <param name="form"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetPerforTypeDict(System.Int32)">
<summary>
绩效类型字典
</summary>
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.AprOverview(System.Int32)">
<summary>
医院其他绩效统计
</summary>
<param name="allotId"></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>
自动获取人员信息 自动获取人员信息
...@@ -867,17 +874,79 @@ ...@@ -867,17 +874,79 @@
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetPerforTypeDict(System.Int32)"> <member name="M:Performance.Api.Controllers.EmployeeController.GetDeptAssessment(System.Int32)">
<summary> <summary>
绩效类型字典 材料科室考核
</summary>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetAprHideList(Performance.DtoModels.AllotIdRequest)">
<summary>
获取不公示其他绩效列表
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetAprHideGroupList(Performance.DtoModels.AllotIdRequest)">
<summary>
不公示其他绩效审核
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetAprHideDetail(Performance.EntityModels.per_apr_amount)">
<summary>
不公示其他绩效审核详情
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.InsertAprHide(Performance.EntityModels.per_apr_amount_hide)">
<summary>
新增不公示其他绩效
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.UpdateAprHide(Performance.EntityModels.per_apr_amount_hide)">
<summary>
修改不公示其他绩效
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.DeleteAprHide(Performance.DtoModels.IdRequest)">
<summary>
删除不公示其他绩效
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.AuditResultHide(Performance.DtoModels.AprAmountAuditRequest)">
<summary>
不公示其他绩效审核;驳回、成功
</summary>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.ImportAprHide(Microsoft.AspNetCore.Http.IFormCollection)">
<summary>
上传不公示其他绩效
</summary>
<param name="form"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetPerforTypeDictHide(System.Int32)">
<summary>
不公示其他绩效类型字典
</summary> </summary>
<param name="allotId"></param> <param name="allotId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetDeptAssessment(System.Int32)"> <member name="M:Performance.Api.Controllers.EmployeeController.AprHideOverview(System.Int32)">
<summary> <summary>
材料科室考核 不公示其他绩效统计
</summary> </summary>
<param name="allotId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.ExConfigController.Extract(Performance.DtoModels.ModModuleRequest)"> <member name="M:Performance.Api.Controllers.ExConfigController.Extract(Performance.DtoModels.ModModuleRequest)">
......
...@@ -220,6 +220,9 @@ ...@@ -220,6 +220,9 @@
<member name="P:Performance.EntityModels.PerformanceDbContext.per_apr_amount"> <member name="P:Performance.EntityModels.PerformanceDbContext.per_apr_amount">
<summary> </summary> <summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_apr_amount_hide">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_budget_amount"> <member name="P:Performance.EntityModels.PerformanceDbContext.per_budget_amount">
<summary> 预算管理金额 </summary> <summary> 预算管理金额 </summary>
</member> </member>
...@@ -4411,6 +4414,86 @@ ...@@ -4411,6 +4414,86 @@
验证失败描述 验证失败描述
</summary> </summary>
</member> </member>
<member name="T:Performance.EntityModels.per_apr_amount_hide">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.AllotId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.PersonnelNumber">
<summary>
人员工号
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.DoctorName">
<summary>
医生姓名
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.PerforType">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.Amount">
<summary>
金额
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.TypeInDepartment">
<summary>
录入科室
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.Status">
<summary>
状态 1 未提交 2 等待审核 3 审核通过 4 驳回
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.AuditTime">
<summary>
审核时间
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.AuditUser">
<summary>
审核人
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.CreateDate">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.CreateUser">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.Remark">
<summary>
备注
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.IsVerify">
<summary>
0 未通过验证 1 通过验证
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount_hide.VerifyMessage">
<summary>
验证失败描述
</summary>
</member>
<member name="T:Performance.EntityModels.per_budget_amount"> <member name="T:Performance.EntityModels.per_budget_amount">
<summary> <summary>
预算管理金额 预算管理金额
......
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.DtoModels
{
public class AllotIdRequest
{
public int AllotId { get; set; }
}
public class IdRequest
{
public int Id { get; set; }
}
}
...@@ -158,6 +158,8 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options) ...@@ -158,6 +158,8 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
public virtual DbSet<per_allot> per_allot { get; set; } public virtual DbSet<per_allot> per_allot { get; set; }
/// <summary> </summary> /// <summary> </summary>
public virtual DbSet<per_apr_amount> per_apr_amount { get; set; } public virtual DbSet<per_apr_amount> per_apr_amount { get; set; }
/// <summary> </summary>
public virtual DbSet<per_apr_amount_hide> per_apr_amount_hide { get; set; }
/// <summary> 预算管理金额 </summary> /// <summary> 预算管理金额 </summary>
public virtual DbSet<per_budget_amount> per_budget_amount { get; set; } public virtual DbSet<per_budget_amount> per_budget_amount { get; set; }
/// <summary> 预算管理占比 </summary> /// <summary> 预算管理占比 </summary>
......
...@@ -7,45 +7,45 @@ ...@@ -7,45 +7,45 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels namespace Performance.EntityModels
{ {
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
[Table("per_apr_amount")] [Table("per_apr_amount")]
public class per_apr_amount public class per_apr_amount
{ {
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
[Key] [Key]
public int Id { get; set; } public int Id { get; set; }
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public int AllotId { get; set; } public int AllotId { get; set; }
/// <summary> /// <summary>
/// 人员工号 /// 人员工号
/// </summary> /// </summary>
public string PersonnelNumber { get; set; } public string PersonnelNumber { get; set; }
/// <summary> /// <summary>
/// 医生姓名 /// 医生姓名
/// </summary> /// </summary>
public string DoctorName { get; set; } public string DoctorName { get; set; }
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public string PerforType { get; set; } public string PerforType { get; set; }
/// <summary> /// <summary>
/// 金额 /// 金额
/// </summary> /// </summary>
public Nullable<decimal> Amount { get; set; } public Nullable<decimal> Amount { get; set; }
/// <summary> /// <summary>
/// 录入科室 /// 录入科室
/// </summary> /// </summary>
...@@ -60,27 +60,27 @@ public class per_apr_amount ...@@ -60,27 +60,27 @@ public class per_apr_amount
/// 状态 1 未提交 2 等待审核 3 审核通过 4 驳回 /// 状态 1 未提交 2 等待审核 3 审核通过 4 驳回
/// </summary> /// </summary>
public Nullable<int> Status { get; set; } public Nullable<int> Status { get; set; }
/// <summary> /// <summary>
/// 审核时间 /// 审核时间
/// </summary> /// </summary>
public Nullable<DateTime> AuditTime { get; set; } public Nullable<DateTime> AuditTime { get; set; }
/// <summary> /// <summary>
/// 审核人 /// 审核人
/// </summary> /// </summary>
public Nullable<int> AuditUser { get; set; } public Nullable<int> AuditUser { get; set; }
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public Nullable<DateTime> CreateDate { get; set; } public Nullable<DateTime> CreateDate { get; set; }
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public Nullable<int> CreateUser { get; set; } public Nullable<int> CreateUser { get; set; }
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>
......
//-----------------------------------------------------------------------
// <copyright file=" per_apr_amount_hide.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("per_apr_amount_hide")]
public class per_apr_amount_hide
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
///
/// </summary>
public int AllotId { get; set; }
/// <summary>
/// 人员工号
/// </summary>
public string PersonnelNumber { get; set; }
/// <summary>
/// 医生姓名
/// </summary>
public string DoctorName { get; set; }
/// <summary>
///
/// </summary>
public string PerforType { get; set; }
/// <summary>
/// 金额
/// </summary>
public Nullable<decimal> Amount { get; set; }
/// <summary>
/// 录入科室
/// </summary>
public string TypeInDepartment { get; set; }
/// <summary>
/// 状态 1 未提交 2 等待审核 3 审核通过 4 驳回
/// </summary>
public Nullable<int> Status { get; set; }
/// <summary>
/// 审核时间
/// </summary>
public Nullable<DateTime> AuditTime { get; set; }
/// <summary>
/// 审核人
/// </summary>
public Nullable<int> AuditUser { get; set; }
/// <summary>
///
/// </summary>
public Nullable<DateTime> CreateDate { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> CreateUser { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 0 未通过验证 1 通过验证
/// </summary>
public int? IsVerify { get; set; }
/// <summary>
/// 验证失败描述
/// </summary>
public string VerifyMessage { get; set; }
}
}
...@@ -14,35 +14,36 @@ namespace Performance.Repository ...@@ -14,35 +14,36 @@ namespace Performance.Repository
/// per_apr_amount Repository /// per_apr_amount Repository
/// </summary> /// </summary>
public partial class PerforPerapramountRepository : PerforRepository<per_apr_amount> public partial class PerforPerapramountRepository : PerforRepository<per_apr_amount>
{ {
public List<view_per_apr_amount> GetFullAmount(Func<per_apr_amount, bool> predicate) public List<view_per_apr_amount> GetFullAmount(Func<per_apr_amount, bool> predicate)
{ {
var employees = this.context.Set<per_employee>().AsEnumerable(); var employees = this.context.Set<per_employee>().AsEnumerable();
var amounts = this.context.Set<per_apr_amount>().Where(predicate); var amounts = this.context.Set<per_apr_amount>().Where(predicate);
var res = amounts.Join(employees, var res = from outer in amounts
outer => new { outer.AllotId, outer.PersonnelNumber }, join inner in employees
inner => new { AllotId = inner.AllotId ?? 0, inner.PersonnelNumber }, on new { outer.AllotId, outer.PersonnelNumber } equals new { AllotId = inner.AllotId ?? 0, inner.PersonnelNumber } into temp
(outer, inner) => new view_per_apr_amount from tt in temp.DefaultIfEmpty()
{ select new view_per_apr_amount
Id = outer.Id, {
AllotId = outer.AllotId, Id = outer.Id,
PersonnelNumber = outer.PersonnelNumber, AllotId = outer.AllotId,
DoctorName = outer.DoctorName, PersonnelNumber = outer.PersonnelNumber,
PerforType = outer.PerforType, DoctorName = outer.DoctorName,
Amount = outer.Amount, PerforType = outer.PerforType,
AccountingUnit = inner.AccountingUnit, Amount = outer.Amount,
UnitType = inner.UnitType, AccountingUnit = tt?.AccountingUnit ?? "",
TypeInDepartment = outer.TypeInDepartment, UnitType = tt?.UnitType ?? "",
Status = outer.Status, TypeInDepartment = outer.TypeInDepartment,
AuditTime = outer.AuditTime, Status = outer.Status,
AuditUser = outer.AuditUser, AuditTime = outer.AuditTime,
CreateDate = outer.CreateDate, AuditUser = outer.AuditUser,
CreateUser = outer.CreateUser, CreateDate = outer.CreateDate,
Remark = outer.Remark, CreateUser = outer.CreateUser,
IsVerify = outer.IsVerify, Remark = outer.Remark,
VerifyMessage = outer.VerifyMessage, IsVerify = outer.IsVerify,
}); VerifyMessage = outer.VerifyMessage,
};
return res.ToList() ?? new List<view_per_apr_amount>(); return res.ToList() ?? new List<view_per_apr_amount>();
} }
} }
......
//-----------------------------------------------------------------------
// <copyright file=" per_apr_amount.cs">
// * FileName: per_apr_amount.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// per_apr_amount Repository
/// </summary>
public partial class PerforPerapramounthideRepository : PerforRepository<per_apr_amount_hide>
{
public List<view_per_apr_amount> GetFullAmount(Func<per_apr_amount_hide, bool> predicate)
{
var employees = this.context.Set<per_employee>().AsEnumerable();
var amounts = this.context.Set<per_apr_amount_hide>().Where(predicate);
var res = from outer in amounts
join inner in employees
on new { outer.AllotId, outer.PersonnelNumber } equals new { AllotId = inner.AllotId ?? 0, inner.PersonnelNumber } into temp
from tt in temp.DefaultIfEmpty()
select new view_per_apr_amount
{
Id = outer.Id,
AllotId = outer.AllotId,
PersonnelNumber = outer.PersonnelNumber,
DoctorName = outer.DoctorName,
PerforType = outer.PerforType,
Amount = outer.Amount,
AccountingUnit = tt?.AccountingUnit ?? "",
UnitType = tt?.UnitType ?? "",
TypeInDepartment = outer.TypeInDepartment,
Status = outer.Status,
AuditTime = outer.AuditTime,
AuditUser = outer.AuditUser,
CreateDate = outer.CreateDate,
CreateUser = outer.CreateUser,
Remark = outer.Remark,
IsVerify = outer.IsVerify,
VerifyMessage = outer.VerifyMessage,
};
return res.ToList() ?? new List<view_per_apr_amount>();
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" per_apr_amount.cs">
// * FileName: per_apr_amount.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// per_apr_amount Repository
/// </summary>
public partial class PerforPerapramounthideRepository : PerforRepository<per_apr_amount_hide>
{
public PerforPerapramounthideRepository(PerformanceDbContext context) : base(context)
{
}
}
}
using Performance.Repository; //using Performance.Repository;
using System; //using System;
using System.Collections.Generic; //using System.Collections.Generic;
using System.Linq; //using System.Linq;
using System.Text; //using System.Text;
namespace Performance.Services //namespace Performance.Services
{ //{
public class AprAmountService : IAutoInjection // public class AprAmountService : IAutoInjection
{ // {
private readonly PerforPeremployeeRepository _peremployeeRepository; // private readonly PerforPeremployeeRepository _peremployeeRepository;
private readonly PerforPerapramountRepository _perapramountRepository; // private readonly PerforPerapramountRepository _perapramountRepository;
public AprAmountService( // public AprAmountService(
PerforPeremployeeRepository peremployeeRepository, // PerforPeremployeeRepository peremployeeRepository,
PerforPerapramountRepository perapramountRepository) // PerforPerapramountRepository perapramountRepository)
{ // {
_peremployeeRepository = peremployeeRepository; // _peremployeeRepository = peremployeeRepository;
_perapramountRepository = perapramountRepository; // _perapramountRepository = perapramountRepository;
} // }
/// <summary> // /// <summary>
/// 获取医院其他绩效 默认审核通过 status = 3 // /// 获取医院其他绩效 默认审核通过 status = 3
/// 科室及核算组别使用人员字典 // /// 科室及核算组别使用人员字典
/// </summary> // /// </summary>
/// <param name="allotId"></param> // /// <param name="allotId"></param>
/// <param name="status"></param> // /// <param name="status"></param>
/// <returns></returns> // /// <returns></returns>
public List<AprAmount> GetAprAmount(int allotId, int status = 3) // public List<AprAmount> GetAprAmount(int allotId, int status = 3)
{ // {
var perapramounts = _perapramountRepository.GetEntities(t => t.AllotId == allotId && t.Status == status); // var perapramounts = _perapramountRepository.GetEntities(t => t.AllotId == allotId && t.Status == status);
var employees = _peremployeeRepository.GetEntities(t => t.AllotId == allotId); // var employees = _peremployeeRepository.GetEntities(t => t.AllotId == allotId);
var result = perapramounts.Join(employees, amt => amt.PersonnelNumber, epy => epy.PersonnelNumber, // var result = perapramounts.Join(employees, amt => amt.PersonnelNumber, epy => epy.PersonnelNumber,
(amt, epy) => new AprAmount // (amt, epy) => new AprAmount
{ // {
AccountingUnit = epy.AccountingUnit, // AccountingUnit = epy.AccountingUnit,
UnitType = epy.UnitType, // UnitType = epy.UnitType,
PersonnelNumber = amt.PersonnelNumber, // PersonnelNumber = amt.PersonnelNumber,
DoctorName = amt.DoctorName, // DoctorName = amt.DoctorName,
PerforType = amt.PerforType, // PerforType = amt.PerforType,
Amount = amt.Amount // Amount = amt.Amount
}); // });
return result?.ToList() ?? new List<AprAmount>(); // return result?.ToList() ?? new List<AprAmount>();
} // }
} // }
public class AprAmount // public class AprAmount
{ // {
/// <summary> // /// <summary>
/// 核算单元 // /// 核算单元
/// </summary> // /// </summary>
public string UnitType { get; set; } // public string UnitType { get; set; }
/// <summary> // /// <summary>
/// 人员工号 // /// 人员工号
/// </summary> // /// </summary>
public string PersonnelNumber { get; set; } // public string PersonnelNumber { get; set; }
/// <summary> // /// <summary>
/// 医生姓名 // /// 医生姓名
/// </summary> // /// </summary>
public string DoctorName { get; set; } // public string DoctorName { get; set; }
/// <summary> // /// <summary>
/// // ///
/// </summary> // /// </summary>
public string PerforType { get; set; } // public string PerforType { get; set; }
/// <summary> // /// <summary>
/// 金额 // /// 金额
/// </summary> // /// </summary>
public Nullable<decimal> Amount { get; set; } // public Nullable<decimal> Amount { get; set; }
/// <summary> // /// <summary>
/// 核算单元 // /// 核算单元
/// </summary> // /// </summary>
public string AccountingUnit { get; set; } // public string AccountingUnit { get; set; }
} // }
} //}
...@@ -32,9 +32,11 @@ public class ComputeService : IAutoInjection ...@@ -32,9 +32,11 @@ public class ComputeService : IAutoInjection
private readonly PerforHospitalRepository hospitalRepository; private readonly PerforHospitalRepository hospitalRepository;
private readonly PerforPerapramountRepository perapramountRepository; private readonly PerforPerapramountRepository perapramountRepository;
private readonly PerforPeremployeeRepository perforPeremployeeRepository; private readonly PerforPeremployeeRepository perforPeremployeeRepository;
private readonly PerforPerapramounthideRepository _hideRepository;
private readonly PerforCofworkitemRepository cofworkitemRepository; private readonly PerforCofworkitemRepository cofworkitemRepository;
public ComputeService(PerforResaccountRepository perforResaccountRepository, public ComputeService(
PerforResaccountRepository perforResaccountRepository,
PerforPersheetRepository perforPerSheetRepository, PerforPersheetRepository perforPerSheetRepository,
PerforImdataRepository perforImDataRepository, PerforImdataRepository perforImDataRepository,
PerforImheaderRepository perforImheaderRepository, PerforImheaderRepository perforImheaderRepository,
...@@ -49,6 +51,7 @@ public class ComputeService : IAutoInjection ...@@ -49,6 +51,7 @@ public class ComputeService : IAutoInjection
PerforHospitalRepository hospitalRepository, PerforHospitalRepository hospitalRepository,
PerforPerapramountRepository perapramountRepository, PerforPerapramountRepository perapramountRepository,
PerforPeremployeeRepository perforPeremployeeRepository, PerforPeremployeeRepository perforPeremployeeRepository,
PerforPerapramounthideRepository hideRepository,
PerforCofworkitemRepository cofworkitemRepository) PerforCofworkitemRepository cofworkitemRepository)
{ {
this.perforResaccountRepository = perforResaccountRepository; this.perforResaccountRepository = perforResaccountRepository;
...@@ -66,6 +69,7 @@ public class ComputeService : IAutoInjection ...@@ -66,6 +69,7 @@ public class ComputeService : IAutoInjection
this.hospitalRepository = hospitalRepository; this.hospitalRepository = hospitalRepository;
this.perapramountRepository = perapramountRepository; this.perapramountRepository = perapramountRepository;
this.perforPeremployeeRepository = perforPeremployeeRepository; this.perforPeremployeeRepository = perforPeremployeeRepository;
_hideRepository = hideRepository;
this.cofworkitemRepository = cofworkitemRepository; this.cofworkitemRepository = cofworkitemRepository;
} }
...@@ -589,8 +593,8 @@ public List<DeptResponse> GetAdminPerformance(int allotId) ...@@ -589,8 +593,8 @@ public List<DeptResponse> GetAdminPerformance(int allotId)
result.AddRange(officeResult); result.AddRange(officeResult);
// 获取各科室 医院其他绩效 // 获取各科室 医院其他绩效
var amounts = perapramountRepository.GetFullAmount(t => t.AllotId == allotId && t.Status == 3); var fullAmounts = GetTotalAmount(allotId); ;
var otherPerformances = amounts var otherPerformances = fullAmounts
?.GroupBy(t => new { t.AccountingUnit, t.UnitType }) ?.GroupBy(t => new { t.AccountingUnit, t.UnitType })
.Select(t => new view_per_total_amount .Select(t => new view_per_total_amount
{ {
...@@ -748,7 +752,7 @@ public List<ComputeResponse> AllCompute(int allotId, int hospitalId, int isShowM ...@@ -748,7 +752,7 @@ public List<ComputeResponse> AllCompute(int allotId, int hospitalId, int isShowM
// 人员字典 // 人员字典
var employees = perforPeremployeeRepository.GetEntities(w => w.AllotId == allotId); var employees = perforPeremployeeRepository.GetEntities(w => w.AllotId == allotId);
// 获取医院其他绩效汇总结果 // 获取医院其他绩效汇总结果
var totalAmounts = GetTotalAmount(allotId); var fullAmounts = GetTotalAmount(allotId);
// 获取一次绩效结果 // 获取一次绩效结果
var one = GetAllotPerformance(allotId, hospitalId, isShowManage); var one = GetAllotPerformance(allotId, hospitalId, isShowManage);
// 获取二次绩效结果 // 获取二次绩效结果
...@@ -760,6 +764,18 @@ public List<ComputeResponse> AllCompute(int allotId, int hospitalId, int isShowM ...@@ -760,6 +764,18 @@ public List<ComputeResponse> AllCompute(int allotId, int hospitalId, int isShowM
if (two != null) if (two != null)
response.AddRange(two); response.AddRange(two);
// 其他绩效汇总
var totalAmounts = fullAmounts
?.GroupBy(w => new { w.AccountingUnit, w.UnitType, w.PersonnelNumber })
.Select(w => new view_per_total_amount
{
AccountingUnit = w.Key.AccountingUnit,
UnitType = w.Key.UnitType,
PersonnelNumber = w.Key.PersonnelNumber,
Amount = w.Sum(t => t.Amount) ?? 0,
Use = false,
})?.ToList();
// 补充医院其他绩效 // 补充医院其他绩效
AddAprAmount(response, totalAmounts); AddAprAmount(response, totalAmounts);
...@@ -824,26 +840,24 @@ public List<ComputeResponse> AllCompute(int allotId, int hospitalId, int isShowM ...@@ -824,26 +840,24 @@ public List<ComputeResponse> AllCompute(int allotId, int hospitalId, int isShowM
} }
/// <summary> /// <summary>
/// 获取医院其他绩效汇总结果 /// 合并医院其他绩效、不公示其他绩效
/// </summary> /// </summary>
/// <param name="allotId"></param> /// <param name="allotId"></param>
/// <returns></returns> /// <returns></returns>
private List<view_per_total_amount> GetTotalAmount(int allotId) private List<view_per_apr_amount> GetTotalAmount(int allotId)
{ {
var fullAmounts = perapramountRepository.GetFullAmount(t => t.AllotId == allotId && t.Status == 3); var fullAmounts1 = perapramountRepository.GetFullAmount(t => t.AllotId == allotId && t.Status == 3) ?? new List<view_per_apr_amount>();
var totalAmounts = fullAmounts var fullAmounts2 = _hideRepository.GetFullAmount(t => t.AllotId == allotId && t.Status == 3) ?? new List<view_per_apr_amount>();
?.GroupBy(w => new { w.AccountingUnit, w.UnitType, w.PersonnelNumber })
.Select(w => new view_per_total_amount var fullAmounts = new List<view_per_apr_amount>();
{
AccountingUnit = w.Key.AccountingUnit, if (fullAmounts1 != null && fullAmounts1.Any())
UnitType = w.Key.UnitType, fullAmounts.AddRange(fullAmounts1);
PersonnelNumber = w.Key.PersonnelNumber, if (fullAmounts2 != null && fullAmounts2.Any())
Amount = w.Sum(t => t.Amount) ?? 0, fullAmounts.AddRange(fullAmounts2);
Use = false,
});
return totalAmounts?.ToList() ?? new List<view_per_total_amount>(); return fullAmounts;
} }
/// <summary> /// <summary>
......
...@@ -959,37 +959,37 @@ public List<TitleValue> WorkHeader(int allotId) ...@@ -959,37 +959,37 @@ public List<TitleValue> WorkHeader(int allotId)
return null; return null;
} }
/// <summary> ///// <summary>
/// 人员绩效额外金额 ///// 人员绩效额外金额
/// </summary> ///// </summary>
private void CopyAprData(int prevAllotId, int allotId) //private void CopyAprData(int prevAllotId, int allotId)
{ //{
if (prevAllotId == 0) return; // if (prevAllotId == 0) return;
var list = perapramountRepository.GetEntities(t => new List<int> { prevAllotId, allotId }.Contains(t.AllotId)); // var list = perapramountRepository.GetEntities(t => new List<int> { prevAllotId, allotId }.Contains(t.AllotId));
if (list == null || !list.Any(t => t.AllotId == prevAllotId)) return; // if (list == null || !list.Any(t => t.AllotId == prevAllotId)) return;
if (list.Any(t => t.AllotId == allotId)) // if (list.Any(t => t.AllotId == allotId))
{ // {
var prevData = list.Where(t => t.AllotId == prevAllotId); // var prevData = list.Where(t => t.AllotId == prevAllotId);
var existData = list.Where(t => t.AllotId == allotId); // var existData = list.Where(t => t.AllotId == allotId);
if (existData != null && existData.Any()) // if (existData != null && existData.Any())
list = prevData.Where(t => !existData.Select(w => w.PersonnelNumber).Contains(t.PersonnelNumber)).ToList(); // list = prevData.Where(t => !existData.Select(w => w.PersonnelNumber).Contains(t.PersonnelNumber)).ToList();
} // }
if (list.Any()) // if (list.Any())
{ // {
var data = list.Select(t => new per_apr_amount // var data = list.Select(t => new per_apr_amount
{ // {
Status = 2, // Status = 2,
AllotId = allotId, // AllotId = allotId,
PersonnelNumber = t.PersonnelNumber, // PersonnelNumber = t.PersonnelNumber,
DoctorName = t.DoctorName, // DoctorName = t.DoctorName,
PerforType = t.PerforType, // PerforType = t.PerforType,
Amount = t.Amount, // Amount = t.Amount,
CreateDate = DateTime.Now // CreateDate = DateTime.Now
}); // });
perapramountRepository.AddRange(data.ToArray()); // perapramountRepository.AddRange(data.ToArray());
} // }
} //}
#region HRP人员科室 #region HRP人员科室
......
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