Commit 5ebb8cc6 authored by 黄奎's avatar 黄奎

11111

parent dca1aaa1
......@@ -146,5 +146,10 @@ namespace Edu.Model.Entity.Scroll
/// 课程等级 对应的章节 与CourseGradeId 组成唯一
/// </summary>
public int CourseGradeNo { get; set; }
/// <summary>
/// 消耗目标课程章节编号
/// </summary>
public int Consume_CourseGradeNo { get; set; }
}
}
\ No newline at end of file
......@@ -109,6 +109,7 @@ namespace Edu.Model.ViewModel.User
/// 合同数量
/// </summary>
public int ContractNum { get; set; }
/// <summary>
/// 课程ID
/// </summary>
......
......@@ -291,7 +291,7 @@ namespace Edu.Module.Course
detailsList = GetPlanAppointmentStatic(new Model.ViewModel.Scroll.RB_Plan_Appointment_Details_ViewModel()
{
QPlanAppointmentIds = ids
});
})?.Where(qitem=>qitem.Status==0)?.ToList();
}
for (var i = 0; i <= days; i++)
......
......@@ -2504,18 +2504,30 @@ namespace Edu.Module.Course
#region 学生的课程
//获取正在上课的课程
var learnModel = student_OrderGuestRepository.GetStudentLearningCourse(demodel.StuId, demodel.Group_Id, demodel.GuestId);
if (learnModel == null) { return demodel.StuName + " 未查询有正在学习的课程,无法约课"; }
if (learnModel.ClassScrollType != 2) { return demodel.StuName + " 不是预约学员,无法查看"; }
if (learnModel == null)
{
return demodel.StuName + " 未查询有正在学习的课程,无法约课";
}
if (learnModel.ClassScrollType != 2)
{
return demodel.StuName + " 不是预约学员,无法查看";
}
//获取课程信息
var courseModel = courseRepository.GetEntity(learnModel.CourseId);
if (courseModel.CourseTimeId <= 0) { return "课程未关联上课时段"; }
if (courseModel.CourseTimeId <= 0)
{
return "课程未关联上课时段";
}
//查询课程使用的上课时段
var ctModel = scroll_CourseTimeRepository.GetEntity<RB_Scroll_CourseTime_ViewModel>(courseModel.CourseTimeId);
if (!string.IsNullOrEmpty(ctModel.Content))
{
ctModel.TimeList = JsonHelper.DeserializeObject<List<CourseTimeModel>>(ctModel.Content);
}
else { return "上课时段未配置"; }
else
{
return "上课时段未配置";
}
double NextAppointMinutes = 0;
if (demodel.CourseGradeId > 0 && demodel.CourseGradeNo > 0)
......@@ -2534,7 +2546,10 @@ namespace Edu.Module.Course
demodel.AccountId = teacherRepository.GetTeacherByTId(demodel.TeacherId, demodel.Group_Id).FirstOrDefault().AccountId;
//验证当日老师的数据
var planList = scroll_PlanRepository.GetList(new RB_Scroll_Plan_ViewModel() { Group_Id = demodel.Group_Id, AccountId = demodel.AccountId, STime = Date, ETime = Date });
if (!planList.Any()) { return "老师当日未查询到可预约课,请刷新后再试"; }
if (!planList.Any())
{
return "老师当日未查询到可预约课,请刷新后再试";
}
//开始验证 此时段数据是否可以预约
var pcList = class_PlanRepository.GetClassPlanModelRepository(new RB_Class_Plan_ViewModel() { Group_Id = demodel.Group_Id, QClassDateStr = Date, TeacherId = demodel.TeacherId });
......@@ -2625,13 +2640,28 @@ namespace Edu.Module.Course
var planModel = planList.FirstOrDefault();
var timeList = planModel.CourseTimeList.Where(x => ("," + demodel.ShiftSort + ",").Contains("," + x.Sort + ",")).ToList();
if (timeList.Sum(x => x.Minutes) != NextAppointMinutes) { return "预约时长不正确"; }
if (timeList.Where(x => x.State == 2).Any()) { return "此时段不可预约,请刷新后再试"; }
if (timeList.Sum(x => x.Minutes) != NextAppointMinutes)
{
return "预约时长不正确";
}
if (timeList.Where(x => x.State == 2).Any())
{
return "此时段不可预约,请刷新后再试";
}
foreach (var item in timeList.Where(x => x.State == 3))
{
if (demodel.CourseGradeId != item.CourseGradeId) { return "预约课次等级不一致"; }
if (demodel.CourseGradeNo != item.CourseGradeNo) { return "预约课程章节不一致"; }
if (item.PeopleNum + 1 > item.MaxPeopleNum) { return "该时段已预约满,请预约其他时段"; }
if (demodel.CourseGradeId != item.CourseGradeId)
{
return "预约课次等级不一致";
}
if (demodel.CourseGradeNo != item.CourseGradeNo)
{
return "预约课程章节不一致";
}
if (item.PeopleNum + 1 > item.MaxPeopleNum)
{
return "该时段已预约满,请预约其他时段";
}
demodel.CourseId = item.CourseId;
demodel.RoomId = item.RoomId;
}
......@@ -3539,7 +3569,7 @@ namespace Edu.Module.Course
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public object GetStuLearnChapterStaticModule(StuCourseQuery demodel,out int MaxLength)
public List<object> GetStuLearnChapterStaticModule(StuCourseQuery demodel, out int MaxLength)
{
MaxLength = 0;
List<object> Rlist = new List<object>();
......@@ -3551,8 +3581,8 @@ namespace Edu.Module.Course
AssistId = demodel.TeacherAccountId,
CourseId = demodel.CourseId,
CourseRate = demodel.CourseRate,
Student_Id=demodel.Student_Id,
StuGuestState=demodel.GuestState,
Student_Id = demodel.Student_Id,
StuGuestState = demodel.GuestState,
});
if (dataList.Any())
......@@ -3575,7 +3605,11 @@ namespace Edu.Module.Course
StuId = demodel.Student_Id
});
//查询所有的 补课记录
var SkipList = scroll_SkipCourseRepository.GetList(new RB_Scroll_SkipCourse_ViewModel() { Group_Id = demodel.Group_Id });
var SkipList = scroll_SkipCourseRepository.GetList(new RB_Scroll_SkipCourse_ViewModel()
{
Group_Id = demodel.Group_Id,
StuId = demodel.Student_Id
});
string courseIds = string.Join(",", dataList.Select(qitem => qitem.CourseId).Distinct());
//获取所有课程章节信息
var totalChapterList = course_ChapterRepository.GetChapterListRepository(new RB_Course_Chapter_ViewModel()
......@@ -3604,7 +3638,7 @@ namespace Edu.Module.Course
{
x.SortNum = Convert.ToDouble(x.ChapterNo);
});
if (item.ClassScrollType == 2)
{
var achildList = AppointList.Where(x => x.GuestId == ogModel.GuestId).ToList();//当前课程的
......@@ -3675,8 +3709,8 @@ namespace Edu.Module.Course
item.CourseId,
item.CourseName,
item.ClassScrollType,
StuName= oguestModel?.GuestName??"",
TeacherName=teacherModel?.AssistName??"",
StuName = oguestModel?.GuestName ?? "",
TeacherName = teacherModel?.AssistName ?? "",
oguestModel.CourseChapterNo,
oguestModel.TotalChapterNo,
ChapterList
......
......@@ -844,29 +844,31 @@ and og.TotalChapterNo > og.CourseChapterNo and (og.CourseChapterNo + 1 + IFNULL(
/// <returns></returns>
public List<RB_Student_OrderGuest_ViewModel> GetCanAppointmentStuList_V2(string stuName, int NextChapterGradeNo, int CourseGradeId, int SchoolId, int group_Id)
{
string sql = $@"SELECT sog.Student_Id,sog.GuestId,sog.OrderId,cou.CourseName,s.StuName as GuestName,og.CourseChapterNo,sa.AppointNum,ss.MakeUpNum FROM rb_student_orderguest sog
string sql = $@"
SELECT sog.Student_Id,sog.GuestId,sog.OrderId,cou.CourseName,s.StuName as GuestName,og.CourseChapterNo,sa.AppointNum,ss.MakeUpNum
,o.CourseId
FROM rb_student_orderguest sog
INNER JOIN rb_order_guest og on sog.GuestId = og.Id
INNER JOIN rb_order o on sog.OrderId = o.OrderId
INNER JOIN rb_course cou on o.CourseId = cou.CourseId
INNER JOIN rb_student s on sog.Student_Id = s.StuId
INNER JOIN rb_class c on o.ClassId = c.ClassId
inner join rb_course_chapter cc on o.CourseId = cc.CourseId and cc.ParentId =0 and cc.ChapterGradeNo ={NextChapterGradeNo} and cc.CourseRate ={CourseGradeId}
LEFT JOIN (
SELECT sa1.StuId,COUNT(0) as AppointNum FROM rb_scroll_appointment sa1
INNER JOIN rb_student s1 on sa1.StuId = s1.StuId
WHERE sa1.`Status` =0 and sa1.State <>5 and sa1.Group_Id ={group_Id} and s1.StuName LIKE '%{stuName}%' and sa1.CourseGradeId ={CourseGradeId} and sa1.CourseGradeNo ={NextChapterGradeNo} GROUP BY sa1.StuId
SELECT sa1.StuId,COUNT(0) as AppointNum
FROM rb_scroll_appointment sa1 INNER JOIN rb_student s1 on sa1.StuId = s1.StuId
WHERE sa1.`Status` =0 and sa1.State <>5 and sa1.Group_Id ={group_Id} and s1.StuName LIKE '%{stuName}%' and sa1.CourseGradeId ={CourseGradeId} and sa1.CourseGradeNo ={NextChapterGradeNo} GROUP BY sa1.StuId
) sa on sog.Student_Id = sa.StuId
LEFT JOIN (
SELECT ss1.StuId,COUNT(0) as MakeUpNum FROM rb_scroll_skipcourse ss1
INNER JOIN rb_student s1 on ss1.StuId = s1.StuId
WHERE ss1.`Status` =0 and ss1.State =1 and ss1.Group_Id ={group_Id} and s1.StuName LIKE '%{stuName}%' and ss1.CourseGradeId ={CourseGradeId} and ss1.CourseGradeNo ={NextChapterGradeNo} GROUP BY ss1.StuId
SELECT ss1.StuId,COUNT(0) as MakeUpNum
FROM rb_scroll_skipcourse ss1 INNER JOIN rb_student s1 on ss1.StuId = s1.StuId
WHERE ss1.`Status` =0 and ss1.State =1 and ss1.Group_Id ={group_Id} and s1.StuName LIKE '%{stuName}%' and ss1.CourseGradeId ={CourseGradeId} and ss1.CourseGradeNo ={NextChapterGradeNo} GROUP BY ss1.StuId
) ss on sog.Student_Id = ss.StuId
WHERE o.Group_Id ={group_Id} and sog.`Status` =0 and og.GuestState NOT IN(2,7) and o.OrderState <>3 and c.ClassScrollType =2 and s.StuName LIKE '%{stuName}%'";
if (SchoolId >= 0)
{
sql += $@" and o.ScrollSchoolId ={SchoolId}";
}
sql += string.Format(@" AND EXISTS (SELECT 1 FROM rb_course_chapter WHERE Status=0 AND CourseId= o.CourseId AND ParentId =0 AND ChapterGradeNo ={0} AND CourseRate ={1})", NextChapterGradeNo, CourseGradeId);
return Get<RB_Student_OrderGuest_ViewModel>(sql).ToList();
}
......
......@@ -117,7 +117,7 @@ namespace Edu.WebApi.Controllers.Applet
DateTime startTime = DateTime.Now;
int NowWeek = (int)today.DayOfWeek;
DateTime endTime = DateTime.Now;
if (NowWeek > WeekStr - 1)
if (NowWeek <= WeekStr)
{
startTime = today.AddDays(0 - Convert.ToInt16(today.DayOfWeek) + 7 + 1);
endTime = today.AddDays(6 - Convert.ToInt16(today.DayOfWeek) + 7 + 1);
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Edu.Cache.User;
using Edu.Cache.User;
using Edu.Common.API;
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.Grade;
using Edu.Model.ViewModel.Query;
using Edu.Model.ViewModel.Scroll;
using Edu.Model.ViewModel.Sell;
using Edu.Module.Course;
using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Edu.WebApi.Controllers.Course
{
......@@ -37,10 +33,10 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetScrollShiftList() {
public ApiResult GetScrollShiftList()
{
var userInfo = base.UserInfo;
var list = scrollClassModule.GetScrollShiftList(userInfo.Group_Id);
return ApiResult.Success("", list.Select(x => new
{
x.Id,
......@@ -59,16 +55,20 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetScrollShiftInfo() {
public ApiResult SetScrollShiftInfo()
{
var userInfo = base.UserInfo;
RB_Scroll_Shift_ViewModel demodel = JsonHelper.DeserializeObject<RB_Scroll_Shift_ViewModel>(base.RequestParm.Msg.ToString());
if (string.IsNullOrEmpty(demodel.Name)) {
if (string.IsNullOrEmpty(demodel.Name))
{
return ApiResult.ParamIsNull("请传递班次名称");
}
if (string.IsNullOrEmpty(demodel.StartTime)) {
if (string.IsNullOrEmpty(demodel.StartTime))
{
return ApiResult.ParamIsNull("请传递开始时间");
}
if (string.IsNullOrEmpty(demodel.EndTime)) {
if (string.IsNullOrEmpty(demodel.EndTime))
{
return ApiResult.ParamIsNull("请传递结束时间");
}
......@@ -84,7 +84,8 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed(msg);
}
}
......@@ -94,10 +95,12 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DelScrollShiftInfo() {
public ApiResult DelScrollShiftInfo()
{
var userInfo = base.UserInfo;
int ShiftId = ParmJObj.GetInt("ShiftId", 0);
if (ShiftId <= 0) {
if (ShiftId <= 0)
{
return ApiResult.ParamIsNull();
}
......@@ -106,7 +109,8 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed(msg);
}
}
......@@ -119,14 +123,15 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetScrollPlanMonthList() {
public ApiResult GetScrollPlanMonthList()
{
var userIno = base.UserInfo;
RB_Scroll_Plan_ViewModel demodel = JsonHelper.DeserializeObject<RB_Scroll_Plan_ViewModel>(base.RequestParm.Msg.ToString());
demodel.Group_Id = userIno.Group_Id;
if (string.IsNullOrEmpty(demodel.STime) || string.IsNullOrEmpty(demodel.ETime)) {
if (string.IsNullOrEmpty(demodel.STime) || string.IsNullOrEmpty(demodel.ETime))
{
return ApiResult.ParamIsNull("请传递开始结束时间");
}
var list = scrollClassModule.GetScrollPlanMonthList(demodel);
return ApiResult.Success("", list);
}
......@@ -136,16 +141,20 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetScrollPlanInfo() {
public ApiResult SetScrollPlanInfo()
{
var userInfo = base.UserInfo;
RB_Scroll_Plan_ViewModel demodel = JsonHelper.DeserializeObject<RB_Scroll_Plan_ViewModel>(base.RequestParm.Msg.ToString());
if (demodel.AccountId <= 0) {
if (demodel.AccountId <= 0)
{
return ApiResult.ParamIsNull("请传递老师ID");
}
if (demodel.ShiftId < 0) {
if (demodel.ShiftId < 0)
{
return ApiResult.ParamIsNull("请选择班次");//0表示休息吧
}
if (demodel.ShiftId > 0 && demodel.RoomId <= 0) {
if (demodel.ShiftId > 0 && demodel.RoomId <= 0)
{
return ApiResult.ParamIsNull("请传递教室ID");
}
......@@ -161,7 +170,8 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed(msg);
}
}
......@@ -178,7 +188,6 @@ namespace Edu.WebApi.Controllers.Course
{
var userInfo = base.UserInfo;
var list = scrollClassModule.GetScrollCourseTimeList(userInfo.Group_Id);
return ApiResult.Success("", list.Select(x => new
{
x.Id,
......@@ -207,7 +216,8 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.ParamIsNull("请传递时段");
}
foreach (var item in demodel.TimeList) {
foreach (var item in demodel.TimeList)
{
item.Minutes = (int)(Convert.ToDateTime("2020-01-01 " + item.EndTime) - Convert.ToDateTime("2020-01-01 " + item.StartTime)).TotalMinutes;
}
demodel.Content = JsonHelper.Serialize(demodel.TimeList);
......@@ -217,7 +227,6 @@ namespace Edu.WebApi.Controllers.Course
demodel.CreateTime = DateTime.Now;
demodel.UpdateBy = userInfo.Id;
demodel.UpdateTime = DateTime.Now;
string msg = scrollClassModule.SetScrollCourseTime(demodel);
if (msg == "")
{
......@@ -242,7 +251,6 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.ParamIsNull();
}
string msg = scrollClassModule.DelScrollCourseTime(CourseTimeId, userInfo);
if (msg == "")
{
......@@ -262,9 +270,9 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAppointmentConfig() {
public ApiResult GetAppointmentConfig()
{
var userInfo = base.UserInfo;
var robj = scrollClassModule.GetAppointmentConfig(userInfo.Group_Id);
return ApiResult.Success("", robj);
}
......@@ -274,13 +282,12 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCanTeacherClassTimeList() {
public ApiResult GetCanTeacherClassTimeList()
{
var userInfo = base.UserInfo;
string Date = base.ParmJObj.GetStringValue("Date");//日期
int TeacherId = base.ParmJObj.GetInt("TeacherId", 0);//老师ID
int courseId = base.ParmJObj.GetInt("CourseId", 0);//课程ID
var robj = scrollClassModule.GetCanTeacherClassTimeList(Date, TeacherId, courseId, userInfo.Group_Id);
return ApiResult.Success("", robj);
}
......@@ -320,17 +327,19 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetStuAppointmentInfo() {
public ApiResult GetStuAppointmentInfo()
{
var userInfo = base.UserInfo;
int StuId = base.ParmJObj.GetInt("StuId", 0);//学生ID
int GuestId = base.ParmJObj.GetInt("GuestId", 0);
var robj = scrollClassModule.GetStuAppointmentInfo(StuId, GuestId, userInfo.Group_Id,out string rmsg);
var robj = scrollClassModule.GetStuAppointmentInfo(StuId, GuestId, userInfo.Group_Id, out string rmsg);
if (rmsg == "")
{
return ApiResult.Success("", robj);
}
else {
else
{
return ApiResult.Failed(rmsg);
}
}
......@@ -414,7 +423,7 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.ParamIsNull("请传递上课时段");
}
if(demodel.GuestList==null || !demodel.GuestList.Any())
if (demodel.GuestList == null || !demodel.GuestList.Any())
{
return ApiResult.ParamIsNull("请传递学生");
}
......@@ -467,7 +476,7 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.Failed(msg);
}
}
return ApiResult.Success();
}
......@@ -476,12 +485,14 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult CancelAppointment() {
public ApiResult CancelAppointment()
{
var userInfo = base.UserInfo;
string AppointIds = base.ParmJObj.GetStringValue("AppointIds");
int TeacherId = base.ParmJObj.GetInt("TeacherId", 0);
string Date = base.ParmJObj.GetStringValue("Date");
if (string.IsNullOrEmpty(AppointIds) || TeacherId <= 0 || string.IsNullOrEmpty(Date)) {
if (string.IsNullOrEmpty(AppointIds) || TeacherId <= 0 || string.IsNullOrEmpty(Date))
{
return ApiResult.ParamIsNull();
}
......@@ -490,7 +501,8 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed(msg);
}
}
......@@ -500,7 +512,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetSureAppointment() {
public ApiResult SetSureAppointment()
{
var userInfo = base.UserInfo;
string ShiftSort = base.ParmJObj.GetStringValue("ShiftSort");
int TeacherId = base.ParmJObj.GetInt("TeacherId", 0);
......@@ -526,7 +539,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetAppointmentStuTransfer() {
public ApiResult SetAppointmentStuTransfer()
{
var userInfo = base.UserInfo;
string AppointmentIds = base.ParmJObj.GetStringValue("AppointmentIds");
int TeacherId = base.ParmJObj.GetInt("TeacherId", 0);
......@@ -553,7 +567,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCanMakeupStuList() {
public ApiResult GetCanMakeupStuList()
{
var userInfo = base.UserInfo;
int CourseGradeNo = base.ParmJObj.GetInt("CourseGradeNo", 0);
int CourseGradeId = base.ParmJObj.GetInt("CourseGradeId", 0);
......@@ -579,7 +594,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetAppointmentMakeup() {
public ApiResult SetAppointmentMakeup()
{
var userInfo = base.UserInfo;
RB_Scroll_Appointment_ViewModel demodel = JsonHelper.DeserializeObject<RB_Scroll_Appointment_ViewModel>(base.RequestParm.Msg.ToString());
if (demodel.TeacherId <= 0)
......@@ -598,7 +614,7 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.ParamIsNull("请传递学生ID");
}
if (demodel.CourseGradeId <= 0 || demodel.CourseGradeNo <=0)
if (demodel.CourseGradeId <= 0 || demodel.CourseGradeNo <= 0)
{
return ApiResult.ParamIsNull("请传递上课章节");
}
......@@ -641,12 +657,14 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCanAppointmentAgainList() {
public ApiResult GetCanAppointmentAgainList()
{
var userInfo = base.UserInfo;
string StuName = base.ParmJObj.GetStringValue("StuName");//学生名称 模糊查询
int CourseGradeNo = base.ParmJObj.GetInt("CourseGradeNo", 0);//课程等级对应的章节
int CourseGradeId = base.ParmJObj.GetInt("CourseGradeId", 0);//课程等级
if (string.IsNullOrEmpty(StuName) || CourseGradeNo <= 0 || CourseGradeId <= 0) {
if (string.IsNullOrEmpty(StuName) || CourseGradeNo <= 0 || CourseGradeId <= 0)
{
return ApiResult.ParamIsNull();
}
......@@ -687,7 +705,7 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.ParamIsNull("请传递学生ID");
}
if (demodel.CourseGradeNo <= 0 || demodel.CourseGradeId <=0)
if (demodel.CourseGradeNo <= 0 || demodel.CourseGradeId <= 0)
{
return ApiResult.ParamIsNull("请传递上课章节");
}
......@@ -740,7 +758,7 @@ namespace Edu.WebApi.Controllers.Course
int CourseGradeId = base.ParmJObj.GetInt("CourseGradeId", 0);//上课等级ID
int NextCourseGradeNo = base.ParmJObj.GetInt("NextCourseGradeNo", 0);//上课等级ID对应的课次
int SchoolId = base.ParmJObj.GetInt("SchoolId", -1);//约课校区
if (string.IsNullOrEmpty(StuName) || CourseGradeId <= 0 || NextCourseGradeNo <= 0)
if (CourseGradeId <= 0 || NextCourseGradeNo <= 0)
{
return ApiResult.ParamIsNull();
}
......@@ -755,7 +773,10 @@ namespace Edu.WebApi.Controllers.Course
x.CourseName,
x.CourseChapterNo,
x.AppointNum,
State = x.AppointNum > 0 ? 3 : 1
State = x.AppointNum > 0 ? 3 : 1,
x.CourseId,
//抵消课程章节编号,前台使用
Consume_CourseGradeNo=0,
}));
}
......@@ -767,7 +788,20 @@ namespace Edu.WebApi.Controllers.Course
public ApiResult SetAdminScrollAppointment_V2()
{
var userInfo = base.UserInfo;
RB_Scroll_Appointment_ViewModel demodel = JsonHelper.DeserializeObject<RB_Scroll_Appointment_ViewModel>(base.RequestParm.Msg.ToString());
RB_Scroll_Appointment_ViewModel demodel = new RB_Scroll_Appointment_ViewModel()
{
CourseGradeId = (CourseRateEnum)base.ParmJObj.GetInt("CourseGradeId"),
CourseGradeNo = base.ParmJObj.GetInt("CourseGradeNo"),
CourseId = base.ParmJObj.GetInt("CourseId"),
Date = base.ParmJObj.GetDateTime("Date"),
GuestId = base.ParmJObj.GetInt("GuestId"),
RoomId = base.ParmJObj.GetInt("RoomId"),
ShiftSort = base.ParmJObj.GetStringValue("ShiftSort"),
StuId = base.ParmJObj.GetInt("StuId"),
StuName = base.ParmJObj.GetStringValue("StuName"),
TeacherId = base.ParmJObj.GetInt("TeacherId"),
Consume_CourseGradeNo=base.ParmJObj.GetInt("Consume_CourseGradeNo"),
};
if (demodel.TeacherId <= 0)
{
return ApiResult.ParamIsNull("请传递老师编号ID");
......@@ -826,7 +860,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetAdminScrollMakeUp() {
public ApiResult SetAdminScrollMakeUp()
{
var userInfo = base.UserInfo;
RB_Scroll_Appointment_ViewModel demodel = JsonHelper.DeserializeObject<RB_Scroll_Appointment_ViewModel>(base.RequestParm.Msg.ToString());
if (demodel.TeacherId <= 0)
......@@ -915,7 +950,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetScrollTeacher() {
public ApiResult SetScrollTeacher()
{
var userInfo = base.UserInfo;
int TeacherId = base.ParmJObj.GetInt("TeacherId", 0);
string Date = base.ParmJObj.GetStringValue("Date");
......@@ -965,7 +1001,7 @@ namespace Edu.WebApi.Controllers.Course
else
{
return ApiResult.Failed(msg);
}
}
}
/// <summary>
......@@ -973,7 +1009,8 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetScrollCourseChapterName() {
public ApiResult GetScrollCourseChapterName()
{
var userInfo = base.UserInfo;
int CourseId = base.ParmJObj.GetInt("CourseId", 0);
int CourseGradeId = base.ParmJObj.GetInt("CourseGradeId", 0);
......@@ -996,15 +1033,16 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult InitializeAppointmentData() {
public ApiResult InitializeAppointmentData()
{
var userInfo = base.UserInfo;
string msg = scrollClassModule.InitializeAppointmentData(userInfo.Group_Id);
if (msg == "")
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed(msg);
}
}
......@@ -1018,16 +1056,20 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetGuestStartChapter() {
public ApiResult SetGuestStartChapter()
{
var userInfo = base.UserInfo;
RB_Scroll_SkipCourse_ViewModel demodel = JsonHelper.DeserializeObject<RB_Scroll_SkipCourse_ViewModel>(base.RequestParm.Msg.ToString());
if (demodel.StuId <= 0 || demodel.GuestId <= 0) {
if (demodel.StuId <= 0 || demodel.GuestId <= 0)
{
return ApiResult.ParamIsNull("请传递学生");
}
if (demodel.CourseId <= 0) {
if (demodel.CourseId <= 0)
{
return ApiResult.ParamIsNull("请传递课程ID");
}
if (string.IsNullOrEmpty(demodel.ChapterNos)) {
if (string.IsNullOrEmpty(demodel.ChapterNos))
{
return ApiResult.ParamIsNull("请选择跳过的章节");
}
List<int> ChapterNoList = JsonHelper.DeserializeObject<List<int>>("[" + demodel.ChapterNos + "]");
......@@ -1054,7 +1096,8 @@ namespace Edu.WebApi.Controllers.Course
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed(msg);
}
}
......@@ -1072,9 +1115,7 @@ namespace Edu.WebApi.Controllers.Course
{
var userInfo = base.UserInfo;
RB_Scroll_Appointment_ViewModel demodel = JsonHelper.DeserializeObject<RB_Scroll_Appointment_ViewModel>(base.RequestParm.Msg.ToString());
demodel.Group_Id = userInfo.Group_Id;
var list = scrollClassModule.GetStuLearnChapterList(demodel);
return ApiResult.Success("", list);
}
......@@ -1090,13 +1131,13 @@ namespace Edu.WebApi.Controllers.Course
var userInfo = base.UserInfo;
StuCourseQuery demodel = new StuCourseQuery()
{
TeacherAccountId=base.ParmJObj.GetInt("TeacherAccountId"),
CourseId=base.ParmJObj.GetInt("CourseId"),
CourseRate=(CourseRateEnum)base.ParmJObj.GetInt("CourseRate"),
Student_Id=base.ParmJObj.GetInt("Student_Id"),
GuestState=(GuestStateEnum)base.ParmJObj.GetInt("GuestState")
TeacherAccountId = base.ParmJObj.GetInt("TeacherAccountId"),
CourseId = base.ParmJObj.GetInt("CourseId"),
CourseRate = (CourseRateEnum)base.ParmJObj.GetInt("CourseRate"),
Student_Id = base.ParmJObj.GetInt("Student_Id"),
GuestState = (GuestStateEnum)base.ParmJObj.GetInt("GuestState")
};
demodel.Group_Id = userInfo.Group_Id;
var list = scrollClassModule.GetStuLearnChapterStaticModule(demodel, out int MaxLength);
......@@ -1106,6 +1147,113 @@ namespace Edu.WebApi.Controllers.Course
MaxLength
});
}
/// <summary>
/// 下载学员消课信息
/// </summary>
/// <returns></returns>
[HttpPost]
[Obsolete]
public FileContentResult DownLoadStuLearnChapterStatic()
{
var userInfo = base.UserInfo;
StuCourseQuery demodel = new StuCourseQuery()
{
TeacherAccountId = base.ParmJObj.GetInt("TeacherAccountId"),
CourseId = base.ParmJObj.GetInt("CourseId"),
CourseRate = (CourseRateEnum)base.ParmJObj.GetInt("CourseRate"),
Student_Id = base.ParmJObj.GetInt("Student_Id"),
GuestState = (GuestStateEnum)base.ParmJObj.GetInt("GuestState")
};
demodel.Group_Id = userInfo.Group_Id;
var list = scrollClassModule.GetStuLearnChapterStaticModule(demodel, out int MaxLength);
string excelName = "学员消课.xls";
List<ExcelDataSource> slist = new List<ExcelDataSource>();
try
{
var firstRow = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>()
};
firstRow.ExcelRows.Add(new ExcelColumn(value: "报名课程"));
foreach (var item in list)
{
JObject jobj = JObject.Parse(Common.Plugin.JsonHelper.Serialize(item));
firstRow.ExcelRows.Add(new ExcelColumn(value: jobj.GetStringValue("CourseName")));
}
slist.Add(firstRow);
var secondRow = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>()
};
secondRow.ExcelRows.Add(new ExcelColumn(value: "中教"));
foreach (var item in list)
{
JObject jobj = JObject.Parse(Common.Plugin.JsonHelper.Serialize(item));
secondRow.ExcelRows.Add(new ExcelColumn(value: jobj.GetStringValue("TeacherName")));
}
slist.Add(secondRow);
var thirdRow = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>()
};
thirdRow.ExcelRows.Add(new ExcelColumn(value: "姓名"));
foreach (var item in list)
{
JObject jobj = JObject.Parse(Common.Plugin.JsonHelper.Serialize(item));
thirdRow.ExcelRows.Add(new ExcelColumn(value: jobj.GetStringValue("StuName")));
}
slist.Add(thirdRow);
for (var i = 0; i < MaxLength; i++)
{
var dataRow = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>()
};
dataRow.ExcelRows.Add(new ExcelColumn(value: (i + 1).ToString()));
for (var j = 0; j < list.Count; j++)
{
var item = JObject.Parse(JsonHelper.Serialize(list[j]));
var ChapterList = Common.Plugin.JsonHelper.DeserializeObject<List<object>>(item.GetStringValue("ChapterList"));
if (ChapterList != null && i <= ChapterList.Count - 1)
{
var sObj = JObject.Parse(ChapterList[i].ToString()); ;
var chapterName = sObj.GetStringValue("ChapterName");
int State = sObj.GetInt("State");
if (State == 4)
{
dataRow.ExcelRows.Add(new ExcelColumn(value: chapterName) );
}
else
{
dataRow.ExcelRows.Add(new ExcelColumn(value: "【已上课】" + chapterName) { BgColorEnum= ColorEnum.DarkBlue});
}
}
else
{
dataRow.ExcelRows.Add(new ExcelColumn(value: ""));
}
};
slist.Add(dataRow);
}
var byteData = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData, "application/octet-stream", excelName);
}
catch (Exception ex)
{
LogHelper.Write(ex, "DownLoadStuLearnChapterStatic");
var byteData1 = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData1, "application/octet-stream", excelName);
}
}
#endregion
}
}
}
\ No newline at end of file
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