Commit ce05cc2f by wyc

‘考勤下发’注释 初始考勤,添加 科室确认详情(已下发结果展示列表)下载,修改 更新字段

parent 3fbe8d32
......@@ -36,20 +36,21 @@ public class AttendanceController : ControllerBase
view_attendance 考勤视图
*/
/// <summary>
/// 查询绩效考勤记录
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
[HttpGet("GetAttendance/{allotId}")]
public ApiResponse<List<AttendanceStatistics>> GetAttendance(int allotId)
{
// 查询考勤视图,并按照设计图做格式转换 仅查询开始结束
var userid = claim.GetUserId();
var result = _attendanceService.GetAttendance(allotId, userid);
return result;
}
///// <summary>
///// 查询绩效考勤记录
///// </summary>
///// <param name="allotId"></param>
///// <returns></returns>
//[HttpGet("GetAttendance/{allotId}")]
//public ApiResponse<List<AttendanceStatistics>> GetAttendance(int allotId)
//{
// // 查询考勤视图,并按照设计图做格式转换 仅查询开始结束
// var userid = claim.GetUserId();
// var result = _attendanceService.GetAttendance(allotId, userid);
// return result;
//}
#region 调动记录
......@@ -194,47 +195,49 @@ public ApiResponse<List<AttendanceStatistics>> GetAttendanceStatistics(int allot
return _attendanceService.GetAttendanceStatistics(allotId, userid);
}
#region 下载
/// <summary>
/// 初始考勤记录下载
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
[HttpPost]
[Route("download/attendance/{allotId}")]
public IActionResult DownloadAttendance(int allotId)
{
List<ExcelDownloadHeads> excelDownloadHeads = new List<ExcelDownloadHeads>()
{
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 userid = claim.GetUserId();
var result = _attendanceService.GetAttendance(allotId, userid).Data;
var ser = JsonConvert.SerializeObject(result);
var rows = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(ser);
var filepath = _attendanceService.ExcelDownload(rows, "初始考勤记录", allotId, excelDownloadHeads);
var memoryStream = new MemoryStream();
using (var stream = new FileStream(filepath, FileMode.Open))
{
stream.CopyToAsync(memoryStream).Wait();
}
memoryStream.Seek(0, SeekOrigin.Begin);
var provider = new FileExtensionContentTypeProvider();
FileInfo fileInfo = new FileInfo(filepath);
var memi = provider.Mappings[".xlsx"];
return File(memoryStream, memi, Path.GetFileName(fileInfo.Name));
}
#region 初始考勤记录下载
///// <summary>
///// 初始考勤记录下载
///// </summary>
///// <param name="allotId"></param>
///// <returns></returns>
//[HttpPost]
//[Route("download/attendance/{allotId}")]
//public IActionResult DownloadAttendance(int allotId)
//{
// List<ExcelDownloadHeads> excelDownloadHeads = new List<ExcelDownloadHeads>()
// {
// 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 userid = claim.GetUserId();
// var result = _attendanceService.GetAttendance(allotId, userid).Data;
// var ser = JsonConvert.SerializeObject(result);
// var rows = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(ser);
// var filepath = _attendanceService.ExcelDownload(rows, "初始考勤记录", allotId, excelDownloadHeads);
// var memoryStream = new MemoryStream();
// using (var stream = new FileStream(filepath, FileMode.Open))
// {
// stream.CopyToAsync(memoryStream).Wait();
// }
// memoryStream.Seek(0, SeekOrigin.Begin);
// var provider = new FileExtensionContentTypeProvider();
// FileInfo fileInfo = new FileInfo(filepath);
// var memi = provider.Mappings[".xlsx"];
// return File(memoryStream, memi, Path.GetFileName(fileInfo.Name));
//}
#endregion
#region 下载
/// <summary>
/// 考勤记录下载
/// </summary>
......@@ -364,6 +367,53 @@ public IActionResult DownloadStatistics(int allotId)
return File(memoryStream, memi, Path.GetFileName(path));*/
}
/// <summary>
/// 科室确认详情(已下发结果展示列表)下载
/// </summary>
/// <param name="allotId"></param>
/// <param name="unitType">人员类别</param>
/// <param name="accountingUnit">核算单元</param>
/// <returns></returns>
[HttpPost]
[Route("download/auditDetail")]
public IActionResult DownloadAuditDetail(int allotId,string unitType,string accountingUnit)
{
List<ExcelDownloadHeads> excelDownloadHeads = new List<ExcelDownloadHeads>()
{
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.AccountingUnit) },
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)
{
excelDownloadHeads.Add(new ExcelDownloadHeads() { Alias = item.AttendanceName, Name = item.AttendanceName });
}
excelDownloadHeads.Add(new ExcelDownloadHeads() { Alias = "考勤天数", Name = "AttendanceDays" });
var userid = claim.GetUserId();
var result = _attendanceService.AuditDetail(allotId, unitType, accountingUnit, userid).Data;
var ser = JsonConvert.SerializeObject(result);
var rows = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(ser);
var filepath = _attendanceService.ExcelDownload(rows, "最终考勤结果", allotId, excelDownloadHeads);
var memoryStream = new MemoryStream();
using (var stream = new FileStream(filepath, FileMode.Open))
{
stream.CopyToAsync(memoryStream).Wait();
}
memoryStream.Seek(0, SeekOrigin.Begin);
var provider = new FileExtensionContentTypeProvider();
FileInfo fileInfo = new FileInfo(filepath);
var memi = provider.Mappings[".xlsx"];
return File(memoryStream, memi, Path.GetFileName(fileInfo.Name));
}
#endregion
#region 最终考勤结果
......@@ -384,6 +434,8 @@ public ApiResponse<List<AttendanceAuditList>> AuditList(int allotId, string unit
return _attendanceService.AuditList(allotId, unitType, accountingUnit, state);
}
/// <summary>
/// 科室确认详情(已下发结果展示列表)
/// </summary>
......@@ -429,12 +481,11 @@ public ApiResponse IssueStatistics(int allotId)
return _attendanceService.IssueStatistics(allotId, userid, realName);
}
/// <summary>
/// 最终考勤结果驳回或确认无误((批量操作)
/// </summary>
/// <param name="allotId"></param>
/// <param name="issueid">选择id</param>
/// <param name="state">操作类型 确认 = 2,驳回 = 3,</param>
/// <param name="attendanceIssueChoose"></param>
/// <returns></returns>
[HttpPost]
[Route("issue/choose")]
......
......@@ -302,13 +302,6 @@
记录创建、下发、归档、上传绩效
</summary>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.GetAttendance(System.Int32)">
<summary>
查询绩效考勤记录
</summary>
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.GetCallIn(System.Int32)">
<summary>
查询绩效调动记录
......@@ -385,13 +378,6 @@
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.DownloadAttendance(System.Int32)">
<summary>
初始考勤记录下载
</summary>
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.DownloadVacation(System.Int32)">
<summary>
考勤记录下载
......@@ -413,6 +399,15 @@
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.DownloadAuditDetail(System.Int32,System.String,System.String)">
<summary>
科室确认详情(已下发结果展示列表)下载
</summary>
<param name="allotId"></param>
<param name="unitType"></param>
<param name="accountingUnit"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.AuditList(System.Int32,System.String,System.String,Performance.DtoModels.Attendance.State)">
<summary>
科室确认列表
......@@ -453,9 +448,7 @@
<summary>
最终考勤结果驳回或确认无误((批量操作)
</summary>
<param name="allotId"></param>
<param name="issueid">选择id</param>
<param name="state">操作类型 确认 = 2,驳回 = 3,</param>
<param name="attendanceIssueChoose"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.BudgetController.Query(Performance.DtoModels.Request.BudgetRequest)">
......
......@@ -2978,14 +2978,14 @@
状态 未确认 = 1,确认 = 2,驳回 = 3
</summary>
</member>
<member name="P:Performance.DtoModels.Response.AttendanceAuditDetail.UpdateUser">
<member name="P:Performance.DtoModels.Response.AttendanceAuditDetail.ConfirmUser">
<summary>
更新人
确定用户
</summary>
</member>
<member name="P:Performance.DtoModels.Response.AttendanceAuditDetail.UpdateTime">
<member name="P:Performance.DtoModels.Response.AttendanceAuditDetail.ConfirmTime">
<summary>
更新时间
确定时间
</summary>
</member>
<member name="P:Performance.DtoModels.Response.AttendanceAuditDetail.Remarks">
......
......@@ -6195,7 +6195,7 @@
</member>
<member name="P:Performance.EntityModels.Entity.per_attendance_issue.CreateUser">
<summary>
创建
创建用户
</summary>
</member>
<member name="P:Performance.EntityModels.Entity.per_attendance_issue.CreateTime">
......@@ -6203,14 +6203,14 @@
创建时间
</summary>
</member>
<member name="P:Performance.EntityModels.Entity.per_attendance_issue.UpdateUser">
<member name="P:Performance.EntityModels.Entity.per_attendance_issue.ConfirmUser">
<summary>
更新人
确定用户
</summary>
</member>
<member name="P:Performance.EntityModels.Entity.per_attendance_issue.UpdateTime">
<member name="P:Performance.EntityModels.Entity.per_attendance_issue.ConfirmTime">
<summary>
更新时间
确定时间
</summary>
</member>
<member name="P:Performance.EntityModels.Entity.per_attendance_issue.Remarks">
......
......@@ -70,13 +70,13 @@ public class AttendanceAuditDetail
/// </summary>
public int State { get; set; }
/// <summary>
/// 更新人
/// 确定用户
/// </summary>
public string UpdateUser { get; set; }
public string ConfirmUser { get; set; }
/// <summary>
/// 更新时间
/// 确定时间
/// </summary>
public DateTime? UpdateTime { get; set; }
public DateTime? ConfirmTime { get; set; }
public List<AttendanceAuditDetails> Detial { get; set; }
/// <summary>
......
......@@ -74,7 +74,7 @@ public class per_attendance_issue
/// </summary>
public int State { get; set; }
/// <summary>
/// 创建
/// 创建用户
/// </summary>
public string CreateUser { get; set; }
/// <summary>
......@@ -82,13 +82,13 @@ public class per_attendance_issue
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 更新人
/// 确定用户
/// </summary>
public string UpdateUser { get; set; }
public string ConfirmUser { get; set; }
/// <summary>
/// 更新时间
/// 确定时间
/// </summary>
public DateTime? UpdateTime { get; set; }
public DateTime? ConfirmTime { get; set; }
/// <summary>
/// 备注
/// </summary>
......
......@@ -65,56 +65,56 @@ UserService userService
#region 初始考勤页面
public ApiResponse<List<AttendanceStatistics>> GetAttendance(int allotId, int userid)
{
var allot = perforPerallotRepository.GetEntity(w => w.ID == allotId);
if (allot == null)
throw new PerformanceException("当前绩效记录不存在");
var attendanceData = perforPerallotRepository.GetAttendance(allotId);
var roleType = new[] { (int)Role.护士长, (int)Role.科主任, (int)Role.特殊科室, (int)Role.行政科室, };
var user = userService.GetUser(userid);
var role = roleService.GetUserRole(user.UserID);
if (role.Any(t => roleType.Contains(t.Type.Value)))
attendanceData = attendanceData.Where(w => w.AccountingUnit == user.Department && w.UnitType == user.UnitType).ToList();
List<AttendanceStatistics> statistics = new List<AttendanceStatistics>();
// 交叉补全科室结束时间
foreach (var personnelNumber in attendanceData.Select(w => w.PersonnelNumber).Distinct())
{
var attendances = attendanceData.Where(w => w.PersonnelNumber == personnelNumber).OrderBy(w => w.AttendanceDate);
for (int i = 0; i < attendances.Count() - 1; i++)
{
var begDate = attendances.ElementAt(i).AttendanceDate.Date;
var endDate = attendances.ElementAt(i + 1).AttendanceDate.Date;
// 调入科室需要额外减去1天作为上一个科室结束时间
var days = attendances.ElementAt(i + 1).Source == Attendance.Type.调入.ToString() ? -1 : 0;
if (endDate > begDate)
{
var stat = new AttendanceStatistics
{
AllotID = attendances.ElementAt(i).ALLOTID,
UnitType = attendances.ElementAt(i).UnitType,
AccountingUnit = attendances.ElementAt(i).AccountingUnit,
Department = attendances.ElementAt(i).Department,
PersonnelNumber = attendances.ElementAt(i).PersonnelNumber,
PersonnelName = attendances.ElementAt(i).PersonnelName,
BeginDate = begDate,
EndDate = endDate.AddDays(days),
//Detial = new List<AttendanceStatisticsDetial>()
};
statistics.Add(stat);
}
}
}
if (statistics != null)
return new ApiResponse<List<AttendanceStatistics>>(ResponseType.OK, statistics);
else
{
return new ApiResponse<List<AttendanceStatistics>>(ResponseType.Fail);
}
}
//public ApiResponse<List<AttendanceStatistics>> GetAttendance(int allotId, int userid)
//{
// var allot = perforPerallotRepository.GetEntity(w => w.ID == allotId);
// if (allot == null)
// throw new PerformanceException("当前绩效记录不存在");
// var attendanceData = perforPerallotRepository.GetAttendance(allotId);
// var roleType = new[] { (int)Role.护士长, (int)Role.科主任, (int)Role.特殊科室, (int)Role.行政科室, };
// var user = userService.GetUser(userid);
// var role = roleService.GetUserRole(user.UserID);
// if (role.Any(t => roleType.Contains(t.Type.Value)))
// attendanceData = attendanceData.Where(w => w.AccountingUnit == user.Department && w.UnitType == user.UnitType).ToList();
// List<AttendanceStatistics> statistics = new List<AttendanceStatistics>();
// // 交叉补全科室结束时间
// foreach (var personnelNumber in attendanceData.Select(w => w.PersonnelNumber).Distinct())
// {
// var attendances = attendanceData.Where(w => w.PersonnelNumber == personnelNumber).OrderBy(w => w.AttendanceDate);
// for (int i = 0; i < attendances.Count() - 1; i++)
// {
// var begDate = attendances.ElementAt(i).AttendanceDate.Date;
// var endDate = attendances.ElementAt(i + 1).AttendanceDate.Date;
// // 调入科室需要额外减去1天作为上一个科室结束时间
// var days = attendances.ElementAt(i + 1).Source == Attendance.Type.调入.ToString() ? -1 : 0;
// if (endDate > begDate)
// {
// var stat = new AttendanceStatistics
// {
// AllotID = attendances.ElementAt(i).ALLOTID,
// UnitType = attendances.ElementAt(i).UnitType,
// AccountingUnit = attendances.ElementAt(i).AccountingUnit,
// Department = attendances.ElementAt(i).Department,
// PersonnelNumber = attendances.ElementAt(i).PersonnelNumber,
// PersonnelName = attendances.ElementAt(i).PersonnelName,
// BeginDate = begDate,
// EndDate = endDate.AddDays(days),
// //Detial = new List<AttendanceStatisticsDetial>()
// };
// statistics.Add(stat);
// }
// }
// }
// if (statistics != null)
// return new ApiResponse<List<AttendanceStatistics>>(ResponseType.OK, statistics);
// else
// {
// return new ApiResponse<List<AttendanceStatistics>>(ResponseType.Fail);
// }
//}
#endregion
......@@ -763,7 +763,7 @@ public ApiResponse<List<AttendanceStatistics>> GetAttendanceStatistics(int allot
return new ApiResponse<List<AttendanceStatistics>>(ResponseType.OK, "", statistics);
}
#region 考勤下发
// 科室确认列表
public ApiResponse<List<AttendanceAuditList>> AuditList(int allotId, string unitType, string accountingUnit, Attendance.State state)
{
var issues = perforPerAttendanceIssueRepository.GetEntities(w => w.AllotId == allotId);
......@@ -782,8 +782,8 @@ public ApiResponse<List<AttendanceAuditList>> AuditList(int allotId, string unit
Count = w.Count(),
ConfirmCount = w.Count(p => p.State == (int)Attendance.State.确认),
RejectCount = w.Count(p => p.State == (int)Attendance.State.驳回),
OperationUser = w.OrderByDescending(o => o.UpdateTime).Select(s => s.UpdateUser).FirstOrDefault(),
OperationTime = w.OrderByDescending(o => o.UpdateTime).Select(s => s.UpdateTime).FirstOrDefault(),
OperationUser = w.OrderByDescending(o => o.ConfirmTime).Select(s => s.ConfirmUser).FirstOrDefault(),
OperationTime = w.OrderByDescending(o => o.ConfirmTime).Select(s => s.ConfirmTime).FirstOrDefault(),
Remarks = string.Join(';', w.Select(p => p.Remarks).Distinct()),
}).ToList();
......@@ -799,7 +799,7 @@ public ApiResponse<List<AttendanceAuditList>> AuditList(int allotId, string unit
return new ApiResponse<List<AttendanceAuditList>>(ResponseType.OK, items);
}
// 科室确认详情(已下发结果展示列表)
public ApiResponse<List<AttendanceAuditDetail>> AuditDetail(int allotId, string unitType, string accountingUnit, int userid)
{
var types = perfoPperAttendanceTypeRepository.GetEntities(t => t.AllotId == allotId) ?? new List<per_attendance_type>();
......@@ -811,7 +811,7 @@ public ApiResponse<List<AttendanceAuditDetail>> AuditDetail(int allotId, string
issues = issues.Where(w => w.AccountingUnit.Contains(accountingUnit)).ToList();
var items = issues.Select(w => new AttendanceAuditDetail
{
AttendanceIsueId=w.Id,
AttendanceIsueId = w.Id,
AllotId = w.AllotId,
Code = w.Code,
UnitType = w.UnitType,
......@@ -826,10 +826,10 @@ public ApiResponse<List<AttendanceAuditDetail>> AuditDetail(int allotId, string
DeductionDays = w.DeductionDays,
NoDeductionDays = w.NoDeductionDays,
State = w.State,
UpdateUser = w.UpdateUser,
UpdateTime = w.UpdateTime,
ConfirmUser = w.ConfirmUser,
ConfirmTime = w.ConfirmTime,
Remarks = w.Remarks,
}).ToList();
}).OrderBy(w => w.PersonnelNumber).ToList();
//当角色对应时过滤
var userInfo = _userRepository.GetUser(userid);
if (userInfo?.User == null) throw new NotImplementedException("当前用户不存在");
......@@ -859,10 +859,23 @@ public ApiResponse<List<AttendanceAuditDetail>> AuditDetail(int allotId, string
Remark = w.Remark,
})
.ToList();
foreach (var item in types)
{
if (!stat.Detial.Any(w => w.Title == item.AttendanceName))
{
stat.Detial.Add(new AttendanceAuditDetails
{
Title = item.AttendanceName,
Value = 0,
Remark = item.IsDeduction == (int)Attendance.Deduction.核减 ? "核减" : "不核减",
});
}
}
}
return new ApiResponse<List<AttendanceAuditDetail>>(ResponseType.OK, items);
}
// 最终考勤结果下发(预确认显示)
public ApiResponse<List<PerAttendanceIssueDto>> PreConfirmationDisplay(int allotId, int userid, string unitType, string accountingUnit, Attendance.OperationType state)
{
var statistics = GetAttendanceStatistics(allotId, userid).Data;
......@@ -929,8 +942,7 @@ public ApiResponse<List<PerAttendanceIssueDto>> PreConfirmationDisplay(int allot
return new ApiResponse<List<PerAttendanceIssueDto>>(ResponseType.OK, issuedates);
}
//下发
// 最终考勤结果下发
public ApiResponse IssueStatistics(int allotId, int userid, string realName, string unitType = "", string accountingUnit = "", Attendance.OperationType state = 0)
{
var allot = perforPerallotRepository.GetEntity(w => w.ID == allotId);
......@@ -968,8 +980,6 @@ public ApiResponse IssueStatistics(int allotId, int userid, string realName, str
WorkFullDays = item.AttendanceDays + item.DeductionDays,
CreateUser = realName,
CreateTime = DateTime.Now,
UpdateUser = realName,
UpdateTime = DateTime.Now,
State = (int)Attendance.State.未确认,
};
});
......@@ -993,8 +1003,10 @@ public ApiResponse IssueStatistics(int allotId, int userid, string realName, str
issuePersonnel.AttendanceDays = item.AttendanceDays;
issuePersonnel.WorkFullDays = item.AttendanceDays + item.DeductionDays;
issuePersonnel.State = (int)Attendance.State.未确认;
issuePersonnel.UpdateUser = realName;
issuePersonnel.UpdateTime = DateTime.Now;
issuePersonnel.CreateUser = realName;
issuePersonnel.CreateTime = DateTime.Now;
issuePersonnel.ConfirmUser = "";
issuePersonnel.ConfirmTime = null;
issuePersonnel.Remarks = "";
updateIssuedates.Add(issuePersonnel);
}
......@@ -1009,15 +1021,15 @@ public ApiResponse IssueStatistics(int allotId, int userid, string realName, str
perforPerallotRepository.PerAttendanceIssueBackup(allotId);
return new ApiResponse(ResponseType.OK, "下发成功");
}
public ApiResponse ChooseStatistics(AttendanceIssueChoose attendanceIssueChoose,string realName)
// 最终考勤结果驳回或确认无误((批量操作)
public ApiResponse ChooseStatistics(AttendanceIssueChoose attendanceIssueChoose, string realName)
{
var issuedates = perforPerAttendanceIssueRepository.GetEntities(w => w.AllotId == attendanceIssueChoose.AllotId && attendanceIssueChoose.Issueid.Contains(w.Id)).ToList();
foreach (var item in issuedates)
{
item.State = (int)attendanceIssueChoose.state;
item.UpdateUser = realName;
item.UpdateTime = DateTime.Now;
item.ConfirmUser = realName;
item.ConfirmTime = DateTime.Now;
item.Remarks = attendanceIssueChoose.Remarks;
}
perforPerAttendanceIssueRepository.UpdateRange(issuedates.ToArray());
......
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