Commit c0dd265b by wyc

考核管理 继承上月,字段修改

parent 3e1e16a1
...@@ -902,6 +902,7 @@ public ApiResponse CopyDropDown() ...@@ -902,6 +902,7 @@ public ApiResponse CopyDropDown()
new CopyDrop{Label="支出费用类别",Value="drugTypeDisburses"}, new CopyDrop{Label="支出费用类别",Value="drugTypeDisburses"},
new CopyDrop{Label="费用类别系数",Value="drugTypeFactors"}, new CopyDrop{Label="费用类别系数",Value="drugTypeFactors"},
new CopyDrop{Label="考勤类型",Value="attendanceType"}, new CopyDrop{Label="考勤类型",Value="attendanceType"},
new CopyDrop{Label="绩效考核",Value="assessType"},
//new CopyDrop{Label="科室类型",Value="deptTypes"}, //new CopyDrop{Label="科室类型",Value="deptTypes"},
new CopyDrop{Label="二次绩效配置",Value="agains"}, new CopyDrop{Label="二次绩效配置",Value="agains"},
}; };
......
...@@ -10241,9 +10241,14 @@ ...@@ -10241,9 +10241,14 @@
状态 状态
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.Other.view_assess_result.AssessScore">
<summary>
分值标准
</summary>
</member>
<member name="P:Performance.EntityModels.Other.view_assess_result.Score"> <member name="P:Performance.EntityModels.Other.view_assess_result.Score">
<summary> <summary>
分值 分值
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.Other.view_assess_result.UnitCode"> <member name="P:Performance.EntityModels.Other.view_assess_result.UnitCode">
......
...@@ -119,7 +119,7 @@ public class AssessSchemeResultListResponse ...@@ -119,7 +119,7 @@ public class AssessSchemeResultListResponse
/// <summary> /// <summary>
/// 合计 /// 合计
/// </summary> /// </summary>
public int? TotalAssessScore { get; set; } public decimal? TotalAssessScore { get; set; }
} }
public class AssessSchemeDictionaryResults public class AssessSchemeDictionaryResults
{ {
...@@ -236,7 +236,7 @@ public class AssessSchemeEnterDetaiListResponse ...@@ -236,7 +236,7 @@ public class AssessSchemeEnterDetaiListResponse
/// <summary> /// <summary>
/// 考核分值 /// 考核分值
/// </summary> /// </summary>
public int? AssessScore { get; set; } public decimal AssessScore { get; set; }
/// <summary> /// <summary>
/// 考核扣分 /// 考核扣分
/// </summary> /// </summary>
......
...@@ -30,7 +30,11 @@ public class view_assess_result ...@@ -30,7 +30,11 @@ public class view_assess_result
/// </summary> /// </summary>
public int State { get; set; } public int State { get; set; }
/// <summary> /// <summary>
/// 分值 /// 分值标准
/// </summary>
public decimal? AssessScore { get; set; }
/// <summary>
/// 扣分值
/// </summary> /// </summary>
public decimal? Score { get; set; } public decimal? Score { get; set; }
/// <summary> /// <summary>
......
...@@ -28,12 +28,12 @@ public class AssessNewService : IAutoInjection ...@@ -28,12 +28,12 @@ public class AssessNewService : IAutoInjection
private readonly ILogger<AssessNewService> logger; private readonly ILogger<AssessNewService> logger;
private readonly IWebHostEnvironment evn; private readonly IWebHostEnvironment evn;
private readonly PerforUserRepository _userRepository; private readonly PerforUserRepository _userRepository;
private readonly PerforPerAssessCategoryRepository perforPerAssessCategoryRepository; private readonly PerforCofaccountingRepository cofaccountingRepository;
private readonly PerforPerallotRepository perforPerallotRepository; private readonly PerforPerallotRepository perforPerallotRepository;
private readonly PerforPerAssessCategoryRepository perforPerAssessCategoryRepository;
private readonly PerforPerAssessSchemeRepository perforPerAssessSchemeRepository; private readonly PerforPerAssessSchemeRepository perforPerAssessSchemeRepository;
private readonly PerforPerAssessSchemeItemsRepository perforPerAssessSchemeItemsRepository; private readonly PerforPerAssessSchemeItemsRepository perforPerAssessSchemeItemsRepository;
private readonly PerforPerAssessSchemeTargetRepository perforPerAssessSchemeTargetRepository; private readonly PerforPerAssessSchemeTargetRepository perforPerAssessSchemeTargetRepository;
private readonly PerforCofaccountingRepository cofaccountingRepository;
private readonly PerforPerAssessIssueSchemeRepository perforPerAssessIssueSchemeRepository; private readonly PerforPerAssessIssueSchemeRepository perforPerAssessIssueSchemeRepository;
public AssessNewService( public AssessNewService(
...@@ -697,7 +697,7 @@ public ApiResponse SchemeItemsUpload(int schemeId, int allotId, IFormCollection ...@@ -697,7 +697,7 @@ public ApiResponse SchemeItemsUpload(int schemeId, int allotId, IFormCollection
eAssessScore = String.IsNullOrEmpty(eAssessScore) ? "0" : eAssessScore; eAssessScore = String.IsNullOrEmpty(eAssessScore) ? "0" : eAssessScore;
error.AddIf(string.IsNullOrEmpty(eItemName1), item.index, "", eItemName1, eItemName2, eAssessScore, eAssessNorm, eAccountingUnit, "一级指标名称空值无效,请检查后重试!"); error.AddIf(string.IsNullOrEmpty(eItemName1), item.index, "", eItemName1, eItemName2, eAssessScore, eAssessNorm, eAccountingUnit, "一级指标名称空值无效,请检查后重试!");
error.AddIf(string.IsNullOrEmpty(eItemName2), item.index, "", eItemName1, eItemName2, eAssessScore, eAssessNorm, eAccountingUnit, "二级指标名称空值无效,请检查后重试!"); error.AddIf(string.IsNullOrEmpty(eItemName2), item.index, "", eItemName1, eItemName2, eAssessScore, eAssessNorm, eAccountingUnit, "二级指标名称空值无效,请检查后重试!");
error.AddIf(!int.TryParse(eAssessScore, out int eAScore), item.index, "", eItemName1, eItemName2, eAssessScore, eAssessNorm, eAccountingUnit, "考核分值填写无效,请检查后重试!"); error.AddIf(!decimal.TryParse(eAssessScore, out decimal eAScore), item.index, "", eItemName1, eItemName2, eAssessScore, eAssessNorm, eAccountingUnit, "考核分值填写无效,请检查后重试!");
error.AddIf(eAScore == 0, item.index, "", eItemName1, eItemName2, eAssessScore, eAssessNorm, eAccountingUnit, "考核分值不能为0,请检查后重试!"); error.AddIf(eAScore == 0, item.index, "", eItemName1, eItemName2, eAssessScore, eAssessNorm, eAccountingUnit, "考核分值不能为0,请检查后重试!");
error.AddIf(string.IsNullOrEmpty(eAssessNorm), item.index, "", eItemName1, eItemName2, eAssessScore, eAssessNorm, eAccountingUnit, "考核标准空值无效,请检查后重试!"); error.AddIf(string.IsNullOrEmpty(eAssessNorm), item.index, "", eItemName1, eItemName2, eAssessScore, eAssessNorm, eAccountingUnit, "考核标准空值无效,请检查后重试!");
error.AddIf(string.IsNullOrEmpty(eUnitType), item.index, "", eItemName1, eItemName2, eAssessScore, eAssessNorm, eAccountingUnit, "考核单元组别空值无效,请检查后重试!"); error.AddIf(string.IsNullOrEmpty(eUnitType), item.index, "", eItemName1, eItemName2, eAssessScore, eAssessNorm, eAccountingUnit, "考核单元组别空值无效,请检查后重试!");
...@@ -894,9 +894,11 @@ public PagedList<AssessSchemeResultListResponse> SchemeResultList(QuerySchemeRes ...@@ -894,9 +894,11 @@ public PagedList<AssessSchemeResultListResponse> SchemeResultList(QuerySchemeRes
TargetUnitType = item.TargetUnitType, TargetUnitType = item.TargetUnitType,
TargetAccountingUnit = item.TargetAccountingUnit, TargetAccountingUnit = item.TargetAccountingUnit,
ItemName2 = item.ItemName2, ItemName2 = item.ItemName2,
Score = item.Score, Score = (item.Score==null?0: item.Score) + item.AssessScore,
}; };
}).ToList(); }).ToList();
var columns = data.Select(item => item.ItemName2).Distinct().ToList(); var columns = data.Select(item => item.ItemName2).Distinct().ToList();
var results = data.GroupBy(item => new { item.TargetUnitType, item.TargetAccountingUnit }) var results = data.GroupBy(item => new { item.TargetUnitType, item.TargetAccountingUnit })
.Select(t => .Select(t =>
...@@ -906,25 +908,25 @@ public PagedList<AssessSchemeResultListResponse> SchemeResultList(QuerySchemeRes ...@@ -906,25 +908,25 @@ public PagedList<AssessSchemeResultListResponse> SchemeResultList(QuerySchemeRes
{ "TargetUnitType" , t.Key.TargetUnitType }, { "TargetUnitType" , t.Key.TargetUnitType },
{ "TargetAccountingUnit" , t.Key.TargetAccountingUnit }, { "TargetAccountingUnit" , t.Key.TargetAccountingUnit },
}; };
var asb = new List<AssessSchemeDictionaryResults>(); var newResultss = new List<AssessSchemeDictionaryResults>();
foreach (var column in columns) foreach (var column in columns)
{ {
var score = t.Where(w => w.ItemName2 == column).Sum(w => w.Score); var score = t.FirstOrDefault(w => w.ItemName2 == column).Score;
dict.Add(column, score); dict.Add(column, score);
var a = new AssessSchemeDictionaryResults() var newResults = new AssessSchemeDictionaryResults()
{ {
Title = column, Title = column,
Value = score Value = score
}; };
asb.Add(a); newResultss.Add(newResults);
} }
var totalAssessScore = dict.Where(w => columns.Contains(w.Key)).Sum(w => (int)w.Value); var totalAssessScore = dict.Where(w => columns.Contains(w.Key)).Sum(w => (decimal?)w.Value);
dict.AddOrUpdate("TotalAssessScore", totalAssessScore); dict.AddOrUpdate("TotalAssessScore", totalAssessScore);
return new AssessSchemeResultListResponse() return new AssessSchemeResultListResponse()
{ {
TargetUnitType = t.Key.TargetUnitType, TargetUnitType = t.Key.TargetUnitType,
TargetAccountingUnit = t.Key.TargetAccountingUnit, TargetAccountingUnit = t.Key.TargetAccountingUnit,
DictionaryResults = asb, DictionaryResults = newResultss,
TotalAssessScore = totalAssessScore TotalAssessScore = totalAssessScore
}; };
}).ToList(); }).ToList();
...@@ -948,7 +950,7 @@ public PagedList<AssessSchemeEnterDetaiListResponse> SchemeEnterDetailList(Query ...@@ -948,7 +950,7 @@ public PagedList<AssessSchemeEnterDetaiListResponse> SchemeEnterDetailList(Query
if (!string.IsNullOrEmpty(query.ItemName2)) if (!string.IsNullOrEmpty(query.ItemName2))
issueSchemesQuery = issueSchemesQuery.Where(w => w.ItemName2 == query.ItemName2); issueSchemesQuery = issueSchemesQuery.Where(w => w.ItemName2 == query.ItemName2);
if ((int)query.State == (int)Assess.AssessState.审核通过) if ((int)query.State == (int)Assess.AssessState.审核通过)
issueSchemesQuery = issueSchemesQuery.Where(w => w.State == (int)query.State); issueSchemesQuery = issueSchemesQuery.Where(w => w.State == (int)query.State);
var result = issueSchemesQuery.ToList(); var result = issueSchemesQuery.ToList();
var stateOrders = new int[] { (int)Assess.AssessState.待审核, (int)Assess.AssessState.驳回, (int)Assess.AssessState.审核通过, (int)Assess.AssessState.未提交 }; var stateOrders = new int[] { (int)Assess.AssessState.待审核, (int)Assess.AssessState.驳回, (int)Assess.AssessState.审核通过, (int)Assess.AssessState.未提交 };
...@@ -1058,10 +1060,10 @@ public ApiResponse SchemeEnterUpload(int itemId, IFormCollection form, int useri ...@@ -1058,10 +1060,10 @@ public ApiResponse SchemeEnterUpload(int itemId, IFormCollection form, int useri
var eScoreRemark = item.value.GetOrAdd("扣分原因", "")?.ToString() ?? ""; var eScoreRemark = item.value.GetOrAdd("扣分原因", "")?.ToString() ?? "";
eScore = String.IsNullOrEmpty(eScore) ? "0" : eScore; eScore = String.IsNullOrEmpty(eScore) ? "0" : eScore;
eAssessScore = String.IsNullOrEmpty(eAssessScore) ? "0" : eAssessScore; eAssessScore = String.IsNullOrEmpty(eAssessScore) ? "0" : eAssessScore;
int.TryParse(eAssessScore, out int eAScore); decimal.TryParse(eAssessScore, out decimal eAScore);
error.AddIf(string.IsNullOrEmpty(eTargetAccountingUnit), item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eScore, eScoreRemark, "核算单元空值无效,请检查后重试!"); error.AddIf(string.IsNullOrEmpty(eTargetAccountingUnit), item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eScore, eScoreRemark, "核算单元空值无效,请检查后重试!");
error.AddIf(string.IsNullOrEmpty(eTargetUnitType), item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eScore, eScoreRemark, "核算单元空值无效,请检查后重试!"); error.AddIf(string.IsNullOrEmpty(eTargetUnitType), item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eScore, eScoreRemark, "核算单元空值无效,请检查后重试!");
error.AddIf(!int.TryParse(eScore, out int escore), item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eScore, eScoreRemark, "考核扣分值无效,请检查后重试!"); error.AddIf(!decimal.TryParse(eScore, out decimal escore), item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eScore, eScoreRemark, "考核扣分值无效,请检查后重试!");
error.AddIf(escore > eAScore, item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eScore, eScoreRemark, "考核扣分大于考核分值,请检查后重试!"); error.AddIf(escore > eAScore, item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eScore, eScoreRemark, "考核扣分大于考核分值,请检查后重试!");
var issueData = issueDatas.FirstOrDefault(w => w.ItemId == itemId && w.TargetAccountingUnit == eTargetAccountingUnit && w.TargetUnitType == eTargetUnitType); var issueData = issueDatas.FirstOrDefault(w => w.ItemId == itemId && w.TargetAccountingUnit == eTargetAccountingUnit && w.TargetUnitType == eTargetUnitType);
......
...@@ -741,7 +741,7 @@ public void Copy(per_allot allot) ...@@ -741,7 +741,7 @@ public void Copy(per_allot allot)
NewCopy(new CopyRequest() NewCopy(new CopyRequest()
{ {
AllotId = allot.ID, AllotId = allot.ID,
Type = new[] { "personnels", "workItems", "drugTypeDisburses", "drugTypeFactors", "deptTypes", "agains", "accountings", "department", "attendanceType" } Type = new[] { "personnels", "workItems", "drugTypeDisburses", "drugTypeFactors", "deptTypes", "agains", "accountings", "department", "attendanceType", "assessType" }
}); });
} }
...@@ -769,6 +769,7 @@ public void NewCopy(CopyRequest request) ...@@ -769,6 +769,7 @@ public void NewCopy(CopyRequest request)
{ "agains", (allot, prevAllotId) =>_copyService.Copy_Agains(allot, prevAllotId, delHistotyData:true) }, { "agains", (allot, prevAllotId) =>_copyService.Copy_Agains(allot, prevAllotId, delHistotyData:true) },
{ "accountings", (allot, prevAllotId) =>_copyService.Copy_Accountings(allot, prevAllotId, delHistotyData:true) }, { "accountings", (allot, prevAllotId) =>_copyService.Copy_Accountings(allot, prevAllotId, delHistotyData:true) },
{ "attendanceType", (allot, prevAllotId) =>_copyService.Copy_AttendanceType(allot, prevAllotId, delHistotyData:true) }, { "attendanceType", (allot, prevAllotId) =>_copyService.Copy_AttendanceType(allot, prevAllotId, delHistotyData:true) },
{ "assessType", (allot, prevAllotId) =>_copyService.Copy_AssessType(allot, prevAllotId, delHistotyData:true) },
{ "department", (allot, prevAllotId) =>_copyService.Copy_DeptDic(allot, prevAllotId, delHistotyData:true) }, { "department", (allot, prevAllotId) =>_copyService.Copy_DeptDic(allot, prevAllotId, delHistotyData:true) },
}; };
......
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