考勤下载BUG修复

parent a371cde7
......@@ -201,19 +201,19 @@ public IActionResult DownloadAttendance(int allotId)
{
List<ExcelDownloadHeads> excelDownloadHeads = new List<ExcelDownloadHeads>()
{
new ExcelDownloadHeads { Alias = "核算单元名称", Name = "AccountingUnit" },
new ExcelDownloadHeads { Alias = "科室名称", Name = "Department" },
new ExcelDownloadHeads { Alias = "姓名", Name = "PersonnelName" },
new ExcelDownloadHeads { Alias = "员工号", Name = "PersonnelNumber" },
new ExcelDownloadHeads { Alias = "人员类别", Name = "UnitType" },
new ExcelDownloadHeads { Alias = "在科开始时问", Name = "BeginDate" },
new ExcelDownloadHeads { Alias = "在科结束时间", Name = "EndDate" },
new ExcelDownloadHeads { Alias = "核算单元名称", Name = nameof(AttendanceStatistics.AccountingUnit) },
new ExcelDownloadHeads { Alias = "科室名称", Name = nameof(AttendanceStatistics.Department) },
new ExcelDownloadHeads { Alias = "姓名", Name = nameof(AttendanceStatistics.PersonnelName) },
new ExcelDownloadHeads { Alias = "员工号", Name = nameof(AttendanceStatistics.PersonnelNumber) },
new ExcelDownloadHeads { Alias = "人员类别", Name = nameof(AttendanceStatistics.UnitType) },
new ExcelDownloadHeads { Alias = "在科开始时问", Name = nameof(AttendanceStatistics.BeginDate) },
new ExcelDownloadHeads { Alias = "在科结束时间", Name = nameof(AttendanceStatistics.EndDate) },
};
var result = _attendanceService.GetAttendance(allotId).Data;
var ser = JsonConvert.SerializeObject(result);
var rows = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(ser);
var filepath = _attendanceService.ExcelDownload(rows,"初始考勤记录",allotId, excelDownloadHeads);
var filepath = _attendanceService.ExcelDownload(rows, "初始考勤记录", allotId, excelDownloadHeads);
var memoryStream = new MemoryStream();
using (var stream = new FileStream(filepath, FileMode.Open))
......@@ -239,12 +239,12 @@ public IActionResult DownloadVacation(int allotId)
{
List<ExcelDownloadHeads> excelDownloadHeads = new List<ExcelDownloadHeads>()
{
new ExcelDownloadHeads { Alias = "姓名", Name = "PersonnelName" },
new ExcelDownloadHeads { Alias = "员工号", Name = "PersonnelNumber" },
new ExcelDownloadHeads { Alias = "考勤类型", Name = "AttendanceName" },
new ExcelDownloadHeads { Alias = "开始时问", Name = "BegDate" },
new ExcelDownloadHeads { Alias = "结束时间", Name = "EndDate" },
new ExcelDownloadHeads { Alias = "天数", Name = "Days" },
new ExcelDownloadHeads { Alias = "姓名", Name = nameof(RecordAttendcance.PersonnelName) },
new ExcelDownloadHeads { Alias = "员工号", Name = nameof(RecordAttendcance.PersonnelNumber) },
new ExcelDownloadHeads { Alias = "考勤类型", Name = nameof(RecordAttendcance.AttendanceName) },
new ExcelDownloadHeads { Alias = "开始时问", Name = nameof(RecordAttendcance.BegDate) },
new ExcelDownloadHeads { Alias = "结束时间", Name = nameof(RecordAttendcance.EndDate) },
new ExcelDownloadHeads { Alias = "天数", Name = nameof(RecordAttendcance.Days) },
};
var result = _attendanceService.GetAttendanceVacation(allotId).Data;
......@@ -277,11 +277,11 @@ public IActionResult DownloadCallIn(int allotId)
{
List<ExcelDownloadHeads> excelDownloadHeads = new List<ExcelDownloadHeads>()
{
new ExcelDownloadHeads { Alias = "姓名", Name = "PersonnelName" },
new ExcelDownloadHeads { Alias = "员工号", Name = "PersonnelNumber" },
new ExcelDownloadHeads { Alias = "调入核算单元", Name = "AttendanceName" },
new ExcelDownloadHeads { Alias = "调入组别", Name = "UnitType" },
new ExcelDownloadHeads { Alias = "调入时间", Name = "AttendanceDate" },
new ExcelDownloadHeads { Alias = "姓名", Name = nameof(view_attendance.PersonnelName) },
new ExcelDownloadHeads { Alias = "员工号", Name = nameof(view_attendance.PersonnelNumber) },
new ExcelDownloadHeads { Alias = "调入核算单元", Name = nameof(view_attendance.AccountingUnit) },
new ExcelDownloadHeads { Alias = "调入组别", Name = nameof(view_attendance.UnitType) },
new ExcelDownloadHeads { Alias = "调入时间", Name = nameof(view_attendance.AttendanceDate) },
};
var result = _attendanceService.GetCallIn(allotId).Data;
......@@ -313,12 +313,12 @@ public IActionResult DownloadStatistics(int allotId)
{
List<ExcelDownloadHeads> excelDownloadHeads = new List<ExcelDownloadHeads>()
{
new ExcelDownloadHeads { Alias = "科室名称", Name = "Department" },
new ExcelDownloadHeads { Alias = "姓名", Name = "PersonnelName" },
new ExcelDownloadHeads { Alias = "员工号", Name = "PersonnelNumber" },
new ExcelDownloadHeads { Alias = "人员类别", Name = "UnitType" },
new ExcelDownloadHeads { Alias = "开始时问", Name = "BeginDate" },
new ExcelDownloadHeads { Alias = "结束时间", Name = "EndDate" },
new ExcelDownloadHeads { Alias = "科室名称", Name = nameof(AttendanceStatistics.Department) },
new ExcelDownloadHeads { Alias = "姓名", Name = nameof(AttendanceStatistics.PersonnelName) },
new ExcelDownloadHeads { Alias = "员工号", Name = nameof(AttendanceStatistics.PersonnelNumber) },
new ExcelDownloadHeads { Alias = "人员类别", Name = nameof(AttendanceStatistics.UnitType) },
new ExcelDownloadHeads { Alias = "开始时问", Name = nameof(AttendanceStatistics.BeginDate) },
new ExcelDownloadHeads { Alias = "结束时间", Name = nameof(AttendanceStatistics.EndDate) },
};
var type = _attendanceService.GetAttendanceType(allotId);
foreach (var item in type.Data)
......
......@@ -319,7 +319,7 @@ public ApiResponse BatchCallIn(int allotId, int hospitalId, SaveCollectData requ
var any = oldCallinAttendance.FirstOrDefault(w => w.AllotId == allotId && w.HospitalId == hospitalId && w.CallInDate == data.CallInDate && w.CallInAccountingUnit?.Trim() == data.CallInAccountingUnit?.Trim() && w.CallInUnitType?.Trim() == data.CallInUnitType?.Trim() && w.PersonnelName?.Trim() == data.PersonnelName?.Trim() && w.PersonnelNumber?.Trim() == data.PersonnelNumber?.Trim());
}
perforPerAttendanceRepository.RemoveRange(oldCallinAttendance.ToArray());
perforPerAttendanceRepository.RemoveRange(oldCallinAttendance.ToArray());
if (addPer_Attendances != null && addPer_Attendances.Any())
perforPerAttendanceRepository.AddRange(addPer_Attendances.ToArray());
......@@ -653,7 +653,7 @@ public ApiResponse AttendanceBatch(int allotId, int hospitalId, SaveCollectData
var any = oldAttendanceVacatione.FirstOrDefault(w => w.AllotId == allotId && w.HospitalId == hospitalId && w.BegDate == data.BegDate && w.EndDate == data.EndDate && w.PersonnelName?.Trim() == data.PersonnelName?.Trim() && w.PersonnelNumber?.Trim() == data.PersonnelNumber?.Trim() && w.TypeId == data.TypeId);
}
perfoPperAttendanceVacationeRepository.RemoveRange(oldAttendanceVacatione.ToArray());
perfoPperAttendanceVacationeRepository.RemoveRange(oldAttendanceVacatione.ToArray());
if (addAttendanceVacatione != null && addAttendanceVacatione.Any())
perfoPperAttendanceVacationeRepository.AddRange(addAttendanceVacatione.ToArray());
......@@ -671,11 +671,11 @@ public ApiResponse<List<AttendanceStatistics>> GetAttendanceStatistics(int allot
var types = perfoPperAttendanceTypeRepository.GetEntities(t => t.AllotId == allotId) ?? new List<per_attendance_type>();
var vacationeData = perfoPperAttendanceVacationeRepository.GetEntities(t => t.AllotId == allotId) ?? new List<per_attendance_vacation>();
//// 只关注请假的人
var numbers = vacationeData.Select(w => w.PersonnelNumber).ToList();
var attendanceData = perforPerallotRepository.GetAttendance(allotId)
.Where(w => numbers.Contains(w.PersonnelNumber))
.ToList();
//var attendanceData = perforPerallotRepository.GetAttendance(allotId);
//var numbers = vacationeData.Select(w => w.PersonnelNumber).ToList();
//var attendanceData = perforPerallotRepository.GetAttendance(allotId)
// .Where(w => numbers.Contains(w.PersonnelNumber))
// .ToList();
var attendanceData = perforPerallotRepository.GetAttendance(allotId);
List<AttendanceStatistics> statistics = new List<AttendanceStatistics>();
// 交叉补全科室结束时间
......@@ -791,8 +791,8 @@ private List<DateTime> SplitEveryDay(DateTime begin, DateTime end)
return result;
}
public string ExcelDownload(List<Dictionary<string, object>> rows, string name,int allotId, List<ExcelDownloadHeads> headList)
public string ExcelDownload(List<Dictionary<string, object>> rows, string name, int allotId, List<ExcelDownloadHeads> headList)
{
var perAllot = perforPerallotRepository.GetEntity(t => t.ID == allotId);
string title = $"{ perAllot.Year}{perAllot.Month}{name}";
......@@ -819,7 +819,7 @@ public string ExcelDownload(List<Dictionary<string, object>> rows, string name,i
if (detitem.Key == "Value") value = detitem.Value.ToString();
if (detitem.Key == "Title") nobj[detitem.Value.ToString()] = value;
}
}
}
else
......
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