Commit 5bbc5a35 by 799284587@qq.com

优化

parent d286df15
......@@ -156,8 +156,18 @@ public ApiResponse Generate([CustomizeValidator(RuleSet = "Delete"), FromBody]Al
if (null == allot || string.IsNullOrEmpty(allot.Path))
throw new PerformanceException("当前绩效记录不存在或没有上传数据文件");
var email = _claim.GetUserClaim(JwtClaimTypes.Mail);
if (allot.States == (int)AllotStates.Wait)
return new ApiResponse(ResponseType.OK, "当前绩效正在等待生成");
if (_evn.IsEnvironment("Localhost"))
_allotService.Generate(allot, email);
//BackgroundJob.Enqueue(() => _allotService.Generate(allot, email));
else
BackgroundJob.Enqueue(() => _allotService.Generate(allot, email));
_allotService.UpdateAllotStates(allot.ID, (int)AllotStates.Wait, EnumHelper.GetDescription(AllotStates.Wait));
//_allotService.Generate(allot, email);
////BackgroundJob.Enqueue(() => _allotService.Generate(allot, email));
return new ApiResponse(ResponseType.OK);
}
......
......@@ -582,6 +582,8 @@
保存提取文件
</summary>
<param name="form"></param>
<param name="allotId"></param>
<param name="hospitalId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.ClaimService.GetUserId">
......
......@@ -4,54 +4,150 @@
<name>Performance.EntityModels</name>
</assembly>
<members>
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.ag_againsituation”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.ag_data”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.ag_employee”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.ag_header”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.as_assess”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.as_columns”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.as_data”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.as_tempassess”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.as_tempcolumns”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.cof_again”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.cof_check”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.cof_director”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.cof_drugprop”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.cof_drugtype”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.cof_income”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.cof_singlefactor”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.cof_workyear”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.hos_personfee”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.im_accountbasic”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.im_data”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.im_employee”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.im_header”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.im_specialunit”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.log_check”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.log_dbug”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.mod_extract”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.mod_item”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.mod_module”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.mod_special”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.per_againallot”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.per_allot”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.per_first”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.per_sheet”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.res_account”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.res_baiscnorm”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.res_compute”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.res_specialunit”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.sys_extract”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.sys_hospital”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.sys_hospitalconfig”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.sys_menu”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.sys_role”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.sys_role_menu”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.sys_sms”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.sys_task”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.sys_user”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.sys_user_hospital”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.sys_user_role”忽略有格式错误的 XML 注释 -->
<member name="P:Performance.EntityModels.PerformanceDbContext.ag_againsituation">
<summary> 二次分配概览 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.ag_data">
<summary> 二次分配不固定数据 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.ag_employee">
<summary> 二次分配人员名单 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.ag_header">
<summary> 二次分配不固定列头数据 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.as_assess">
<summary> 考核类别 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.as_columns">
<summary> 考核列头 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.as_data">
<summary> 考核数据 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.as_tempassess">
<summary> 考核类别 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.as_tempcolumns">
<summary> 考核列头 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_again">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_check">
<summary> 上传excel文件校验配置 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_director">
<summary> 规模绩效、效率绩效计算系数配置 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_drugprop">
<summary> 工作量门诊药占比系数 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_drugtype">
<summary> 药占比费用列头名称 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_income">
<summary> ICU医生护士有效收入汇总计算系数 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_singlefactor">
<summary> 特殊绩效项指标 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_workyear">
<summary> 工龄对应绩效系数配置 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.hos_personfee">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.im_accountbasic">
<summary> 科室核算导入信息 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.im_data">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.im_employee">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.im_header">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.im_specialunit">
<summary> 特殊科室核算 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.log_check">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.log_dbug">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.mod_extract">
<summary> 医院数据提取脚本 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.mod_item">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.mod_module">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.mod_special">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_againallot">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_allot">
<summary> 医院绩效分配 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_first">
<summary> 首次上传文件地址(当医院存在标准库时,首次上传用户提交固定格式的excel,开发人员配置SQL脚本) </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.per_sheet">
<summary> 上传数据解析 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.res_account">
<summary> 科室核算结果 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.res_baiscnorm">
<summary> 核算基础标准 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.res_compute">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.res_specialunit">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.sys_extract">
<summary> 医院数据提取脚本 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.sys_hospital">
<summary> 医院信息 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.sys_hospitalconfig">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.sys_menu">
<summary> 菜单表 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.sys_role">
<summary> 角色表 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.sys_role_menu">
<summary> 角色菜单关联表 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.sys_sms">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.sys_task">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.sys_user">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.sys_user_hospital">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.sys_user_role">
<summary> 用户角色关联表 </summary>
</member>
<member name="T:Performance.EntityModels.ag_againsituation">
<summary>
二次分配概览
......
......@@ -52,5 +52,8 @@ public enum AllotStates
/// <summary> 归档 </summary>
[Description("归档")]
Archive = 8,
/// <summary> 归档 </summary>
[Description("等待")]
Wait = 9,
}
}
......@@ -193,6 +193,10 @@ public bool Update(per_allot allot)
}
#endregion
public void UpdateAllotStates(int allotId, int states, string remark)
{
_allotRepository.UpdateAllotStates(allotId, states, remark);
}
/// <summary>
/// 生成绩效
/// </summary>
......@@ -205,17 +209,17 @@ public void Generate(per_allot allot, string mail)
{
logdbug.Add(allot.ID, "绩效开始执行", JsonHelper.Serialize(allot));
configService.Clear(allot.ID);
_allotRepository.UpdateAllotStates(allot.ID, (int)AllotStates.InCheckData, EnumHelper.GetDescription(AllotStates.InCheckData));
UpdateAllotStates(allot.ID, (int)AllotStates.InCheckData, EnumHelper.GetDescription(AllotStates.InCheckData));
// 导出数据
var excel = importDataService.ReadDataAndSave(allot);
if (!checkDataService.Check(excel, allot))
{
_allotRepository.UpdateAllotStates(allot.ID, (int)AllotStates.CheckFail, EnumHelper.GetDescription(AllotStates.CheckFail));
UpdateAllotStates(allot.ID, (int)AllotStates.CheckFail, EnumHelper.GetDescription(AllotStates.CheckFail));
SendEmail(allot, mail, 3, time);
logdbug.Add(allot.ID, "绩效数据校验失败", JsonHelper.Serialize(allot));
return;
}
_allotRepository.UpdateAllotStates(allot.ID, (int)AllotStates.InGenerate, EnumHelper.GetDescription(AllotStates.InGenerate));
UpdateAllotStates(allot.ID, (int)AllotStates.InGenerate, EnumHelper.GetDescription(AllotStates.InGenerate));
// 计算合并数据
logdbug.Add(allot.ID, "计算合并数据", JsonHelper.Serialize(allot));
List<PerSheet> list = processComputService.MergeAndSave(excel, allot);
......@@ -227,14 +231,14 @@ public void Generate(per_allot allot, string mail)
var baiscnormList = resultComputeService.Compute(allot, excel, list);
resultComputeService.SpecialUnitCompute(excel, allot, baiscnormList);
_allotRepository.UpdateAllotStates(allot.ID, (int)AllotStates.GenerateSucceed, EnumHelper.GetDescription(AllotStates.GenerateSucceed));
UpdateAllotStates(allot.ID, (int)AllotStates.GenerateSucceed, EnumHelper.GetDescription(AllotStates.GenerateSucceed));
//发送邮件
SendEmail(allot, mail, 1, time);
logdbug.Add(allot.ID, "绩效开始执行", "绩效生成成功");
}
catch (Exception ex)
{
_allotRepository.UpdateAllotStates(allot.ID, (int)AllotStates.GenerateFail, EnumHelper.GetDescription(AllotStates.GenerateFail));
UpdateAllotStates(allot.ID, (int)AllotStates.GenerateFail, EnumHelper.GetDescription(AllotStates.GenerateFail));
SendEmail(allot, mail, 2, time);
logdbug.Add(allot.ID, "绩效开始执行", ex.ToString());
//throw ex;
......
......@@ -301,7 +301,7 @@ public res_compute UpdateRealfee(ComputerRequest request, int userId, string rea
/// <returns></returns>
public List<res_baiscnorm> GetBaiscnorm(int allotId)
{
return perforResbaiscnormRepository.GetEntities(t => t.AllotID == allotId);
return perforResbaiscnormRepository.GetEntities(t => t.AllotID == allotId).OrderBy(t => t.PositionName).ToList();
}
}
}
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