预留比例

parent 1e09602b
......@@ -192,7 +192,10 @@ public ApiResponse AllCompute([FromBody] ComputerRequest request)
if (null == allot)
throw new PerformanceException("当前绩效记录不存在");
var isShowManage = _computeService.IsShowManage(request.AllotId);
var list = isShowManage == 1 ? _computeService.AllCompute(request.AllotId) : _computeService.AllManageCompute(request.AllotId);
var list = isShowManage == 1
? _computeService.AllCompute(request.AllotId)
: _computeService.AllManageCompute(request.AllotId);
return new ApiResponse(ResponseType.OK, "ok", list);
}
......
......@@ -2351,6 +2351,16 @@
实发绩效
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeResponse.ReservedRatio">
<summary>
预留比例
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeResponse.ReservedRatioFee">
<summary>
预留比例金额
</summary>
</member>
<member name="P:Performance.DtoModels.DeptDataDetails`1.Pandect">
<summary> 概览</summary>
</member>
......
......@@ -3479,6 +3479,11 @@
绩效Id
</summary>
</member>
<member name="P:Performance.EntityModels.per_employee.ReservedRatio">
<summary>
预留比例
</summary>
</member>
<member name="P:Performance.EntityModels.per_employee.CreateTime">
<summary>
......
......@@ -31,9 +31,20 @@ public class ComputeResponse
/// </summary>
public string JobTitle { get; set; }
/// <summary>
/// 实发绩效
/// </summary>
public Nullable<decimal> RealGiveFee { get; set; }
/// <summary>
/// 预留比例
/// </summary>
public decimal ReservedRatio { get; set; }
/// <summary>
/// 预留比例金额
/// </summary>
public decimal ReservedRatioFee { get; set; }
}
}
......@@ -112,6 +112,11 @@ public class per_employee
public Nullable<int> AllotId { get; set; }
/// <summary>
/// 预留比例
/// </summary>
public Nullable<decimal> ReservedRatio { get; set; }
/// <summary>
///
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
......
......@@ -29,6 +29,7 @@ public class ComputeService : IAutoInjection
private readonly PerforHospitalRepository hospitalRepository;
private readonly PerforPerapramountRepository perapramountRepository;
private readonly PerforCofcmiRepository cofcmiRepository;
private readonly PerforPeremployeeRepository perforPeremployeeRepository;
private readonly PerforCofworkitemRepository cofworkitemRepository;
public ComputeService(PerforResaccountRepository perforResaccountRepository,
......@@ -46,6 +47,7 @@ public class ComputeService : IAutoInjection
PerforHospitalRepository hospitalRepository,
PerforPerapramountRepository perapramountRepository,
PerforCofcmiRepository cofcmiRepository,
PerforPeremployeeRepository perforPeremployeeRepository,
PerforCofworkitemRepository cofworkitemRepository)
{
this.perforResaccountRepository = perforResaccountRepository;
......@@ -63,6 +65,7 @@ public class ComputeService : IAutoInjection
this.hospitalRepository = hospitalRepository;
this.perapramountRepository = perapramountRepository;
this.cofcmiRepository = cofcmiRepository;
this.perforPeremployeeRepository = perforPeremployeeRepository;
this.cofworkitemRepository = cofworkitemRepository;
}
......@@ -423,6 +426,7 @@ public List<ComputeResponse> AllCompute(int allotId)
var allot = _perforRescomputeRepository.GetEntities(t => t.AllotID == allotId && mTypes.Contains(t.AccountType))?.OrderByDescending(t => t.AccountingUnit);
list = Mapper.Map<List<ComputeResponse>>(allot);
list?.ForEach(t => t.Source = "一次绩效");
var again = _perforAgcomputeRepository.GetEntities(t => t.AllotId == allotId);
if (again != null && again.Any())
{
......@@ -445,7 +449,20 @@ public List<ComputeResponse> AllCompute(int allotId)
RealGiveFee = t.fee
}).OrderByDescending(t => t.AccountingUnit));
}
return AddAprAmount(allotId, list);
var result = AddAprAmount(allotId, list);
if (result != null)
{
var empDic = perforPeremployeeRepository.GetEntities(w => w.AllotId == allotId);
foreach (var item in result)
{
var temp = item.RealGiveFee ?? 0;
item.ReservedRatio = empDic.FirstOrDefault(w => w.DoctorName == item.EmployeeName && w.PersonnelNumber == item.JobNumber)?.ReservedRatio ?? 0;
item.ReservedRatioFee = temp * item.ReservedRatio;
item.RealGiveFee = temp - item.ReservedRatioFee;
}
}
return result;
}
/// <summary>
......@@ -495,7 +512,19 @@ public List<ComputeResponse> AllManageCompute(int allotId)
RealGiveFee = t.fee
}).OrderByDescending(t => t.AccountingUnit));
}
return AddAprAmount(allotId, list);
var result = AddAprAmount(allotId, list);
if (result != null)
{
var empDic = perforPeremployeeRepository.GetEntities(w => w.AllotId == allotId);
foreach (var item in result)
{
var temp = item.RealGiveFee ?? 0;
item.ReservedRatio = empDic.FirstOrDefault(w => w.DoctorName == item.EmployeeName && w.PersonnelNumber == item.JobNumber)?.ReservedRatio ?? 0;
item.ReservedRatioFee = temp * item.ReservedRatio;
item.RealGiveFee = temp - item.ReservedRatioFee;
}
}
return result;
}
public res_compute GetComputeSingle(int computeid)
......
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