Commit 73060c8b authored by 黄奎's avatar 黄奎

页面修改

parent 9365efb9
......@@ -567,7 +567,7 @@ namespace Edu.Module.Course
chapterRepository.SetBatchUpdateChapterNoRepository(parentList);
}
SetBatchAllChapterCurrentHoursModule(query.NewCourseId);
SetInitChapterGradeNoModule(query.NewCourseId, query.Group_Id);
return flag;
}
......@@ -778,78 +778,7 @@ namespace Edu.Module.Course
return resultList;
}
/// <summary>
/// 批量导入课程章节信息
/// </summary>
/// <param name="courseId"></param>
/// <returns></returns>
public bool SetBatchAllChapterCurrentHoursModule(int courseId)
{
RB_Course_Chapter_ViewModel query = new RB_Course_Chapter_ViewModel()
{
CourseId = courseId
};
var result = GetChapterTreeListModule(query);
List<ChapterCurrentHoursItem> list = new List<ChapterCurrentHoursItem>();
var currentHours = 0.00;
foreach (var x in result)
{
if (x.ChildList != null && x.ChildList.Count > 0)
{
list.Add(new ChapterCurrentHoursItem()
{
ChapterId = x.ChapterId,
CurrentHours = -1.00
});
foreach (var y in x.ChildList)
{
if (y.StudyHours > 0)
{
list.Add(new ChapterCurrentHoursItem()
{
ChapterId = y.ChapterId,
CurrentHours = currentHours
});
currentHours += y.StudyHours;
}
else
{
list.Add(new ChapterCurrentHoursItem()
{
ChapterId = y.ChapterId,
CurrentHours = -1.00
});
}
}
}
else
{
if (x.StudyHours > 0)
{
list.Add(new ChapterCurrentHoursItem()
{
ChapterId = x.ChapterId,
CurrentHours = currentHours
});
currentHours += x.StudyHours;
}
else
{
list.Add(new ChapterCurrentHoursItem()
{
ChapterId = x.ChapterId,
CurrentHours = -1
});
}
}
}
if (list != null && list.Count > 0)
{
return chapterRepository.SetBatchCurrentHoursRepository(list);
}
return false;
}
/// <summary>
/// 新增修改课程章节
......@@ -876,28 +805,15 @@ namespace Edu.Module.Course
{nameof(RB_Course_Chapter_ViewModel.Requirement) ,model.Requirement},
{nameof(RB_Course_Chapter_ViewModel.CourseRate) ,model.CourseRate},
};
Common.Enum.Course.CourseRateEnum oldCourseRate = 0;
if (model.ParentId == 0)
{
fileds.Add(nameof(RB_Course_Chapter_ViewModel.SortNum), Convert.ToDouble(model.ChapterNo));
oldCourseRate = chapterRepository.GetEntity(model.ChapterId)?.CourseRate ?? Common.Enum.Course.CourseRateEnum.OTHER;
}
flag = chapterRepository.Update(fileds, new WhereHelper(nameof(RB_Course_Chapter_ViewModel.ChapterId), model.ChapterId));
if (flag && model.ParentId == 0)
{
//if (oldCourseRate != model.CourseRate)
// {
//修改了等级了 重新初始化
System.Threading.Tasks.Task.Run(() =>
{
chapterRepository.SetInitChapterGradeNo(model.CourseId,model.Group_Id);
});
// }
}
}
else
{
if (model.ParentId == 0)
if (model.ParentId == 0)
{
//查询当前等级对应的NO
int CourseGradeId = chapterRepository.GetMaxChapterGradeNo(model.CourseId, model.ChapterNo, model.CourseRate, model.Group_Id);
......@@ -905,13 +821,22 @@ namespace Edu.Module.Course
}
var newId = chapterRepository.Insert(model);
model.ChapterId = newId;
flag = newId > 0;
flag = newId > 0;
}
return flag;
}
/// <summary>
/// 初始化课时和课程编号
/// </summary>
/// <param name="CourseId"></param>
/// <param name="Group_Id"></param>
public void SetInitChapterGradeNoModule(int CourseId,int Group_Id)
{
Task.Run(() =>
{
SetBatchAllChapterCurrentHoursModule(model.CourseId);
chapterRepository.SetInitChapterGradeNoRepository(CourseId, Group_Id);
});
return flag;
}
/// <summary>
......@@ -1000,7 +925,7 @@ namespace Edu.Module.Course
public bool BatchRemoveChapterModule(RB_Course_Chapter_ViewModel model)
{
var flag = chapterRepository.DeleteBatchChpterRepository(model);
SetBatchAllChapterCurrentHoursModule(model.CourseId);
SetInitChapterGradeNoModule(model.CourseId, model.Group_Id);
return flag;
}
......
......@@ -100,19 +100,24 @@ namespace Edu.Repository.Course
/// <returns></returns>
public bool SetBatchUpdateChapterNoRepository(List<RB_Course_Chapter_ViewModel> param)
{
bool flag = false;
StringBuilder builder = new StringBuilder();
builder.Append("INSERT INTO rb_course_chapter (ChapterId, ChapterNo, ParentId,SortNum) VALUES");
param.ForEach(x =>
foreach (var x in param)
{
var newChapterNo = x.ChapterNo.Replace(".", "");
double.TryParse(newChapterNo, out double SortNum);
builder.Append($"({x.ChapterId},'{x.ChapterNo}',{x.ParentId},{SortNum}),");
});
builder = builder.Remove(builder.Length - 1, 1);
builder.Append("ON DUPLICATE KEY UPDATE ChapterNo=VALUES(ChapterNo),ParentId=VALUES(ParentId),SortNum=VALUES(SortNum);");
return Execute(builder.ToString()) > 0;
if (x.ChapterId > 0)
{
builder.AppendFormat("; UPDATE rb_course_chapter SET ChapterNo='{0}',ParentId={1},SortNum={2} WHERE ChapterId={3}", x.ChapterNo, x.ParentId, x.SortNum, x.ChapterId);
}
}
if (!string.IsNullOrEmpty(builder.ToString()))
{
flag = Execute(builder.ToString()) > 0;
}
return flag;
}
/// <summary>
/// 批量插入当前课时
/// </summary>
......@@ -239,17 +244,23 @@ namespace Edu.Repository.Course
/// </summary>
/// <param name="courseId"></param>
/// <param name="group_Id"></param>
public void SetInitChapterGradeNo(int courseId, int group_Id)
public void SetInitChapterGradeNoRepository(int courseId, int group_Id)
{
string sql = $@"
UPDATE rb_course_chapter cc
LEFT JOIN (
SELECT c.ChapterId,c.CourseId,c.ChapterNo,c.SortNum,c.CourseRate
,(SELECT COUNT(0) as Num FROM rb_course_chapter c2 WHERE c2.`Status` =0 and c2.CourseId = c.CourseId and c2.CourseRate = c.CourseRate and c2.SortNum <= c.SortNum) AS GrageNum
FROM rb_course_chapter c
WHERE c.`Status` =0 and c.CourseId ={courseId}
INNER JOIN (
SELECT C.ChapterId,SUM(c1.StudyMinutes)/45 AS CurrentHours
FROM rb_course_chapter C JOIN rb_course_chapter AS C1 ON (C.CourseId=C1.CourseId AND C1.SortNum<=C.SortNum )
WHERE C.`Status` =0 AND C.CourseId ={courseId}
GROUP BY C.ChapterId
) cc2 on cc.ChapterId =cc2.ChapterId
SET cc.ChapterGradeNo = cc2.GrageNum
INNER JOIN(
SELECT C.ChapterId,(CASE WHEN C.CourseRate=c2.CourseRate THEN COUNT(1) ELSE 0 END ) AS GrageNum
FROM rb_course_chapter C JOIN rb_course_chapter AS C2 ON (C.CourseId=C2.CourseId AND C2.SortNum<=C.SortNum AND C.CourseRate=C2.CourseRate)
WHERE C.`Status` =0 AND C.CourseId ={courseId}
GROUP BY C.ChapterId
) AS CC3 on cc.ChapterId =CC3.ChapterId
SET cc.CurrentHours = cc2.CurrentHours,cc.ChapterGradeNo=CC3.GrageNum
WHERE cc.Group_Id ={group_Id} and cc.CourseId ={courseId}";
Execute(sql);
}
......
......@@ -683,6 +683,10 @@ namespace Edu.WebApi.Controllers.Course
extModel.Group_Id = this.UserInfo.Group_Id;
extModel.School_Id = this.UserInfo.School_Id;
bool flag = courseModule.SetChapterModule(extModel);
if (flag)
{
courseModule.SetInitChapterGradeNoModule(extModel.CourseId, extModel.Group_Id);
}
return flag ? ApiResult.Success(data: extModel) : ApiResult.Failed();
}
......@@ -789,6 +793,7 @@ namespace Edu.WebApi.Controllers.Course
CourseId = base.ParmJObj.GetInt("CourseId"),
ChapterNo = base.ParmJObj.GetStringValue("ChapterNo"),
ChapterId = base.ParmJObj.GetInt("ChapterId"),
Group_Id = base.UserInfo.Group_Id,
};
bool flag = courseModule.BatchRemoveChapterModule(extModel);
return flag ? 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