Commit 8ffe8269 by ruyun.zhang@suvalue.com

Merge branch 'feature/检查核算单元' into develop

parents f4d3abf2 493ca542
...@@ -301,7 +301,28 @@ public ApiResponse GenerateReport([CustomizeValidator(RuleSet = "Delete"), FromB ...@@ -301,7 +301,28 @@ public ApiResponse GenerateReport([CustomizeValidator(RuleSet = "Delete"), FromB
await Task.Delay(TimeSpan.FromSeconds(5), token); await Task.Delay(TimeSpan.FromSeconds(5), token);
} }
}); });
return new ApiResponse(ResponseType.OK); return new ApiResponse(ResponseType.OK, "统计报表数据任务开始");
}
/// <summary>
/// 验证科室核算单元、工号
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
[Route("accounting/verify/{allotId}")]
[HttpPost]
public ApiResponse AccountingVerify([FromRoute] int allotId)
{
_backgroundTaskQueue.QueueBackgroundWorkItem(async token =>
{
using (var scope = _serviceScopeFactory.CreateScope())
{
var scopedServices = scope.ServiceProvider.GetRequiredService<AllotService>();
scopedServices.AccoungtingVerify(allotId);
await Task.Delay(TimeSpan.FromSeconds(5), token);
}
});
return new ApiResponse(ResponseType.OK, "核算单元及组别数据验证任务开始");
} }
/* /*
......
...@@ -594,19 +594,6 @@ public ApiResponse AccountingDelete([FromRoute] int accountingId) ...@@ -594,19 +594,6 @@ public ApiResponse AccountingDelete([FromRoute] int accountingId)
return new ApiResponse(ResponseType.Fail); return new ApiResponse(ResponseType.Fail);
return new ApiResponse(ResponseType.OK); return new ApiResponse(ResponseType.OK);
} }
/// <summary>
/// 核算单元及组别数据验证
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
[Route("accountingverify/{allotId}")]
[HttpPost]
public ApiResponse AccountingVerify([FromRoute] int allotId)
{
_configService.AccoungtingVerify(allotId);
return new ApiResponse(ResponseType.OK);
}
#endregion #endregion
/// <summary> /// <summary>
......
...@@ -239,6 +239,13 @@ ...@@ -239,6 +239,13 @@
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.AllotController.AccountingVerify(System.Int32)">
<summary>
验证科室核算单元、工号
</summary>
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AllotController.Recalculation(Performance.DtoModels.RecalculationRequest)"> <member name="M:Performance.Api.Controllers.AllotController.Recalculation(Performance.DtoModels.RecalculationRequest)">
<summary> <summary>
重新计算院领导绩效 重新计算院领导绩效
...@@ -294,6 +301,12 @@ ...@@ -294,6 +301,12 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.AllotController.DownloadCurrentCalculationTable(Performance.DtoModels.AllotRequest)">
<summary>
下载当前测算表
</summary>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.BudgetController.Query(Performance.DtoModels.Request.BudgetRequest)"> <member name="M:Performance.Api.Controllers.BudgetController.Query(Performance.DtoModels.Request.BudgetRequest)">
<summary> <summary>
预算管理查询(包含金额、占比) 预算管理查询(包含金额、占比)
......
...@@ -1149,6 +1149,11 @@ ...@@ -1149,6 +1149,11 @@
岗位系数 岗位系数
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.GiveFee">
<summary>
考核后绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.UnitType"> <member name="P:Performance.DtoModels.PerDataClinicEmployee.UnitType">
<summary> <summary>
核算单元分类 核算单元分类
......
...@@ -4396,6 +4396,16 @@ ...@@ -4396,6 +4396,16 @@
备注 备注
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.per_apr_amount.IsVerify">
<summary>
0 未通过验证 1 通过验证
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount.VerifyMessage">
<summary>
验证失败描述
</summary>
</member>
<member name="T:Performance.EntityModels.per_budget_amount"> <member name="T:Performance.EntityModels.per_budget_amount">
<summary> <summary>
预算管理金额 预算管理金额
...@@ -4856,6 +4866,16 @@ ...@@ -4856,6 +4866,16 @@
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.per_dept_dic.IsVerify">
<summary>
0 未通过验证 1 通过验证
</summary>
</member>
<member name="P:Performance.EntityModels.per_dept_dic.VerifyMessage">
<summary>
验证失败描述
</summary>
</member>
<member name="T:Performance.EntityModels.per_employee"> <member name="T:Performance.EntityModels.per_employee">
<summary> <summary>
绩效人员表 绩效人员表
...@@ -4976,6 +4996,16 @@ ...@@ -4976,6 +4996,16 @@
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.per_employee.IsVerify">
<summary>
0 未通过验证 1 通过验证
</summary>
</member>
<member name="P:Performance.EntityModels.per_employee.VerifyMessage">
<summary>
验证失败描述
</summary>
</member>
<member name="T:Performance.EntityModels.per_first"> <member name="T:Performance.EntityModels.per_first">
<summary> <summary>
首次上传文件地址(当医院存在标准库时,首次上传用户提交固定格式的excel,开发人员配置SQL脚本) 首次上传文件地址(当医院存在标准库时,首次上传用户提交固定格式的excel,开发人员配置SQL脚本)
......
...@@ -18,12 +18,15 @@ public class DeptdicResponse ...@@ -18,12 +18,15 @@ public class DeptdicResponse
public Deptdic LogisticsAccounting { get; set; } public Deptdic LogisticsAccounting { get; set; }
public Deptdic SpecialAccounting { get; set; } public Deptdic SpecialAccounting { get; set; }
public DateTime? CreateTime { get; set; } public DateTime? CreateTime { get; set; }
public int IsVerify { get; set; }
} }
public class Deptdic public class Deptdic
{ {
public int Id { get; set; } public int Id { get; set; }
public string AccountingUnit { get; set; } public string AccountingUnit { get; set; }
public int IsVerify { get; set; }
public string VerifyMessage { get; set; }
} }
public class DeptdicHands public class DeptdicHands
......
...@@ -85,5 +85,15 @@ public class per_apr_amount ...@@ -85,5 +85,15 @@ public class per_apr_amount
/// 备注 /// 备注
/// </summary> /// </summary>
public string Remark { get; set; } public string Remark { get; set; }
/// <summary>
/// 0 未通过验证 1 通过验证
/// </summary>
public int? IsVerify { get; set; }
/// <summary>
/// 验证失败描述
/// </summary>
public string VerifyMessage { get; set; }
} }
} }
...@@ -60,5 +60,15 @@ public class per_dept_dic ...@@ -60,5 +60,15 @@ public class per_dept_dic
/// ///
/// </summary> /// </summary>
public Nullable<int> CreateUser { get; set; } public Nullable<int> CreateUser { get; set; }
/// <summary>
/// 0 未通过验证 1 通过验证
/// </summary>
public int? IsVerify { get; set; }
/// <summary>
/// 验证失败描述
/// </summary>
public string VerifyMessage { get; set; }
} }
} }
...@@ -130,5 +130,15 @@ public class per_employee ...@@ -130,5 +130,15 @@ public class per_employee
/// ///
/// </summary> /// </summary>
public Nullable<int> CreateUser { get; set; } public Nullable<int> CreateUser { get; set; }
/// <summary>
/// 0 未通过验证 1 通过验证
/// </summary>
public int? IsVerify { get; set; }
/// <summary>
/// 验证失败描述
/// </summary>
public string VerifyMessage { get; set; }
} }
} }
...@@ -219,11 +219,5 @@ union all ...@@ -219,11 +219,5 @@ union all
return flag; return flag;
} }
} }
public int VerifyAccountingAndUnittype(int allotId)
{
return Execute("call proc_verify_accoungingunit_unittype(@allotId);", new { allotId });
}
} }
} }
...@@ -440,6 +440,8 @@ public void Generate(per_allot allot) ...@@ -440,6 +440,8 @@ public void Generate(per_allot allot)
UpdateAllotStates(allot.ID, (int)AllotStates.GenerateAccomplish, EnumHelper.GetDescription(AllotStates.GenerateAccomplish), generate); UpdateAllotStates(allot.ID, (int)AllotStates.GenerateAccomplish, EnumHelper.GetDescription(AllotStates.GenerateAccomplish), generate);
perforCofdirectorRepository.SupplementaryData(allot.ID); perforCofdirectorRepository.SupplementaryData(allot.ID);
// 验证科室核算单元、工号
AccoungtingVerify(allot.ID);
//logManageService.WriteMsg("正在生成报表数据", "正在生成报表数据", 1, allot.ID, "ReceiveMessage", true); //logManageService.WriteMsg("正在生成报表数据", "正在生成报表数据", 1, allot.ID, "ReceiveMessage", true);
//var res = reportService.ImportData(allot); //var res = reportService.ImportData(allot);
...@@ -474,6 +476,15 @@ public void GenerateReport(per_allot allot) ...@@ -474,6 +476,15 @@ public void GenerateReport(per_allot allot)
} }
/// <summary> /// <summary>
/// 验证科室核算单元、工号
/// </summary>
/// <param name="allot"></param>
public void AccoungtingVerify(int allotId)
{
reportService.ExecProc("call proc_verify_accoungingunit_unittype(@allotId);", new { allotId });
}
/// <summary>
/// 重新计算院领导绩效 /// 重新计算院领导绩效
/// </summary> /// </summary>
/// <param name="allotId"></param> /// <param name="allotId"></param>
......
...@@ -706,17 +706,6 @@ public bool AccountingDelete(int accountingId) ...@@ -706,17 +706,6 @@ public bool AccountingDelete(int accountingId)
return cofaccountingRepository.Remove(entity); return cofaccountingRepository.Remove(entity);
} }
/// <summary>
/// 删除数据
/// </summary>
/// <param name="accountingId"></param>
/// <returns></returns>
public void AccoungtingVerify(int allotId)
{
_directorRepository.VerifyAccountingAndUnittype(allotId);
}
#endregion #endregion
#region Copy #region Copy
......
...@@ -397,7 +397,7 @@ public List<per_apr_amount> GetAprList(int allotId, int userId) ...@@ -397,7 +397,7 @@ public List<per_apr_amount> GetAprList(int allotId, int userId)
else else
list = perapramountRepository.GetEntities(t => t.AllotId == allotId && (t.Amount ?? 0) != 0 && t.CreateUser == userId); list = perapramountRepository.GetEntities(t => t.AllotId == allotId && (t.Amount ?? 0) != 0 && t.CreateUser == userId);
if (list != null && list.Any()) if (list != null && list.Any())
list = list.OrderBy(t => t.DoctorName).ToList(); list = list.OrderBy(w => w.IsVerify).ThenBy(t => t.DoctorName).ToList();
return list; return list;
} }
......
...@@ -176,7 +176,7 @@ public List<per_employee> GetPersons(int allotId, int userId) ...@@ -176,7 +176,7 @@ public List<per_employee> GetPersons(int allotId, int userId)
var list = peremployeeRepository.GetEntities(exp); var list = peremployeeRepository.GetEntities(exp);
if (list != null && list.Any()) if (list != null && list.Any())
return list.OrderBy(t => t.Id).ToList(); return list.OrderBy(w => w.IsVerify).ThenBy(t => t.Id).ToList();
return new List<per_employee>(); return new List<per_employee>();
} }
...@@ -318,10 +318,11 @@ public IEnumerable<DeptdicResponse> GetDepartments(int hospitalId) ...@@ -318,10 +318,11 @@ public IEnumerable<DeptdicResponse> GetDepartments(int hospitalId)
InpatTechnicAccounting = GetDeptdic(t.FirstOrDefault(group => group.Department == t.Key.Department && group.HISDeptName == t.Key.HISDeptName && group.UnitType == UnitType.医技组.ToString() && group.Source == "住院")), InpatTechnicAccounting = GetDeptdic(t.FirstOrDefault(group => group.Department == t.Key.Department && group.HISDeptName == t.Key.HISDeptName && group.UnitType == UnitType.医技组.ToString() && group.Source == "住院")),
LogisticsAccounting = GetDeptdic(t.FirstOrDefault(group => group.Department == t.Key.Department && group.HISDeptName == t.Key.HISDeptName && group.UnitType == UnitType.行政后勤.ToString())), LogisticsAccounting = GetDeptdic(t.FirstOrDefault(group => group.Department == t.Key.Department && group.HISDeptName == t.Key.HISDeptName && group.UnitType == UnitType.行政后勤.ToString())),
SpecialAccounting = GetDeptdic(t.FirstOrDefault(group => group.Department == t.Key.Department && group.HISDeptName == t.Key.HISDeptName && group.UnitType == UnitType.特殊核算组.ToString())), SpecialAccounting = GetDeptdic(t.FirstOrDefault(group => group.Department == t.Key.Department && group.HISDeptName == t.Key.HISDeptName && group.UnitType == UnitType.特殊核算组.ToString())),
CreateTime = t.Max(group => group.CreateTime) CreateTime = t.Max(group => group.CreateTime),
IsVerify = t.Min(w => w.IsVerify) ?? 1,
}); });
return result.OrderByDescending(t => t.CreateTime).ThenBy(t => t.Department); return result.OrderBy(w => w.IsVerify).ThenByDescending(t => t.CreateTime).ThenBy(t => t.Department);
} }
private (string dept, string[] unittype) GetDeptByUser(int userId) private (string dept, string[] unittype) GetDeptByUser(int userId)
...@@ -357,7 +358,9 @@ private Deptdic GetDeptdic(per_dept_dic dic) ...@@ -357,7 +358,9 @@ private Deptdic GetDeptdic(per_dept_dic dic)
return new Deptdic return new Deptdic
{ {
Id = dic.Id, Id = dic.Id,
AccountingUnit = dic.AccountingUnit AccountingUnit = dic.AccountingUnit,
IsVerify = dic.IsVerify ?? 1,
VerifyMessage = dic.VerifyMessage,
}; };
} }
......
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