Commit 73896ffa by lcx

医院其他绩效人员根据工号自动带出、绩效类型字典

parent 46cf14cc
......@@ -8,6 +8,7 @@
using Performance.Infrastructure;
using Performance.Services;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
......@@ -427,5 +428,29 @@ public ApiResponse Import([FromForm] IFormCollection form)
employeeService.ImpoerAprEmployees(allotid, path, claim.GetUserId());
return new ApiResponse(ResponseType.OK);
}
/// <summary>
/// 自动获取人员信息
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("autocomplate")]
public ApiResponse<per_apr_amount> GetEmployeeMessage(per_apr_amount request)
{
var result = employeeService.GetEmployeeMessage(request.AllotId, request.PersonnelNumber);
return new ApiResponse<per_apr_amount>(ResponseType.OK, "", result);
}
/// <summary>
/// 绩效类型字典
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
[HttpPost("apr/perfortype/{allotId}")]
public ApiResponse<List<TitleValue>> GetPerforTypeDict(int allotId)
{
var result = employeeService.GetPerforTypeDict(allotId);
return new ApiResponse<List<TitleValue>>(ResponseType.OK, "");
}
}
}
\ No newline at end of file
}
......@@ -747,6 +747,20 @@
<param name="form"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetEmployeeMessage(Performance.EntityModels.per_apr_amount)">
<summary>
自动获取人员信息
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.GetPerforTypeDict(System.Int32)">
<summary>
绩效类型字典
</summary>
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ExConfigController.Extract(Performance.DtoModels.ModModuleRequest)">
<summary>
绩效数据抽取模板
......
......@@ -28,6 +28,7 @@ public class EmployeeService : IAutoInjection
private PerforPerapramountRepository perapramountRepository;
private PerforImemployeelogisticsRepository perforImemployeelogisticsRepository;
private PerforUserroleRepository userroleRepository;
private PerforPeremployeeRepository peremployeeRepository;
private ILogger<EmployeeService> logger;
public EmployeeService(PerforImemployeeRepository perforImemployeeRepository,
......@@ -39,6 +40,7 @@ public class EmployeeService : IAutoInjection
PerforPerapramountRepository perapramountRepository,
PerforImemployeelogisticsRepository perforImemployeelogisticsRepository,
PerforUserroleRepository userroleRepository,
PerforPeremployeeRepository peremployeeRepository,
ILogger<EmployeeService> logger)
{
this.perforImemployeeRepository = perforImemployeeRepository;
......@@ -50,6 +52,7 @@ public class EmployeeService : IAutoInjection
this.perapramountRepository = perapramountRepository;
this.perforImemployeelogisticsRepository = perforImemployeelogisticsRepository;
this.userroleRepository = userroleRepository;
this.peremployeeRepository = peremployeeRepository;
this.logger = logger;
}
......@@ -568,5 +571,50 @@ public void ImpoerAprEmployees(int allotid, string path, int userid)
logger.LogError(ex.ToString());
}
}
/// <summary>
/// 根据人员工号获取人员信息
/// </summary>
/// <param name="allotId"></param>
/// <param name="jobNumber"></param>
/// <returns></returns>
public per_apr_amount GetEmployeeMessage(int allotId, string jobNumber)
{
if (string.IsNullOrEmpty(jobNumber)) return new per_apr_amount();
var employee = peremployeeRepository.GetEntity(w => w.AllotId == allotId && w.JobNumber.Trim() == jobNumber.Trim());
if (employee == null) return new per_apr_amount();
return new per_apr_amount
{
AllotId = allotId,
PersonnelNumber = employee.JobNumber,
DoctorName = employee.DoctorName,
TypeInDepartment = employee.Department,
AccountingUnit = employee.AccountingUnit
};
}
/// <summary>
/// 获取绩效类型字典
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
public List<TitleValue> GetPerforTypeDict(int allotId)
{
var defaultTypes = new List<string> { "基础绩效", "管理绩效" };
var aprAmountList = perapramountRepository.GetEntities(w => w.AllotId == allotId);
if (aprAmountList != null && aprAmountList.Any(w => !defaultTypes.Contains(w.PerforType)))
{
var savedTypes = aprAmountList.Where(w => !defaultTypes.Contains(w.PerforType)).Select(t => t.PerforType).Distinct().OrderBy(t => t).ToList();
defaultTypes.AddRange(savedTypes);
}
return defaultTypes.Select(t => new TitleValue
{
Title = t,
Value = t
}).ToList();
}
}
}
\ No newline at end of file
}
......@@ -26,6 +26,7 @@ public class PersonService : IAutoInjection
private readonly PerforRoleRepository perforRoleRepository;
private readonly PerforAgsecondallotRepository agsecondallotRepository;
private readonly Application application;
private readonly Dictionary<string, (string, string)> dict = new Dictionary<string, (string, string)>
{
{ nameof(DeptdicResponse.OutDoctorAccounting), (UnitType.医生组.ToString(), "门诊") },
......
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