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 ...@@ -14,5 +14,15 @@ namespace Edu.Model.ViewModel.User
/// 显示月份字符串 /// 显示月份字符串
/// </summary> /// </summary>
public string ShowMonthStr { get; set; } 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 ...@@ -80,6 +80,11 @@ namespace Edu.Model.ViewModel.User
/// </summary> /// </summary>
public string QTIds { get; set; } public string QTIds { get; set; }
/// <summary>
/// 不查询老师
/// </summary>
public string NotQueryTIds { get; set; }
/// <summary> /// <summary>
/// 对应账号id /// 对应账号id
/// </summary> /// </summary>
......
...@@ -39,7 +39,19 @@ namespace Edu.Module.User ...@@ -39,7 +39,19 @@ namespace Edu.Module.User
}); });
foreach (var item in list) 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; return list;
...@@ -70,6 +82,38 @@ namespace Edu.Module.User ...@@ -70,6 +82,38 @@ namespace Edu.Module.User
model.Id = newId; model.Id = newId;
flag = newId > 0; 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; return flag;
} }
...@@ -83,7 +127,19 @@ namespace Edu.Module.User ...@@ -83,7 +127,19 @@ namespace Edu.Module.User
var extModel = assessment_TypeRepository.GetEntity<RB_Assessment_Type_Extend>(Id); var extModel = assessment_TypeRepository.GetEntity<RB_Assessment_Type_Extend>(Id);
if (extModel != null) 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; return extModel;
} }
...@@ -114,34 +170,6 @@ namespace Edu.Module.User ...@@ -114,34 +170,6 @@ namespace Edu.Module.User
return subList; 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> /// <summary>
/// 根据编号获取老师考评子类型配置 /// 根据编号获取老师考评子类型配置
......
This diff is collapsed.
...@@ -73,6 +73,10 @@ WHERE 1=1 ...@@ -73,6 +73,10 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND t.{0} IN({1}) ", nameof(RB_Teacher_ViewModel.TId), query.QTIds); 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) if (query.IsQLeave == 0)
{ {
...@@ -86,6 +90,10 @@ WHERE 1=1 ...@@ -86,6 +90,10 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Teacher_ViewModel.IsShow), query.IsShow); 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(); return Get<RB_Teacher_ViewModel>(builder.ToString(), parameters).ToList();
} }
......
...@@ -21,7 +21,14 @@ namespace Edu.Repository.User ...@@ -21,7 +21,14 @@ namespace Edu.Repository.User
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" 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 FROM RB_Teacher_Static AS A
WHERE 1=1 WHERE 1=1
"); ");
...@@ -47,15 +54,64 @@ WHERE 1=1 ...@@ -47,15 +54,64 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Teacher_Static_Extend.TeacherId), query.TeacherId); 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 else
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Teacher_Static_Extend.TeacherId), 0); 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 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(); 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> /// <summary>
/// 教师行为月份统计 /// 教师行为月份统计
......
...@@ -6,6 +6,7 @@ using Edu.WebApi.Filter; ...@@ -6,6 +6,7 @@ using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
...@@ -53,6 +54,45 @@ namespace Edu.WebApi.Controllers.DataService ...@@ -53,6 +54,45 @@ namespace Edu.WebApi.Controllers.DataService
TypeName = ParmJObj.GetStringValue("TypeName"), TypeName = ParmJObj.GetStringValue("TypeName"),
SortNum = base.ParmJObj.GetInt("SortNum"), 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.Group_Id = base.UserInfo.Group_Id;
model.CreateBy = base.UserInfo.Id; model.CreateBy = base.UserInfo.Id;
model.UpdateBy = base.UserInfo.Id; model.UpdateBy = base.UserInfo.Id;
...@@ -87,45 +127,6 @@ namespace Edu.WebApi.Controllers.DataService ...@@ -87,45 +127,6 @@ namespace Edu.WebApi.Controllers.DataService
return flag ? ApiResult.Success() : ApiResult.Failed(); 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>
/// 根据编号获取老师考评子类型配置 /// 根据编号获取老师考评子类型配置
/// </summary> /// </summary>
......
...@@ -40,12 +40,30 @@ namespace Edu.WebApi.Controllers.User ...@@ -40,12 +40,30 @@ namespace Edu.WebApi.Controllers.User
YearStr = base.ParmJObj.GetInt("YearStr"), YearStr = base.ParmJObj.GetInt("YearStr"),
MonthStr = base.ParmJObj.GetInt("MonthStr"), MonthStr = base.ParmJObj.GetInt("MonthStr"),
TeacherId=base.ParmJObj.GetInt("TeacherId"), TeacherId=base.ParmJObj.GetInt("TeacherId"),
DeptId=base.ParmJObj.GetInt("DeptId"),
}; };
query.Group_Id = base.UserInfo.Group_Id; query.Group_Id = base.UserInfo.Group_Id;
var list = teacherStaticModule.GetTeacherStaticListModule(query); var list = teacherStaticModule.GetTeacherStaticListModule(query);
return ApiResult.Success(data: list); 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>
/// 下载教师行为数据每日统计 /// 下载教师行为数据每日统计
/// </summary> /// </summary>
...@@ -59,6 +77,7 @@ namespace Edu.WebApi.Controllers.User ...@@ -59,6 +77,7 @@ namespace Edu.WebApi.Controllers.User
YearStr = base.ParmJObj.GetInt("YearStr"), YearStr = base.ParmJObj.GetInt("YearStr"),
MonthStr = base.ParmJObj.GetInt("MonthStr"), MonthStr = base.ParmJObj.GetInt("MonthStr"),
TeacherId = base.ParmJObj.GetInt("TeacherId"), TeacherId = base.ParmJObj.GetInt("TeacherId"),
DeptId = base.ParmJObj.GetInt("DeptId"),
}; };
query.Group_Id = base.UserInfo.Group_Id; query.Group_Id = base.UserInfo.Group_Id;
var list = teacherStaticModule.GetTeacherStaticListModule(query); var list = teacherStaticModule.GetTeacherStaticListModule(query);
......
...@@ -420,7 +420,9 @@ namespace Edu.WebApi.Controllers.User ...@@ -420,7 +420,9 @@ namespace Edu.WebApi.Controllers.User
var query = new RB_Teacher_ViewModel() var query = new RB_Teacher_ViewModel()
{ {
IsQLeave = base.ParmJObj.GetInt("IsQLeave"), 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.Group_Id = base.UserInfo.Group_Id;
query.School_Id = base.UserInfo.School_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