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

页面修改

parent c9cd20b5
......@@ -9,6 +9,11 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public class GuestFinishMinute_ViewModel
{
/// <summary>
/// 班级编号
/// </summary>
public int ClassId { get; set; }
/// <summary>
/// 学员编号
/// </summary>
......
using Edu.AOP.CustomerAttribute;
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using Edu.Model.CacheModel;
using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.User;
......@@ -64,7 +65,7 @@ namespace Edu.Module.Course
/// <summary>
/// 课程日志记录表
/// </summary>
private readonly Repository.User.RB_StudentRepository studentRepository = new Repository.User.RB_StudentRepository();
private readonly RB_StudentRepository studentRepository = new RB_StudentRepository();
/// <summary>
/// 教室仓储层对象
......@@ -76,13 +77,21 @@ namespace Edu.Module.Course
/// </summary>
private readonly RB_TeacherRepository teacherRepository = new RB_TeacherRepository();
/// <summary>
/// 开启班级收支仓储层对象
/// </summary>
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>
......@@ -148,7 +157,6 @@ namespace Edu.Module.Course
}
/// <summary>
/// 获取班级日志分页列表
/// </summary>
......@@ -215,7 +223,6 @@ namespace Edu.Module.Course
{ nameof(RB_Class_ViewModel.CommissionValue),model.CommissionValue},
{ nameof(RB_Class_ViewModel.ClassHours),model.ClassHours},
{ 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.ClassType),model.ClassType},
{ nameof(RB_Class_ViewModel.DefaultTimeJson),model.DefaultTimeJson},
......@@ -348,6 +355,54 @@ namespace Edu.Module.Course
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>
......
......@@ -8,7 +8,7 @@ using VT.FW.DB.Dapper;
namespace Edu.Repository.Course
{
public class RB_Class_CheckRepository:BaseRepository<RB_Class_Check>
public class RB_Class_CheckRepository : BaseRepository<RB_Class_Check>
{
/// <summary>
/// 获取教室列表
......@@ -46,7 +46,7 @@ namespace Edu.Repository.Course
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%Y-%m-%d')<=DATE_FORMAT('{1}','%Y-%m-%d') ", nameof(RB_Class_Check_ViewModel.CreateTime), query.EndDate);
}
}
return Get<RB_Class_Check_ViewModel>(builder.ToString()).ToList();
}
......@@ -97,7 +97,7 @@ namespace Edu.Repository.Course
/// </summary>
/// <param name="classId"></param>
/// <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";
var obj = ExecuteScalar(sql);
......@@ -105,7 +105,8 @@ namespace Edu.Repository.Course
{
return Convert.ToInt32(obj);
}
else {
else
{
return 0;
}
}
......@@ -147,7 +148,36 @@ FROM
WHERE A.CheckStatus=0 AND A.OrderGuestId IN({0})
) AS B
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();
}
}
......
......@@ -121,10 +121,10 @@ namespace Edu.WebApi.Controllers.Course
CommissionValue = base.ParmJObj.GetDecimal("CommissionValue"),
ClassHours = base.ParmJObj.GetInt("ClassHours"),
ClassStyle = (ClassStyleEnum)base.ParmJObj.GetInt("ClassStyle"),
ClassStatus = (ClassStatusEnum)base.ParmJObj.GetInt("ClassStatus"),
ClassStatus = ClassStatusEnum.NonOpenClass,
InnerRemark = base.ParmJObj.GetStringValue("InnerRemark"),
OutRemark = base.ParmJObj.GetStringValue("OutRemark"),
CompleteProgress = base.ParmJObj.GetInt("CompleteProgress"),
CompleteProgress = 0,
School_Id = base.ParmJObj.GetInt("School_Id"),
ClassType = base.ParmJObj.GetInt("ClassType"),
};
......@@ -232,7 +232,6 @@ namespace Edu.WebApi.Controllers.Course
{
extModel.DefaultTimeJson = "";
}
bool flag = classModule.SetClassModule(extModel);
if (flag)
{
......@@ -241,6 +240,21 @@ namespace Edu.WebApi.Controllers.Course
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>
......@@ -250,7 +264,6 @@ namespace Edu.WebApi.Controllers.Course
{
var ClassId = base.ParmJObj.GetInt("ClassId", 0);
var extModel = classModule.GetClassModule(ClassId);
var obj = new
{
ClassId = extModel?.ClassId ?? 0,
......@@ -598,7 +611,10 @@ namespace Edu.WebApi.Controllers.Course
list.ForEach(x => x.CreateBy = base.UserInfo.Id);
list.ForEach(x => x.Status = 0);
bool result = classModule.AddClassCheckModule(list);
if (result)
{
classModule.SetClassProcessModule(list.FirstOrDefault().ClassId);
}
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