Commit d505db1e by lcx
parents 6330cc49 340d8cb1
{
"version": 1,
"isRoot": true,
"tools": {
"dotnet-ef": {
"version": "5.0.1",
"commands": [
"dotnet-ef"
]
}
}
}
\ No newline at end of file
......@@ -294,5 +294,80 @@ public ApiResponse<UserResponse> Password(int userId)
var user = _userService.ResetPwd(userId, loginUserId);
return new ApiResponse<UserResponse>(ResponseType.OK, user);
}
#region 多角色
/// <summary>
/// 查询用户信息
/// </summary>
/// <returns></returns>
[Route("selfInfos")]
[HttpPost]
public ApiResponse SelfInfos([FromBody] UserRequest request)
{
var userid = _claim.GetUserId();
var user = _userService.GetUser(userid);
user.Role = _roleService.GetUsersRole(user.UserID);
user.Hospital = _hospitalService.GetUserHopital(user.UserID);
int[] roleArray = new int[] { _options.NurseRole, _options.DirectorRole, _options.SpecialRole, _options.OfficeRole };
if (request.Role <= 0)
user.IsAgainAdmin = user.Role != null ? roleArray.Contains(user.Role.First().Type ?? 0) : false;
else
user.IsAgainAdmin = user.Role != null ? roleArray.Contains(user.Role.First(t=>t.RoleID==request.Role).Type ?? 0) : false;
return new ApiResponse(ResponseType.OK, user);
}
/// <summary>
/// 新增用户
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route("InsertUser")]
[HttpPost]
public ApiResponse<UserResponse> InsertUser([CustomizeValidator(RuleSet = "Insert"), FromBody] UserRequest request)
{
var userId = _claim.GetUserId();
var user = _userService.InsertUser(request, userId);
user.RoleArr = request.RoleArr;
return new ApiResponse<UserResponse>(ResponseType.OK, user);
}
/// <summary>
/// 编辑用户
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route("UpdateUser")]
[HttpPost]
public ApiResponse<UserResponse> UpdateUser([CustomizeValidator(RuleSet = "Update"), FromBody] UserRequest request)
{
var userId = _claim.GetUserId();
int[] roleArray = new int[] { _options.NurseRole, _options.DirectorRole, _options.SpecialRole, _options.OfficeRole };
var roles = _roleService.GetUsersRole(userId);
//var roleType = roles.Select(c => c.Type).ToArray();
var intersect = roleArray.Intersect(roles.Select(c => (int)c.Type).ToArray());
var isAgainAdmin = roles != null ? intersect.Any() : false;
var user = _userService.UpdateUser(request, isAgainAdmin);
user.RoleArr = request.RoleArr;
return new ApiResponse<UserResponse>(ResponseType.OK, user);
}
/// <summary>
/// 新增用户
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route("DeleteUser")]
[HttpPost]
public ApiResponse DeleteUser([CustomizeValidator(RuleSet = "Delete"), FromBody] UserRequest request)
{
return _userService.DeleteUser(request.ID);
}
#endregion
}
}
\ No newline at end of file
......@@ -11,6 +11,7 @@
using Performance.EntityModels;
using Performance.Infrastructure;
using Performance.Services;
using Performance.Services.ExtractExcelService;
using System;
using System.Collections.Generic;
using System.IO;
......@@ -85,6 +86,9 @@ public ApiResponse Import([FromForm] IFormCollection form)
if (file == null)
return new ApiResponse(ResponseType.Fail, "参数错误", "文件无效");
if (!ExtractHelper.IsXlsxFile(file.FileName))
return new ApiResponse(ResponseType.Fail, "文件格式错误", "文件暂只支持xlsx文件");
var again = againAllotService.GetAgainallot(againid);
if (again == null)
return new ApiResponse(ResponseType.Fail, "二次绩效记录不存在");
......
......@@ -258,7 +258,7 @@ public ConfigController(ConfigService configService, AllotService allotService)
[HttpPost]
public ApiResponse GetDrugtypeList([CustomizeValidator(RuleSet = "Select"), FromBody] DrugpropRequest request)
{
var list = _configService.GetDrugtypeList(request.AllotID);
var list = _configService.GetDrugtypeList(request.HospitalId,request.AllotID);
return new ApiResponse(ResponseType.OK, "ok", list);
}
......@@ -372,7 +372,7 @@ public ApiResponse<List<cof_workitem>> GetWorkItems([CustomizeValidator(RuleSet
return new ApiResponse<List<cof_workitem>>(ResponseType.OK, "ok", list);
}
/// <summary>
/// <summary>
/// 新增工作量绩效配置
/// </summary>
/// <param name="request"></param>
......@@ -535,5 +535,73 @@ public ApiResponse WorkHeader([CustomizeValidator(RuleSet = "Select"), FromBody]
var list = _configService.WorkHeader(request.AllotID);
return new ApiResponse(ResponseType.OK, "ok", list);
}
#region HRP人员科室
/// <summary>
/// 获取HRP人员科室
/// </summary>
/// <param name="hospitalId"></param>
/// <param name="allotId"></param>
/// <returns></returns>
[Route("hrpdepthands/{hospitalId}/allot/{allotId}")]
[HttpPost]
public ApiResponse GetHrpDeptHands([FromRoute] int hospitalId, int allotId)
{
if (hospitalId <= 0)
return new ApiResponse(ResponseType.Fail, "参数错误", "HospitalId无效");
if (allotId <= 0)
return new ApiResponse(ResponseType.Fail, "参数错误", "allotid无效");
var relust = _configService.GetHrpDeptHands(hospitalId, allotId);
return new ApiResponse(ResponseType.OK, relust);
}
/// <summary>
/// 保存HRP人员科室
/// </summary>
/// <param name=""></param>
/// <returns></returns>
[Route("savehrpdept/{hospitalId}/allot/{allotId}")]
[HttpPost]
public ApiResponse SaveHrpDept(int hospitalId, int allotId, [FromBody] SaveCollectData request)
{
if (hospitalId <= 0)
return new ApiResponse(ResponseType.Fail, "参数错误", "HospitalId无效");
if (allotId <= 0)
return new ApiResponse(ResponseType.Fail, "参数错误", "allotid无效");
_configService.SaveDepttypeHands(hospitalId, allotId, request);
return new ApiResponse(ResponseType.OK);
}
#endregion
#region 二次分配别名配置
/// <summary>
/// 获取二次分配别名配置
/// </summary>
/// <returns></returns>
[Route("secondaryAlias")]
[HttpPost]
public ApiResponse GetSecondaryAlias()
{
var relust = _configService.GetSecondaryAlias();
return new ApiResponse(ResponseType.OK, relust);
}
/// <summary>
/// 保存二次分配别名配置
/// </summary>
/// <returns></returns>
[Route("saveSecondaryAlias")]
[HttpPost]
public ApiResponse SaveSecondaryAlias([FromBody] SaveCollectData request)
{
_configService.SaveSecondaryAlias(request);
return new ApiResponse(ResponseType.OK);
}
#endregion
}
}
\ No newline at end of file
......@@ -7,6 +7,7 @@
using Performance.EntityModels;
using Performance.Infrastructure;
using Performance.Services;
using Performance.Services.ExtractExcelService;
using System;
using System.Collections.Generic;
using System.IO;
......@@ -407,6 +408,9 @@ public ApiResponse Import([FromForm] IFormCollection form)
if (file == null)
return new ApiResponse(ResponseType.Fail, "参数错误", "文件无效");
if (!ExtractHelper.IsXlsxFile(file.FileName))
return new ApiResponse(ResponseType.Fail, "文件格式错误", "文件暂只支持xlsx文件");
var allot = allotService.GetAllot(allotid);
if (allot == null)
return new ApiResponse(ResponseType.Fail, "allotid不存在");
......
......@@ -17,17 +17,18 @@ namespace Performance.Api.Controllers
[ApiController]
public class ExConfigController : Controller
{
private readonly ILogger<ExConfigController> logger;
private ILogger logger;
private WebapiUrl options;
private ExConfigService configService;
private WebapiUrl url;
public ExConfigController(
ILogger<ExConfigController> logger,
ExConfigService configService,
IOptions<WebapiUrl> url)
IOptions<WebapiUrl> options,
ExConfigService configService)
{
this.logger = logger;
this.options = options.Value;
this.configService = configService;
this.url = url.Value;
}
/// <summary>
......@@ -43,7 +44,7 @@ public ApiResponse Extract([CustomizeValidator(RuleSet = "Query"), FromBody] Mod
if (request.ExecuteType == null || !request.ExecuteType.Any())
return new ApiResponse(ResponseType.ParameterError, "ExecuteType 不存在,请重新选择!");
var list = configService.ExtractScheme(request.HospitalId.Value, request.ExecuteType);
var list = configService.ExtractScheme(request.HospitalId.Value, request.ExecuteType, request.SheetType);
return new ApiResponse(ResponseType.OK, list);
}
......@@ -70,9 +71,24 @@ public ApiResponse FeeSource([FromBody] ModModuleRequest request)
if (request.HospitalId == null || request.HospitalId.Value == 0)
return new ApiResponse(ResponseType.ParameterError, "HospitalId 参数错误!");
string retJson = HttpHelper.HttpPost(url.HttpPost + "/modextract/source", JsonHelper.Serialize(request), true);
var ret = JsonHelper.Deserialize<ApiResponse>(retJson);
return new ApiResponse(ResponseType.OK, ret.Data);
bool isSingle = false;
configService.QueryHosConfigs(request.ModuleId.Value, ref isSingle, out int sheetType);
ModFeeResponse response;
if (isSingle)
{
response = configService.FeeSource(request);
}
else
{
var http = new RestSharpHelper();
var url = http.SetUrl(options.HttpPost, "modextract/source");
var req = http.CreatePostRequest(JsonHelper.Serialize(request));
var res = http.GetResponse(url, req);
var ret = http.GetContent<ApiResponse<ModFeeResponse>>(res);
response = ret.Data;
}
return new ApiResponse(ResponseType.OK, response);
}
/// <summary>
......@@ -161,14 +177,28 @@ public ApiResponse AddItem([FromBody] ItemListRequest request)
[HttpPost]
public ApiResponse Items([FromBody] ModItemRequest request)
{
if (!configService.QueryHosConfigs(request.ModuleId.Value, out int sheetType))
bool isSingle = false;
if (!configService.QueryHosConfigs(request.ModuleId.Value, ref isSingle, out int sheetType))
return new ApiResponse(ResponseType.Fail, "当前医院未配置地址");
if (sheetType == (int)SheetType.Income)
{
logger.LogInformation($"绩效收入模板配置项列表 : 请求地址 {url.HttpPost}/modextract/items");
HttpHelper.HttpPost(url.HttpPost + "/modextract/items", JsonHelper.Serialize(request), true);
logger.LogInformation($"绩效收入模板配置项列表在{DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss完成请求")}");
if (isSingle)
{
configService.AddItems(request.ModuleId.Value);
}
else
{
logger.LogInformation($"绩效收入模板配置项列表 : 请求地址 {options.HttpPost}modextract/items");
var http = new RestSharpHelper();
var url = http.SetUrl(options.HttpPost, "modextract/items");
var req = http.CreatePostRequest(JsonHelper.Serialize(request));
var res = http.GetResponse(url, req);
var ret = http.GetContent<ApiResponse>(res);
logger.LogInformation($"绩效收入模板配置项列表在{DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss完成请求")}");
}
}
var list = configService.QueryItems(request.ModuleId.Value);
return new ApiResponse(ResponseType.OK, list);
......@@ -204,8 +234,8 @@ public ApiResponse DelItem([FromBody] ModItemRequest request)
return new ApiResponse(ResponseType.OK, "删除成功!");
}
#region 特殊科室模板
/// <summary>
/// 特殊科室模板配置项新增
/// </summary>
......@@ -266,7 +296,6 @@ public ApiResponse DelSpecial([FromBody] ModSpecialRequest request)
return new ApiResponse(ResponseType.OK, "删除成功!");
}
/// <summary>
/// 特殊科室人均
/// </summary>
......@@ -278,7 +307,8 @@ public ApiResponse PerforType()
var list = configService.PerforType();
return new ApiResponse(ResponseType.OK, list);
}
#endregion
#endregion 特殊科室模板
/// <summary>
/// 数据配置项
......
using GraphQL;
using GraphQL.Types;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Performance.DtoModels;
using System.Threading.Tasks;
namespace Performance.Api
{
[AllowAnonymous]
[Route("api/graphql")]
[ApiController]
public class GraphQLController : ControllerBase
{
public ISchema performanceSchema { get; }
public IDocumentExecuter documentExecuter { get; }
public ILogger logger { get; set; }
public GraphQLController(ISchema performanceSchema, IDocumentExecuter documentExecuter, ILogger<GraphQLController> logger)
{
this.performanceSchema = performanceSchema;
this.documentExecuter = documentExecuter;
this.logger = logger;
}
/// <summary>
/// GraphQL请求地址
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
[HttpPost]
public async Task<ApiResponse> Post(GraphQLRequest query)
{
var result = await documentExecuter.ExecuteAsync(options =>
{
options.Schema = performanceSchema;
options.Query = query.Query;
});
if (result.Errors?.Count > 0)
{
return new ApiResponse(ResponseType.Error, result.Errors);
}
return new ApiResponse(ResponseType.OK, result.Data);
}
}
}
......@@ -10,6 +10,7 @@
using Performance.DtoModels;
using Performance.Infrastructure;
using Performance.Services;
using Performance.Services.ExtractExcelService;
namespace Performance.Api.Controllers
{
......@@ -47,6 +48,9 @@ public ApiResponse Import([FromForm] IFormCollection form)
if (file == null)
return new ApiResponse(ResponseType.Fail, "参数错误", "文件无效");
if (!ExtractHelper.IsXlsxFile(file.FileName))
return new ApiResponse(ResponseType.Fail, "文件格式错误", "文件暂只支持xlsx文件");
var name = $"History_{FileHelper.GetFileNameNoExtension(file.FileName)}{DateTime.Now:yyyyMMddHHmmssfff}";
var ext = FileHelper.GetExtension(file.FileName);
var dpath = Path.Combine(evn.ContentRootPath, "Files", hospitalid.ToString());
......
......@@ -51,7 +51,7 @@ public ApiResponse Rank([FromBody] HospitalIdRequest request)
public ApiResponse Selection([FromBody] SelectionRequest report)
{
var userId = claimService.GetUserId();
var result = reportDataService.GetReportSelection(report.GroupId, userId);
var result = reportDataService.GetReportSelection(report.GroupId, userId, report.HospitalId);
return new ApiResponse(ResponseType.OK, result);
}
......@@ -70,12 +70,12 @@ public ApiResponse Search([FromBody] SearchReportRequest report)
if (report.Values == null || !report.Values.Any())
return new ApiResponse(ResponseType.OK, new List<ReportData>());
string[] keys = new string[] { "year", "month", };
foreach (var item in report.Values.Where(t => keys.Contains(t.Title)))
{
if (item.Values == null || !item.Values.Any(t => !string.IsNullOrEmpty(t)))
return new ApiResponse(ResponseType.OK, new List<ReportData>());
}
//string[] keys = new string[] { "year", "month", };
//foreach (var item in report.Values.Where(t => keys.Contains(t.Title)))
//{
// if (item.Values == null || !item.Values.Any(t => !string.IsNullOrEmpty(t)))
// return new ApiResponse(ResponseType.OK, new List<ReportData>());
//}
var userId = claimService.GetUserId();
var result = reportDataService.GetReportData(report.HospitalId, report.GroupId, report.ReportId, report.Values ?? new List<SelectionValues>(), userId);
......
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Internal;
using Microsoft.AspNetCore.Mvc;
using Performance.DtoModels;
using Performance.EntityModels;
using Performance.Infrastructure;
using Performance.Services;
using Performance.Services.ExtractExcelService;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
namespace Performance.Api.Controllers
{
[ApiController]
[Route("api/{hospitalId}/report/global")]
public class ReportGlobalController : Controller
{
private readonly IHostingEnvironment env;
private readonly AllotService allotService;
private readonly ReportGlobalService reportGlobalService;
public ReportGlobalController(
IHostingEnvironment env,
AllotService allotService,
ReportGlobalService reportGlobalService
)
{
this.env = env;
this.allotService = allotService;
this.reportGlobalService = reportGlobalService;
}
/// <summary>
/// 获取报表配置信息
/// </summary>
/// <param name="hospitalId"></param>
/// <returns></returns>
[HttpGet]
public ApiResponse GetAllReportGlobal([FromRoute] int hospitalId)
{
//reportGlobalService.CopyPreviousGlobalData(new per_allot
//{
// ID = 101,
// HospitalId = 13,
// Year = 2020,
// Month = 8
//});
var result = reportGlobalService.GetReportGlobals(hospitalId);
return new ApiResponse(ResponseType.OK, result);
}
/// <summary>
/// 添加报表配置
/// </summary>
/// <param name="global"></param>
/// <returns></returns>
[HttpPost]
public ApiResponse CreateReportGlobal([FromBody] report_global global)
{
var result = reportGlobalService.CreateReportGlobal(global);
return new ApiResponse(ResponseType.OK, result);
}
/// <summary>
/// 修改报表配置
/// </summary>
/// <param name="global"></param>
/// <returns></returns>
[HttpPost("update")]
public ApiResponse UpdateReportGlobal([FromBody] report_global global)
{
var result = reportGlobalService.UpdateReportGlobal(global);
return new ApiResponse(ResponseType.OK, result);
}
/// <summary>
/// 删除报表配置
/// </summary>
/// <param name="globalId"></param>
/// <returns></returns>
[HttpPost("{globalId}")]
public ApiResponse DeleteReportGlobal([FromRoute] int globalId)
{
var result = reportGlobalService.DeleteReportGlobal(globalId);
return new ApiResponse(ResponseType.OK, result);
}
/// <summary>
/// 上传人员绩效文件
/// </summary>
/// <param name="hospitalId"></param>
/// <param name="form"></param>
/// <returns></returns>
[Route("import")]
[HttpPost]
public ApiResponse Import(int hospitalId, [FromForm] IFormCollection form)
{
var file = ((FormFileCollection)form.Files).FirstOrDefault();
if (file == null)
return new ApiResponse(ResponseType.Fail, "参数错误", "文件无效");
if (!ExtractHelper.IsXlsxFile(file.FileName))
return new ApiResponse(ResponseType.Fail, "文件格式错误", "文件暂只支持xlsx文件");
var name = FileHelper.GetFileNameNoExtension(file.FileName) + DateTime.Now.ToString("yyyyMMddHHmmssfff");
var ext = FileHelper.GetExtension(file.FileName);
var dpath = Path.Combine(env.ContentRootPath, "Files", $"{hospitalId}", $"ImportDataFiles");
FileHelper.CreateDirectory(dpath);
var path = Path.Combine(dpath, $"{name}{ext}");
using (var stream = file.OpenReadStream())
{
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length);
if (!FileHelper.CreateFile(path, bytes))
return new ApiResponse(ResponseType.Fail, $"{file.FileName}上传失败");
}
reportGlobalService.ImportAllotData(hospitalId, path);
return new ApiResponse(ResponseType.OK);
}
#region 人员、科室标签配置
/// <summary>
/// 获取人员标签配置
/// </summary>
/// <param name="hospitalId"></param>
/// <returns></returns>
[Route("ReportPersonTag")]
[HttpPost]
public ApiResponse ReportPersonTag(int hospitalId)
{
if (hospitalId<=0)
{
return new ApiResponse(ResponseType.Fail,"参数错误", "hospitalId无效");
}
var relust = reportGlobalService.GetReportPersonTag(hospitalId);
return new ApiResponse(ResponseType.OK, relust);
}
/// <summary>
/// 保存科室标签配置
/// </summary>
/// <param name="hospitalId"></param>
/// <param name="request"></param>
/// <returns></returns>
[Route("saveReportPersonTag")]
[HttpPost]
public ApiResponse SaveReportPersonTag(int hospitalId,[FromBody] SaveCollectData request)
{
if (hospitalId <= 0)
{
return new ApiResponse(ResponseType.Fail, "参数错误", "hospitalId无效");
}
reportGlobalService.SaveReportPersonTag(hospitalId,request);
return new ApiResponse(ResponseType.OK);
}
/// <summary>
/// 获取人员标签配置
/// </summary>
/// <param name="hospitalId"></param>
/// <returns></returns>
[Route("ReportTag")]
[HttpPost]
public ApiResponse ReportTag(int hospitalId)
{
if (hospitalId <= 0)
{
return new ApiResponse(ResponseType.Fail, "参数错误", "hospitalId无效");
}
var relust = reportGlobalService.GetReportTag(hospitalId);
return new ApiResponse(ResponseType.OK, relust);
}
/// <summary>
/// 保存科室标签配置
/// </summary>
/// <param name="hospitalId"></param>
/// <param name="request"></param>
/// <returns></returns>
[Route("saveReportTag")]
[HttpPost]
public ApiResponse SaveReportTag(int hospitalId, [FromBody] SaveCollectData request)
{
if (hospitalId <= 0)
{
return new ApiResponse(ResponseType.Fail, "参数错误", "hospitalId无效");
}
reportGlobalService.SaveReportTag(hospitalId, request);
return new ApiResponse(ResponseType.OK);
}
#endregion
}
}
using GraphQL.Types;
using Performance.DtoModels;
namespace Performance.Api
{
public class ChartDataType : ObjectGraphType<ChartData>
{
public ChartDataType()
{
Field(x => x.X, nullable: true);
Field(x => x.Y, nullable: true);
Field(x => x.Name, nullable: true);
Field(x => x.Value, nullable: true);
Field(x => x.Total, nullable: true);
Field(x => x.Type, nullable: true);
}
}
}
using GraphQL;
using GraphQL.Types;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Performance.Api
{
public static class GraphQLExtension
{
public static void AddGraphQLSchemaAndTypes(this IServiceCollection services)
{
services.AddScoped<ChartDataType>();
services.AddScoped<ReportDataType>();
services.AddScoped<ReportPerformanceType>();
services.AddScoped<PerformanceQuery>();
services.AddScoped<ISchema, PerformanceSchema>();
services.AddScoped<IDocumentExecuter, DocumentExecuter>();
services.AddScoped<IDependencyResolver>(provider => new FuncDependencyResolver
(
type => provider.GetRequiredService(type)
));
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Performance.Api
{
public class GraphQLRequest
{
public string Query { get; set; }
}
}
using Dapper;
using GraphQL.Types;
using Performance.DtoModels;
using Performance.Infrastructure;
using Performance.Services;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Performance.Api
{
public class PerformanceQuery : ObjectGraphType
{
public PerformanceQuery(GraphQLService service)
{
Field<ListGraphType<ReportDataType>>("info",
resolve: context =>
{
return service.GetReportsInfo();
}
);
Field<ReportDataType>("report",
arguments: new QueryArguments
(
new QueryArgument<IntGraphType>() { Name = QueryParams.reportId }
),
resolve: context =>
{
int reportId = context.Arguments.ContainsKey(QueryParams.reportId)
? ConvertHelper.To<int>(context.Arguments[QueryParams.reportId])
: 0;
return service.GetReport(reportId);
}
);
Field<ListGraphType<ChartDataType>>("chartdata",
arguments: Arguments(
new QueryArgument<StringGraphType>() { Name = QueryParams.accountingUnit }
),
resolve: context =>
{
int reportId = context.Arguments.ContainsKey(QueryParams.reportId)
? ConvertHelper.To<int>(context.Arguments[QueryParams.reportId])
: 0;
var parameters = GetDynamicParameters(context.Arguments, QueryParams.hospitalId, QueryParams.year, QueryParams.month, QueryParams.accountingUnit);
return service.GetChartData(reportId, parameters);
}
);
Field<ListGraphType<ReportPerformanceType>>("performances",
arguments: Arguments(
new QueryArgument<StringGraphType>() { Name = QueryParams.accountingUnit },
new QueryArgument<StringGraphType>() { Name = QueryParams.category },
new QueryArgument<StringGraphType>() { Name = QueryParams.itemName }
),
resolve: context =>
{
int reportId = context.Arguments.ContainsKey(QueryParams.reportId)
? ConvertHelper.To<int>(context.Arguments[QueryParams.reportId])
: 0;
var parameters = GetDynamicParameters(context.Arguments, QueryParams.hospitalId, QueryParams.year, QueryParams.month, QueryParams.accountingUnit, QueryParams.category, QueryParams.itemName);
return service.GetReportPerformance(reportId, parameters);
}
);
}
public static QueryArguments Arguments(params QueryArgument[] args)
{
var basic = new QueryArguments
{
new QueryArgument<IntGraphType>() { Name = QueryParams.reportId },
new QueryArgument<IntGraphType>() { Name = QueryParams.hospitalId },
new QueryArgument<IntGraphType>() { Name = QueryParams.year },
new QueryArgument<IntGraphType>() { Name = QueryParams.month }
};
if (args != null && args.Any())
{
foreach (var item in args)
{
basic.Add(item);
}
}
return basic;
}
public DynamicParameters GetDynamicParameters(Dictionary<string, object> arguments, params string[] fields)
{
DynamicParameters parameters = new DynamicParameters();
if (arguments == null || !arguments.Any()) return parameters;
if (fields != null && fields.Any())
{
foreach (var item in fields)
{
if (arguments.ContainsKey(item))
{
parameters.Add(item.ToLower(), arguments[item]);
}
}
}
return parameters;
}
}
}
using GraphQL;
using GraphQL.Types;
namespace Performance.Api
{
public class PerformanceSchema : Schema
{
public PerformanceSchema(PerformanceQuery query, IDependencyResolver dependencyResolver)
{
Query = query;
DependencyResolver = dependencyResolver;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Performance.Api
{
public struct QueryParams
{
public const string pageSize = "pageSize";
public const string pageNumber = "pageNumber";
public const string hospitalId = "hospitalId";
public const string year = "year";
public const string month = "month";
public const string reportId = "reportID";
public const string sourceType = "sourceType";
public const string accountingUnit = "accountingUnit";
public const string category = "category";
public const string itemName = "itemName";
}
}
using GraphQL.Types;
using Performance.DtoModels;
using Performance.Infrastructure;
using Performance.Services;
namespace Performance.Api
{
public class ReportDataType : ObjectGraphType<ReportData>
{
public ReportDataType()
{
Field(x => x.ReportID, type: typeof(IdGraphType));
Field(x => x.ChartType, nullable: true);
Field(x => x.Sort, nullable: true);
Field(x => x.Title);
Field(x => x.QueryName);
Field(x => x.QueryArguments);
Field(x => x.XTitle);
Field(x => x.XUnit);
Field(x => x.YTitle);
Field(x => x.YUnit);
Field(x => x.VTitle);
Field(x => x.VUnit);
Field(x => x.NTitle);
Field(x => x.NUnit);
Field(x => x.Formula);
Field(x => x.DataType, nullable: true);
Field(x => x.FilterValue, nullable: true);
}
}
}
using GraphQL.Types;
using Performance.DtoModels;
using Performance.EntityModels;
namespace Performance.Api
{
public class ReportPerformanceType : ObjectGraphType<ReportTable>
{
public ReportPerformanceType()
{
Field(x => x.PersonnelName, nullable: true);
Field(x => x.PersonnelNumber, nullable: true);
Field(x => x.AccountingUnit, nullable: true);
Field(x => x.Category, nullable: true);
Field(x => x.ItemName, nullable: true);
Field(x => x.CurrentValue, nullable: true);
Field(x => x.LastIssueValue, nullable: true);
Field(x => x.SamePeriodValue, nullable: true);
Field(x => x.BudgetValue, nullable: true);
Field(x => x.RatioValue, nullable: true);
}
}
}
......@@ -32,6 +32,7 @@
<PropertyGroup>
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
<UserSecretsId>e732666b-5531-4cd8-b713-2fe3db31126c</UserSecretsId>
</PropertyGroup>
<ItemGroup>
......@@ -39,6 +40,7 @@
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="6.0.0" />
<PackageReference Include="CSRedisCore" Version="3.0.45" />
<PackageReference Include="FluentValidation.AspNetCore" Version="8.1.3" />
<PackageReference Include="GraphQL" Version="2.4.0" />
<PackageReference Include="Hangfire" Version="1.6.22" />
<PackageReference Include="Hangfire.MySql.Core" Version="2.2.2" />
<PackageReference Include="Microsoft.AspNetCore.App" />
......@@ -104,6 +106,9 @@
<None Update="Template\医院绩效模板.xlsx">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Template\导入数据模板.xlsx">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ProjectExtensions><VisualStudio><UserProperties appsettings_1json__JSONSchema="" /></VisualStudio></ProjectExtensions>
......
......@@ -54,6 +54,8 @@ public void ConfigureServices(IServiceCollection services)
var connection = services.BuildServiceProvider().GetService<IOptions<AppConnection>>();
services.AddGraphQLSchemaAndTypes();
#region json & fluentvalidation & filter
services
......@@ -261,4 +263,4 @@ public bool Authorize(Hangfire.Dashboard.DashboardContext context)
}
#endregion hangfire 权限
}
\ No newline at end of file
}
......@@ -29,8 +29,8 @@
},
"WebapiUrl": {
// 抽取结果保存地址
"ImportFile": "http://localhost:5001/api/template/savefile",
"ImportFile": "http://localhost:5001/api/",
// 抽取uri
"HttpPost": "http://localhost:50997/api"
"HttpPost": "http://localhost:50997/api/"
}
}
......@@ -8,7 +8,7 @@
},
"AppConnection": {
//"PerformanceConnectionString": "server=112.124.13.17;database=db_performance;uid=suvalue;pwd=suvalue2016;pooling=true;charset=utf8;convert zero datetime=true;port=3306;connection timeout=120;max pool size=512;allow user variables=true;",
"PerformanceConnectionString": "server=192.168.18.166;database=db_yubei;uid=root;pwd=1234qwer;pooling=true;charset=utf8;convert zero datetime=true;port=3306;connection timeout=120;max pool size=512;allow user variables=true;",
"PerformanceConnectionString": "server=192.168.18.166;database=db_performance_screen;uid=root;pwd=1234qwer;pooling=true;charset=utf8;convert zero datetime=true;port=3306;connection timeout=120;max pool size=512;allow user variables=true;",
"HangfireConnectionString": "server=192.168.18.166;database=db_hangfire;uid=root;pwd=1234qwer;port=3306;allow user variables=true;",
"RedisConnectionString": "116.62.245.55:6379,defaultDatabase=2"
},
......@@ -33,8 +33,8 @@
},
"WebapiUrl": {
// 抽取结果保存地址
"ImportFile": "http://localhost:5001/api/template/savefile",
"ImportFile": "http://localhost:5001/api/",
// 抽取uri
"HttpPost": "http://localhost:50997/api"
"HttpPost": "http://localhost:50997/api/"
}
}
......@@ -48,8 +48,8 @@
},
"WebapiUrl": {
// 抽取结果保存地址
"ImportFile": "http://localhost:5001/api/template/savefile",
"ImportFile": "http://localhost:5001/api/",
// 抽取uri
"HttpPost": "http://localhost:50997/api"
"HttpPost": "http://localhost:50997/api/"
}
}
......@@ -110,6 +110,33 @@
<param name="userId">用户id</param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AccountController.SelfInfos(Performance.DtoModels.UserRequest)">
<summary>
查询用户信息
</summary>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AccountController.InsertUser(Performance.DtoModels.UserRequest)">
<summary>
新增用户
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AccountController.UpdateUser(Performance.DtoModels.UserRequest)">
<summary>
编辑用户
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AccountController.DeleteUser(Performance.DtoModels.UserRequest)">
<summary>
新增用户
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="T:Performance.Api.Controllers.AgainAllotController">
<summary>
科室二次分配
......@@ -177,6 +204,13 @@
<param name="form"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AllotController.ImportExtraction(System.Int32)">
<summary>
上传文件
</summary>
<param name="form"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AllotController.Generate(Performance.DtoModels.AllotRequest)">
<summary>
绩效生成
......@@ -184,6 +218,13 @@
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AllotController.Recalculation(Performance.DtoModels.RecalculationRequest)">
<summary>
重新计算院领导绩效
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AllotController.Pigeonhole(Performance.DtoModels.AllotRequest)">
<summary>
归档绩效记录
......@@ -504,7 +545,7 @@
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.WorkItemInsert(Performance.DtoModels.WorkItemRequest)">
<summary>
<summary>
新增工作量绩效配置
</summary>
<param name="request"></param>
......@@ -559,6 +600,21 @@
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.GetHrpDeptHands(System.Int32,System.Int32)">
<summary>
获取HRP人员科室
</summary>
<param name="hospitalId"></param>
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.SaveHrpDept(System.Int32,System.Int32,Performance.DtoModels.SaveCollectData)">
<summary>
保存HRP人员科室
</summary>
<param name=""></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetEmployeeList(Performance.DtoModels.EmployeeRequest)">
<summary>
获取人员列表
......@@ -1107,6 +1163,42 @@
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ReportGlobalController.GetAllReportGlobal(System.Int32)">
<summary>
获取报表配置信息
</summary>
<param name="hospitalId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ReportGlobalController.CreateReportGlobal(Performance.EntityModels.report_global)">
<summary>
添加报表配置
</summary>
<param name="global"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ReportGlobalController.UpdateReportGlobal(Performance.EntityModels.report_global)">
<summary>
修改报表配置
</summary>
<param name="global"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ReportGlobalController.DeleteReportGlobal(System.Int32)">
<summary>
删除报表配置
</summary>
<param name="globalId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ReportGlobalController.Import(System.Int32,Microsoft.AspNetCore.Http.IFormCollection)">
<summary>
上传人员绩效文件
</summary>
<param name="hospitalId"></param>
<param name="form"></param>
<returns></returns>
</member>
<member name="T:Performance.Api.Controllers.SecondAllotController">
<summary>
二次绩效
......@@ -1318,6 +1410,12 @@
<param name="form"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.TemplateController.Prejudge(System.Int32)">
<summary>
提取前检查
</summary>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.TemplateController.NewExtractData(Performance.DtoModels.ExtractRequest)">
<summary>
提取绩效数据
......@@ -1331,24 +1429,17 @@
</summary>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.TemplateController.SaveFile(Microsoft.AspNetCore.Http.IFormCollection,System.Int32,System.Int32)">
<member name="M:Performance.Api.Controllers.TemplateController.SaveFile">
<summary>
保存提取文件
</summary>
<param name="form"></param>
<param name="allotId"></param>
<param name="hospitalId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.TemplateController.ReturnLog(System.Int32,System.String,System.String,System.Int32,System.String)">
<member name="M:Performance.Api.Controllers.TemplateController.ReturnLog(Performance.DtoModels.SignalrLogRequest)">
<summary>
返回日志
</summary>
<param name="type">1 进度条 2 信息</param>
<param name="tag"></param>
<param name="message"></param>
<param name="level"></param>
<param name="groupName"></param>
<param name="request"></param>
</member>
<member name="M:Performance.Api.Controllers.TemplateController.ReturnLog(Performance.EntityModels.log_dbug)">
<summary>
......@@ -1360,6 +1451,13 @@
返回日志
</summary>
</member>
<member name="M:Performance.Api.GraphQLController.Post(Performance.Api.GraphQLRequest)">
<summary>
GraphQL请求地址
</summary>
<param name="query"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.ClaimService.GetUserId">
<summary>
获取当前请求登录ID
......
......@@ -180,11 +180,11 @@
<summary> 日期 </summary>
</member>
<member name="M:Performance.DtoModels.HandsonTable.SetRowData(System.Collections.Generic.IEnumerable{Performance.DtoModels.HandsonRowData},System.Boolean)">
<summary>
<summary>
</summary>
<param name="datas"></param>
<param name="isTypein">是否是用户录入的 是:true 不是:false</param>
</summary>
<param name="datas"></param>
<param name="isTypein">是否是用户录入的 是:true 不是:false</param>
</member>
<member name="P:Performance.DtoModels.HistoryData.Year">
<summary>
......@@ -818,6 +818,9 @@
<member name="F:Performance.DtoModels.SheetType.WorkloadIncline">
<summary> 工作量倾斜系数 </summary>
</member>
<member name="F:Performance.DtoModels.SheetType.Assess">
<summary> 考核 </summary>
</member>
<member name="T:Performance.DtoModels.AccountUnitType">
<summary>
核算单元类型
......@@ -1532,20 +1535,30 @@
</summary>
</member>
<member name="P:Performance.DtoModels.ReportData.ChartType">
<summary>
<summary>
</summary>
</summary>
</member>
<member name="P:Performance.DtoModels.ReportData.Sort">
<summary>
<summary>
</summary>
</summary>
</member>
<member name="P:Performance.DtoModels.ReportData.Title">
<summary>
报表标题
</summary>
</member>
<member name="P:Performance.DtoModels.ReportData.QueryName">
<summary>
查询方法名称
</summary>
</member>
<member name="P:Performance.DtoModels.ReportData.QueryArguments">
<summary>
查询参数
</summary>
</member>
<member name="P:Performance.DtoModels.ReportData.XTitle">
<summary>
X轴标题
......@@ -1716,6 +1729,56 @@
Not In
</summary>
</member>
<member name="P:Performance.DtoModels.ReportTable.PersonnelName">
<summary>
人员信息
</summary>
</member>
<member name="P:Performance.DtoModels.ReportTable.PersonnelNumber">
<summary>
人员工号
</summary>
</member>
<member name="P:Performance.DtoModels.ReportTable.AccountingUnit">
<summary>
核算单元
</summary>
</member>
<member name="P:Performance.DtoModels.ReportTable.Category">
<summary>
统计大分类
</summary>
</member>
<member name="P:Performance.DtoModels.ReportTable.ItemName">
<summary>
统计小分类
</summary>
</member>
<member name="P:Performance.DtoModels.ReportTable.CurrentValue">
<summary>
本期
</summary>
</member>
<member name="P:Performance.DtoModels.ReportTable.LastIssueValue">
<summary>
上期
</summary>
</member>
<member name="P:Performance.DtoModels.ReportTable.SamePeriodValue">
<summary>
同期
</summary>
</member>
<member name="P:Performance.DtoModels.ReportTable.BudgetValue">
<summary>
预算
</summary>
</member>
<member name="P:Performance.DtoModels.ReportTable.RatioValue">
<summary>
比率
</summary>
</member>
<member name="T:Performance.DtoModels.AgainAllotRequest">
<summary>
二次分配请求
......@@ -2003,23 +2066,33 @@
<member name="P:Performance.DtoModels.ExtractRequest.AllotId">
<summary>
绩效ID
</summary>
</summary>
</member>
<member name="P:Performance.DtoModels.ExtractRequest.HospitalId">
<summary>
医院ID
</summary>
</summary>
</member>
<member name="P:Performance.DtoModels.ExtractRequest.UseScheme">
<summary>
使用方案
</summary>
</summary>
</member>
<member name="P:Performance.DtoModels.ExtractRequest.Email">
<summary>
邮箱
</summary>
</member>
<member name="P:Performance.DtoModels.ExtractRequest.GroupName">
<summary>
Signalr分组名称
</summary>
</member>
<member name="P:Performance.DtoModels.ExtractRequest.UserId">
<summary>
用户Id
</summary>
</member>
<member name="P:Performance.DtoModels.GuaranteeRequest.Id">
<summary> </summary>
</member>
......@@ -2285,6 +2358,11 @@
角色
</summary>
</member>
<member name="P:Performance.DtoModels.UserRequest.RoleArr">
<summary>
角色Arr
</summary>
</member>
<member name="P:Performance.DtoModels.UserRequest.HosIDArray">
<summary>
用户医院ID
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -10,12 +10,12 @@ public class HandsonTable
{
private IEnumerable<collect_permission> _permissions;
private List<Dictionary<string, string>> _data;
public HandsonTable(int sheetType, string[] cols, List<collect_permission> permissions)
{
_permissions = permissions;
_data = new List<Dictionary<string, string>>();
InitColHeaders(sheetType, cols);
InitColumns(permissions);
}
......@@ -25,7 +25,7 @@ public HandsonTable(int sheetType, string[] cols, List<collect_permission> permi
public HandsonColumn[] Columns { get; private set; }
/// <summary>
///
///
/// </summary>
/// <param name="datas"></param>
/// <param name="isTypein">是否是用户录入的 是:true 不是:false</param>
......@@ -40,6 +40,8 @@ public void SetRowData(IEnumerable<HandsonRowData> datas, bool isTypein)
dic[item.Name.ToLower()] = item.Value?.ToString() ?? "";
else if (dic.ContainsKey(item.Name.ToLower()) && _permissions.Any(w => w.HeadName.ToLower() == item.Name.ToLower() && w.AttachLast > 0))
dic[item.Name.ToLower()] = item.Value?.ToString() ?? "";
else if (dic.ContainsKey(item.Name.ToLower()) && _permissions.Any(w => w.HeadName.ToLower() == item.Name.ToLower()))
dic[item.Name.ToLower()] = item.Value?.ToString() ?? "";
}
_data.Add(dic);
}
......@@ -105,21 +107,24 @@ public HandsonColumn(string data, bool readOnly = false, DataFormat format = Dat
case DataFormat.普通格式:
Type = "text";
break;
case DataFormat.小数:
Type = "numeric";
NumericFormat = new NumericFormat { Pattern = "0,00.00" };
break;
case DataFormat.百分比:
Type = "numeric";
NumericFormat = new NumericFormat { Pattern = "0,00.00%" };
break;
}
}
public string Data { get; set; }
public bool ReadOnly { get; set; }
public string Type { get; set; }
public string[] Source { get; set; }
public bool Strict { get; set; } = false;
public NumericFormat NumericFormat { get; set; }
}
......
......@@ -11,32 +11,41 @@ public enum ExcelVersion
xls
}
/// <summary> 核算单元类型 </summary>
public enum UnitType
{
[Description("医生组")]
医生组 = 1,
[Description("护理组")]
护理组 = 2,
[Description("医技组")]
医技组 = 3,
[Description("专家组")]
专家组 = 4,
//[Description("其他")]
//其他 = 5,
[Description("特殊核算组")]
特殊核算组 = 6,
[Description("其他医生组")]
其他医生组 = 7,
[Description("其他护理组")]
其他护理组 = 8,
[Description("其他医技组")]
其他医技组 = 9,
[Description("行政高层")]
行政高层 = 10,
[Description("行政中层")]
行政中层 = 11,
[Description("行政后勤")]
行政后勤 = 12,
}
......@@ -46,27 +55,35 @@ public enum SheetType
/// <summary> 无法识别 </summary>
[Description("无法识别")]
Unidentifiable = 1,
/// <summary> 行政中高层 </summary>
[Description("行政中高层")]
Employee = 2,
/// <summary> 收入 </summary>
[Description("收入")]
Income = 3,
/// <summary> 其他收入 </summary>
[Description("其他收入")]
OtherIncome = 4,
/// <summary> 支出 </summary>
[Description("支出")]
Expend = 5,
/// <summary> 加班 </summary>
[Description("加班")]
Overtime = 6,
/// <summary> 工作量 </summary>
[Description("工作量")]
Workload = 7,
/// <summary> 特殊核算单元 </summary>
[Description("特殊核算单元")]
SpecialUnit = 8,
/// <summary> 临床科室医护绩效测算基础 </summary>
[Description("临床科室医护绩效测算基础")]
AccountBasic = 9,
......@@ -74,15 +91,19 @@ public enum SheetType
/// <summary> 科室经济核算汇总表 </summary>
[Description("科室经济核算汇总表")]
ComputeEconomic = 10,
/// <summary> 医生工作量计算 </summary>
[Description("医生工作量计算")]
ComputeDoctorWorkload = 11,
/// <summary> 护士工作量计算 </summary>
[Description("护士工作量计算")]
ComputeNurseWorkload = 12,
/// <summary> 临床科室医生绩效测算表 </summary>
[Description("临床科室医生绩效测算表")]
ComputeDoctorAccount = 13,
/// <summary> 临床科室护士绩效测算表 </summary>
[Description("临床科室护士绩效测算表")]
ComputeNurseAccount = 14,
......@@ -115,7 +136,6 @@ public enum SheetType
[Description("行政后勤")]
LogisticsEmployee = 21,
/// <summary> 科室考核 </summary>
[Description("科室考核")]
AccountScoreAverage = 25,
......@@ -132,33 +152,41 @@ public enum SheetType
[Description("其他工作量")]
OtherWorkload = 28,
/// <summary> 预算比例 </summary>
[Description("预算比例")]
BudgetRatio = 30,
/// <summary> 科室考核前其他绩效 </summary>
[Description("科室考核前其他绩效")]
AssessBeforeOtherFee = 31,
/// <summary> 其他管理绩效 </summary>
[Description("其他管理绩效")]
PersonOtherManagePerforFee = 32,
/// <summary> 调节后其他管理绩效 </summary>
[Description("调节后其他管理绩效")]
PersonAdjustLaterOtherManagePerforFee = 33,
/// <summary> 个人岗位系数 </summary>
[Description("个人岗位系数")]
PersonPostCoefficient = 34,
/// <summary> 药占比系数 </summary>
[Description("药占比系数")]
WorkloadMedicineProp = 35,
/// <summary> CMI系数 </summary>
[Description("CMI系数")]
WorkloadCMI = 36,
/// <summary> 工作量倾斜系数 </summary>
[Description("工作量倾斜系数")]
WorkloadIncline = 37,
/// <summary> 考核 </summary>
[Description("考核")]
Assess = 38, //该参数作用类似于 其他工作量
}
/// <summary>
......@@ -169,18 +197,23 @@ public enum AccountUnitType
/// <summary> </summary>
[Description("")]
Null = 1,
/// <summary> 临床科室 </summary>
[Description("科主任")]
科主任 = 2,
/// <summary> 临床科室 </summary>
[Description("护士长")]
护士长 = 3,
/// <summary> 行政高层 </summary>
[Description("行政高层")]
行政高层 = 4,
/// <summary> 临床科室 </summary>
[Description("行政中层")]
行政中层 = 5,
/// <summary> 临床科室 </summary>
[Description("行政工勤")]
行政工勤 = 6,
......@@ -190,30 +223,43 @@ public enum PerforType
{
[Description("临床科室主任人均绩效")]
临床主任,
[Description("临床科室副主任人均绩效")]
临床副主任,
[Description("医技科室主任人均绩效")]
医技主任,
[Description("医技科室副主任人均绩效")]
医技副主任,
[Description("护士长人均绩效")]
护士长,
[Description("护士人均绩效")]
护士,
[Description("临床主任护士长平均")]
临床主任护士长平均,
[Description("临床主任医技主任护士长平均")]
临床主任医技主任护士长平均,
[Description("临床医生人均绩效")]
临床医生,
[Description("医技医生人均绩效")]
医技医生,
[Description("行政高层人均绩效")]
行政高层,
[Description("行政中层人均绩效")]
行政中层,
[Description("行政工勤人均绩效")]
行政工勤,
[Description("医生护士平均绩效")]
医生护士平均,
}
......@@ -225,12 +271,16 @@ public enum MinimumType
{
[Description("保底绩效临床医生人均绩效")]
保底临床医生 = 1,
[Description("保底绩效医技医生人均绩效")]
保底医技医生 = 2,
[Description("保底绩效护士人均绩效")]
保底护士 = 3,
[Description("保底绩效行政工勤人均绩效")]
保底工勤 = 4,
[Description("自定义保底绩效")]
自定义保底 = 5,
}
......
......@@ -13,6 +13,8 @@ public ReportData(rep_report report)
ChartType = report.ChartType;
Sort = report.Sort;
Title = report.Title;
QueryName = report.QueryName;
QueryArguments = report.QueryArguments;
XTitle = report.XTitle;
XUnit = report.XUnit;
YTitle = report.YTitle;
......@@ -30,12 +32,12 @@ public ReportData(rep_report report)
public int ReportID { get; set; }
/// <summary>
///
///
/// </summary>
public Nullable<int> ChartType { get; set; }
/// <summary>
///
///
/// </summary>
public Nullable<int> Sort { get; set; }
......@@ -45,6 +47,16 @@ public ReportData(rep_report report)
public string Title { get; set; }
/// <summary>
/// 查询方法名称
/// </summary>
public string QueryName { get; set; }
/// <summary>
/// 查询参数
/// </summary>
public string QueryArguments { get; set; }
/// <summary>
/// X轴标题
/// </summary>
public string XTitle { get; set; }
......@@ -115,23 +127,27 @@ public class ChartData
/// X轴内容
/// </summary>
public string X { get; set; }
/// <summary>
/// Y轴内容
/// </summary>
public string Y { get; set; }
/// <summary>
/// 分类
/// </summary>
public string Name { get; set; }
/// <summary>
/// 值
/// </summary>
public Double Value { get; set; }
public decimal Value { get; set; }
/// <summary>
/// 总量
/// </summary>
public Double? Total { get; set; }
public Nullable<decimal> Total { get; set; }
/// <summary>
/// ChartData 类型标签
/// </summary>
......
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.DtoModels
{
public class ReportTable
{
/// <summary>
/// 人员信息
/// </summary>
public string PersonnelName { get; set; }
/// <summary>
/// 人员工号
/// </summary>
public string PersonnelNumber { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 统计大分类
/// </summary>
public string Category { get; set; }
/// <summary>
/// 统计小分类
/// </summary>
public string ItemName { get; set; }
/// <summary>
/// 本期
/// </summary>
public decimal CurrentValue { get; set; }
/// <summary>
/// 上期
/// </summary>
public decimal LastIssueValue { get; set; }
/// <summary>
/// 同期
/// </summary>
public decimal SamePeriodValue { get; set; }
/// <summary>
/// 预算
/// </summary>
public decimal BudgetValue { get; set; }
/// <summary>
/// 比率
/// </summary>
public decimal RatioValue { get; set; }
}
}
......@@ -9,6 +9,8 @@ public class DrugpropRequest
{
public int ID { get; set; }
public int HospitalId { get; set; }
public int AllotID { get; set; }
/// <summary>
/// 药占比最大范围(小于)
......@@ -43,6 +45,7 @@ public DrugpropRequestValidator()
RuleSet("Insert", () =>
{
RuleFor(x => x.HospitalId).NotNull().GreaterThan(0);
RuleFor(x => x.AllotID).NotNull().GreaterThan(0);
});
......
......@@ -9,17 +9,17 @@ public class ExtractRequest
{
/// <summary>
/// 绩效ID
/// </summary>
/// </summary>
public int AllotId { get; set; }
/// <summary>
/// 医院ID
/// </summary>
/// </summary>
public int HospitalId { get; set; }
/// <summary>
/// 使用方案
/// </summary>
/// </summary>
public int UseScheme { get; set; }
/// <summary>
......@@ -27,9 +27,16 @@ public class ExtractRequest
/// </summary>
public string Email { get; set; }
/// <summary>
/// Signalr分组名称
/// </summary>
public string GroupName { get; set; }
}
/// <summary>
/// 用户Id
/// </summary>
public int UserId { get; set; }
}
public class ExtractRequestValidator : AbstractValidator<ExtractRequest>
{
......
......@@ -14,8 +14,8 @@ public class SecondEmpRequest
public string EmployeeName { get; set; }
public string JobNumber { get; set; }
}
public class SecondEmpRequestValidator : AbstractValidator<SecondEmpRequest>
{
public SecondEmpRequestValidator()
......
......@@ -9,7 +9,7 @@ public class HospitalIdRequest
{
public int HospitalId { get; set; }
}
public class SelectionRequest
public class SelectionRequest : HospitalIdRequest
{
public int GroupId { get; set; }
}
......
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.DtoModels
{
public class SignalrLogRequest
{
public int Type { get; set; }
public string Tag { get; set; }
public string Message { get; set; }
public int Level { get; set; }
public string GroupName { get; set; }
}
}
......@@ -42,7 +42,11 @@ public class UserRequest
/// 角色
/// </summary>
public int Role { get; set; }
/// <summary>
/// 角色Arr
/// </summary>
public int[] RoleArr { get; set; }
/// <summary>
/// 用户医院ID
/// </summary>
......@@ -69,7 +73,7 @@ public UserRequestValidator()
RuleSet("Insert", () =>
{
action();
RuleFor(x => x.Role).NotNull().NotEmpty().GreaterThan(0);
RuleFor(x => x.RoleArr).NotNull().NotEmpty();
RuleFor(x => x.Password).NotNull().NotEmpty().Length(4, 20);
RuleFor(x => x.HosIDArray).NotNull().NotEmpty().Must(f => f.Length > 0);
});
......@@ -80,7 +84,7 @@ public UserRequestValidator()
RuleFor(x => x.ID).NotNull().NotEmpty().GreaterThan(0);
RuleFor(x => x.States).InclusiveBetween(1, 2);
//RuleFor(x => x.Password).Length(4, 20);
RuleFor(x => x.Role).NotNull().NotEmpty().GreaterThan(0);
RuleFor(x => x.RoleArr).NotNull().NotEmpty();
RuleFor(x => x.HosIDArray).NotNull().NotEmpty().Must(f => f.Length > 0);
});
......
......@@ -32,5 +32,7 @@ public class RoleResponse
/// 首页地址
/// </summary>
public string IndexUrl { get; set; }
public int Value { get; set; }
}
}
......@@ -17,5 +17,7 @@ public class UserResponse
public string Hospital { get; set; }
public int Role { get; set; }
public string Department { get; set; }
public int[] RoleArr { get; set; }
}
}
......@@ -70,5 +70,10 @@ public class sys_user
/// 删除状态 1可用 2删除
/// </summary>
public Nullable<int> IsDelete { get; set; }
/// <summary>
/// 父级ID
/// </summary>
public Nullable<int> ParentID { get; set; }
}
}
......@@ -7,66 +7,75 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
namespace Performance.EntityModels
{
/// <summary>
/// 二次绩效结果表
/// </summary>
[Table("ag_compute")]
public class ag_compute
public class ag_compute
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
public int Id { get; set; }
/// <summary>
/// 绩效ID
/// </summary>
public Nullable<int> AllotId { get; set; }
/// <summary>
/// 二次绩效ID
/// </summary>
public Nullable<int> SecondId { get; set; }
/// <summary>
/// 科室类型
/// </summary>
public string UnitType { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 职称
/// </summary>
public string WorkPost { get; set; }
/// <summary>
/// 工号
/// </summary>
public string JobNumber { get; set; }
/// <summary>
/// 人员名称
/// </summary>
public string PersonName { get; set; }
/// <summary>
/// 可分配绩效
/// </summary>
public Nullable<decimal> PerforSumFee { get; set; }
/// <summary>
/// 管理绩效
/// </summary>
public Nullable<decimal> PerforManagementFee { get; set; }
/// <summary>
/// 医院其他绩效
/// </summary>
public Nullable<decimal> OthePerfor { get; set; }
/// <summary>
/// 实发绩效工资金额
/// 夜班工作量绩效
/// </summary>
public Nullable<decimal> NightWorkPerfor { get; set; }
/// <summary>
/// 实发金额
/// </summary>
......
//-----------------------------------------------------------------------
// <copyright file=" ag_fixatitem.cs">
// * FileName: 二次绩效固定项.cs
// * FileName: 二次绩效固定项.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
namespace Performance.EntityModels
{
/// <summary>
/// 二次绩效固定项
/// </summary>
[Table("ag_fixatitem")]
public class ag_fixatitem
public class ag_fixatitem
{
/// <summary>
///
///
/// </summary>
[Key]
public int ID { get; set; }
public int ID { get; set; }
/// <summary>
///
///
/// </summary>
public Nullable<int> AllotId { get; set; }
/// <summary>
/// 二次绩效ID
/// </summary>
public Nullable<int> SecondId { get; set; }
/// <summary>
///
///
/// </summary>
public string UnitType { get; set; }
/// <summary>
/// 行号
/// </summary>
public Nullable<int> RowNumber { get; set; }
/// <summary>
/// 项目名
/// </summary>
public string ItemName { get; set; }
/// <summary>
/// 值
/// </summary>
public string ItemValue { get; set; }
/// <summary>
/// 系数
/// </summary>
public Nullable<decimal> FactorValue { get; set; }
/// <summary>
/// 排序
/// </summary>
public Nullable<decimal> Sort { get; set; }
/// <summary>
/// 字段类型 1 顶部概况 2 表格固定 3 工作量
/// </summary>
public Nullable<int> Type { get; set; }
/// <summary>
/// 1 自动带出 2 计算得出
/// </summary>
public Nullable<int> SourceType { get; set; }
/// <summary>
/// 1 value相加值为1
/// </summary>
......
//-----------------------------------------------------------------------
// <copyright file=" ag_othersource.cs">
// * FileName: 二次绩效其他绩效来源.cs
// * FileName: 二次绩效其他绩效来源.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
namespace Performance.EntityModels
{
/// <summary>
/// 二次绩效其他绩效来源
/// </summary>
[Table("ag_othersource")]
public class ag_othersource
public class ag_othersource
{
/// <summary>
///
///
/// </summary>
[Key]
public int Id { get; set; }
public int Id { get; set; }
/// <summary>
///
///
/// </summary>
public Nullable<int> SecondId { get; set; }
/// <summary>
/// 工号
/// </summary>
public string WorkNumber { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 职称
/// </summary>
public string WorkPost { get; set; }
/// <summary>
/// 职称绩效
/// </summary>
public Nullable<decimal> TitlePerformance { get; set; }
/// <summary>
/// 工作量绩效工资
/// </summary>
public Nullable<decimal> WorkPerformance { get; set; }
/// <summary>
/// 科室单项奖励(只读)
/// </summary>
public Nullable<decimal> DeptReward { get; set; }
/// <summary>
/// 可分配绩效
/// </summary>
public Nullable<decimal> DistPerformance { get; set; }
/// <summary>
/// 医院其他绩效
/// </summary>
public Nullable<decimal> OtherPerformance { get; set; }
/// <summary>
/// 夜班工作量绩效
/// </summary>
public Nullable<decimal> NightWorkPerformance { get; set; }
/// <summary>
/// 实发绩效工资金额
/// </summary>
public Nullable<decimal> RealAmount { get; set; }
/// <summary>
/// 预留比例
/// </summary>
public Nullable<decimal> ReservedRatio { get; set; }
/// <summary>
/// 预留金额
/// </summary>
public Nullable<decimal> ReservedAmount { get; set; }
/// <summary>
/// 管理津贴
/// </summary>
public Nullable<decimal> ManagementAllowance { get; set; }
/// <summary>
/// 单项奖励
/// </summary>
public Nullable<decimal> IndividualReward { get; set; }
/// <summary>
/// 重点专科分配
/// </summary>
......
......@@ -57,6 +57,26 @@ public class ag_secondallot
public Nullable<decimal> RealGiveFee { get; set; }
/// <summary>
/// 效率绩效
/// </summary>
public Nullable<decimal> Efficiency { get; set; }
/// <summary>
/// 规模绩效
/// </summary>
public Nullable<decimal> Scale { get; set; }
/// <summary>
/// 发放系数
/// </summary>
public Nullable<decimal> Grant { get; set; }
/// <summary>
/// 应发管理绩效
/// </summary>
public Nullable<decimal> ShouldGiveFee { get; set; }
/// <summary>
/// 状态 1 未提交 2 等待审核 3 审核通过 4 驳回
/// </summary>
public Nullable<int> Status { get; set; }
......@@ -85,26 +105,29 @@ public class ag_secondallot
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 护理部审核状态 1 未提交 2 等待审核 3 审核通过 4 驳回
/// </summary>
public Nullable<int> NursingDeptStatus { get; set; }
/// <summary>
/// 护理部审核时间
/// </summary>
public Nullable<DateTime> NursingDeptAuditTime { get; set; }
/// <summary>
/// 护理部审核人
/// </summary>
public Nullable<int> NursingDeptAuditUser { get; set; }
/// <summary>
/// 护理部备注
/// </summary>
public string NursingDeptRemark { get; set; }
/// <summary>
/// 护理部审核状态 2 等待审核 3 审核通过 4 驳回
/// </summary>
public Nullable<int> NursingDeptStatus { get; set; }
/// <summary>
/// 夜班绩效
/// </summary>
public decimal? NightShiftWorkPerforFee { get; set; }
}
}
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels.Entity
{
[Table("cof_alias")]
public class cof_alias
{
[Key]
public int Id { get; set; }
public string Route { get; set; }
public string Name { get; set; }
public string OriginalName { get; set; }
public string Alias { get; set; }
public int States { get; set; }
}
}
////-----------------------------------------------------------------------
//// <copyright file=" cof_cmi.cs">
//// * FileName: .cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using System.ComponentModel.DataAnnotations;
//using System.ComponentModel.DataAnnotations.Schema;
//-----------------------------------------------------------------------
// <copyright file=" cof_cmi.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
//namespace Performance.EntityModels
//{
// /// <summary>
// ///
// /// </summary>
// [Table("cof_cmi")]
// public class cof_cmi
// {
// /// <summary>
// ///
// /// </summary>
// [Key]
// public int Id { get; set; }
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("cof_cmi")]
public class cof_cmi
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
// /// <summary>
// ///
// /// </summary>
// public int AllotId { get; set; }
/// <summary>
///
/// </summary>
public int AllotId { get; set; }
// /// <summary>
// ///
// /// </summary>
// public int UnitType { get; set; }
/// <summary>
///
/// </summary>
public int UnitType { get; set; }
// /// <summary>
// ///
// /// </summary>
// public string AccountingUnit { get; set; }
/// <summary>
///
/// </summary>
public string AccountingUnit { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<decimal> Value { get; set; }
// }
//}
/// <summary>
///
/// </summary>
public Nullable<decimal> Value { get; set; }
}
}
////-----------------------------------------------------------------------
//// <copyright file=" cof_drugprop.cs">
//// * FileName: 工作量门诊药占比系数.cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using System.ComponentModel.DataAnnotations;
//using System.ComponentModel.DataAnnotations.Schema;
//-----------------------------------------------------------------------
// <copyright file=" cof_drugprop.cs">
// * FileName: 工作量门诊药占比系数.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
//namespace Performance.EntityModels
//{
// /// <summary>
// /// 工作量门诊药占比系数
// /// </summary>
// [Table("cof_drugprop")]
// public class cof_drugprop
// {
// /// <summary>
// ///
// /// </summary>
// [Key]
// public int ID { get; set; }
namespace Performance.EntityModels
{
/// <summary>
/// 工作量门诊药占比系数
/// </summary>
[Table("cof_drugprop")]
public class cof_drugprop
{
/// <summary>
///
/// </summary>
[Key]
public int ID { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<int> AllotID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotID { get; set; }
// /// <summary>
// /// 药占比最大范围(小于)
// /// </summary>
// public Nullable<decimal> MaxRange { get; set; }
/// <summary>
/// 药占比最大范围(小于)
/// </summary>
public Nullable<decimal> MaxRange { get; set; }
// /// <summary>
// /// 药占比最小范围(大于等于)
// /// </summary>
// public Nullable<decimal> MinRange { get; set; }
/// <summary>
/// 药占比最小范围(大于等于)
/// </summary>
public Nullable<decimal> MinRange { get; set; }
// /// <summary>
// /// 药占比对应系数
// /// </summary>
// public Nullable<decimal> Value { get; set; }
// }
//}
/// <summary>
/// 药占比对应系数
/// </summary>
public Nullable<decimal> Value { get; set; }
}
}
......@@ -20,7 +20,12 @@ public class cof_drugtype
/// </summary>
[Key]
public int ID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> HospitalId { get; set; }
/// <summary>
///
/// </summary>
......
//-----------------------------------------------------------------------
// <copyright file=" cof_hrp_department.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("cof_hrp_department")]
public class cof_hrp_department
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
///
/// </summary>
public int HospitalId { get; set; }
/// <summary>
///
/// </summary>
public int AllotId { get; set; }
/// <summary>
/// HRP人员科室
/// </summary>
public string HRPDepartment { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
}
}
......@@ -30,7 +30,7 @@ public class cof_workitem
/// 工作量中需做运算的项
/// </summary>
public string Item { get; set; }
/// <summary>
/// 1. 药占比 2. CMI
/// </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=" ag_data.cs">
// * FileName: 二次分配不固定数据.cs
// <copyright file=" collect_data.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
namespace Performance.EntityModels
{
/// <summary>
/// 采集数据
///
/// </summary>
[Table("collect_data")]
public class collect_data
public class collect_data
{
/// <summary>
///
/// </summary>
[Key]
public int ID { get; set; }
public int ID { get; set; }
/// <summary>
///
/// </summary>
public int AllotID { get; set; }
/// <summary>
///
/// </summary>
public string SheetName { get; set; }
/// <summary>
///
/// 核算单元类别 1 医生组 2护理组 3医技组
/// </summary>
public string UnitType { get; set; }
/// <summary>
/// 行号
/// </summary>
public int RowNumber { get; set; }
/// <summary>
/// 人员姓名
/// </summary>
public string EmployeeName { get; set; }
/// <summary>
/// 人员工号
/// </summary>
public string JobNumber { get; set; }
/// <summary>
/// 核算单元名称 医技
/// 核算单元名称医技
/// </summary>
public string AccountingUnitTechnician { get; set; }
/// <summary>
/// 核算单元名称 护士
/// 核算单元名称护士
/// </summary>
public string AccountingUnitNurse { get; set; }
/// <summary>
/// 核算单元名称 医生
/// 核算单元名称医生
/// </summary>
public string AccountingUnitDoctor { get; set; }
/// <summary>
/// 科室名称
/// </summary>
public string Department { get; set; }
/// <summary>
/// 列头类型名称
/// </summary>
public string TypeName { get; set; }
/// <summary>
/// 单元格value
/// </summary>
......
//-----------------------------------------------------------------------
// <copyright file=" ag_data.cs">
// * FileName: 二次分配不固定数据.cs
// <copyright file=" collect_permission.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("collect_permission")]
public class collect_permission
public class collect_permission
{
/// <summary>
///
/// </summary>
[Key]
public int ID { get; set; }
public int Id { get; set; }
/// <summary>
///
/// </summary>
public int HospitalId { get; set; }
/// <summary>
///
/// </summary>
public int UserId { get; set; }
/// <summary>
/// 列头类型名称
///
/// </summary>
public int SheetType { get; set; }
/// <summary>
///
/// </summary>
public string SheetName { get; set; }
/// <summary>
/// 列头名称
/// </summary>
public string HeadName { get; set; }
/// <summary>
/// 0 可读可写 1 只读
/// 0 可 1 只读
/// </summary>
public int? Readnoly { get; set; }
public int Visible { get; set; }
/// <summary>
/// 是否附带上次绩效 0 不附带 1 附带
/// 0 可读可写 1 只读
/// </summary>
public int AttachLast { get; set; }
public int SheetType { get; set; }
public int Readnoly { get; set; }
/// <summary>
/// 0 可见 1 不可见
/// 是否附带上次绩效 0 附带 1 不附带
/// </summary>
public int Visible { get; set; }
public int AttachLast { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file="cust_script.cs">
// * FileName: cust_script.cs
// <copyright file=" cust_script.cs">
// * FileName: 自定义导出.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
namespace Performance.EntityModels
{
/// <summary>
/// 自定义导出
/// </summary>
[Table("cust_script")]
public class cust_script
public class cust_script
{
/// <summary>
///
/// </summary>
[Key]
public int ID { get; set; }
public int Id { get; set; }
/// <summary>
/// 医院ID
/// </summary>
public int HospitalId { get; set; }
/// <summary>
/// 是否允许一次分配下载 1 允许 2 禁止
/// </summary>
public int IsOnceAllot { get; set; }
/// <summary>
/// 是否允许二次分配下载 1 允许 2 禁止
/// </summary>
public int IsSecondAllot { get; set; }
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
/// <summary>
///
/// </summary>
public string Script { get; set; }
/// <summary>
/// 配置Id
/// </summary>
public int ConfigId { get; set; }
/// <summary>
/// 是否可用 1 可用 2 不可用
/// </summary>
......
......@@ -7,40 +7,40 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("ex_script")]
public class ex_script
public class ex_script
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
public int Id { get; set; }
/// <summary>
/// 执行sql
/// </summary>
public string ExecScript { get; set; }
/// <summary>
/// 数据库类型1、Sql Server 2、Orcale
/// </summary>
public int DatabaseType { get; set; }
/// <summary>
/// ExTypeId
/// </summary>
public int TypeId { get; set; }
/// <summary>
/// 配置Id
/// </summary>
public int ConfigId { get; set; }
/// <summary>
/// 是否可用 1 可用 2 不可用
/// </summary>
......
//-----------------------------------------------------------------------
// <copyright file=" his_data.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("his_data")]
public class his_data
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
///
/// </summary>
public int HospitalId { get; set; }
/// <summary>
///
/// </summary>
public int AllotId { get; set; }
/// <summary>
///
/// </summary>
public int Year { get; set; }
/// <summary>
///
/// </summary>
public int Month { get; set; }
/// <summary>
/// His科室
/// </summary>
public string HisDepartment { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 医生姓名
/// </summary>
public string PersonnelName { get; set; }
/// <summary>
/// 人员工号
/// </summary>
public string PersonnelNumber { get; set; }
/// <summary>
/// 来源
/// </summary>
public string SourceType { get; set; }
/// <summary>
/// 费用类型
/// </summary>
public string Category { get; set; }
/// <summary>
/// 原始分类
/// </summary>
public string Original { get; set; }
/// <summary>
/// 标准分类
/// </summary>
public string ItemName { get; set; }
/// <summary>
/// 费用
/// </summary>
public Nullable<decimal> Value { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_import_account.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("his_import_account")]
public class his_import_account
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
/// 医院ID
/// </summary>
public int HospitalId { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotId { get; set; }
/// <summary>
/// 绩效发放年
/// </summary>
public int Year { get; set; }
/// <summary>
/// 绩效发放月
/// </summary>
public int Month { get; set; }
/// <summary>
///
/// </summary>
public string UnitType { get; set; }
/// <summary>
///
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
///
/// </summary>
public Nullable<decimal> Number { get; set; }
/// <summary>
///
/// </summary>
public Nullable<decimal> RealGiveFee { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_import_baiscnorm.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("his_import_baiscnorm")]
public class his_import_baiscnorm
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> HospitalId { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotId { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> Year { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> Month { get; set; }
/// <summary>
/// 绩效核算人群
/// </summary>
public string PositionName { get; set; }
/// <summary>
/// 绩效总额
/// </summary>
public Nullable<decimal> TotelValue { get; set; }
/// <summary>
/// 人均绩效
/// </summary>
public Nullable<decimal> AvgValue { get; set; }
/// <summary>
/// 总人数
/// </summary>
public Nullable<decimal> TotelNumber { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_import_clinic.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("his_import_clinic")]
public class his_import_clinic
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
/// 医院ID
/// </summary>
public int HospitalId { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotId { get; set; }
/// <summary>
/// 绩效发放年
/// </summary>
public int Year { get; set; }
/// <summary>
/// 绩效发放月
/// </summary>
public int Month { get; set; }
/// <summary>
///
/// </summary>
public string UnitType { get; set; }
/// <summary>
/// 核算单元类型(医技科室、临床科室等)
/// </summary>
public string AccountType { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 工号
/// </summary>
public string JobNumber { get; set; }
/// <summary>
/// 人员姓名
/// </summary>
public string EmployeeName { get; set; }
/// <summary>
/// 基础绩效系数
/// </summary>
public Nullable<decimal> Basics { get; set; }
/// <summary>
/// 实发绩效
/// </summary>
public Nullable<decimal> RealGiveFee { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_importdata.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("his_importdata")]
public class his_importdata
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
/// 医院ID
/// </summary>
public int HospitalId { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotId { get; set; }
/// <summary>
/// 年
/// </summary>
public int Year { get; set; }
/// <summary>
/// 月
/// </summary>
public int Month { get; set; }
/// <summary>
/// 科室核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 医生姓名
/// </summary>
public string PersonnelName { get; set; }
/// <summary>
/// 人员工号
/// </summary>
public string PersonnelNumber { get; set; }
/// <summary>
///
/// </summary>
public string SourceType { get; set; }
/// <summary>
/// 一级分类
/// </summary>
public string Category { get; set; }
/// <summary>
/// 原始分类
/// </summary>
public string Original { get; set; }
/// <summary>
/// 二级分类
/// </summary>
public string ItemName { get; set; }
/// <summary>
/// 值
/// </summary>
public Nullable<decimal> Value { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" his_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; }
}
}
......@@ -46,10 +46,10 @@ public class im_accountbasic
/// </summary>
public string NurseAccountingUnit { get; set; }
///// <summary>
///// 科室
///// </summary>
//public string Department { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 是否带入平均计算 是 否
......@@ -61,10 +61,10 @@ public class im_accountbasic
/// </summary>
public Nullable<decimal> PermanentStaff { get; set; }
///// <summary>
///// 科主任数量
///// </summary>
//public Nullable<decimal> DoctorDirectorNumber { get; set; }
/// <summary>
/// 科主任数量
/// </summary>
public Nullable<decimal> DoctorDirectorNumber { get; set; }
/// <summary>
/// 核算单元医生数量
......@@ -76,10 +76,10 @@ public class im_accountbasic
/// </summary>
public Nullable<decimal> DoctorBasicFactor { get; set; }
///// <summary>
///// 倾斜系数
///// </summary>
//public Nullable<decimal> DoctorSlopeFactor { get; set; }
/// <summary>
/// 倾斜系数
/// </summary>
public Nullable<decimal> DoctorSlopeFactor { get; set; }
/// <summary>
/// 规模绩效系数
......@@ -116,10 +116,10 @@ public class im_accountbasic
/// </summary>
public Nullable<decimal> MaterialsExtra { get; set; }
///// <summary>
///// 医院奖罚
///// </summary>
//public Nullable<decimal> DoctorExtra { get; set; }
/// <summary>
/// 医院奖罚
/// </summary>
public Nullable<decimal> DoctorExtra { get; set; }
/// <summary>
/// 考核对分率
......@@ -141,70 +141,70 @@ public class im_accountbasic
/// </summary>
public Nullable<decimal> MinimumFactor { get; set; }
///// <summary>
///// 护士长人数
///// </summary>
//public Nullable<decimal> NurseHeadNumber { get; set; }
///// <summary>
///// 护士人数
///// </summary>
//public Nullable<decimal> NurseNumber { get; set; }
///// <summary>
///// 护理基础系数
///// </summary>
//public Nullable<decimal> NurseBasicFactor { get; set; }
///// <summary>
///// 倾斜系数
///// </summary>
//public Nullable<decimal> NurseSlopeFactor { get; set; }
///// <summary>
///// 规模绩效系数
///// </summary>
//public Nullable<decimal> NurseScale { get; set; }
///// <summary>
///// 效率绩效系数
///// </summary>
//public Nullable<decimal> NurseEffic { get; set; }
///// <summary>
///// 发放系数
///// </summary>
//public Nullable<decimal> NurseGrant { get; set; }
///// <summary>
///// 其他绩效1
///// </summary>
//public Nullable<decimal> NurseOtherPerfor1 { get; set; }
///// <summary>
///// 其他绩效2
///// </summary>
//public Nullable<decimal> NurseOtherPerfor2 { get; set; }
///// <summary>
///// 医院奖罚
///// </summary>
//public Nullable<decimal> NurseExtra { get; set; }
///// <summary>
///// 考核对分率
///// </summary>
//public Nullable<decimal> NurseScoringAverage { get; set; }
///// <summary>
///// 调节系数
///// </summary>
//public Nullable<decimal> NurseAdjustFactor { get; set; }
///// <summary>
///// 工作量倾斜系数
///// </summary>
//public Nullable<decimal> WorkSlopeFactor { get; set; }
/// <summary>
/// 护士长人数
/// </summary>
public Nullable<decimal> NurseHeadNumber { get; set; }
/// <summary>
/// 护士人数
/// </summary>
public Nullable<decimal> NurseNumber { get; set; }
/// <summary>
/// 护理基础系数
/// </summary>
public Nullable<decimal> NurseBasicFactor { get; set; }
/// <summary>
/// 倾斜系数
/// </summary>
public Nullable<decimal> NurseSlopeFactor { get; set; }
/// <summary>
/// 规模绩效系数
/// </summary>
public Nullable<decimal> NurseScale { get; set; }
/// <summary>
/// 效率绩效系数
/// </summary>
public Nullable<decimal> NurseEffic { get; set; }
/// <summary>
/// 发放系数
/// </summary>
public Nullable<decimal> NurseGrant { get; set; }
/// <summary>
/// 其他绩效1
/// </summary>
public Nullable<decimal> NurseOtherPerfor1 { get; set; }
/// <summary>
/// 其他绩效2
/// </summary>
public Nullable<decimal> NurseOtherPerfor2 { get; set; }
/// <summary>
/// 医院奖罚
/// </summary>
public Nullable<decimal> NurseExtra { get; set; }
/// <summary>
/// 考核对分率
/// </summary>
public Nullable<decimal> NurseScoringAverage { get; set; }
/// <summary>
/// 调节系数
/// </summary>
public Nullable<decimal> NurseAdjustFactor { get; set; }
/// <summary>
/// 工作量倾斜系数
/// </summary>
public Nullable<decimal> WorkSlopeFactor { get; set; }
/// <summary>
///
......@@ -215,15 +215,17 @@ public class im_accountbasic
///
/// </summary>
public Nullable<int> UpdateUser { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
......
......@@ -42,24 +42,25 @@ public class im_data
public Nullable<int> RowNumber { get; set; }
/// <summary>
/// 核算单元名称
/// 人员姓名
/// </summary>
public string AccountingUnit { get; set; }
public string EmployeeName { get; set; }
/// <summary>
/// 科室名称
/// 人员工号
/// </summary>
public string Department { get; set; }
public string JobNumber { get; set; }
/// <summary>
/// 人员姓名
/// 核算单元名称
/// </summary>
public string EmployeeName { get; set; }
public string AccountingUnit { get; set; }
/// <summary>
/// 人员工号
/// 科室名称
/// </summary>
public string JobNumber { get; set; }
public string Department { get; set; }
/// <summary>
/// 列头类型名称
/// </summary>
......
......@@ -55,12 +55,12 @@ public class im_employee
/// 绩效基数核算参考对象
/// </summary>
public string FitPeople { get; set; }
/// <summary>
/// 绩效基础核算参考值
/// </summary>
public Nullable<decimal> FitPeopleValue { get; set; }
/// <summary>
/// 绩效基数核算参考对象取值比例(如临床科室护士*95%)
/// </summary>
......@@ -115,7 +115,22 @@ public class im_employee
/// 其他绩效
/// </summary>
public Nullable<decimal> OtherPerfor { get; set; }
/// <summary>
/// 其他绩效2
/// </summary>
public Nullable<decimal> OtherPerfor2 { get; set; }
/// <summary>
/// 其他绩效3
/// </summary>
public Nullable<decimal> OtherPerfor3 { get; set; }
/// <summary>
/// 其他绩效4
/// </summary>
public Nullable<decimal> OtherPerfor4 { get; set; }
/// <summary>
/// 夜班费
/// </summary>
......@@ -145,14 +160,17 @@ public class im_employee
///
/// </summary>
public Nullable<int> UpdateUser { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
......
......@@ -7,162 +7,170 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("im_employee_clinic")]
public class im_employee_clinic
public class im_employee_clinic
{
/// <summary>
///
/// </summary>
[Key]
public int ID { get; set; }
public int ID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotID { get; set; }
/// <summary>
/// sheet页id
/// </summary>
public Nullable<int> SheetID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> RowNumber { get; set; }
/// <summary>
/// 核算单元分类
/// </summary>
public string UnitType { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 科室名称
/// </summary>
public string Department { get; set; }
/// <summary>
/// 人员工号
/// </summary>
public string PersonnelNumber { get; set; }
/// <summary>
/// 医生姓名
/// </summary>
public string DoctorName { get; set; }
/// <summary>
/// 职称
/// </summary>
public string JobTitle { get; set; }
/// <summary>
/// 基础绩效系数
/// </summary>
public Nullable<decimal> Basics { get; set; }
/// <summary>
/// 实际人均绩效
/// </summary>
public Nullable<decimal> FitPeopleValue { get; set; }
/// <summary>
/// 岗位系数
/// </summary>
public Nullable<decimal> PostCoefficient { get; set; }
/// <summary>
/// 效率绩效人数
/// </summary>
public Nullable<decimal> PermanentStaff { get; set; }
/// <summary>
/// 效率绩效系数
/// </summary>
public Nullable<decimal> Efficiency { get; set; }
/// <summary>
/// 规模绩效系数
/// </summary>
public Nullable<decimal> Scale { get; set; }
/// <summary>
/// 管理绩效发放系数
/// </summary>
public Nullable<decimal> Management { get; set; }
/// <summary>
/// 其他管理绩效
/// </summary>
public Nullable<decimal> OtherManagePerfor { get; set; }
/// <summary>
/// 考核得分率
/// </summary>
public Nullable<decimal> ScoreAverageRate { get; set; }
/// <summary>
/// 出勤率
/// </summary>
public Nullable<decimal> Attendance { get; set; }
/// <summary>
/// 核算单元医生数
/// </summary>
public Nullable<int> PeopleNumber { get; set; }
/// <summary>
/// 工作量绩效
/// </summary>
public Nullable<decimal> Workload { get; set; }
/// <summary>
/// 其他绩效
/// </summary>
public Nullable<decimal> OtherPerfor { get; set; }
/// <summary>
/// 其他管理绩效
/// </summary>
public Nullable<decimal> OtherManagePerfor { get; set; }
/// <summary>
/// 夜班费
/// </summary>
public Nullable<decimal> NightWorkPerfor { get; set; }
/// <summary>
/// 医院奖罚
/// </summary>
public Nullable<decimal> Punishment { get; set; }
/// <summary>
/// 调节系数
/// </summary>
public Nullable<decimal> Adjust { get; set; }
/// <summary>
/// 发放系数
/// </summary>
public Nullable<decimal> Grant { get; set; }
/// <summary>
///
/// </summary>
public Nullable<DateTime> UpdateDate { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> UpdateUser { get; set; }
/// <summary>
/// 效率绩效人数
/// </summary>
public Nullable<decimal> PermanentStaff { get; set; }
/// <summary>
/// 实际人均绩效
/// </summary>
public Nullable<decimal> FitPeopleValue { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
......
//-----------------------------------------------------------------------
// <copyright file=" im_employee_clinic.cs">
// <copyright file=" im_employee_logistics.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
......@@ -19,141 +19,113 @@ public class im_employee_logistics
///
/// </summary>
[Key]
public int ID { get; set; }
public int ID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotID { get; set; }
/// <summary>
/// sheet页id
/// </summary>
public Nullable<int> SheetID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> RowNumber { get; set; }
/// <summary>
/// 科室类别(例如 医技科室 临床科室 其他科室)
/// </summary>
public string AccountType { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 科室名称
/// </summary>
public string Department { get; set; }
/// <summary>
/// 绩效基数核算参考对象
/// </summary>
public string FitPeople { get; set; }
/// <summary>
/// 绩效基础核算参考值
/// </summary>
public Nullable<decimal> FitPeopleValue { get; set; }
/// <summary>
/// 绩效基数核算参考对象取值比例(如临床科室护士*95%)
/// </summary>
public Nullable<decimal> FitPeopleRatio { get; set; }
/// <summary>
/// 人员工号
/// </summary>
public string PersonnelNumber { get; set; }
/// <summary>
/// 医生姓名
/// 姓名
/// </summary>
public string DoctorName { get; set; }
/// <summary>
/// 职称
/// </summary>
public string JobTitle { get; set; }
/// <summary>
/// 岗位系数
/// </summary>
public Nullable<decimal> PostCoefficient { get; set; }
///// <summary>
///// 参加工作时间
///// </summary>
//public Nullable<DateTime> WorkTime { get; set; }
/// <summary>
/// 考核得分率
/// </summary>
public Nullable<decimal> ScoreAverageRate { get; set; }
/// <summary>
/// 出勤率
/// </summary>
public Nullable<decimal> Attendance { get; set; }
///// <summary>
///// 核算单元医生数
///// </summary>
//public Nullable<int> PeopleNumber { get; set; }
///// <summary>
///// 工作量绩效
///// </summary>
//public Nullable<decimal> Workload { get; set; }
/// <summary>
/// 其他绩效
/// </summary>
public Nullable<decimal> OtherPerfor { get; set; }
///// <summary>
///// 医院奖罚
///// </summary>
//public Nullable<decimal> Punishment { get; set; }
///// <summary>
///// 调节系数
///// </summary>
//public Nullable<decimal> Adjust { get; set; }
///// <summary>
///// 发放系数
///// </summary>
//public Nullable<decimal> Grant { get; set; }
/// <summary>
///
/// </summary>
public Nullable<DateTime> UpdateDate { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> UpdateUser { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
/// <summary>
/// 是否需要二次分配
/// </summary>
......
......@@ -45,7 +45,7 @@ public class log_dbug
/// 1、信息(info)2、警告(warn)3、错误(error)4、异常(exception)5、成功(success)
/// </summary>
public Nullable<int> Level { get; set; }
/// <summary>
/// 1、绩效生成日志 2、绩效提取日志 3、绩效提取进度
/// </summary>
......
////-----------------------------------------------------------------------
//// <copyright file=" mod_extract.cs">
//// * FileName: 医院数据提取脚本.cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using System.ComponentModel.DataAnnotations;
//using System.ComponentModel.DataAnnotations.Schema;
//-----------------------------------------------------------------------
// <copyright file=" mod_extract.cs">
// * FileName: 医院数据提取脚本.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
//namespace Performance.EntityModels
//{
// /// <summary>
// /// 医院数据提取脚本
// /// </summary>
// [Table("mod_extract")]
// public class mod_extract
// {
// /// <summary>
// ///
// /// </summary>
// [Key]
// public int Id { get; set; }
namespace Performance.EntityModels
{
/// <summary>
/// 医院数据提取脚本
/// </summary>
[Table("mod_extract")]
public class mod_extract
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
// /// <summary>
// /// 医院ID
// /// </summary>
// public Nullable<int> HospitalId { get; set; }
/// <summary>
/// 医院ID
/// </summary>
public Nullable<int> HospitalId { get; set; }
// /// <summary>
// /// 当前脚本提取内容名称
// /// </summary>
// public string EName { get; set; }
/// <summary>
/// 当前脚本提取内容名称
/// </summary>
public string EName { get; set; }
// /// <summary>
// /// 执行脚本
// /// </summary>
// public string ExecuteScript { get; set; }
/// <summary>
/// 执行脚本
/// </summary>
public string ExecuteScript { get; set; }
// /// <summary>
// /// 当前脚本类型 1 收入整表 2 单项数据提取
// /// </summary>
// public Nullable<int> ExecuteType { get; set; }
/// <summary>
/// 当前脚本类型 1 收入整表 2 单项数据提取
/// </summary>
public Nullable<int> ExecuteType { get; set; }
// /// <summary>
// /// 数据库来源类型 1 标准库 2 绩效库
// /// </summary>
// public Nullable<int> SourceType { get; set; }
/// <summary>
/// 数据库来源类型 1 标准库 2 绩效库
/// </summary>
public Nullable<int> SourceType { get; set; }
// /// <summary>
// /// 描述
// /// </summary>
// public string Description { get; set; }
/// <summary>
/// 描述
/// </summary>
public string Description { get; set; }
// /// <summary>
// /// 是否可用 1 可用 2 不可用
// /// </summary>
// public Nullable<int> IsEnable { get; set; }
// }
//}
/// <summary>
/// 是否可用 1 可用 2 不可用
/// </summary>
public Nullable<int> IsEnable { get; set; }
}
}
////-----------------------------------------------------------------------
//// <copyright file=" mod_item.cs">
//// * FileName: .cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using System.ComponentModel.DataAnnotations;
//using System.ComponentModel.DataAnnotations.Schema;
//-----------------------------------------------------------------------
// <copyright file=" mod_item.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
//namespace Performance.EntityModels
//{
// /// <summary>
// ///
// /// </summary>
// [Table("mod_item")]
// public class mod_item
// {
// /// <summary>
// ///
// /// </summary>
// [Key]
// public int Id { get; set; }
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("mod_item")]
public class mod_item
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<int> ModuleId { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> ModuleId { get; set; }
// /// <summary>
// /// 绩效考核项
// /// </summary>
// public string ItemName { get; set; }
/// <summary>
/// 绩效考核项
/// </summary>
public string ItemName { get; set; }
// /// <summary>
// /// 默认系数或医生系数
// /// </summary>
// public Nullable<decimal> FactorValue1 { get; set; }
/// <summary>
/// 默认系数或医生系数
/// </summary>
public Nullable<decimal> FactorValue1 { get; set; }
// /// <summary>
// /// 护理系数
// /// </summary>
// public Nullable<decimal> FactorValue2 { get; set; }
/// <summary>
/// 护理系数
/// </summary>
public Nullable<decimal> FactorValue2 { get; set; }
// /// <summary>
// /// 医技系数
// /// </summary>
// public Nullable<decimal> FactorValue3 { get; set; }
/// <summary>
/// 医技系数
/// </summary>
public Nullable<decimal> FactorValue3 { get; set; }
// /// <summary>
// /// 抽取绩效值SQL
// /// </summary>
// public Nullable<int> ExtractId { get; set; }
/// <summary>
/// 抽取绩效值SQL
/// </summary>
public Nullable<int> ExtractId { get; set; }
// /// <summary>
// /// 数据库地址
// /// </summary>
// public Nullable<int> ConfigId { get; set; }
/// <summary>
/// 数据库地址
/// </summary>
public Nullable<int> ConfigId { get; set; }
// /// <summary>
// /// 用户选定抽取范围
// /// </summary>
// public string SelectionRange { get; set; }
/// <summary>
/// 用户选定抽取范围
/// </summary>
public string SelectionRange { get; set; }
// /// <summary>
// /// 只读 0、否 1、是
// /// </summary>
// public Nullable<int> ReadOnly { get; set; }
// }
//}
/// <summary>
/// 只读 0、否 1、是
/// </summary>
public Nullable<int> ReadOnly { get; set; }
}
}
////-----------------------------------------------------------------------
//// <copyright file=" mod_module.cs">
//// * FileName: .cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using System.ComponentModel.DataAnnotations;
//using System.ComponentModel.DataAnnotations.Schema;
//-----------------------------------------------------------------------
// <copyright file=" mod_module.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
//namespace Performance.EntityModels
//{
// /// <summary>
// ///
// /// </summary>
// [Table("mod_module")]
// public class mod_module
// {
// /// <summary>
// ///
// /// </summary>
// [Key]
// public int Id { get; set; }
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("mod_module")]
public class mod_module
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<int> HospitalId { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> HospitalId { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<int> SheetType { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> SheetType { get; set; }
// /// <summary>
// ///
// /// </summary>
// public string ModuleName { get; set; }
/// <summary>
///
/// </summary>
public string ModuleName { get; set; }
// /// <summary>
// ///
// /// </summary>
// public string Description { get; set; }
/// <summary>
///
/// </summary>
public string Description { get; set; }
// /// <summary>
// /// 提取脚本ID
// /// </summary>
// public Nullable<int> ExtractId { get; set; }
/// <summary>
/// 提取脚本ID
/// </summary>
public Nullable<int> ExtractId { get; set; }
// /// <summary>
// /// 数据库地址
// /// </summary>
// public Nullable<int> ConfigId { get; set; }
/// <summary>
/// 数据库地址
/// </summary>
public Nullable<int> ConfigId { get; set; }
// /// <summary>
// /// 只读 0、否 1、是
// /// </summary>
// public Nullable<int> ReadOnly { get; set; }
/// <summary>
/// 只读 0、否 1、是
/// </summary>
public Nullable<int> ReadOnly { get; set; }
// /// <summary>
// /// 是否生成Item 0、否 1、是
// /// </summary>
// public Nullable<int> IsGenerated { get; set; }
// }
//}
/// <summary>
/// 是否生成Item 0、否 1、是
/// </summary>
public Nullable<int> IsGenerated { get; set; }
}
}
////-----------------------------------------------------------------------
//// <copyright file=" mod_special.cs">
//// * FileName: .cs
//// </copyright>
////-----------------------------------------------------------------------
//using System;
//using System.ComponentModel.DataAnnotations;
//using System.ComponentModel.DataAnnotations.Schema;
//-----------------------------------------------------------------------
// <copyright file=" mod_special.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
//namespace Performance.EntityModels
//{
// /// <summary>
// ///
// /// </summary>
// [Table("mod_special")]
// public class mod_special
// {
// /// <summary>
// ///
// /// </summary>
// [Key]
// public int Id { get; set; }
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("mod_special")]
public class mod_special
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
// /// <summary>
// ///
// /// </summary>
// public Nullable<int> HospitalId { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> HospitalId { get; set; }
// /// <summary>
// /// 科室
// /// </summary>
// public string Department { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
// /// <summary>
// /// 量化指标
// /// </summary>
// public string Target { get; set; }
/// <summary>
/// 量化指标
/// </summary>
public string Target { get; set; }
// /// <summary>
// /// 量化指标绩效分值
// /// </summary>
// public Nullable<decimal> TargetFactor { get; set; }
/// <summary>
/// 量化指标绩效分值
/// </summary>
public Nullable<decimal> TargetFactor { get; set; }
// /// <summary>
// /// 调节系数
// /// </summary>
// public Nullable<decimal> AdjustFactor { get; set; }
/// <summary>
/// 调节系数
/// </summary>
public Nullable<decimal> AdjustFactor { get; set; }
// /// <summary>
// /// 抽取绩效值SQL
// /// </summary>
// public Nullable<int> ExtractId { get; set; }
/// <summary>
/// 抽取绩效值SQL
/// </summary>
public Nullable<int> ExtractId { get; set; }
// /// <summary>
// /// 数据库地址
// /// </summary>
// public Nullable<int> ConfigId { get; set; }
// }
//}
/// <summary>
/// 数据库地址
/// </summary>
public Nullable<int> ConfigId { get; set; }
}
}
......@@ -90,7 +90,7 @@ public class per_allot
/// 0 不显示 1 显示
/// </summary>
public int ShowFormula { get; set; }
/// <summary>
/// 自定义提取绩效数据文件生成路径
/// </summary>
......
......@@ -45,37 +45,32 @@ public class per_apr_amount
/// 金额
/// </summary>
public Nullable<decimal> Amount { get; set; }
/// <summary>
/// 录入科室
/// </summary>
public string TypeInDepartment { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 状态 1 未提交 2 等待审核 3 审核通过 4 驳回
/// </summary>
public int Status { get; set; }
public Nullable<int> Status { get; set; }
/// <summary>
/// 审核时间
/// </summary>
public Nullable<DateTime> AuditTime { get; set; }
/// <summary>
/// 审核人
/// </summary>
public Nullable<int> AuditUser { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
///
/// </summary>
......@@ -85,5 +80,10 @@ public class per_apr_amount
///
/// </summary>
public Nullable<int> CreateUser { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
}
}
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