ソースを参照

列表优化

西昌分支
北京泉江 1年前
コミット
a6bd05dffc
1個のファイルの変更36行の追加28行の削除
  1. +36
    -28
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/Gz_Amounts/Gz_AmountsService.cs

+ 36
- 28
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/Gz_Amounts/Gz_AmountsService.cs ファイルの表示

@@ -342,43 +342,51 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement

var items = this.BaseRepository("CollegeMIS").FindList<Gz_ItemsEntity>(x => x.IsShow == true).ToList();

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;
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 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 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 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 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["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;
}
if (!qj["department"].IsEmpty())
else
{
var dept = qj["department"].ToString();
ls = ls.Where(x => x.DeptCode == dept);
totalSend = 0;
return new List<Gz_AmountsCols>();
}

totalSend = ls.Sum(x => x.TotalSendDecimal);

var rs = ls.Skip(skip).Take(pagination.rows);
return rs;

}
catch (Exception ex)
{


読み込み中…
キャンセル
保存