Commit c96be038 by 799284587@qq.com

绩效科室绩效大动版,修改了很多,需详细测试

parent 2f1759de
......@@ -489,81 +489,6 @@
调节系数
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.AccountingUnit">
<summary>
核算单元
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.Number">
<summary>
核算单元医生数量
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.BasicFactor">
<summary>
医生基础系数
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.SlopeFactor">
<summary>
倾斜系数
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.OtherPerfor1">
<summary>
其他绩效1
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.OtherPerfor2">
<summary>
其他绩效2
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.Extra">
<summary>
医院奖罚
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.ScoringAverage">
<summary>
考核对分率
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.AdjustFactor">
<summary>
调节系数
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.Income">
<summary>
科室业绩
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.PerforFee">
<summary>
业绩绩效
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.WorkloadFee">
<summary>
工作量绩效
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.PerforTotal">
<summary>
绩效合计
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.Avg">
<summary>
人均绩效
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeSource.GiveFee">
<summary>
实发绩效
</summary>
</member>
<member name="T:Performance.DtoModels.UnitType">
<summary> 核算单元类型 </summary>
</member>
......@@ -702,84 +627,14 @@
列坐标
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.AccountingUnit">
<summary>
核算单元
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.Department">
<summary>
科室
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.Number">
<summary>
核算单元医生数量
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.BasicFactor">
<summary>
医生基础系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.SlopeFactor">
<summary>
倾斜系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.OtherPerfor1">
<summary>
其他绩效1
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.OtherPerfor2">
<summary>
其他绩效2
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.Extra">
<summary>
医院奖罚
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.ScoringAverage">
<summary>
考核对分率
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.AdjustFactor">
<summary>
调节系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.Income">
<summary>
科室业绩
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.PerforFee">
<summary>
业绩绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.WorkloadFee">
<summary>
工作量绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.PerforTotal">
<summary>
绩效合计
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.Avg">
<member name="P:Performance.DtoModels.PerDataAccountBaisc.RowNumber">
<summary>
人均绩效
行号
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccount.RealGiveFee">
<member name="P:Performance.DtoModels.PerDataAccountBaisc.Remark">
<summary>
实发绩效
备注
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.UnitType">
......@@ -842,11 +697,6 @@
调节系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.RowNumber">
<summary>
行号
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.Scale">
<summary>
规模绩效系数
......@@ -862,166 +712,36 @@
发放系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.AccountingUnit">
<summary>
核算单元
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.Department">
<summary>
科室名称
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.Number">
<summary>
核算单元医生数量
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.BasicFactor">
<summary>
医生基础系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.SlopeFactor">
<summary>
倾斜系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.OtherPerfor1">
<summary>
其他绩效1
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.OtherPerfor2">
<summary>
其他绩效2
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.Extra">
<summary>
医院奖罚
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.ScoringAverage">
<summary>
考核对分率
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.AdjustFactor">
<summary>
调节系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.Income">
<member name="P:Performance.DtoModels.PerDataAccountBaisc.Income">
<summary>
科室业绩
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.WorkloadFee">
<summary>
工作量绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.PerforTotal">
<summary>
绩效合计
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.PerforFee">
<member name="P:Performance.DtoModels.PerDataAccountBaisc.PerforFee">
<summary>
业绩绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.RealGiveFee">
<summary>
实发绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountDoctor.Avg">
<summary>
人均绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.AccountingUnit">
<summary>
核算单元
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.Department">
<summary>
科室名称
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.Number">
<summary>
核算单元护士数量
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.BasicFactor">
<summary>
护理基础系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.SlopeFactor">
<summary>
护理倾斜系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.OtherPerfor1">
<summary>
其他绩效1
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.OtherPerfor2">
<summary>
其他绩效2
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.Extra">
<summary>
医院奖罚
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.ScoringAverage">
<summary>
考核对分率
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.AdjustFactor">
<summary>
调节系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.Income">
<summary>
科室业绩
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.WorkloadFee">
<member name="P:Performance.DtoModels.PerDataAccountBaisc.WorkloadFee">
<summary>
工作量绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.PerforTotal">
<member name="P:Performance.DtoModels.PerDataAccountBaisc.PerforTotal">
<summary>
绩效合计
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.PerforFee">
<member name="P:Performance.DtoModels.PerDataAccountBaisc.Avg">
<summary>
业绩绩效
人均绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.RealGiveFee">
<member name="P:Performance.DtoModels.PerDataAccountBaisc.RealGiveFee">
<summary>
实发绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountNurse.Avg">
<summary>
人均绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataEmployee.AccountingUnit">
<summary>
核算单元
......
......@@ -37,8 +37,7 @@
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.per_allot”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.per_first”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.per_sheet”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.res_accountdoctor”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.res_accountnurse”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.res_account”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.res_baiscnorm”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.res_compute”忽略有格式错误的 XML 注释 -->
<!-- 对于成员“P:Performance.EntityModels.PerformanceDbContext.res_specialunit”忽略有格式错误的 XML 注释 -->
......@@ -1448,6 +1447,16 @@
提取脚本ID
</summary>
</member>
<member name="P:Performance.EntityModels.mod_module.ReadOnly">
<summary>
只读 0、否 1、是
</summary>
</member>
<member name="P:Performance.EntityModels.mod_module.IsGenerated">
<summary>
是否生成Item 0、否 1、是
</summary>
</member>
<member name="T:Performance.EntityModels.mod_special">
<summary>
......@@ -1768,209 +1777,124 @@
调节系数
</summary>
</member>
<member name="T:Performance.EntityModels.res_accountdoctor">
<member name="T:Performance.EntityModels.res_account">
<summary>
医生科室核算结果
科室核算结果
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.ID">
<member name="P:Performance.EntityModels.res_account.ID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.AllotID">
<member name="P:Performance.EntityModels.res_account.AllotID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.SheetID">
<member name="P:Performance.EntityModels.res_account.SheetID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.AccountingUnit">
<member name="P:Performance.EntityModels.res_account.UnitType">
<summary>
核算单元类型 1 医生组 2 护理组 3 医技组
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.AccountingUnit">
<summary>
核算单元
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.Department">
<member name="P:Performance.EntityModels.res_account.Department">
<summary>
科室
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.Number">
<member name="P:Performance.EntityModels.res_account.ManagerNumber">
<summary>
科主任/护士长数量
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.Number">
<summary>
核算单元医生数量
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.BasicFactor">
<member name="P:Performance.EntityModels.res_account.BasicFactor">
<summary>
医生基础系数
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.SlopeFactor">
<member name="P:Performance.EntityModels.res_account.SlopeFactor">
<summary>
倾斜系数
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.OtherPerfor1">
<member name="P:Performance.EntityModels.res_account.OtherPerfor1">
<summary>
其他绩效1
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.OtherPerfor2">
<member name="P:Performance.EntityModels.res_account.OtherPerfor2">
<summary>
其他绩效2
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.Extra">
<member name="P:Performance.EntityModels.res_account.Extra">
<summary>
医院奖罚
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.ScoringAverage">
<member name="P:Performance.EntityModels.res_account.ScoringAverage">
<summary>
考核对分率
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.AdjustFactor">
<member name="P:Performance.EntityModels.res_account.AdjustFactor">
<summary>
调节系数
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.Income">
<member name="P:Performance.EntityModels.res_account.Income">
<summary>
科室业绩
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.PerforFee">
<member name="P:Performance.EntityModels.res_account.PerforFee">
<summary>
业绩绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.WorkloadFee">
<member name="P:Performance.EntityModels.res_account.WorkloadFee">
<summary>
工作量绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.PerforTotal">
<member name="P:Performance.EntityModels.res_account.PerforTotal">
<summary>
绩效合计
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.Avg">
<member name="P:Performance.EntityModels.res_account.Avg">
<summary>
人均绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.RealGiveFee">
<member name="P:Performance.EntityModels.res_account.RealGiveFee">
<summary>
实发绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountdoctor.ChangeLog">
<summary>
变更日志
</summary>
</member>
<member name="T:Performance.EntityModels.res_accountnurse">
<summary>
护理科室核算结果
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.ID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.AllotID">
<member name="P:Performance.EntityModels.res_account.Remark">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.SheetID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.AccountingUnit">
<summary>
核算单元
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.Department">
<summary>
科室
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.Number">
<summary>
护士人数
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.BasicFactor">
<summary>
护理基础系数
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.SlopeFactor">
<summary>
倾斜系数
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.OtherPerfor1">
<summary>
其他绩效1
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.OtherPerfor2">
<summary>
其他绩效2
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.Extra">
<summary>
医院奖罚
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.ScoringAverage">
<summary>
考核对分率
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.AdjustFactor">
<summary>
调节系数
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.Income">
<summary>
科室业绩
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.PerforFee">
<summary>
业绩绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.WorkloadFee">
<summary>
工作量绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.PerforTotal">
<summary>
绩效合计
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.Avg">
<summary>
人均绩效
备注
</summary>
</member>
<member name="P:Performance.EntityModels.res_accountnurse.RealGiveFee">
<member name="P:Performance.EntityModels.res_account.ChangeLog">
<summary>
实发绩效
变更日志
</summary>
</member>
<member name="T:Performance.EntityModels.res_baiscnorm">
......
......@@ -81,29 +81,29 @@ public AutoMapperConfigs()
CreateMap<PerDataEmployee, im_employee>();
CreateMap<im_employee, PerDataEmployee>();
CreateMap<PerDataAccountBaisc, PerDataAccountDoctor>()
.ForMember(dest => dest.AccountingUnit, opt => opt.MapFrom(src => src.AccountingUnit))
.ForMember(dest => dest.Department, opt => opt.MapFrom(src => src.Department))
.ForMember(dest => dest.Number, opt => opt.MapFrom(src => src.Number))
.ForMember(dest => dest.BasicFactor, opt => opt.MapFrom(src => src.BasicFactor))
.ForMember(dest => dest.SlopeFactor, opt => opt.MapFrom(src => src.SlopeFactor))
.ForMember(dest => dest.OtherPerfor1, opt => opt.MapFrom(src => src.OtherPerfor1))
.ForMember(dest => dest.OtherPerfor2, opt => opt.MapFrom(src => src.OtherPerfor2))
.ForMember(dest => dest.Extra, opt => opt.MapFrom(src => src.Extra))
.ForMember(dest => dest.ScoringAverage, opt => opt.MapFrom(src => src.ScoringAverage))
.ForMember(dest => dest.AdjustFactor, opt => opt.MapFrom(src => src.AdjustFactor));
CreateMap<PerDataAccountBaisc, PerDataAccount>()
.ForMember(dest => dest.AccountingUnit, opt => opt.MapFrom(src => src.AccountingUnit))
.ForMember(dest => dest.Department, opt => opt.MapFrom(src => src.Department))
.ForMember(dest => dest.Number, opt => opt.MapFrom(src => src.Number))
.ForMember(dest => dest.BasicFactor, opt => opt.MapFrom(src => src.BasicFactor))
.ForMember(dest => dest.SlopeFactor, opt => opt.MapFrom(src => src.SlopeFactor))
.ForMember(dest => dest.OtherPerfor1, opt => opt.MapFrom(src => src.OtherPerfor1))
.ForMember(dest => dest.OtherPerfor2, opt => opt.MapFrom(src => src.OtherPerfor2))
.ForMember(dest => dest.Extra, opt => opt.MapFrom(src => src.Extra))
.ForMember(dest => dest.ScoringAverage, opt => opt.MapFrom(src => src.ScoringAverage))
.ForMember(dest => dest.AdjustFactor, opt => opt.MapFrom(src => src.AdjustFactor));
//CreateMap<PerDataAccountBaisc, PerDataAccount>()
// .ForMember(dest => dest.AccountingUnit, opt => opt.MapFrom(src => src.AccountingUnit))
// .ForMember(dest => dest.Department, opt => opt.MapFrom(src => src.Department))
// .ForMember(dest => dest.Number, opt => opt.MapFrom(src => src.Number))
// .ForMember(dest => dest.BasicFactor, opt => opt.MapFrom(src => src.BasicFactor))
// .ForMember(dest => dest.SlopeFactor, opt => opt.MapFrom(src => src.SlopeFactor))
// .ForMember(dest => dest.OtherPerfor1, opt => opt.MapFrom(src => src.OtherPerfor1))
// .ForMember(dest => dest.OtherPerfor2, opt => opt.MapFrom(src => src.OtherPerfor2))
// .ForMember(dest => dest.Extra, opt => opt.MapFrom(src => src.Extra))
// .ForMember(dest => dest.ScoringAverage, opt => opt.MapFrom(src => src.ScoringAverage))
// .ForMember(dest => dest.AdjustFactor, opt => opt.MapFrom(src => src.AdjustFactor));
//CreateMap<PerDataAccountBaisc, PerDataAccount>()
// .ForMember(dest => dest.AccountingUnit, opt => opt.MapFrom(src => src.AccountingUnit))
// .ForMember(dest => dest.Department, opt => opt.MapFrom(src => src.Department))
// .ForMember(dest => dest.Number, opt => opt.MapFrom(src => src.Number))
// .ForMember(dest => dest.BasicFactor, opt => opt.MapFrom(src => src.BasicFactor))
// .ForMember(dest => dest.SlopeFactor, opt => opt.MapFrom(src => src.SlopeFactor))
// .ForMember(dest => dest.OtherPerfor1, opt => opt.MapFrom(src => src.OtherPerfor1))
// .ForMember(dest => dest.OtherPerfor2, opt => opt.MapFrom(src => src.OtherPerfor2))
// .ForMember(dest => dest.Extra, opt => opt.MapFrom(src => src.Extra))
// .ForMember(dest => dest.ScoringAverage, opt => opt.MapFrom(src => src.ScoringAverage))
// .ForMember(dest => dest.AdjustFactor, opt => opt.MapFrom(src => src.AdjustFactor));
//CreateMap<PerDataAccountBaisc, im_accountbasic>();
//CreateMap<im_accountbasic, PerDataAccountBaisc>();
......@@ -143,18 +143,20 @@ public AutoMapperConfigs()
.ForMember(dest => dest.Grant, opt => opt.MapFrom(src => src.DoctorGrant));
CreateMap<PerDataSpecialUnit, im_specialunit>();
CreateMap<PerDataAccountDoctor, res_accountdoctor>();
CreateMap<res_accountdoctor, PerDataAccount>();
CreateMap<PerDataAccountNurse, res_accountnurse>();
CreateMap<res_accountnurse, PerDataAccount>();
CreateMap<res_accountdoctor, ComputeSource>();
CreateMap<res_accountnurse, ComputeSource>();
//CreateMap<PerDataAccountDoctor, res_accountdoctor>();
//CreateMap<PerDataAccountNurse, res_accountnurse>();
//CreateMap<res_accountdoctor, PerDataAccountBaisc>();
CreateMap<res_account, PerDataAccountBaisc>();
CreateMap<PerDataAccountBaisc, res_account>();
//CreateMap<PerDataAccountBaisc, res_accountnurse>();
//CreateMap<res_accountdoctor, ComputeSource>();
//CreateMap<res_accountnurse, ComputeSource>();
CreateMap<im_employee, ComputeEmployee>();
CreateMap<ComputeResult, res_compute>();
CreateMap<res_accountdoctor, DoctorResponse>();
CreateMap<res_accountnurse, NurseResponse>();
CreateMap<res_account, DoctorResponse>();
CreateMap<res_account, NurseResponse>();
//二次绩效
......
using System;
using System.Collections.Generic;
using System.Text;
//using System;
//using System.Collections.Generic;
//using System.Text;
namespace Performance.DtoModels
{
public class ComputeSource
{
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
//namespace Performance.DtoModels
//{
// public class ComputeSource
// {
// /// <summary>
// /// 核算单元
// /// </summary>
// public string AccountingUnit { get; set; }
/// <summary>
/// 核算单元医生数量
/// </summary>
public Nullable<decimal> Number { get; set; }
// /// <summary>
// /// 核算单元医生数量
// /// </summary>
// public Nullable<decimal> Number { get; set; }
/// <summary>
/// 医生基础系数
/// </summary>
public Nullable<decimal> BasicFactor { get; set; }
// /// <summary>
// /// 医生基础系数
// /// </summary>
// public Nullable<decimal> BasicFactor { get; set; }
/// <summary>
/// 倾斜系数
/// </summary>
public Nullable<decimal> SlopeFactor { get; set; }
// /// <summary>
// /// 倾斜系数
// /// </summary>
// public Nullable<decimal> SlopeFactor { get; set; }
/// <summary>
/// 其他绩效1
/// </summary>
public Nullable<decimal> OtherPerfor1 { get; set; }
// /// <summary>
// /// 其他绩效1
// /// </summary>
// public Nullable<decimal> OtherPerfor1 { get; set; }
/// <summary>
/// 其他绩效2
/// </summary>
public Nullable<decimal> OtherPerfor2 { get; set; }
// /// <summary>
// /// 其他绩效2
// /// </summary>
// public Nullable<decimal> OtherPerfor2 { get; set; }
/// <summary>
/// 医院奖罚
/// </summary>
public Nullable<decimal> Extra { get; set; }
// /// <summary>
// /// 医院奖罚
// /// </summary>
// public Nullable<decimal> Extra { get; set; }
/// <summary>
/// 考核对分率
/// </summary>
public Nullable<decimal> ScoringAverage { get; set; }
// /// <summary>
// /// 考核对分率
// /// </summary>
// public Nullable<decimal> ScoringAverage { get; set; }
/// <summary>
/// 调节系数
/// </summary>
public Nullable<decimal> AdjustFactor { get; set; }
// /// <summary>
// /// 调节系数
// /// </summary>
// public Nullable<decimal> AdjustFactor { get; set; }
/// <summary>
/// 科室业绩
/// </summary>
public Nullable<decimal> Income { get; set; }
// /// <summary>
// /// 科室业绩
// /// </summary>
// public Nullable<decimal> Income { get; set; }
/// <summary>
/// 业绩绩效
/// </summary>
public Nullable<decimal> PerforFee { get; set; }
// /// <summary>
// /// 业绩绩效
// /// </summary>
// public Nullable<decimal> PerforFee { get; set; }
/// <summary>
/// 工作量绩效
/// </summary>
public Nullable<decimal> WorkloadFee { get; set; }
// /// <summary>
// /// 工作量绩效
// /// </summary>
// public Nullable<decimal> WorkloadFee { get; set; }
/// <summary>
/// 绩效合计
/// </summary>
public Nullable<decimal> PerforTotal { get; set; }
// /// <summary>
// /// 绩效合计
// /// </summary>
// public Nullable<decimal> PerforTotal { get; set; }
/// <summary>
/// 人均绩效
/// </summary>
public Nullable<decimal> Avg { get; set; }
// /// <summary>
// /// 人均绩效
// /// </summary>
// public Nullable<decimal> Avg { get; set; }
/// <summary>
/// 实发绩效
/// </summary>
public Nullable<decimal> GiveFee { get; set; }
}
}
// /// <summary>
// /// 实发绩效
// /// </summary>
// public Nullable<decimal> GiveFee { get; set; }
// }
//}
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.DtoModels
{
public class PerDataAccount : IPerData
{
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 核算单元医生数量
/// </summary>
public Nullable<decimal> Number { get; set; }
/// <summary>
/// 医生基础系数
/// </summary>
public Nullable<decimal> BasicFactor { get; set; }
/// <summary>
/// 倾斜系数
/// </summary>
public Nullable<decimal> SlopeFactor { get; set; }
/// <summary>
/// 其他绩效1
/// </summary>
public Nullable<decimal> OtherPerfor1 { get; set; }
/// <summary>
/// 其他绩效2
/// </summary>
public Nullable<decimal> OtherPerfor2 { get; set; }
/// <summary>
/// 医院奖罚
/// </summary>
public Nullable<decimal> Extra { get; set; }
/// <summary>
/// 考核对分率
/// </summary>
public Nullable<decimal> ScoringAverage { get; set; }
/// <summary>
/// 调节系数
/// </summary>
public Nullable<decimal> AdjustFactor { get; set; }
/// <summary>
/// 科室业绩
/// </summary>
public Nullable<decimal> Income { get; set; }
/// <summary>
/// 业绩绩效
/// </summary>
public Nullable<decimal> PerforFee { get; set; }
/// <summary>
/// 工作量绩效
/// </summary>
public Nullable<decimal> WorkloadFee { get; set; }
/// <summary>
/// 绩效合计
/// </summary>
public Nullable<decimal> PerforTotal { get; set; }
/// <summary>
/// 人均绩效
/// </summary>
public Nullable<decimal> Avg { get; set; }
/// <summary>
/// 实发绩效
/// </summary>
public Nullable<decimal> RealGiveFee { get; set; }
}
}
//using System;
//using System.Collections.Generic;
//using System.Text;
//namespace Performance.DtoModels
//{
// public class PerDataAccount : IPerData
// {
// public int UnitType;
// /// <summary>
// /// 核算单元
// /// </summary>
// public string AccountingUnit { get; set; }
// /// <summary>
// /// 科室
// /// </summary>
// public string Department { get; set; }
// /// <summary>
// /// 核算单元医生数量
// /// </summary>
// public Nullable<decimal> Number { get; set; }
// /// <summary>
// /// 医生基础系数
// /// </summary>
// public Nullable<decimal> BasicFactor { get; set; }
// /// <summary>
// /// 倾斜系数
// /// </summary>
// public Nullable<decimal> SlopeFactor { get; set; }
// /// <summary>
// /// 其他绩效1
// /// </summary>
// public Nullable<decimal> OtherPerfor1 { get; set; }
// /// <summary>
// /// 其他绩效2
// /// </summary>
// public Nullable<decimal> OtherPerfor2 { get; set; }
// /// <summary>
// /// 医院奖罚
// /// </summary>
// public Nullable<decimal> Extra { get; set; }
// /// <summary>
// /// 考核对分率
// /// </summary>
// public Nullable<decimal> ScoringAverage { get; set; }
// /// <summary>
// /// 调节系数
// /// </summary>
// public Nullable<decimal> AdjustFactor { get; set; }
// /// <summary>
// /// 科室业绩
// /// </summary>
// public Nullable<decimal> Income { get; set; }
// /// <summary>
// /// 业绩绩效
// /// </summary>
// public Nullable<decimal> PerforFee { get; set; }
// /// <summary>
// /// 工作量绩效
// /// </summary>
// public Nullable<decimal> WorkloadFee { get; set; }
// /// <summary>
// /// 绩效合计
// /// </summary>
// public Nullable<decimal> PerforTotal { get; set; }
// /// <summary>
// /// 人均绩效
// /// </summary>
// public Nullable<decimal> Avg { get; set; }
// /// <summary>
// /// 实发绩效
// /// </summary>
// public Nullable<decimal> RealGiveFee { get; set; }
// }
//}
......@@ -6,6 +6,17 @@ namespace Performance.DtoModels
{
public class PerDataAccountBaisc : IPerData
{
/// <summary>
/// 行号
/// </summary>
public int RowNumber { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
#region EXCEL读取
/// <summary>
/// 核算单元类别 1 医生组 2护理组 3医技组
......@@ -61,29 +72,61 @@ public class PerDataAccountBaisc : IPerData
/// 考核对分率
/// </summary>
public decimal ScoringAverage { get; set; }
/// <summary>
/// 调节系数
/// </summary>
public decimal AdjustFactor { get; set; }
/// <summary>
/// 行号
/// </summary>
public int RowNumber { get; set; }
/// <summary>
/// 规模绩效系数
/// </summary>
public Nullable<decimal> Scale { get; set; }
public decimal Scale { get; set; }
/// <summary>
/// 效率绩效系数
/// </summary>
public Nullable<decimal> Effic { get; set; }
public decimal Effic { get; set; }
/// <summary>
/// 发放系数
/// </summary>
public Nullable<decimal> Grant { get; set; }
public decimal Grant { get; set; }
#endregion
#region 由计算得出
/// <summary>
/// 科室业绩
/// </summary>
public Nullable<decimal> Income { get; set; }
/// <summary>
/// 业绩绩效
/// </summary>
public Nullable<decimal> PerforFee { get; set; }
/// <summary>
/// 工作量绩效
/// </summary>
public Nullable<decimal> WorkloadFee { get; set; }
/// <summary>
/// 绩效合计
/// </summary>
public Nullable<decimal> PerforTotal { get; set; }
/// <summary>
/// 人均绩效
/// </summary>
public Nullable<decimal> Avg { get; set; }
/// <summary>
/// 实发绩效
/// </summary>
public Nullable<decimal> RealGiveFee { get; set; }
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Text;
//using System;
//using System.Collections.Generic;
//using System.Text;
namespace Performance.DtoModels
{
public class PerDataAccountDoctor : IPerData
{
public int UnitType { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
//namespace Performance.DtoModels
//{
// public class PerDataAccountDoctor : IPerData
// {
// public int UnitType { get; set; }
// /// <summary>
// /// 核算单元
// /// </summary>
// public string AccountingUnit { get; set; }
/// <summary>
/// 科室名称
/// </summary>
public string Department { get; set; }
// /// <summary>
// /// 科室名称
// /// </summary>
// public string Department { get; set; }
/// <summary>
/// 核算单元医生数量
/// </summary>
public decimal Number { get; set; }
// /// <summary>
// /// 核算单元医生数量
// /// </summary>
// public decimal Number { get; set; }
/// <summary>
/// 医生基础系数
/// </summary>
public decimal BasicFactor { get; set; }
// /// <summary>
// /// 医生基础系数
// /// </summary>
// public decimal BasicFactor { get; set; }
/// <summary>
/// 倾斜系数
/// </summary>
public decimal SlopeFactor { get; set; }
// /// <summary>
// /// 倾斜系数
// /// </summary>
// public decimal SlopeFactor { get; set; }
/// <summary>
/// 其他绩效1
/// </summary>
public decimal OtherPerfor1 { get; set; }
// /// <summary>
// /// 其他绩效1
// /// </summary>
// public decimal OtherPerfor1 { get; set; }
/// <summary>
/// 其他绩效2
/// </summary>
public decimal OtherPerfor2 { get; set; }
// /// <summary>
// /// 其他绩效2
// /// </summary>
// public decimal OtherPerfor2 { get; set; }
/// <summary>
/// 医院奖罚
/// </summary>
public decimal Extra { get; set; }
// /// <summary>
// /// 医院奖罚
// /// </summary>
// public decimal Extra { get; set; }
/// <summary>
/// 考核对分率
/// </summary>
public decimal ScoringAverage { get; set; }
/// <summary>
/// 调节系数
/// </summary>
public decimal AdjustFactor { get; set; }
// /// <summary>
// /// 考核对分率
// /// </summary>
// public decimal ScoringAverage { get; set; }
// /// <summary>
// /// 调节系数
// /// </summary>
// public decimal AdjustFactor { get; set; }
/// <summary>
/// 科室业绩
/// </summary>
public decimal Income { get; set; }
// /// <summary>
// /// 科室业绩
// /// </summary>
// public decimal Income { get; set; }
/// <summary>
/// 工作量绩效
/// </summary>
public decimal WorkloadFee { get; set; }
// /// <summary>
// /// 工作量绩效
// /// </summary>
// public decimal WorkloadFee { get; set; }
/// <summary>
/// 绩效合计
/// </summary>
public decimal PerforTotal { get; set; }
// /// <summary>
// /// 绩效合计
// /// </summary>
// public decimal PerforTotal { get; set; }
/// <summary>
/// 业绩绩效
/// </summary>
public decimal PerforFee { get; set; }
/// <summary>
/// 实发绩效
/// </summary>
public decimal RealGiveFee { get; set; }
/// <summary>
/// 人均绩效
/// </summary>
public decimal Avg { get; set; }
}
}
// /// <summary>
// /// 业绩绩效
// /// </summary>
// public decimal PerforFee { get; set; }
// /// <summary>
// /// 实发绩效
// /// </summary>
// public decimal RealGiveFee { get; set; }
// /// <summary>
// /// 人均绩效
// /// </summary>
// public decimal Avg { get; set; }
// }
//}
using System;
using System.Collections.Generic;
using System.Text;
//using System;
//using System.Collections.Generic;
//using System.Text;
namespace Performance.DtoModels
{
public class PerDataAccountNurse : IPerData
{
public int UnitType { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
//namespace Performance.DtoModels
//{
// public class PerDataAccountNurse : IPerData
// {
// public int UnitType { get; set; }
// /// <summary>
// /// 核算单元
// /// </summary>
// public string AccountingUnit { get; set; }
/// <summary>
/// 科室名称
/// </summary>
public string Department { get; set; }
// /// <summary>
// /// 科室名称
// /// </summary>
// public string Department { get; set; }
/// <summary>
/// 核算单元护士数量
/// </summary>
public decimal Number { get; set; }
// /// <summary>
// /// 核算单元护士数量
// /// </summary>
// public decimal Number { get; set; }
/// <summary>
/// 护理基础系数
/// </summary>
public decimal BasicFactor { get; set; }
// /// <summary>
// /// 护理基础系数
// /// </summary>
// public decimal BasicFactor { get; set; }
/// <summary>
/// 护理倾斜系数
/// </summary>
public decimal SlopeFactor { get; set; }
// /// <summary>
// /// 护理倾斜系数
// /// </summary>
// public decimal SlopeFactor { get; set; }
/// <summary>
/// 其他绩效1
/// </summary>
public decimal OtherPerfor1 { get; set; }
// /// <summary>
// /// 其他绩效1
// /// </summary>
// public decimal OtherPerfor1 { get; set; }
/// <summary>
/// 其他绩效2
/// </summary>
public decimal OtherPerfor2 { get; set; }
// /// <summary>
// /// 其他绩效2
// /// </summary>
// public decimal OtherPerfor2 { get; set; }
/// <summary>
/// 医院奖罚
/// </summary>
public decimal Extra { get; set; }
// /// <summary>
// /// 医院奖罚
// /// </summary>
// public decimal Extra { get; set; }
/// <summary>
/// 考核对分率
/// </summary>
public decimal ScoringAverage { get; set; }
/// <summary>
/// 调节系数
/// </summary>
public decimal AdjustFactor { get; set; }
// /// <summary>
// /// 考核对分率
// /// </summary>
// public decimal ScoringAverage { get; set; }
// /// <summary>
// /// 调节系数
// /// </summary>
// public decimal AdjustFactor { get; set; }
/// <summary>
/// 科室业绩
/// </summary>
public decimal Income { get; set; }
// /// <summary>
// /// 科室业绩
// /// </summary>
// public decimal Income { get; set; }
/// <summary>
/// 工作量绩效
/// </summary>
public decimal WorkloadFee { get; set; }
// /// <summary>
// /// 工作量绩效
// /// </summary>
// public decimal WorkloadFee { get; set; }
/// <summary>
/// 绩效合计
/// </summary>
public decimal PerforTotal { get; set; }
// /// <summary>
// /// 绩效合计
// /// </summary>
// public decimal PerforTotal { get; set; }
/// <summary>
/// 业绩绩效
/// </summary>
public decimal PerforFee { get; set; }
/// <summary>
/// 实发绩效
/// </summary>
public decimal RealGiveFee { get; set; }
// /// <summary>
// /// 业绩绩效
// /// </summary>
// public decimal PerforFee { get; set; }
// /// <summary>
// /// 实发绩效
// /// </summary>
// public decimal RealGiveFee { get; set; }
/// <summary>
/// 人均绩效
/// </summary>
public decimal Avg { get; set; }
}
}
// /// <summary>
// /// 人均绩效
// /// </summary>
// public decimal Avg { get; set; }
// }
//}
......@@ -6,7 +6,7 @@ namespace Performance.DtoModels
{
public class DeptDetailResponse
{
public PerDataAccount Pandect { get; set; }
public PerDataAccountBaisc Pandect { get; set; }
public List<DeptDetail> Economic { get; set; }
public List<DeptDetail> Workload { get; set; }
}
......
......@@ -78,10 +78,12 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
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<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; }
// 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>
......
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// <copyright file=" mod_module.cs">
// * FileName: .cs
// </copyright>
......@@ -45,5 +45,15 @@ public class mod_module
/// 提取脚本ID
/// </summary>
public Nullable<int> ExtractId { get; set; }
/// <summary>
/// 只读 0、否 1、是
/// </summary>
public Nullable<int> ReadOnly { get; set; }
/// <summary>
/// 是否生成Item 0、否 1、是
/// </summary>
public Nullable<int> IsGenerated { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" res_account.cs">
// * FileName: 科室核算结果.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
/// 科室核算结果
/// </summary>
[Table("res_account")]
public class res_account
{
/// <summary>
///
/// </summary>
[Key]
public int ID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> SheetID { get; set; }
/// <summary>
/// 核算单元类型 1 医生组 2 护理组 3 医技组
/// </summary>
public Nullable<int> UnitType { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 科主任/护士长数量
/// </summary>
public Nullable<int> ManagerNumber { get; set; }
/// <summary>
/// 核算单元医生数量
/// </summary>
public Nullable<decimal> Number { get; set; }
/// <summary>
/// 医生基础系数
/// </summary>
public Nullable<decimal> BasicFactor { get; set; }
/// <summary>
/// 倾斜系数
/// </summary>
public Nullable<decimal> SlopeFactor { get; set; }
/// <summary>
/// 其他绩效1
/// </summary>
public Nullable<decimal> OtherPerfor1 { get; set; }
/// <summary>
/// 其他绩效2
/// </summary>
public Nullable<decimal> OtherPerfor2 { get; set; }
/// <summary>
/// 医院奖罚
/// </summary>
public Nullable<decimal> Extra { get; set; }
/// <summary>
/// 考核对分率
/// </summary>
public Nullable<decimal> ScoringAverage { get; set; }
/// <summary>
/// 调节系数
/// </summary>
public Nullable<decimal> AdjustFactor { get; set; }
/// <summary>
/// 科室业绩
/// </summary>
public Nullable<decimal> Income { get; set; }
/// <summary>
/// 业绩绩效
/// </summary>
public Nullable<decimal> PerforFee { get; set; }
/// <summary>
/// 工作量绩效
/// </summary>
public Nullable<decimal> WorkloadFee { get; set; }
/// <summary>
/// 绩效合计
/// </summary>
public Nullable<decimal> PerforTotal { get; set; }
/// <summary>
/// 人均绩效
/// </summary>
public Nullable<decimal> Avg { get; set; }
/// <summary>
/// 实发绩效
/// </summary>
public Nullable<decimal> RealGiveFee { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 变更日志
/// </summary>
public string ChangeLog { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" res_accountdoctor.cs">
// * FileName: 医生科室核算结果.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
/// 医生科室核算结果
/// </summary>
[Table("res_accountdoctor")]
public class res_accountdoctor
{
/// <summary>
///
/// </summary>
[Key]
public int ID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> SheetID { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 核算单元医生数量
/// </summary>
public Nullable<decimal> Number { get; set; }
/// <summary>
/// 医生基础系数
/// </summary>
public Nullable<decimal> BasicFactor { get; set; }
/// <summary>
/// 倾斜系数
/// </summary>
public Nullable<decimal> SlopeFactor { get; set; }
/// <summary>
/// 其他绩效1
/// </summary>
public Nullable<decimal> OtherPerfor1 { get; set; }
/// <summary>
/// 其他绩效2
/// </summary>
public Nullable<decimal> OtherPerfor2 { get; set; }
/// <summary>
/// 医院奖罚
/// </summary>
public Nullable<decimal> Extra { get; set; }
/// <summary>
/// 考核对分率
/// </summary>
public Nullable<decimal> ScoringAverage { get; set; }
/// <summary>
/// 调节系数
/// </summary>
public Nullable<decimal> AdjustFactor { get; set; }
/// <summary>
/// 科室业绩
/// </summary>
public Nullable<decimal> Income { get; set; }
/// <summary>
/// 业绩绩效
/// </summary>
public Nullable<decimal> PerforFee { get; set; }
/// <summary>
/// 工作量绩效
/// </summary>
public Nullable<decimal> WorkloadFee { get; set; }
/// <summary>
/// 绩效合计
/// </summary>
public Nullable<decimal> PerforTotal { get; set; }
/// <summary>
/// 人均绩效
/// </summary>
public Nullable<decimal> Avg { get; set; }
/// <summary>
/// 实发绩效
/// </summary>
public Nullable<decimal> RealGiveFee { get; set; }
/// <summary>
/// 变更日志
/// </summary>
public string ChangeLog { get; set; }
}
}
////-----------------------------------------------------------------------
//// <copyright file=" res_accountdoctor.cs">
//// * FileName: 医生科室核算结果.cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using System.ComponentModel.DataAnnotations;
//using System.ComponentModel.DataAnnotations.Schema;
//namespace Performance.EntityModels
//{
// /// <summary>
// /// 医生科室核算结果
// /// </summary>
// [Table("res_accountdoctor")]
// public class res_accountdoctor
// {
// /// <summary>
// ///
// /// </summary>
// [Key]
// public int ID { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<int> AllotID { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<int> SheetID { get; set; }
// /// <summary>
// /// 核算单元
// /// </summary>
// public string AccountingUnit { get; set; }
// /// <summary>
// /// 科室
// /// </summary>
// public string Department { get; set; }
// /// <summary>
// /// 科主任/护士长数量
// /// </summary>
// public Nullable<int> ManagerNumber { get; set; }
// /// <summary>
// /// 核算单元医生数量
// /// </summary>
// public Nullable<decimal> Number { get; set; }
// /// <summary>
// /// 医生基础系数
// /// </summary>
// public Nullable<decimal> BasicFactor { get; set; }
// /// <summary>
// /// 倾斜系数
// /// </summary>
// public Nullable<decimal> SlopeFactor { get; set; }
// /// <summary>
// /// 其他绩效1
// /// </summary>
// public Nullable<decimal> OtherPerfor1 { get; set; }
// /// <summary>
// /// 其他绩效2
// /// </summary>
// public Nullable<decimal> OtherPerfor2 { get; set; }
// /// <summary>
// /// 医院奖罚
// /// </summary>
// public Nullable<decimal> Extra { get; set; }
// /// <summary>
// /// 考核对分率
// /// </summary>
// public Nullable<decimal> ScoringAverage { get; set; }
// /// <summary>
// /// 调节系数
// /// </summary>
// public Nullable<decimal> AdjustFactor { get; set; }
// /// <summary>
// /// 科室业绩
// /// </summary>
// public Nullable<decimal> Income { get; set; }
// /// <summary>
// /// 业绩绩效
// /// </summary>
// public Nullable<decimal> PerforFee { get; set; }
// /// <summary>
// /// 工作量绩效
// /// </summary>
// public Nullable<decimal> WorkloadFee { get; set; }
// /// <summary>
// /// 绩效合计
// /// </summary>
// public Nullable<decimal> PerforTotal { get; set; }
// /// <summary>
// /// 人均绩效
// /// </summary>
// public Nullable<decimal> Avg { get; set; }
// /// <summary>
// /// 实发绩效
// /// </summary>
// public Nullable<decimal> RealGiveFee { get; set; }
// /// <summary>
// /// 变更日志
// /// </summary>
// public string ChangeLog { get; set; }
// }
//}
//-----------------------------------------------------------------------
// <copyright file=" res_accountnurse.cs">
// * FileName: 护理科室核算结果.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
/// 护理科室核算结果
/// </summary>
[Table("res_accountnurse")]
public class res_accountnurse
{
/// <summary>
///
/// </summary>
[Key]
public int ID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> SheetID { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 护士人数
/// </summary>
public Nullable<decimal> Number { get; set; }
/// <summary>
/// 护理基础系数
/// </summary>
public Nullable<decimal> BasicFactor { get; set; }
/// <summary>
/// 倾斜系数
/// </summary>
public Nullable<decimal> SlopeFactor { get; set; }
/// <summary>
/// 其他绩效1
/// </summary>
public Nullable<decimal> OtherPerfor1 { get; set; }
/// <summary>
/// 其他绩效2
/// </summary>
public Nullable<decimal> OtherPerfor2 { get; set; }
/// <summary>
/// 医院奖罚
/// </summary>
public Nullable<decimal> Extra { get; set; }
/// <summary>
/// 考核对分率
/// </summary>
public Nullable<decimal> ScoringAverage { get; set; }
/// <summary>
/// 调节系数
/// </summary>
public Nullable<decimal> AdjustFactor { get; set; }
/// <summary>
/// 科室业绩
/// </summary>
public Nullable<decimal> Income { get; set; }
/// <summary>
/// 业绩绩效
/// </summary>
public Nullable<decimal> PerforFee { get; set; }
/// <summary>
/// 工作量绩效
/// </summary>
public Nullable<decimal> WorkloadFee { get; set; }
/// <summary>
/// 绩效合计
/// </summary>
public Nullable<decimal> PerforTotal { get; set; }
/// <summary>
/// 人均绩效
/// </summary>
public Nullable<decimal> Avg { get; set; }
/// <summary>
/// 实发绩效
/// </summary>
public Nullable<decimal> RealGiveFee { get; set; }
}
}
////-----------------------------------------------------------------------
//// <copyright file=" res_accountnurse.cs">
//// * FileName: 护理科室核算结果.cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using System.ComponentModel.DataAnnotations;
//using System.ComponentModel.DataAnnotations.Schema;
//namespace Performance.EntityModels
//{
// /// <summary>
// /// 护理科室核算结果
// /// </summary>
// [Table("res_accountnurse")]
// public class res_accountnurse
// {
// /// <summary>
// ///
// /// </summary>
// [Key]
// public int ID { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<int> AllotID { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<int> SheetID { get; set; }
// /// <summary>
// /// 核算单元
// /// </summary>
// public string AccountingUnit { get; set; }
// /// <summary>
// /// 科室
// /// </summary>
// public string Department { get; set; }
// /// <summary>
// /// 科主任/护士长数量
// /// </summary>
// public Nullable<int> ManagerNumber { get; set; }
// /// <summary>
// /// 护士人数
// /// </summary>
// public Nullable<decimal> Number { get; set; }
// /// <summary>
// /// 护理基础系数
// /// </summary>
// public Nullable<decimal> BasicFactor { get; set; }
// /// <summary>
// /// 倾斜系数
// /// </summary>
// public Nullable<decimal> SlopeFactor { get; set; }
// /// <summary>
// /// 其他绩效1
// /// </summary>
// public Nullable<decimal> OtherPerfor1 { get; set; }
// /// <summary>
// /// 其他绩效2
// /// </summary>
// public Nullable<decimal> OtherPerfor2 { get; set; }
// /// <summary>
// /// 医院奖罚
// /// </summary>
// public Nullable<decimal> Extra { get; set; }
// /// <summary>
// /// 考核对分率
// /// </summary>
// public Nullable<decimal> ScoringAverage { get; set; }
// /// <summary>
// /// 调节系数
// /// </summary>
// public Nullable<decimal> AdjustFactor { get; set; }
// /// <summary>
// /// 科室业绩
// /// </summary>
// public Nullable<decimal> Income { get; set; }
// /// <summary>
// /// 业绩绩效
// /// </summary>
// public Nullable<decimal> PerforFee { get; set; }
// /// <summary>
// /// 工作量绩效
// /// </summary>
// public Nullable<decimal> WorkloadFee { get; set; }
// /// <summary>
// /// 绩效合计
// /// </summary>
// public Nullable<decimal> PerforTotal { get; set; }
// /// <summary>
// /// 人均绩效
// /// </summary>
// public Nullable<decimal> Avg { get; set; }
// /// <summary>
// /// 实发绩效
// /// </summary>
// public Nullable<decimal> RealGiveFee { get; set; }
// }
//}
//-----------------------------------------------------------------------
// <copyright file=" im_data.cs">
// * FileName: im_data.cs
// </copyright>
//-----------------------------------------------------------------------
using Performance.EntityModels;
using System;
using System.Collections.Generic;
namespace Performance.Repository
{
/// <summary>
/// im_data Repository
/// </summary>
public partial class PerforImdataRepository : PerforRepository<im_data>
{
/// <summary>
/// 获取核算单元
/// </summary>
/// <param name="deptList">科室列表</param>
/// <param name="hospitalid">医院id</param>
/// <param name="sheetType">sheet模板类型</param>
/// <returns></returns>
public IEnumerable<im_data> GetAccountingUnit(int hospitalid, int sheettype, List<string> deptList)
{
string sql = "select distinct im.accountingUnit,im.department,im.unittype from im_data im " +
"inner join per_allot allot on im.AllotID = allot.ID " +
"inner join per_sheet sheet on im.SheetID = sheet.ID " +
"where allot.hospitalid = @hospitalid and sheet.sheettype = @sheettype and im.department in @deptList";
return DapperQuery(sql, new { hospitalid, sheettype, deptList }, 1000 * 60 * 5);
}
}
}
......@@ -4,7 +4,6 @@
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using Performance.EntityModels;
namespace Performance.Repository
......@@ -17,21 +16,5 @@ public partial class PerforImdataRepository : PerforRepository<im_data>
public PerforImdataRepository(PerformanceDbContext context) : base(context)
{
}
/// <summary>
/// 获取核算单元
/// </summary>
/// <param name="deptList">科室列表</param>
/// <param name="hospitalid">医院id</param>
/// <param name="sheetType">sheet模板类型</param>
/// <returns></returns>
public IEnumerable<im_data> GetAccountingUnit(int hospitalid, int sheettype, List<string> deptList)
{
string sql = "select distinct im.accountingUnit,im.department,im.unittype from im_data im " +
"inner join per_allot allot on im.AllotID = allot.ID " +
"inner join per_sheet sheet on im.SheetID = sheet.ID " +
"where allot.hospitalid = @hospitalid and sheet.sheettype = @sheettype and im.department in @deptList";
return DapperQuery(sql, new { hospitalid, sheettype, deptList }, 1000 * 60 * 5);
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" res_account.cs">
// * FileName: res_account.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// res_account Repository
/// </summary>
public partial class PerforResaccountRepository : PerforRepository<res_account>
{
public PerforResaccountRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" res_accountdoctor.cs">
// * FileName: res_accountdoctor.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
////-----------------------------------------------------------------------
//// <copyright file=" res_accountdoctor.cs">
//// * FileName: res_accountdoctor.cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// res_accountdoctor Repository
/// </summary>
public partial class PerforResaccountdoctorRepository : PerforRepository<res_accountdoctor>
{
public PerforResaccountdoctorRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//namespace Performance.Repository
//{
// /// <summary>
// /// res_accountdoctor Repository
// /// </summary>
// public partial class PerforResaccountdoctorRepository : PerforRepository<res_accountdoctor>
// {
// public PerforResaccountdoctorRepository(PerformanceDbContext context) : base(context)
// {
// }
// }
//}
//-----------------------------------------------------------------------
// <copyright file=" res_accountnurse.cs">
// * FileName: res_accountnurse.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
////-----------------------------------------------------------------------
//// <copyright file=" res_accountnurse.cs">
//// * FileName: res_accountnurse.cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// res_accountnurse Repository
/// </summary>
public partial class PerforResaccountnurseRepository : PerforRepository<res_accountnurse>
{
public PerforResaccountnurseRepository(PerformanceDbContext context) : base(context)
{
}
}
}
//namespace Performance.Repository
//{
// /// <summary>
// /// res_accountnurse Repository
// /// </summary>
// public partial class PerforResaccountnurseRepository : PerforRepository<res_accountnurse>
// {
// public PerforResaccountnurseRepository(PerformanceDbContext context) : base(context)
// {
// }
// }
//}
......@@ -19,8 +19,8 @@ public class AgainAllotService : IAutoInjection
private ConfigService configService;
private PerforCofagainRepository perforCofagainRepository;
private PerforPeragainallotRepository perforPeragainallotRepository;
private PerforResaccountdoctorRepository perforResaccountdoctorRepository;
private PerforResaccountnurseRepository perforResaccountnurseRepository;
private PerforResaccountRepository perforResaccountRepository;
//private PerforResaccountnurseRepository perforResaccountnurseRepository;
private PerforUserRepository perforUserRepository;
private PerforUserhospitalRepository perforUserhospitalRepository;
private PerforPerallotRepository perforPerallotRepository;
......@@ -34,8 +34,8 @@ public class AgainAllotService : IAutoInjection
RoleService roleService,
PerforCofagainRepository perforCofagainRepository,
PerforPeragainallotRepository perforPeragainallotRepository,
PerforResaccountdoctorRepository perforResaccountdoctorRepository,
PerforResaccountnurseRepository perforResaccountnurseRepository,
PerforResaccountRepository perforResaccountRepository,
//PerforResaccountnurseRepository perforResaccountnurseRepository,
PerforUserRepository perforUserRepository,
PerforUserhospitalRepository perforUserhospitalRepository,
PerforPerallotRepository perforPerallotRepository,
......@@ -50,8 +50,8 @@ public class AgainAllotService : IAutoInjection
this.roleService = roleService;
this.perforCofagainRepository = perforCofagainRepository;
this.perforPeragainallotRepository = perforPeragainallotRepository;
this.perforResaccountdoctorRepository = perforResaccountdoctorRepository;
this.perforResaccountnurseRepository = perforResaccountnurseRepository;
this.perforResaccountRepository = perforResaccountRepository;
//this.perforResaccountnurseRepository = perforResaccountnurseRepository;
this.perforUserRepository = perforUserRepository;
this.perforUserhospitalRepository = perforUserhospitalRepository;
this.perforPerallotRepository = perforPerallotRepository;
......@@ -97,9 +97,9 @@ public bool Generate(AgainAllotRequest request, int userId, string department)
if (role != null)
{
if (application.NurseRole == role.ID)
basicnumber = perforResaccountnurseRepository.GetEntity(t => t.AllotID == againAllot.AllotID && t.AccountingUnit == department)?.RealGiveFee;
basicnumber = perforResaccountRepository.GetEntity(t => t.UnitType == (int)UnitType.护理组 && t.AllotID == againAllot.AllotID && t.AccountingUnit == department)?.RealGiveFee;
else if (application.DirectorRole == role.ID)
basicnumber = perforResaccountdoctorRepository.GetEntity(t => t.AllotID == againAllot.AllotID && t.AccountingUnit == department)?.RealGiveFee;
basicnumber = perforResaccountRepository.GetEntity(t => t.UnitType != (int)UnitType.护理组 && t.AllotID == againAllot.AllotID && t.AccountingUnit == department)?.RealGiveFee;
}
}
#endregion
......
......@@ -110,43 +110,30 @@ public List<res_baiscnorm> ComputeOtherAvg(List<res_baiscnorm> baiscnormList, Li
/// <returns></returns>
public List<res_baiscnorm> DocterNurseBaiscnorm(List<res_baiscnorm> baiscnormList, List<im_accountbasic> accountbasicList, List<PerSheet> list)
{
// 护士
var sheetNurse = list.FirstOrDefault(t => t.SheetType == SheetType.ComputeNurseAccount);
var perdataNurse = sheetNurse.PerData.Select(t => (PerDataAccountNurse)t);
perdataNurse = perdataNurse.GroupBy(t => t.AccountingUnit)
.Select(t => new PerDataAccountNurse
{
AccountingUnit = t.Key,
Number = t.Sum(p => p.Number),
PerforTotal = t.Max(p => p.PerforTotal)
});
var baiscnormNurse = new res_baiscnorm
{
PositionName = EnumHelper.GetDescription(PerforType.护士),
TotelNumber = perdataNurse.Sum(t => t.Number),
TotelValue = perdataNurse.Sum(t => t.PerforTotal),
AvgValue = perdataNurse.Sum(t => t.PerforTotal) / perdataNurse.Sum(t => t.Number)
var pairs = new[]
{
new { SheetType = SheetType.ComputeDoctorAccount, UnitType = UnitType.医生组, PerforType = PerforType.临床医生 },
new { SheetType = SheetType.ComputeDoctorAccount, UnitType = UnitType.医技组, PerforType = PerforType.医技医生 },
new { SheetType = SheetType.ComputeNurseAccount, UnitType = UnitType.护理组, PerforType = PerforType.护士 },
};
baiscnormList.Add(baiscnormNurse);
// 医生
var count = accountbasicList.Where(t => t.UnitType == (int)UnitType.医生组).Sum(t => t.DoctorNumber + t.DoctorDirectorNumber);
var sheetDocter = list.FirstOrDefault(t => t.SheetType == SheetType.ComputeDoctorAccount);
var perdataDocter = sheetDocter.PerData.Select(t => (PerDataAccountDoctor)t);
foreach (var info in pairs)
{
var sheet = list.FirstOrDefault(t => t.SheetType == info.SheetType);
var perData = sheet.PerData.Select(t => (PerDataAccountBaisc)t);
//剔除不同科室相同核算单元
perdataDocter = perdataDocter.Where(t => t.UnitType == (int)UnitType.医生组).GroupBy(t => t.AccountingUnit)
.Select(t => new PerDataAccountDoctor { AccountingUnit = t.Key, PerforTotal = t.Max(p => p.PerforTotal) });
var groupData = perData.Where(t => t.UnitType == (int)info.UnitType)
.GroupBy(t => t.AccountingUnit)
.Select(t => new { AccountingUnit = t.Key, Number = t.Sum(p => p.ManagerNumber + p.Number), PerforTotal = t.Max(p => p.PerforTotal) });
var baiscnormDocter = new res_baiscnorm
var baiscnorm = new res_baiscnorm
{
PositionName = EnumHelper.GetDescription(PerforType.临床医生),
TotelNumber = count,
TotelValue = perdataDocter.Sum(t => t.PerforTotal),
AvgValue = perdataDocter.Sum(t => t.PerforTotal) / count
PositionName = EnumHelper.GetDescription(info.PerforType),
TotelNumber = groupData.Sum(t => t.Number),
TotelValue = groupData.Sum(t => t.PerforTotal),
AvgValue = groupData.Sum(t => t.PerforTotal) / groupData.Sum(t => t.Number)
};
baiscnormList.Add(baiscnormDocter);
baiscnormList.Add(baiscnorm);
}
return baiscnormList;
}
}
......
......@@ -22,8 +22,8 @@ public class ProcessComputService : IAutoInjection
private PerforImdataRepository perforImDataRepository;
private PerforImheaderRepository perforImHeaderRepository;
private PerforImemployeeRepository perforImEmployeeRepository;
private PerforResaccountdoctorRepository perforResAccountdoctorRepository;
private PerforResaccountnurseRepository perforResAccountnurseRepository;
private PerforResaccountRepository perforResaccountRepository;
//private PerforResaccountnurseRepository perforResAccountnurseRepository;
private PerforCofdrugtypeRepository perforCofdrugtypeRepository;
public ProcessComputService(PerforCofincomeRepository perforCofincomeRepository,
PerforCofdrugpropRepository perforCofdrugpropRepository,
......@@ -31,8 +31,8 @@ public class ProcessComputService : IAutoInjection
PerforImdataRepository perforImDataRepository,
PerforImheaderRepository perforImHeaderRepository,
PerforImemployeeRepository perforImEmployeeRepository,
PerforResaccountdoctorRepository perforResAccountdoctorRepository,
PerforResaccountnurseRepository perforResAccountnurseRepository,
PerforResaccountRepository perforResaccountRepository,
//PerforResaccountnurseRepository perforResAccountnurseRepository,
PerforCofdrugtypeRepository perforCofdrugtypeRepository)
{
this.perforCofincomeRepository = perforCofincomeRepository;
......@@ -41,8 +41,8 @@ public class ProcessComputService : IAutoInjection
this.perforImDataRepository = perforImDataRepository;
this.perforImHeaderRepository = perforImHeaderRepository;
this.perforImEmployeeRepository = perforImEmployeeRepository;
this.perforResAccountdoctorRepository = perforResAccountdoctorRepository;
this.perforResAccountnurseRepository = perforResAccountnurseRepository;
this.perforResaccountRepository = perforResaccountRepository;
//this.perforResAccountnurseRepository = perforResAccountnurseRepository;
this.perforCofdrugtypeRepository = perforCofdrugtypeRepository;
}
......@@ -71,16 +71,16 @@ private void SaveComputeDoctorAccount(PerSheet sheet, int allotId)
var imsheet = new per_sheet { AllotID = allotId, SheetName = sheet.SheetName, Source = 2, SheetType = (int)sheet.SheetType };
perforPerSheetRepository.Add(imsheet);
var dataList = sheet.PerData.Select(t => (PerDataAccountDoctor)t);
List<res_accountdoctor> addList = new List<res_accountdoctor>();
var dataList = sheet.PerData.Select(t => (PerDataAccountBaisc)t);
List<res_account> addList = new List<res_account>();
foreach (var data in dataList)
{
var imdata = Mapper.Map<res_accountdoctor>(data);
var imdata = Mapper.Map<res_account>(data);
imdata.SheetID = imsheet.ID;
imdata.AllotID = allotId;
addList.Add(imdata);
}
perforResAccountdoctorRepository.AddRange(addList.ToArray());
perforResaccountRepository.AddRange(addList.ToArray());
}
/// <summary>
......@@ -94,16 +94,16 @@ private void SaveComputeNurseAccount(PerSheet sheet, int allotId)
var imsheet = new per_sheet { AllotID = allotId, SheetName = sheet.SheetName, Source = 2, SheetType = (int)sheet.SheetType };
perforPerSheetRepository.Add(imsheet);
var dataList = sheet.PerData.Select(t => (PerDataAccountNurse)t);
List<res_accountnurse> addList = new List<res_accountnurse>();
var dataList = sheet.PerData.Select(t => (PerDataAccountBaisc)t);
List<res_account> addList = new List<res_account>();
foreach (var data in dataList)
{
var imdata = Mapper.Map<res_accountnurse>(data);
var imdata = Mapper.Map<res_account>(data);
imdata.SheetID = imsheet.ID;
imdata.AllotID = allotId;
addList.Add(imdata);
}
perforResAccountnurseRepository.AddRange(addList.ToArray());
perforResaccountRepository.AddRange(addList.ToArray());
}
......@@ -224,67 +224,54 @@ private List<PerSheet> MergeCompute(PerExcel excel, int allotid)
var deptAccounting = excel.PerSheet.FirstOrDefault(t => t.SheetType == SheetType.AccountBasic);
var dataList = deptAccounting.PerData.Select(t => (PerDataAccountBaisc)t);
var doctorSheet = ComputeDoctor(dataList, twiceEconomicResult.PerData, twiceWorkloadResult1.PerData);
perSheet.Add(doctorSheet);
var nurseSheet = ComputeNurse(dataList, twiceEconomicResult.PerData, twiceWorkloadResult2.PerData);
perSheet.Add(nurseSheet);
var sheet = Compute(dataList, twiceEconomicResult.PerData, twiceWorkloadResult1.PerData);
perSheet.AddRange(sheet);
return perSheet;
}
/// <summary>
/// 计算医生组科室绩效
/// 计算科室绩效
/// </summary>
/// <param name="dataList"></param>
/// <param name="economicData"></param>
/// <param name="workloadData"></param>
/// <returns></returns>
private PerSheet ComputeDoctor(IEnumerable<PerDataAccountBaisc> dataList, List<PerData> economicData, List<PerData> workloadData)
private List<PerSheet> Compute(IEnumerable<PerDataAccountBaisc> dataList, List<PerData> economicData, List<PerData> workloadData)
{
PerSheet doctorSheet = new PerSheet("医生组临床科室单元核算表", "医生组临床科室单元核算表", SheetType.ComputeDoctorAccount, new List<PerHeader>(), new List<IPerData>());
var data = new List<PerDataAccountDoctor>();
foreach (var item in EnumHelper.GetItems<UnitType>())
var pairs = new[]
{
if (item.Value == (int)UnitType.护理组)
continue;
foreach (var dept in dataList.Where(t => t.UnitType == item.Value))
new { Name = "医生组临床科室单元核算表", SheetType = SheetType.ComputeDoctorAccount, UnitTypes = new List<UnitType> { UnitType.医生组, UnitType.医技组 } },
new { Name = "护理组临床科室单元核算表", SheetType = SheetType.ComputeNurseAccount, UnitTypes = new List<UnitType> { UnitType.护理组 } },
};
List<PerSheet> result = new List<PerSheet>();
foreach (var info in pairs)
{
if (string.IsNullOrEmpty(dept.AccountingUnit)) continue;
var econDoctor = economicData.FirstOrDefault(t => t.UnitType == item.Name && t.AccountingUnit == dept.Department);
var workDoctor = workloadData.FirstOrDefault(t => t.UnitType == item.Name && t.AccountingUnit == dept.Department);
var doctor = new PerDataAccountDoctor
PerSheet sheet = new PerSheet(info.Name, info.Name, info.SheetType, new List<PerHeader>(), new List<IPerData>());
foreach (var unitType in info.UnitTypes)
{
UnitType = dept.UnitType.Value,
AccountingUnit = dept.AccountingUnit,
Department = dept.Department,
Number = dept.Number + dept.ManagerNumber,
BasicFactor = dept.BasicFactor,
SlopeFactor = dept.SlopeFactor,
OtherPerfor1 = dept.OtherPerfor1,
OtherPerfor2 = dept.OtherPerfor2,
Extra = dept.Extra,
ScoringAverage = dept.ScoringAverage == 0m ? 1 : dept.ScoringAverage,
AdjustFactor = dept.AdjustFactor == 0m ? 1 : dept.AdjustFactor,
Income = econDoctor?.CellValue ?? 0,
WorkloadFee = workDoctor?.CellValue ?? 0,
};
doctor.PerforFee = doctor.Income * (doctor.BasicFactor + doctor.SlopeFactor);
doctor.PerforTotal = doctor.PerforFee + doctor.WorkloadFee + doctor.OtherPerfor1;
doctor.RealGiveFee = (doctor.PerforTotal * doctor.ScoringAverage + doctor.Extra + doctor.OtherPerfor2) * doctor.AdjustFactor;
doctor.Avg = doctor.Number == 0 ? 0 : doctor.PerforTotal / doctor.Number;
data.Add(doctor);
}
var atDataList = dataList.Where(t => t.UnitType == (int)unitType);
foreach (var dept in dataList.Where(t => t.UnitType == (int)unitType))
{
if (string.IsNullOrEmpty(dept.AccountingUnit))
continue;
var econDoctor = economicData.FirstOrDefault(t => t.UnitType == unitType.ToString() && t.AccountingUnit == dept.Department);
var workDoctor = workloadData.FirstOrDefault(t => t.UnitType == unitType.ToString() && t.AccountingUnit == dept.Department);
dept.ScoringAverage = dept.ScoringAverage == 0m ? 1 : dept.ScoringAverage;
dept.AdjustFactor = dept.AdjustFactor == 0m ? 1 : dept.AdjustFactor;
dept.Income = econDoctor?.CellValue ?? 0;
dept.WorkloadFee = workDoctor?.CellValue ?? 0;
dept.PerforFee = dept.Income * (dept.BasicFactor + dept.SlopeFactor);
dept.PerforTotal = dept.PerforFee + dept.WorkloadFee + dept.OtherPerfor1;
dept.RealGiveFee = (dept.PerforTotal * dept.ScoringAverage + dept.Extra + dept.OtherPerfor2) * dept.AdjustFactor;
dept.Avg = dept.Number == 0 ? 0 : dept.PerforTotal / (dept.ManagerNumber + dept.Number);
}
var multi = data.GroupBy(t => t.AccountingUnit)
var multi = atDataList.GroupBy(t => new { t.UnitType, t.AccountingUnit })
.Select(t => new
{
AccountingUnit = t.Key,
UnitType = t.Key.UnitType,
AccountingUnit = t.Key.AccountingUnit,
Count = t.Count(),
RealGiveFee = t.Sum(p => p.RealGiveFee),
PerforTotal = t.Sum(p => p.PerforTotal),
......@@ -294,86 +281,23 @@ private PerSheet ComputeDoctor(IEnumerable<PerDataAccountBaisc> dataList, List<P
if (multi != null && multi.Any())
{
data.ForEach(t =>
foreach (var item in atDataList)
{
if (multi.Any(group => group.AccountingUnit == t.AccountingUnit))
if (multi.Any(group => group.UnitType == item.UnitType && group.AccountingUnit == item.AccountingUnit))
{
t.Avg = multi.FirstOrDefault(group => group.AccountingUnit == t.AccountingUnit).Avg;
t.RealGiveFee = multi.FirstOrDefault(group => group.AccountingUnit == t.AccountingUnit).RealGiveFee;
t.PerforTotal = multi.FirstOrDefault(group => group.AccountingUnit == t.AccountingUnit).PerforTotal;
item.Avg = multi.FirstOrDefault(group => group.AccountingUnit == item.AccountingUnit).Avg;
item.RealGiveFee = multi.FirstOrDefault(group => group.AccountingUnit == item.AccountingUnit).RealGiveFee;
item.PerforTotal = multi.FirstOrDefault(group => group.AccountingUnit == item.AccountingUnit).PerforTotal;
item.Remark = "特殊科室,共用核算单元";
}
});
}
doctorSheet.PerData.AddRange(data);
return doctorSheet;
}
/// <summary>
/// 计算护理组科室绩效
/// </summary>
/// <param name="dataList"></param>
/// <param name="economicData"></param>
/// <param name="workloadData"></param>
private PerSheet ComputeNurse(IEnumerable<PerDataAccountBaisc> dataList, List<PerData> economicData, List<PerData> workloadData)
{
PerSheet nurseSheet = new PerSheet("护理组临床科室单元核算表", "护理组临床科室单元核算表", SheetType.ComputeNurseAccount, new List<PerHeader>(), new List<IPerData>());
var data = new List<PerDataAccountNurse>();
foreach (var dept in dataList.Where(t => t.UnitType == 2))
{
if (string.IsNullOrEmpty(dept.AccountingUnit)) continue;
var econNurse = economicData.FirstOrDefault(t => t.UnitType == "护理组" && t.AccountingUnit == dept.Department);
var workNurse = workloadData.FirstOrDefault(t => t.UnitType == "护理组" && t.AccountingUnit == dept.Department);
var nurse = new PerDataAccountNurse
{
UnitType = dept.UnitType.Value,
AccountingUnit = dept.AccountingUnit,
Department = dept.Department,
Number = dept.Number + dept.ManagerNumber,
BasicFactor = dept.BasicFactor,
SlopeFactor = dept.SlopeFactor,
OtherPerfor1 = dept.OtherPerfor1,
OtherPerfor2 = dept.OtherPerfor2,
Extra = dept.Extra,
ScoringAverage = dept.ScoringAverage == 0m ? 1 : dept.ScoringAverage,
AdjustFactor = dept.AdjustFactor == 0m ? 1 : dept.AdjustFactor,
Income = econNurse?.CellValue ?? 0,
WorkloadFee = workNurse?.CellValue ?? 0,
};
nurse.PerforFee = nurse.Income * (nurse.BasicFactor + nurse.SlopeFactor);
nurse.PerforTotal = nurse.PerforFee + nurse.WorkloadFee + nurse.OtherPerfor1;
nurse.RealGiveFee = (nurse.PerforTotal * nurse.ScoringAverage + nurse.Extra + nurse.OtherPerfor2) * nurse.AdjustFactor;
nurse.Avg = nurse.Number == 0 ? 0 : nurse.PerforTotal / nurse.Number;
data.Add(nurse);
}
var multi = data.GroupBy(t => t.AccountingUnit)
.Select(t => new
{
AccountingUnit = t.Key,
Count = t.Count(),
RealGiveFee = t.Sum(p => p.RealGiveFee),
PerforTotal = t.Sum(p => p.PerforTotal),
Avg = t.Sum(p => p.Number) == 0 ? 0 : t.Sum(p => p.RealGiveFee) / t.Sum(p => p.Number)
})
.Where(t => t.Count > 1).ToArray();
if (multi != null && multi.Any())
{
data.ForEach(t =>
{
if (multi.Any(group => group.AccountingUnit == t.AccountingUnit))
{
t.Avg = multi.FirstOrDefault(group => group.AccountingUnit == t.AccountingUnit).Avg;
t.RealGiveFee = multi.FirstOrDefault(group => group.AccountingUnit == t.AccountingUnit).RealGiveFee;
t.PerforTotal = multi.FirstOrDefault(group => group.AccountingUnit == t.AccountingUnit).PerforTotal;
sheet.PerData.AddRange(atDataList);
}
});
result.Add(sheet);
}
nurseSheet.PerData.AddRange(data);
return nurseSheet;
return result;
}
/// <summary>
......
......@@ -12,8 +12,8 @@ namespace Performance.Services
{
public class ComputeService : IAutoInjection
{
private readonly PerforResaccountdoctorRepository _perforResAccountdoctorRepository;
private readonly PerforResaccountnurseRepository _perforResAccountnurseRepository;
private readonly PerforResaccountRepository perforResaccountRepository;
//private readonly PerforResaccountnurseRepository _perforResAccountnurseRepository;
private readonly PerforPersheetRepository _perforPerSheetRepository;
private readonly PerforImdataRepository _perforImDataRepository;
private readonly PerforRescomputeRepository _perforRescomputeRepository;
......@@ -23,8 +23,8 @@ public class ComputeService : IAutoInjection
private readonly PerforAgemployeeRepository _perforAgemployeeRepository;
private readonly PerforResbaiscnormRepository perforResbaiscnormRepository;
public ComputeService(PerforResaccountdoctorRepository perforResAccountdoctorRepository,
PerforResaccountnurseRepository perforResAccountnurseRepository,
public ComputeService(PerforResaccountRepository perforResaccountRepository,
//PerforResaccountnurseRepository perforResAccountnurseRepository,
PerforPersheetRepository perforPerSheetRepository,
PerforImdataRepository perforImDataRepository,
PerforRescomputeRepository perforRescomputeRepository,
......@@ -34,8 +34,8 @@ public class ComputeService : IAutoInjection
PerforAgemployeeRepository perforAgemployeeRepository,
PerforResbaiscnormRepository perforResbaiscnormRepository)
{
this._perforResAccountdoctorRepository = perforResAccountdoctorRepository;
this._perforResAccountnurseRepository = perforResAccountnurseRepository;
this.perforResaccountRepository = perforResaccountRepository;
//this._perforResAccountnurseRepository = perforResAccountnurseRepository;
this._perforPerSheetRepository = perforPerSheetRepository;
this._perforImDataRepository = perforImDataRepository;
this._perforRescomputeRepository = perforRescomputeRepository;
......@@ -115,7 +115,7 @@ public List<res_specialunit> GetSpecial(int allotId)
/// <returns></returns>
public List<DoctorResponse> GetDoctorPerformance(int allotId)
{
var list = _perforResAccountdoctorRepository.GetEntities(t => t.AllotID == allotId)?.OrderByDescending(t => t.AccountingUnit);
var list = perforResaccountRepository.GetEntities(t => t.UnitType != (int)UnitType.护理组 && t.AllotID == allotId)?.OrderByDescending(t => t.AccountingUnit);
List<DoctorResponse> doctor = Mapper.Map<List<DoctorResponse>>(list);
doctor?.ForEach(t => t.UnitName = "医生组");
return doctor;
......@@ -128,7 +128,7 @@ public List<DoctorResponse> GetDoctorPerformance(int allotId)
/// <returns></returns>
public List<NurseResponse> GetNursePerformance(int allotId)
{
var list = _perforResAccountnurseRepository.GetEntities(t => t.AllotID == allotId)?.OrderByDescending(t => t.AccountingUnit);
var list = perforResaccountRepository.GetEntities(t => t.UnitType == (int)UnitType.护理组 && t.AllotID == allotId)?.OrderByDescending(t => t.AccountingUnit);
List<NurseResponse> nurse = Mapper.Map<List<NurseResponse>>(list);
nurse?.ForEach(t => t.UnitName = "护理组");
return nurse;
......@@ -145,13 +145,13 @@ public DeptDetailResponse GetDepartmentDetail(int allotId, string department, in
{
if (type == 1)
{
var accountList = _perforResAccountdoctorRepository.GetEntities(t => t.AllotID == allotId && t.AccountingUnit == department);
var accountList = perforResaccountRepository.GetEntities(t => t.UnitType != (int)UnitType.护理组 && t.AllotID == allotId && t.AccountingUnit == department);
if (accountList != null)
return GetDepartmentDetail(allotId, accountList.First().ID, type);
}
else if (type == 2)
{
var accountList = _perforResAccountnurseRepository.GetEntities(t => t.AllotID == allotId && t.AccountingUnit == department);
var accountList = perforResaccountRepository.GetEntities(t => t.UnitType == (int)UnitType.护理组 && t.AllotID == allotId && t.AccountingUnit == department);
if (accountList != null)
return GetDepartmentDetail(allotId, accountList.First().ID, type);
}
......@@ -171,11 +171,11 @@ public DeptDetailResponse GetDepartmentDetail(int allotId, int accountId, int ty
var sheetList = _perforPerSheetRepository.GetEntities(t => t.AllotID == allotId);
if (type == 1)
{
var doctor = _perforResAccountdoctorRepository.GetEntity(t => t.AllotID == allotId && t.ID == accountId);
var doctor = perforResaccountRepository.GetEntity(t => t.UnitType != (int)UnitType.护理组 && t.AllotID == allotId && t.ID == accountId);
DeptDetailResponse response = new DeptDetailResponse()
{
Pandect = Mapper.Map<PerDataAccount>(doctor),
Pandect = Mapper.Map<PerDataAccountBaisc>(doctor),
Economic = new List<DeptDetail>(),
Workload = new List<DeptDetail>()
};
......@@ -198,10 +198,10 @@ public DeptDetailResponse GetDepartmentDetail(int allotId, int accountId, int ty
}
else if (type == 2)
{
var nurse = _perforResAccountnurseRepository.GetEntity(t => t.AllotID == allotId && t.ID == accountId);
var nurse = perforResaccountRepository.GetEntity(t => t.UnitType == (int)UnitType.护理组 && t.AllotID == allotId && t.ID == accountId);
DeptDetailResponse response = new DeptDetailResponse()
{
Pandect = Mapper.Map<PerDataAccount>(nurse),
Pandect = Mapper.Map<PerDataAccountBaisc>(nurse),
Economic = new List<DeptDetail>(),
Workload = new List<DeptDetail>()
};
......
......@@ -18,20 +18,18 @@ public class ComputeDirector : IAutoInjection
private readonly BaiscNormService baiscNormService;
private readonly PerforCofdirectorRepository perforCofdirectorRepository;
private readonly PerforCofworkyearRepository perforCofworkyearRepository;
private readonly PerforResaccountnurseRepository perforResAccountnurseRepository;
private readonly PerforResaccountdoctorRepository perforResAccountdoctorRepository;
private readonly PerforResaccountRepository perforResaccountRepository;
//private readonly PerforResaccountdoctorRepository perforResAccountdoctorRepository;
public ComputeDirector(BaiscNormService baiscNormService,
PerforCofdirectorRepository perforCofdirectorRepository,
PerforCofworkyearRepository perforCofworkyearRepository,
PerforResaccountnurseRepository perforResAccountnurseRepository,
PerforResaccountdoctorRepository perforResAccountdoctorRepository)
PerforResaccountRepository perforResaccountRepository)
{
this.baiscNormService = baiscNormService;
this.perforCofdirectorRepository = perforCofdirectorRepository;
this.perforCofworkyearRepository = perforCofworkyearRepository;
this.perforResAccountnurseRepository = perforResAccountnurseRepository;
this.perforResAccountdoctorRepository = perforResAccountdoctorRepository;
this.perforResaccountRepository = perforResaccountRepository;
}
#region 老版计算
......@@ -147,10 +145,8 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
new { AccountUnitType = AccountUnitType.临床科室, PerforType = PerforType.护士长, UnitType = UnitType.护理组 },
new { AccountUnitType = AccountUnitType.医技科室, PerforType = PerforType.医技主任, UnitType = UnitType.医技组 },
};
//取出医生科室
var doctorList = perforResAccountdoctorRepository.GetEntities(t => t.AllotID == allot.ID);
//取出护士科室
var nurseList = perforResAccountnurseRepository.GetEntities(t => t.AllotID == allot.ID);
//取出科室
var dataList = perforResaccountRepository.GetEntities(t => t.AllotID == allot.ID);
List<ComputeResult> computeList = new List<ComputeResult>();
foreach (var accountbasic in accountbasicList)
......@@ -160,21 +156,11 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
if (!accountbasic.DoctorDirectorNumber.HasValue || accountbasic.DoctorDirectorNumber.Value == 0)
continue;
//分别取出对应的 计算 人员 平均值等信息
decimal? number, perforTotal, avg;
if (accountbasic.UnitType == (int)UnitType.护理组)
{
var resAccount = nurseList.Where(t => t.AccountingUnit == accountbasic.DoctorAccountingUnit);
number = resAccount.Max(t => t.Number);
perforTotal = resAccount.Max(t => t.PerforTotal);
avg = resAccount.Max(t => t.PerforTotal);
}
else
{
var resAccount = doctorList.Where(t => t.AccountingUnit == accountbasic.DoctorAccountingUnit);
number = resAccount.Max(t => t.Number);
perforTotal = resAccount.Max(t => t.PerforTotal);
avg = resAccount.Max(t => t.PerforTotal);
}
var resAccount = dataList.Where(t => t.UnitType == accountbasic.UnitType && t.AccountingUnit == accountbasic.DoctorAccountingUnit);
var number = resAccount.OrderByDescending(t => t.ManagerNumber).Sum(t => t.ManagerNumber + t.Number);
var perforTotal = resAccount.Max(t => t.PerforTotal);
var avg = resAccount.Max(t => t.Avg);
var basicRule = basicRuleList.FirstOrDefault(t => t.UnitType == (UnitType)accountbasic.UnitType);
var empolyee = empolyeeList.FirstOrDefault(t =>
t.AccountType == basicRule.AccountUnitType.ToString()
......
......@@ -15,22 +15,22 @@ public class ReportService : IAutoInjection
private PerforPerallotRepository perforPerallotRepository;
private PerforResbaiscnormRepository perforResbaiscnormRepository;
private PerforHospersonfeeRepository perforHospersonfeeRepository;
private PerforResaccountdoctorRepository perforResaccountdoctorRepository;
private PerforResaccountnurseRepository perforResaccountnurseRepository;
private PerforResaccountRepository perforResaccountRepository;
//private PerforResaccountnurseRepository perforResaccountnurseRepository;
public ReportService(PerforReportRepository perforReportRepository,
PerforPerallotRepository perforPerallotRepository,
PerforResbaiscnormRepository perforResbaiscnormRepository,
PerforHospersonfeeRepository perforHospersonfeeRepository,
PerforResaccountdoctorRepository perforResaccountdoctorRepository,
PerforResaccountnurseRepository perforResaccountnurseRepository)
//PerforResaccountdoctorRepository perforResaccountdoctorRepository,
PerforResaccountRepository perforResaccountRepository)
{
this.perforReportRepository = perforReportRepository;
this.perforPerallotRepository = perforPerallotRepository;
this.perforResbaiscnormRepository = perforResbaiscnormRepository;
this.perforHospersonfeeRepository = perforHospersonfeeRepository;
this.perforResaccountdoctorRepository = perforResaccountdoctorRepository;
this.perforResaccountnurseRepository = perforResaccountnurseRepository;
this.perforResaccountRepository = perforResaccountRepository;
//this.perforResaccountnurseRepository = perforResaccountnurseRepository;
}
/// <summary>
......@@ -102,11 +102,11 @@ public List<PerReport> DoctorAvg(int hospitalId, int isIndex)
throw new PerformanceException("用户未创建绩效!");
var result = new List<PerReport>();
var doctorList = perforResaccountdoctorRepository.GetEntities(t => allotList.Select(a => a.ID).Contains(t.AllotID.Value));
var doctorList = perforResaccountRepository.GetEntities(t => t.UnitType != (int)UnitType.护理组 && allotList.Select(a => a.ID).Contains(t.AllotID.Value));
if (isIndex == 1)
{
var allot = allotList.OrderByDescending(t => t.Year).ThenByDescending(t => t.Month).FirstOrDefault();
doctorList = perforResaccountdoctorRepository.GetEntities(t => t.AllotID == allot.ID);
doctorList = perforResaccountRepository.GetEntities(t => t.UnitType != (int)UnitType.护理组 && t.AllotID == allot.ID);
}
if (doctorList == null)
return result;
......@@ -134,11 +134,11 @@ public List<PerReport> NurseAvg(int hospitalId, int isIndex)
throw new PerformanceException("用户未创建绩效!");
var result = new List<PerReport>();
var doctorList = perforResaccountnurseRepository.GetEntities(t => allotList.Select(a => a.ID).Contains(t.AllotID.Value));
var doctorList = perforResaccountRepository.GetEntities(t => t.UnitType == (int)UnitType.护理组 && allotList.Select(a => a.ID).Contains(t.AllotID.Value));
if (isIndex == 1)
{
var allot = allotList.OrderByDescending(t => t.Year).ThenByDescending(t => t.Month).FirstOrDefault();
doctorList = perforResaccountnurseRepository.GetEntities(t => t.AllotID == allot.ID);
doctorList = perforResaccountRepository.GetEntities(t => t.UnitType == (int)UnitType.护理组 && t.AllotID == allot.ID);
}
if (doctorList == null)
return result;
......
......@@ -21,8 +21,8 @@ public class SheetSevice : IAutoInjection
private PerforImheaderRepository _perforImHeaderRepository;
private PerforImemployeeRepository _perforImEmployeeRepository;
private PerforImaccountbasicRepository _perforImaccountbasicRepository;
private PerforResaccountdoctorRepository _perforImaccountdoctorRepository;
private PerforResaccountnurseRepository _perforImaccountnurseRepository;
private PerforResaccountRepository _perforResaccountRepository;
//private PerforResaccountnurseRepository _perforImaccountnurseRepository;
private PerforImspecialunitRepository _perforImspecialunitRepository;
public SheetSevice(PerforPerallotRepository perforAllotRepository,
......@@ -31,8 +31,8 @@ public class SheetSevice : IAutoInjection
PerforImheaderRepository perforImHeaderRepository,
PerforImemployeeRepository perforImEmployeeRepository,
PerforImaccountbasicRepository perforImaccountbasicRepository,
PerforResaccountdoctorRepository perforImaccountdoctorRepository,
PerforResaccountnurseRepository perforImaccountnurseRepository,
PerforResaccountRepository perforResaccountRepository,
//PerforResaccountnurseRepository perforImaccountnurseRepository,
PerforImspecialunitRepository perforImspecialunitRepository)
{
_perforAllotRepository = perforAllotRepository;
......@@ -40,8 +40,8 @@ public class SheetSevice : IAutoInjection
_perforImDataRepository = perforImDataRepository;
_perforImHeaderRepository = perforImHeaderRepository;
_perforImEmployeeRepository = perforImEmployeeRepository;
_perforImaccountdoctorRepository = perforImaccountdoctorRepository;
_perforImaccountnurseRepository = perforImaccountnurseRepository;
_perforResaccountRepository = perforResaccountRepository;
//_perforImaccountnurseRepository = perforImaccountnurseRepository;
_perforImaccountbasicRepository = perforImaccountbasicRepository;
_perforImspecialunitRepository = perforImspecialunitRepository;
}
......@@ -246,7 +246,7 @@ private void CommonExport(int sheetID, SheetExportResponse response)
private void AccountNurseExport(int sheetID, SheetExportResponse response)
{
var list = _perforImaccountnurseRepository.GetEntities(t => t.SheetID == sheetID)?.OrderByDescending(t => t.AccountingUnit);
var list = _perforResaccountRepository.GetEntities(t => t.UnitType == (int)UnitType.护理组 && t.SheetID == sheetID)?.OrderByDescending(t => t.AccountingUnit);
if (list != null && list.Count() > 0)
{
......@@ -294,7 +294,7 @@ private void AccountNurseExport(int sheetID, SheetExportResponse response)
private void AccountDoctorExport(int sheetID, SheetExportResponse response)
{
var list = _perforImaccountdoctorRepository.GetEntities(t => t.SheetID == sheetID)?.OrderByDescending(t => t.AccountingUnit);
var list = _perforResaccountRepository.GetEntities(t => t.UnitType != (int)UnitType.护理组 && t.SheetID == sheetID)?.OrderByDescending(t => t.AccountingUnit);
if (list != null && list.Count() > 0)
{
......
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