|
|
@@ -433,40 +433,77 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
|
|
|
|
return GetAmountsCols(pagination, yearStart, monthStart, yearEnd, monthEnd, userNo, string.Empty, string.Empty, out var total); |
|
|
|
|
|
|
|
//var items = this.BaseRepository("CollegeMIS").FindList<Gz_ItemsEntity>(x => x.IsShow == true).ToList(); |
|
|
|
//if (items.Any()) |
|
|
|
//{ |
|
|
|
// var xmId = items.FirstOrDefault(x => x.Name == "职员姓名")?.Id ?? "职员姓名"; |
|
|
|
// var deptCodeId = items.FirstOrDefault(x => x.Name == "部门代码")?.Id ?? "部门代码"; |
|
|
|
// var deptId = items.FirstOrDefault(x => x.Name == "部门名称")?.Id ?? "部门名称"; |
|
|
|
// var ptcId = items.FirstOrDefault(x => x.Name == "职员类型代码")?.Id ?? "职员类型代码"; |
|
|
|
// var ptId = items.FirstOrDefault(x => x.Name == "职员类型")?.Id ?? "职员类型"; |
|
|
|
// var sendId = items.FirstOrDefault(x => x.Name == "发放时间")?.Id ?? "发放时间"; |
|
|
|
// var sendCountId = items.FirstOrDefault(x => x.Name == "发放次数")?.Id ?? "发放次数"; |
|
|
|
// var kchjId = items.FirstOrDefault(x => x.Name == "扣款合计")?.Id ?? "扣款合计"; |
|
|
|
// var sfhjId = items.FirstOrDefault(x => x.Name == "实发合计")?.Id ?? "实发合计"; |
|
|
|
// var bzId = items.FirstOrDefault(x => x.Name == "备注")?.Id ?? "备注"; |
|
|
|
// var shrId = items.FirstOrDefault(x => x.Name == "审核人")?.Id ?? "审核人"; |
|
|
|
|
|
|
|
// var itemId = items.Select(x => x.Id).ToArray(); |
|
|
|
|
|
|
|
// var q = this.BaseRepository("CollegeMIS").FindList<Gz_AmountsEntity>(x => x.UserNo == userNo && itemId.Contains(x.ItemId) && ((yearStart == yearEnd && x.Year == yearStart && x.Month >= monthStart && x.Month <= monthEnd) || (yearStart < yearEnd && (x.Year == yearStart && x.Month >= monthStart) || (x.Year == yearEnd && x.Month <= monthEnd) || (x.Year > yearStart && x.Year < yearEnd)))); |
|
|
|
|
|
|
|
// var query = q.GroupBy(x => new { x.UserNo, x.Year, x.Month }); |
|
|
|
// pagination.records = query.Count(); |
|
|
|
|
|
|
|
// var ls = query.Select(x => new Gz_AmountsCols { UserNo = x.Key.UserNo, Year = x.Key.Year ?? 0, Month = x.Key.Month ?? 0, RealName = x.FirstOrDefault(a => a.ItemId == xmId)?.OriVal ?? "", DeptCode = x.FirstOrDefault(a => a.ItemId == deptCodeId)?.OriVal ?? "", DeptName = x.FirstOrDefault(a => a.ItemId == deptId)?.OriVal ?? "", PersonTypeCode = x.FirstOrDefault(a => a.ItemId == ptcId)?.OriVal ?? "", PersonType = x.FirstOrDefault(a => a.ItemId == ptId)?.OriVal ?? "", SendDate = x.FirstOrDefault(a => a.ItemId == sendId)?.OriVal ?? "", SendCount = x.FirstOrDefault(a => a.ItemId == sendCountId)?.OriVal ?? "", TotalDeduction = x.FirstOrDefault(a => a.ItemId == kchjId)?.OriVal ?? "", TotalSend = x.FirstOrDefault(a => a.ItemId == sfhjId)?.OriVal ?? "", TotalSendDecimal = x.FirstOrDefault(a => a.ItemId == sfhjId)?.Amount ?? 0, Remark = x.FirstOrDefault(a => a.ItemId == bzId)?.OriVal ?? "", Reviewer = x.FirstOrDefault(a => a.ItemId == shrId)?.OriVal ?? "" }); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// var rs = ls.Skip(skip).Take(pagination.rows); |
|
|
|
// return rs; |
|
|
|
//} |
|
|
|
//else |
|
|
|
//{ |
|
|
|
// pagination.records = 0; |
|
|
|
// return new List<Gz_AmountsCols>(); |
|
|
|
//} |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
if (ex is ExceptionEx) |
|
|
|
{ |
|
|
|
throw; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
throw ExceptionEx.ThrowBusinessException(ex); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public IEnumerable<Gz_AmountsCols> GetPageListCol(string userNo, out int year, out int month) |
|
|
|
{ |
|
|
|
try |
|
|
|
{ |
|
|
|
var yearStart = DateTime.Now.Year; |
|
|
|
var monthStart = DateTime.Now.Month; |
|
|
|
var yearEnd = DateTime.Now.Year; |
|
|
|
var monthEnd = DateTime.Now.Month; |
|
|
|
|
|
|
|
var data = this.BaseRepository("CollegeMIS").FindList<Gz_AmountsEntity>(x => x.UserNo == userNo).OrderByDescending(x => x.Year).ThenByDescending(x => x.Month).Take(1).ToList(); |
|
|
|
if (data.Any()) |
|
|
|
{ |
|
|
|
yearStart = data[0].Year ?? DateTime.Now.Year; |
|
|
|
monthStart = data[0].Month ?? DateTime.Now.Month; |
|
|
|
yearEnd = data[0].Year ?? DateTime.Now.Year; |
|
|
|
monthEnd = data[0].Month ?? DateTime.Now.Month; |
|
|
|
} |
|
|
|
|
|
|
|
year = yearStart; |
|
|
|
month = monthStart; |
|
|
|
|
|
|
|
return GetAmountsCols(new Pagination { rows=30,page=1}, yearStart, monthStart, yearEnd, monthEnd, userNo, string.Empty, string.Empty, out var total); |
|
|
|
|
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
if (ex is ExceptionEx) |
|
|
|
{ |
|
|
|
throw; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
throw ExceptionEx.ThrowBusinessException(ex); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
public IEnumerable<Tuple<string, string, int>> GetAmountsCurrent(string userNo, out int year, out int month) |
|
|
|
{ |
|
|
|
try |
|
|
|
{ |
|
|
|
var items = this.BaseRepository("CollegeMIS").FindList<Gz_ItemsEntity>(x => x.IsShow == true).OrderBy(x => x.ShowOrder).ToList(); |
|
|
|
var itemId = items.Select(x => x.Id).ToArray(); |
|
|
|
var c = itemId.Length; |
|
|
|
var query = this.BaseRepository("CollegeMIS").FindList<Gz_AmountsEntity>(x => itemId.Contains(x.ItemId) && x.UserNo == userNo).OrderByDescending(x => x.Year).ThenByDescending(x => x.Month).Take(c).ToList(); |
|
|
|
if (query.Any()) |
|
|
|
{ |
|
|
|
year = query.First().Year ?? DateTime.Now.Year; |
|
|
|
month = query.First().Month ?? DateTime.Now.Month; |
|
|
|
var rs = query.Join(items, a => a.ItemId, b => b.Id, (a, b) => new Tuple<string, string, int>(b.Name, a.OriVal, b.ShowOrder ?? 0)).OrderBy(x => x.Item3); |
|
|
|
return rs; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
year = DateTime.Now.Year; |
|
|
|
month = DateTime.Now.Month; |
|
|
|
return new List<Tuple<string, string, int>>(); |
|
|
|
} |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|