Commit 3263318e authored by liudong1993's avatar liudong1993

Merge branch 'master' of http://gitlab.oytour.com/Kui2/education

parents 3f84848a ffcc290d
......@@ -14,5 +14,15 @@ namespace Edu.Model.ViewModel.User
/// 显示月份字符串
/// </summary>
public string ShowMonthStr { get; set; }
/// <summary>
/// 教师编号
/// </summary>
public string QTeacherIds { get; set; }
/// <summary>
/// 部门编号
/// </summary>
public int DeptId { get; set; }
}
}
......@@ -80,6 +80,11 @@ namespace Edu.Model.ViewModel.User
/// </summary>
public string QTIds { get; set; }
/// <summary>
/// 不查询老师
/// </summary>
public string NotQueryTIds { get; set; }
/// <summary>
/// 对应账号id
/// </summary>
......
......@@ -39,7 +39,19 @@ namespace Edu.Module.User
});
foreach (var item in list)
{
item.SubtypeList = subList?.Where(qitem => qitem.AssessmentTypeId == item.Id)?.ToList() ?? new List<RB_Assessment_Subtype_Extend>();
var tempList= subList?.Where(qitem => qitem.AssessmentTypeId == item.Id)?.ToList() ?? new List<RB_Assessment_Subtype_Extend>();
if (tempList != null && tempList.Count > 0)
{
foreach (var subItem in tempList)
{
subItem.OptionList = new List<SubtypeItem>();
if (!string.IsNullOrEmpty(subItem.Options))
{
subItem.OptionList = Common.Plugin.JsonHelper.DeserializeObject<List<SubtypeItem>>(subItem.Options);
}
}
}
item.SubtypeList = tempList;
}
}
return list;
......@@ -70,6 +82,38 @@ namespace Edu.Module.User
model.Id = newId;
flag = newId > 0;
}
if (model.SubtypeList != null)
{
foreach (var subItem in model.SubtypeList)
{
subItem.Group_Id = model.Group_Id;
subItem.AssessmentTypeId = model.Id;
subItem.CreateBy = model.CreateBy;
subItem.CreateTime = model.CreateTime;
subItem.UpdateBy = model.UpdateBy;
subItem.UpdateTime = model.UpdateTime;
subItem.Status = DateStateEnum.Normal;
if (subItem.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Assessment_Subtype_Extend.SubTypeName),subItem.SubTypeName },
{nameof(RB_Assessment_Subtype_Extend.Options),subItem.Options },
{nameof(RB_Assessment_Subtype_Extend.UpdateBy),subItem.UpdateBy },
{nameof(RB_Assessment_Subtype_Extend.UpdateTime),subItem.UpdateTime },
{nameof(RB_Assessment_Subtype_Extend.SortNum),subItem.SortNum },
};
flag = assessment_SubtypeRepository.Update(fileds, new WhereHelper(nameof(RB_Assessment_Subtype_Extend.Id), subItem.Id));
}
else
{
var newId = assessment_SubtypeRepository.Insert(subItem);
model.Id = newId;
flag = newId > 0;
}
}
}
return flag;
}
......@@ -83,7 +127,19 @@ namespace Edu.Module.User
var extModel = assessment_TypeRepository.GetEntity<RB_Assessment_Type_Extend>(Id);
if (extModel != null)
{
extModel.SubtypeList = GetAssessmentSubtypeListModule(new RB_Assessment_Subtype_Extend() { AssessmentTypeId = extModel.Id });
var subList= GetAssessmentSubtypeListModule(new RB_Assessment_Subtype_Extend() { AssessmentTypeId = extModel.Id });
if (subList != null && subList.Count > 0)
{
foreach (var subItem in subList)
{
subItem.OptionList = new List<SubtypeItem>();
if (!string.IsNullOrEmpty(subItem.Options))
{
subItem.OptionList = Common.Plugin.JsonHelper.DeserializeObject<List<SubtypeItem>>(subItem.Options);
}
}
}
extModel.SubtypeList = subList;
}
return extModel;
}
......@@ -114,34 +170,6 @@ namespace Edu.Module.User
return subList;
}
/// <summary>
/// 新增修改老师考评子类型配置
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetAssessmentSubtypeModule(RB_Assessment_Subtype_Extend model)
{
bool flag = false;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Assessment_Subtype_Extend.SubTypeName),model.SubTypeName },
{nameof(RB_Assessment_Subtype_Extend.Options),model.Options },
{nameof(RB_Assessment_Subtype_Extend.UpdateBy),model.UpdateBy },
{nameof(RB_Assessment_Subtype_Extend.UpdateTime),model.UpdateTime },
{nameof(RB_Assessment_Subtype_Extend.SortNum),model.SortNum },
};
flag = assessment_SubtypeRepository.Update(fileds, new WhereHelper(nameof(RB_Assessment_Subtype_Extend.Id), model.Id));
}
else
{
var newId = assessment_SubtypeRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
}
return flag;
}
/// <summary>
/// 根据编号获取老师考评子类型配置
......
This diff is collapsed.
......@@ -73,6 +73,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND t.{0} IN({1}) ", nameof(RB_Teacher_ViewModel.TId), query.QTIds);
}
if (!string.IsNullOrEmpty(query.NotQueryTIds))
{
builder.AppendFormat(" AND t.{0} NOT IN({1}) ", nameof(RB_Teacher_ViewModel.TId), query.NotQueryTIds);
}
//在职老师
if (query.IsQLeave == 0)
{
......@@ -86,6 +90,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Teacher_ViewModel.IsShow), query.IsShow);
}
if (query.Dept_Id > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Teacher_ViewModel.Dept_Id), query.Dept_Id);
}
}
return Get<RB_Teacher_ViewModel>(builder.ToString(), parameters).ToList();
}
......
......@@ -21,7 +21,14 @@ namespace Edu.Repository.User
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
SELECT DATE_FORMAT(A.Date, '%Y-%m-%d') AS Date,A.YearStr,SUM(StudentCount) AS StudentCount,SUM(AttendClassHour) AS AttendClassHour,SUM(AttendClassHourScore) AS AttendClassHourScore
,SUM(OnLineInteractive) AS OnLineInteractive,SUM(OnLineInteractiveScore) AS OnLineInteractiveScore,SUM(Renew) AS Renew,SUM(RenewScore) AS RenewScore,SUM(`Upgrade`) AS `Upgrade`
,SUM(UpgradeScore) AS UpgradeScore,SUM(Trans) AS Trans,SUM(TransScore) AS TransScore,SUM(TrialSpeak) AS TrialSpeak,SUM(TrialSpeakScore) AS TrialSpeakScore,SUM(Truancy) AS Truancy
,SUM(TruancyScore) AS TruancyScore,SUM(Withdraws) AS Withdraws,SUM(WithdrawsScore) AS WithdrawsScore,SUM(Complaint) AS Complaint,SUM(ComplaintScore) AS ComplaintScore
,SUM(TeacherBeLate) AS TeacherBeLate,SUM(TeacherBeLateScore) AS TeacherBeLateScore,SUM(N5ClassHours) AS N5ClassHours,SUM(N5ClassHoursScore) AS N5ClassHoursScore,SUM(N4ClassHours) AS N4ClassHours
,SUM(N4ClassHoursScore) AS N4ClassHoursScore,SUM(N3ClassHours) AS N3ClassHours,SUM(N3ClassHoursScore) AS N3ClassHoursScore,SUM(N2ClassHours) AS N2ClassHours,SUM(N2ClassHoursScore) AS N2ClassHoursScore
,SUM(N1ClassHours) AS N1ClassHours,SUM(N1ClassHoursScore) AS N1ClassHoursScore,SUM(MiniAppPractise) AS MiniAppPractise,SUM(MiniAppPractiseScore) AS MiniAppPractiseScore,SUM(MiniAppTime) AS MiniAppTime
,SUM(MiniAppTimeScore) AS MiniAppTimeScore,SUM(TotalScore) AS TotalScore,SUM(AvgScore) AS AvgScore,SUM(ScoreGap) AS ScoreGap,SUM(ActivityNum) AS ActivityNum
FROM RB_Teacher_Static AS A
WHERE 1=1
");
......@@ -47,15 +54,64 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Teacher_Static_Extend.TeacherId), query.TeacherId);
}
else if (!string.IsNullOrEmpty(query.QTeacherIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Teacher_Static_Extend.TeacherId), query.QTeacherIds);
}
else
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Teacher_Static_Extend.TeacherId), 0);
}
}
builder.AppendFormat(" GROUP BY DATE_FORMAT(A.Date, '%Y-%m-%d') ,A.YearStr,A.MonthStr,A.Times ");
builder.AppendFormat(" ORDER BY A.{0} ASC ", nameof(RB_Student_Static_Extend.Id));
//builder.AppendFormat(" ORDER BY DATE_FORMAT(A.Date, '%Y-%m-%d') ASC ");
return Get<RB_Teacher_Static_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 教师行为月份统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Teacher_Static_Extend> GetTeacherStaticMonthExtListRepository(RB_Teacher_Static_Extend query, bool isYear = false)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.TeacherId,CONCAT(DATE_FORMAT(A.Date, '%Y-%m'),'-01') AS Date,A.YearStr,SUM(StudentCount) AS StudentCount,SUM(AttendClassHour) AS AttendClassHour,SUM(AttendClassHourScore) AS AttendClassHourScore
,SUM(OnLineInteractive) AS OnLineInteractive,SUM(OnLineInteractiveScore) AS OnLineInteractiveScore,SUM(Renew) AS Renew,SUM(RenewScore) AS RenewScore,SUM(`Upgrade`) AS `Upgrade`
,SUM(UpgradeScore) AS UpgradeScore,SUM(Trans) AS Trans,SUM(TransScore) AS TransScore,SUM(TrialSpeak) AS TrialSpeak,SUM(TrialSpeakScore) AS TrialSpeakScore,SUM(Truancy) AS Truancy
,SUM(TruancyScore) AS TruancyScore,SUM(Withdraws) AS Withdraws,SUM(WithdrawsScore) AS WithdrawsScore,SUM(Complaint) AS Complaint,SUM(ComplaintScore) AS ComplaintScore
,SUM(TeacherBeLate) AS TeacherBeLate,SUM(TeacherBeLateScore) AS TeacherBeLateScore,SUM(N5ClassHours) AS N5ClassHours,SUM(N5ClassHoursScore) AS N5ClassHoursScore,SUM(N4ClassHours) AS N4ClassHours
,SUM(N4ClassHoursScore) AS N4ClassHoursScore,SUM(N3ClassHours) AS N3ClassHours,SUM(N3ClassHoursScore) AS N3ClassHoursScore,SUM(N2ClassHours) AS N2ClassHours,SUM(N2ClassHoursScore) AS N2ClassHoursScore
,SUM(N1ClassHours) AS N1ClassHours,SUM(N1ClassHoursScore) AS N1ClassHoursScore,SUM(MiniAppPractise) AS MiniAppPractise,SUM(MiniAppPractiseScore) AS MiniAppPractiseScore,SUM(MiniAppTime) AS MiniAppTime
,SUM(MiniAppTimeScore) AS MiniAppTimeScore,SUM(TotalScore) AS TotalScore,SUM(AvgScore) AS AvgScore,SUM(ScoreGap) AS ScoreGap,SUM(ActivityNum) AS ActivityNum
FROM RB_Teacher_Static AS A
WHERE 1=1 AND A.Date<>'0001-01-01 00:00:00'
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Teacher_Static_Extend.Group_Id), query.Group_Id);
}
if (query.YearStr > 0)
{
if (isYear)
{
builder.AppendFormat(" AND A.{0}<={1} ", nameof(RB_Teacher_Static_Extend.YearStr), query.YearStr);
}
else
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Teacher_Static_Extend.YearStr), query.YearStr);
}
}
}
builder.AppendFormat(" GROUP BY DATE_FORMAT(A.Date, '%Y-%m'),A.TeacherId ");
builder.AppendFormat(" ORDER BY DATE_FORMAT(A.Date, '%Y-%m') ASC ");
return Get<RB_Teacher_Static_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 教师行为月份统计
......
......@@ -6,6 +6,7 @@ using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
......@@ -53,6 +54,45 @@ namespace Edu.WebApi.Controllers.DataService
TypeName = ParmJObj.GetStringValue("TypeName"),
SortNum = base.ParmJObj.GetInt("SortNum"),
};
model.SubtypeList = new List<RB_Assessment_Subtype_Extend>();
string subtypeListStr = base.ParmJObj.GetStringValue("SubtypeList");
if (!string.IsNullOrEmpty(subtypeListStr))
{
JArray jArray = JArray.Parse(subtypeListStr);
if (jArray != null && jArray.Count > 0)
{
foreach (var jItem in jArray)
{
JObject jobj = JObject.Parse(jItem.ToString());
var subModel = new RB_Assessment_Subtype_Extend()
{
Id = jobj.GetInt("Id"),
SubTypeName = jobj.GetStringValue("SubTypeName"),
OptionList = new List<SubtypeItem>()
};
string optionListStr = jobj.GetStringValue("OptionList");
if (!string.IsNullOrEmpty(optionListStr))
{
JArray subArray = JArray.Parse(optionListStr);
if (subArray != null && subArray.Count > 0)
{
foreach (var subItem in subArray)
{
JObject sObj = JObject.Parse(subItem.ToString());
subModel.OptionList.Add(new SubtypeItem()
{
LevelTitle = sObj.GetStringValue("LevelTitle"),
LevelDesc = sObj.GetStringValue("LevelDesc"),
LevelScore = sObj.GetDecimal("LevelScore"),
});
}
}
}
subModel.Options = JsonHelper.Serialize(subModel.OptionList);
model.SubtypeList.Add(subModel);
}
}
}
model.Group_Id = base.UserInfo.Group_Id;
model.CreateBy = base.UserInfo.Id;
model.UpdateBy = base.UserInfo.Id;
......@@ -87,45 +127,6 @@ namespace Edu.WebApi.Controllers.DataService
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 新增修改老师考评子类型配置
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetAssessmentSubtype()
{
var model = new RB_Assessment_Subtype_Extend()
{
Id = base.ParmJObj.GetInt("Id"),
AssessmentTypeId = base.ParmJObj.GetInt("AssessmentTypeId"),
SubTypeName = base.ParmJObj.GetStringValue("SubTypeName"),
SortNum = base.ParmJObj.GetInt("SortNum"),
};
List<SubtypeItem> OptionList = new List<SubtypeItem>();
string options = base.ParmJObj.GetStringValue("OptionList");
if (!string.IsNullOrEmpty(options))
{
try
{
OptionList = Common.Plugin.JsonHelper.DeserializeObject<List<SubtypeItem>>(options);
}
catch
{
}
}
model.Options = Common.Plugin.JsonHelper.Serialize(OptionList);
model.Group_Id = base.UserInfo.Group_Id;
model.CreateBy = base.UserInfo.Id;
model.UpdateBy = base.UserInfo.Id;
model.CreateTime = DateTime.Now;
model.UpdateTime = DateTime.Now;
model.Status = Common.Enum.DateStateEnum.Normal;
var flag = teacherAssessmentModule.SetAssessmentSubtypeModule(model);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 根据编号获取老师考评子类型配置
/// </summary>
......
......@@ -40,12 +40,30 @@ namespace Edu.WebApi.Controllers.User
YearStr = base.ParmJObj.GetInt("YearStr"),
MonthStr = base.ParmJObj.GetInt("MonthStr"),
TeacherId=base.ParmJObj.GetInt("TeacherId"),
DeptId=base.ParmJObj.GetInt("DeptId"),
};
query.Group_Id = base.UserInfo.Group_Id;
var list = teacherStaticModule.GetTeacherStaticListModule(query);
return ApiResult.Success(data: list);
}
/// <summary>
/// 教师行为数据月度统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetTeacherMonthStatic()
{
var query = new RB_Teacher_Static_Extend()
{
YearStr = base.ParmJObj.GetInt("YearStr"),
MonthStr = base.ParmJObj.GetInt("MonthStr"),
};
query.Group_Id = base.UserInfo.Group_Id;
var list = teacherStaticModule.GetTeacherStaticMonthExtListModule(query);
return ApiResult.Success(data: list);
}
/// <summary>
/// 下载教师行为数据每日统计
/// </summary>
......@@ -59,6 +77,7 @@ namespace Edu.WebApi.Controllers.User
YearStr = base.ParmJObj.GetInt("YearStr"),
MonthStr = base.ParmJObj.GetInt("MonthStr"),
TeacherId = base.ParmJObj.GetInt("TeacherId"),
DeptId = base.ParmJObj.GetInt("DeptId"),
};
query.Group_Id = base.UserInfo.Group_Id;
var list = teacherStaticModule.GetTeacherStaticListModule(query);
......
......@@ -420,7 +420,9 @@ namespace Edu.WebApi.Controllers.User
var query = new RB_Teacher_ViewModel()
{
IsQLeave = base.ParmJObj.GetInt("IsQLeave"),
IsShow = base.ParmJObj.GetInt("IsShow", 0)
IsShow = base.ParmJObj.GetInt("IsShow", 0),
NotQueryTIds=base.ParmJObj.GetStringValue("NotQueryTIds"),
Dept_Id=base.ParmJObj.GetInt("Dept_Id"),
};
query.Group_Id = base.UserInfo.Group_Id;
query.School_Id = base.UserInfo.School_Id;
......
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