东方医院11月核对修改完结

parent 6f9c6770
......@@ -550,6 +550,11 @@
工号
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeResult.IncludeAvgCalculate">
<summary>
是否带入平均计算 是 否
</summary>
</member>
<member name="T:Performance.DtoModels.UnitType">
<summary> 核算单元类型 </summary>
</member>
......@@ -724,6 +729,16 @@
科室名称
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.IncludeAvgCalculate">
<summary>
是否带入平均计算 是 否
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.PermanentStaff">
<summary>
定科人数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.ManagerNumber">
<summary>
科主任/护士长数量
......
......@@ -1393,6 +1393,16 @@
科室
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.IncludeAvgCalculate">
<summary>
是否带入平均计算 是 否
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.PermanentStaff">
<summary>
定科人数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.DoctorDirectorNumber">
<summary>
科主任数量
......@@ -2508,6 +2518,16 @@
科室
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.IncludeAvgCalculate">
<summary>
是否带入平均计算 是 否
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.PermanentStaff">
<summary>
定科人数
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.ManagerNumber">
<summary>
科主任/护士长数量
......
......@@ -131,7 +131,9 @@ public class ComputeResult
public decimal? Adjust { get; set; }
public string UnitType { get; set; }
public string Remark { get; set; }
/// <summary>
/// 工号
/// </summary>
......
......@@ -34,6 +34,11 @@ public class PerDataAccountBaisc : IPerData
public string Department { get; set; }
/// <summary>
/// 定科人数
/// </summary>
public decimal PermanentStaff { get; set; }
/// <summary>
/// 科主任/护士长数量
/// </summary>
public decimal ManagerNumber { get; set; }
......
......@@ -52,6 +52,11 @@ public class im_accountbasic
public string Department { get; set; }
/// <summary>
/// 定科人数
/// </summary>
public Nullable<decimal> PermanentStaff { get; set; }
/// <summary>
/// 科主任数量
/// </summary>
public Nullable<decimal> DoctorDirectorNumber { get; set; }
......
......@@ -47,6 +47,11 @@ public class res_account
public string Department { get; set; }
/// <summary>
/// 定科人数
/// </summary>
public Nullable<decimal> PermanentStaff { get; set; }
/// <summary>
/// 科主任/护士长数量
/// </summary>
public Nullable<decimal> ManagerNumber { get; set; }
......
......@@ -89,16 +89,18 @@ public List<res_baiscnorm> ComputeOtherAvg(List<res_baiscnorm> baiscnormList, Li
decimal? result = null;
if (type == PerforType.临床主任护士长平均)
{
var lczrValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.临床主任))?.AvgValue;
var hszValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.护士长))?.AvgValue;
result = ((lczrValue ?? 0) + (hszValue ?? 0)) / 2;
var lczrValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.临床主任));
var hszValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.护士长));
var total = ((lczrValue?.TotelNumber ?? 0) + (hszValue?.TotelNumber ?? 0));
result = total == 0 ? 0 : ((lczrValue?.TotelValue ?? 0) + (hszValue?.TotelValue ?? 0)) / total;
}
else if (type == PerforType.临床主任医技主任护士长平均)
{
var lczrValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.临床主任))?.AvgValue;
var yjzrValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.医技主任))?.AvgValue;
var hszValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.护士长))?.AvgValue;
result = ((lczrValue ?? 0) + (yjzrValue ?? 0) + (hszValue ?? 0)) / 3;
var lczrValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.临床主任));
var yjzrValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.医技主任));
var hszValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.护士长));
var total = ((lczrValue?.TotelNumber ?? 0) + (yjzrValue?.TotelNumber ?? 0) + (hszValue?.TotelNumber ?? 0));
result = total == 0 ? 0 : ((lczrValue?.TotelValue ?? 0) + (yjzrValue?.TotelValue ?? 0) + (hszValue?.TotelValue ?? 0)) / total;
}
else
{
......
......@@ -293,8 +293,9 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, List<res_
dept.ScoringAverage = dept.ScoringAverage == 0m ? 1 : dept.ScoringAverage;
dept.AdjustFactor = dept.AdjustFactor == 0m ? 1 : dept.AdjustFactor;
dept.WorkSlopeFactor = dept.WorkSlopeFactor == 0m ? 1 : dept.WorkSlopeFactor;
dept.Income = econDoctor?.CellValue ?? 0;
dept.WorkloadFee = workDoctor?.CellValue ?? 0;
dept.WorkloadFee = dept.WorkSlopeFactor * (workDoctor?.CellValue ?? 0);
dept.PerforFee = dept.Income * (dept.BasicFactor + dept.SlopeFactor);
dept.PerforTotal = dept.PerforFee + dept.WorkloadFee + dept.OtherPerfor1 + (dept.MinimumFee ?? 0);
dept.RealGiveFee = (dept.PerforTotal * dept.ScoringAverage + dept.Extra + dept.OtherPerfor2) * dept.AdjustFactor;
......
......@@ -185,20 +185,22 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
}
var empolyee = computeEmployees.FirstOrDefault(t => t.AccountingUnit == group.AccountingUnit);
if (empolyee == null)
{
empolyee = new ComputeEmployee
{
AccountType = AccountUnitType.科主任.ToString(),
DoctorName = "人员信息缺失",
FitPeople = "",
ScoreAverageRate = 1,
Punishment = 0,
OtherPerfor = 0,
Adjust = 1,
};
}
var empolyees = computeEmployees.Where(t => t.AccountingUnit == group.AccountingUnit);
foreach (var empolyee in empolyees)
{
//if (empolyee == null)
//{
// empolyee = new ComputeEmployee
// {
// AccountType = AccountUnitType.科主任.ToString(),
// DoctorName = "人员信息缺失",
// FitPeople = "",
// ScoreAverageRate = 1,
// Punishment = 0,
// OtherPerfor = 0,
// Adjust = 1,
// };
//}
var compute = new ComputeResult
{
UnitType = UnitType.特殊核算组.ToString(),
......@@ -234,6 +236,7 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
computeList.Add(compute);
}
}
var computes = Mapper.Map<List<res_compute>>(computeList);
computes.ForEach(t => t.AllotID = allot.ID);
perforRescomputeRepository.AddRange(computes.ToArray());
......
......@@ -35,6 +35,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
unifyUnit.UnitType = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "核算单元类型").PointCell)?.StringCellValue;
unifyUnit.AccountingUnit = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "核算单元").PointCell)?.StringCellValue;
unifyUnit.Department = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "科室名称").PointCell)?.StringCellValue;
unifyUnit.PermanentStaff = ConvertHelper.To<decimal>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "效率绩效人数").PointCell)?.NumericCellValue);
unifyUnit.ManagerNumber = ConvertHelper.To<decimal>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "科主任/护士长人数").PointCell)?.NumericCellValue);
unifyUnit.Number = ConvertHelper.To<decimal>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "核算单元人员数量").PointCell)?.NumericCellValue);
unifyUnit.BasicFactor = ConvertHelper.To<decimal>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "预算比例").PointCell)?.NumericCellValue);
......
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