Commit 4d2bf3de authored by 黄奎's avatar 黄奎

新增统计

parent 562bfaeb
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Course
{
/// <summary>
/// 班级类型统计
/// </summary>
public class ClassTypeStatic_ViewModel
{
/// <summary>
/// 班级类型
/// </summary>
public int ClassType { get; set; }
/// <summary>
/// 关联班级数
/// </summary>
public int TotalClassNum { get; set; }
/// <summary>
/// 结课班级数
/// </summary>
public int CompleteClassNum { get; set; }
}
}
......@@ -10,5 +10,14 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public class RB_Class_Type_ViewModel : RB_Class_Type
{
/// <summary>
/// 关联班级数
/// </summary>
public int TotalClassNum { get; set; }
/// <summary>
/// 结课班级数
/// </summary>
public int CompleteClassNum { get; set; }
}
}
......@@ -3,6 +3,7 @@ using Edu.Model.ViewModel.Course;
using Edu.Repository.Course;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB;
......@@ -23,6 +24,11 @@ namespace Edu.Module.Public
/// </summary>
private readonly RB_Class_TypeRepository class_TypeRepository = new RB_Class_TypeRepository();
/// <summary>
/// 班级仓储层对象
/// </summary>
private readonly RB_ClassRepository classRepository = new RB_ClassRepository();
#region 班级基础设置
/// <summary>
/// 获取班级配置实体类
......@@ -78,7 +84,23 @@ namespace Edu.Module.Public
/// <returns></returns>
public List<RB_Class_Type_ViewModel> GetClassTypePageListModule(int pageIndex, int pageSize, out long rowsCount, RB_Class_Type_ViewModel query)
{
return class_TypeRepository.GetClassTypePageListRepository(pageIndex, pageSize, out rowsCount, query);
var list= class_TypeRepository.GetClassTypePageListRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0)
{
List<ClassTypeStatic_ViewModel> staticList = new List<ClassTypeStatic_ViewModel>();
var ids = string.Join(",", list.Select(qitem => qitem.CTypeId));
if (!string.IsNullOrEmpty(ids))
{
staticList= classRepository.GetClassTypeStaticListRepository(ids);
}
foreach (var item in list)
{
var fModel = staticList?.Where(qitem => qitem.ClassType == item.CTypeId)?.FirstOrDefault();
item.TotalClassNum = fModel?.TotalClassNum ?? 0;
item.CompleteClassNum = fModel?.CompleteClassNum ?? 0;
}
}
return list;
}
/// <summary>
......
......@@ -196,5 +196,29 @@ WHERE 1=1
}
return GetPage<RB_Class_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
/// <summary>
/// 班级类型统计
/// </summary>
/// <param name="qClassTypeIds"></param>
/// <returns></returns>
public List<ClassTypeStatic_ViewModel> GetClassTypeStaticListRepository(string qClassTypeIds)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.ClassType,A.TotalClassNum,IFNULL(B.CompleteClassNum,0) AS CompleteClassNum
FROM (
SELECT ClassType, COUNT(1) AS TotalClassNum
FROM rb_class WHERE `Status`=0 AND ClassStatus IN(1,2,3) AND ClassType IN({0})
GROUP BY ClassType
) AS A LEFT JOIN
(
SELECT ClassType, COUNT(1) AS CompleteClassNum
FROM rb_class WHERE `Status`=0 AND ClassStatus=3 AND ClassType IN({0})
GROUP BY ClassType
) AS B ON A.ClassType=B.ClassType
",qClassTypeIds);
return Get<ClassTypeStatic_ViewModel>(builder.ToString()).ToList();
}
}
}
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