读取Excel数据重复修改

parent 18b4a427
//-----------------------------------------------------------------------
// <copyright file=" im_employee.cs">
// * FileName: im_employee.cs
// </copyright>
//-----------------------------------------------------------------------
using Performance.EntityModels;
using System.Collections.Generic;
using System.Linq;
namespace Performance.Repository
{
/// <summary>
/// im_employee Repository
/// </summary>
public partial class PerforImemployeeRepository : PerforRepository<im_employee>
{
public List<im_employee> GetEmployees(int allotId)
{
return context.Set<im_employee>()
.Where(w => w.AllotID == allotId)
.ToList()
.GroupBy(w => w.PersonnelNumber)
.Select(w => w.OrderByDescending(p => p.ID).First())
.ToList()
?? new List<im_employee>();
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" im_employee_clinic.cs">
// * FileName: im_employee_clinic.cs
// </copyright>
//-----------------------------------------------------------------------
using Performance.EntityModels;
using System.Collections.Generic;
using System.Linq;
namespace Performance.Repository
{
/// <summary>
/// im_employee_clinic Repository
/// </summary>
public partial class PerforImemployeeclinicRepository : PerforRepository<im_employee_clinic>
{
public List<im_employee_clinic> GetEmployees(int allotId)
{
return context.Set<im_employee_clinic>()
.Where(w => w.AllotID == allotId)
.ToList()
.GroupBy(w => w.PersonnelNumber)
.Select(w => w.OrderByDescending(p => p.ID).First())
.ToList()
?? new List<im_employee_clinic>();
}
}
}
//-----------------------------------------------------------------------
// <copyright file=" im_employee_logistics.cs">
// * FileName: im_employee_logistics.cs
// </copyright>
//-----------------------------------------------------------------------
using Performance.EntityModels;
using System.Collections.Generic;
using System.Linq;
namespace Performance.Repository
{
/// <summary>
/// im_employee_logistics Repository
/// </summary>
public partial class PerforImemployeelogisticsRepository : PerforRepository<im_employee_logistics>
{
public List<im_employee_logistics> GetEmployees(int allotId)
{
return context.Set<im_employee_logistics>()
.Where(w => w.AllotID == allotId)
.ToList()
.GroupBy(w => w.PersonnelNumber)
.Select(w => w.OrderByDescending(p => p.ID).First())
.ToList()
?? new List<im_employee_logistics>();
}
}
}
...@@ -210,7 +210,7 @@ public int SaveEmployee(PerSheet sheet, per_allot allot, List<per_allot> allotLi ...@@ -210,7 +210,7 @@ public int SaveEmployee(PerSheet sheet, per_allot allot, List<per_allot> allotLi
} }
} }
List<im_employee> addList = new List<im_employee>(); List<im_employee> addList = new List<im_employee>();
foreach (var data in dataList) foreach (var data in dataList.GroupBy(w => w.PersonnelNumber).Select(w => w.First()))
{ {
var imdata = _mapper.Map<im_employee>(data); var imdata = _mapper.Map<im_employee>(data);
imdata.SheetID = imsheet.ID; imdata.SheetID = imsheet.ID;
...@@ -282,7 +282,7 @@ public int SaveClinicEmployee(PerSheet sheet, per_allot allot, List<per_allot> a ...@@ -282,7 +282,7 @@ public int SaveClinicEmployee(PerSheet sheet, per_allot allot, List<per_allot> a
} }
} }
List<im_employee_clinic> addList = new List<im_employee_clinic>(); List<im_employee_clinic> addList = new List<im_employee_clinic>();
foreach (var data in dataList) foreach (var data in dataList.GroupBy(w => w.PersonnelNumber).Select(w => w.First()))
{ {
var imdata = _mapper.Map<im_employee_clinic>(data); var imdata = _mapper.Map<im_employee_clinic>(data);
imdata.SheetID = imsheet.ID; imdata.SheetID = imsheet.ID;
...@@ -323,7 +323,7 @@ public int SaveLogisticsEmployee(PerSheet sheet, per_allot allot, List<per_allot ...@@ -323,7 +323,7 @@ public int SaveLogisticsEmployee(PerSheet sheet, per_allot allot, List<per_allot
} }
} }
List<im_employee_logistics> addList = new List<im_employee_logistics>(); List<im_employee_logistics> addList = new List<im_employee_logistics>();
foreach (var data in dataList) foreach (var data in dataList.GroupBy(w => w.PersonnelNumber).Select(w => w.First()))
{ {
var imdata = _mapper.Map<im_employee_logistics>(data); var imdata = _mapper.Map<im_employee_logistics>(data);
imdata.SheetID = imsheet.ID; imdata.SheetID = imsheet.ID;
......
...@@ -16,18 +16,14 @@ namespace Performance.Services.AllotCompute ...@@ -16,18 +16,14 @@ namespace Performance.Services.AllotCompute
/// </summary> /// </summary>
public class ResultComputeService : IAutoInjection public class ResultComputeService : IAutoInjection
{ {
private readonly IMapper _mapper;
private readonly BaiscNormService baiscNormService; private readonly BaiscNormService baiscNormService;
private readonly ComputeDirector computeDirector; private readonly ComputeDirector computeDirector;
private readonly BudgetService budgetService; private readonly BudgetService budgetService;
private readonly PerforPeremployeeRepository perforPeremployeeRepository;
private readonly PerforPerallotRepository perforPerallotRepository;
//private readonly PerforAgcomputeRepository perforAgcomputeRepository;
private readonly PerforAgsecondallotRepository perforAgsecondallotRepository; private readonly PerforAgsecondallotRepository perforAgsecondallotRepository;
private readonly IMapper _mapper;
private readonly PerforHospitalRepository hospitalRepository; private readonly PerforHospitalRepository hospitalRepository;
private readonly PerforImemployeeRepository perforImEmployeeRepository; private readonly PerforImemployeeRepository perforImEmployeeRepository;
private readonly PerforRescomputeRepository perforRescomputeRepository; private readonly PerforRescomputeRepository perforRescomputeRepository;
private readonly PerforResbaiscnormRepository perforResbaiscnormRepository;
private readonly PerforResspecialunitRepository perforResspecialunitRepository; private readonly PerforResspecialunitRepository perforResspecialunitRepository;
private readonly PerforImaccountbasicRepository perforImaccountbasicRepository; private readonly PerforImaccountbasicRepository perforImaccountbasicRepository;
private readonly PerforResaccountRepository perforResaccountRepository; private readonly PerforResaccountRepository perforResaccountRepository;
...@@ -41,35 +37,27 @@ public class ResultComputeService : IAutoInjection ...@@ -41,35 +37,27 @@ public class ResultComputeService : IAutoInjection
PerforHospitalRepository hospitalRepository, PerforHospitalRepository hospitalRepository,
PerforImemployeeRepository perforImEmployeeRepository, PerforImemployeeRepository perforImEmployeeRepository,
PerforRescomputeRepository perforRescomputeRepository, PerforRescomputeRepository perforRescomputeRepository,
PerforResbaiscnormRepository perforResbaiscnormRepository,
PerforResspecialunitRepository perforResspecialunitRepository, PerforResspecialunitRepository perforResspecialunitRepository,
PerforImaccountbasicRepository perforImaccountbasicRepository, PerforImaccountbasicRepository perforImaccountbasicRepository,
PerforResaccountRepository perforResaccountRepository, PerforResaccountRepository perforResaccountRepository,
BaiscNormService baiscNormService, ComputeDirector computeDirector, BaiscNormService baiscNormService, ComputeDirector computeDirector,
LogManageService logManageService, BudgetService budgetService, LogManageService logManageService, BudgetService budgetService,
PerforPeremployeeRepository perforPeremployeeRepository,
PerforPerallotRepository perforPerallotRepository,
//PerforAgcomputeRepository perforAgcomputeRepository,
PerforAgsecondallotRepository perforAgsecondallotRepository, PerforAgsecondallotRepository perforAgsecondallotRepository,
PerforImemployeeclinicRepository perforImemployeeclinicRepository, PerforImemployeeclinicRepository perforImemployeeclinicRepository,
PerforImemployeelogisticsRepository perforImemployeelogisticsRepository, PerforImemployeelogisticsRepository perforImemployeelogisticsRepository,
ILogger<ResultComputeService> logger) ILogger<ResultComputeService> logger)
{ {
_mapper = mapper;
this.baiscNormService = baiscNormService; this.baiscNormService = baiscNormService;
this.computeDirector = computeDirector; this.computeDirector = computeDirector;
_mapper = mapper;
this.hospitalRepository = hospitalRepository; this.hospitalRepository = hospitalRepository;
this.perforImEmployeeRepository = perforImEmployeeRepository; this.perforImEmployeeRepository = perforImEmployeeRepository;
this.perforRescomputeRepository = perforRescomputeRepository; this.perforRescomputeRepository = perforRescomputeRepository;
this.perforResbaiscnormRepository = perforResbaiscnormRepository;
this.perforResspecialunitRepository = perforResspecialunitRepository; this.perforResspecialunitRepository = perforResspecialunitRepository;
this.perforImaccountbasicRepository = perforImaccountbasicRepository; this.perforImaccountbasicRepository = perforImaccountbasicRepository;
this.perforResaccountRepository = perforResaccountRepository; this.perforResaccountRepository = perforResaccountRepository;
this.logManageService = logManageService; this.logManageService = logManageService;
this.budgetService = budgetService; this.budgetService = budgetService;
this.perforPeremployeeRepository = perforPeremployeeRepository;
this.perforPerallotRepository = perforPerallotRepository;
//this.perforAgcomputeRepository = perforAgcomputeRepository;
this.perforAgsecondallotRepository = perforAgsecondallotRepository; this.perforAgsecondallotRepository = perforAgsecondallotRepository;
this.perforImemployeeclinicRepository = perforImemployeeclinicRepository; this.perforImemployeeclinicRepository = perforImemployeeclinicRepository;
this.perforImemployeelogisticsRepository = perforImemployeelogisticsRepository; this.perforImemployeelogisticsRepository = perforImemployeelogisticsRepository;
...@@ -83,7 +71,7 @@ public class ResultComputeService : IAutoInjection ...@@ -83,7 +71,7 @@ public class ResultComputeService : IAutoInjection
public List<res_baiscnorm> Compute(per_allot allot, List<PerSheet> accountSheet) public List<res_baiscnorm> Compute(per_allot allot, List<PerSheet> accountSheet)
{ {
//取出人员信息 //取出人员信息
var empolyeeList = perforImemployeeclinicRepository.GetEntities(t => t.AllotID == allot.ID); var empolyeeList = perforImemployeeclinicRepository.GetEmployees(allot.ID);
var accountbasicList = perforImaccountbasicRepository.GetEntities(t => t.AllotID == allot.ID); var accountbasicList = perforImaccountbasicRepository.GetEntities(t => t.AllotID == allot.ID);
List<ComputeEmployee> computeEmployees = _mapper.Map<List<ComputeEmployee>>(empolyeeList); List<ComputeEmployee> computeEmployees = _mapper.Map<List<ComputeEmployee>>(empolyeeList);
...@@ -95,12 +83,12 @@ public List<res_baiscnorm> Compute(per_allot allot, List<PerSheet> accountSheet) ...@@ -95,12 +83,12 @@ public List<res_baiscnorm> Compute(per_allot allot, List<PerSheet> accountSheet)
baiscNormService.ComputeAvg(baiscnormList, computeEmployees, computResult); baiscNormService.ComputeAvg(baiscnormList, computeEmployees, computResult);
baiscNormService.DocterNurseBaiscnorm(baiscnormList, accountbasicList, accountSheet); baiscNormService.DocterNurseBaiscnorm(baiscnormList, accountbasicList, accountSheet);
var empolyeeList2 = perforImEmployeeRepository.GetEntities(t => t.AllotID == allot.ID); var empolyeeList2 = perforImEmployeeRepository.GetEmployees(allot.ID);
var computeEmployees2 = _mapper.Map<List<ComputeEmployee>>(empolyeeList2); var computeEmployees2 = _mapper.Map<List<ComputeEmployee>>(empolyeeList2);
logManageService.WriteMsg("正在生成绩效", "行政中高层 最终绩效数据计算", 1, allot.ID, "ReceiveMessage"); logManageService.WriteMsg("正在生成绩效", "行政中高层 最终绩效数据计算", 1, allot.ID, "ReceiveMessage");
var computResult2 = computeDirector.Compute(computeEmployees2, allot, baiscnormList, accountbasicList); var computResult2 = computeDirector.Compute(computeEmployees2, allot, baiscnormList, accountbasicList);
var empolyeeList3 = perforImemployeelogisticsRepository.GetEntities(t => t.AllotID == allot.ID); var empolyeeList3 = perforImemployeelogisticsRepository.GetEmployees(allot.ID);
var computeEmployees3 = _mapper.Map<List<ComputeEmployee>>(empolyeeList3); var computeEmployees3 = _mapper.Map<List<ComputeEmployee>>(empolyeeList3);
logManageService.WriteMsg("正在生成绩效", "行政后勤 最终绩效数据计算", 1, allot.ID, "ReceiveMessage"); logManageService.WriteMsg("正在生成绩效", "行政后勤 最终绩效数据计算", 1, allot.ID, "ReceiveMessage");
var computResult3 = computeDirector.Compute(computeEmployees3, allot, baiscnormList, accountbasicList); var computResult3 = computeDirector.Compute(computeEmployees3, allot, baiscnormList, accountbasicList);
......
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