Commit 6f0fcb01 authored by 黄奎's avatar 黄奎

页面修改

parent c9cd20b5
...@@ -9,6 +9,11 @@ namespace Edu.Model.ViewModel.Course ...@@ -9,6 +9,11 @@ namespace Edu.Model.ViewModel.Course
/// </summary> /// </summary>
public class GuestFinishMinute_ViewModel public class GuestFinishMinute_ViewModel
{ {
/// <summary>
/// 班级编号
/// </summary>
public int ClassId { get; set; }
/// <summary> /// <summary>
/// 学员编号 /// 学员编号
/// </summary> /// </summary>
......
using Edu.AOP.CustomerAttribute; using Edu.AOP.CustomerAttribute;
using Edu.Common.Enum; using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using Edu.Model.CacheModel; using Edu.Model.CacheModel;
using Edu.Model.ViewModel.Course; using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.User; using Edu.Model.ViewModel.User;
...@@ -64,7 +65,7 @@ namespace Edu.Module.Course ...@@ -64,7 +65,7 @@ namespace Edu.Module.Course
/// <summary> /// <summary>
/// 课程日志记录表 /// 课程日志记录表
/// </summary> /// </summary>
private readonly Repository.User.RB_StudentRepository studentRepository = new Repository.User.RB_StudentRepository(); private readonly RB_StudentRepository studentRepository = new RB_StudentRepository();
/// <summary> /// <summary>
/// 教室仓储层对象 /// 教室仓储层对象
...@@ -76,13 +77,21 @@ namespace Edu.Module.Course ...@@ -76,13 +77,21 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
private readonly RB_TeacherRepository teacherRepository = new RB_TeacherRepository(); private readonly RB_TeacherRepository teacherRepository = new RB_TeacherRepository();
/// <summary> /// <summary>
/// 开启班级收支仓储层对象 /// 开启班级收支仓储层对象
/// </summary> /// </summary>
private readonly RB_Class_FinanceRepository classFinanceRepository = new RB_Class_FinanceRepository(); private readonly RB_Class_FinanceRepository classFinanceRepository = new RB_Class_FinanceRepository();
/// <summary>
/// 班级签到仓储层对象
/// </summary>
private readonly RB_Class_CheckRepository class_CheckRepository = new RB_Class_CheckRepository();
/// <summary>
/// 课程基础配置
/// </summary>
private readonly RB_Class_ConfigRepository class_ConfigRepository = new RB_Class_ConfigRepository();
/// <summary> /// <summary>
/// 获取班级列表 /// 获取班级列表
/// </summary> /// </summary>
...@@ -148,7 +157,6 @@ namespace Edu.Module.Course ...@@ -148,7 +157,6 @@ namespace Edu.Module.Course
} }
/// <summary> /// <summary>
/// 获取班级日志分页列表 /// 获取班级日志分页列表
/// </summary> /// </summary>
...@@ -215,7 +223,6 @@ namespace Edu.Module.Course ...@@ -215,7 +223,6 @@ namespace Edu.Module.Course
{ nameof(RB_Class_ViewModel.CommissionValue),model.CommissionValue}, { nameof(RB_Class_ViewModel.CommissionValue),model.CommissionValue},
{ nameof(RB_Class_ViewModel.ClassHours),model.ClassHours}, { nameof(RB_Class_ViewModel.ClassHours),model.ClassHours},
{ nameof(RB_Class_ViewModel.ClassStyle),model.ClassStyle}, { nameof(RB_Class_ViewModel.ClassStyle),model.ClassStyle},
{ nameof(RB_Class_ViewModel.ClassStatus),model.ClassStatus},
{ nameof(RB_Class_ViewModel.InnerRemark),model.InnerRemark}, { nameof(RB_Class_ViewModel.InnerRemark),model.InnerRemark},
{ nameof(RB_Class_ViewModel.ClassType),model.ClassType}, { nameof(RB_Class_ViewModel.ClassType),model.ClassType},
{ nameof(RB_Class_ViewModel.DefaultTimeJson),model.DefaultTimeJson}, { nameof(RB_Class_ViewModel.DefaultTimeJson),model.DefaultTimeJson},
...@@ -348,6 +355,54 @@ namespace Edu.Module.Course ...@@ -348,6 +355,54 @@ namespace Edu.Module.Course
return flag; return flag;
} }
/// <summary>
/// 修改班级状态
/// </summary>
/// <param name="ClassStatus"></param>
/// <param name="classId"></param>
/// <returns></returns>
public virtual bool SetClassStatusModule(ClassStatusEnum ClassStatus, int classId)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_Class_ViewModel.ClassStatus),(int)ClassStatus},
};
return classRepository.Update(fileds, new WhereHelper(nameof(RB_Class_ViewModel.ClassId), classId));
}
/// <summary>
/// 更新班级完成进度
/// </summary>
/// <param name="classId">班级Id</param>
/// <returns></returns>
public virtual bool SetClassProcessModule(int classId)
{
int CompleteProgress = 0;//进度数
var classModel = classRepository.GetEntity(classId);
//班级完成的总分钟数
var FinishMinutes = class_CheckRepository.GetClassFinishMinutesRepository(classId.ToString())?.FirstOrDefault()?.FinishMinutes ?? 0;
if (FinishMinutes > 0)
{
//基础课时分钟数
var BasicMinutes = class_ConfigRepository.GetClassConfigRepository(new RB_Class_Config_ViewModel() { Group_Id = classModel.Group_Id })?.BasicMinutes ?? 45;
//完成课时数
var finishHours = FinishMinutes / BasicMinutes;
if (classModel.ClassHours > 0)
{
CompleteProgress = Convert.ToInt32(finishHours / Convert.ToDecimal(classModel.ClassHours) * 100);
}
else if(classModel.ClassHours<=0 && finishHours>0)
{
CompleteProgress = 100;
}
}
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_Class_ViewModel.CompleteProgress),CompleteProgress},
};
return classRepository.Update(fileds, new WhereHelper(nameof(RB_Class_ViewModel.ClassId), classId));
}
/// <summary> /// <summary>
/// 更新班级结课日期 /// 更新班级结课日期
/// </summary> /// </summary>
......
...@@ -8,7 +8,7 @@ using VT.FW.DB.Dapper; ...@@ -8,7 +8,7 @@ using VT.FW.DB.Dapper;
namespace Edu.Repository.Course namespace Edu.Repository.Course
{ {
public class RB_Class_CheckRepository:BaseRepository<RB_Class_Check> public class RB_Class_CheckRepository : BaseRepository<RB_Class_Check>
{ {
/// <summary> /// <summary>
/// 获取教室列表 /// 获取教室列表
...@@ -97,7 +97,7 @@ namespace Edu.Repository.Course ...@@ -97,7 +97,7 @@ namespace Edu.Repository.Course
/// </summary> /// </summary>
/// <param name="classId"></param> /// <param name="classId"></param>
/// <returns></returns> /// <returns></returns>
public int GetClassToalPeopleNum(int classId,int groupId) public int GetClassToalPeopleNum(int classId, int groupId)
{ {
string sql = $@"SELECT count(*) AS Num FROM(SELECT OrderGuestId FROM rb_class_check WHERE `Status`=0 AND Group_Id={groupId} AND ClassId ={classId} GROUP BY OrderGuestId)t"; string sql = $@"SELECT count(*) AS Num FROM(SELECT OrderGuestId FROM rb_class_check WHERE `Status`=0 AND Group_Id={groupId} AND ClassId ={classId} GROUP BY OrderGuestId)t";
var obj = ExecuteScalar(sql); var obj = ExecuteScalar(sql);
...@@ -105,7 +105,8 @@ namespace Edu.Repository.Course ...@@ -105,7 +105,8 @@ namespace Edu.Repository.Course
{ {
return Convert.ToInt32(obj); return Convert.ToInt32(obj);
} }
else { else
{
return 0; return 0;
} }
} }
...@@ -147,7 +148,36 @@ FROM ...@@ -147,7 +148,36 @@ FROM
WHERE A.CheckStatus=0 AND A.OrderGuestId IN({0}) WHERE A.CheckStatus=0 AND A.OrderGuestId IN({0})
) AS B ) AS B
GROUP BY B.OrderGuestId GROUP BY B.OrderGuestId
",guestIds); ", guestIds);
return Get<GuestFinishMinute_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 班级签到完成学习分钟数
/// </summary>
/// <param name="classIds">班级编号</param>
/// <returns></returns>
public List<GuestFinishMinute_ViewModel> GetClassFinishMinutesRepository(string classIds)
{
string where = "";
if (!string.IsNullOrEmpty(classIds))
{
where += string.Format(" AND A.ClassId IN({0}) ", classIds);
}
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.ClassId,SUM(A.FinishMinutes) AS FinishMinutes FROM
(
SELECT A.ClassId,A.ClassDate,B.ClassPlanId
,TIMESTAMPDIFF(MINUTE,(DATE_FORMAT(CONCAT('2021-01-01 ',C.StartTime,':00'),'%Y-%m-%d %H:%i')),(DATE_FORMAT(CONCAT('2021-01-01 ',C.EndTime,':00'), '%Y-%m-%d %H:%i'))) AS FinishMinutes
FROM rb_class_check AS A INNER JOIN rb_class_plan AS B ON A.ClassId=B.ClassId AND A.ClassDate=B.ClassDate AND B.`Status`=0
INNER JOIN rb_class_time AS C ON B.ClassPlanId=C.ClassPlanId
WHERE 1=1 {0}
GROUP BY A.ClassId,A.ClassDate,B.ClassPlanId
) AS A
WHERE 1=1
GROUP BY A.ClassId
", where);
return Get<GuestFinishMinute_ViewModel>(builder.ToString()).ToList(); return Get<GuestFinishMinute_ViewModel>(builder.ToString()).ToList();
} }
} }
......
...@@ -121,10 +121,10 @@ namespace Edu.WebApi.Controllers.Course ...@@ -121,10 +121,10 @@ namespace Edu.WebApi.Controllers.Course
CommissionValue = base.ParmJObj.GetDecimal("CommissionValue"), CommissionValue = base.ParmJObj.GetDecimal("CommissionValue"),
ClassHours = base.ParmJObj.GetInt("ClassHours"), ClassHours = base.ParmJObj.GetInt("ClassHours"),
ClassStyle = (ClassStyleEnum)base.ParmJObj.GetInt("ClassStyle"), ClassStyle = (ClassStyleEnum)base.ParmJObj.GetInt("ClassStyle"),
ClassStatus = (ClassStatusEnum)base.ParmJObj.GetInt("ClassStatus"), ClassStatus = ClassStatusEnum.NonOpenClass,
InnerRemark = base.ParmJObj.GetStringValue("InnerRemark"), InnerRemark = base.ParmJObj.GetStringValue("InnerRemark"),
OutRemark = base.ParmJObj.GetStringValue("OutRemark"), OutRemark = base.ParmJObj.GetStringValue("OutRemark"),
CompleteProgress = base.ParmJObj.GetInt("CompleteProgress"), CompleteProgress = 0,
School_Id = base.ParmJObj.GetInt("School_Id"), School_Id = base.ParmJObj.GetInt("School_Id"),
ClassType = base.ParmJObj.GetInt("ClassType"), ClassType = base.ParmJObj.GetInt("ClassType"),
}; };
...@@ -232,7 +232,6 @@ namespace Edu.WebApi.Controllers.Course ...@@ -232,7 +232,6 @@ namespace Edu.WebApi.Controllers.Course
{ {
extModel.DefaultTimeJson = ""; extModel.DefaultTimeJson = "";
} }
bool flag = classModule.SetClassModule(extModel); bool flag = classModule.SetClassModule(extModel);
if (flag) if (flag)
{ {
...@@ -241,6 +240,21 @@ namespace Edu.WebApi.Controllers.Course ...@@ -241,6 +240,21 @@ namespace Edu.WebApi.Controllers.Course
return flag ? ApiResult.Success() : ApiResult.Failed(); return flag ? ApiResult.Success() : ApiResult.Failed();
} }
/// <summary>
/// 修改班级状态
/// </summary>
/// <returns></returns>
public ApiResult SetClassStatus()
{
var extModel = new RB_Class_ViewModel()
{
ClassId = base.ParmJObj.GetInt("ClassId"),
ClassStatus = (ClassStatusEnum)base.ParmJObj.GetInt("ClassStatus"),
};
bool flag = classModule.SetClassStatusModule(extModel.ClassStatus,extModel.ClassId);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary> /// <summary>
/// 获取班级实体 /// 获取班级实体
/// </summary> /// </summary>
...@@ -250,7 +264,6 @@ namespace Edu.WebApi.Controllers.Course ...@@ -250,7 +264,6 @@ namespace Edu.WebApi.Controllers.Course
{ {
var ClassId = base.ParmJObj.GetInt("ClassId", 0); var ClassId = base.ParmJObj.GetInt("ClassId", 0);
var extModel = classModule.GetClassModule(ClassId); var extModel = classModule.GetClassModule(ClassId);
var obj = new var obj = new
{ {
ClassId = extModel?.ClassId ?? 0, ClassId = extModel?.ClassId ?? 0,
...@@ -598,7 +611,10 @@ namespace Edu.WebApi.Controllers.Course ...@@ -598,7 +611,10 @@ namespace Edu.WebApi.Controllers.Course
list.ForEach(x => x.CreateBy = base.UserInfo.Id); list.ForEach(x => x.CreateBy = base.UserInfo.Id);
list.ForEach(x => x.Status = 0); list.ForEach(x => x.Status = 0);
bool result = classModule.AddClassCheckModule(list); bool result = classModule.AddClassCheckModule(list);
if (result)
{
classModule.SetClassProcessModule(list.FirstOrDefault().ClassId);
}
return result ? ApiResult.Success() : ApiResult.Failed("签到失败"); return result ? ApiResult.Success() : ApiResult.Failed("签到失败");
} }
......
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