@@ -340,52 +340,17 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
monthEnd = ts.Month;
}
var items = this.BaseRepository("CollegeMIS").FindList<Gz_ItemsEntity>(x => x.IsShow == true).ToList();
if (items.Any())
var kw = string.Empty;
if (!qj["keyword"].IsEmpty())
{
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 => 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 ?? "" });
if (!qj["keyword"].IsEmpty())
{
var k = qj["keyword"].ToString();
ls = ls.Where(x => x.UserNo.Contains(k) || x.RealName.Contains(k));
}
if (!qj["department"].IsEmpty())
{
var dept = qj["department"].ToString();
ls = ls.Where(x => x.DeptCode == dept);
}
totalSend = ls.Sum(x => x.TotalSendDecimal);
var rs = ls.Skip(skip).Take(pagination.rows);
return rs;
kw = qj["keyword"].ToString();
}
else
var dept = string.Empty;
if (!qj["department"].IsEmpty())
{
totalSend = 0;
return new List<Gz_AmountsCols>();
dept = qj["department"].ToString();
}
return GetAmountsCols(pagination, yearStart, monthStart, yearEnd, monthEnd, string.Empty, kw, dept, out totalSend);
}
catch (Exception ex)
@@ -433,7 +398,6 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
var yearEnd = DateTime.Now.Year;
var monthEnd = DateTime.Now.Month;
var skip = pagination.rows * (pagination.page - 1);
var qj = queryJson.ToJObject();
@@ -450,40 +414,42 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
monthEnd = ts.Month;
}
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 ?? "审核人";
return GetAmountsCols(pagination, yearStart, monthStart, yearEnd, monthEnd, userNo, string.Empty, string.Empty, out var total);
var itemId = items.Select(x => x.Id).ToArray();
//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 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 itemId = items.Select(x => x.Id).ToArray( );
var query = q.GroupBy(x => new { x.UserNo, x.Year, x.Month });
pagination.records = query.Count();
// 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 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 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>();
}
// var rs = ls.Skip(skip).Take(pagination.rows);
// return rs;
//}
//else
//{
// pagination.records = 0;
// return new List<Gz_AmountsCols>();
//}
}
catch (Exception ex)
{
@@ -497,6 +463,61 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
}
}
}
private List<Gz_AmountsCols> GetAmountsCols(Pagination pagination, int yearStart, int monthStart, int yearEnd, int monthEnd, string userNo, string kw, string dept, out decimal total)
{
var items = this.BaseRepository("CollegeMIS").FindList<Gz_ItemsEntity>(x => x.IsShow == true).ToList();
var skip = pagination.rows * (pagination.page - 1);
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 yfhjId = 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 => 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))));
if (!userNo.IsEmpty())
{
q = q.Where(x => x.UserNo == userNo);
}
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 ?? "", TotalPay = x.FirstOrDefault(a => a.ItemId == yfhjId)?.OriVal ?? "" });
if (!kw.IsEmpty())
{
ls = ls.Where(x => x.UserNo.Contains(kw) || x.RealName.Contains(kw));
}
if (!dept.IsEmpty())
{
ls = ls.Where(x => x.DeptCode == dept);
}
total = ls.Sum(x => x.TotalSendDecimal);
var rs = ls.Skip(skip).Take(pagination.rows).ToList();
return rs;
}
else
{
total = 0;
return new List<Gz_AmountsCols>();
}
}
#endregion
}
}