Commit cf4e6fe3 by lcx

更新实体类,提取时附带提取首页报表数据

parent ac936e83
...@@ -257,7 +257,6 @@ public ApiResponse CheckRecord([CustomizeValidator(RuleSet = "Delete"), FromBody ...@@ -257,7 +257,6 @@ public ApiResponse CheckRecord([CustomizeValidator(RuleSet = "Delete"), FromBody
return new ApiResponse(ResponseType.OK, list); return new ApiResponse(ResponseType.OK, list);
} }
/// <summary> /// <summary>
/// 绩效校验结果 /// 绩效校验结果
/// </summary> /// </summary>
...@@ -323,7 +322,6 @@ public ApiResponse UpdateAllotShowFormula([FromBody] AllotRequest request) ...@@ -323,7 +322,6 @@ public ApiResponse UpdateAllotShowFormula([FromBody] AllotRequest request)
return new ApiResponse(ResponseType.OK, result); return new ApiResponse(ResponseType.OK, result);
} }
/// <summary> /// <summary>
/// 获取 /// 获取
/// </summary> /// </summary>
...@@ -340,6 +338,7 @@ public ApiResponse Reserved([FromBody] ReservedRequest request) ...@@ -340,6 +338,7 @@ public ApiResponse Reserved([FromBody] ReservedRequest request)
var reserveds = _allotService.GetReserved(request.HospitalId, request.Year, userid); var reserveds = _allotService.GetReserved(request.HospitalId, request.Year, userid);
#region 格式转换 #region 格式转换
var result = reserveds?.Select(w => new var result = reserveds?.Select(w => new
{ {
w.HospitalId, w.HospitalId,
...@@ -395,7 +394,8 @@ public ApiResponse Reserved([FromBody] ReservedRequest request) ...@@ -395,7 +394,8 @@ public ApiResponse Reserved([FromBody] ReservedRequest request)
+ (w.JulFee * (1 - w.JulRatio) ?? 0) + (w.AugFee * (1 - w.AugRatio) ?? 0) + (w.SepFee * (1 - w.SepRatio) ?? 0) + (w.JulFee * (1 - w.JulRatio) ?? 0) + (w.AugFee * (1 - w.AugRatio) ?? 0) + (w.SepFee * (1 - w.SepRatio) ?? 0)
+ (w.OctFee * (1 - w.OctRatio) ?? 0) + (w.NovFee * (1 - w.NovRatio) ?? 0) + (w.DecFee * (1 - w.DecRatio) ?? 0), + (w.OctFee * (1 - w.OctRatio) ?? 0) + (w.NovFee * (1 - w.NovRatio) ?? 0) + (w.DecFee * (1 - w.DecRatio) ?? 0),
}); });
#endregion
#endregion 格式转换
return new ApiResponse(ResponseType.OK, result); return new ApiResponse(ResponseType.OK, result);
} }
......
...@@ -88,6 +88,9 @@ ...@@ -88,6 +88,9 @@
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_workitem"> <member name="P:Performance.EntityModels.PerformanceDbContext.cof_workitem">
<summary> </summary> <summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_workloadtype">
<summary> 工作量分类 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_workyear"> <member name="P:Performance.EntityModels.PerformanceDbContext.cof_workyear">
<summary> 工龄对应绩效系数配置 </summary> <summary> 工龄对应绩效系数配置 </summary>
</member> </member>
...@@ -118,6 +121,12 @@ ...@@ -118,6 +121,12 @@
<member name="P:Performance.EntityModels.PerformanceDbContext.ex_type"> <member name="P:Performance.EntityModels.PerformanceDbContext.ex_type">
<summary> </summary> <summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.PerformanceDbContext.his_data">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.his_script">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.hos_personfee"> <member name="P:Performance.EntityModels.PerformanceDbContext.hos_personfee">
<summary> </summary> <summary> </summary>
</member> </member>
...@@ -1520,6 +1529,36 @@ ...@@ -1520,6 +1529,36 @@
1. 药占比 2. CMI 1. 药占比 2. CMI
</summary> </summary>
</member> </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"> <member name="T:Performance.EntityModels.cof_workyear">
<summary> <summary>
工龄对应绩效系数配置 工龄对应绩效系数配置
...@@ -1985,6 +2024,106 @@ ...@@ -1985,6 +2024,106 @@
来源 来源
</summary> </summary>
</member> </member>
<member name="T:Performance.EntityModels.his_data">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_data.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_data.AllotId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_data.Department">
<summary>
科室
</summary>
</member>
<member name="P:Performance.EntityModels.his_data.PersonnelName">
<summary>
医生姓名
</summary>
</member>
<member name="P:Performance.EntityModels.his_data.PersonnelNumber">
<summary>
人员工号
</summary>
</member>
<member name="P:Performance.EntityModels.his_data.SourceType">
<summary>
来源
</summary>
</member>
<member name="P:Performance.EntityModels.his_data.Category">
<summary>
费用类型
</summary>
</member>
<member name="P:Performance.EntityModels.his_data.ItemName">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_data.Value">
<summary>
费用
</summary>
</member>
<member name="P:Performance.EntityModels.his_data.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="T:Performance.EntityModels.his_script">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_script.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_script.HospitalId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.his_script.SourceType">
<summary>
来源
</summary>
</member>
<member name="P:Performance.EntityModels.his_script.Category">
<summary>
费用类型
</summary>
</member>
<member name="P:Performance.EntityModels.his_script.ExecScript">
<summary>
执行sql
</summary>
</member>
<member name="P:Performance.EntityModels.his_script.DatabaseType">
<summary>
数据库类型1、Sql Server 2、Orcale
</summary>
</member>
<member name="P:Performance.EntityModels.his_script.ConfigId">
<summary>
配置Id
</summary>
</member>
<member name="P:Performance.EntityModels.his_script.IsEnable">
<summary>
是否可用 1 可用 2 不可用
</summary>
</member>
<member name="T:Performance.EntityModels.hos_personfee"> <member name="T:Performance.EntityModels.hos_personfee">
<summary> <summary>
...@@ -3917,7 +4056,7 @@ ...@@ -3917,7 +4056,7 @@
</member> </member>
<member name="P:Performance.EntityModels.per_employee.UnitType"> <member name="P:Performance.EntityModels.per_employee.UnitType">
<summary> <summary>
人员类别 核算单元类别
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.per_employee.Attendance"> <member name="P:Performance.EntityModels.per_employee.Attendance">
...@@ -4070,6 +4209,11 @@ ...@@ -4070,6 +4209,11 @@
年份 年份
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.report_global.Month">
<summary>
月份
</summary>
</member>
<member name="P:Performance.EntityModels.report_global.Value"> <member name="P:Performance.EntityModels.report_global.Value">
<summary> <summary>
...@@ -4290,6 +4434,11 @@ ...@@ -4290,6 +4434,11 @@
费用 费用
</summary> </summary>
</member> </member>
<member name="T:Performance.EntityModels.report_performance">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance.Id"> <member name="P:Performance.EntityModels.report_performance.Id">
<summary> <summary>
...@@ -4297,17 +4446,17 @@ ...@@ -4297,17 +4446,17 @@
</member> </member>
<member name="P:Performance.EntityModels.report_performance.HospitalId"> <member name="P:Performance.EntityModels.report_performance.HospitalId">
<summary> <summary>
医院Id
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.report_performance.Year"> <member name="P:Performance.EntityModels.report_performance.Year">
<summary> <summary>
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.report_performance.Month"> <member name="P:Performance.EntityModels.report_performance.Month">
<summary> <summary>
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.report_performance.PersonnelName"> <member name="P:Performance.EntityModels.report_performance.PersonnelName">
...@@ -4330,6 +4479,16 @@ ...@@ -4330,6 +4479,16 @@
医院科室 医院科室
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.report_performance.UnitType">
<summary>
核算单元类型
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance.SourceType">
<summary>
统计分类
</summary>
</member>
<member name="P:Performance.EntityModels.report_performance.Category"> <member name="P:Performance.EntityModels.report_performance.Category">
<summary> <summary>
统计大分类 统计大分类
...@@ -5140,6 +5299,11 @@ ...@@ -5140,6 +5299,11 @@
人均绩效(来自科室经济测算表) 人均绩效(来自科室经济测算表)
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.res_compute.Basics">
<summary>
基础绩效系数
</summary>
</member>
<member name="P:Performance.EntityModels.res_compute.Efficiency"> <member name="P:Performance.EntityModels.res_compute.Efficiency">
<summary> <summary>
效率绩效(需计算) 效率绩效(需计算)
......
...@@ -74,18 +74,12 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options) ...@@ -74,18 +74,12 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
/// <summary> 上传excel文件校验配置 </summary> /// <summary> 上传excel文件校验配置 </summary>
public virtual DbSet<cof_check> cof_check { get; set; } public virtual DbSet<cof_check> cof_check { get; set; }
///// <summary> </summary>
//public virtual DbSet<cof_cmi> cof_cmi { get; set; }
/// <summary> 科室类型 </summary> /// <summary> 科室类型 </summary>
public virtual DbSet<cof_depttype> cof_depttype { get; set; } public virtual DbSet<cof_depttype> cof_depttype { get; set; }
/// <summary> 规模绩效、效率绩效计算系数配置 </summary> /// <summary> 规模绩效、效率绩效计算系数配置 </summary>
public virtual DbSet<cof_director> cof_director { get; set; } public virtual DbSet<cof_director> cof_director { get; set; }
///// <summary> 工作量门诊药占比系数 </summary>
//public virtual DbSet<cof_drugprop> cof_drugprop { get; set; }
/// <summary> 药占比费用列头名称 </summary> /// <summary> 药占比费用列头名称 </summary>
public virtual DbSet<cof_drugtype> cof_drugtype { get; set; } public virtual DbSet<cof_drugtype> cof_drugtype { get; set; }
...@@ -101,6 +95,9 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options) ...@@ -101,6 +95,9 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
/// <summary> </summary> /// <summary> </summary>
public virtual DbSet<cof_workitem> cof_workitem { get; set; } public virtual DbSet<cof_workitem> cof_workitem { get; set; }
/// <summary> 工作量分类 </summary>
public virtual DbSet<cof_workloadtype> cof_workloadtype { get; set; }
/// <summary> 工龄对应绩效系数配置 </summary> /// <summary> 工龄对应绩效系数配置 </summary>
public virtual DbSet<cof_workyear> cof_workyear { get; set; } public virtual DbSet<cof_workyear> cof_workyear { get; set; }
...@@ -132,6 +129,12 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options) ...@@ -132,6 +129,12 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
public virtual DbSet<ex_type> ex_type { get; set; } public virtual DbSet<ex_type> ex_type { get; set; }
/// <summary> </summary> /// <summary> </summary>
public virtual DbSet<his_data> his_data { get; set; }
/// <summary> </summary>
public virtual DbSet<his_script> his_script { get; set; }
/// <summary> </summary>
public virtual DbSet<hos_personfee> hos_personfee { get; set; } public virtual DbSet<hos_personfee> hos_personfee { get; set; }
/// <summary> 科室核算导入信息 </summary> /// <summary> 科室核算导入信息 </summary>
......
//-----------------------------------------------------------------------
// <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=" 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 AllotId { 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 ItemName { get; set; }
/// <summary>
///费用
/// </summary>
public string Value { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_script.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("his_script")]
public class his_script
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> HospitalId { get; set; }
/// <summary>
/// 来源
/// </summary>
public string SourceType { get; set; }
/// <summary>
/// 费用类型
/// </summary>
public string Category { get; set; }
/// <summary>
/// 执行sql
/// </summary>
public string ExecScript { get; set; }
/// <summary>
/// 数据库类型1、Sql Server 2、Orcale
/// </summary>
public int DatabaseType { get; set; }
/// <summary>
/// 配置Id
/// </summary>
public int ConfigId { get; set; }
/// <summary>
/// 是否可用 1 可用 2 不可用
/// </summary>
public int IsEnable { get; set; }
}
}
...@@ -72,7 +72,7 @@ public class per_employee ...@@ -72,7 +72,7 @@ public class per_employee
public string JobTitle { get; set; } public string JobTitle { get; set; }
/// <summary> /// <summary>
/// 人员类别 /// 核算单元类别
/// </summary> /// </summary>
public string UnitType { get; set; } public string UnitType { get; set; }
......
...@@ -37,6 +37,11 @@ public class report_global ...@@ -37,6 +37,11 @@ public class report_global
public Nullable<int> Year { get; set; } public Nullable<int> Year { get; set; }
/// <summary> /// <summary>
/// 月份
/// </summary>
public Nullable<int> Month { get; set; }
/// <summary>
/// 值 /// 值
/// </summary> /// </summary>
public Nullable<decimal> Value { get; set; } public Nullable<decimal> Value { get; set; }
......
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// <copyright file=" report_performance.cs"> // <copyright file=" report_performance.cs">
// * FileName: .cs // * FileName: .cs
// </copyright> // </copyright>
...@@ -9,6 +9,9 @@ ...@@ -9,6 +9,9 @@
namespace Performance.EntityModels namespace Performance.EntityModels
{ {
/// <summary>
///
/// </summary>
[Table("report_performance")] [Table("report_performance")]
public class report_performance public class report_performance
{ {
...@@ -19,17 +22,17 @@ public class report_performance ...@@ -19,17 +22,17 @@ public class report_performance
public int Id { get; set; } public int Id { get; set; }
/// <summary> /// <summary>
/// 医院Id ///
/// </summary> /// </summary>
public int HospitalId { get; set; } public int HospitalId { get; set; }
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public int Year { get; set; } public int Year { get; set; }
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public int Month { get; set; } public int Month { get; set; }
...@@ -54,6 +57,16 @@ public class report_performance ...@@ -54,6 +57,16 @@ public class report_performance
public string Department { get; set; } public string Department { get; set; }
/// <summary> /// <summary>
/// 核算单元类型
/// </summary>
public string UnitType { get; set; }
/// <summary>
/// 统计分类
/// </summary>
public string SourceType { get; set; }
/// <summary>
/// 统计大分类 /// 统计大分类
/// </summary> /// </summary>
public string Category { get; set; } public string Category { get; set; }
......
...@@ -92,6 +92,11 @@ public class res_compute ...@@ -92,6 +92,11 @@ public class res_compute
public Nullable<decimal> Avg { get; set; } public Nullable<decimal> Avg { get; set; }
/// <summary> /// <summary>
/// 基础绩效系数
/// </summary>
public Nullable<decimal> Basics { get; set; }
/// <summary>
/// 效率绩效(需计算) /// 效率绩效(需计算)
/// </summary> /// </summary>
public Nullable<decimal> Efficiency { get; set; } public Nullable<decimal> Efficiency { get; set; }
......
//-----------------------------------------------------------------------
// <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_script.cs">
// * FileName: his_script.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// his_script Repository
/// </summary>
public partial class PerforHisscriptRepository : PerforRepository<his_script>
{
public PerforHisscriptRepository(PerformanceDbContext context) : base(context)
{
}
}
}
...@@ -4,13 +4,7 @@ ...@@ -4,13 +4,7 @@
// </copyright> // </copyright>
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using Microsoft.EntityFrameworkCore;
using Performance.EntityModels; using Performance.EntityModels;
using Performance.Infrastructure.Models;
using System.Linq.Dynamic.Core;
namespace Performance.Repository namespace Performance.Repository
{ {
...@@ -19,21 +13,8 @@ namespace Performance.Repository ...@@ -19,21 +13,8 @@ namespace Performance.Repository
/// </summary> /// </summary>
public partial class PerforReportperformanceRepository : PerforRepository<report_performance> public partial class PerforReportperformanceRepository : PerforRepository<report_performance>
{ {
private readonly PerformanceDbContext _db;
public PerforReportperformanceRepository(PerformanceDbContext context) : base(context) public PerforReportperformanceRepository(PerformanceDbContext context) : base(context)
{ {
_db = context;
}
public PageList<report_performance> GetAllPaging(Expression<Func<report_performance, bool>> expression, int pageNumber, int pageSize, string orderby = null)
{
IQueryable<report_performance> queryableAuthors = _db.report_performance.AsNoTracking().Where(expression);
if (!string.IsNullOrEmpty(orderby))
queryableAuthors = queryableAuthors.OrderBy(orderby);
return PageList<report_performance>.Create(queryableAuthors, pageNumber, pageSize);
} }
} }
} }
...@@ -506,7 +506,7 @@ public List<TitleValue> ExtractScheme(int hospitalId, List<int> executeType, int ...@@ -506,7 +506,7 @@ public List<TitleValue> ExtractScheme(int hospitalId, List<int> executeType, int
Expression<Func<ex_type, bool>> exp = t => new List<int> { 0, hospitalId }.Contains(t.HospitalId); Expression<Func<ex_type, bool>> exp = t => new List<int> { 0, hospitalId }.Contains(t.HospitalId);
if (executeType.FirstOrDefault() == 1) if (executeType.FirstOrDefault() == 1)
exp = exp.And(t => t.Source == (int)SheetType.Income); exp = exp.And(t => t.Source == (int)SheetType.Income);
else if (sheetType != null && !new int[] { 0, (int)SheetType.Income }.Contains(sheetType.Value)) else if (sheetType.HasValue && sheetType.Value != 0)
exp = exp.And(t => t.Source == sheetType); exp = exp.And(t => t.Source == sheetType);
else else
exp = exp.And(t => t.Source != (int)SheetType.Income); exp = exp.And(t => t.Source != (int)SheetType.Income);
......
...@@ -20,6 +20,8 @@ public class DictionaryService : IAutoInjection ...@@ -20,6 +20,8 @@ public class DictionaryService : IAutoInjection
private readonly PerforHospitalconfigRepository hospitalconfigRepository; private readonly PerforHospitalconfigRepository hospitalconfigRepository;
private readonly PerforExtypeRepository extypeRepository; private readonly PerforExtypeRepository extypeRepository;
private readonly PerforExscriptRepository exscriptRepository; private readonly PerforExscriptRepository exscriptRepository;
private readonly PerforHisdataRepository hisdataRepository;
private readonly PerforHisscriptRepository hisscriptRepository;
public DictionaryService( public DictionaryService(
ILogger<DictionaryService> logger, ILogger<DictionaryService> logger,
...@@ -28,7 +30,9 @@ public class DictionaryService : IAutoInjection ...@@ -28,7 +30,9 @@ public class DictionaryService : IAutoInjection
PerforPeremployeeRepository peremployeeRepository, PerforPeremployeeRepository peremployeeRepository,
PerforHospitalconfigRepository hospitalconfigRepository, PerforHospitalconfigRepository hospitalconfigRepository,
PerforExtypeRepository extypeRepository, PerforExtypeRepository extypeRepository,
PerforExscriptRepository exscriptRepository PerforExscriptRepository exscriptRepository,
PerforHisdataRepository hisdataRepository,
PerforHisscriptRepository hisscriptRepository
) )
{ {
this.logger = logger; this.logger = logger;
...@@ -38,6 +42,8 @@ PerforExscriptRepository exscriptRepository ...@@ -38,6 +42,8 @@ PerforExscriptRepository exscriptRepository
this.hospitalconfigRepository = hospitalconfigRepository; this.hospitalconfigRepository = hospitalconfigRepository;
this.extypeRepository = extypeRepository; this.extypeRepository = extypeRepository;
this.exscriptRepository = exscriptRepository; this.exscriptRepository = exscriptRepository;
this.hisdataRepository = hisdataRepository;
this.hisscriptRepository = hisscriptRepository;
} }
public void Handler(int hospitalId, per_allot allot, string groupName, bool isSingle) public void Handler(int hospitalId, per_allot allot, string groupName, bool isSingle)
...@@ -48,8 +54,8 @@ public void Handler(int hospitalId, per_allot allot, string groupName, bool isSi ...@@ -48,8 +54,8 @@ public void Handler(int hospitalId, per_allot allot, string groupName, bool isSi
if (configs == null || !configs.Any()) throw new Exception("医院未配置绩效抽取信息"); if (configs == null || !configs.Any()) throw new Exception("医院未配置绩效抽取信息");
var types = extypeRepository.GetEntities(t => t.HospitalId == hospitalId && new int[] { 2 }.Contains(t.Source)); var types = extypeRepository.GetEntities(t => t.HospitalId == hospitalId && new int[] { 2 }.Contains(t.Source));
if (types == null || !types.Any()) return; if (types != null && types.Any())
{
logService.ReturnTheLog(allot.ID, groupName, 2, "提取数据", $"提取人员信息数据", isSingle: isSingle); logService.ReturnTheLog(allot.ID, groupName, 2, "提取数据", $"提取人员信息数据", isSingle: isSingle);
var scripts = exscriptRepository.GetEntities(t => types.Select(s => s.Id).Contains(t.TypeId) && t.IsEnable == 1); var scripts = exscriptRepository.GetEntities(t => types.Select(s => s.Id).Contains(t.TypeId) && t.IsEnable == 1);
if (scripts != null && scripts.Any()) if (scripts != null && scripts.Any())
...@@ -58,11 +64,19 @@ public void Handler(int hospitalId, per_allot allot, string groupName, bool isSi ...@@ -58,11 +64,19 @@ public void Handler(int hospitalId, per_allot allot, string groupName, bool isSi
{ {
var typeIds = types.Where(t => t.Source == (int)SheetType.Employee).Select(t => t.Id); var typeIds = types.Where(t => t.Source == (int)SheetType.Employee).Select(t => t.Id);
var script = scripts.FirstOrDefault(t => typeIds.Contains(t.TypeId)); var script = scripts.FirstOrDefault(t => typeIds.Contains(t.TypeId));
if (script == null) return; if (script != null)
Employee(allot, configs.FirstOrDefault(t => t.Id == script.ConfigId), script.ExecScript); Employee(allot, configs.FirstOrDefault(t => t.Id == script.ConfigId), script.ExecScript);
} }
} }
} }
var hisScrips = hisscriptRepository.GetEntities(t => t.HospitalId == hospitalId);
if (hisScrips == null || !hisScrips.Any()) return;
foreach (var item in hisScrips)
{
HisData(allot, configs.FirstOrDefault(t => t.Id == item.ConfigId), item);
}
}
catch (Exception ex) catch (Exception ex)
{ {
logger.LogError("获取数据时发生异常"); logger.LogError("获取数据时发生异常");
...@@ -98,6 +112,36 @@ private void Employee(per_allot allot, sys_hospitalconfig config, string sql) ...@@ -98,6 +112,36 @@ private void Employee(per_allot allot, sys_hospitalconfig config, string sql)
} }
} }
private void HisData(per_allot allot, sys_hospitalconfig config, his_script script)
{
try
{
if (config == null || string.IsNullOrEmpty(script.ExecScript)) return;
var data = queryService.QueryData<his_data>(config, allot, script.ExecScript);
if (data == null || !data.Any()) return;
var hisdata = hisdataRepository.GetEntities(t => t.AllotId == allot.ID && t.SourceType == script.SourceType && t.Category == script.Category);
if (hisdata != null && hisdata.Any())
{
hisdataRepository.RemoveRange(hisdata.ToArray());
}
data.ToList().ForEach(t =>
{
t.AllotId = allot.ID;
t.SourceType = script.SourceType;
t.Category = script.Category;
t.CreateTime = DateTime.Now;
});
hisdataRepository.AddRange(data.ToArray());
}
catch (Exception ex)
{
logger.LogError("获取his_data时发生异常:" + ex.ToString());
}
}
private void Department() private void Department()
{ {
} }
......
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