Commit 9d4515e6 by 纪旭 韦

Merge branch 'develop' into feature/绩效发放

parents 392ad5fc 107eaf30
...@@ -736,6 +736,92 @@ public ApiResponse GetDeptComparison([FromBody] ComparisonPagingRequest request) ...@@ -736,6 +736,92 @@ public ApiResponse GetDeptComparison([FromBody] ComparisonPagingRequest request)
return new ApiResponse(ResponseType.OK, relust); return new ApiResponse(ResponseType.OK, relust);
} }
#region 手工录入
/// <summary>
/// 手工录入 - 下拉列表
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
[Route("getgatherdrop/{allotId}")]
[HttpPost]
public ApiResponse GetGatherDrop([FromRoute] int allotId)
{
if (allotId <= 0)
return new ApiResponse(ResponseType.Fail, "参数错误", "allotid无效");
var relust = employeeService.GetGatherDrop(allotId);
return new ApiResponse(ResponseType.OK, relust);
}
/// <summary>
/// 手工录入 - 录入界面
/// </summary>
/// <param name="allotId"></param>
/// <param name="request"></param>
/// <returns></returns>
[Route("getgatherhands/{allotId}")]
[HttpPost]
public ApiResponse GetGatherHands([FromRoute] int allotId, [FromBody] GatherRequest request)
{
if (allotId <= 0)
return new ApiResponse(ResponseType.Fail, "参数错误", "allotid无效");
var relust = employeeService.GetGatherHands(allotId, request);
return new ApiResponse(ResponseType.OK, relust);
}
/// <summary>
/// 保存手工录入
/// </summary>
/// <param name="allotId"></param>
/// <param name="request"></param>
/// <returns></returns>
[Route("savegatherhands/{allotId}")]
[HttpPost]
public ApiResponse SaveGatherHands(int allotId, [FromBody] SaveGatherData request)
{
if (allotId <= 0)
return new ApiResponse(ResponseType.Fail, "参数错误", "allotid无效");
if (string.IsNullOrEmpty(request.Source) || string.IsNullOrEmpty(request.Category))
return new ApiResponse(ResponseType.OK);
employeeService.SaveGatherHands(allotId, request);
return new ApiResponse(ResponseType.OK);
}
/// <summary>
/// 手工录入列表 - 明细
/// </summary>
/// <param name="allotId"></param>
/// <param name="request"></param>
/// <returns></returns>
[Route("getgather/{allotId}")]
[HttpPost]
public ApiResponse GetGather([FromRoute] int allotId, [FromBody] PersonParamsRequest request)
{
if (allotId <= 0)
return new ApiResponse(ResponseType.Fail, "参数错误", "allotid无效");
var result = employeeService.GetGather(allotId, request);
return new ApiResponse(ResponseType.OK, result);
}
/// <summary>
/// 手工录入列表 - 汇总
/// </summary>
/// <param name="allotId"></param>
/// <param name="request"></param>
/// <returns></returns>
[Route("getgathertotal/{allotId}")]
[HttpPost]
public ApiResponse GetGatherTotal([FromRoute] int allotId, [FromBody] PersonParamsRequest request)
{
return new ApiResponse(ResponseType.OK);
}
#endregion
} }
} }
...@@ -1190,6 +1190,37 @@ ...@@ -1190,6 +1190,37 @@
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetGatherDrop(System.Int32)">
<summary>
手工录入 - 下拉列表
</summary>
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetGatherHands(System.Int32,Performance.DtoModels.GatherRequest)">
<summary>
手工录入
</summary>
<param name="allotId"></param>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.SaveGatherHands(System.Int32,Performance.DtoModels.SaveGatherData)">
<summary>
保存手工录入
</summary>
<param name="allotId"></param>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetGather(System.Int32,Performance.DtoModels.PersonParamsRequest)">
<summary>
手工录入列表
</summary>
<param name="allotId"></param>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ExConfigController.Extract(Performance.DtoModels.ModModuleRequest)"> <member name="M:Performance.Api.Controllers.ExConfigController.Extract(Performance.DtoModels.ModModuleRequest)">
<summary> <summary>
绩效数据抽取模板 绩效数据抽取模板
......
...@@ -157,6 +157,9 @@ ...@@ -157,6 +157,9 @@
<member name="P:Performance.EntityModels.PerformanceDbContext.ex_type"> <member name="P:Performance.EntityModels.PerformanceDbContext.ex_type">
<summary> </summary> <summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.PerformanceDbContext.ex_result_gather">
<summary> </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.his_data"> <member name="P:Performance.EntityModels.PerformanceDbContext.his_data">
<summary> </summary> <summary> </summary>
</member> </member>
...@@ -3571,6 +3574,51 @@ ...@@ -3571,6 +3574,51 @@
1 删除 0 未删除 1 删除 0 未删除
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.ex_result_gather.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.ex_result_gather.AllotId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.ex_result_gather.Department">
<summary>
科室
</summary>
</member>
<member name="P:Performance.EntityModels.ex_result_gather.DoctorName">
<summary>
医生姓名
</summary>
</member>
<member name="P:Performance.EntityModels.ex_result_gather.PersonnelNumber">
<summary>
人员工号
</summary>
</member>
<member name="P:Performance.EntityModels.ex_result_gather.Category">
<summary>
费用类型
</summary>
</member>
<member name="P:Performance.EntityModels.ex_result_gather.Fee">
<summary>
费用
</summary>
</member>
<member name="P:Performance.EntityModels.ex_result_gather.Source">
<summary>
来源
</summary>
</member>
<member name="P:Performance.EntityModels.ex_result_gather.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="T:Performance.EntityModels.ex_script"> <member name="T:Performance.EntityModels.ex_script">
<summary> <summary>
......
...@@ -250,6 +250,9 @@ public AutoMapperConfigs() ...@@ -250,6 +250,9 @@ public AutoMapperConfigs()
CreateMap<ag_secondallot, IssuedPromptResponse>() CreateMap<ag_secondallot, IssuedPromptResponse>()
.ReverseMap(); .ReverseMap();
CreateMap<ex_result, ex_result_gather>()
.ReverseMap();
} }
} }
} }
...@@ -89,4 +89,18 @@ public class PerSheetHeader ...@@ -89,4 +89,18 @@ public class PerSheetHeader
//("调节系数", (t) => Math.Round(t.Adjust.Value * 100, 2), 1, 1, false, true, true, "Adjust"), //("调节系数", (t) => Math.Round(t.Adjust.Value * 100, 2), 1, 1, false, true, true, "Adjust"),
}; };
} }
public class ColumnHeadsConfig
{
public static List<Heads> GatherHeads { get; } = new List<Heads>
{
new Heads{Column="科室",Name=nameof(ex_result_gather.Department)},
new Heads{Column="医生姓名",Name=nameof(ex_result_gather.DoctorName)},
new Heads{Column="人员工号",Name=nameof(ex_result_gather.PersonnelNumber)},
new Heads{Column="费用类型",Name=nameof(ex_result_gather.Category)},
new Heads{Column="费用",Name=nameof(ex_result_gather.Fee)},
new Heads{Column="来源",Name=nameof(ex_result_gather.Source)}
};
}
} }
using Performance.EntityModels; using Performance.EntityModels;
using System; using Performance.Infrastructure.Models;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text;
namespace Performance.DtoModels namespace Performance.DtoModels
{ {
...@@ -17,7 +16,7 @@ public class Heads ...@@ -17,7 +16,7 @@ public class Heads
public string Name { get; set; } public string Name { get; set; }
} }
public class Comparison public class Comparison
{ {
public List<view_check_emp> Datas { get; set; } public List<view_check_emp> Datas { get; set; }
public int TotalCount { get; set; } public int TotalCount { get; set; }
......
using Performance.EntityModels;
using Performance.Infrastructure.Models;
using System.Collections.Generic;
namespace Performance.DtoModels
{
public class GatherResponse
{
public List<Heads> Heads { get; set; }
public PageList<ex_result_gather> Datas { get; set; }
public int CurrentPage { get; set; }
public int TotalPages { get; set; }
public int PageSize { get; set; }
public int TotalCount { get; set; }
}
public class GatherDropResponse
{
public string Label { get; set; }
public string Value { get; set; }
public List<GatherDropResponse> Children { get; set; }
}
public class GatherRequest
{
public string Source { get; set; }
public string Category { get; set; }
}
}
...@@ -29,4 +29,12 @@ public class SaveCustomData ...@@ -29,4 +29,12 @@ public class SaveCustomData
public string[] ColHeaders { get; set; } public string[] ColHeaders { get; set; }
public string[][] Data { get; set; } public string[][] Data { get; set; }
} }
public class SaveGatherData
{
public string Source { get; set; }
public string Category { get; set; }
public string[] ColHeaders { get; set; }
public new string[][] Data { get; set; }
}
} }
...@@ -116,6 +116,8 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options) ...@@ -116,6 +116,8 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
/// <summary> </summary> /// <summary> </summary>
public virtual DbSet<ex_type> ex_type { get; set; } public virtual DbSet<ex_type> ex_type { get; set; }
/// <summary> </summary> /// <summary> </summary>
public virtual DbSet<ex_result_gather> ex_result_gather { get; set; }
/// <summary> </summary>
public virtual DbSet<his_data> his_data { get; set; } public virtual DbSet<his_data> his_data { get; set; }
/// <summary> </summary> /// <summary> </summary>
public virtual DbSet<his_import_account> his_import_account { get; set; } public virtual DbSet<his_import_account> his_import_account { get; set; }
......
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.EntityModels
{
public class ex_result_gather
{
/// <summary>
///
/// </summary>
public int Id { get; set; }
/// <summary>
///
/// </summary>
public int AllotId { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 医生姓名
/// </summary>
public string DoctorName { get; set; }
/// <summary>
/// 人员工号
/// </summary>
public string PersonnelNumber { get; set; }
/// <summary>
/// 费用类型
/// </summary>
public string Category { get; set; }
/// <summary>
/// 费用
/// </summary>
public decimal Fee { get; set; }
/// <summary>
/// 来源
/// </summary>
public string Source { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 1 未通过 2 通过
/// </summary>
public int States { get; set; }
}
}
...@@ -30,6 +30,13 @@ public new PageList<per_employee> GetEntitiesForPaging(int pageNumber, int pageS ...@@ -30,6 +30,13 @@ public new PageList<per_employee> GetEntitiesForPaging(int pageNumber, int pageS
} }
public PageList<ex_result_gather> GetGatherForPaging(int pageNumber, int pageSize, Expression<Func<ex_result_gather, bool>> exp)
{
IQueryable<ex_result_gather> queryableAuthors = context.Set<ex_result_gather>().Where(exp).OrderBy(w => w.Department).ThenBy(t => t.PersonnelNumber);
return PageList<ex_result_gather>.Create(queryableAuthors, pageNumber, pageSize);
}
//public Comparison GetComparison(ComparisonPagingRequest request) //public Comparison GetComparison(ComparisonPagingRequest request)
//{ //{
// var search = ""; // var search = "";
......
using Performance.EntityModels;
namespace Performance.Repository
{
public partial class PerforExresultgatherRepository : PerforRepository<ex_result_gather>
{
public PerforExresultgatherRepository(PerformanceDbContext context) : base(context)
{
}
}
}
...@@ -23,6 +23,7 @@ public class ExtractService : IAutoInjection ...@@ -23,6 +23,7 @@ public class ExtractService : IAutoInjection
private readonly PerSheetService perSheetService; private readonly PerSheetService perSheetService;
private readonly CostTransferDataWrite costTransfer; private readonly CostTransferDataWrite costTransfer;
private readonly DictionaryService dictionaryService; private readonly DictionaryService dictionaryService;
private readonly EmployeeService employeeService;
private readonly CustomDataWrite customDataWrite; private readonly CustomDataWrite customDataWrite;
private readonly PerforPerallotRepository perallotRepository; private readonly PerforPerallotRepository perallotRepository;
private readonly PerforCollectdataRepository collectdataRepository; private readonly PerforCollectdataRepository collectdataRepository;
...@@ -30,6 +31,7 @@ public class ExtractService : IAutoInjection ...@@ -30,6 +31,7 @@ public class ExtractService : IAutoInjection
private readonly PerforPeremployeeRepository peremployeeRepository; private readonly PerforPeremployeeRepository peremployeeRepository;
private readonly PerforPerdeptdicRepository perdeptdicRepository; private readonly PerforPerdeptdicRepository perdeptdicRepository;
private readonly PerforCofdrugtypefactorRepository drugtypefactorRepository; private readonly PerforCofdrugtypefactorRepository drugtypefactorRepository;
private readonly PerforExresultRepository exresultRepository;
public ExtractService( public ExtractService(
ILogger<ExtractService> logger, ILogger<ExtractService> logger,
...@@ -39,13 +41,15 @@ public class ExtractService : IAutoInjection ...@@ -39,13 +41,15 @@ public class ExtractService : IAutoInjection
PerSheetService perSheetService, PerSheetService perSheetService,
CostTransferDataWrite costTransfer, CostTransferDataWrite costTransfer,
DictionaryService dictionaryService, DictionaryService dictionaryService,
EmployeeService employeeService,
CustomDataWrite customDataWrite, CustomDataWrite customDataWrite,
PerforPerallotRepository perallotRepository, PerforPerallotRepository perallotRepository,
PerforCollectdataRepository collectdataRepository, PerforCollectdataRepository collectdataRepository,
PerforExtypeRepository extypeRepository, PerforExtypeRepository extypeRepository,
PerforPeremployeeRepository peremployeeRepository, PerforPeremployeeRepository peremployeeRepository,
PerforPerdeptdicRepository perdeptdicRepository, PerforPerdeptdicRepository perdeptdicRepository,
PerforCofdrugtypefactorRepository drugtypefactorRepository PerforCofdrugtypefactorRepository drugtypefactorRepository,
PerforExresultRepository exresultRepository
) )
{ {
this.logger = logger; this.logger = logger;
...@@ -55,6 +59,7 @@ PerforCofdrugtypefactorRepository drugtypefactorRepository ...@@ -55,6 +59,7 @@ PerforCofdrugtypefactorRepository drugtypefactorRepository
this.perSheetService = perSheetService; this.perSheetService = perSheetService;
this.costTransfer = costTransfer; this.costTransfer = costTransfer;
this.dictionaryService = dictionaryService; this.dictionaryService = dictionaryService;
this.employeeService = employeeService;
this.customDataWrite = customDataWrite; this.customDataWrite = customDataWrite;
this.perallotRepository = perallotRepository; this.perallotRepository = perallotRepository;
this.collectdataRepository = collectdataRepository; this.collectdataRepository = collectdataRepository;
...@@ -62,6 +67,7 @@ PerforCofdrugtypefactorRepository drugtypefactorRepository ...@@ -62,6 +67,7 @@ PerforCofdrugtypefactorRepository drugtypefactorRepository
this.peremployeeRepository = peremployeeRepository; this.peremployeeRepository = peremployeeRepository;
this.perdeptdicRepository = perdeptdicRepository; this.perdeptdicRepository = perdeptdicRepository;
this.drugtypefactorRepository = drugtypefactorRepository; this.drugtypefactorRepository = drugtypefactorRepository;
this.exresultRepository = exresultRepository;
} }
/// <summary> /// <summary>
...@@ -96,7 +102,10 @@ public string Main(int allotId, int hospitalId, string email, string groupName, ...@@ -96,7 +102,10 @@ public string Main(int allotId, int hospitalId, string email, string groupName,
queryService.ClearHistoryData(allot.ID, groupName, isSingle); queryService.ClearHistoryData(allot.ID, groupName, isSingle);
var data = queryService.Handler(hospitalId, allot, groupName, isSingle, ref dict); employeeService.SyncDataToResult(allotId);
var data = exresultRepository.GetEntities(t => t.AllotId == allotId && t.IsDelete == 0);
data.AddRange(queryService.Handler(hospitalId, allot, groupName, isSingle, ref dict));
var standData = StandDataFormat(hospitalId, data); var standData = StandDataFormat(hospitalId, data);
dictionaryService.Handler(hospitalId, allot, groupName, isSingle); dictionaryService.Handler(hospitalId, allot, groupName, isSingle);
......
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