Commit 497fb866 by 1391696987

考勤保存不传时间报错bug修复

parent 9bf85042
......@@ -18,8 +18,8 @@ public class per_attendance_vacation
public string PersonnelNumber { get; set; } //工号
public string PersonnelName { get; set; } //姓名
public int TypeId { get; set; } //per_attendance_type表中ID
public DateTime BegDate { get; set; } //开始时间
public DateTime EndDate { get; set; } //结束时间
public DateTime? BegDate { get; set; } //开始时间
public DateTime? EndDate { get; set; } //结束时间
}
}
......@@ -422,8 +422,8 @@ public HandsonTable GetAttendanceVacationHandsonTable(int allotId)
t.PersonnelName,
t.PersonnelNumber,
t.AttendanceName,
BegDate = t.BegDate > DateTime.MinValue ? t.BegDate.ToString("d") : t.BegDate.ToString(),
EndDate = t.EndDate > DateTime.MinValue ? t.EndDate.ToString("d") : t.EndDate.ToString()
BegDate = t.BegDate > DateTime.MinValue ? t.BegDate?.ToString("d") : t.BegDate.ToString(),
EndDate = t.EndDate > DateTime.MinValue ? t.EndDate?.ToString("d") : t.EndDate.ToString()
});
if (convertDate == null)
return handson;
......@@ -494,14 +494,13 @@ public ApiResponse AttendanceBatch(int allotId, int hospitalId, SaveCollectData
if (dicData == null || dicData.Count == 0)
return new ApiResponse(ResponseType.Error, "空数据,无效操作");
var convertDicData = dicData.Select(w => new RecordAttendcance
{
PersonnelNumber = w["PersonnelNumber"],
PersonnelName = w["PersonnelName"],
AttendanceName = w["AttendanceName"],
BegDate = ConvertHelper.To<DateTime>(w["BegDate"]),
EndDate = ConvertHelper.To<DateTime>(w["EndDate"]),
BegDate = ConvertHelper.To<DateTime?>(w["BegDate"]),
EndDate = ConvertHelper.To<DateTime?>(w["EndDate"]),
});
var jsons = JsonHelper.Serialize(convertDicData);
......@@ -529,8 +528,8 @@ public ApiResponse AttendanceBatch(int allotId, int hospitalId, SaveCollectData
{ "人员工号", newAttendanceVacatione[i].PersonnelNumber??"" },
{ "人员姓名", newAttendanceVacatione[i].PersonnelName??"" },
{ "考勤类型", newAttendanceVacatione[i].AttendanceName??"" },
{ "开始日期", newAttendanceVacatione[i].BegDate.ToString("d")??"" },
{ "结束日期", newAttendanceVacatione[i].EndDate.ToString("d")??"" },
{ "开始日期", newAttendanceVacatione[i].BegDate?.ToString("d")??"" },
{ "结束日期", newAttendanceVacatione[i].EndDate?.ToString("d")??"" },
{ "来源", "粘贴数据" },
{ "错误原因", "“关键信息缺失”请补全或删除" },
});
......@@ -545,8 +544,8 @@ public ApiResponse AttendanceBatch(int allotId, int hospitalId, SaveCollectData
{ "人员工号", newAttendanceVacatione[i].PersonnelNumber??"" },
{ "人员姓名", newAttendanceVacatione[i].PersonnelName??"" },
{ "考勤类型", newAttendanceVacatione[i].AttendanceName??"" },
{ "开始日期", newAttendanceVacatione[i].BegDate.ToString("d")??"" },
{ "结束日期", newAttendanceVacatione[i].EndDate.ToString("d")??"" },
{ "开始日期", newAttendanceVacatione[i].BegDate?.ToString("d")??"" },
{ "结束日期", newAttendanceVacatione[i].EndDate?.ToString("d")??"" },
{ "来源", "粘贴数据" },
{ "错误原因", "没有该考勤类型" },
});
......@@ -559,8 +558,8 @@ public ApiResponse AttendanceBatch(int allotId, int hospitalId, SaveCollectData
{ "人员工号", newAttendanceVacatione[i].PersonnelNumber??"" },
{ "人员姓名", newAttendanceVacatione[i].PersonnelName??"" },
{ "考勤类型", newAttendanceVacatione[i].AttendanceName??"" },
{ "开始日期", newAttendanceVacatione[i].BegDate.ToString("d")??"" },
{ "结束日期", newAttendanceVacatione[i].EndDate.ToString("d")??"" },
{ "开始日期", newAttendanceVacatione[i].BegDate?.ToString("d")??"" },
{ "结束日期", newAttendanceVacatione[i].EndDate?.ToString("d")??"" },
{ "来源", "粘贴数据" },
{ "错误原因", "该人员与人员字典不一致或不存在" },
});
......@@ -574,8 +573,8 @@ public ApiResponse AttendanceBatch(int allotId, int hospitalId, SaveCollectData
{ "人员工号", newAttendanceVacatione[i].PersonnelNumber??"" },
{ "人员姓名", newAttendanceVacatione[i].PersonnelName??"" },
{ "考勤类型", newAttendanceVacatione[i].AttendanceName??"" },
{ "开始日期", newAttendanceVacatione[i].BegDate.ToString("d")??"" },
{ "结束日期", newAttendanceVacatione[i].EndDate.ToString("d")??"" },
{ "开始日期", newAttendanceVacatione[i].BegDate?.ToString("d")??"" },
{ "结束日期", newAttendanceVacatione[i].EndDate?.ToString("d")??"" },
{ "来源", "“粘贴数据”与“历史数据”比对" },
{ "错误原因", $"原名“{oldEmp.PersonnelName}”,工号相同但姓名不同,请删除“历史数据”中该员工" },
});
......@@ -591,10 +590,10 @@ public ApiResponse AttendanceBatch(int allotId, int hospitalId, SaveCollectData
{ "人员工号", newAttendanceVacatione[i].PersonnelNumber??"" },
{ "人员姓名", newAttendanceVacatione[i].PersonnelName??"" },
{ "考勤类型", newAttendanceVacatione[i].AttendanceName??"" },
{ "开始日期", newAttendanceVacatione[i].BegDate.ToString("d")??"" },
{ "结束日期", newAttendanceVacatione[i].EndDate.ToString("d")??"" },
{ "开始日期", newAttendanceVacatione[i].BegDate?.ToString("d")??"" },
{ "结束日期", newAttendanceVacatione[i].EndDate?.ToString("d")??"" },
{ "来源", "粘贴数据" },
{ "错误原因", $"考勤时间不在该绩效月份内,已超出{SplitEveryDay(dt.AddDays(-1),newAttendanceVacatione[i].EndDate).Count-1}天" },
{ "错误原因", $"考勤时间不在该绩效月份内,已超出{SplitEveryDay(dt.AddDays(-1),newAttendanceVacatione[i].EndDate.Value).Count-1}天" },
});
}
if (newAttendanceVacatione[i].BegDate > newAttendanceVacatione[i].EndDate)
......@@ -605,8 +604,8 @@ public ApiResponse AttendanceBatch(int allotId, int hospitalId, SaveCollectData
{ "人员工号", newAttendanceVacatione[i].PersonnelNumber??"" },
{ "人员姓名", newAttendanceVacatione[i].PersonnelName??"" },
{ "考勤类型", newAttendanceVacatione[i].AttendanceName??"" },
{ "开始日期", newAttendanceVacatione[i].BegDate.ToString("d")??"" },
{ "结束日期", newAttendanceVacatione[i].EndDate.ToString("d")??"" },
{ "开始日期", newAttendanceVacatione[i].BegDate?.ToString("d")??"" },
{ "结束日期", newAttendanceVacatione[i].EndDate?.ToString("d")??"" },
{ "来源", "粘贴数据" },
{ "错误原因", "开始时间不能大于结束时间" },
});
......@@ -713,7 +712,7 @@ public ApiResponse<List<AttendanceStatistics>> GetAttendanceStatistics(int allot
{
w.PersonnelNumber,
Type = types.FirstOrDefault(p => p.Id == w.TypeId)?.AttendanceName ?? "考勤类型缺失",
Dates = SplitEveryDay(w.BegDate.Date, w.EndDate.Date),
Dates = SplitEveryDay(w.BegDate.Value.Date, w.EndDate.Value.Date),
Remark = types.FirstOrDefault(p => p.Id == w.TypeId)?.IsDeduction == (int)Attendance.Deduction.核减 ? "核减" : "不核减",
});
......
......@@ -1475,10 +1475,8 @@ public GatherResponse GetGatherTotal(Gather gather)
Remark = s.FirstOrDefault()?.Remark,
});
if (gather.Status == "失败")
datas = datas.Where(w => w.States == "未通过");
if (gather.Status == "通过")
datas = datas.Where(w => w.States == "已通过");
if (gather.Status == "失败") datas = datas.Where(w => w.States == "未通过");
if (gather.Status == "通过") datas = datas.Where(w => w.States == "已通过");
var ser = JsonConvert.SerializeObject(datas.OrderByDescending(t => t.CreateTime));
var rows = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(ser);
......
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