Commit 9182833f by lcx

Merge branch 'v2020morge' into v2020morge-signalr

# Conflicts:
#	performance/Performance.Api/wwwroot/Performance.Api.xml
#	performance/Performance.Api/wwwroot/Performance.EntityModels.xml
#	performance/Performance.EntityModels/Context/PerformanceDbContext.cs
#	performance/Performance.Services/AllotService.cs
parents 448ab2e4 85bc3234
......@@ -263,6 +263,16 @@ public ApiResponse Generate([CustomizeValidator(RuleSet = "Delete"), FromBody] A
////BackgroundJob.Enqueue(() => _allotService.Generate(allot, email));
return new ApiResponse(ResponseType.OK);
}
/*
[Route("recalculation")]
[HttpPost]
public ApiResponse Recalculation([FromBody] RecalculationRequest request)
{
if (request.Money.HasValue && request.Money.Value > 0)
_allotService.Recalculation(request.AllotId, request.Money.Value);
return new ApiResponse(ResponseType.OK);
}
*/
/// <summary>
/// 重新计算院领导绩效
......
......@@ -13,6 +13,7 @@
using System.Linq;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Performance.DtoModels.Request;
namespace Performance.Api.Controllers
{
......@@ -22,12 +23,15 @@ public class ComputeController : Controller
private ComputeService _computeService;
private AllotService _allotService;
private ClaimService _claim;
private EmployeeService _employeeService;
public ComputeController(AllotService allotService,
ComputeService computeService,
EmployeeService employeeService,
ClaimService claim)
{
_allotService = allotService;
_computeService = computeService;
_employeeService = employeeService;
_claim = claim;
}
......@@ -253,7 +257,7 @@ public ApiResponse AllComputeAvg([FromBody] ComputerRequest request)
// ? 0 : Math.Round(gc.Sum(s => s.RealGiveFee) / gc.Select(p => new { p.JobNumber, p.EmployeeName }).Distinct().Count() ?? 0)
// }));
return new ApiResponse(ResponseType.OK, "ok", avgs.Select(w => new { w.PositionName, w.TotelNumber, w.TotelValue, w.AvgValue }));
return new ApiResponse(ResponseType.OK, "ok", avgs.Select(w => new {w.ID, w.PositionName, w.TotelNumber, w.TotelValue, w.AvgValue }));
}
/// <summary>
......@@ -366,5 +370,45 @@ public ApiResponse DoctorDetail(int computeId)
var result = _computeService.GetDoctorDetail(computeId);
return new ApiResponse(ResponseType.OK, result);
}
#region 人均绩效修改
/// <summary>
/// 编辑全院绩效平均
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route("EditHospitalAvg")]
[HttpPost]
public ApiResponse<res_baiscnorm> EditHospitalAvg([FromBody] ComputerAvgRequest request)
{
var allot = _allotService.GetAllot(request.AllotId);
if (null == allot)
throw new PerformanceException("当前绩效记录不存在");
var result = _computeService.EditHospitalAvg(request);
return new ApiResponse<res_baiscnorm>(ResponseType.OK, result);
}
#endregion
#region 其他绩效统计
/// <summary>
/// 其他医院绩效统计
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route("OtherPerStats/{allotId}")]
[HttpPost]
public ApiResponse OtherPerStats(int allotId)
{
var employee = _employeeService.GetAprList(allotId, _claim.GetUserId());
var relust= _computeService.GetOtherPerStats(employee);
return new ApiResponse(ResponseType.OK,relust);
}
#endregion
}
}
\ No newline at end of file
......@@ -535,5 +535,44 @@ public ApiResponse WorkHeader([CustomizeValidator(RuleSet = "Select"), FromBody]
var list = _configService.WorkHeader(request.AllotID);
return new ApiResponse(ResponseType.OK, "ok", list);
}
#region HRP人员科室
/// <summary>
/// 获取HRP人员科室
/// </summary>
/// <param name="hospitalId"></param>
/// <param name="allotId"></param>
/// <returns></returns>
[Route("hrpdepthands/{hospitalId}/allot/{allotId}")]
[HttpPost]
public ApiResponse GetHrpDeptHands([FromRoute] int hospitalId, int allotId)
{
if (hospitalId <= 0)
return new ApiResponse(ResponseType.Fail, "参数错误", "HospitalId无效");
if (allotId <= 0)
return new ApiResponse(ResponseType.Fail, "参数错误", "allotid无效");
var relust = _configService.GetHrpDeptHands(hospitalId, allotId);
return new ApiResponse(ResponseType.OK, relust);
}
/// <summary>
/// 保存HRP人员科室
/// </summary>
/// <param name=""></param>
/// <returns></returns>
[Route("savehrpdept/{hospitalId}/allot/{allotId}")]
[HttpPost]
public ApiResponse SaveHrpDept(int hospitalId, int allotId, [FromBody] SaveCollectData request)
{
if (hospitalId <= 0)
return new ApiResponse(ResponseType.Fail, "参数错误", "HospitalId无效");
if (allotId <= 0)
return new ApiResponse(ResponseType.Fail, "参数错误", "allotid无效");
_configService.SaveDepttypeHands(hospitalId, allotId, request);
return new ApiResponse(ResponseType.OK);
}
#endregion
}
}
\ No newline at end of file
......@@ -466,5 +466,20 @@ public ApiResponse<List<TitleValue>> GetPerforTypeDict([FromRoute] int allotId)
var result = employeeService.GetPerforTypeDict(allotId);
return new ApiResponse<List<TitleValue>>(ResponseType.OK, "绩效类型字典", result);
}
/// <summary>
/// 材料科室考核
/// </summary>
/// <returns></returns>
[Route("deptAssessment/{allotId}")]
[HttpPost]
public ApiResponse GetDeptAssessment(int allotId)
{
if (allotId<=0)
return new ApiResponse(ResponseType.ParameterError, "参数AllotId无效!");
var result=employeeService.GetDeptAssessment(allotId);
return new ApiResponse(ResponseType.OK,result);
}
}
}
......@@ -401,11 +401,11 @@ public ApiResponse NursingDeptAuditResult([FromBody] SecondAuditRequest request)
[HttpPost]
public ApiResponse OtherList([FromBody] AgOtherRequest request)
{
//var result = secondAllotService.OtherList(request.SecondId, claimService.GetUserId());
var result = secondAllotDetails.GetOtherTempData(claimService.GetUserId(), request.SecondId, request.IsArchive, request.EmployeeSource, out decimal? realAmount);
var result = secondAllotDetails.GetOtherTempDetails(claimService.GetUserId(), request.SecondId, request.IsArchive, request.EmployeeSource);
//var result = secondAllotDetails.GetOtherTempData(claimService.GetUserId(), request.SecondId, request.IsArchive, request.EmployeeSource, out decimal? realAmount);
var obj = new
{
header = secondAllotService.OtherListHeader(request.SecondId, realAmount),
header = secondAllotService.OtherListHeader(request.SecondId, result?.Sum(t=>t.RealAmount)),
body = result,
};
return new ApiResponse(ResponseType.OK, obj);
......
......@@ -7,8 +7,8 @@
}
},
"AppConnection": {
"PerformanceConnectionString": "server=112.124.13.17;database=db_performance;uid=suvalue;pwd=suvalue2016;pooling=true;charset=utf8;convert zero datetime=true;port=3306;connection timeout=120;max pool size=512;allow user variables=true;",
//"PerformanceConnectionString": "server=192.168.18.166;database=db_yubei;uid=root;pwd=1234qwer;pooling=true;charset=utf8;convert zero datetime=true;port=3306;connection timeout=120;max pool size=512;allow user variables=true;",
//"PerformanceConnectionString": "server=112.124.13.17;database=db_performance;uid=suvalue;pwd=suvalue2016;pooling=true;charset=utf8;convert zero datetime=true;port=3306;connection timeout=120;max pool size=512;allow user variables=true;",
"PerformanceConnectionString": "server=192.168.18.166;database=db_performance_screen;uid=root;pwd=1234qwer;pooling=true;charset=utf8;convert zero datetime=true;port=3306;connection timeout=120;max pool size=512;allow user variables=true;",
"HangfireConnectionString": "server=192.168.18.166;database=db_hangfire;uid=root;pwd=1234qwer;port=3306;allow user variables=true;",
"RedisConnectionString": "116.62.245.55:6379,defaultDatabase=2"
},
......
......@@ -208,7 +208,7 @@
<summary>
上传文件
</summary>
<param name="allotId"></param>
<param name="form"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AllotController.Generate(Performance.DtoModels.AllotRequest)">
......@@ -467,6 +467,20 @@
<param name="computeId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ComputeController.EditHospitalAvg(Performance.DtoModels.Request.ComputerAvgRequest)">
<summary>
编辑全院绩效平均
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ComputeController.OtherPerStats(System.Int32)">
<summary>
其他医院绩效统计
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.GetDrugtypeList(Performance.DtoModels.DrugpropRequest)">
<summary>
获取 药占比类型信息列表
......@@ -756,6 +770,12 @@
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetDeptAssessment(System.Int32)">
<summary>
材料科室考核
</summary>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ExConfigController.Extract(Performance.DtoModels.ModModuleRequest)">
<summary>
绩效数据抽取模板
......
......@@ -1169,6 +1169,11 @@
是否需要二次分配
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.NightShiftWorkPerforFee">
<summary>
夜班绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.UnitType">
<summary>
核算单元分类
......@@ -1823,6 +1828,26 @@
<member name="P:Performance.DtoModels.AprAmountAuditRequest.Remark">
<summary> 备注 </summary>
</member>
<member name="P:Performance.DtoModels.Request.ComputerAvgRequest.PositionName">
<summary>
绩效核算人群
</summary>
</member>
<member name="P:Performance.DtoModels.Request.ComputerAvgRequest.TotelValue">
<summary>
绩效总额
</summary>
</member>
<member name="P:Performance.DtoModels.Request.ComputerAvgRequest.AvgValue">
<summary>
人均绩效
</summary>
</member>
<member name="P:Performance.DtoModels.Request.ComputerAvgRequest.TotelNumber">
<summary>
总人数
</summary>
</member>
<member name="P:Performance.DtoModels.Request.SmsCodeRequest.Type">
<summary>
短信验证类型 1 手机号登录 2 其他
......@@ -3026,7 +3051,7 @@
</member>
<member name="P:Performance.DtoModels.DeptResponse.PerforTotal">
<summary>
绩效合计
考核前绩效合计
</summary>
</member>
<member name="P:Performance.DtoModels.DeptResponse.Avg">
......
......@@ -67,18 +67,27 @@
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_check">
<summary> 上传excel文件校验配置 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_cmi">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_depttype">
<summary> 科室类型 </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_guarantee">
<summary> 保底科室配置 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_hrp_department">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_income">
<summary> ICU医生护士有效收入汇总计算系数 </summary>
</member>
......@@ -88,6 +97,9 @@
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_workitem">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_workloadtype">
<summary> 工作量分类 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_workyear">
<summary> 工龄对应绩效系数配置 </summary>
</member>
......@@ -98,7 +110,7 @@
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cust_script">
<summary> </summary>
<summary> 自定义导出 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.ex_item">
<summary> </summary>
......@@ -118,6 +130,21 @@
<member name="P:Performance.EntityModels.PerformanceDbContext.ex_type">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.his_data">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.his_import_account">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.his_import_baiscnorm">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.his_import_clinic">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.his_import_summary">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.his_importdata">
<summary> </summary>
</member>
......@@ -151,12 +178,21 @@
<member name="P:Performance.EntityModels.PerformanceDbContext.log_dbug">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.log_signalr">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.mod_dic">
<summary> 部分公共数据抽取SQL </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>
......@@ -205,6 +241,27 @@
<member name="P:Performance.EntityModels.PerformanceDbContext.report_global">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.report_original_persontime">
<summary> 医院门诊住院人次 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.report_original_stays">
<summary> 医院门诊住院人次 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.report_original_surgery">
<summary> 医院手术人次 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.report_original_workload">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.report_performance_category">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.report_performance_person_tags">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.report_performance_tags">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.res_account">
<summary> 科室核算结果 </summary>
</member>
......@@ -354,6 +411,11 @@
二次绩效ID
</summary>
</member>
<member name="P:Performance.EntityModels.ag_compute.UnitType">
<summary>
科室类型
</summary>
</member>
<member name="P:Performance.EntityModels.ag_compute.Department">
<summary>
科室
......@@ -379,6 +441,11 @@
可分配绩效
</summary>
</member>
<member name="P:Performance.EntityModels.ag_compute.PerforManagementFee">
<summary>
管理绩效
</summary>
</member>
<member name="P:Performance.EntityModels.ag_compute.OthePerfor">
<summary>
医院其他绩效
......@@ -386,7 +453,7 @@
</member>
<member name="P:Performance.EntityModels.ag_compute.NightWorkPerfor">
<summary>
实发绩效工资金额
夜班工作量绩效
</summary>
</member>
<member name="P:Performance.EntityModels.ag_compute.RealGiveFee">
......@@ -854,6 +921,26 @@
科室实发金额
</summary>
</member>
<member name="P:Performance.EntityModels.ag_secondallot.Efficiency">
<summary>
效率绩效
</summary>
</member>
<member name="P:Performance.EntityModels.ag_secondallot.Scale">
<summary>
规模绩效
</summary>
</member>
<member name="P:Performance.EntityModels.ag_secondallot.Grant">
<summary>
发放系数
</summary>
</member>
<member name="P:Performance.EntityModels.ag_secondallot.ShouldGiveFee">
<summary>
应发管理绩效
</summary>
</member>
<member name="P:Performance.EntityModels.ag_secondallot.Status">
<summary>
状态 1 未提交 2 等待审核 3 审核通过 4 驳回
......@@ -884,11 +971,6 @@
备注
</summary>
</member>
<member name="P:Performance.EntityModels.ag_secondallot.NursingDeptStatus">
<summary>
护理部审核状态 1 未提交 2 等待审核 3 审核通过 4 驳回
</summary>
</member>
<member name="P:Performance.EntityModels.ag_secondallot.NursingDeptAuditTime">
<summary>
护理部审核时间
......@@ -904,6 +986,11 @@
护理部备注
</summary>
</member>
<member name="P:Performance.EntityModels.ag_secondallot.NursingDeptStatus">
<summary>
护理部审核状态 2 等待审核 3 审核通过 4 驳回
</summary>
</member>
<member name="T:Performance.EntityModels.ag_temp">
<summary>
二次绩效模板
......@@ -1274,6 +1361,36 @@
单元格列头名称
</summary>
</member>
<member name="T:Performance.EntityModels.cof_cmi">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_cmi.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_cmi.AllotId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_cmi.UnitType">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_cmi.AccountingUnit">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_cmi.Value">
<summary>
</summary>
</member>
<member name="T:Performance.EntityModels.cof_depttype">
<summary>
科室类型
......@@ -1334,6 +1451,36 @@
绩效系数
</summary>
</member>
<member name="T:Performance.EntityModels.cof_drugprop">
<summary>
工作量门诊药占比系数
</summary>
</member>
<member name="P:Performance.EntityModels.cof_drugprop.ID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_drugprop.AllotID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_drugprop.MaxRange">
<summary>
药占比最大范围(小于)
</summary>
</member>
<member name="P:Performance.EntityModels.cof_drugprop.MinRange">
<summary>
药占比最小范围(大于等于)
</summary>
</member>
<member name="P:Performance.EntityModels.cof_drugprop.Value">
<summary>
药占比对应系数
</summary>
</member>
<member name="T:Performance.EntityModels.cof_drugtype">
<summary>
药占比费用列头名称
......@@ -1394,6 +1541,36 @@
保底来源科室
</summary>
</member>
<member name="T:Performance.EntityModels.cof_hrp_department">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_hrp_department.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_hrp_department.HospitalId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_hrp_department.AllotId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_hrp_department.HRPDepartment">
<summary>
HRP人员科室
</summary>
</member>
<member name="P:Performance.EntityModels.cof_hrp_department.AccountingUnit">
<summary>
核算单元
</summary>
</member>
<member name="T:Performance.EntityModels.cof_income">
<summary>
ICU医生护士有效收入汇总计算系数
......@@ -1484,6 +1661,36 @@
1. 药占比 2. CMI
</summary>
</member>
<member name="T:Performance.EntityModels.cof_workloadtype">
<summary>
工作量分类
</summary>
</member>
<member name="P:Performance.EntityModels.cof_workloadtype.ID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_workloadtype.AllotID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_workloadtype.SourceType">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_workloadtype.Original">
<summary>
名称
</summary>
</member>
<member name="P:Performance.EntityModels.cof_workloadtype.Category">
<summary>
类别
</summary>
</member>
<member name="T:Performance.EntityModels.cof_workyear">
<summary>
工龄对应绩效系数配置
......@@ -1516,7 +1723,7 @@
</member>
<member name="T:Performance.EntityModels.collect_data">
<summary>
采集数据
</summary>
</member>
<member name="P:Performance.EntityModels.collect_data.ID">
......@@ -1536,7 +1743,7 @@
</member>
<member name="P:Performance.EntityModels.collect_data.UnitType">
<summary>
核算单元类别 1 医生组 2护理组 3医技组
</summary>
</member>
<member name="P:Performance.EntityModels.collect_data.RowNumber">
......@@ -1556,17 +1763,17 @@
</member>
<member name="P:Performance.EntityModels.collect_data.AccountingUnitTechnician">
<summary>
核算单元名称 医技
核算单元名称医技
</summary>
</member>
<member name="P:Performance.EntityModels.collect_data.AccountingUnitNurse">
<summary>
核算单元名称 护士
核算单元名称护士
</summary>
</member>
<member name="P:Performance.EntityModels.collect_data.AccountingUnitDoctor">
<summary>
核算单元名称 医生
核算单元名称医生
</summary>
</member>
<member name="P:Performance.EntityModels.collect_data.Department">
......@@ -1589,7 +1796,7 @@
</summary>
</member>
<member name="P:Performance.EntityModels.collect_permission.ID">
<member name="P:Performance.EntityModels.collect_permission.Id">
<summary>
</summary>
......@@ -1604,9 +1811,14 @@
</summary>
</member>
<member name="P:Performance.EntityModels.collect_permission.SheetType">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.collect_permission.SheetName">
<summary>
列头类型名称
</summary>
</member>
<member name="P:Performance.EntityModels.collect_permission.HeadName">
......@@ -1614,19 +1826,19 @@
列头名称
</summary>
</member>
<member name="P:Performance.EntityModels.collect_permission.Readnoly">
<member name="P:Performance.EntityModels.collect_permission.Visible">
<summary>
0 可读可写 1 只读
0 可 1 只读
</summary>
</member>
<member name="P:Performance.EntityModels.collect_permission.AttachLast">
<member name="P:Performance.EntityModels.collect_permission.Readnoly">
<summary>
是否附带上次绩效 0 不附带 1 附带
0 可读可写 1 只读
</summary>
</member>
<member name="P:Performance.EntityModels.collect_permission.Visible">
<member name="P:Performance.EntityModels.collect_permission.AttachLast">
<summary>
0 可见 1 不可见
是否附带上次绩效 0 附带 1 不附带
</summary>
</member>
<member name="T:Performance.EntityModels.cust_script">
......@@ -1634,7 +1846,7 @@
自定义导出
</summary>
</member>
<member name="P:Performance.EntityModels.cust_script.ID">
<member name="P:Performance.EntityModels.cust_script.Id">
<summary>
</summary>
......@@ -1654,6 +1866,16 @@
是否允许二次分配下载 1 允许 2 禁止
</summary>
</member>
<member name="P:Performance.EntityModels.cust_script.Name">
<summary>
名称
</summary>
</member>
<member name="P:Performance.EntityModels.cust_script.Script">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cust_script.ConfigId">
<summary>
配置Id
......@@ -1934,142 +2156,457 @@
来源
</summary>
</member>
<member name="T:Performance.EntityModels.his_importdata">
<member name="T:Performance.EntityModels.his_data">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.Id">
<member name="P:Performance.EntityModels.his_data.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.HospitalId">
<member name="P:Performance.EntityModels.his_data.HospitalId">
<summary>
医院ID
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.AllotId">
<member name="P:Performance.EntityModels.his_data.AllotId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.Year">
<member name="P:Performance.EntityModels.his_data.Year">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.Month">
<member name="P:Performance.EntityModels.his_data.Month">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.AccountingUnit">
<member name="P:Performance.EntityModels.his_data.HisDepartment">
<summary>
科室核算单元
His科室
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.Department">
<member name="P:Performance.EntityModels.his_data.AccountingUnit">
<summary>
核算单元
</summary>
</member>
<member name="P:Performance.EntityModels.his_data.Department">
<summary>
科室
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.PersonnelName">
<member name="P:Performance.EntityModels.his_data.PersonnelName">
<summary>
医生姓名
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.PersonnelNumber">
<member name="P:Performance.EntityModels.his_data.PersonnelNumber">
<summary>
人员工号
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.SourceType">
<member name="P:Performance.EntityModels.his_data.SourceType">
<summary>
来源
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.Category">
<member name="P:Performance.EntityModels.his_data.Category">
<summary>
一级分类
费用类型
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.Original">
<member name="P:Performance.EntityModels.his_data.Original">
<summary>
原始分类
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.ItemName">
<member name="P:Performance.EntityModels.his_data.ItemName">
<summary>
二级分类
标准分类
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.Value">
<member name="P:Performance.EntityModels.his_data.Value">
<summary>
费用
</summary>
</member>
<member name="T:Performance.EntityModels.hos_personfee">
<member name="P:Performance.EntityModels.his_data.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.Id">
<member name="T:Performance.EntityModels.his_importdata">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.HospitalId">
<member name="P:Performance.EntityModels.his_importdata.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.Year">
<member name="P:Performance.EntityModels.his_importdata.HospitalId">
<summary>
医院ID
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.Month">
<member name="P:Performance.EntityModels.his_importdata.AllotId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.Source">
<member name="P:Performance.EntityModels.his_importdata.Year">
<summary>
来源 门诊 住院
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.DeptName">
<member name="P:Performance.EntityModels.his_importdata.Month">
<summary>
开单科室
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.Category">
<member name="P:Performance.EntityModels.his_importdata.AccountingUnit">
<summary>
费用类型
科室核算单元
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.PersonTime">
<member name="P:Performance.EntityModels.his_importdata.Department">
<summary>
人次
科室
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.Fee">
<member name="P:Performance.EntityModels.his_importdata.PersonnelName">
<summary>
费用
医生姓名
</summary>
</member>
<member name="T:Performance.EntityModels.im_accountbasic">
<member name="P:Performance.EntityModels.his_importdata.PersonnelNumber">
<summary>
科室核算导入信息
人员工号
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.ID">
<member name="P:Performance.EntityModels.his_importdata.SourceType">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.AllotID">
<member name="P:Performance.EntityModels.his_importdata.Category">
<summary>
一级分类
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.Original">
<summary>
原始分类
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.ItemName">
<summary>
二级分类
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.Value">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_importdata.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="T:Performance.EntityModels.his_import_account">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_account.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_account.HospitalId">
<summary>
医院ID
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_account.AllotId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_account.Year">
<summary>
绩效发放年
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_account.Month">
<summary>
绩效发放月
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_account.UnitType">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_account.AccountingUnit">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_account.Number">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_account.RealGiveFee">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_account.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="T:Performance.EntityModels.his_import_baiscnorm">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_baiscnorm.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_baiscnorm.HospitalId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_baiscnorm.AllotId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_baiscnorm.Year">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_baiscnorm.Month">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_baiscnorm.PositionName">
<summary>
绩效核算人群
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_baiscnorm.TotelValue">
<summary>
绩效总额
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_baiscnorm.AvgValue">
<summary>
人均绩效
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_baiscnorm.TotelNumber">
<summary>
总人数
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_baiscnorm.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="T:Performance.EntityModels.his_import_clinic">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_clinic.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_clinic.HospitalId">
<summary>
医院ID
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_clinic.AllotId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_clinic.Year">
<summary>
绩效发放年
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_clinic.Month">
<summary>
绩效发放月
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_clinic.UnitType">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_clinic.AccountType">
<summary>
核算单元类型(医技科室、临床科室等)
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_clinic.AccountingUnit">
<summary>
核算单元
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_clinic.JobNumber">
<summary>
工号
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_clinic.EmployeeName">
<summary>
人员姓名
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_clinic.Basics">
<summary>
基础绩效系数
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_clinic.RealGiveFee">
<summary>
实发绩效
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_clinic.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="T:Performance.EntityModels.his_import_summary">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_summary.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_summary.HospitalId">
<summary>
医院ID
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_summary.AllotId">
<summary>
ID
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_summary.Year">
<summary>
绩效发放年
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_summary.Month">
<summary>
绩效发放月
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_summary.AccountingUnit">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_summary.RealGiveFee">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_import_summary.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="T:Performance.EntityModels.hos_personfee">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.HospitalId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.Year">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.Month">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.Source">
<summary>
来源 门诊 住院
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.DeptName">
<summary>
开单科室
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.Category">
<summary>
费用类型
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.PersonTime">
<summary>
人次
</summary>
</member>
<member name="P:Performance.EntityModels.hos_personfee.Fee">
<summary>
费用
</summary>
</member>
<member name="T:Performance.EntityModels.im_accountbasic">
<summary>
科室核算导入信息
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.ID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.AllotID">
<summary>
</summary>
......@@ -2089,9 +2626,14 @@
核算单元(医生组)
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseAccountingUnit">
<member name="P:Performance.EntityModels.im_accountbasic.NurseAccountingUnit">
<summary>
核算单元(护理组)
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.Department">
<summary>
核算单元(护理组)
科室
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.IncludeAvgCalculate">
......@@ -2104,6 +2646,11 @@
定科人数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.DoctorDirectorNumber">
<summary>
科主任数量
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.DoctorNumber">
<summary>
核算单元医生数量
......@@ -2114,6 +2661,11 @@
医生基础系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.DoctorSlopeFactor">
<summary>
倾斜系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.DoctorScale">
<summary>
规模绩效系数
......@@ -2149,6 +2701,11 @@
材料占比奖罚
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.DoctorExtra">
<summary>
医院奖罚
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.DoctorScoringAverage">
<summary>
考核对分率
......@@ -2169,6 +2726,71 @@
保底绩效系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseHeadNumber">
<summary>
护士长人数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseNumber">
<summary>
护士人数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseBasicFactor">
<summary>
护理基础系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseSlopeFactor">
<summary>
倾斜系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseScale">
<summary>
规模绩效系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseEffic">
<summary>
效率绩效系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseGrant">
<summary>
发放系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseOtherPerfor1">
<summary>
其他绩效1
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseOtherPerfor2">
<summary>
其他绩效2
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseExtra">
<summary>
医院奖罚
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseScoringAverage">
<summary>
考核对分率
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseAdjustFactor">
<summary>
调节系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.WorkSlopeFactor">
<summary>
工作量倾斜系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.UpdateDate">
<summary>
......@@ -2224,24 +2846,24 @@
行号
</summary>
</member>
<member name="P:Performance.EntityModels.im_data.AccountingUnit">
<member name="P:Performance.EntityModels.im_data.EmployeeName">
<summary>
核算单元名称
人员姓名
</summary>
</member>
<member name="P:Performance.EntityModels.im_data.Department">
<member name="P:Performance.EntityModels.im_data.JobNumber">
<summary>
科室名称
人员工号
</summary>
</member>
<member name="P:Performance.EntityModels.im_data.EmployeeName">
<member name="P:Performance.EntityModels.im_data.AccountingUnit">
<summary>
人员姓名
核算单元名称
</summary>
</member>
<member name="P:Performance.EntityModels.im_data.JobNumber">
<member name="P:Performance.EntityModels.im_data.Department">
<summary>
人员工号
科室名称
</summary>
</member>
<member name="P:Performance.EntityModels.im_data.TypeName">
......@@ -2404,6 +3026,21 @@
其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee.OtherPerfor2">
<summary>
其他绩效2
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee.OtherPerfor3">
<summary>
其他绩效3
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee.OtherPerfor4">
<summary>
其他绩效4
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee.NightWorkPerfor">
<summary>
夜班费
......@@ -2509,21 +3146,11 @@
基础绩效系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.FitPeopleValue">
<summary>
实际人均绩效
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.PostCoefficient">
<summary>
岗位系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.PermanentStaff">
<summary>
效率绩效人数
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.Efficiency">
<summary>
效率绩效系数
......@@ -2539,11 +3166,6 @@
管理绩效发放系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.OtherManagePerfor">
<summary>
其他管理绩效
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.ScoreAverageRate">
<summary>
考核得分率
......@@ -2569,6 +3191,16 @@
其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.OtherManagePerfor">
<summary>
其他管理绩效
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.NightWorkPerfor">
<summary>
夜班费
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.Punishment">
<summary>
医院奖罚
......@@ -2594,6 +3226,16 @@
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.PermanentStaff">
<summary>
效率绩效人数
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.FitPeopleValue">
<summary>
实际人均绩效
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.AssessBeforeOtherFee">
<summary>
考核前其他绩效
......@@ -2671,7 +3313,7 @@
</member>
<member name="P:Performance.EntityModels.im_employee_logistics.DoctorName">
<summary>
医生姓名
姓名
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_logistics.JobTitle">
......@@ -2894,164 +3536,304 @@
</summary>
</member>
<member name="P:Performance.EntityModels.log_check.AllotID">
<member name="P:Performance.EntityModels.log_check.AllotID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_check.CreateTime">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_check.Type">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_check.Level">
<summary>
1、信息(info)2、警告(warn)3、错误(error)
</summary>
</member>
<member name="P:Performance.EntityModels.log_check.Titile">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_check.Message">
<summary>
</summary>
</member>
<member name="T:Performance.EntityModels.log_dbug">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_dbug.ID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_dbug.AllotID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_dbug.CreateTime">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_dbug.Title">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_dbug.Message">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_dbug.Level">
<summary>
1、信息(info)2、警告(warn)3、错误(error)4、异常(exception)5、成功(success)
</summary>
</member>
<member name="P:Performance.EntityModels.log_dbug.Type">
<summary>
1、绩效生成日志 2、绩效提取日志 3、绩效提取进度
</summary>
</member>
<member name="T:Performance.EntityModels.mod_dic">
<summary>
部分公共数据抽取SQL
</summary>
</member>
<member name="P:Performance.EntityModels.mod_dic.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.mod_dic.HospitalId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.mod_dic.Type">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.mod_dic.Content">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.mod_dic.ConfigId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.mod_dic.Remark">
<summary>
</summary>
</member>
<member name="T:Performance.EntityModels.mod_extract">
<summary>
医院数据提取脚本
</summary>
</member>
<member name="P:Performance.EntityModels.mod_extract.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.mod_extract.HospitalId">
<summary>
医院ID
</summary>
</member>
<member name="P:Performance.EntityModels.mod_extract.EName">
<summary>
当前脚本提取内容名称
</summary>
</member>
<member name="P:Performance.EntityModels.mod_extract.ExecuteScript">
<summary>
执行脚本
</summary>
</member>
<member name="P:Performance.EntityModels.mod_extract.ExecuteType">
<summary>
当前脚本类型 1 收入整表 2 单项数据提取
</summary>
</member>
<member name="P:Performance.EntityModels.mod_extract.SourceType">
<summary>
数据库来源类型 1 标准库 2 绩效库
</summary>
</member>
<member name="P:Performance.EntityModels.mod_extract.Description">
<summary>
描述
</summary>
</member>
<member name="P:Performance.EntityModels.log_check.CreateTime">
<member name="P:Performance.EntityModels.mod_extract.IsEnable">
<summary>
是否可用 1 可用 2 不可用
</summary>
</member>
<member name="P:Performance.EntityModels.log_check.Type">
<member name="T:Performance.EntityModels.mod_item">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_check.Level">
<member name="P:Performance.EntityModels.mod_item.Id">
<summary>
1、信息(info)2、警告(warn)3、错误(error)
</summary>
</member>
<member name="P:Performance.EntityModels.log_check.Titile">
<member name="P:Performance.EntityModels.mod_item.ModuleId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_check.Message">
<member name="P:Performance.EntityModels.mod_item.ItemName">
<summary>
绩效考核项
</summary>
</member>
<member name="T:Performance.EntityModels.log_dbug">
<member name="P:Performance.EntityModels.mod_item.FactorValue1">
<summary>
默认系数或医生系数
</summary>
</member>
<member name="P:Performance.EntityModels.log_dbug.ID">
<member name="P:Performance.EntityModels.mod_item.FactorValue2">
<summary>
护理系数
</summary>
</member>
<member name="P:Performance.EntityModels.log_dbug.AllotID">
<member name="P:Performance.EntityModels.mod_item.FactorValue3">
<summary>
医技系数
</summary>
</member>
<member name="P:Performance.EntityModels.log_dbug.CreateTime">
<member name="P:Performance.EntityModels.mod_item.ExtractId">
<summary>
抽取绩效值SQL
</summary>
</member>
<member name="P:Performance.EntityModels.log_dbug.Title">
<member name="P:Performance.EntityModels.mod_item.ConfigId">
<summary>
数据库地址
</summary>
</member>
<member name="P:Performance.EntityModels.log_dbug.Message">
<member name="P:Performance.EntityModels.mod_item.SelectionRange">
<summary>
用户选定抽取范围
</summary>
</member>
<member name="P:Performance.EntityModels.log_dbug.Level">
<member name="P:Performance.EntityModels.mod_item.ReadOnly">
<summary>
1、信息(info)2、警告(warn)3、错误(error)4、异常(exception)5、成功(success)
只读 0、否 1、是
</summary>
</member>
<member name="P:Performance.EntityModels.log_dbug.Type">
<member name="T:Performance.EntityModels.mod_module">
<summary>
1、绩效生成日志 2、绩效提取日志 3、绩效提取进度
</summary>
</member>
<member name="T:Performance.EntityModels.log_signalr">
<member name="P:Performance.EntityModels.mod_module.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_signalr.Id">
<member name="P:Performance.EntityModels.mod_module.HospitalId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_signalr.HospitalId">
<member name="P:Performance.EntityModels.mod_module.SheetType">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_signalr.AllotId">
<member name="P:Performance.EntityModels.mod_module.ModuleName">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.log_signalr.Classify">
<member name="P:Performance.EntityModels.mod_module.Description">
<summary>
分类
</summary>
</member>
<member name="P:Performance.EntityModels.log_signalr.TypeValue">
<member name="P:Performance.EntityModels.mod_module.ExtractId">
<summary>
类型值
提取脚本ID
</summary>
</member>
<member name="P:Performance.EntityModels.log_signalr.Type">
<member name="P:Performance.EntityModels.mod_module.ConfigId">
<summary>
类型
数据库地址
</summary>
</member>
<member name="P:Performance.EntityModels.log_signalr.Title">
<member name="P:Performance.EntityModels.mod_module.ReadOnly">
<summary>
标题
只读 0、否 1、是
</summary>
</member>
<member name="P:Performance.EntityModels.log_signalr.Message">
<member name="P:Performance.EntityModels.mod_module.IsGenerated">
<summary>
消息
是否生成Item 0、否 1、是
</summary>
</member>
<member name="P:Performance.EntityModels.log_signalr.Percentage">
<member name="T:Performance.EntityModels.mod_special">
<summary>
百分比
</summary>
</member>
<member name="P:Performance.EntityModels.log_signalr.CreateTime">
<member name="P:Performance.EntityModels.mod_special.Id">
<summary>
</summary>
</member>
<member name="T:Performance.EntityModels.mod_dic">
<member name="P:Performance.EntityModels.mod_special.HospitalId">
<summary>
部分公共数据抽取SQL
</summary>
</member>
<member name="P:Performance.EntityModels.mod_dic.Id">
<member name="P:Performance.EntityModels.mod_special.Department">
<summary>
科室
</summary>
</member>
<member name="P:Performance.EntityModels.mod_dic.HospitalId">
<member name="P:Performance.EntityModels.mod_special.Target">
<summary>
量化指标
</summary>
</member>
<member name="P:Performance.EntityModels.mod_dic.Type">
<member name="P:Performance.EntityModels.mod_special.TargetFactor">
<summary>
量化指标绩效分值
</summary>
</member>
<member name="P:Performance.EntityModels.mod_dic.Content">
<member name="P:Performance.EntityModels.mod_special.AdjustFactor">
<summary>
调节系数
</summary>
</member>
<member name="P:Performance.EntityModels.mod_dic.ConfigId">
<member name="P:Performance.EntityModels.mod_special.ExtractId">
<summary>
抽取绩效值SQL
</summary>
</member>
<member name="P:Performance.EntityModels.mod_dic.Remark">
<member name="P:Performance.EntityModels.mod_special.ConfigId">
<summary>
数据库地址
</summary>
</member>
<member name="T:Performance.EntityModels.per_againallot">
......@@ -3249,11 +4031,6 @@
审核人
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount.Remark">
<summary>
备注
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount.CreateDate">
<summary>
......@@ -3264,6 +4041,11 @@
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount.Remark">
<summary>
备注
</summary>
</member>
<member name="T:Performance.EntityModels.per_budget_amount">
<summary>
预算管理金额
......@@ -3916,7 +4698,7 @@
</member>
<member name="T:Performance.EntityModels.report_global">
<summary>
条件表
</summary>
</member>
<member name="P:Performance.EntityModels.report_global.Id">
......@@ -3936,12 +4718,12 @@
</member>
<member name="P:Performance.EntityModels.report_global.Year">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_global.Month">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_global.Value">
......@@ -3951,10 +4733,10 @@
</member>
<member name="T:Performance.EntityModels.report_original_persontime">
<summary>
医院门诊住院人次
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_persontime.Id">
<member name="P:Performance.EntityModels.report_original_persontime.ID">
<summary>
</summary>
......@@ -4001,10 +4783,10 @@
</member>
<member name="T:Performance.EntityModels.report_original_stays">
<summary>
医院门诊住院人次
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_stays.Id">
<member name="P:Performance.EntityModels.report_original_stays.ID">
<summary>
</summary>
......@@ -4051,10 +4833,10 @@
</member>
<member name="T:Performance.EntityModels.report_original_surgery">
<summary>
医院手术人次
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_surgery.Id">
<member name="P:Performance.EntityModels.report_original_surgery.ID">
<summary>
</summary>
......@@ -4164,6 +4946,151 @@
费用
</summary>
</member>
<member name="T:Performance.EntityModels.report_performance_category">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_category.Category">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_category.HospitalId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_category.Original">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_category.ItemName">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_category.Year">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_category.Month">
<summary>
</summary>
</member>
<member name="T:Performance.EntityModels.report_performance_person_tags">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_person_tags.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_person_tags.HospitalId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_person_tags.UnitType">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_person_tags.AccountingUnit">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_person_tags.PersonnelNumber">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_person_tags.PersonnelName">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_person_tags.Tag1">
<summary>
绩效发放情况
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_person_tags.Tag2">
<summary>
当月绩效权重
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_person_tags.Tag3">
<summary>
重点群体对比1
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_person_tags.Tag4">
<summary>
重点群体对比2
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_person_tags.Tag5">
<summary>
重点群体对比5
</summary>
</member>
<member name="T:Performance.EntityModels.report_performance_tags">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_tags.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_tags.HospitalId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_tags.UnitType">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_tags.AccountingUnit">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_tags.Tag1">
<summary>
绩效发放情况
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_tags.Tag2">
<summary>
当月绩效权重
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_tags.Tag3">
<summary>
重点群体对比1
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_tags.Tag4">
<summary>
重点群体对比2
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance_tags.Tag5">
<summary>
重点群体对比5
</summary>
</member>
<member name="T:Performance.EntityModels.rep_group">
<summary>
......@@ -4284,6 +5211,16 @@
报表标题
</summary>
</member>
<member name="P:Performance.EntityModels.rep_report.QueryName">
<summary>
查询方法名称
</summary>
</member>
<member name="P:Performance.EntityModels.rep_report.QueryArguments">
<summary>
查询参数
</summary>
</member>
<member name="P:Performance.EntityModels.rep_report.XTitle">
<summary>
X轴标题
......@@ -4459,6 +5396,16 @@
是否带入平均计算 是 否
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.PermanentStaff">
<summary>
定科人数
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.ManagerNumber">
<summary>
科主任/护士长数量
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.Number">
<summary>
核算单元医生数量
......@@ -4559,6 +5506,16 @@
实发绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.Remark">
<summary>
备注
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.ChangeLog">
<summary>
变更日志
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.AssessBeforeOtherFee">
<summary>
考核前其他绩效
......@@ -4579,19 +5536,14 @@
考核后绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.Remark">
<summary>
备注
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.ChangeLog">
<member name="P:Performance.EntityModels.res_account.NeedSecondAllot">
<summary>
变更日志
是否需要二次分配
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.NeedSecondAllot">
<member name="P:Performance.EntityModels.res_account.NightShiftWorkPerforFee">
<summary>
是否需要二次分配
夜班绩效
</summary>
</member>
<member name="T:Performance.EntityModels.res_accountdoctor">
......@@ -4891,12 +5843,12 @@
</member>
<member name="P:Performance.EntityModels.res_compute.FitPeopleValue">
<summary>
绩效基础核算参考值
</summary>
</member>
<member name="P:Performance.EntityModels.res_compute.FitPeopleRatio">
<summary>
绩效基数核算参考对象取值比例(如临床科室护士*95%)
</summary>
</member>
<member name="P:Performance.EntityModels.res_compute.EmployeeName">
......@@ -4929,6 +5881,11 @@
人均绩效(来自科室经济测算表)
</summary>
</member>
<member name="P:Performance.EntityModels.res_compute.Basics">
<summary>
基础绩效系数
</summary>
</member>
<member name="P:Performance.EntityModels.res_compute.Efficiency">
<summary>
效率绩效(需计算)
......@@ -4974,6 +5931,26 @@
其他绩效(来自人员名单)
</summary>
</member>
<member name="P:Performance.EntityModels.res_compute.OtherPerfor2">
<summary>
其他绩效2(来自人员名单)
</summary>
</member>
<member name="P:Performance.EntityModels.res_compute.OtherPerfor3">
<summary>
其他绩效3(来自人员名单)
</summary>
</member>
<member name="P:Performance.EntityModels.res_compute.OtherPerfor4">
<summary>
其他绩效4(来自人员名单)
</summary>
</member>
<member name="P:Performance.EntityModels.res_compute.OtherManagePerfor">
<summary>
其他管理绩效(来自人员名单)
</summary>
</member>
<member name="P:Performance.EntityModels.res_compute.NightWorkPerfor">
<summary>
夜班费
......@@ -5034,11 +6011,6 @@
科主任/护士长人数
</summary>
</member>
<member name="P:Performance.EntityModels.res_compute.OtherManagePerfor">
<summary>
其他管理绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_compute.MedicalNumber">
<summary>
核算单元人员数量
......@@ -5066,7 +6038,7 @@
</member>
<member name="P:Performance.EntityModels.res_compute.NeedSecondAllot">
<summary>
是否需要二次分配 是 否
是否需要二次分配
</summary>
</member>
<member name="T:Performance.EntityModels.res_reserved">
......@@ -5089,6 +6061,11 @@
</summary>
</member>
<member name="P:Performance.EntityModels.res_reserved.UnitType">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.res_reserved.AccountingUnit">
<summary>
核算单元
......@@ -5349,6 +6326,11 @@
调节后其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_specialunit.NightShiftWorkPerforFee">
<summary>
夜班绩效
</summary>
</member>
<member name="T:Performance.EntityModels.sys_extract">
<summary>
医院数据提取脚本
......@@ -5474,6 +6456,11 @@
是否显示二次绩效科主任1 启用 2 禁用
</summary>
</member>
<member name="P:Performance.EntityModels.sys_hospital.IsOpenLogisticsSecondAllot">
<summary>
是否开启行政后勤二次绩效分配 1 启用 2 禁用
</summary>
</member>
<member name="P:Performance.EntityModels.sys_hospital.IsSingleProject">
<summary>
抽取项目是否在同一环境 1 是 2 否
......
......@@ -237,6 +237,11 @@ public class PerDataAccountBaisc : IPerData
/// </summary>
public string NeedSecondAllot { get; set; }
/// <summary>
/// 夜班绩效
/// </summary>
public Nullable<decimal> NightShiftWorkPerforFee { get; set; }
#endregion 由计算得出
}
}
using System;
using System.Collections.Generic;
using System.Text;
using FluentValidation;
namespace Performance.DtoModels.Request
{
public class ComputerAvgRequest
{
public int Id { get; set; }
public int AllotId { get; set; }
public int SheetId { get; set; }
/// <summary>
/// 绩效核算人群
/// </summary>
public string PositionName { get; set; }
/// <summary>
/// 绩效总额
/// </summary>
public decimal TotelValue { get; set; }
/// <summary>
/// 人均绩效
/// </summary>
public decimal AvgValue { get; set; }
/// <summary>
/// 总人数
/// </summary>
public decimal TotelNumber { get; set; }
}
public class ComputerRequestValidator : AbstractValidator<ComputerAvgRequest>
{
public ComputerRequestValidator()
{
RuleFor(x => x.Id).NotNull();
RuleFor(x => x.AllotId).NotNull().GreaterThan(0);
RuleFor(x => x.PositionName).NotNull().NotEmpty();
RuleFor(x => x.TotelNumber).NotNull();
RuleFor(x => x.TotelValue).NotNull();
RuleFor(x => x.AvgValue).NotNull();
}
}
}
......@@ -129,7 +129,7 @@ public class DeptResponse
public Nullable<decimal> WorkloadFee { get; set; }
/// <summary>
/// 绩效合计
/// 考核前绩效合计
/// </summary>
public Nullable<decimal> PerforTotal { get; set; }
......
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;
using System;
......@@ -13,274 +14,211 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
/// <summary> 二次分配概览 </summary>
public virtual DbSet<ag_againsituation> ag_againsituation { get; set; }
/// <summary> 二次绩效结果表 </summary>
public virtual DbSet<ag_compute> ag_compute { get; set; }
/// <summary> 二次分配不固定数据 </summary>
public virtual DbSet<ag_data> ag_data { get; set; }
/// <summary> 二次分配人员名单 </summary>
public virtual DbSet<ag_employee> ag_employee { get; set; }
/// <summary> 二次绩效固定项 </summary>
public virtual DbSet<ag_fixatitem> ag_fixatitem { get; set; }
/// <summary> 二次分配不固定列头数据 </summary>
public virtual DbSet<ag_header> ag_header { get; set; }
/// <summary> 科室二次绩效录入内容 </summary>
public virtual DbSet<ag_itemvalue> ag_itemvalue { get; set; }
/// <summary> 二次绩效其他绩效来源 </summary>
public virtual DbSet<ag_othersource> ag_othersource { get; set; }
/// <summary> 二次绩效列表 </summary>
public virtual DbSet<ag_secondallot> ag_secondallot { get; set; }
/// <summary> 二次绩效模板 </summary>
public virtual DbSet<ag_temp> ag_temp { get; set; }
/// <summary> 二次绩效模板项 </summary>
public virtual DbSet<ag_tempitem> ag_tempitem { get; set; }
/// <summary> </summary>
public virtual DbSet<ag_usetemp> ag_usetemp { get; set; }
/// <summary> 二次绩效工作量绩效 </summary>
public virtual DbSet<ag_workload> ag_workload { get; set; }
/// <summary> </summary>
public virtual DbSet<ag_workload_type> ag_workload_type { get; set; }
/// <summary> 考核类别 </summary>
public virtual DbSet<as_assess> as_assess { get; set; }
/// <summary> 考核列头 </summary>
public virtual DbSet<as_columns> as_columns { get; set; }
/// <summary> 考核数据 </summary>
public virtual DbSet<as_data> as_data { get; set; }
/// <summary> 考核类别 </summary>
public virtual DbSet<as_tempassess> as_tempassess { get; set; }
/// <summary> 考核列头 </summary>
public virtual DbSet<as_tempcolumns> as_tempcolumns { get; set; }
/// <summary> </summary>
public virtual DbSet<cof_again> cof_again { get; set; }
/// <summary> 上传excel文件校验配置 </summary>
public virtual DbSet<cof_check> cof_check { get; set; }
///// <summary> </summary>
//public virtual DbSet<cof_cmi> cof_cmi { get; set; }
/// <summary> </summary>
public virtual DbSet<cof_cmi> cof_cmi { get; set; }
/// <summary> 科室类型 </summary>
public virtual DbSet<cof_depttype> cof_depttype { get; set; }
/// <summary> 规模绩效、效率绩效计算系数配置 </summary>
public virtual DbSet<cof_director> cof_director { get; set; }
///// <summary> 工作量门诊药占比系数 </summary>
//public virtual DbSet<cof_drugprop> cof_drugprop { get; set; }
/// <summary> 工作量门诊药占比系数 </summary>
public virtual DbSet<cof_drugprop> cof_drugprop { get; set; }
/// <summary> 药占比费用列头名称 </summary>
public virtual DbSet<cof_drugtype> cof_drugtype { get; set; }
/// <summary> 保底科室配置 </summary>
public virtual DbSet<cof_guarantee> cof_guarantee { get; set; }
/// <summary> </summary>
public virtual DbSet<cof_hrp_department> cof_hrp_department { get; set; }
/// <summary> ICU医生护士有效收入汇总计算系数 </summary>
public virtual DbSet<cof_income> cof_income { get; set; }
/// <summary> 特殊绩效项指标 </summary>
public virtual DbSet<cof_singlefactor> cof_singlefactor { get; set; }
/// <summary> </summary>
public virtual DbSet<cof_workitem> cof_workitem { get; set; }
/// <summary> 工作量分类 </summary>
public virtual DbSet<cof_workloadtype> cof_workloadtype { get; set; }
/// <summary> 工龄对应绩效系数配置 </summary>
public virtual DbSet<cof_workyear> cof_workyear { get; set; }
/// <summary> </summary>
public virtual DbSet<collect_data> collect_data { get; set; }
/// <summary> </summary>
public virtual DbSet<collect_permission> collect_permission { get; set; }
/// <summary> </summary>
/// <summary> 自定义导出 </summary>
public virtual DbSet<cust_script> cust_script { get; set; }
/// <summary> </summary>
public virtual DbSet<ex_item> ex_item { get; set; }
/// <summary> </summary>
public virtual DbSet<ex_module> ex_module { get; set; }
/// <summary> </summary>
public virtual DbSet<ex_result> ex_result { get; set; }
/// <summary> </summary>
public virtual DbSet<ex_script> ex_script { get; set; }
/// <summary> </summary>
public virtual DbSet<ex_special> ex_special { get; set; }
/// <summary> </summary>
public virtual DbSet<ex_type> ex_type { get; set; }
/// <summary> </summary>
public virtual DbSet<his_data> his_data { get; set; }
/// <summary> </summary>
public virtual DbSet<his_import_account> his_import_account { get; set; }
/// <summary> </summary>
public virtual DbSet<his_import_baiscnorm> his_import_baiscnorm { get; set; }
/// <summary> </summary>
public virtual DbSet<his_import_clinic> his_import_clinic { get; set; }
/// <summary> </summary>
public virtual DbSet<his_import_summary> his_import_summary { get; set; }
/// <summary> </summary>
public virtual DbSet<his_importdata> his_importdata { get; set; }
/// <summary> </summary>
public virtual DbSet<hos_personfee> hos_personfee { get; set; }
/// <summary> 科室核算导入信息 </summary>
public virtual DbSet<im_accountbasic> im_accountbasic { get; set; }
/// <summary> </summary>
public virtual DbSet<im_data> im_data { get; set; }
/// <summary> </summary>
public virtual DbSet<im_employee> im_employee { get; set; }
/// <summary> </summary>
public virtual DbSet<im_employee_clinic> im_employee_clinic { get; set; }
/// <summary> </summary>
public virtual DbSet<im_employee_logistics> im_employee_logistics { get; set; }
/// <summary> </summary>
public virtual DbSet<im_header> im_header { get; set; }
/// <summary> 特殊科室核算 </summary>
public virtual DbSet<im_specialunit> im_specialunit { get; set; }
/// <summary> </summary>
public virtual DbSet<log_check> log_check { get; set; }
/// <summary> </summary>
public virtual DbSet<log_dbug> log_dbug { get; set; }
/// <summary> </summary>
public virtual DbSet<log_signalr> log_signalr { get; set; }
/// <summary> 部分公共数据抽取SQL </summary>
public virtual DbSet<mod_dic> mod_dic { get; set; }
///// <summary> 医院数据提取脚本 </summary>
// public virtual DbSet<mod_extract> mod_extract { get; set; }
///// <summary> </summary>
// public virtual DbSet<mod_item> mod_item { get; set; }
///// <summary> </summary>
// public virtual DbSet<mod_module> mod_module { get; set; }
///// <summary> </summary>
// public virtual DbSet<mod_special> mod_special { get; set; }
/// <summary> 医院数据提取脚本 </summary>
public virtual DbSet<mod_extract> mod_extract { get; set; }
/// <summary> </summary>
public virtual DbSet<mod_item> mod_item { get; set; }
/// <summary> </summary>
public virtual DbSet<mod_module> mod_module { get; set; }
/// <summary> </summary>
public virtual DbSet<mod_special> mod_special { get; set; }
/// <summary> </summary>
public virtual DbSet<per_againallot> per_againallot { get; set; }
/// <summary> 医院绩效分配 </summary>
public virtual DbSet<per_allot> per_allot { get; set; }
/// <summary> </summary>
public virtual DbSet<per_apr_amount> per_apr_amount { get; set; }
/// <summary> 预算管理金额 </summary>
public virtual DbSet<per_budget_amount> per_budget_amount { get; set; }
/// <summary> 预算管理占比 </summary>
public virtual DbSet<per_budget_ratio> per_budget_ratio { get; set; }
/// <summary> 预算控制年度合计 </summary>
public virtual DbSet<per_budget_result> per_budget_result { get; set; }
/// <summary> 科室字典表 </summary>
public virtual DbSet<per_dept_dic> per_dept_dic { get; set; }
/// <summary> 绩效人员表 </summary>
public virtual DbSet<per_employee> per_employee { get; set; }
/// <summary> 首次上传文件地址(当医院存在标准库时,首次上传用户提交固定格式的excel,开发人员配置SQL脚本) </summary>
public virtual DbSet<per_first> per_first { get; set; }
/// <summary> 上传数据解析 </summary>
public virtual DbSet<per_sheet> per_sheet { get; set; }
/// <summary> </summary>
public virtual DbSet<rep_group> rep_group { get; set; }
/// <summary> </summary>
public virtual DbSet<rep_group_selection> rep_group_selection { get; set; }
/// <summary> 导入报表SQL配置 </summary>
public virtual DbSet<rep_importconfig> rep_importconfig { get; set; }
/// <summary> 报表配置表 </summary>
public virtual DbSet<rep_report> rep_report { get; set; }
/// <summary> 条件表 </summary>
public virtual DbSet<rep_selection> rep_selection { get; set; }
/// <summary> </summary>
public virtual DbSet<report_global> report_global { get; set; }
public virtual DbSet<report_original_surgery> report_original_surgery { get; set; }
public virtual DbSet<report_original_stays> report_original_stays { get; set; }
/// <summary> 医院门诊住院人次 </summary>
public virtual DbSet<report_original_persontime> report_original_persontime { get; set; }
/// <summary> 医院门诊住院人次 </summary>
public virtual DbSet<report_original_stays> report_original_stays { get; set; }
/// <summary> 医院手术人次 </summary>
public virtual DbSet<report_original_surgery> report_original_surgery { get; set; }
/// <summary> </summary>
public virtual DbSet<report_original_workload> report_original_workload { get; set; }
/// <summary> </summary>
public virtual DbSet<report_performance_category> report_performance_category { get; set; }
/// <summary> </summary>
public virtual DbSet<report_performance_person_tags> report_performance_person_tags { get; set; }
/// <summary> </summary>
public virtual DbSet<report_performance_tags> report_performance_tags { get; set; }
/// <summary> 科室核算结果 </summary>
public virtual DbSet<res_account> res_account { get; set; }
/// <summary> 医生科室核算结果 </summary>
public virtual DbSet<res_accountdoctor> res_accountdoctor { get; set; }
/// <summary> 护理科室核算结果 </summary>
public virtual DbSet<res_accountnurse> res_accountnurse { get; set; }
/// <summary> 核算基础标准 </summary>
public virtual DbSet<res_baiscnorm> res_baiscnorm { get; set; }
/// <summary> </summary>
public virtual DbSet<res_compute> res_compute { get; set; }
/// <summary> </summary>
public virtual DbSet<res_reserved> res_reserved { get; set; }
/// <summary> </summary>
public virtual DbSet<res_specialunit> res_specialunit { get; set; }
/// <summary> 医院数据提取脚本 </summary>
public virtual DbSet<sys_extract> sys_extract { get; set; }
/// <summary> 医院信息 </summary>
public virtual DbSet<sys_hospital> sys_hospital { get; set; }
/// <summary> </summary>
public virtual DbSet<sys_hospitalconfig> sys_hospitalconfig { get; set; }
/// <summary> 菜单表 </summary>
public virtual DbSet<sys_menu> sys_menu { get; set; }
/// <summary> 角色表 </summary>
public virtual DbSet<sys_role> sys_role { get; set; }
/// <summary> 角色菜单关联表 </summary>
public virtual DbSet<sys_role_menu> sys_role_menu { get; set; }
/// <summary> </summary>
public virtual DbSet<sys_sms> sys_sms { get; set; }
/// <summary> </summary>
public virtual DbSet<sys_task> sys_task { get; set; }
/// <summary> </summary>
public virtual DbSet<sys_user> sys_user { get; set; }
/// <summary> </summary>
public virtual DbSet<sys_user_hospital> sys_user_hospital { get; set; }
/// <summary> 用户角色关联表 </summary>
public virtual DbSet<sys_user_role> sys_user_role { get; set; }
}
......
......@@ -30,6 +30,10 @@ public class ag_compute
/// 二次绩效ID
/// </summary>
public Nullable<int> SecondId { get; set; }
/// <summary>
/// 科室类型
/// </summary>
public string UnitType { get; set; }
/// <summary>
......@@ -58,12 +62,17 @@ public class ag_compute
public Nullable<decimal> PerforSumFee { get; set; }
/// <summary>
/// 管理绩效
/// </summary>
public Nullable<decimal> PerforManagementFee { get; set; }
/// <summary>
/// 医院其他绩效
/// </summary>
public Nullable<decimal> OthePerfor { get; set; }
/// <summary>
/// 实发绩效工资金额
/// 夜班工作量绩效
/// </summary>
public Nullable<decimal> NightWorkPerfor { get; set; }
......
......@@ -57,6 +57,26 @@ public class ag_secondallot
public Nullable<decimal> RealGiveFee { get; set; }
/// <summary>
/// 效率绩效
/// </summary>
public Nullable<decimal> Efficiency { get; set; }
/// <summary>
/// 规模绩效
/// </summary>
public Nullable<decimal> Scale { get; set; }
/// <summary>
/// 发放系数
/// </summary>
public Nullable<decimal> Grant { get; set; }
/// <summary>
/// 应发管理绩效
/// </summary>
public Nullable<decimal> ShouldGiveFee { get; set; }
/// <summary>
/// 状态 1 未提交 2 等待审核 3 审核通过 4 驳回
/// </summary>
public Nullable<int> Status { get; set; }
......@@ -87,11 +107,6 @@ public class ag_secondallot
public string Remark { get; set; }
/// <summary>
/// 护理部审核状态 1 未提交 2 等待审核 3 审核通过 4 驳回
/// </summary>
public Nullable<int> NursingDeptStatus { get; set; }
/// <summary>
/// 护理部审核时间
/// </summary>
public Nullable<DateTime> NursingDeptAuditTime { get; set; }
......@@ -105,5 +120,14 @@ public class ag_secondallot
/// 护理部备注
/// </summary>
public string NursingDeptRemark { get; set; }
/// <summary>
/// 护理部审核状态 2 等待审核 3 审核通过 4 驳回
/// </summary>
public Nullable<int> NursingDeptStatus { get; set; }
/// <summary>
/// 夜班绩效
/// </summary>
public decimal? NightShiftWorkPerforFee { get; set; }
}
}
////-----------------------------------------------------------------------
//// <copyright file=" cof_cmi.cs">
//// * FileName: .cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using System.ComponentModel.DataAnnotations;
//using System.ComponentModel.DataAnnotations.Schema;
//-----------------------------------------------------------------------
// <copyright file=" cof_cmi.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
//namespace Performance.EntityModels
//{
// /// <summary>
// ///
// /// </summary>
// [Table("cof_cmi")]
// public class cof_cmi
// {
// /// <summary>
// ///
// /// </summary>
// [Key]
// public int Id { get; set; }
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("cof_cmi")]
public class cof_cmi
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
// /// <summary>
// ///
// /// </summary>
// public int AllotId { get; set; }
/// <summary>
///
/// </summary>
public int AllotId { get; set; }
// /// <summary>
// ///
// /// </summary>
// public int UnitType { get; set; }
/// <summary>
///
/// </summary>
public int UnitType { get; set; }
// /// <summary>
// ///
// /// </summary>
// public string AccountingUnit { get; set; }
/// <summary>
///
/// </summary>
public string AccountingUnit { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<decimal> Value { get; set; }
// }
//}
/// <summary>
///
/// </summary>
public Nullable<decimal> Value { get; set; }
}
}
////-----------------------------------------------------------------------
//// <copyright file=" cof_drugprop.cs">
//// * FileName: 工作量门诊药占比系数.cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using System.ComponentModel.DataAnnotations;
//using System.ComponentModel.DataAnnotations.Schema;
//-----------------------------------------------------------------------
// <copyright file=" cof_drugprop.cs">
// * FileName: 工作量门诊药占比系数.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
//namespace Performance.EntityModels
//{
// /// <summary>
// /// 工作量门诊药占比系数
// /// </summary>
// [Table("cof_drugprop")]
// public class cof_drugprop
// {
// /// <summary>
// ///
// /// </summary>
// [Key]
// public int ID { get; set; }
namespace Performance.EntityModels
{
/// <summary>
/// 工作量门诊药占比系数
/// </summary>
[Table("cof_drugprop")]
public class cof_drugprop
{
/// <summary>
///
/// </summary>
[Key]
public int ID { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<int> AllotID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotID { get; set; }
// /// <summary>
// /// 药占比最大范围(小于)
// /// </summary>
// public Nullable<decimal> MaxRange { get; set; }
/// <summary>
/// 药占比最大范围(小于)
/// </summary>
public Nullable<decimal> MaxRange { get; set; }
// /// <summary>
// /// 药占比最小范围(大于等于)
// /// </summary>
// public Nullable<decimal> MinRange { get; set; }
/// <summary>
/// 药占比最小范围(大于等于)
/// </summary>
public Nullable<decimal> MinRange { get; set; }
// /// <summary>
// /// 药占比对应系数
// /// </summary>
// public Nullable<decimal> Value { get; set; }
// }
//}
/// <summary>
/// 药占比对应系数
/// </summary>
public Nullable<decimal> Value { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" cof_hrp_department.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("cof_hrp_department")]
public class cof_hrp_department
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
///
/// </summary>
public int HospitalId { get; set; }
/// <summary>
///
/// </summary>
public int AllotId { get; set; }
/// <summary>
/// HRP人员科室
/// </summary>
public string HRPDepartment { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" cof_workloadtype.cs">
// * FileName: 工作量分类.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
/// 工作量分类
/// </summary>
[Table("cof_workloadtype")]
public class cof_workloadtype
{
/// <summary>
///
/// </summary>
[Key]
public int ID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotID { get; set; }
/// <summary>
///
/// </summary>
public string SourceType { get; set; }
/// <summary>
/// 名称
/// </summary>
public string Original { get; set; }
/// <summary>
/// 类别
/// </summary>
public string Category { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" ag_data.cs">
// * FileName: 二次分配不固定数据.cs
// <copyright file=" collect_data.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
......@@ -10,7 +10,7 @@
namespace Performance.EntityModels
{
/// <summary>
/// 采集数据
///
/// </summary>
[Table("collect_data")]
public class collect_data
......@@ -32,7 +32,7 @@ public class collect_data
public string SheetName { get; set; }
/// <summary>
///
/// 核算单元类别 1 医生组 2护理组 3医技组
/// </summary>
public string UnitType { get; set; }
......@@ -45,30 +45,37 @@ public class collect_data
/// 人员姓名
/// </summary>
public string EmployeeName { get; set; }
/// <summary>
/// 人员工号
/// </summary>
public string JobNumber { get; set; }
/// <summary>
/// 核算单元名称 医技
/// 核算单元名称医技
/// </summary>
public string AccountingUnitTechnician { get; set; }
/// <summary>
/// 核算单元名称 护士
/// 核算单元名称护士
/// </summary>
public string AccountingUnitNurse { get; set; }
/// <summary>
/// 核算单元名称 医生
/// 核算单元名称医生
/// </summary>
public string AccountingUnitDoctor { get; set; }
/// <summary>
/// 科室名称
/// </summary>
public string Department { get; set; }
/// <summary>
/// 列头类型名称
/// </summary>
public string TypeName { get; set; }
/// <summary>
/// 单元格value
/// </summary>
......
//-----------------------------------------------------------------------
// <copyright file=" ag_data.cs">
// * FileName: 二次分配不固定数据.cs
// <copyright file=" collect_permission.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
......@@ -19,7 +19,7 @@ public class collect_permission
///
/// </summary>
[Key]
public int ID { get; set; }
public int Id { get; set; }
/// <summary>
///
......@@ -32,7 +32,12 @@ public class collect_permission
public int UserId { get; set; }
/// <summary>
/// 列头类型名称
///
/// </summary>
public int SheetType { get; set; }
/// <summary>
///
/// </summary>
public string SheetName { get; set; }
......@@ -42,18 +47,18 @@ public class collect_permission
public string HeadName { get; set; }
/// <summary>
/// 0 可读可写 1 只读
/// 0 可 1 只读
/// </summary>
public int? Readnoly { get; set; }
public int Visible { get; set; }
/// <summary>
/// 是否附带上次绩效 0 不附带 1 附带
/// 0 可读可写 1 只读
/// </summary>
public int AttachLast { get; set; }
public int SheetType { get; set; }
public int Readnoly { get; set; }
/// <summary>
/// 0 可见 1 不可见
/// 是否附带上次绩效 0 附带 1 不附带
/// </summary>
public int Visible { get; set; }
public int AttachLast { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file="cust_script.cs">
// * FileName: cust_script.cs
// <copyright file=" cust_script.cs">
// * FileName: 自定义导出.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
......@@ -19,26 +19,38 @@ public class cust_script
///
/// </summary>
[Key]
public int ID { get; set; }
public int Id { get; set; }
/// <summary>
/// 医院ID
/// </summary>
public int HospitalId { get; set; }
/// <summary>
/// 是否允许一次分配下载 1 允许 2 禁止
/// </summary>
public int IsOnceAllot { get; set; }
/// <summary>
/// 是否允许二次分配下载 1 允许 2 禁止
/// </summary>
public int IsSecondAllot { get; set; }
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
/// <summary>
///
/// </summary>
public string Script { get; set; }
/// <summary>
/// 配置Id
/// </summary>
public int ConfigId { get; set; }
/// <summary>
/// 是否可用 1 可用 2 不可用
/// </summary>
......
//-----------------------------------------------------------------------
// <copyright file=" his_data.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("his_data")]
public class his_data
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
///
/// </summary>
public int HospitalId { get; set; }
/// <summary>
///
/// </summary>
public int AllotId { get; set; }
/// <summary>
///
/// </summary>
public int Year { get; set; }
/// <summary>
///
/// </summary>
public int Month { get; set; }
/// <summary>
/// His科室
/// </summary>
public string HisDepartment { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 医生姓名
/// </summary>
public string PersonnelName { get; set; }
/// <summary>
/// 人员工号
/// </summary>
public string PersonnelNumber { get; set; }
/// <summary>
/// 来源
/// </summary>
public string SourceType { get; set; }
/// <summary>
/// 费用类型
/// </summary>
public string Category { get; set; }
/// <summary>
/// 原始分类
/// </summary>
public string Original { get; set; }
/// <summary>
/// 标准分类
/// </summary>
public string ItemName { get; set; }
/// <summary>
/// 费用
/// </summary>
public Nullable<decimal> Value { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_import_account.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("his_import_account")]
public class his_import_account
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
/// 医院ID
/// </summary>
public int HospitalId { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotId { get; set; }
/// <summary>
/// 绩效发放年
/// </summary>
public int Year { get; set; }
/// <summary>
/// 绩效发放月
/// </summary>
public int Month { get; set; }
/// <summary>
///
/// </summary>
public string UnitType { get; set; }
/// <summary>
///
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
///
/// </summary>
public Nullable<decimal> Number { get; set; }
/// <summary>
///
/// </summary>
public Nullable<decimal> RealGiveFee { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_import_baiscnorm.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("his_import_baiscnorm")]
public class his_import_baiscnorm
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> HospitalId { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotId { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> Year { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> Month { get; set; }
/// <summary>
/// 绩效核算人群
/// </summary>
public string PositionName { get; set; }
/// <summary>
/// 绩效总额
/// </summary>
public Nullable<decimal> TotelValue { get; set; }
/// <summary>
/// 人均绩效
/// </summary>
public Nullable<decimal> AvgValue { get; set; }
/// <summary>
/// 总人数
/// </summary>
public Nullable<decimal> TotelNumber { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_import_clinic.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("his_import_clinic")]
public class his_import_clinic
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
/// 医院ID
/// </summary>
public int HospitalId { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotId { get; set; }
/// <summary>
/// 绩效发放年
/// </summary>
public int Year { get; set; }
/// <summary>
/// 绩效发放月
/// </summary>
public int Month { get; set; }
/// <summary>
///
/// </summary>
public string UnitType { get; set; }
/// <summary>
/// 核算单元类型(医技科室、临床科室等)
/// </summary>
public string AccountType { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 工号
/// </summary>
public string JobNumber { get; set; }
/// <summary>
/// 人员姓名
/// </summary>
public string EmployeeName { get; set; }
/// <summary>
/// 基础绩效系数
/// </summary>
public Nullable<decimal> Basics { get; set; }
/// <summary>
/// 实发绩效
/// </summary>
public Nullable<decimal> RealGiveFee { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_import_summary.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("his_import_summary")]
public class his_import_summary
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
/// 医院ID
/// </summary>
public int HospitalId { get; set; }
/// <summary>
/// ID
/// </summary>
public int AllotId { get; set; }
/// <summary>
/// 绩效发放年
/// </summary>
public int Year { get; set; }
/// <summary>
/// 绩效发放月
/// </summary>
public int Month { get; set; }
/// <summary>
///
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
///
/// </summary>
public Nullable<decimal> RealGiveFee { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
}
}
......@@ -85,5 +85,10 @@ public class his_importdata
/// 值
/// </summary>
public Nullable<decimal> Value { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
}
}
......@@ -46,10 +46,10 @@ public class im_accountbasic
/// </summary>
public string NurseAccountingUnit { get; set; }
///// <summary>
///// 科室
///// </summary>
//public string Department { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 是否带入平均计算 是 否
......@@ -61,10 +61,10 @@ public class im_accountbasic
/// </summary>
public Nullable<decimal> PermanentStaff { get; set; }
///// <summary>
///// 科主任数量
///// </summary>
//public Nullable<decimal> DoctorDirectorNumber { get; set; }
/// <summary>
/// 科主任数量
/// </summary>
public Nullable<decimal> DoctorDirectorNumber { get; set; }
/// <summary>
/// 核算单元医生数量
......@@ -76,10 +76,10 @@ public class im_accountbasic
/// </summary>
public Nullable<decimal> DoctorBasicFactor { get; set; }
///// <summary>
///// 倾斜系数
///// </summary>
//public Nullable<decimal> DoctorSlopeFactor { get; set; }
/// <summary>
/// 倾斜系数
/// </summary>
public Nullable<decimal> DoctorSlopeFactor { get; set; }
/// <summary>
/// 规模绩效系数
......@@ -116,9 +116,9 @@ public class im_accountbasic
/// </summary>
public Nullable<decimal> MaterialsExtra { get; set; }
///// <summary>
///// 医院奖罚
///// </summary>
/// <summary>
/// 医院奖罚
/// </summary>
public Nullable<decimal> DoctorExtra { get; set; }
/// <summary>
......@@ -141,70 +141,70 @@ public class im_accountbasic
/// </summary>
public Nullable<decimal> MinimumFactor { get; set; }
///// <summary>
///// 护士长人数
///// </summary>
//public Nullable<decimal> NurseHeadNumber { get; set; }
///// <summary>
///// 护士人数
///// </summary>
//public Nullable<decimal> NurseNumber { get; set; }
///// <summary>
///// 护理基础系数
///// </summary>
//public Nullable<decimal> NurseBasicFactor { get; set; }
///// <summary>
///// 倾斜系数
///// </summary>
//public Nullable<decimal> NurseSlopeFactor { get; set; }
///// <summary>
///// 规模绩效系数
///// </summary>
//public Nullable<decimal> NurseScale { get; set; }
///// <summary>
///// 效率绩效系数
///// </summary>
//public Nullable<decimal> NurseEffic { get; set; }
///// <summary>
///// 发放系数
///// </summary>
//public Nullable<decimal> NurseGrant { get; set; }
///// <summary>
///// 其他绩效1
///// </summary>
//public Nullable<decimal> NurseOtherPerfor1 { get; set; }
///// <summary>
///// 其他绩效2
///// </summary>
//public Nullable<decimal> NurseOtherPerfor2 { get; set; }
///// <summary>
///// 医院奖罚
///// </summary>
//public Nullable<decimal> NurseExtra { get; set; }
///// <summary>
///// 考核对分率
///// </summary>
//public Nullable<decimal> NurseScoringAverage { get; set; }
///// <summary>
///// 调节系数
///// </summary>
//public Nullable<decimal> NurseAdjustFactor { get; set; }
///// <summary>
///// 工作量倾斜系数
///// </summary>
//public Nullable<decimal> WorkSlopeFactor { get; set; }
/// <summary>
/// 护士长人数
/// </summary>
public Nullable<decimal> NurseHeadNumber { get; set; }
/// <summary>
/// 护士人数
/// </summary>
public Nullable<decimal> NurseNumber { get; set; }
/// <summary>
/// 护理基础系数
/// </summary>
public Nullable<decimal> NurseBasicFactor { get; set; }
/// <summary>
/// 倾斜系数
/// </summary>
public Nullable<decimal> NurseSlopeFactor { get; set; }
/// <summary>
/// 规模绩效系数
/// </summary>
public Nullable<decimal> NurseScale { get; set; }
/// <summary>
/// 效率绩效系数
/// </summary>
public Nullable<decimal> NurseEffic { get; set; }
/// <summary>
/// 发放系数
/// </summary>
public Nullable<decimal> NurseGrant { get; set; }
/// <summary>
/// 其他绩效1
/// </summary>
public Nullable<decimal> NurseOtherPerfor1 { get; set; }
/// <summary>
/// 其他绩效2
/// </summary>
public Nullable<decimal> NurseOtherPerfor2 { get; set; }
/// <summary>
/// 医院奖罚
/// </summary>
public Nullable<decimal> NurseExtra { get; set; }
/// <summary>
/// 考核对分率
/// </summary>
public Nullable<decimal> NurseScoringAverage { get; set; }
/// <summary>
/// 调节系数
/// </summary>
public Nullable<decimal> NurseAdjustFactor { get; set; }
/// <summary>
/// 工作量倾斜系数
/// </summary>
public Nullable<decimal> WorkSlopeFactor { get; set; }
/// <summary>
///
......@@ -220,10 +220,12 @@ public class im_accountbasic
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
......
......@@ -42,23 +42,24 @@ public class im_data
public Nullable<int> RowNumber { get; set; }
/// <summary>
/// 核算单元名称
/// 人员姓名
/// </summary>
public string AccountingUnit { get; set; }
public string EmployeeName { get; set; }
/// <summary>
/// 科室名称
/// 人员工号
/// </summary>
public string Department { get; set; }
public string JobNumber { get; set; }
/// <summary>
/// 人员姓名
/// 核算单元名称
/// </summary>
public string EmployeeName { get; set; }
public string AccountingUnit { get; set; }
/// <summary>
/// 人员工号
/// 科室名称
/// </summary>
public string JobNumber { get; set; }
public string Department { get; set; }
/// <summary>
/// 列头类型名称
......
......@@ -117,6 +117,21 @@ public class im_employee
public Nullable<decimal> OtherPerfor { get; set; }
/// <summary>
/// 其他绩效2
/// </summary>
public Nullable<decimal> OtherPerfor2 { get; set; }
/// <summary>
/// 其他绩效3
/// </summary>
public Nullable<decimal> OtherPerfor3 { get; set; }
/// <summary>
/// 其他绩效4
/// </summary>
public Nullable<decimal> OtherPerfor4 { get; set; }
/// <summary>
/// 夜班费
/// </summary>
public Nullable<decimal> NightWorkPerfor { get; set; }
......@@ -145,14 +160,17 @@ public class im_employee
///
/// </summary>
public Nullable<int> UpdateUser { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
......
......@@ -72,21 +72,11 @@ public class im_employee_clinic
public Nullable<decimal> Basics { get; set; }
/// <summary>
/// 实际人均绩效
/// </summary>
public Nullable<decimal> FitPeopleValue { get; set; }
/// <summary>
/// 岗位系数
/// </summary>
public Nullable<decimal> PostCoefficient { get; set; }
/// <summary>
/// 效率绩效人数
/// </summary>
public Nullable<decimal> PermanentStaff { get; set; }
/// <summary>
/// 效率绩效系数
/// </summary>
public Nullable<decimal> Efficiency { get; set; }
......@@ -102,11 +92,6 @@ public class im_employee_clinic
public Nullable<decimal> Management { get; set; }
/// <summary>
/// 其他管理绩效
/// </summary>
public Nullable<decimal> OtherManagePerfor { get; set; }
/// <summary>
/// 考核得分率
/// </summary>
public Nullable<decimal> ScoreAverageRate { get; set; }
......@@ -132,6 +117,16 @@ public class im_employee_clinic
public Nullable<decimal> OtherPerfor { get; set; }
/// <summary>
/// 其他管理绩效
/// </summary>
public Nullable<decimal> OtherManagePerfor { get; set; }
/// <summary>
/// 夜班费
/// </summary>
public Nullable<decimal> NightWorkPerfor { get; set; }
/// <summary>
/// 医院奖罚
/// </summary>
public Nullable<decimal> Punishment { get; set; }
......@@ -155,14 +150,27 @@ public class im_employee_clinic
///
/// </summary>
public Nullable<int> UpdateUser { get; set; }
/// <summary>
/// 效率绩效人数
/// </summary>
public Nullable<decimal> PermanentStaff { get; set; }
/// <summary>
/// 实际人均绩效
/// </summary>
public Nullable<decimal> FitPeopleValue { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
......
//-----------------------------------------------------------------------
// <copyright file=" im_employee_clinic.cs">
// <copyright file=" im_employee_logistics.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
......@@ -72,7 +72,7 @@ public class im_employee_logistics
public string PersonnelNumber { get; set; }
/// <summary>
/// 医生姓名
/// 姓名
/// </summary>
public string DoctorName { get; set; }
......@@ -86,11 +86,6 @@ public class im_employee_logistics
/// </summary>
public Nullable<decimal> PostCoefficient { get; set; }
///// <summary>
///// 参加工作时间
///// </summary>
//public Nullable<DateTime> WorkTime { get; set; }
/// <summary>
/// 考核得分率
/// </summary>
......@@ -101,36 +96,11 @@ public class im_employee_logistics
/// </summary>
public Nullable<decimal> Attendance { get; set; }
///// <summary>
///// 核算单元医生数
///// </summary>
//public Nullable<int> PeopleNumber { get; set; }
///// <summary>
///// 工作量绩效
///// </summary>
//public Nullable<decimal> Workload { get; set; }
/// <summary>
/// 其他绩效
/// </summary>
public Nullable<decimal> OtherPerfor { get; set; }
///// <summary>
///// 医院奖罚
///// </summary>
//public Nullable<decimal> Punishment { get; set; }
///// <summary>
///// 调节系数
///// </summary>
//public Nullable<decimal> Adjust { get; set; }
///// <summary>
///// 发放系数
///// </summary>
//public Nullable<decimal> Grant { get; set; }
/// <summary>
///
/// </summary>
......@@ -145,10 +115,12 @@ public class im_employee_logistics
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
......
////-----------------------------------------------------------------------
//// <copyright file=" mod_extract.cs">
//// * FileName: 医院数据提取脚本.cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using System.ComponentModel.DataAnnotations;
//using System.ComponentModel.DataAnnotations.Schema;
//namespace Performance.EntityModels
//{
// /// <summary>
// /// 医院数据提取脚本
// /// </summary>
// [Table("mod_extract")]
// public class mod_extract
// {
// /// <summary>
// ///
// /// </summary>
// [Key]
// public int Id { get; set; }
// /// <summary>
// /// 医院ID
// /// </summary>
// public Nullable<int> HospitalId { get; set; }
// /// <summary>
// /// 当前脚本提取内容名称
// /// </summary>
// public string EName { get; set; }
// /// <summary>
// /// 执行脚本
// /// </summary>
// public string ExecuteScript { get; set; }
// /// <summary>
// /// 当前脚本类型 1 收入整表 2 单项数据提取
// /// </summary>
// public Nullable<int> ExecuteType { get; set; }
// /// <summary>
// /// 数据库来源类型 1 标准库 2 绩效库
// /// </summary>
// public Nullable<int> SourceType { get; set; }
// /// <summary>
// /// 描述
// /// </summary>
// public string Description { get; set; }
// /// <summary>
// /// 是否可用 1 可用 2 不可用
// /// </summary>
// public Nullable<int> IsEnable { get; set; }
// }
//}
//-----------------------------------------------------------------------
// <copyright file=" mod_extract.cs">
// * FileName: 医院数据提取脚本.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
/// 医院数据提取脚本
/// </summary>
[Table("mod_extract")]
public class mod_extract
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
/// 医院ID
/// </summary>
public Nullable<int> HospitalId { get; set; }
/// <summary>
/// 当前脚本提取内容名称
/// </summary>
public string EName { get; set; }
/// <summary>
/// 执行脚本
/// </summary>
public string ExecuteScript { get; set; }
/// <summary>
/// 当前脚本类型 1 收入整表 2 单项数据提取
/// </summary>
public Nullable<int> ExecuteType { get; set; }
/// <summary>
/// 数据库来源类型 1 标准库 2 绩效库
/// </summary>
public Nullable<int> SourceType { get; set; }
/// <summary>
/// 描述
/// </summary>
public string Description { get; set; }
/// <summary>
/// 是否可用 1 可用 2 不可用
/// </summary>
public Nullable<int> IsEnable { get; set; }
}
}
////-----------------------------------------------------------------------
//// <copyright file=" mod_item.cs">
//// * FileName: .cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using System.ComponentModel.DataAnnotations;
//using System.ComponentModel.DataAnnotations.Schema;
//-----------------------------------------------------------------------
// <copyright file=" mod_item.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
//namespace Performance.EntityModels
//{
// /// <summary>
// ///
// /// </summary>
// [Table("mod_item")]
// public class mod_item
// {
// /// <summary>
// ///
// /// </summary>
// [Key]
// public int Id { get; set; }
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("mod_item")]
public class mod_item
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<int> ModuleId { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> ModuleId { get; set; }
// /// <summary>
// /// 绩效考核项
// /// </summary>
// public string ItemName { get; set; }
/// <summary>
/// 绩效考核项
/// </summary>
public string ItemName { get; set; }
// /// <summary>
// /// 默认系数或医生系数
// /// </summary>
// public Nullable<decimal> FactorValue1 { get; set; }
/// <summary>
/// 默认系数或医生系数
/// </summary>
public Nullable<decimal> FactorValue1 { get; set; }
// /// <summary>
// /// 护理系数
// /// </summary>
// public Nullable<decimal> FactorValue2 { get; set; }
/// <summary>
/// 护理系数
/// </summary>
public Nullable<decimal> FactorValue2 { get; set; }
// /// <summary>
// /// 医技系数
// /// </summary>
// public Nullable<decimal> FactorValue3 { get; set; }
/// <summary>
/// 医技系数
/// </summary>
public Nullable<decimal> FactorValue3 { get; set; }
// /// <summary>
// /// 抽取绩效值SQL
// /// </summary>
// public Nullable<int> ExtractId { get; set; }
/// <summary>
/// 抽取绩效值SQL
/// </summary>
public Nullable<int> ExtractId { get; set; }
// /// <summary>
// /// 数据库地址
// /// </summary>
// public Nullable<int> ConfigId { get; set; }
/// <summary>
/// 数据库地址
/// </summary>
public Nullable<int> ConfigId { get; set; }
// /// <summary>
// /// 用户选定抽取范围
// /// </summary>
// public string SelectionRange { get; set; }
/// <summary>
/// 用户选定抽取范围
/// </summary>
public string SelectionRange { get; set; }
// /// <summary>
// /// 只读 0、否 1、是
// /// </summary>
// public Nullable<int> ReadOnly { get; set; }
// }
//}
/// <summary>
/// 只读 0、否 1、是
/// </summary>
public Nullable<int> ReadOnly { get; set; }
}
}
////-----------------------------------------------------------------------
//// <copyright file=" mod_module.cs">
//// * FileName: .cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using System.ComponentModel.DataAnnotations;
//using System.ComponentModel.DataAnnotations.Schema;
//-----------------------------------------------------------------------
// <copyright file=" mod_module.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
//namespace Performance.EntityModels
//{
// /// <summary>
// ///
// /// </summary>
// [Table("mod_module")]
// public class mod_module
// {
// /// <summary>
// ///
// /// </summary>
// [Key]
// public int Id { get; set; }
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("mod_module")]
public class mod_module
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<int> HospitalId { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> HospitalId { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<int> SheetType { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> SheetType { get; set; }
// /// <summary>
// ///
// /// </summary>
// public string ModuleName { get; set; }
/// <summary>
///
/// </summary>
public string ModuleName { get; set; }
// /// <summary>
// ///
// /// </summary>
// public string Description { get; set; }
/// <summary>
///
/// </summary>
public string Description { get; set; }
// /// <summary>
// /// 提取脚本ID
// /// </summary>
// public Nullable<int> ExtractId { get; set; }
/// <summary>
/// 提取脚本ID
/// </summary>
public Nullable<int> ExtractId { get; set; }
// /// <summary>
// /// 数据库地址
// /// </summary>
// public Nullable<int> ConfigId { get; set; }
/// <summary>
/// 数据库地址
/// </summary>
public Nullable<int> ConfigId { get; set; }
// /// <summary>
// /// 只读 0、否 1、是
// /// </summary>
// public Nullable<int> ReadOnly { get; set; }
/// <summary>
/// 只读 0、否 1、是
/// </summary>
public Nullable<int> ReadOnly { get; set; }
// /// <summary>
// /// 是否生成Item 0、否 1、是
// /// </summary>
// public Nullable<int> IsGenerated { get; set; }
// }
//}
/// <summary>
/// 是否生成Item 0、否 1、是
/// </summary>
public Nullable<int> IsGenerated { get; set; }
}
}
////-----------------------------------------------------------------------
//// <copyright file=" mod_special.cs">
//// * FileName: .cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using System.ComponentModel.DataAnnotations;
//using System.ComponentModel.DataAnnotations.Schema;
//namespace Performance.EntityModels
//{
// /// <summary>
// ///
// /// </summary>
// [Table("mod_special")]
// public class mod_special
// {
// /// <summary>
// ///
// /// </summary>
// [Key]
// public int Id { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<int> HospitalId { get; set; }
// /// <summary>
// /// 科室
// /// </summary>
// public string Department { get; set; }
// /// <summary>
// /// 量化指标
// /// </summary>
// public string Target { get; set; }
// /// <summary>
// /// 量化指标绩效分值
// /// </summary>
// public Nullable<decimal> TargetFactor { get; set; }
// /// <summary>
// /// 调节系数
// /// </summary>
// public Nullable<decimal> AdjustFactor { get; set; }
// /// <summary>
// /// 抽取绩效值SQL
// /// </summary>
// public Nullable<int> ExtractId { get; set; }
// /// <summary>
// /// 数据库地址
// /// </summary>
// public Nullable<int> ConfigId { get; set; }
// }
//}
//-----------------------------------------------------------------------
// <copyright file=" mod_special.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("mod_special")]
public class mod_special
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> HospitalId { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 量化指标
/// </summary>
public string Target { get; set; }
/// <summary>
/// 量化指标绩效分值
/// </summary>
public Nullable<decimal> TargetFactor { get; set; }
/// <summary>
/// 调节系数
/// </summary>
public Nullable<decimal> AdjustFactor { get; set; }
/// <summary>
/// 抽取绩效值SQL
/// </summary>
public Nullable<int> ExtractId { get; set; }
/// <summary>
/// 数据库地址
/// </summary>
public Nullable<int> ConfigId { get; set; }
}
}
......@@ -59,7 +59,7 @@ public class per_apr_amount
/// <summary>
/// 状态 1 未提交 2 等待审核 3 审核通过 4 驳回
/// </summary>
public int Status { get; set; }
public Nullable<int> Status { get; set; }
/// <summary>
/// 审核时间
......@@ -72,11 +72,6 @@ public class per_apr_amount
public Nullable<int> AuditUser { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
///
/// </summary>
public Nullable<DateTime> CreateDate { get; set; }
......@@ -85,5 +80,10 @@ public class per_apr_amount
///
/// </summary>
public Nullable<int> CreateUser { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
}
}
......@@ -42,6 +42,16 @@ public class rep_report
public string Title { get; set; }
/// <summary>
/// 查询方法名称
/// </summary>
public string QueryName { get; set; }
/// <summary>
/// 查询参数
/// </summary>
public string QueryArguments { get; set; }
/// <summary>
/// X轴标题
/// </summary>
public string XTitle { get; set; }
......
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// <copyright file=" report_global.cs">
// * FileName: 条件表.cs
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
......@@ -10,7 +10,7 @@
namespace Performance.EntityModels
{
/// <summary>
/// 条件表
///
/// </summary>
[Table("report_global")]
public class report_global
......@@ -32,12 +32,12 @@ public class report_global
public string Category { get; set; }
/// <summary>
/// 年
/// 年
/// </summary>
public Nullable<int> Year { get; set; }
/// <summary>
/// 月
/// 月
/// </summary>
public Nullable<int> Month { get; set; }
......
//-----------------------------------------------------------------------
// <copyright file=" report_original_workload.cs">
// * FileName: .cs
//-----------------------------------------------------------------------
// <copyright file=" report_original_persontime.cs">
// * FileName: 医院门诊住院人次.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
......@@ -10,7 +10,7 @@
namespace Performance.EntityModels
{
/// <summary>
///
/// 医院门诊住院人次
/// </summary>
[Table("report_original_persontime")]
public class report_original_persontime
......@@ -19,7 +19,7 @@ public class report_original_persontime
///
/// </summary>
[Key]
public int Id { get; set; }
public int ID { get; set; }
/// <summary>
///
......
//-----------------------------------------------------------------------
// <copyright file=" report_original_workload.cs">
// * FileName: .cs
//-----------------------------------------------------------------------
// <copyright file=" report_original_stays.cs">
// * FileName: 医院门诊住院人次.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
......@@ -10,7 +10,7 @@
namespace Performance.EntityModels
{
/// <summary>
///
/// 医院门诊住院人次
/// </summary>
[Table("report_original_stays")]
public class report_original_stays
......@@ -19,7 +19,7 @@ public class report_original_stays
///
/// </summary>
[Key]
public int Id { get; set; }
public int ID { get; set; }
/// <summary>
///
......
//-----------------------------------------------------------------------
// <copyright file=" report_original_workload.cs">
// * FileName: .cs
//-----------------------------------------------------------------------
// <copyright file=" report_original_surgery.cs">
// * FileName: 医院手术人次.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
......@@ -10,7 +10,7 @@
namespace Performance.EntityModels
{
/// <summary>
///
/// 医院手术人次
/// </summary>
[Table("report_original_surgery")]
public class report_original_surgery
......@@ -19,7 +19,7 @@ public class report_original_surgery
///
/// </summary>
[Key]
public int Id { get; set; }
public int ID { get; set; }
/// <summary>
///
......
//-----------------------------------------------------------------------
// <copyright file=" report_performance_category.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("report_performance_category")]
public class report_performance_category
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
///
/// </summary>
public int HospitalId { get; set; }
/// <summary>
///
/// </summary>
public int Year { get; set; }
/// <summary>
///
/// </summary>
public int Month { get; set; }
/// <summary>
///
/// </summary>
public string Category { get; set; }
/// <summary>
///
/// </summary>
public string Original { get; set; }
/// <summary>
///
/// </summary>
public string ItemName { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" report_performance_person_tags.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("report_performance_person_tags")]
public class report_performance_person_tags
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
///
/// </summary>
public int HospitalId { get; set; }
/// <summary>
///
/// </summary>
public string UnitType { get; set; }
/// <summary>
///
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
///
/// </summary>
public string PersonnelNumber { get; set; }
/// <summary>
///
/// </summary>
public string PersonnelName { get; set; }
/// <summary>
/// 绩效发放情况
/// </summary>
public string Tag1 { get; set; }
/// <summary>
/// 当月绩效权重
/// </summary>
public string Tag2 { get; set; }
/// <summary>
/// 重点群体对比1
/// </summary>
public string Tag3 { get; set; }
/// <summary>
/// 重点群体对比2
/// </summary>
public string Tag4 { get; set; }
/// <summary>
/// 重点群体对比5
/// </summary>
public string Tag5 { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" report_performance_tags.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("report_performance_tags")]
public class report_performance_tags
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
///
/// </summary>
public int HospitalId { get; set; }
/// <summary>
///
/// </summary>
public string UnitType { get; set; }
/// <summary>
///
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 绩效发放情况
/// </summary>
public string Tag1 { get; set; }
/// <summary>
/// 当月绩效权重
/// </summary>
public string Tag2 { get; set; }
/// <summary>
/// 重点群体对比1
/// </summary>
public string Tag3 { get; set; }
/// <summary>
/// 重点群体对比2
/// </summary>
public string Tag4 { get; set; }
/// <summary>
/// 重点群体对比5
/// </summary>
public string Tag5 { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
}
}
......@@ -51,15 +51,15 @@ public class res_account
/// </summary>
public string IncludeAvgCalculate { get; set; }
///// <summary>
///// 定科人数
///// </summary>
//public Nullable<decimal> PermanentStaff { get; set; }
/// <summary>
/// 定科人数
/// </summary>
public Nullable<decimal> PermanentStaff { get; set; }
///// <summary>
///// 科主任/护士长数量
///// </summary>
//public Nullable<decimal> ManagerNumber { get; set; }
/// <summary>
/// 科主任/护士长数量
/// </summary>
public Nullable<decimal> ManagerNumber { get; set; }
/// <summary>
/// 核算单元医生数量
......@@ -162,35 +162,42 @@ public class res_account
public Nullable<decimal> RealGiveFee { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 变更日志
/// </summary>
public string ChangeLog { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
/// <summary>
/// 考核后绩效
/// </summary>
public Nullable<decimal> AssessLaterPerforTotal { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 变更日志
/// </summary>
public string ChangeLog { get; set; }
/// <summary>
/// 是否需要二次分配
/// </summary>
public string NeedSecondAllot { get; set; }
/// <summary>
/// 夜班绩效
/// </summary>
public Nullable<decimal> NightShiftWorkPerforFee { get; set; }
}
}
......@@ -52,12 +52,12 @@ public class res_compute
public string FitPeople { get; set; }
/// <summary>
/// 绩效基础核算参考值
///
/// </summary>
public Nullable<decimal> FitPeopleValue { get; set; }
/// <summary>
/// 绩效基数核算参考对象取值比例(如临床科室护士*95%)
///
/// </summary>
public Nullable<decimal> FitPeopleRatio { get; set; }
......@@ -92,6 +92,11 @@ public class res_compute
public Nullable<decimal> Avg { get; set; }
/// <summary>
/// 基础绩效系数
/// </summary>
public Nullable<decimal> Basics { get; set; }
/// <summary>
/// 效率绩效(需计算)
/// </summary>
public Nullable<decimal> Efficiency { get; set; }
......@@ -137,6 +142,26 @@ public class res_compute
public Nullable<decimal> OtherPerfor { get; set; }
/// <summary>
/// 其他绩效2(来自人员名单)
/// </summary>
public Nullable<decimal> OtherPerfor2 { get; set; }
/// <summary>
/// 其他绩效3(来自人员名单)
/// </summary>
public Nullable<decimal> OtherPerfor3 { get; set; }
/// <summary>
/// 其他绩效4(来自人员名单)
/// </summary>
public Nullable<decimal> OtherPerfor4 { get; set; }
/// <summary>
/// 其他管理绩效(来自人员名单)
/// </summary>
public Nullable<decimal> OtherManagePerfor { get; set; }
/// <summary>
/// 夜班费
/// </summary>
public Nullable<decimal> NightWorkPerfor { get; set; }
......@@ -197,11 +222,6 @@ public class res_compute
public Nullable<decimal> ManagerNumber { get; set; }
/// <summary>
/// 其他管理绩效
/// </summary>
public Nullable<decimal> OtherManagePerfor { get; set; }
/// <summary>
/// 核算单元人员数量
/// </summary>
public Nullable<decimal> MedicalNumber { get; set; }
......@@ -215,16 +235,19 @@ public class res_compute
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
/// <summary>
/// 是否需要二次分配 是 否
/// 是否需要二次分配
/// </summary>
public string NeedSecondAllot { get; set; }
}
......
......@@ -31,6 +31,9 @@ public class res_reserved
/// </summary>
public int Year { get; set; }
/// <summary>
///
/// </summary>
public string UnitType { get; set; }
/// <summary>
......
......@@ -115,21 +115,29 @@ public class res_specialunit
/// 业绩总绩效
/// </summary>
public Nullable<decimal> ResultsTotalFee { get; set; }
/// <summary>
/// 考核前绩效
/// </summary>
public Nullable<decimal> PerforTotal { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
/// <summary>
/// 夜班绩效
/// </summary>
public Nullable<decimal> NightShiftWorkPerforFee { get; set; }
}
}
......@@ -101,10 +101,10 @@ public class sys_hospital
/// </summary>
public Nullable<int> IsShowSecondDirector { get; set; }
///// <summary>
///// 是否开启行政后勤二次绩效分配 1 启用 2 禁用
///// </summary>
//public Nullable<int> IsOpenLogisticsSecondAllot { get; set; }
/// <summary>
/// 是否开启行政后勤二次绩效分配 1 启用 2 禁用
/// </summary>
public Nullable<int> IsOpenLogisticsSecondAllot { get; set; }
/// <summary>
/// 抽取项目是否在同一环境 1 是 2 否
......
using System;
using System.Collections.Generic;
using System.Text;
using Performance.EntityModels;
namespace Performance.Repository.Repository
{
public partial class PerforCofHrpDeptRepository:PerforRepository<cof_hrp_department>
{
public PerforCofHrpDeptRepository(PerformanceDbContext context) : base(context)
{
}
}
}
////-----------------------------------------------------------------------
//// <copyright file=" cof_cmi.cs">
//// * FileName: cof_cmi.cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using Performance.EntityModels;
//-----------------------------------------------------------------------
// <copyright file=" cof_cmi.cs">
// * FileName: cof_cmi.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
//namespace Performance.Repository
//{
// /// <summary>
// /// cof_cmi Repository
// /// </summary>
// public partial class PerforCofcmiRepository : PerforRepository<cof_cmi>
// {
// public PerforCofcmiRepository(PerformanceDbContext context) : base(context)
// {
// }
// }
//}
namespace Performance.Repository
{
/// <summary>
/// cof_cmi Repository
/// </summary>
public partial class PerforCofcmiRepository : PerforRepository<cof_cmi>
{
public PerforCofcmiRepository(PerformanceDbContext context) : base(context)
{
}
}
}
////-----------------------------------------------------------------------
//// <copyright file=" cof_drugprop.cs">
//// * FileName: cof_drugprop.cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using Performance.EntityModels;
//-----------------------------------------------------------------------
// <copyright file=" cof_drugprop.cs">
// * FileName: cof_drugprop.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
//namespace Performance.Repository
//{
// /// <summary>
// /// cof_drugprop Repository
// /// </summary>
// public partial class PerforCofdrugpropRepository : PerforRepository<cof_drugprop>
// {
// public PerforCofdrugpropRepository(PerformanceDbContext context) : base(context)
// {
// }
// }
//}
namespace Performance.Repository
{
/// <summary>
/// cof_drugprop Repository
/// </summary>
public partial class PerforCofdrugpropRepository : PerforRepository<cof_drugprop>
{
public PerforCofdrugpropRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" cof_hrp_department.cs">
// * FileName: cof_hrp_department.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// cof_hrp_department Repository
/// </summary>
public partial class PerforCofhrpdepartmentRepository : PerforRepository<cof_hrp_department>
{
public PerforCofhrpdepartmentRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" cof_workloadtype.cs">
// * FileName: cof_workloadtype.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// cof_workloadtype Repository
/// </summary>
public partial class PerforCofworkloadtypeRepository : PerforRepository<cof_workloadtype>
{
public PerforCofworkloadtypeRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_data.cs">
// * FileName: his_data.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// his_data Repository
/// </summary>
public partial class PerforHisdataRepository : PerforRepository<his_data>
{
public PerforHisdataRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_import_account.cs">
// * FileName: his_import_account.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// his_import_account Repository
/// </summary>
public partial class PerforHisimportaccountRepository : PerforRepository<his_import_account>
{
public PerforHisimportaccountRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_import_baiscnorm.cs">
// * FileName: his_import_baiscnorm.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// his_import_baiscnorm Repository
/// </summary>
public partial class PerforHisimportbaiscnormRepository : PerforRepository<his_import_baiscnorm>
{
public PerforHisimportbaiscnormRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_import_clinic.cs">
// * FileName: his_import_clinic.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// his_import_clinic Repository
/// </summary>
public partial class PerforHisimportclinicRepository : PerforRepository<his_import_clinic>
{
public PerforHisimportclinicRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_import_summary.cs">
// * FileName: his_import_summary.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// his_import_summary Repository
/// </summary>
public partial class PerforHisimportsummaryRepository : PerforRepository<his_import_summary>
{
public PerforHisimportsummaryRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" im_employee_clinic.cs">
// * FileName: im_employee_clinic.cs
// <copyright file=" im_employee_logistics.cs">
// * FileName: im_employee_logistics.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
......@@ -9,7 +9,7 @@
namespace Performance.Repository
{
/// <summary>
/// im_employee_clinic Repository
/// im_employee_logistics Repository
/// </summary>
public partial class PerforImemployeelogisticsRepository : PerforRepository<im_employee_logistics>
{
......
////-----------------------------------------------------------------------
//// <copyright file=" mod_extract.cs">
//// * FileName: mod_extract.cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using Performance.EntityModels;
//-----------------------------------------------------------------------
// <copyright file=" mod_extract.cs">
// * FileName: mod_extract.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
//namespace Performance.Repository
//{
// /// <summary>
// /// mod_extract Repository
// /// </summary>
// public partial class PerforModextractRepository : PerforRepository<mod_extract>
// {
// public PerforModextractRepository(PerformanceDbContext context) : base(context)
// {
// }
// }
//}
namespace Performance.Repository
{
/// <summary>
/// mod_extract Repository
/// </summary>
public partial class PerforModextractRepository : PerforRepository<mod_extract>
{
public PerforModextractRepository(PerformanceDbContext context) : base(context)
{
}
}
}
////-----------------------------------------------------------------------
//// <copyright file=" mod_item.cs">
//// * FileName: mod_item.cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using Performance.EntityModels;
//-----------------------------------------------------------------------
// <copyright file=" mod_item.cs">
// * FileName: mod_item.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
//namespace Performance.Repository
//{
// /// <summary>
// /// mod_item Repository
// /// </summary>
// public partial class PerforModitemRepository : PerforRepository<mod_item>
// {
// public PerforModitemRepository(PerformanceDbContext context) : base(context)
// {
// }
// }
//}
namespace Performance.Repository
{
/// <summary>
/// mod_item Repository
/// </summary>
public partial class PerforModitemRepository : PerforRepository<mod_item>
{
public PerforModitemRepository(PerformanceDbContext context) : base(context)
{
}
}
}
////-----------------------------------------------------------------------
//// <copyright file=" mod_module.cs">
//// * FileName: mod_module.cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using Performance.EntityModels;
//-----------------------------------------------------------------------
// <copyright file=" mod_module.cs">
// * FileName: mod_module.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
//namespace Performance.Repository
//{
// /// <summary>
// /// mod_module Repository
// /// </summary>
// public partial class PerforModmoduleRepository : PerforRepository<mod_module>
// {
// public PerforModmoduleRepository(PerformanceDbContext context) : base(context)
// {
// }
// }
//}
namespace Performance.Repository
{
/// <summary>
/// mod_module Repository
/// </summary>
public partial class PerforModmoduleRepository : PerforRepository<mod_module>
{
public PerforModmoduleRepository(PerformanceDbContext context) : base(context)
{
}
}
}
////-----------------------------------------------------------------------
//// <copyright file=" mod_special.cs">
//// * FileName: mod_special.cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using Performance.EntityModels;
//-----------------------------------------------------------------------
// <copyright file=" mod_special.cs">
// * FileName: mod_special.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
//namespace Performance.Repository
//{
// /// <summary>
// /// mod_special Repository
// /// </summary>
// public partial class PerforModspecialRepository : PerforRepository<mod_special>
// {
// public PerforModspecialRepository(PerformanceDbContext context) : base(context)
// {
// }
// }
//}
namespace Performance.Repository
{
/// <summary>
/// mod_special Repository
/// </summary>
public partial class PerforModspecialRepository : PerforRepository<mod_special>
{
public PerforModspecialRepository(PerformanceDbContext context) : base(context)
{
}
}
}
......@@ -4,7 +4,6 @@
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using Performance.EntityModels;
namespace Performance.Repository
......
//-----------------------------------------------------------------------
// <copyright file=" ag_header.cs">
// * FileName: ag_header.cs
// <copyright file=" report_original_persontime.cs">
// * FileName: report_original_persontime.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
......
//-----------------------------------------------------------------------
// <copyright file=" ag_header.cs">
// * FileName: ag_header.cs
//-----------------------------------------------------------------------
// <copyright file=" report_original_stays.cs">
// * FileName: report_original_stays.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
namespace Performance.Repository
......
//-----------------------------------------------------------------------
// <copyright file=" ag_header.cs">
// * FileName: ag_header.cs
//-----------------------------------------------------------------------
// <copyright file=" report_original_surgery.cs">
// * FileName: report_original_surgery.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
namespace Performance.Repository
......
//-----------------------------------------------------------------------
// <copyright file=" report_performance_category.cs">
// * FileName: report_performance_category.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// report_performance_category Repository
/// </summary>
public partial class PerforReportperformancecategoryRepository : PerforRepository<report_performance_category>
{
public PerforReportperformancecategoryRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" report_performance_person_tags.cs">
// * FileName: report_performance_person_tags.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// report_performance_person_tags Repository
/// </summary>
public partial class PerforReportperformancepersontagsRepository : PerforRepository<report_performance_person_tags>
{
public PerforReportperformancepersontagsRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" report_performance_tags.cs">
// * FileName: report_performance_tags.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// report_performance_tags Repository
/// </summary>
public partial class PerforReportperformancetagsRepository : PerforRepository<report_performance_tags>
{
public PerforReportperformancetagsRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" ag_againsituation.cs">
// * FileName: ag_againsituation.cs
// <copyright file=" collect_data.cs">
// * FileName: collect_data.cs
// </copyright>
//-----------------------------------------------------------------------
using Performance.EntityModels;
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
......
//-----------------------------------------------------------------------
// <copyright file=" ag_againsituation.cs">
// * FileName: ag_againsituation.cs
// <copyright file=" collect_permission.cs">
// * FileName: collect_permission.cs
// </copyright>
//-----------------------------------------------------------------------
using Performance.EntityModels;
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
......
//-----------------------------------------------------------------------
// <copyright file=" ag_againsituation.cs">
// * FileName: ag_againsituation.cs
// <copyright file=" cust_script.cs">
// * FileName: cust_script.cs
// </copyright>
//-----------------------------------------------------------------------
using Performance.EntityModels;
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// collect_data Repository
/// cust_script Repository
/// </summary>
public partial class PerforcustscriptRepository : PerforRepository<cust_script>
public partial class PerforCustscriptRepository : PerforRepository<cust_script>
{
public PerforcustscriptRepository(PerformanceDbContext context) : base(context)
public PerforCustscriptRepository(PerformanceDbContext context) : base(context)
{
}
}
......
//-----------------------------------------------------------------------
// <copyright file=" cof_guarantee.cs">
// * FileName: cof_guarantee.cs
// <copyright file=" res_reserved.cs">
// * FileName: res_reserved.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
......@@ -9,11 +9,11 @@
namespace Performance.Repository
{
/// <summary>
/// cof_guarantee Repository
/// res_reserved Repository
/// </summary>
public partial class PerforresreservedRepository : PerforRepository<res_reserved>
public partial class PerforResreservedRepository : PerforRepository<res_reserved>
{
public PerforresreservedRepository(PerformanceDbContext context) : base(context)
public PerforResreservedRepository(PerformanceDbContext context) : base(context)
{
}
}
......
......@@ -268,6 +268,7 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, per_allot
var economicData = perSheet.FirstOrDefault(t => t.SheetType == SheetType.ComputeEconomic)?.PerData?.Select(t => (PerData)t);
var doctorWorkloadData = perSheet.FirstOrDefault(t => t.SheetType == SheetType.ComputeDoctorWorkload)?.PerData?.Select(t => (PerData)t);
var nurseWorkloadData = perSheet.FirstOrDefault(t => t.SheetType == SheetType.ComputeNurseWorkload)?.PerData?.Select(t => (PerData)t);
var accountExtraData = excel.PerSheet.FirstOrDefault(t => t.SheetType == SheetType.AccountExtra)?.PerData?.Select(t => (PerData)t);
var pairs = new[]
{
......@@ -301,7 +302,10 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, per_allot
}
if (UnitType.医技组 == unitType && workDoctor == null)
workDoctor = info.Data.FirstOrDefault(t => t.UnitType == UnitType.医生组.ToString() && t.AccountingUnit == dept.AccountingUnit);
// 夜班绩效 从医院奖罚的明细项中获取
var nightShift = accountExtraData.FirstOrDefault(w => w.UnitType == dept.UnitType && w.AccountingUnit == dept.AccountingUnit && w.TypeName?.Trim() == "夜班绩效")?.CellValue ?? 0;
dept.NightShiftWorkPerforFee = nightShift;
//dept.MedicineFactor = workDoctor?.MedicineFactor;
//dept.ScoringAverage = scoreAverage.HasValue ? scoreAverage ?? 0 : dept.ScoringAverage;
dept.ScoringAverage = dept.ScoringAverage;
......@@ -325,6 +329,7 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, per_allot
dept.RealGiveFee = Math.Round((dept.AssessLaterPerforTotal * dept.AdjustFactor + dept.AdjustLaterOtherFee) ?? 0);
//dept.Avg = dept.ManagerNumber + dept.Number == 0 ? 0 : dept.PerforTotal / (dept.ManagerNumber + dept.Number);
dept.Avg = dept.Number == 0 ? 0 : dept.PerforTotal / dept.Number;
}
sheet.PerData.AddRange(atDataList);
......@@ -370,28 +375,46 @@ public void ComputeOffice(per_allot allot, PerExcel excel)
//var materialsExtra = materialsExtras.FirstOrDefault(w => w.UnitType == account.AccountType.ToString() && w.AccountingUnit == resAccount.AccountingUnit)?.TotelValue;
var dept = new PerDataAccountBaisc();
//dept.ManagerNumber = resAccount?.ManagerNumber ?? 0;
dept.Number = empolyees.Count();
dept.AccountingUnit = account.AccountingUnit;
dept.UnitType = account.AccountType;
dept.ScoringAverage = resAccount?.ScoringAverage == null ? 0 : resAccount.ScoringAverage;
dept.AdjustFactor = (isBudget ? adjust : resAccount?.AdjustFactor) ?? 1;
dept.Income = empolyees.Sum(w => w.PerforTotal ?? 0);
dept.NeedSecondAllot = empolyees.Any(w => w.NeedSecondAllot == "是") ? "是" : "否";
//dept.Extra = (extra ?? 0);
//dept.MedicineExtra = 0;// (drugExtra ?? 0);
//dept.MaterialsExtra = 0;//(materialsExtra ?? 0);
if (resAccount?.UnitType == UnitType.行政后勤.ToString() && resAccount?.NeedSecondAllot == "是")
{
dept.ScoringAverage = resAccount?.ScoringAverage == null ? 0 : resAccount.ScoringAverage;
dept.AdjustFactor = (isBudget ? adjust : resAccount?.AdjustFactor) ?? 1;
dept.Extra = resAccount?.Extra ?? 0;
dept.MedicineExtra = resAccount?.MedicineExtra ?? 0;// (drugExtra ?? 0);
dept.MaterialsExtra = resAccount?.MaterialsExtra ?? 0;//(materialsExtra ?? 0);
dept.AssessBeforeOtherFee = resAccount?.AssessBeforeOtherFee ?? 0;
dept.AssessLaterOtherFee = resAccount?.AssessLaterOtherFee ?? 0;
dept.AdjustLaterOtherFee = resAccount?.AdjustLaterOtherFee ?? 0;
// 行政后勤 没有 调节后其他绩效
//dept.AdjustLaterOtherFee = resAccount?.AdjustLaterOtherFee ?? 0;
}
else
{
dept.ScoringAverage = 1;
dept.AdjustFactor = 1;
dept.Extra = empolyees?.Sum(w => w.Punishment) ?? 0;
dept.MedicineExtra = 0;// (drugExtra ?? 0);
dept.MaterialsExtra = 0;//(materialsExtra ?? 0);
dept.AssessBeforeOtherFee = empolyees?.Sum(w => w.AssessBeforeOtherFee) ?? 0;
dept.AssessLaterOtherFee = empolyees?.Sum(w => w.AssessLaterOtherFee) ?? 0;
dept.AdjustLaterOtherFee = empolyees?.Sum(w => w.AdjustLaterOtherFee) ?? 0;
}
//dept.Extra = (extra ?? 0);
//dept.MedicineExtra = 0;// (drugExtra ?? 0);
//dept.MaterialsExtra = 0;//(materialsExtra ?? 0);
dept.PerforFee = empolyees.Sum(w => w.PerforTotal ?? 0);
dept.PerforTotal = Math.Round(empolyees.Sum(w => w.GiveFee ?? 0));
dept.RealGiveFee = Math.Round(((dept.PerforTotal * dept.ScoringAverage + dept.MedicineExtra + dept.MaterialsExtra + dept.Extra) * dept.AdjustFactor) ?? 0);
dept.RealGiveFee = Math.Round(((dept.PerforTotal * dept.ScoringAverage + dept.MedicineExtra + dept.MaterialsExtra + dept.Extra) * dept.AdjustFactor + dept.AdjustLaterOtherFee) ?? 0);
//dept.Avg = dept.ManagerNumber + dept.Number == 0 ? 0 : dept.PerforTotal / (dept.ManagerNumber + dept.Number);
dept.Avg = dept.Number == 0 ? 0 : dept.PerforTotal / dept.Number;
......
......@@ -22,7 +22,7 @@ public class ResultComputeService : IAutoInjection
private readonly PerforPerallotRepository perforPerallotRepository;
private readonly PerforAgcomputeRepository perforAgcomputeRepository;
private readonly PerforAgsecondallotRepository perforAgsecondallotRepository;
private readonly PerforresreservedRepository perforresreservedRepository;
private readonly PerforResreservedRepository perforresreservedRepository;
private readonly PerforHospitalRepository hospitalRepository;
private readonly PerforImemployeeRepository perforImEmployeeRepository;
private readonly PerforRescomputeRepository perforRescomputeRepository;
......@@ -48,7 +48,7 @@ public class ResultComputeService : IAutoInjection
PerforPerallotRepository perforPerallotRepository,
PerforAgcomputeRepository perforAgcomputeRepository,
PerforAgsecondallotRepository perforAgsecondallotRepository,
PerforresreservedRepository perforresreservedRepository,
PerforResreservedRepository perforresreservedRepository,
PerforImemployeeclinicRepository perforImemployeeclinicRepository,
PerforImemployeelogisticsRepository perforImemployeelogisticsRepository)
{
......@@ -136,6 +136,7 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
//取出科室
var accountList = excel.PerSheet.FirstOrDefault(t => t.SheetType == SheetType.AccountBasic)?.PerData?.Select(t => (PerDataAccountBaisc)t);
var accountExtraData = excel.PerSheet.FirstOrDefault(t => t.SheetType == SheetType.AccountExtra)?.PerData?.Select(t => (PerData)t);
List<res_specialunit> resDataList = new List<res_specialunit>();
......@@ -173,6 +174,9 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
//var materialsExtra = materialsExtras?.FirstOrDefault(w => w.UnitType == UnitType.特殊核算组.ToString() && w.AccountingUnit == dept?.AccountingUnit)?.TotelValue;
//var scoreAverage = accountScoreAverages?.FirstOrDefault(w => w.UnitType == UnitType.特殊核算组.ToString() && w.AccountingUnit == dept?.AccountingUnit)?.TotelValue;
// 夜班绩效 从医院奖罚的明细项中获取
var nightShift = accountExtraData.FirstOrDefault(w => w.UnitType == dept.UnitType && w.AccountingUnit == dept.AccountingUnit && w.TypeName?.Trim() == "夜班绩效")?.CellValue ?? 0;
decimal? headcount = null;
if (typeList.Any(o => o.Description == item.QuantitativeIndicators))
headcount = group.Number;
......@@ -207,6 +211,7 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
AssessBeforeOtherFee = dept?.AssessBeforeOtherFee ?? 0,
AssessLaterOtherFee = dept?.AssessLaterOtherFee ?? 0,
AdjustLaterOtherFee = dept?.AdjustLaterOtherFee ?? 0,
NightShiftWorkPerforFee = nightShift,
};
res.PerforTotal = (sumValue ?? 0) + res.AssessBeforeOtherFee;
res.GiveFee = Math.Round(res.PerforTotal + res.AssessLaterOtherFee ?? 0);
......@@ -541,6 +546,7 @@ public void GenerateSecondAllot(per_allot allot)
Month = allot.Month,
UnitType = ((UnitType)item.UnitType).ToString(),
Department = item.AccountingUnit,
NightShiftWorkPerforFee = item.NightShiftWorkPerforFee,
RealGiveFee = item.RealGiveFee,
});
}
......@@ -548,7 +554,7 @@ public void GenerateSecondAllot(per_allot allot)
}
if (specialList != null)
{
foreach (var item in specialList.Select(w => new { w.AccountingUnit, w.RealGiveFee }).Distinct())
foreach (var item in specialList.Select(w => new { w.AccountingUnit, w.NightShiftWorkPerforFee, w.RealGiveFee }).Distinct())
{
if (!tempSecond.Any(f => f.UnitType == UnitType.特殊核算组.ToString() && f.Department == item.AccountingUnit))
{
......@@ -559,6 +565,7 @@ public void GenerateSecondAllot(per_allot allot)
Month = allot.Month,
UnitType = UnitType.特殊核算组.ToString(),
Department = item.AccountingUnit,
NightShiftWorkPerforFee = item.NightShiftWorkPerforFee,
RealGiveFee = item.RealGiveFee,
});
}
......@@ -580,13 +587,16 @@ public void GenerateSecondAllot(per_allot allot)
UnitType = item.UnitType,
Department = item.Department,
RealGiveFee = item.RealGiveFee,
NightShiftWorkPerforFee = item.NightShiftWorkPerforFee,
Status = 1,
NursingDeptStatus = 1,
});
}
else
{
if (Math.Abs((second.RealGiveFee ?? 0) - (item.RealGiveFee ?? 0)) >= 0.5m && second.Status > 1)
var backResult = Math.Abs((second.RealGiveFee ?? 0) - (item.RealGiveFee ?? 0)) >= 0.5m
|| Math.Abs((second.NightShiftWorkPerforFee ?? 0) - (item.NightShiftWorkPerforFee ?? 0)) >= 0.5m;
if (backResult && second.Status > 1)
{
second.Status = 4;
second.Remark = "科室绩效结果发生变更,需要重新提交";
......
......@@ -20,95 +20,93 @@ namespace Performance.Services
{
public class AllotService : IAutoInjection
{
private readonly IHostingEnvironment _evn;
private readonly ILogger<AllotService> _logger;
private BaiscNormService baiscNormService;
private CheckDataService checkDataService;
private ImportDataService importDataService;
private ProcessComputService processComputService;
private ResultComputeService resultComputeService;
private PerforLogdbugRepository logdbug;
private readonly PerforResreservedRepository perforresreservedRepository;
private ConfigService configService;
private IHostingEnvironment _evn;
private ILogger<AllotService> _logger;
private PerforPerallotRepository _allotRepository;
private IEmailService emailService;
private readonly IOptions<Application> options;
private readonly ComputeDirector _computeDirector;
private readonly PerforPeragainallotRepository _againallotRepository;
private readonly PerforPerallotRepository _allotRepository;
private readonly PerforImemployeeRepository _perforImEmployeeRepository;
private readonly PerforRescomputeRepository _perforRescomputeRepository;
private readonly PerforLogdbugRepository logdbug;
private readonly PerforresreservedRepository perforresreservedRepository;
private readonly PerforCofdirectorRepository perforCofdirectorRepository;
private readonly PerforImemployeeRepository _perforImEmployeeRepository;
private PerforPeragainallotRepository _againallotRepository;
private PerforLogcheckRepository perforLogcheckRepository;
private readonly PerforHospitalRepository perforHospitalRepository;
private readonly PerforHospitalconfigRepository perforHospitalconfigRepository;
private readonly PerforLogcheckRepository perforLogcheckRepository;
private readonly PerforResbaiscnormRepository perforResbaiscnormRepository;
private readonly BaiscNormService baiscNormService;
private readonly CheckDataService checkDataService;
private readonly ConfigService configService;
private readonly IEmailService emailService;
private readonly ImportDataService importDataService;
//private readonly LogManageService logManageService;
private readonly NotificationsService notificationsService;
private readonly ProcessComputService processComputService;
private readonly QueryDataService queryDataService;
private readonly ReportService reportService;
private readonly ResultComputeService resultComputeService;
private PerforHospitalconfigRepository perforHospitalconfigRepository;
private readonly RoleService roleService;
private readonly UserService userService;
private PerforCofdirectorRepository perforCofdirectorRepository;
//private readonly IHubContext<AllotLogHub> hubContext;
private readonly LogManageService logManageService;
public AllotService(
IHostingEnvironment evn,
ILogger<AllotService> logger,
IOptions<Application> options,
ComputeDirector computeDirector,
PerforPeragainallotRepository againallotRepository,
PerforPerallotRepository allotRepository,
PerforImemployeeRepository perforImEmployeeRepository,
PerforRescomputeRepository perforRescomputeRepository,
PerforLogdbugRepository logdbug,
PerforresreservedRepository perforresreservedRepository,
PerforCofdirectorRepository perforCofdirectorRepository,
PerforHospitalRepository perforHospitalRepository,
PerforHospitalconfigRepository perforHospitalconfigRepository,
PerforLogcheckRepository perforLogcheckRepository,
PerforResbaiscnormRepository perforResbaiscnormRepository,
private readonly ReportService reportService;
private readonly QueryDataService queryDataService;
public AllotService(PerforPerallotRepository allotRepository,
BaiscNormService baiscNormService,
CheckDataService checkDataService,
ConfigService configService,
IEmailService emailService,
ImportDataService importDataService,
//LogManageService logManageService,
NotificationsService notificationsService,
ProcessComputService processComputService,
QueryDataService queryDataService,
ReportService reportService,
ResultComputeService resultComputeService,
ConfigService configService,
PerforLogdbugRepository logdbug,
PerforResreservedRepository perforresreservedRepository,
IHostingEnvironment evn, ILogger<AllotService> logger,
IEmailService emailService,
IOptions<Application> options,
ComputeDirector computeDirector,
PerforRescomputeRepository perforRescomputeRepository,
PerforImemployeeRepository perforImEmployeeRepository,
PerforPeragainallotRepository againallotRepository,
PerforLogcheckRepository perforLogcheckRepository,
PerforHospitalRepository perforHospitalRepository,
PerforResbaiscnormRepository perforResbaiscnormRepository,
PerforHospitalconfigRepository perforHospitalconfigRepository,
//IHubContext<AllotLogHub> hubContext
RoleService roleService,
UserService userService
)
UserService userService,
LogManageService logManageService,
ReportService reportService,
PerforCofdirectorRepository perforCofdirectorRepository,
QueryDataService queryDataService)
{
this._evn = evn;
this._logger = logger;
this.options = options;
this._computeDirector = computeDirector;
this._againallotRepository = againallotRepository;
this._allotRepository = allotRepository;
this._perforImEmployeeRepository = perforImEmployeeRepository;
this._perforRescomputeRepository = perforRescomputeRepository;
this.logdbug = logdbug;
this.perforresreservedRepository = perforresreservedRepository;
this.perforCofdirectorRepository = perforCofdirectorRepository;
this.perforHospitalRepository = perforHospitalRepository;
this.perforHospitalconfigRepository = perforHospitalconfigRepository;
this.perforLogcheckRepository = perforLogcheckRepository;
this.perforResbaiscnormRepository = perforResbaiscnormRepository;
_allotRepository = allotRepository;
_againallotRepository = againallotRepository;
_logger = logger;
_evn = evn;
this.baiscNormService = baiscNormService;
this.checkDataService = checkDataService;
this.configService = configService;
this.emailService = emailService;
this.importDataService = importDataService;
//this.logManageService = logManageService;
this.notificationsService = notificationsService;
this.processComputService = processComputService;
this.queryDataService = queryDataService;
this.reportService = reportService;
this.resultComputeService = resultComputeService;
this.emailService = emailService;
this.options = options;
_computeDirector = computeDirector;
_perforRescomputeRepository = perforRescomputeRepository;
_perforImEmployeeRepository = perforImEmployeeRepository;
this.configService = configService;
this.logdbug = logdbug;
this.perforresreservedRepository = perforresreservedRepository;
this.perforLogcheckRepository = perforLogcheckRepository;
this.perforHospitalRepository = perforHospitalRepository;
this.perforResbaiscnormRepository = perforResbaiscnormRepository;
this.perforHospitalconfigRepository = perforHospitalconfigRepository;
this.roleService = roleService;
this.userService = userService;
//this.hubContext = hubContext;
this.logManageService = logManageService;
this.reportService = reportService;
this.perforCofdirectorRepository = perforCofdirectorRepository;
this.queryDataService = queryDataService;
}
#region 基础功能
......@@ -305,27 +303,25 @@ public per_allot UpdateAllotShowFormula(int allotId)
/// </summary>
/// <param name="allot"></param>
/// <param name="user"></param>
/// <param name="uuid"></param>
/// <param name="userId"></param>
public void Generate(per_allot allot, string mail, string uuid, int userId)
public void Generate(per_allot allot, string mail)
{
DateTime time = DateTime.Now;
try
{
notificationsService.SendGenerateMessage(userId, allot.ID, $"正在生成{allot.Year}-{allot.Month.ToString().PadLeft(2, '0')}月份绩效!");
logManageService.WriteMsg("绩效开始执行", $"正在生成{allot.Year}-{allot.Month.ToString().PadLeft(2, '0')}月份绩效!", 1, allot.ID, "ReceiveMessage", true);
var excel = new PerExcel();
int generate = allot.Generate;
if (new int[] { (int)AllotGenerate.OriginalDataEdited, (int)AllotGenerate.PersonnelOffice }.Contains(allot.Generate))
{
notificationsService.SendGenerateMessage(userId, allot.ID, "绩效开始生成,数据来源:生成成功后被修改的原数据。");
logManageService.WriteMsg("绩效开始执行", $"数据来源:生成成功后被修改的原数据。", 1, allot.ID, "ReceiveMessage", true);
generate = (int)AllotGenerate.Success;
configService.ClearResData(allot.ID);
excel = queryDataService.QueryDataAndHeader(allot);
}
else
{
notificationsService.SendGenerateMessage(userId, allot.ID, "绩效开始生成,数据来源:用户上传的Excel。");
logManageService.WriteMsg("绩效开始执行", $"数据来源:用户上传的Excel。", 1, allot.ID, "ReceiveMessage", true);
configService.Clear(allot.ID);
// 关闭筛选功能
......@@ -352,7 +348,7 @@ public void Generate(per_allot allot, string mail, string uuid, int userId)
//根据当前业绩绩效核算出最终绩效结果
//科室经济核算汇总、工作量汇总
notificationsService.SendGenerateMessage(userId, allot.ID, "科室业绩汇总,正在生成科室收入支出汇总、工作量汇总");
logManageService.WriteMsg("科室业绩汇总", "正在生成科室收入支出汇总、工作量汇总", 1, allot.ID, "ReceiveMessage", true);
var (list, mergeSheets) = processComputService.MergeCompute(excel, allot.ID);
processComputService.Save(list, allot.ID);
......@@ -408,11 +404,11 @@ public void Generate(per_allot allot, string mail, string uuid, int userId)
#endregion 注释
//重新计算科室业绩(含所有提供保底金额)
notificationsService.SendGenerateMessage(userId, allot.ID, $"计算科室业绩分值");
logManageService.WriteMsg("正在生成绩效", "计算科室业绩分", 1, allot.ID, "ReceiveMessage", true);
var sheetLast = processComputService.Compute(excel, mergeSheets, allot);
//保存计算过程数据
notificationsService.SendGenerateMessage(userId, allot.ID, "保存科室业绩结果及计算过程中产生的数据");
logManageService.WriteMsg("正在生成绩效", "保存科室业绩结果及计算过程中产生的数据", 1, allot.ID, "ReceiveMessage", true);
processComputService.Save(sheetLast, allot.ID);
////业务中层行政中高层医院奖罚
......@@ -420,23 +416,23 @@ public void Generate(per_allot allot, string mail, string uuid, int userId)
//var employeeExtra = processComputService.GetEmployeeExtra(excel);
// 计算最总数据
notificationsService.SendGenerateMessage(userId, allot.ID, "计算并保存最终绩效数据");
logManageService.WriteMsg("正在生成绩效", "计算最终绩效数据", 1, allot.ID, "ReceiveMessage", true);
var baiscnormList = resultComputeService.Compute(allot, sheetLast);
// 计算行政科室绩效
processComputService.ComputeOffice(allot, excel);
// 计算特殊科室
notificationsService.SendGenerateMessage(userId, allot.ID, "计算最终特殊科室绩效数据");
logManageService.WriteMsg("正在生成绩效", "计算最终特殊科室绩效数据", 1, allot.ID, "ReceiveMessage", true);
resultComputeService.SpecialUnitCompute(excel, allot, baiscnormList);
notificationsService.SendGenerateMessage(userId, allot.ID, "保存最终特殊科室绩效数据");
logManageService.WriteMsg("正在生成绩效", "保存最终特殊科室绩效数据", 1, allot.ID, "ReceiveMessage", true);
//保存 绩效人均参考标准
notificationsService.SendGenerateMessage(userId, allot.ID, "保存绩效人均参考标准");
logManageService.WriteMsg("正在生成绩效", "保存绩效人均参考标准", 1, allot.ID, "ReceiveMessage", true);
perforResbaiscnormRepository.AddRange(baiscnormList.ToArray());
// 保存预留绩效
notificationsService.SendGenerateMessage(userId, allot.ID, "保存预留绩效金额");
logManageService.WriteMsg("正在生成绩效", "保存预留绩效金额", 1, allot.ID, "ReceiveMessage", true);
resultComputeService.SaveReserved(allot);
// 科室下发
......@@ -445,20 +441,20 @@ public void Generate(per_allot allot, string mail, string uuid, int userId)
UpdateAllotStates(allot.ID, (int)AllotStates.GenerateAccomplish, EnumHelper.GetDescription(AllotStates.GenerateAccomplish), generate);
perforCofdirectorRepository.SupplementaryData(allot.ID);
notificationsService.SendGenerateMessage(userId, allot.ID, "正在生成报表数据");
logManageService.WriteMsg("正在生成报表数据", "正在生成报表数据", 1, allot.ID, "ReceiveMessage", true);
var res = reportService.ImportData(allot);
var flag = reportService.UpdateData(allot);
notificationsService.SendGenerateMessage(userId, allot.ID, "报表数据生成完成,受影响:{res}行");
logManageService.WriteMsg("正在生成报表数据", $"报表数据生成完成;受影响:{res}行", 1, allot.ID, "ReceiveMessage", true);
////发送邮件
//logManageService.WriteMsg("正在发送邮件", "正在发送邮件", 1, allot.ID, "ReceiveMessage", true);
//SendEmail(allot, mail, 1, time);
//logdbug.Add(allot.ID, "绩效开始执行", "绩效生成成功");
notificationsService.SendGenerateMessage(userId, allot.ID, "绩效生成成功", ComponentType.success);
logManageService.WriteMsg("绩效生成结束", "绩效生成成功", 5, allot.ID, "ReceiveMessage", true);
}
catch (Exception ex)
{
notificationsService.SendGenerateMessage(userId, allot.ID, "绩效生成失败", ComponentType.error);
logManageService.WriteMsg("绩效生成失败", ex.Message, 4, allot.ID, "ReceiveMessage");
logdbug.Add(allot.ID, "绩效生成失败", ex.ToString(), 4, 1);
UpdateAllotStates(allot.ID, (int)AllotStates.GenerateFail, EnumHelper.GetDescription(AllotStates.GenerateFail));
//SendEmail(allot, mail, 2, time);
......
......@@ -125,7 +125,7 @@ into emppmss
SheetName = sh.SheetName,
SheetType = sh.SheetType.Value,
HeadName = sh.HeadName,
PermissionId = item?.ID,
PermissionId = item?.Id,
Readnoly = item?.Readnoly ?? 0,
AttachLast = item?.AttachLast ?? 0,
Visible = item?.Visible ?? 0
......@@ -160,7 +160,7 @@ public void SetPermission(int userid, IEnumerable<CollectPermission> collects)
if (data3 != null)
{
var ids = data3.Select(t => t.PermissionId).ToList();
var deletes = perforcollectpermissionRepository.GetEntities(w => ids.Contains(w.ID));
var deletes = perforcollectpermissionRepository.GetEntities(w => ids.Contains(w.Id));
if (deletes != null)
perforcollectpermissionRepository.RemoveRange(deletes.ToArray());
}
......@@ -170,14 +170,14 @@ public void SetPermission(int userid, IEnumerable<CollectPermission> collects)
if (data1 != null)
{
var ids = data1.Select(t => t.PermissionId).ToList();
var updates = perforcollectpermissionRepository.GetEntities(w => ids.Contains(w.ID));
var updates = perforcollectpermissionRepository.GetEntities(w => ids.Contains(w.Id));
if (updates != null)
{
foreach (var item in updates)
{
item.AttachLast = data1.FirstOrDefault(w => w.PermissionId == item.ID).AttachLast;
item.Readnoly = data1.FirstOrDefault(w => w.PermissionId == item.ID).Readnoly;
item.Visible = data1.FirstOrDefault(w => w.PermissionId == item.ID).Visible;
item.AttachLast = data1.FirstOrDefault(w => w.PermissionId == item.Id).AttachLast;
item.Readnoly = data1.FirstOrDefault(w => w.PermissionId == item.Id).Readnoly;
item.Visible = data1.FirstOrDefault(w => w.PermissionId == item.Id).Visible;
}
perforcollectpermissionRepository.UpdateRange(updates.ToArray());
}
......
......@@ -9,6 +9,8 @@
using System.Linq.Expressions;
using System.Text;
using System.Text.RegularExpressions;
using Performance.DtoModels.Request;
using Performance.DtoModels.Response;
namespace Performance.Services
{
......@@ -210,8 +212,15 @@ public List<res_baiscnorm> AllComputeAvg(int allotId, List<ComputeResponse> list
List<res_baiscnorm> avgs = new List<res_baiscnorm>();
var emps = perforPeremployeeRepository.GetEntities(w => w.AllotId == allotId);
var jobCategory = emps?.Select(w => string.IsNullOrEmpty(w.JobCategory) ? "未知" : w.JobCategory).Distinct() ?? new List<string>();
var basicnorm = perforResbaiscnormRepository.GetEntities(t => t.AllotID == allotId);
var position = basicnorm?.Select(t => string.IsNullOrEmpty(t.PositionName) ? "" : t.PositionName).Distinct() ?? new List<string>();
foreach (var item in jobCategory)
{
if (position.Contains(item))
{
avgs.Add(basicnorm.First(t => t.PositionName == item));
continue;
}
var sumfee = (from com in list
join emp in emps?.Where(w => w.JobCategory == item)
on com.JobNumber equals emp.PersonnelNumber
......@@ -302,6 +311,154 @@ public List<DeptResponse> GetOfficePerformance(int allotId)
return other;
}
///// <summary>
///// 返回院领导、中层、工勤组绩效
///// </summary>
///// <param name="allotId">绩效ID</param>
///// <returns></returns>
//public List<DeptResponse> GetAdminPerformance(int allotId)
//{
// var result = new List<DeptResponse>();
// var resData = perforResaccountRepository.GetEntities(t => t.AllotID == allotId);
// if (resData != null && resData.Any())
// {
// result.AddRange(Mapper.Map<List<DeptResponse>>(resData));
// result.ForEach(t =>
// {
// t.UnitName = ((UnitType)t.UnitType).ToString();
// t.AssessLaterPerforTotal = Math.Round((t.PerforTotal * t.ScoringAverage + (t.MedicineExtra ?? 0) + (t.MaterialsExtra ?? 0) + (t.Extra ?? 0) + (t.AssessLaterOtherFee ?? 0)) ?? 0);
// });
// result = result.OrderBy(t => t.UnitType).ThenBy(t => t.AccountingUnit).ToList();
// }
// var list = _perforRescomputeRepository.GetEntities(t => t.AllotID == allotId);
// if (list == null || !list.Any()) return result;
// var isShowManage = IsShowManage(allotId);
// Dictionary<string, string> dict = new Dictionary<string, string>
// {
// { "科主任", "医生组" },
// { "护士长", "护理组" },
// { AccountUnitType.行政高层.ToString(), AccountUnitType.行政高层.ToString() },
// { AccountUnitType.行政中层.ToString(), AccountUnitType.行政中层.ToString() },
// { AccountUnitType.行政工勤.ToString(), AccountUnitType.行政工勤.ToString() }
// };
// var doctors = new string[] { "医生组", "护理组", "医技组" };
// List<DeptResponse> adminPerfor = list.GroupBy(t => new { t.AccountingUnit, t.AccountType, t.UnitType }).Select(t =>
// {
// string unitName = !string.IsNullOrEmpty(t.Key.UnitType) ? t.Key.UnitType : result.Where(w => !dict.Values.Contains(w.UnitName)).FirstOrDefault(w => w.AccountingUnit == t.Key.AccountingUnit)?.UnitName ?? "";
// var data = new DeptResponse
// {
// UnitName = !dict.Values.Contains(unitName) && !string.IsNullOrEmpty(unitName) ? unitName : dict.ContainsKey(t.Key.AccountType) ? dict[t.Key.AccountType] : "未知",
// AccountingUnit = t.Key.AccountingUnit,
// Department = t.Key.AccountingUnit,
// Number = t.Count(),
// };
// if (doctors.Contains(data.UnitName))
// {
// data.AssessLaterManagementFee = isShowManage == 1
// ? t.Sum(group => group.RealGiveFee ?? 0) + t.Sum(group => group.OtherPerfor ?? 0) //实发绩效
// : Math.Round((t.Max(m => m.ShouldGiveFee) * t.Max(m => m.ScoreAverageRate) * t.Max(m => m.Attendance) ?? 0.0M) + t.Max(m => m.Punishment ?? 0.0M)); //考核后管理绩效
// }
// return data;
// }).ToList();
// result.AddRange(adminPerfor);
// var aprAmounts = perapramountRepository.GetEntities(t => t.AllotId == allotId && t.Status == 3) ?? new List<per_apr_amount>();
// var employees = perforPeremployeeRepository.GetEntities(t => t.AllotId == allotId) ?? new List<per_employee>();
// var otherPerformances = aprAmounts.Join(employees,
// outer => new { outer.AccountingUnit, outer.PersonnelNumber },
// inner => new { inner.AccountingUnit, inner.PersonnelNumber },
// (outer, inner) => new
// {
// AccountingUnit = outer.AccountingUnit,
// UnitType = inner.UnitType,
// PersonnelNumber = inner.PersonnelNumber,
// PersonnelName = outer.DoctorName,
// Amount = outer.Amount
// })?.GroupBy(t => new { t.AccountingUnit, t.UnitType }).Select(t => new
// {
// AccountingUnit = t.Key.AccountingUnit,
// UnitType = t.Key.UnitType,
// Amount = t.Sum(s => s.Amount)
// });
// result = result.GroupBy(t => new { t.AccountingUnit, t.UnitName }).Select(t => new DeptResponse
// {
// UnitName = t.Key.UnitName,
// AccountingUnit = t.Key.AccountingUnit,
// Department = t.Key.AccountingUnit,
// PerforFee = t.Sum(group => group.PerforFee),
// WorkloadFee = t.Sum(group => group.WorkloadFee),
// AssessBeforeOtherFee = t.Sum(group => group.AssessBeforeOtherFee),
// ScoringAverage = t.Sum(group => group.ScoringAverage),
// MedicineExtra = t.Sum(group => group.MedicineExtra),
// Extra = t.Sum(group => group.Extra),
// AssessLaterOtherFee = t.Sum(group => group.AssessLaterOtherFee),
// AdjustFactor = t.Max(group => group.AdjustFactor),
// AdjustLaterOtherFee = t.Sum(group => group.AdjustLaterOtherFee),
// PerforTotal = t.Sum(group => group.PerforTotal),
// AssessLaterPerforTotal = t.Sum(group => group.AssessLaterPerforTotal),
// AssessLaterManagementFee = t.Sum(group => group.AssessLaterManagementFee),
// AprPerforAmount = otherPerformances?.FirstOrDefault(w => w.AccountingUnit == t.Key.AccountingUnit && w.UnitType == t.Key.UnitName)?.Amount ?? 0,
// RealGiveFee = t.Sum(group => group.RealGiveFee) + t.Sum(group => group.AssessLaterManagementFee)
// + (otherPerformances?.FirstOrDefault(w => w.AccountingUnit == t.Key.AccountingUnit && w.UnitType == t.Key.UnitName)?.Amount ?? 0),
// }).ToList();
// var specialData = _perforResspecialunitRepository.GetEntities(t => t.AllotID == allotId);
// if (specialData != null && specialData.Any())
// {
// result.AddRange(specialData.GroupBy(t => new { t.AccountingUnit, t.Department }).Select(t =>
// {
// var data = new DeptResponse
// {
// UnitName = "特殊核算组",
// AccountingUnit = t.Key.AccountingUnit,
// Department = t.Key.Department,
// PerforFee = t.Max(max => max.GiveFee),
// WorkloadFee = 0,
// AssessBeforeOtherFee = t.Max(max => max.AssessBeforeOtherFee),
// PerforTotal = t.Max(max => max.PerforTotal),
// ScoringAverage = t.Max(max => max.ScoringAverage),
// MedicineExtra = t.Max(max => max.MedicineExtra),
// MaterialsExtra = t.Max(max => max.MaterialsExtra),
// Extra = 0,
// AssessLaterOtherFee = t.Max(max => max.AssessLaterOtherFee),
// AdjustFactor = t.Max(max => max.Adjust),
// AdjustLaterOtherFee = t.Max(max => max.AdjustLaterOtherFee),
// AssessLaterManagementFee = 0,
// AprPerforAmount = 0,
// RealGiveFee = t.Max(max => max.RealGiveFee),
// };
// data.AssessLaterPerforTotal = Math.Round(((data.PerforTotal * data.ScoringAverage) ?? 0) + (data.MedicineExtra ?? 0) + (data.MaterialsExtra ?? 0) + (data.AssessLaterOtherFee ?? 0));
// return data;
// }));
// }
// var enumItems = EnumHelper.GetItems<AccountUnitType>();
// result = result.OrderBy(t => enumItems.FirstOrDefault(e => e.Name == t.UnitName)?.Value)/*.ThenBy(t => t.AccountingUnit)*/.ToList();
// return result;
//}
/// <summary>
/// 返回院领导、中层、工勤组绩效
/// </summary>
......@@ -310,58 +467,10 @@ public List<DeptResponse> GetOfficePerformance(int allotId)
public List<DeptResponse> GetAdminPerformance(int allotId)
{
var result = new List<DeptResponse>();
var resData = perforResaccountRepository.GetEntities(t => t.AllotID == allotId);
if (resData != null && resData.Any())
{
result.AddRange(Mapper.Map<List<DeptResponse>>(resData));
result.ForEach(t =>
{
t.UnitName = ((UnitType)t.UnitType).ToString();
t.AssessLaterPerforTotal = Math.Round((t.PerforTotal * t.ScoringAverage + t.MedicineExtra + t.MaterialsExtra + t.Extra + t.AssessLaterOtherFee) ?? 0);
});
result = result.OrderBy(t => t.UnitType).ThenBy(t => t.AccountingUnit).ToList();
}
var list = _perforRescomputeRepository.GetEntities(t => t.AllotID == allotId);
if (list == null || !list.Any()) return result;
var isShowManage = IsShowManage(allotId);
Dictionary<string, string> dict = new Dictionary<string, string>
{
{ "科主任", "医生组" },
{ "护士长", "护理组" },
{ AccountUnitType.行政高层.ToString(), AccountUnitType.行政高层.ToString() },
{ AccountUnitType.行政中层.ToString(), AccountUnitType.行政中层.ToString() },
{ AccountUnitType.行政工勤.ToString(), AccountUnitType.行政工勤.ToString() }
};
var doctors = new string[] { "医生组", "护理组", "医技组" };
List<DeptResponse> adminPerfor = list.GroupBy(t => new { t.AccountingUnit, t.AccountType }).Select(t =>
{
string unitName = result.Where(w => !dict.Values.Contains(w.UnitName)).FirstOrDefault(w => w.AccountingUnit == t.Key.AccountingUnit)?.UnitName ?? "";
var data = new DeptResponse
{
UnitName = !dict.Values.Contains(unitName) && !string.IsNullOrEmpty(unitName) ? unitName : dict.ContainsKey(t.Key.AccountType) ? dict[t.Key.AccountType] : "未知",
AccountingUnit = t.Key.AccountingUnit,
Department = t.Key.AccountingUnit,
Number = t.Count(),
};
if (doctors.Contains(data.UnitName))
{
data.AssessLaterManagementFee = isShowManage == 1
? t.Sum(group => group.RealGiveFee ?? 0) + t.Sum(group => group.OtherPerfor ?? 0) //实发绩效
: Math.Round((t.Max(m => m.ShouldGiveFee) * t.Max(m => m.ScoreAverageRate) * t.Max(m => m.Attendance) ?? 0.0M) + t.Max(m => m.Punishment ?? 0.0M)); //考核后管理绩效
}
return data;
}).ToList();
result.AddRange(adminPerfor);
var aprAmounts = perapramountRepository.GetEntities(t => t.AllotId == allotId && t.Status == 3) ?? new List<per_apr_amount>();
var amounts = perapramountRepository.GetEntities(t => t.AllotId == allotId && t.Status == 3) ?? new List<per_apr_amount>();
var employees = perforPeremployeeRepository.GetEntities(t => t.AllotId == allotId) ?? new List<per_employee>();
var otherPerformances = aprAmounts.Join(employees,
// 获取各科室 医院其他绩效
var otherPerformances = amounts.Join(employees,
outer => new { outer.AccountingUnit, outer.PersonnelNumber },
inner => new { inner.AccountingUnit, inner.PersonnelNumber },
(outer, inner) => new
......@@ -378,64 +487,111 @@ public List<DeptResponse> GetAdminPerformance(int allotId)
Amount = t.Sum(s => s.Amount)
});
result = result.GroupBy(t => new { t.AccountingUnit, t.UnitName }).Select(t => new DeptResponse
var clinicalTypes = new UnitType[] { UnitType.医生组, UnitType.其他医生组, UnitType.医技组, UnitType.其他医技组, UnitType.护理组, UnitType.其他护理组, UnitType.特殊核算组 };
var clinicalTypesString = clinicalTypes.Select(w => w.ToString()).ToList();
var clinicalTypesInt = clinicalTypes.Select(w => (int)w).ToList();
var clinicalComputes = _perforRescomputeRepository.GetEntities(t => t.AllotID == allotId && clinicalTypesString.Contains(t.UnitType)) ?? new List<res_compute>();
var clinicalEmployees = _perforImemployeeclinicRepository.GetEntities(t => t.AllotID == allotId && clinicalTypesString.Contains(t.UnitType));
var isShowManage = IsShowManage(allotId);
// 计算 科主任/护士长 管理绩效
clinicalComputes?.ForEach(t =>
{
if (isShowManage == 2)
{
var employee = clinicalEmployees.FirstOrDefault(e => e.PersonnelNumber == t.JobNumber && e.AccountingUnit == t.AccountingUnit);
var scoreAverageRate = t.ScoreAverageRate ?? employee.ScoreAverageRate ?? 1;
var attendance = t.Attendance ?? employee.Attendance ?? 0;
t.GiveFee = (t.ShouldGiveFee ?? 0) * scoreAverageRate * attendance + (t.OtherPerfor ?? 0) + (t.Punishment ?? 0) + (t.AssessLaterOtherFee ?? 0);
t.RealGiveFee = t.GiveFee * (t.Adjust ?? 1m) + (t.AdjustLaterOtherFee ?? 0);
}
});
// 临床科室
var accounts = perforResaccountRepository.GetEntities(t => t.AllotID == allotId && clinicalTypesInt.Contains(t.UnitType.Value)) ?? new List<res_account>();
var clinicalResult = accounts.Select(t => new DeptResponse
{
UnitName = ((UnitType)t.UnitType).ToString(),
AccountingUnit = t.AccountingUnit,
Department = t.AccountingUnit,
PerforFee = t.PerforFee,
WorkloadFee = t.WorkloadFee,
AssessBeforeOtherFee = t.AssessBeforeOtherFee,
PerforTotal = t.PerforTotal,
ScoringAverage = t.ScoringAverage,
Extra = t.Extra,
MedicineExtra = t.MedicineExtra,
MaterialsExtra = t.MaterialsExtra,
AssessLaterOtherFee = t.AssessLaterOtherFee,
AssessLaterPerforTotal = t.AssessLaterPerforTotal,
AdjustFactor = t.AdjustFactor,
AdjustLaterOtherFee = t.AdjustLaterOtherFee,
AssessLaterManagementFee = clinicalComputes?.Where(w => w.AccountingUnit == t.AccountingUnit && w.UnitType == ((UnitType)t.UnitType).ToString())?.Sum(c => c.RealGiveFee),
RealGiveFee = t.RealGiveFee,
});
result.AddRange(clinicalResult);
// 特殊核算组科室
var specialunits = _perforResspecialunitRepository.GetEntities(t => t.AllotID == allotId) ?? new List<res_specialunit>();
var specialResult = specialunits.GroupBy(t => new { t.AccountingUnit }).Select(t => new DeptResponse
{
UnitName = t.Key.UnitName,
UnitName = UnitType.特殊核算组.ToString(),
AccountingUnit = t.Key.AccountingUnit,
Department = t.Key.AccountingUnit,
PerforFee = t.Sum(group => group.PerforFee),
WorkloadFee = t.Sum(group => group.WorkloadFee),
AssessBeforeOtherFee = t.Sum(group => group.AssessBeforeOtherFee),
ScoringAverage = t.Sum(group => group.ScoringAverage),
MedicineExtra = t.Sum(group => group.MedicineExtra),
Extra = t.Sum(group => group.Extra),
AssessLaterOtherFee = t.Sum(group => group.AssessLaterOtherFee),
AdjustFactor = t.Max(group => group.AdjustFactor),
AdjustLaterOtherFee = t.Sum(group => group.AdjustLaterOtherFee),
PerforTotal = t.Sum(group => group.PerforTotal),
AssessLaterPerforTotal = t.Sum(group => group.AssessLaterPerforTotal),
AssessLaterManagementFee = t.Sum(group => group.AssessLaterManagementFee),
AprPerforAmount = otherPerformances?.FirstOrDefault(w => w.AccountingUnit == t.Key.AccountingUnit && w.UnitType == t.Key.UnitName)?.Amount ?? 0,
RealGiveFee = t.Sum(group => group.RealGiveFee) + t.Sum(group => group.AssessLaterManagementFee)
+ (otherPerformances?.FirstOrDefault(w => w.AccountingUnit == t.Key.AccountingUnit && w.UnitType == t.Key.UnitName)?.Amount ?? 0),
}).ToList();
PerforFee = t.Max(w => w.ResultsTotalFee),
WorkloadFee = 0,
AssessBeforeOtherFee = t.Max(w => w.AssessBeforeOtherFee),
PerforTotal = t.Max(w => w.PerforTotal),
ScoringAverage = t.Max(w => w.ScoringAverage),
Extra = t.Max(w => w.Punishment),
MedicineExtra = t.Max(w => w.MedicineExtra),
MaterialsExtra = t.Max(w => w.MaterialsExtra),
AssessLaterOtherFee = t.Max(w => w.AssessLaterOtherFee),
AssessLaterPerforTotal = Math.Round((t.Max(w => w.PerforTotal) * t.Max(w => w.ScoringAverage) + t.Max(w => w.MedicineExtra) + t.Max(w => w.MaterialsExtra) + t.Max(w => w.Punishment) + t.Max(w => w.AssessLaterOtherFee)) ?? 0),
AdjustFactor = t.Max(w => w.Adjust),
AdjustLaterOtherFee = t.Max(w => w.AdjustLaterOtherFee),
AssessLaterManagementFee = clinicalComputes?.Where(w => w.AccountingUnit == t.Key.AccountingUnit && w.UnitType == UnitType.特殊核算组.ToString())?.Sum(c => c.RealGiveFee),
RealGiveFee = t.Max(w => w.RealGiveFee),
}).Distinct();
result.AddRange(specialResult);
var specialData = _perforResspecialunitRepository.GetEntities(t => t.AllotID == allotId);
if (specialData != null && specialData.Any())
{
result.AddRange(specialData.GroupBy(t => new { t.AccountingUnit, t.Department }).Select(t =>
{
var data = new DeptResponse
var officeTypes = new List<string> { "行政工勤", "行政高层", "行政中层" };
var computes = _perforRescomputeRepository.GetEntities(t => t.AllotID == allotId && officeTypes.Contains(t.AccountType)) ?? new List<res_compute>();
var officeResult = computes.GroupBy(t => new { t.AccountingUnit, t.AccountType, t.UnitType }).Select(t => new DeptResponse
{
UnitName = "特殊核算组",
UnitName = t.Key.AccountType == "行政后勤" ? "行政工勤" : t.Key.AccountType,
AccountingUnit = t.Key.AccountingUnit,
Department = t.Key.Department,
PerforFee = t.Max(max => max.GiveFee),
Department = t.Key.AccountingUnit,
PerforFee = 0,
WorkloadFee = 0,
AssessBeforeOtherFee = t.Max(max => max.AssessBeforeOtherFee),
PerforTotal = t.Max(max => max.PerforTotal),
ScoringAverage = t.Max(max => max.ScoringAverage),
MedicineExtra = t.Max(max => max.MedicineExtra),
MaterialsExtra = t.Max(max => max.MaterialsExtra),
AssessBeforeOtherFee = 0,
PerforTotal = t.Sum(w => w.PerforTotal),
ScoringAverage = 1,
Extra = 0,
AssessLaterOtherFee = t.Max(max => max.AssessLaterOtherFee),
AdjustFactor = t.Max(max => max.Adjust),
AdjustLaterOtherFee = t.Max(max => max.AdjustLaterOtherFee),
AssessLaterManagementFee = 0,
AprPerforAmount = 0,
RealGiveFee = t.Max(max => max.RealGiveFee),
};
data.AssessLaterPerforTotal = Math.Round(((data.PerforTotal * data.ScoringAverage) ?? 0) + (data.MedicineExtra ?? 0) + (data.MaterialsExtra ?? 0) + (data.AssessLaterOtherFee ?? 0));
return data;
}));
MedicineExtra = 0,
MaterialsExtra = 0,
AssessLaterOtherFee = 0,
AssessLaterPerforTotal = t.Sum(w => w.GiveFee),
AdjustFactor = t.FirstOrDefault()?.Adjust ?? 1,
AdjustLaterOtherFee = t.Sum(w => w.AdjustLaterOtherFee),
RealGiveFee = t.Sum(w => w.RealGiveFee),
}); ;
result.AddRange(officeResult);
// 医院其他绩效、科主任护士长管理绩效、合并实发
foreach (var item in result)
{
item.AprPerforAmount = otherPerformances?.Where(w => w.AccountingUnit == item.AccountingUnit && w.UnitType == item.UnitName)?.Sum(w => w.Amount) ?? 0;
item.AssessLaterManagementFee = item.AssessLaterManagementFee ?? 0;
item.RealGiveFee = (item.RealGiveFee ?? 0) + item.AssessLaterManagementFee + item.AprPerforAmount;
}
var enumItems = EnumHelper.GetItems<AccountUnitType>();
result = result.OrderBy(t => enumItems.FirstOrDefault(e => e.Name == t.UnitName)?.Value)/*.ThenBy(t => t.AccountingUnit)*/.ToList();
return result;
}
/// <summary>
/// 查看科室绩效
/// </summary>
......@@ -598,7 +754,7 @@ private List<ComputeResponse> GetAllotPerformance(int allotId, int hospitalId, i
//// 业务中层人员信息
//var empolyeeList = _perforImemployeeclinicRepository.GetEntities(t => t.AllotID == allotId);
// 一次绩效 获取特定人员绩效结果
var allot = _perforRescomputeRepository.GetEntities(t => t.AllotID == allotId && mTypes.Contains(t.AccountType))?.OrderByDescending(t => t.AccountingUnit);
var allot = _perforRescomputeRepository.GetEntities(t => t.AllotID == allotId && mTypes.Contains(t.AccountType) && t.NeedSecondAllot == "否")?.OrderByDescending(t => t.AccountingUnit);
//var apramounts = perapramountRepository.GetEntities(t => t.AllotId == allotId);
return allot?.Select(t =>
......@@ -984,7 +1140,7 @@ public DeptDataDetails<DetailModuleExtend> DeptDetail(int accountId)
if (pairs.Contains((SheetType)sheet.SheetType))
{
sheettype = 5;
amount = basicData.Where(t => t.SheetID == sheet.ID && t.UnitType == (int)type && t.IsTotal == 1)?.FirstOrDefault()?.CellValue ?? 0;
amount = basicData?.Where(t => t.SheetID == sheet.ID && t.UnitType == (int)type && t.IsTotal == 1)?.FirstOrDefault()?.CellValue ?? 0;
if (sheet.SheetType != (int)SheetType.BudgetRatio)
amount = Math.Round(amount, 0);
}
......@@ -1416,5 +1572,70 @@ public DeptDataDetails GetDoctorDetail(int computeId)
}
return doctorDetails;
}
public res_baiscnorm EditHospitalAvg(ComputerAvgRequest request)
{
if (request.Id == 0)
{
var baiscnorm = Mapper.Map<res_baiscnorm>(request);
if (!perforResbaiscnormRepository.Add(baiscnorm))
throw new PerformanceException("保存失败");
return Mapper.Map<res_baiscnorm>(baiscnorm);
}
else
{
var baiscnorm = perforResbaiscnormRepository.GetEntity(t => t.ID == request.Id);
if (baiscnorm == null)
throw new PerformanceException($"ID不存在 :{request.Id}");
baiscnorm.TotelNumber = request.TotelNumber;
baiscnorm.TotelValue = request.TotelValue;
baiscnorm.AvgValue = request.AvgValue;
//var baiscnorm = Mapper.Map<res_baiscnorm>(request);
if (!perforResbaiscnormRepository.Update(baiscnorm))
throw new PerformanceException("保存失败");
return Mapper.Map<res_baiscnorm>(baiscnorm);
}
}
public List<Dictionary<string, string>> GetOtherPerStats(List<per_apr_amount> employees)
{
var others = new List<Dictionary<string, string>>();
if (employees == null)
return others;
var perForType = employees.Where(c => c.Status == 3).Select(t => t.PerforType).Distinct();
var doctorNum = employees.Where(c => c.Status == 3).Select(t => t.PersonnelNumber).Distinct().ToList();
if (!doctorNum.Any())
return others;
foreach (var num in doctorNum)
{
var dicData = new Dictionary<string, string>();
var amount = employees.Find(t => t.PersonnelNumber == num);
if (amount == null)
continue;
dicData.Add("核算单元", amount?.AccountingUnit ?? "");
dicData.Add("工号", amount?.PersonnelNumber ?? "");
dicData.Add("人员姓名", amount?.DoctorName ?? "");
foreach (var type in perForType)
{
var emp = employees.Where(t => t.PerforType == type && t.PersonnelNumber == num)?.ToList();
if (!emp.Any())
dicData.Add(type, "0");
else
dicData.Add(type, Math.Round(Convert.ToDecimal(emp?.First()?.Amount), 0).ToString());
}
var sum = employees.Where(c => c.PersonnelNumber == num)?.Sum(t => t.Amount);
dicData.Add("合计", Math.Round(Convert.ToDecimal(sum), 0).ToString());
others.Add(dicData);
}
return others;
}
}
}
......@@ -9,6 +9,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Performance.Repository.Repository;
namespace Performance.Services
{
......@@ -27,6 +28,7 @@ public class ConfigService : IAutoInjection
private PerforCofdepttypeRepository perforCofdepttypeRepository;
private PerforPerapramountRepository perapramountRepository;
//private PerforCofcmiRepository perforCofcmiRepository;
private PerforCofHrpDeptRepository perforCofHrpDeptRepository;
private PersonService personService;
private LogManageService logManageService;
private ILogger<ConfigService> logger;
......@@ -43,6 +45,7 @@ public class ConfigService : IAutoInjection
PerforCofdepttypeRepository perforCofdepttypeRepository,
PerforPerapramountRepository perapramountRepository,
//PerforCofcmiRepository perforCofcmiRepository,
PerforCofHrpDeptRepository perforCofHrpDeptRepository,
PersonService personService,
LogManageService logManageService,
ILogger<ConfigService> logger)
......@@ -59,6 +62,7 @@ public class ConfigService : IAutoInjection
this.perforCofdepttypeRepository = perforCofdepttypeRepository;
this.perapramountRepository = perapramountRepository;
//this.perforCofcmiRepository = perforCofcmiRepository;
this.perforCofHrpDeptRepository = perforCofHrpDeptRepository;
this.personService = personService;
this.logManageService = logManageService;
this.logger = logger;
......@@ -834,6 +838,95 @@ private void CopyAprData(int prevAllotId, int allotId)
}
}
public HandsonTable GetHrpDeptHands(int HospitalId,int AllotId)
{
var result = new HandsonTable((int)SheetType.Unidentifiable, HrpDept.Select(t => t.Value).ToArray(), HrpDept.Select(t => new collect_permission
{
HeadName = t.Value,
Visible = 1
}).ToList());
var data = perforCofHrpDeptRepository.GetEntities(t => t.HospitalId == HospitalId && t.AllotId == AllotId);
if (data == null)
return result;
List<HandsonRowData> rowDatas = new List<HandsonRowData>();
int i = 1;
foreach (var item in data)
{
var json = JsonHelper.Serialize(item);
var firstDic = JsonHelper.Deserialize<Dictionary<string, string>>(json);
var cells = (from conf in HrpDept join fst in firstDic on conf.Key.ToUpper() equals fst.Key.ToUpper() select new HandsonCellData(conf.Value, fst.Value)).ToList();
rowDatas.Add(new HandsonRowData(i, cells));
i++;
}
result.SetRowData(rowDatas, rowDatas != null);
return result;
}
public void SaveDepttypeHands(int hospitalId, int allotId,SaveCollectData request)
{
var dicData = CreateDataRow(hospitalId,allotId, request, HrpDept);
List<cof_hrp_department> depts = new List<cof_hrp_department>();
foreach (var item in dicData)
{
var json = JsonHelper.Serialize(item);
var data = JsonHelper.Deserialize<cof_hrp_department>(json);
if (!string.IsNullOrEmpty(data.HRPDepartment) && !string.IsNullOrEmpty(data.AccountingUnit))
{
data.HospitalId = hospitalId;
data.AllotId = allotId;
depts.Add(data);
}
}
perforCofHrpDeptRepository.Execute("delete from cof_hrp_department where HospitalId=@hospitalId and allotid = @allotid"
, new {hospitalId, allotId });
perforCofHrpDeptRepository.AddRange(depts.ToArray());
}
private List<Dictionary<string, string>> CreateDataRow(int hospitalId, int allotId, SaveCollectData request, Dictionary<string, string> config)
{
List<Dictionary<string, string>> allData = new List<Dictionary<string, string>>();
for (int r = 0; r < request.Data.Length; r++)
{
// 创建固定数据列
Dictionary<string, string> baseData = CreateBaseData(request, config, r);
baseData.Add(nameof(cof_hrp_department.AllotId), allotId.ToString());
baseData.Add(nameof(cof_hrp_department.HospitalId),hospitalId.ToString());
allData.Add(baseData);
}
return allData;
}
private Dictionary<string, string> CreateBaseData(SaveCollectData request, Dictionary<string, string> config, int rownumber)
{
Dictionary<string, string> result = new Dictionary<string, string>();
for (int c = 0; c < request.ColHeaders.Length; c++)
{
var header = request.ColHeaders[c];
var first = config.FirstOrDefault(w => w.Value == header);
if (!default(KeyValuePair<string, string>).Equals(first)
&& !result.ContainsKey(header)
&& request.Data[rownumber].Length > c)
{
result.Add(first.Key, request.Data[rownumber][c]);
}
}
return result;
}
public static Dictionary<string, string> HrpDept { get; } = new Dictionary<string, string>
{
{nameof(cof_hrp_department.HRPDepartment), "hrp人员科室"},
{nameof(cof_hrp_department.AccountingUnit), "核算单元"},
};
///// <summary>
///// CMI值
///// </summary>
......
......@@ -25,7 +25,7 @@ public class CustomExtractService : IAutoInjection
private readonly PerforPerallotRepository _perallotRepository;
private readonly PerforPerdeptdicRepository _perforPerdeptdicRepository;
private readonly PerforHospitalconfigRepository _perforHospitalconfigRepository;
private readonly PerforcustscriptRepository _perforcustscriptRepository;
private readonly PerforCustscriptRepository _perforcustscriptRepository;
public CustomExtractService(
ILogger<CustomExtractService> logger,
......@@ -35,7 +35,7 @@ public class CustomExtractService : IAutoInjection
PerforPerallotRepository perallotRepository,
PerforPerdeptdicRepository perforPerdeptdicRepository,
PerforHospitalconfigRepository perforHospitalconfigRepository,
PerforcustscriptRepository perforcustscriptRepository)
PerforCustscriptRepository perforcustscriptRepository)
{
_logger = logger;
_options = options;
......
......@@ -635,7 +635,7 @@ private void SupplyHeaderByWorkItem(int hospitalId, SecondResponse result, ag_se
public HandsonTable GetOtherTempData(int userId, int secondId, int isArchive, int employeeSource, out decimal? realAmount)
{
string[] workNumbers = new string[] { };
var details = GetOtherTempDetails(userId, secondId, isArchive, employeeSource, ref workNumbers);
var details = GetOtherTempDetails(userId, secondId, isArchive, employeeSource);
var secondAllot = agsecondallotRepository.GetEntity(t => t.Id == secondId);
......@@ -689,7 +689,7 @@ public HandsonTable GetOtherTempData(int userId, int secondId, int isArchive, in
return result;
}
public List<ag_othersource> GetOtherTempDetails(int userId, int secondId, int isArchive, int employeeSource, ref string[] workNumbers)
public List<ag_othersource> GetOtherTempDetails(int userId, int secondId, int isArchive, int employeeSource)
{
var secondAllot = agsecondallotRepository.GetEntity(t => t.Id == secondId);
if (secondAllot == null) throw new PerformanceException("二次绩效信息无效!");
......@@ -780,7 +780,6 @@ public List<ag_othersource> GetOtherTempDetails(int userId, int secondId, int is
}
}
var originalEmployees = personService.GetPerEmployee(secondAllot.AllotId.Value);
workNumbers = originalEmployees?.Select(t => t.PersonnelNumber).Distinct().ToArray();
SupplementSecondDetail(secondAllot, originalEmployees, result, isSupplementTitlePerformance);
return result;
......@@ -864,7 +863,7 @@ private void SupplementSecondDetail(ag_secondallot second, List<per_employee> em
foreach (var item in groupData)
{
if (employees.Any(t => t.PersonnelNumber == item.WorkNumber)
if (employees != null && employees.Any(t => t.PersonnelNumber == item.WorkNumber)
&& employees.FirstOrDefault(t => t.PersonnelNumber == item.WorkNumber) is per_employee employee
&& employee.UnitType == second.UnitType)
{
......
......@@ -21,6 +21,7 @@ public class EmployeeService : IAutoInjection
{
private PerforImemployeeRepository perforImemployeeRepository;
private PerforPersheetRepository perforPersheetRepository;
private PerforImdataRepository perforImdataRepository;
private PerforPerallotRepository perforPerallotRepository;
private PerforImemployeeclinicRepository perforImemployeeclinicRepository;
private PerforUserhospitalRepository perforUserhospitalRepository;
......@@ -34,6 +35,7 @@ public class EmployeeService : IAutoInjection
public EmployeeService(PerforImemployeeRepository perforImemployeeRepository,
PerforPersheetRepository perforPersheetRepository,
PerforImdataRepository perforImdataRepository,
PerforPerallotRepository perforPerallotRepository,
PerforImemployeeclinicRepository perforImemployeeclinicRepository,
PerforUserhospitalRepository perforUserhospitalRepository,
......@@ -47,6 +49,7 @@ public class EmployeeService : IAutoInjection
{
this.perforImemployeeRepository = perforImemployeeRepository;
this.perforPersheetRepository = perforPersheetRepository;
this.perforImdataRepository = perforImdataRepository;
this.perforPerallotRepository = perforPerallotRepository;
this.perforImemployeeclinicRepository = perforImemployeeclinicRepository;
this.perforUserhospitalRepository = perforUserhospitalRepository;
......@@ -637,5 +640,55 @@ public List<TitleValue> GetPerforTypeDict(int allotId)
Value = t
}).ToList();
}
#region 科室考核
public List<Dictionary<string, string>> GetDeptAssessment(int allotId)
{
var sheet = perforPersheetRepository.GetEntity(t => t.AllotID == allotId && t.SheetName == "5.4 科室材料考核2");
if (sheet == null)
return new List<Dictionary<string, string>>();
var imData = perforImdataRepository.GetEntities(t => t.AllotID == allotId && t.SheetID == sheet.ID);
var headers = imData.OrderByDescending(c=>c.IsTotal).Select(t => t.TypeName).Distinct();
var dataNum = imData.Select(t => t.RowNumber)?.OrderBy(c => c.Value).Distinct().ToList();
if (!dataNum.Any())
return new List<Dictionary<string, string>>();
var rowData = new List<Dictionary<string, string>>();
foreach (var num in dataNum)
{
var dicData = new Dictionary<string, string>();
var fisHeader = false;
foreach (var header in headers)
{
var headData = imData.Find(t => t.RowNumber == num && t.TypeName == header)?.CellValue;
dicData.Add(header, Math.Round((decimal)headData * 100) + "%");
if (!fisHeader)
{
var data = imData?.First(t => t.RowNumber == num);
switch (data.UnitType)
{
case (int)UnitType.医技组:
dicData.Add("核算单元类型", "医技组");
break;
case (int)UnitType.医生组:
dicData.Add("核算单元类型", "医生组");
break;
case (int)UnitType.护理组:
dicData.Add("核算单元类型", "护理组");
break;
}
dicData.Add("核算单元", data.AccountingUnit);
fisHeader = true;
}
}
rowData.Add(dicData);
}
return rowData;
}
#endregion
}
}
......@@ -17,5 +17,9 @@ public class SpecialUnitColumns
public const string TargetFactor = "量化指标绩效分值";
public const string AdjustFactor = "调节系数";
public const string AssessBefore = "考核前绩效";
public const string Avg = "人均";
}
}
......@@ -144,6 +144,7 @@ private void WriteDataToFile(IWorkbook workbook, per_allot allot, Dictionary<ExD
for (int sheetIndex = 0; sheetIndex < workbook.NumberOfSheets; sheetIndex++)
{
var sheet = workbook.GetSheetAt(sheetIndex);
string sheetName = sheet.SheetName.NoBlank();
ratio += 40m / workbook.NumberOfSheets;
var sheetType = perSheetService.GetSheetType(sheet.SheetName);
......@@ -156,13 +157,14 @@ private void WriteDataToFile(IWorkbook workbook, per_allot allot, Dictionary<ExD
if (sheetType == SheetType.OtherWorkload) point = PerSheetDataFactory.GetDataRead(SheetType.Workload)?.Point;
if (types.Contains(sheetType) && point != null && point.DataFirstCellNum.HasValue)
{
logger.LogInformation($"{sheetName}开始清除历史数据。point:{JsonHelper.Serialize(point)}");
ExtractHelper.ClearSheetPartialData(sheet, point, sheetType);
}
var customer = factory.GetWriteData(sheetType, logger);
if (customer != null)
{
string sheetName = sheet.SheetName.NoBlank();
var collects = collectData?.Where(t => t.SheetName.NoBlank() == sheetName).ToList();
customer.WriteCollectData(sheet, point, sheetType, style, collects, exdict);
......
......@@ -188,10 +188,13 @@ private void SupplySpecialQuantity(ISheet sheet, ExcelStyle style, List<SpecialD
if (special != null)
{
var cell = row.GetOrCreate(quantityIndex);
if (cell.CellType != CellType.Formula)
{
cell.SetCellType(CellType.Numeric);
cell.SetCellValue<double>(special.Quantity);
cell.CellStyle = cellStyle;
}
specials.Remove(special);
}
dataFirstRowNum = rowIndex + 1;
......@@ -320,7 +323,14 @@ private void AddMergedRegion(ISheet sheet, List<SpecialCellRange> ranges, List<s
if (columns == null || !columns.Any()) return;
if (ranges == null || !ranges.Any()) return;
var columnIndexs = new string[] { SpecialUnitColumns.Department, SpecialUnitColumns.PeopleNumber, SpecialUnitColumns.AdjustFactor }.Select(t => columns.IndexOf(t));
var columnIndexs = new string[]
{
SpecialUnitColumns.Department,
SpecialUnitColumns.PeopleNumber,
SpecialUnitColumns.AdjustFactor,
SpecialUnitColumns.AssessBefore,
SpecialUnitColumns.Avg
}.Select(t => columns.IndexOf(t));
if (columnIndexs == null || !columnIndexs.Any(t => t > -1)) return;
foreach (var index in columnIndexs.Where(t => t > -1))
......
......@@ -74,7 +74,7 @@ public static string GetValue(this ICell cell)
return cell?.StringCellValue.ToString();
case CellType.Formula:
cell?.SetCellType(CellType.String);
return cell?.StringCellValue.ToString();
return cell?.StringCellValue?.ToString();
case CellType.Boolean:
return cell?.BooleanCellValue.ToString();
case CellType.Unknown:
......
......@@ -19,18 +19,36 @@ public class ReportGlobalService : IAutoInjection
private readonly PerforPerallotRepository perallotRepository;
private readonly PerforReportglobalRepository reportglobalRepository;
private readonly PerforHisimportdataRepository hisimportdataRepository;
private readonly PerforHisimportsummaryRepository hisimportsummaryRepository;
private readonly PerforHisimportaccountRepository hisimportaccountRepository;
private readonly PerforHisimportclinicRepository hisimportclinicRepository;
private readonly PerforHisimportbaiscnormRepository hisimportbaiscnormRepository;
private readonly PerforReportperformancetagsRepository reportperformancetagsRepository;
private readonly PerforReportperformancepersontagsRepository reportperformancepersontagsRepository;
public ReportGlobalService(
ILogger<ReportGlobalService> logger,
PerforPerallotRepository perallotRepository,
PerforReportglobalRepository reportglobalRepository,
PerforHisimportdataRepository hisimportdataRepository
PerforHisimportdataRepository hisimportdataRepository,
PerforHisimportsummaryRepository hisimportsummaryRepository,
PerforHisimportaccountRepository hisimportaccountRepository,
PerforHisimportclinicRepository hisimportclinicRepository,
PerforHisimportbaiscnormRepository hisimportbaiscnormRepository,
PerforReportperformancetagsRepository reportperformancetagsRepository,
PerforReportperformancepersontagsRepository reportperformancepersontagsRepository
)
{
this.logger = logger;
this.perallotRepository = perallotRepository;
this.reportglobalRepository = reportglobalRepository;
this.hisimportdataRepository = hisimportdataRepository;
this.hisimportsummaryRepository = hisimportsummaryRepository;
this.hisimportaccountRepository = hisimportaccountRepository;
this.hisimportclinicRepository = hisimportclinicRepository;
this.hisimportbaiscnormRepository = hisimportbaiscnormRepository;
this.reportperformancetagsRepository = reportperformancetagsRepository;
this.reportperformancepersontagsRepository = reportperformancepersontagsRepository;
}
#region Report_Global
......@@ -170,10 +188,52 @@ public void ImportAllotData(int hospitalId, string filePath)
if (sheet == null) continue;
string sheetName = sheet.SheetName.NoBlank();
logger.LogInformation($"正在读取{sheetName}的数据");
var columns = GetColumns(sheet, sheetName, out string sourceType);
if (columns == null || !columns.Any(t => !string.IsNullOrEmpty(t.NoBlank()))) continue;
switch (sheetName)
{
case "科室总绩效":
ImporSummaryData(sheet, columns, hospitalId, allots);
break;
case "临床科室绩效":
ImporAccountData(sheet, columns, hospitalId, allots);
break;
case "科室标签":
ImporAccountTag(sheet, columns, hospitalId);
break;
case "科主任护士长绩效":
ImporClinicData(sheet, columns, hospitalId, allots);
break;
case "科主任护士长标签":
ImporClinicTag(sheet, columns, hospitalId);
break;
case "人均绩效":
ImporBasicnormData(sheet, columns, hospitalId, allots);
break;
default:
ImportBasicData(sheet, columns, hospitalId, allots, sheetName, sourceType);
break;
}
logger.LogInformation($"{sheetName}读取已结束");
}
}
catch (Exception ex)
{
logger.LogError(ex.ToString());
}
}
private void ImportBasicData(ISheet sheet, List<string> columns, int hospitalId, List<per_allot> allots, string sheetName, string sourceType)
{
var data = new List<his_importdata>();
for (int rowIndex = 1; rowIndex < sheet.LastRowNum + 1; rowIndex++)
{
......@@ -182,38 +242,248 @@ public void ImportAllotData(int hospitalId, string filePath)
his_importdata importdata = new his_importdata
{
Year = GetCellValue<int>(row, columns, nameof(his_importdata.Year)),
Month = GetCellValue<int>(row, columns, nameof(his_importdata.Month)),
AccountingUnit = GetCellValue<string>(row, columns, nameof(his_importdata.AccountingUnit)),
Department = GetCellValue<string>(row, columns, nameof(his_importdata.Department)),
PersonnelNumber = GetCellValue<string>(row, columns, nameof(his_importdata.PersonnelNumber)),
PersonnelName = GetCellValue<string>(row, columns, nameof(his_importdata.PersonnelName)),
Original = GetCellValue<string>(row, columns, nameof(his_importdata.Original)),
Value = GetCellValue<decimal>(row, columns, nameof(his_importdata.Value)),
Year = GetCellValue<int>(row, columns, "年份"),
Month = GetCellValue<int>(row, columns, "月份"),
AccountingUnit = GetCellValue<string>(row, columns, "核算单元"),
Department = GetCellValue<string>(row, columns, "科室"),
PersonnelNumber = GetCellValue<string>(row, columns, "工号"),
PersonnelName = GetCellValue<string>(row, columns, "医生姓名"),
Original = GetCellValue<string>(row, columns, "类别"),
Value = GetCellValue<decimal>(row, columns, "值"),
};
data.Add(importdata);
}
if (data == null || !data.Any(t => t.Year != 0 && t.Month != 0)) return;
var dateTime = DateTime.Now;
data.ForEach(t =>
{
t.HospitalId = hospitalId;
t.AllotId = allots?.FirstOrDefault(w => w.Year == t.Year && t.Month == w.Month)?.ID;
t.SourceType = sourceType;
t.Category = sheetName;
t.CreateTime = dateTime;
});
var years = data.Select(t => t.Year).Distinct();
var months = data.Select(t => t.Month).Distinct();
var yearMonths = data.Select(t => $"{t.Year}-{t.Month}").Distinct();
hisimportdataRepository.DeleteFromQuery(t => t.HospitalId == hospitalId && years.Contains(t.Year) && months.Contains(t.Month) && t.Category == sheetName);
hisimportdataRepository.DeleteFromQuery(t => t.HospitalId == hospitalId && yearMonths.Contains($"{t.Year}-{t.Month}") && t.Category == sheetName);
hisimportdataRepository.BulkInsert(data.Where(t => t.Year != 0 && t.Month != 0));
}
private void ImporSummaryData(ISheet sheet, List<string> columns, int hospitalId, List<per_allot> allots)
{
var data = new List<his_import_summary>();
for (int rowIndex = 1; rowIndex < sheet.LastRowNum + 1; rowIndex++)
{
var row = sheet.GetRow(rowIndex);
if (row == null) continue;
his_import_summary importdata = new his_import_summary
{
Year = GetCellValue<int>(row, columns, "年份"),
Month = GetCellValue<int>(row, columns, "月份"),
AccountingUnit = GetCellValue<string>(row, columns, "核算单元"),
RealGiveFee = GetCellValue<decimal>(row, columns, "实发绩效"),
};
data.Add(importdata);
}
catch (Exception ex)
logger.LogInformation($"{sheet.SheetName}共有{sheet.LastRowNum}行数据,读取到{data.Count}条记录");
if (data == null || !data.Any(t => t.Year != 0 && t.Month != 0)) return;
var dateTime = DateTime.Now;
data.ForEach(t =>
{
logger.LogError(ex.ToString());
t.HospitalId = hospitalId;
t.AllotId = allots?.FirstOrDefault(w => w.Year == t.Year && t.Month == w.Month)?.ID ?? 0;
t.CreateTime = dateTime;
});
var yearMonths = data.Select(t => $"{t.Year}-{t.Month}").Distinct();
hisimportsummaryRepository.DeleteFromQuery(t => t.HospitalId == hospitalId && yearMonths.Contains($"{t.Year}-{t.Month}"));
hisimportsummaryRepository.BulkInsert(data.Where(t => t.Year != 0 && t.Month != 0));
}
private void ImporAccountData(ISheet sheet, List<string> columns, int hospitalId, List<per_allot> allots)
{
var data = new List<his_import_account>();
for (int rowIndex = 1; rowIndex < sheet.LastRowNum + 1; rowIndex++)
{
var row = sheet.GetRow(rowIndex);
if (row == null) continue;
his_import_account importdata = new his_import_account
{
Year = GetCellValue<int>(row, columns, "年份"),
Month = GetCellValue<int>(row, columns, "月份"),
UnitType = GetCellValue<string>(row, columns, "核算单元类型"),
AccountingUnit = GetCellValue<string>(row, columns, "核算单元"),
Number = GetCellValue<decimal>(row, columns, "核算单元人员数量"),
RealGiveFee = GetCellValue<decimal>(row, columns, "实发绩效"),
};
data.Add(importdata);
}
logger.LogInformation($"{sheet.SheetName}共有{sheet.LastRowNum}行数据,读取到{data.Count}条记录");
if (data == null || !data.Any(t => t.Year != 0 && t.Month != 0)) return;
var dateTime = DateTime.Now;
data.ForEach(t =>
{
t.HospitalId = hospitalId;
t.AllotId = allots?.FirstOrDefault(w => w.Year == t.Year && t.Month == w.Month)?.ID ?? 0;
t.CreateTime = dateTime;
});
var yearMonths = data.Select(t => $"{t.Year}-{t.Month}").Distinct();
hisimportaccountRepository.DeleteFromQuery(t => t.HospitalId == hospitalId && yearMonths.Contains($"{t.Year}-{t.Month}"));
hisimportaccountRepository.BulkInsert(data.Where(t => t.Year != 0 && t.Month != 0));
}
private void ImporAccountTag(ISheet sheet, List<string> columns, int hospitalId)
{
var data = new List<report_performance_tags>();
for (int rowIndex = 1; rowIndex < sheet.LastRowNum + 1; rowIndex++)
{
var row = sheet.GetRow(rowIndex);
if (row == null) continue;
report_performance_tags importdata = new report_performance_tags
{
UnitType = GetCellValue<string>(row, columns, "核算单元类型"),
AccountingUnit = GetCellValue<string>(row, columns, "核算单元"),
Tag1 = GetCellValue<string>(row, columns, "Tag1"),
Tag2 = GetCellValue<string>(row, columns, "Tag2"),
Tag3 = GetCellValue<string>(row, columns, "Tag3"),
Tag4 = GetCellValue<string>(row, columns, "Tag4"),
Tag5 = GetCellValue<string>(row, columns, "Tag5"),
};
data.Add(importdata);
}
logger.LogInformation($"{sheet.SheetName}共有{sheet.LastRowNum}行数据,读取到{data.Count}条记录");
if (data == null || !data.Any(t => !string.IsNullOrEmpty(t.UnitType) && !string.IsNullOrEmpty(t.AccountingUnit))) return;
var dateTime = DateTime.Now;
data.ForEach(t =>
{
t.HospitalId = hospitalId;
t.CreateTime = dateTime;
});
reportperformancetagsRepository.DeleteFromQuery(t => t.HospitalId == hospitalId);
reportperformancetagsRepository.BulkInsert(data.Where(t => !string.IsNullOrEmpty(t.UnitType) && !string.IsNullOrEmpty(t.AccountingUnit)));
}
private void ImporClinicData(ISheet sheet, List<string> columns, int hospitalId, List<per_allot> allots)
{
var data = new List<his_import_clinic>();
for (int rowIndex = 1; rowIndex < sheet.LastRowNum + 1; rowIndex++)
{
var row = sheet.GetRow(rowIndex);
if (row == null) continue;
his_import_clinic importdata = new his_import_clinic
{
Year = GetCellValue<int>(row, columns, "年份"),
Month = GetCellValue<int>(row, columns, "月份"),
UnitType = GetCellValue<string>(row, columns, "核算单元类型"),
AccountingUnit = GetCellValue<string>(row, columns, "核算单元"),
AccountType = GetCellValue<string>(row, columns, "职称"),
JobNumber = GetCellValue<string>(row, columns, "工号"),
EmployeeName = GetCellValue<string>(row, columns, "姓名"),
Basics = GetCellValue<decimal>(row, columns, "基础绩效系数"),
RealGiveFee = GetCellValue<decimal>(row, columns, "实发绩效"),
};
data.Add(importdata);
}
logger.LogInformation($"{sheet.SheetName}共有{sheet.LastRowNum}行数据,读取到{data.Count}条记录");
if (data == null || !data.Any(t => t.Year != 0 && t.Month != 0)) return;
var dateTime = DateTime.Now;
data.ForEach(t =>
{
t.HospitalId = hospitalId;
t.AllotId = allots?.FirstOrDefault(w => w.Year == t.Year && t.Month == w.Month)?.ID ?? 0;
t.CreateTime = dateTime;
});
var yearMonths = data.Select(t => $"{t.Year}-{t.Month}").Distinct();
hisimportclinicRepository.DeleteFromQuery(t => t.HospitalId == hospitalId && yearMonths.Contains($"{t.Year}-{t.Month}"));
hisimportclinicRepository.BulkInsert(data.Where(t => t.Year != 0 && t.Month != 0));
}
private void ImporClinicTag(ISheet sheet, List<string> columns, int hospitalId)
{
var data = new List<report_performance_person_tags>();
for (int rowIndex = 1; rowIndex < sheet.LastRowNum + 1; rowIndex++)
{
var row = sheet.GetRow(rowIndex);
if (row == null) continue;
report_performance_person_tags importdata = new report_performance_person_tags
{
UnitType = GetCellValue<string>(row, columns, "核算单元类型"),
AccountingUnit = GetCellValue<string>(row, columns, "核算单元"),
PersonnelName = GetCellValue<string>(row, columns, "工号"),
PersonnelNumber = GetCellValue<string>(row, columns, "姓名"),
Tag1 = GetCellValue<string>(row, columns, "Tag1"),
Tag2 = GetCellValue<string>(row, columns, "Tag2"),
Tag3 = GetCellValue<string>(row, columns, "Tag3"),
Tag4 = GetCellValue<string>(row, columns, "Tag4"),
Tag5 = GetCellValue<string>(row, columns, "Tag5"),
};
data.Add(importdata);
}
logger.LogInformation($"{sheet.SheetName}共有{sheet.LastRowNum}行数据,读取到{data.Count}条记录");
if (data == null || !data.Any(t => !string.IsNullOrEmpty(t.UnitType) && !string.IsNullOrEmpty(t.AccountingUnit))) return;
var dateTime = DateTime.Now;
data.ForEach(t =>
{
t.HospitalId = hospitalId;
t.CreateTime = dateTime;
});
reportperformancepersontagsRepository.DeleteFromQuery(t => t.HospitalId == hospitalId);
reportperformancepersontagsRepository.BulkInsert(data.Where(t => !string.IsNullOrEmpty(t.PersonnelName) && !string.IsNullOrEmpty(t.PersonnelNumber)));
}
private void ImporBasicnormData(ISheet sheet, List<string> columns, int hospitalId, List<per_allot> allots)
{
var data = new List<his_import_baiscnorm>();
for (int rowIndex = 1; rowIndex < sheet.LastRowNum + 1; rowIndex++)
{
var row = sheet.GetRow(rowIndex);
if (row == null) continue;
his_import_baiscnorm importdata = new his_import_baiscnorm
{
Year = GetCellValue<int>(row, columns, "年份"),
Month = GetCellValue<int>(row, columns, "月份"),
PositionName = GetCellValue<string>(row, columns, "绩效核算人群"),
TotelValue = GetCellValue<decimal>(row, columns, "总绩效"),
AvgValue = GetCellValue<decimal>(row, columns, "总人数"),
TotelNumber = GetCellValue<decimal>(row, columns, "人均绩效"),
};
data.Add(importdata);
}
logger.LogInformation($"{sheet.SheetName}共有{sheet.LastRowNum}行数据,读取到{data.Count}条记录");
if (data == null || !data.Any(t => t.Year != 0 && t.Month != 0)) return;
var dateTime = DateTime.Now;
data.ForEach(t =>
{
t.HospitalId = hospitalId;
t.AllotId = allots?.FirstOrDefault(w => w.Year == t.Year && t.Month == w.Month)?.ID ?? 0;
t.CreateTime = dateTime;
});
var yearMonths = data.Select(t => $"{t.Year}-{t.Month}").Distinct();
hisimportbaiscnormRepository.DeleteFromQuery(t => t.HospitalId == hospitalId && yearMonths.Contains($"{t.Year}-{t.Month}"));
hisimportbaiscnormRepository.BulkInsert(data.Where(t => t.Year != 0 && t.Month != 0));
}
private List<string> GetColumns(ISheet sheet, string sheetName, out string sourceType)
......@@ -236,9 +506,8 @@ private List<string> GetColumns(ISheet sheet, string sheetName, out string sourc
private T GetCellValue<T>(IRow row, List<string> columns, string key)
{
var value = hisImportdataDict[key];
if (columns.Contains(value) && row.GetCell(columns.IndexOf(value)) != null)
return row.GetCell(columns.IndexOf(value)).GetCellValue<T>();
if (columns.Contains(key) && row.GetCell(columns.IndexOf(key)) != null)
return row.GetCell(columns.IndexOf(key)).GetCellValue<T>();
return default;
}
......@@ -248,18 +517,7 @@ private T GetCellValue<T>(IRow row, List<string> columns, string key)
{ "收入", new string[] { "门诊收入", "住院收入" } },
{ "医生工作量", new string[] { "门诊人次", "出院人次", "手术概况", "住院天数", "实际开放总床日数" } },
{ "医技工作量", new string[] { "医技工作量" } },
};
private readonly Dictionary<string, string> hisImportdataDict = new Dictionary<string, string>
{
{ nameof(his_importdata.Year), "年份" },
{ nameof(his_importdata.Month), "月份" },
{ nameof(his_importdata.AccountingUnit), "核算单元" },
{ nameof(his_importdata.Department), "科室" },
{ nameof(his_importdata.PersonnelNumber), "工号" },
{ nameof(his_importdata.PersonnelName), "医生姓名" },
{ nameof(his_importdata.Original), "类别" },
{ nameof(his_importdata.Value), "值" },
{ "支出", new string[] { "支出" } },
};
#endregion ImportFile && SaveData
......
......@@ -62,10 +62,10 @@ public List<RoleResponse> GetUsersRole(int userid)
var ParentUser = _userRepository.GetEntities(c => c.ParentID == userid);
if (user.ParentID!=null || user.ParentID==0)
{
ParentUser=_userRepository.GetEntities(c => c.ID == user.ParentID);
ParentUser=_userRepository.GetEntities(c => c.ParentID == user.ParentID);
}
if (user != null)
if (ParentUser != null)
{
foreach (var sysUser in ParentUser)
{
......
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