读取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
}
}
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);
imdata.SheetID = imsheet.ID;
......@@ -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>();
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);
imdata.SheetID = imsheet.ID;
......@@ -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>();
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);
imdata.SheetID = imsheet.ID;
......
......@@ -16,18 +16,14 @@ namespace Performance.Services.AllotCompute
/// </summary>
public class ResultComputeService : IAutoInjection
{
private readonly IMapper _mapper;
private readonly BaiscNormService baiscNormService;
private readonly ComputeDirector computeDirector;
private readonly BudgetService budgetService;
private readonly PerforPeremployeeRepository perforPeremployeeRepository;
private readonly PerforPerallotRepository perforPerallotRepository;
//private readonly PerforAgcomputeRepository perforAgcomputeRepository;
private readonly PerforAgsecondallotRepository perforAgsecondallotRepository;
private readonly IMapper _mapper;
private readonly PerforHospitalRepository hospitalRepository;
private readonly PerforImemployeeRepository perforImEmployeeRepository;
private readonly PerforRescomputeRepository perforRescomputeRepository;
private readonly PerforResbaiscnormRepository perforResbaiscnormRepository;
private readonly PerforResspecialunitRepository perforResspecialunitRepository;
private readonly PerforImaccountbasicRepository perforImaccountbasicRepository;
private readonly PerforResaccountRepository perforResaccountRepository;
......@@ -41,35 +37,27 @@ public class ResultComputeService : IAutoInjection
PerforHospitalRepository hospitalRepository,
PerforImemployeeRepository perforImEmployeeRepository,
PerforRescomputeRepository perforRescomputeRepository,
PerforResbaiscnormRepository perforResbaiscnormRepository,
PerforResspecialunitRepository perforResspecialunitRepository,
PerforImaccountbasicRepository perforImaccountbasicRepository,
PerforResaccountRepository perforResaccountRepository,
BaiscNormService baiscNormService, ComputeDirector computeDirector,
LogManageService logManageService, BudgetService budgetService,
PerforPeremployeeRepository perforPeremployeeRepository,
PerforPerallotRepository perforPerallotRepository,
//PerforAgcomputeRepository perforAgcomputeRepository,
PerforAgsecondallotRepository perforAgsecondallotRepository,
PerforImemployeeclinicRepository perforImemployeeclinicRepository,
PerforImemployeelogisticsRepository perforImemployeelogisticsRepository,
ILogger<ResultComputeService> logger)
{
_mapper = mapper;
this.baiscNormService = baiscNormService;
this.computeDirector = computeDirector;
_mapper = mapper;
this.hospitalRepository = hospitalRepository;
this.perforImEmployeeRepository = perforImEmployeeRepository;
this.perforRescomputeRepository = perforRescomputeRepository;
this.perforResbaiscnormRepository = perforResbaiscnormRepository;
this.perforResspecialunitRepository = perforResspecialunitRepository;
this.perforImaccountbasicRepository = perforImaccountbasicRepository;
this.perforResaccountRepository = perforResaccountRepository;
this.logManageService = logManageService;
this.budgetService = budgetService;
this.perforPeremployeeRepository = perforPeremployeeRepository;
this.perforPerallotRepository = perforPerallotRepository;
//this.perforAgcomputeRepository = perforAgcomputeRepository;
this.perforAgsecondallotRepository = perforAgsecondallotRepository;
this.perforImemployeeclinicRepository = perforImemployeeclinicRepository;
this.perforImemployeelogisticsRepository = perforImemployeelogisticsRepository;
......@@ -83,7 +71,7 @@ public class ResultComputeService : IAutoInjection
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);
List<ComputeEmployee> computeEmployees = _mapper.Map<List<ComputeEmployee>>(empolyeeList);
......@@ -95,12 +83,12 @@ public List<res_baiscnorm> Compute(per_allot allot, List<PerSheet> accountSheet)
baiscNormService.ComputeAvg(baiscnormList, computeEmployees, computResult);
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);
logManageService.WriteMsg("正在生成绩效", "行政中高层 最终绩效数据计算", 1, allot.ID, "ReceiveMessage");
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);
logManageService.WriteMsg("正在生成绩效", "行政后勤 最终绩效数据计算", 1, allot.ID, "ReceiveMessage");
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