Ver código fonte

课表调整

北屯中职分支
liangkun 1 ano atrás
pai
commit
60aa49fec7
22 arquivos alterados com 1145 adições e 2354 exclusões
  1. +11
    -309
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/ArrangeLessonTermController.cs
  2. +0
    -101
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_Desktop/Controllers/DataCollectionController.cs
  3. +192
    -67
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Controllers/TimeTableController.cs
  4. +0
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj
  5. +64
    -132
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/TimeTable.cs
  6. +32
    -102
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermBLL.cs
  7. +6
    -1
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermEntity.cs
  8. +10
    -5
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermIBLL.cs
  9. +372
    -468
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermService.cs
  10. +13
    -2
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/OpenLessonPlan/OpenLessonPlanEntity.cs
  11. +2
    -2
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceBLL.cs
  12. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceEntity.cs
  13. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceIBLL.cs
  14. +2
    -15
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceService.cs
  15. +7
    -7
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/TeachClass/TeachClassEntity.cs
  16. +0
    -167
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LR_Desktop/DataCollection/DataCollectionBLL.cs
  17. +0
    -16
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LR_Desktop/DataCollection/DataCollectionIBLL.cs
  18. +0
    -585
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LR_Desktop/DataCollection/DataCollectionService.cs
  19. +0
    -3
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj
  20. +62
    -2
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Util/Learun.Util/Time/Time.cs
  21. +1
    -1
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/manifest.json
  22. +369
    -367
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/timeTable/list.vue

+ 11
- 309
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/ArrangeLessonTermController.cs Ver arquivo

@@ -26,14 +26,10 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
public class ArrangeLessonTermController : MvcControllerBase
{
private ArrangeLessonTermIBLL arrangeLessonTermIBLL = new ArrangeLessonTermBLL();
private ArrangeLessonTermOfElectiveIBLL arrangeLessonTermOfElectiveIBLL = new ArrangeLessonTermOfElectiveBLL();
private Sys_InformationPushIBLL sys_InformationPushIBLL = new Sys_InformationPushBLL();
private UserIBLL userIbll = new UserBLL();
private WeChatConfigIBLL weChatConfigIbll = new WeChatConfigBLL();
private WeChatTempletIBLL weChatTempletIbll = new WeChatTempletBLL();
private SchoolCalendarIBLL schoolCalendarIbll = new SchoolCalendarBLL();
private StuInfoBasicIBLL stuInfoBasicIbll = new StuInfoBasicBLL();
private EmpInfoIBLL empInfoIbll = new EmpInfoBLL();

#region 视图功能

@@ -78,48 +74,6 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
{
return View();
}
[HttpGet]
public ActionResult IndexLessonTerm()
{
return View();
}
/// <summary>
/// 学生课表
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult IndexLessonTermStu()
{
var LogInfo = LoginUserInfo.Get();
if (LogInfo.Description == "学生")
{
var StuInfo = stuInfoBasicIbll.GetAllList().Where(x => x.StuNo == LogInfo.account);
if (StuInfo != null)
{
ViewBag.ClassNo = StuInfo.FirstOrDefault().ClassNo;
}
}
return View();
}
/// <summary>
/// 教师课表
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult IndexLessonTermTeach()
{
var LogInfo = LoginUserInfo.Get();
if (LogInfo.Description == "教师")
{
var empInfo = empInfoIbll.GetAllList().Where(x => x.EmpNo == LogInfo.account);
if (empInfo != null)
{
ViewBag.EmpNo = empInfo.FirstOrDefault().EmpNo;
}
}
return View();
}

#endregion

#region 获取数据
@@ -156,19 +110,6 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
};
return Success(jsonData);
}

/// <summary>
/// 排课管理 获取左侧树结构
/// <summary>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetTree()
{
var data = arrangeLessonTermIBLL.GetTree();
return Success(data);
}

/// <summary>
/// 获取表单数据
/// <param name="keyValue">主键</param>
@@ -181,225 +122,22 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
var data = arrangeLessonTermIBLL.GetEntity(keyValue);
return Success(data);
}

/// <summary>
/// 获取周次
/// 获取调度时间数据
/// <summary>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetWeekTime()
{
int weekTimes = 0;
int curWeek = 0;
//开始时间
var startdate = DateTime.Today;
var startDate = Common.CalculateFirstDateOfWeek(startdate).ToString("yyyy-MM-dd");
//var endDate = Common.CalculateLastDateOfWeek(startdate).ToString("yyyy-MM-dd");

var semesterAndYear = Common.GetSemesterAndYear(startDate);
//var strAcademicYear = semesterAndYear.AcademicYearShort;
//var strSemester = semesterAndYear.Semester;
var entity = schoolCalendarIbll.GetSchoolCalendarEntityByNo(semesterAndYear.AcademicYearShort, semesterAndYear.Semester);
if (entity.StartTime.HasValue && entity.EndTime.HasValue)
{
weekTimes = GetYearWeekCount(entity.StartTime.Value, entity.EndTime.Value);
curWeek = WeekOfYear(startdate, entity.StartTime.Value, entity.EndTime.Value);
}

var listObj = new List<Object>();
for (int i = 1; i <= weekTimes; i++)
{
listObj.Add(new { text = i + "周", value = i });
}
var jsonData = new
{
weekList = listObj,
curWeek = curWeek,
};
return Success(jsonData);
}
/// <summary>
/// 有多少周
/// 返回 int
/// </summary>
/// <returns>int</returns>
private static int GetYearWeekCount(DateTime startTime, DateTime endTime)
public ActionResult GetLessonDateList(string queryJson)
{
string returnStr = "";
var startDate = DateTime.Parse(Common.CalculateFirstDateOfWeek(startTime).ToString("yyyy-MM-dd"));
//int k = Convert.ToInt32(startTime.DayOfWeek);//得到开始时间的第一天是周几
int countDay = endTime.Subtract(startDate).Days;
int countWeek = countDay / 14 + 1;
return countWeek;

}
/// <summary>
/// 求当前日期是第几周
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
private static int WeekOfYear(DateTime curDay, DateTime startTime, DateTime endTime)
{
int firstdayofweek = Convert.ToInt32(startTime.DayOfWeek);
var startDate = DateTime.Parse(Common.CalculateFirstDateOfWeek(startTime).ToString("yyyy-MM-dd"));
int k = Convert.ToInt32(startTime.DayOfWeek);//得到开始时间的第一天是周几
int days = curDay.Subtract(startTime).Days;
//int days = curDay.DayOfYear;
int daysOutOneWeek = days - (14 - firstdayofweek);

if (daysOutOneWeek <= 0)
{
return 1;
}
else
var data = arrangeLessonTermIBLL.GetList(queryJson).Where(x => x.LessonDate.HasValue).Select(x => x.LessonDate).Distinct().Select(x => new
{
int weeks = daysOutOneWeek / 14;
if (daysOutOneWeek % 14 != 0)
weeks++;
text = x,
value = x
}).OrderBy(x => x.value);

return weeks + 1;

}

}


/// <summary>
/// 课程表【教务】
/// </summary>
/// <param name="classNo">班级</param>
/// <param name="curWeek">当前第几周</param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetDataInEducation(string classNo, int curWeek)
{
var userInfo = LoginUserInfo.Get();
//开始时间
var startdate = DateTime.Today;
var startDate = Common.CalculateFirstDateOfWeek(startdate).ToString("yyyy-MM-dd");
var endDate = Common.CalculateLastDateOfWeek(startdate).ToString("yyyy-MM-dd");

var semesterAndYear = Common.GetSemesterAndYear(startDate);
var strAcademicYear = semesterAndYear.AcademicYearLong;
var strSemester = semesterAndYear.Semester;
if (string.IsNullOrEmpty(classNo))
{
if (userInfo.Description != "教师")
{
var res = new
{ schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = "" };
return JsonResult(res);
}
}

//校历
var entity = schoolCalendarIbll.GetSchoolCalendarEntityByNo(semesterAndYear.AcademicYearShort, semesterAndYear.Semester);
var StartTime = entity.StartTime.Value;
//根据第几周,计算查询的开始和结束日期
startDate = Common.CalculateFirstDateOfWeek(StartTime.AddDays(((curWeek - 1) * 14))).ToString("yyyy-MM-dd");//StartTime.AddDays(((curWeek - 1) * 14)).ToString("yyyy-MM-dd");
if (curWeek == 1 && Convert.ToDateTime(startDate) < StartTime)
{
startDate = StartTime.ToString("yyyy-MM-dd");
}

endDate = Common.CalculateFirstDateOfWeek(StartTime.AddDays(((curWeek - 1) * 14))).AddDays(10)
.ToString("yyyy-MM-dd");// StartTime.AddDays(((curWeek - 1) * 14)).AddDays(10).ToString("yyyy-MM-dd");

var timeTableList = new List<TimeTable>();

//课程表
var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, "", "");
if (!string.IsNullOrEmpty(classNo))
{
var PKRoleId = Config.GetValue("PKRoleId");
var loginInfoRoleIds = LoginUserInfo.Get().roleIds;
if (loginInfoRoleIds.IndexOf(',') == -1)
{
if (loginInfoRoleIds == PKRoleId)
{
data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, "", "");
}
}
else
{
if (loginInfoRoleIds.Split(',').Contains(PKRoleId))
{
data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, "", "");
}
}
}
else
{
if (userInfo.Description == "学生")
{
data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, "", "");
}
else if (userInfo.Description == "教师")
{
var empInfo = empInfoIbll.GetAllList().Where(x => x.EmpNo == userInfo.account);
if (empInfo != null)
{
data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, "", empInfo.FirstOrDefault().EmpNo, "");
}
}
else
{
data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, "", "");
}
}

timeTableList.AddRange(data);
//选修课课程表
//var dataOfElective = arrangeLessonTermOfElectiveIBLL.GetTimeTableInEducation(startDate, endDate, classNo, "", "");
//timeTableList.AddRange(dataOfElective);

var timeTables = timeTableList.ToList();
var noDataResult = new
{ schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = "" };
if (!timeTables.Any())
{
return JsonResult(noDataResult);
}
var formatData = from d in timeTables.AsEnumerable()
let tt = d.LessonTime.Split('-')[1]
group d by tt into g
orderby g.Key
select new
{
time = g.Key,
list = from e in timeTables.AsEnumerable()
let ee = e.LessonTime.Split('-')[1]
where ee == g.Key
select new
{
ALTId = e.ALTId,
day = e.LessonTime.Split('-')[0],
curriculum = e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName,
teacher = e?.EmpName,
classRoom = string.IsNullOrEmpty(e.ClassroomName) ? "" : e.ClassroomName.Trim(),
academicyear = semesterAndYear.AcademicYearShort,
semester = strSemester,
lessonNo = e?.LessonNo,
teachClassNo = e?.TeachClassNo,
empno = e?.EmpNo,
lessonTime = e.LessonTime,
lessonDate = e.LessonDate.ToString("yyyy-MM-dd"),
classRoomNo = string.IsNullOrEmpty(e.ClassRoomNo) ? "" : e.ClassRoomNo.Trim(),
lessonSortNo = e.LessonSortNo,
e?.OLPEId,
className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName
}
}
;

var result = new
{ schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = formatData };
return JsonResult(result);
return Success(data);
}


#endregion

#region 提交数据
@@ -429,41 +167,6 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
arrangeLessonTermIBLL.SaveEntity(keyValue, entity);
return Success("保存成功!");
}


/// <summary>
/// 删除课程
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult DeleteLessonTerm(string keyValue, string WeekTime)
{
arrangeLessonTermIBLL.DeleteLessonTerm(keyValue, WeekTime);
return Success("删除成功!");
}

/// <summary>
///修改课程
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult UpdateLessonTerm(string keyValue, string postdata)
{
UpdateLessonTermEntity model = postdata.ToObject<UpdateLessonTermEntity>();
var res = arrangeLessonTermIBLL.UpdateLessonTerm(keyValue, model);
if (!string.IsNullOrEmpty(res))
{
return Fail(res);
}

return Success("操作成功!");
}


#endregion

/// <summary>
@@ -588,11 +291,10 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
"\"template_id\":\"" + weixintasktempid + "\"," +
"\"url\":\"" + weixintaskurl + "\"," +
"\"data\":{" +
"\"first\": {\"value\":\"您有新的课表同步\",\"color\":\"#173177\"}," +
"\"keyword1\":{\"value\":\"课表同步\",\"color\":\"#173177\"}," +
"\"keyword2\": {\"value\":\"" + title + "\",\"color\":\"#173177\"}," +
"\"keyword3\": {\"value\":\"待查看\",\"color\":\"#173177\"}," +
"\"keyword4\": {\"value\":\"您有新的课表同步【" + title + "】\",\"color\":\"#173177\"}" +
"\"thing2\": {\"value\":\"您有新的课表同步\",\"color\":\"#173177\"}," +
"\"thing8\":{\"value\":\"课表同步\",\"color\":\"#173177\"}," +
"\"time9\": {\"value\":\"" + DateTime.Now.ToString() + "\",\"color\":\"#173177\"}," +
"\"thing6\": {\"value\":\"待查看\",\"color\":\"#173177\"}" +
"}" +
"}";
string pushresult = Util.HttpMethods.HttpPost("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + access_token, jsondata);


+ 0
- 101
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_Desktop/Controllers/DataCollectionController.cs Ver arquivo

@@ -1,101 +0,0 @@
using Learun.Util;
using System.Data;
using Learun.Application.TwoDevelopment.LR_Desktop;
using System.Web.Mvc;
using System.Collections.Generic;

namespace Learun.Application.Web.Areas.LR_Desktop.Controllers
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2021-06-22 10:04
/// 描 述:计算项目管理
/// </summary>
public class DataCollectionController : MvcControllerBase
{
private DataCollectionIBLL dataCollectionIBLL = new DataCollectionBLL();

#region 视图功能

/// <summary>
/// 主页面
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult Index()
{
return View();
}
#endregion
/// <summary>
/// 校区基础信息
/// </summary>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult SyncCompany()
{
dataCollectionIBLL.SaveXqjbsj();
return Success("操作成功");
}
/// <summary>
/// 校区基础信息
/// </summary>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult SyncLesson()
{
dataCollectionIBLL.SyncLesson();
return Success("操作成功");
}

/// <summary>
/// 教材信息
/// </summary>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult SyncTextBook()
{
dataCollectionIBLL.SyncTextBook();
return Success("操作成功");
}
/// <summary>
/// 排课数据
/// </summary>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult SyncArrangeLessonTerm()
{
dataCollectionIBLL.SyncArrangeLessonTerm();
return Success("操作成功");
}
/// <summary>
/// 教师进修培训数据
/// </summary>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult SyncTeacherTrain()
{
dataCollectionIBLL.SyncTeacherTrain();
return Success("操作成功");
}
/// <summary>
/// 教师进修培训数据
/// </summary>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult SyncTeacherQualifications()
{
dataCollectionIBLL.SyncTeacherQualifications();
return Success("操作成功");
}
}
}

+ 192
- 67
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Controllers/TimeTableController.cs Ver arquivo

@@ -85,6 +85,15 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
return View();
}
/// <summary>
/// 班级课程表【教务】
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult ClassIndexInEducation()
{
return View();
}
/// <summary>
/// 课程表【教学调度】
/// <summary>
/// <returns></returns>
@@ -93,6 +102,15 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
{
return View();
}
/// <summary>
/// 课程表【教学调度】--调课
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult IndexInEducationSelect_()
{
return View();
}

/// <summary>
/// 课程表--修改教师所带的课程【教务】
@@ -112,6 +130,85 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
{
return View();
}
/// <summary>
/// 表单--修改教师所带的课程【教务】
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult SchoolLesson()
{
return View();
}
/// <summary>
/// 表单--修改教师所带的课程【教务】
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult PrintSchedule()
{
return View();
}

public class WeekDate
{
public int week { get; set; }
public string startdate { get; set; }
public string enddate { get; set; }
public string textweek { get; set; }
}

[HttpGet]
[AjaxOnly]
public ActionResult GetWeeksData()
{
var weekdatelist = new List<WeekDate>();
var yearsemester = Common.GetSemesterAndYear();

var arrangelessonlist = arrangeLessonTermIBLL.GetListForTimeTable("{\"AcademicYearNo\":\"" + yearsemester.AcademicYearShort + "\",\"Semester\":\"" + yearsemester.Semester + "\"}").OrderBy(m => m.LessonDate);
if (arrangelessonlist.Any())
{
var firstday = arrangelessonlist.First();
var lastday = arrangelessonlist.Last();
var monday = firstday.LessonDate.Value.AddDays(-Convert.ToInt32(firstday.LessonDate.Value.DayOfWeek) + 1);
var sunday = lastday.LessonDate.Value.AddDays(7 - Convert.ToInt32(lastday.LessonDate.Value.DayOfWeek));
//总周数
var weekCount = Math.Ceiling(Convert.ToDouble((sunday - monday).Days + 1) / 7);
for (var i = 0; i < weekCount; i++)
{
var wentity = new WeekDate();
wentity.week = i + 1;
wentity.startdate = monday.AddDays(i * 7).ToString("yyyy-MM-dd");
wentity.enddate = monday.AddDays(i * 7 + 6).ToString("yyyy-MM-dd");
wentity.textweek = "第" + wentity.week + "周 (" + wentity.startdate + "~" + wentity.enddate + ")";
weekdatelist.Add(wentity);
}
return Success(weekdatelist);
}
else
return Success(new { });
}

/// <summary>
/// 获取当前日期是第几周
/// </summary>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetCurrentWeek()
{
var yearsemester = Common.GetSemesterAndYear();
var arrangelessonlist = arrangeLessonTermIBLL.GetListForTimeTable("{\"AcademicYearNo\":\"" + yearsemester.AcademicYearShort + "\",\"Semester\":\"" + yearsemester.Semester + "\"}").OrderBy(m => m.LessonDate);
if (arrangelessonlist.Any())
{
var firstday = arrangelessonlist.First();
var lastday = arrangelessonlist.Last();
var monday = firstday.LessonDate.Value.AddDays(-(Convert.ToInt32(firstday.LessonDate.Value.DayOfWeek) == 0 ? 7 : Convert.ToInt32(firstday.LessonDate.Value.DayOfWeek)) + 1);
var sunday = lastday.LessonDate.Value.AddDays(7 - (Convert.ToInt32(lastday.LessonDate.Value.DayOfWeek) == 0 ? 7 : Convert.ToInt32(lastday.LessonDate.Value.DayOfWeek)));
var currentweek = Util.Time.GetWeekOfDay(monday, sunday);
return Success(currentweek);
}
return Success(1);
}

/// <summary>
/// 获取表单数据
@@ -217,70 +314,76 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
{
return JsonResult(noDataResult);
}
var formatDataa = from d in timeTables
let tt = d.LessonTime.Substring(1)
group d by tt into g
orderby g.Key
select new
{
time = g.Key,
list = from e in timeTables
let ee = e.LessonTime.Substring(1)
where ee == g.Key
select new
{
day = e.LessonTime.ToCharArray()[0],
curriculum = string.IsNullOrEmpty(e.EnName) ? (e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName) : (e.LessonSortNo == "2" ? e.EnName + "[选修]" : e.EnName),
lessonName = e.LessonName,
teacher = e.EmpName,
classRoom = e.ClassroomName.Trim(),
academicyear = semesterAndYear.AcademicYearShort,
semester = strSemester,
lessonNo = e?.LessonNo,
teachClassNo = e?.TeachClassNo,
empno = e?.EmpNo,
lessonTime = e.LessonTime,
lessonDate = e.LessonDate.ToString("yyyy-MM-dd"),
classRoomNo = e?.ClassRoomNo.Trim(),
lessonSortNo = e.LessonSortNo,
e.OLPEId,
className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName
}
}
var leaveList = stuAttendanceLeaveIBLL.GetList();
var formatData = from d in timeTables
let tt = d.LessonTime.Substring(1)
group d by tt into g
orderby g.Key
select new
{
time = g.Key,
list = from e in timeTables
let ee = e.LessonTime.Substring(1)
where ee == g.Key
select new
{
day = e.LessonTime.ToCharArray()[0],
curriculum = string.IsNullOrEmpty(e.EnName) ? (e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName) : (e.LessonSortNo == "2" ? e.EnName + "[选修]" : e.EnName),
lessonName = e.LessonName,
teacher = e.EmpName,
classRoom = string.IsNullOrEmpty(e.ClassroomName) ? "" : e.ClassroomName.Trim(),
academicyear = semesterAndYear.AcademicYearShort,
semester = strSemester,
lessonNo = e?.LessonNo,
teachClassNo = e?.TeachClassNo,
empno = e?.EmpNo,
lessonTime = e.LessonTime,
lessonDate = e.LessonDate.ToString("yyyy-MM-dd"),
classRoomNo = string.IsNullOrEmpty(e.ClassRoomNo) ? "" : e.ClassRoomNo.Trim(),
lessonSortNo = e.LessonSortNo,
e.OLPEId,
className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName,
lessonTypeCode = e.LessonTypeCode,
lessonTypeName = e.LessonTypeName,
leaveType = leaveList.Any(c => c.LessonNo == e.LessonNo && c.StuNo == userInfo.account && c.LessonDate == e.LessonDate && c.LessonTime == e.LessonTime) ? 1 : 0,
checkType = leaveList.FirstOrDefault(c => c.LessonNo == e.LessonNo && c.StuNo == userInfo.account && c.LessonDate == e.LessonDate && c.LessonTime == e.LessonTime)?.IsCheck,

}
}

;


var leaveList = stuAttendanceLeaveIBLL.GetList();
var formatData = timeTables.OrderBy(a => a.LessonTime.Substring(1))
.Select(a => new
{
time = a.LessonTime.Substring(1),
list = timeTables.Where(b => b.LessonTime.Substring(1) == a.LessonTime.Substring(1))
.Select(b => new
{
day = b.LessonTime.ToCharArray()[0],
curriculum = string.IsNullOrEmpty(b.EnName) ? (b.LessonSortNo == "2" ? b.LessonName + "[选修]" : b.LessonName) : (b.LessonSortNo == "2" ? b.EnName + "[选修]" : b.EnName),
lessonName = b.LessonName,
teacher = b.EmpName,
classRoom = b.ClassroomName.Trim(),
academicyear = semesterAndYear.AcademicYearShort,
semester = strSemester,
lessonNo = b?.LessonNo,
teachClassNo = b?.TeachClassNo,
empno = b?.EmpNo,
lessonTime = b.LessonTime,
lessonDate = b.LessonDate.ToString("yyyy-MM-dd"),
classRoomNo = b?.ClassRoomNo.Trim(),
lessonSortNo = b.LessonSortNo,
b.OLPEId,
className = string.IsNullOrEmpty(b.ClassName) ? "" : b.ClassName,
leaveType = leaveList.Any(c => c.LessonNo == b.LessonNo && c.StuNo == userInfo.account && c.LessonDate == b.LessonDate && c.LessonTime == b.LessonTime) ? 1 : 0,
checkType = leaveList.FirstOrDefault(c => c.LessonNo == b.LessonNo && c.StuNo == userInfo.account && c.LessonDate == b.LessonDate && c.LessonTime == b.LessonTime)?.IsCheck,
})
});
// var leaveList = stuAttendanceLeaveIBLL.GetList();
//var formatData = timeTables.OrderBy(a => a.LessonTime.Substring(1))
// .Select(a => new
// {
// time = a.LessonTime.Substring(1),
// list = timeTables.Where(b => b.LessonTime.Substring(1) == a.LessonTime.Substring(1))
// .Select(b => new
// {
// day = b.LessonTime.ToCharArray()[0],
// curriculum = string.IsNullOrEmpty(b.EnName) ? (b.LessonSortNo == "2" ? b.LessonName + "[选修]" : b.LessonName) : (b.LessonSortNo == "2" ? b.EnName + "[选修]" : b.EnName),
// lessonName = b.LessonName,
// teacher = b.EmpName,
// classRoom = b.ClassroomName.Trim(),
// academicyear = semesterAndYear.AcademicYearShort,
// semester = strSemester,
// lessonNo = b?.LessonNo,
// teachClassNo = b?.TeachClassNo,
// empno = b?.EmpNo,
// lessonTime = b.LessonTime,
// lessonDate = b.LessonDate.ToString("yyyy-MM-dd"),
// classRoomNo = b?.ClassRoomNo.Trim(),
// lessonSortNo = b.LessonSortNo,
// b.OLPEId,
// className = string.IsNullOrEmpty(b.ClassName) ? "" : b.ClassName,
// leaveType = leaveList.Any(c => c.LessonNo == b.LessonNo && c.StuNo == userInfo.account && c.LessonDate == b.LessonDate && c.LessonTime == b.LessonTime) ? 1 : 0,
// checkType = leaveList.FirstOrDefault(c => c.LessonNo == b.LessonNo && c.StuNo == userInfo.account && c.LessonDate == b.LessonDate && c.LessonTime == b.LessonTime)?.IsCheck,
// })
// });
//foreach (var item in formatData.list)
//{

@@ -297,7 +400,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetDataInEducation(string startTime, string endTime, string classNo, string empNo, string schoolId)
public ActionResult GetDataInEducation(string startTime, string endTime, string classNo, string empNo, string schoolId, string classroomNo)
{
var userInfo = LoginUserInfo.Get();
//开始时间
@@ -311,11 +414,12 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers

var timeTableList = new List<TimeTable>();
//课程表
var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId);
var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId, classroomNo);
timeTableList.AddRange(data);
//选修课课程表
var dataOfElective = arrangeLessonTermOfElectiveIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId);
timeTableList.AddRange(dataOfElective);
//20220718因 更改教务课表显示格式为班级作为列头,选修课无班级所以不能显示在课表内
//var dataOfElective = arrangeLessonTermOfElectiveIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId);
//timeTableList.AddRange(dataOfElective);

var timeTables = timeTableList.ToList();
var noDataResult = new
@@ -324,6 +428,10 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
{
return JsonResult(noDataResult);
}
//最大节次
int maxlessontime = timeTables.Max(m => Convert.ToInt32(m.LessonTime.Substring(1)));
//班级列表
var classinfolist = timeTables.Select(m => new { m.TeachClassNo, m.ClassName }).OrderBy(m => m.TeachClassNo).GroupBy(m => new { m.TeachClassNo, m.ClassName });
var formatData = from d in timeTables
let tt = d.LessonTime.Substring(1)
group d by tt into g
@@ -350,13 +458,15 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
classRoomNo = string.IsNullOrEmpty(e.ClassRoomNo) ? "" : e.ClassRoomNo.Trim(),
lessonSortNo = e.LessonSortNo,
e?.OLPEId,
className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName
className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName,
lessonTypeCode = e.LessonTypeCode,
lessonTypeName = e.LessonTypeName
}
}
;

var result = new
{ schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = formatData };
{ schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", maxlessontime, classinfolist, weekList = formatData };
return JsonResult(result);
}

@@ -380,7 +490,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers

var timeTableList = new List<TimeTable>();
//课程表
var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId);
var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId, "");
timeTableList.AddRange(data);
//选修课课程表
//var dataOfElective = arrangeLessonTermOfElectiveIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId);
@@ -405,6 +515,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
where ee == g.Key
select new
{
AltId = e.AltId,
day = e.LessonTime.ToCharArray()[0],
lessonTime = e.LessonTime,
lessonDate = e.LessonDate.ToString("yyyy-MM-dd"),
@@ -412,6 +523,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
academicyear = semesterAndYear.AcademicYearShort,
semester = strSemester,
deptNo = e?.DeptNo,
deptname = "",
majorNo = e?.MajorNo,
lessonNo = e?.LessonNo,
curriculum = e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName,
@@ -457,6 +569,19 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
return Success(data);
}

/// <summary>
/// 课程表【教务】--教室下拉框信息
/// </summary>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetClassroomData(string schoolId = "")
{
var data = arrangeLessonTermIBLL.GetClassroomData(schoolId);

return Success(data);
}

/// <summary>
/// 表单--修改教师所带的课程【教务】--课程下拉框信息
/// </summary>


+ 0
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj Ver arquivo

@@ -423,7 +423,6 @@
<Compile Include="Areas\LR_CRMModule\Controllers\ReceivableController.cs" />
<Compile Include="Areas\LR_CRMModule\Controllers\TrailRecordController.cs" />
<Compile Include="Areas\LR_CRMModule\LR_CRMModuleAreaRegistration.cs" />
<Compile Include="Areas\LR_Desktop\Controllers\DataCollectionController.cs" />
<Compile Include="Areas\LR_Desktop\Controllers\DTChartController.cs" />
<Compile Include="Areas\LR_Desktop\Controllers\DTListController.cs" />
<Compile Include="Areas\LR_Desktop\Controllers\DTSettingController.cs" />


+ 64
- 132
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/TimeTable.cs Ver arquivo

@@ -13,7 +13,7 @@ using Nancy;

namespace Learun.Application.WebApi.Modules
{
public class TimeTable : BaseNoLoginApi
public class TimeTable : BaseApi
{
public TimeTable()
: base("/learun/adms/timetable")
@@ -22,15 +22,70 @@ namespace Learun.Application.WebApi.Modules
Get["/StuList"] = GetStuInfo;
Get["/StuLessonInfo"] = GetStuLessonInfo;
Get["/timeTableData"] = GetTimeTableData;
Get["/TenDay"] = GetTenDay;
Get["/weeklist"] = GetWeeksData;
Get["/currentweek"] = GetCurrentWeek;
}
private ArrangeLessonTermIBLL arrangeLessonTermIBLL = new ArrangeLessonTermBLL();
private ArrangeLessonTermOfElectiveIBLL arrangeLessonTermOfElectiveIBLL = new ArrangeLessonTermOfElectiveBLL();
private StuAttendanceLeaveIBLL stuAttendanceLeaveIBLL = new StuAttendanceLeaveBLL();
private StuAttendanceIBLL stuAttendanceIBLL = new StuAttendanceBLL();
private EmpInfoIBLL empInfoIbll = new EmpInfoBLL();
private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();
private SchoolCalendarIBLL schoolCalendarIbll = new SchoolCalendarBLL();


public class WeekDate
{
public int week { get; set; }
public string startdate { get; set; }
public string enddate { get; set; }
public string textweek { get; set; }
}
public Response GetWeeksData(dynamic _)
{
var weekdatelist = new List<WeekDate>();
var yearsemester = Common.GetSemesterAndYear();
var arrangelessonlist = arrangeLessonTermIBLL.GetListForTimeTable("{\"AcademicYearNo\":\"" + yearsemester.AcademicYearShort + "\",\"Semester\":\"" + yearsemester.Semester + "\"}").OrderBy(m => m.LessonDate);
if (arrangelessonlist.Any())
{
var firstday = arrangelessonlist.First();
var lastday = arrangelessonlist.Last();
var monday = firstday.LessonDate.Value.AddDays(-Convert.ToInt32(firstday.LessonDate.Value.DayOfWeek) + 1);
var sunday = lastday.LessonDate.Value.AddDays(7 - Convert.ToInt32(lastday.LessonDate.Value.DayOfWeek));
//总周数
var weekCount = Math.Ceiling(Convert.ToDouble((sunday - monday).Days + 1) / 7);
for (var i = 0; i < weekCount; i++)
{
var wentity = new WeekDate();
wentity.week = i + 1;
wentity.startdate = monday.AddDays(i * 7).ToString("yyyy-MM-dd");
wentity.enddate = monday.AddDays(i * 7 + 6).ToString("yyyy-MM-dd");
wentity.textweek = "第" + wentity.week + "周 (" + wentity.startdate + "~" + wentity.enddate + ")";
weekdatelist.Add(wentity);
}
return Success(weekdatelist);
}
else
return Success(new { });
}

/// <summary>
/// 获取当前日期是第几周
/// </summary>
/// <returns></returns>
public Response GetCurrentWeek(dynamic _)
{
var yearsemester = Common.GetSemesterAndYear();
var arrangelessonlist = arrangeLessonTermIBLL.GetListForTimeTable("{\"AcademicYearNo\":\"" + yearsemester.AcademicYearShort + "\",\"Semester\":\"" + yearsemester.Semester + "\"}").OrderBy(m => m.LessonDate);
if (arrangelessonlist.Any())
{
var firstday = arrangelessonlist.First();
var lastday = arrangelessonlist.Last();
var monday = firstday.LessonDate.Value.AddDays(-(Convert.ToInt32(firstday.LessonDate.Value.DayOfWeek) == 0 ? 7 : Convert.ToInt32(firstday.LessonDate.Value.DayOfWeek)) + 1);
var sunday = lastday.LessonDate.Value.AddDays(7 - (Convert.ToInt32(lastday.LessonDate.Value.DayOfWeek) == 0 ? 7 : Convert.ToInt32(lastday.LessonDate.Value.DayOfWeek)));
var currentweek = Util.Time.GetWeekOfDay(monday, sunday);
return Success(new {currentweek});
}
return Success(new {currentweek=1});
}

/// <summary>
/// 课程表【教师功能、学生功能】
@@ -88,8 +143,7 @@ namespace Learun.Application.WebApi.Modules

public Response GetStuLessonInfo(dynamic _)
{
var param = this.GetReqData<TimeParameter>();
var lessonInfos = stuAttendanceIBLL.GetStuLessonInfo(userInfo.account, param.StartDate, param.EndDate);
var lessonInfos = stuAttendanceIBLL.GetStuLessonInfo(userInfo.account);
var empNos = lessonInfos.Select(a => a.EmpNo).ToList();
var lessonTerms = arrangeLessonTermIBLL.GetListByEmpNo(empNos);

@@ -97,7 +151,7 @@ namespace Learun.Application.WebApi.Modules
{
a.LessonName,
LessonDate = Convert.ToDateTime(a.LessonDate).ToString("yyyy-MM-dd"),
Teacher = lessonTerms.FirstOrDefault(b => b.EmpNo == a.EmpNo)?.EmpName,
Teacher = lessonTerms.FirstOrDefault(b => b.EmpNo == a.EmpNo).EmpName,
a.LessonTime,
a.EmpNo,
a.ClassRoomName,
@@ -123,6 +177,7 @@ namespace Learun.Application.WebApi.Modules
/// </summary>
/// <param name="_"></param>
/// <returns></returns>

private Response GetTimeTableData(dynamic _)
{
var param = this.GetReq<TimeParameter>();
@@ -143,7 +198,7 @@ namespace Learun.Application.WebApi.Modules
//课程表数据
var timeTableList = new List<Learun.Application.TwoDevelopment.EducationalAdministration.TimeTable>();
//必修课课程表
var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, param.ClassNo, param.EmpNo, "");
var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, param.ClassNo, param.EmpNo, "", "");
timeTableList.AddRange(data);
//选修课课程表
var dataOfElective = arrangeLessonTermOfElectiveIBLL.GetTimeTableInEducation(startDate, endDate, param.ClassNo, param.EmpNo, "");
@@ -180,96 +235,6 @@ namespace Learun.Application.WebApi.Modules

}

/// <summary>
/// 课程表【教师功能、学生功能】
/// </summary>
/// <param name="_"></param>
/// <returns></returns>
public Response GetTenDay(dynamic _)
{
var param = this.GetReqData<TimeParameter>();
var startdate = DateTime.Today;
var startDate = Common.CalculateFirstDateOfWeek(startdate).ToString("yyyy-MM-dd");
var endDate = Common.CalculateLastDateOfWeek(startdate).ToString("yyyy-MM-dd");

// 获取学年,学期
var semesterAndYear = Common.GetSemesterAndYear(startDate);
var strAcademicYear = semesterAndYear.AcademicYearLong;
var strSemester = semesterAndYear.Semester;

if (param.StartDate.IsEmpty() && param.EndDate.IsEmpty())
{
// 校历
var entity = schoolCalendarIbll.GetSchoolCalendarEntityByNo(semesterAndYear.AcademicYearShort, semesterAndYear.Semester);
var StartTime = entity.StartTime.Value;
//获取第几周
var curWeek = WeekOfYear(startdate, entity.StartTime.Value, entity.EndTime.Value);
///获取当前周次开始时间
startDate = Common.CalculateFirstDateOfWeek(StartTime.AddDays(((curWeek - 1) * 14))).ToString("yyyy-MM-dd");
if (curWeek == 1 && Convert.ToDateTime(startDate) < StartTime)//判断第几周
{
startDate = StartTime.ToString("yyyy-MM-dd");
}
endDate = Common.CalculateFirstDateOfWeek(StartTime.AddDays(((curWeek - 1) * 14))).AddDays(9).ToString("yyyy-MM-dd");
param.StartDate = startDate;
param.EndDate = endDate;
}
var Data = arrangeLessonTermIBLL.GetTimeTableInEducation("", "", "", "", "");
if (param.Description == "学生")
{
var Stulist = stuInfoBasicIBLL.GetAllList().Where(x => x.StuNo == param.Account).FirstOrDefault();
if (Stulist != null)
{
Data = arrangeLessonTermIBLL.GetTimeTableInEducation(param.StartDate, param.EndDate, Stulist.ClassNo, "", "");
}
}
else if (param.Description == "教师")
{
//教师
var empInfo = empInfoIbll.GetAllList().Where(x => x.EmpNo == param.Account).FirstOrDefault().EmpNo;
if (empInfo != null)
{
Data = arrangeLessonTermIBLL.GetTimeTableInEducation(param.StartDate, param.EndDate, "", param.Account, "");
}
}

var formatData = from d in Data.AsEnumerable()
let tt = d.LessonTime.Split('-')[0]
group d by tt into g
orderby g.Key
select new
{
time = g.Key,
list = from e in Data.AsEnumerable()
let ee = e.LessonTime.Split('-')[0]
where ee == g.Key
select new
{
ALTId = e.ALTId,
day = e.LessonTime.Split('-')[0],
jc = e.LessonTime.Split('-')[1],
curriculum = e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName,
teacher = e?.EmpName,
classRoom = string.IsNullOrEmpty(e.ClassroomName) ? "" : e.ClassroomName.Trim(),
academicyear = semesterAndYear.AcademicYearShort,
semester = strSemester,
lessonNo = e?.LessonNo,
teachClassNo = e?.TeachClassNo,
empno = e?.EmpNo,
lessonTime = e.LessonTime,
lessonDate = e.LessonDate.ToString("yyyy-MM-dd"),
classRoomNo = string.IsNullOrEmpty(e.ClassRoomNo) ? "" : e.ClassRoomNo.Trim(),
lessonSortNo = e.LessonSortNo,
e?.OLPEId,
className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName
}
}
;
var result = new
{ schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", startDate = startDate, endDate = endDate, weekList = formatData };
return Success(result);

}
/// <summary>
/// 数字转中文
/// </summary>
@@ -314,37 +279,6 @@ namespace Learun.Application.WebApi.Modules
}
return res;
}
/// <summary>
/// 换算周次
/// </summary>
/// <param name="curDay"></param>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
private static int WeekOfYear(DateTime curDay, DateTime startTime, DateTime endTime)
{
int firstdayofweek = Convert.ToInt32(startTime.DayOfWeek);
var startDate = DateTime.Parse(Common.CalculateFirstDateOfWeek(startTime).ToString("yyyy-MM-dd"));
int k = Convert.ToInt32(startTime.DayOfWeek);//得到开始时间的第一天是周几
int days = curDay.Subtract(startTime).Days;
//int days = curDay.DayOfYear;
int daysOutOneWeek = days - (14 - firstdayofweek);

if (daysOutOneWeek <= 0)
{
return 1;
}
else
{
int weeks = daysOutOneWeek / 14;
if (daysOutOneWeek % 14 != 0)
weeks++;

return weeks + 1;

}

}
}


@@ -363,8 +297,6 @@ namespace Learun.Application.WebApi.Modules
/// 教师编号
/// </summary>
public string EmpNo { get; set; }
public string Description { get; set; }
public string Account { get; set; }
}
public class TimeTableData
{


+ 32
- 102
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermBLL.cs Ver arquivo

@@ -18,9 +18,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
public class ArrangeLessonTermBLL : ArrangeLessonTermIBLL
{
private ArrangeLessonTermService arrangeLessonTermService = new ArrangeLessonTermService();
private CdDeptService cdDeptService = new CdDeptService();
private CdMajorService cdMajorService = new CdMajorService();
private ClassInfoService classInfoService = new ClassInfoService();

#region 获取数据

@@ -46,17 +43,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}
}

/// <summary>
/// 获取列表分页数据
/// <param name="pagination">分页参数</param>
/// <summary>
/// <returns></returns>
public IEnumerable<ArrangeLessonTermEntity> GetPageList(Pagination pagination, string queryJson)
public IEnumerable<ArrangeLessonTermEntity> GetListForTimeTable(string queryJson)
{
try
{
return arrangeLessonTermService.GetPageList(pagination, queryJson);
return arrangeLessonTermService.GetListForTimeTable(queryJson);
}
catch (Exception ex)
{
@@ -70,63 +61,16 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}
}


/// <summary>
/// 获取左侧树形数据
/// 获取列表分页数据
/// <param name="pagination">分页参数</param>
/// <summary>
/// <returns></returns>
public List<TreeModel> GetTree()
public IEnumerable<ArrangeLessonTermEntity> GetPageList(Pagination pagination, string queryJson)
{
try
{
DataTable cdDeptlist = cdDeptService.GetSqlTree();
DataTable cdMajorlist = cdMajorService.GetSqlTree();
DataTable classInfolist = classInfoService.GetSqlTree();
List<TreeModel> treeList = new List<TreeModel>();
foreach (DataRow item in cdDeptlist.Rows)
{
TreeModel node = new TreeModel
{
id = item["DeptNo"].ToString(),
text = item["DeptName"].ToString(),
value = item["DeptNo"].ToString(),
showcheck = false,
checkstate = 0,
isexpand = false,
parentId = "0"
};
treeList.Add(node);
}
foreach (DataRow item in cdMajorlist.Rows)
{
TreeModel node = new TreeModel
{
id = item["MajorNo"].ToString(),
text = item["MajorName"].ToString(),
value = item["MajorNo"].ToString(),
showcheck = false,
checkstate = 0,
isexpand = false,
parentId = item["DeptNo"].ToString()
};
treeList.Add(node);
}
foreach (DataRow item in classInfolist.Rows)
{
TreeModel node = new TreeModel
{
id = item["ClassNo"].ToString(),
text = item["ClassName"].ToString(),
value = item["ClassNo"].ToString(),
showcheck = false,
checkstate = 0,
isexpand = false,
parentId = item["MajorNo"].ToString()
};
treeList.Add(node);
}
return treeList.ToTree();
return arrangeLessonTermService.GetPageList(pagination, queryJson);
}
catch (Exception ex)
{
@@ -213,25 +157,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

public void DeleteLessonTerm(string keyValue, string WeekTime)
{
try
{
arrangeLessonTermService.DeleteLessonTerm(keyValue,WeekTime);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

/// <summary>
/// 保存实体数据(新增、修改)
/// <param name="keyValue">主键</param>
@@ -256,25 +181,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

public string UpdateLessonTerm(string keyValue, UpdateLessonTermEntity model)
{
try
{
return arrangeLessonTermService.UpdateLessonTerm(keyValue, model);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public IEnumerable<StuInfoBasicEntity> GetStudents()
{
try
@@ -548,12 +454,13 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <param name="endDate">查询截止时间</param>
/// <param name="classNo">班级编号</param>
/// <param name="empNo">教师编号</param>
/// <param name="classroomNo">教室编号</param>
/// <returns></returns>
public IEnumerable<TimeTable> GetTimeTableInEducation(string startDate, string endDate, string classNo, string empNo, string schoolId)
public IEnumerable<TimeTable> GetTimeTableInEducation(string startDate, string endDate, string classNo, string empNo, string schoolId, string classroomNo)
{
try
{
return arrangeLessonTermService.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId);
return arrangeLessonTermService.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId, classroomNo);
}
catch (Exception ex)
{
@@ -615,6 +522,29 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

/// <summary>
/// 课程表【教务】--教室下拉框信息
/// </summary>
/// <returns></returns>
public IEnumerable<SelectModel> GetClassroomData(string schoolId)
{
try
{
return arrangeLessonTermService.GetClassroomData(schoolId);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

/// <summary>
/// 教学调度【教务】--课程下拉框信息
/// </summary>


+ 6
- 1
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermEntity.cs Ver arquivo

@@ -13,6 +13,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// </summary>
public class ArrangeLessonTermEntity
{

#region 实体成员
/// <summary>
/// 标识列
@@ -106,7 +107,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
public string JoinLessonNum { get; set; }
/// <summary>
/// 合上班
///(教学班中对应的所有行政班号 ,以逗号隔开)
///(教学班中对应的所有行政班号 ,以逗号隔开)
/// </summary>
/// <returns></returns>
[Column("RELATEDCLASSNO")]
@@ -157,6 +158,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// </summary>
[NotMapped] public string SyncType { get; set; }

[NotMapped] public string StuName { get; set; }
[NotMapped] public string Grade { get; set; }
[NotMapped] public string GenderNo { get; set; }

#endregion

#region 扩展操作


+ 10
- 5
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermIBLL.cs Ver arquivo

@@ -48,6 +48,8 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <summary>
/// <returns></returns>
IEnumerable<ArrangeLessonTermEntity> GetList(string queryJson);

IEnumerable<ArrangeLessonTermEntity> GetListForTimeTable(string queryJson);
Task<bool> AsyncArrangeLessonData();
Task<bool> AsyncModifyArrangeLessonData();

@@ -68,8 +70,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <summary>
/// <returns></returns>
IEnumerable<ArrangeLessonTermEntity> GetPageList(Pagination pagination, string queryJson);

List<TreeModel> GetTree();
/// <summary>
/// 获取实体数据
/// <param name="keyValue">主键</param>
@@ -86,8 +86,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <summary>
/// <returns></returns>
void DeleteEntity(string keyValue);
void DeleteLessonTerm(string keyValue,string WeekTime);
string UpdateLessonTerm(string keyValue, UpdateLessonTermEntity model);
/// <summary>
/// 保存实体数据(新增、修改)
/// <param name="keyValue">主键</param>
@@ -109,8 +107,9 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <param name="endDate">查询截止时间</param>
/// <param name="classNo">班级编号</param>
/// <param name="empNo">教师编号</param>
/// <param name="classroomNo">教室编号</param>
/// <returns></returns>
IEnumerable<TimeTable> GetTimeTableInEducation(string startDate, string endDate, string classNo, string empNo, string schoolId);
IEnumerable<TimeTable> GetTimeTableInEducation(string startDate, string endDate, string classNo, string empNo, string schoolId, string classroomNo);

/// <summary>
/// 课程表【教务】--班级下拉框信息
@@ -124,6 +123,12 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <param name="startDate"></param>
/// <returns></returns>
IEnumerable<SelectModel> GetTeacherData(string schoolId);

/// <summary>
/// 课程表【教务】--教室下拉框信息
/// </summary>
/// <returns></returns>
IEnumerable<SelectModel> GetClassroomData(string schoolId);
bool GetAny();
IEnumerable<CdDeptEntity> GetDepts(string academicYearNo, string semester);
IEnumerable<CdDeptEntity> GetDeptsNotRecord(string academicYearNo, string semester);


+ 372
- 468
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermService.cs
Diferenças do arquivo suprimidas por serem muito extensas
Ver arquivo


+ 13
- 2
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/OpenLessonPlan/OpenLessonPlanEntity.cs Ver arquivo

@@ -270,12 +270,17 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// </summary>
[Column("ISALLOWEDIT")]
public bool? IsAllowEdit { get; set; }

/// <summary>
/// 排课标识
/// </summary>
[Column("STATE")]
public int? State { get; set; }
/// <summary>
/// 考试类型
/// </summary>
[Column("EXAMTYPE")]
public string ExamType { get; set; }

#endregion

#region 扩展操作
@@ -311,12 +316,18 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// </summary>
[NotMapped]
public string MajorName { get; set; }

/// <summary>
/// 教师
/// </summary>
[NotMapped]
public string TeachNo { get; set; }

/// <summary>
/// 课程类型
/// </summary>
[NotMapped]
public string LessonTypeId { get; set; }

#endregion
}
}


+ 2
- 2
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceBLL.cs Ver arquivo

@@ -130,11 +130,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}


public List<StuAttendanceEntity> GetStuLessonInfo(string account,string startTime,string endTime)
public List<StuAttendanceEntity> GetStuLessonInfo(string account)
{
try
{
return stuAttendanceService.GetStuLessonInfo(account,startTime,endTime);
return stuAttendanceService.GetStuLessonInfo(account);
}
catch (Exception ex)
{


+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceEntity.cs Ver arquivo

@@ -13,6 +13,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// </summary>
public class StuAttendanceEntity
{

#region 实体成员
/// <summary>
/// 学年度


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceIBLL.cs Ver arquivo

@@ -70,7 +70,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <summary>
/// <returns></returns>
void SaveEntity(string keyValue, StuAttendanceEntity entity);
List<StuAttendanceEntity> GetStuLessonInfo(string account,string startTime,string endTime);
List<StuAttendanceEntity> GetStuLessonInfo(string account);
#endregion

}


+ 2
- 15
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceService.cs Ver arquivo

@@ -237,24 +237,11 @@ and t.Status=2");
}
}

internal List<StuAttendanceEntity> GetStuLessonInfo(string account,string starTime,string endTime)
internal List<StuAttendanceEntity> GetStuLessonInfo(string account)
{
try
{
var expression = LinqExtensions.True<StuAttendanceEntity>();
expression = expression.And(a => a.StuNo == account);
if (!string.IsNullOrEmpty(starTime))
{
var aTime = starTime.ToDate();
expression = expression.And(a => a.LessonDate >= aTime);
}

if (!string.IsNullOrEmpty(endTime))
{
var bTime = endTime.ToDate();
expression = expression.And(a => a.LessonDate <= bTime);
}
return this.BaseRepository("CollegeMIS").FindList<StuAttendanceEntity>(expression).ToList();
return this.BaseRepository("CollegeMIS").FindList<StuAttendanceEntity>(a => a.StuNo == account).ToList();
}
catch (Exception ex)
{


+ 7
- 7
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/TeachClass/TeachClassEntity.cs Ver arquivo

@@ -107,22 +107,22 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
[Column("LESSONSORTNO")]
public string LessonSortNo { get; set; }
/// <summary>
/// 学校主键Week
/// 学校主键
/// </summary>
/// <returns></returns>
[Column("F_SCHOOLID")]
public string F_SchoolId { get; set; }
[NotMapped]
public int? StartWeek { get; set; }
[NotMapped]
public int? EndWeek { get; set; }

[NotMapped]
public string LessonName { get; set; }
[NotMapped]
public string LessonSortDetailNo { get; set; }
[NotMapped]
public int? ClassHour { get; set; }

public int? StartWeek { get; set; }
[NotMapped]
public int? EndWeek { get; set; }
[NotMapped]
public string ExamType { get; set; }
#endregion

#region 扩展操作


+ 0
- 167
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LR_Desktop/DataCollection/DataCollectionBLL.cs Ver arquivo

@@ -1,167 +0,0 @@
using Learun.Util;
using System;
using System.Data;
using System.Collections.Generic;

namespace Learun.Application.TwoDevelopment.LR_Desktop
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2021-06-22 10:04
/// 描 述:计算项目管理
/// </summary>
public class DataCollectionBLL : DataCollectionIBLL
{
private DataCollectionService dataCollectionService = new DataCollectionService();

#region 获取数据

///// <summary>
///// 获取页面显示列表数据
///// </summary>
///// <param name="pagination">分页参数</param>
///// <param name="queryJson">查询参数</param>
///// <returns></returns>
//public IEnumerable<CalculateProjectEntity> GetPageList(Pagination pagination, string queryJson)
//{
// try
// {
// return calculateProjectService.GetPageList(pagination, queryJson);
// }
// catch (Exception ex)
// {
// if (ex is ExceptionEx)
// {
// throw;
// }
// else
// {
// throw ExceptionEx.ThrowBusinessException(ex);
// }
// }
//}


#endregion
public void SaveXqjbsj()
{
try
{
dataCollectionService.SaveXqjbsj();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
public void SyncLesson()
{
try
{
dataCollectionService.SyncLesson();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public void SyncTextBook()
{
try
{
dataCollectionService.SyncTextBook();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public void SyncArrangeLessonTerm()
{
try
{
dataCollectionService.SyncArrangeLessonTerm();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public void SyncTeacherTrain()
{
try
{
dataCollectionService.SyncTeacherTrain();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}


public void SyncTeacherQualifications()
{
try
{
dataCollectionService.SyncTeacherQualifications();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
}
}

+ 0
- 16
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LR_Desktop/DataCollection/DataCollectionIBLL.cs Ver arquivo

@@ -1,16 +0,0 @@
using Learun.Util;
using System.Data;
using System.Collections.Generic;

namespace Learun.Application.TwoDevelopment.LR_Desktop
{
public interface DataCollectionIBLL
{
void SaveXqjbsj();
void SyncLesson();
void SyncTextBook();
void SyncArrangeLessonTerm();
void SyncTeacherTrain();
void SyncTeacherQualifications();
}
}

+ 0
- 585
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LR_Desktop/DataCollection/DataCollectionService.cs Ver arquivo

@@ -1,585 +0,0 @@
using Dapper;
using Learun.DataBase.Repository;
using Learun.Util;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Text;
using Newtonsoft.Json;
using Learun.Application.Organization;
using Learun.Application.Base.SystemModule;
using Learun.Application.TwoDevelopment.EducationalAdministration;
using Learun.Cache.Redis;
using Learun.Application.TwoDevelopment.PersonnelManagement;

namespace Learun.Application.TwoDevelopment.LR_Desktop
{
/// <summary>
/// 智慧大脑数据采集
/// </summary>
public class DataCollectionService : RepositoryFactory
{
CacheByRedis _redis = new CacheByRedis();
#region 获取数据
//接口地址
private static string InsUrl = ConfigurationManager.AppSettings["CYInsUrl"];
//客户标识
private static string client_id = ConfigurationManager.AppSettings["CYClient_id"];
//用户名
private static string username = ConfigurationManager.AppSettings["CYUsername"];
//密码
private static string password = ConfigurationManager.AppSettings["CYPassword"];
//数据采集接口地址
private static string saveIncrUrl = InsUrl + "/prod-api/api/web/collect/interface/saveIncrData";
////令牌
//private string access_token;
////刷新密钥
//private string client_secret;
////刷新令牌
//private string refresh_token;

public DataCollectionService()
{
try
{
var refresh_token = _redis.Read<string>("refresh_token") == "null" ? "" : _redis.Read<string>("refresh_token");
var access_token = _redis.Read<string>("access_token") == "null" ? "" : _redis.Read<string>("access_token");
if (string.IsNullOrEmpty(refresh_token) || string.IsNullOrEmpty(_redis.Read<string>("access_token")))
{
//用户授权
login();
}
else if (!string.IsNullOrEmpty(refresh_token) && string.IsNullOrEmpty(_redis.Read<string>("access_token")))
{
//刷新token
refresh();
}
}
catch (ExceptionEx ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
/// <summary>
/// 用户授权
/// </summary>
private void login()
{
var login_url = InsUrl + "/prod-api/api/web/collect/oauth2/login?grant_type=password&client_id=" + client_id + "&username=" + username + "&password=" + password;
var login_res_str = HttpMethods.Post(login_url);
var login_res = JsonConvert.DeserializeObject<InsResult>(login_res_str);
var login_data = login_res.data;
string access_token = ((dynamic)login_data)?.access_token;
string client_secret = ((dynamic)login_data)?.client_secret;
string refresh_token = ((dynamic)login_data)?.refresh_token;
_redis.Write($"access_token", access_token, TimeSpan.FromSeconds(200));
_redis.Write($"client_secret", client_secret, TimeSpan.FromSeconds(160000));
_redis.Write($"refresh_token", refresh_token, TimeSpan.FromSeconds(250));
}
/// <summary>
/// 刷新token
/// </summary>
private void refresh()
{
var client_secret = (_redis.Read<string>("client_secret"))?.Replace("\"", "");
var refresh_token = (_redis.Read<string>("refresh_token"))?.Replace("\"", "");
var refresh_url =
InsUrl + "/prod-api/api/web/collect/oauth2/refresh?grant_type=refresh_token&client_id=" +
client_id + "&client_secret=" + client_secret + "&refresh_token=" + refresh_token;
var refresh_res_str = HttpMethods.Post(refresh_url);
var refresh_res = JsonConvert.DeserializeObject<InsResult>(refresh_res_str);
if (refresh_res == null || ((dynamic)refresh_res)?.code != 200)
{
_redis.Write($"refresh_token", "", TimeSpan.FromSeconds(60));
//接口返回失败重新调用授权接口
login();
return;
}
string atoken = ((dynamic)refresh_res)?.access_token;
string rtoken = ((dynamic)refresh_res)?.refresh_token;
_redis.Write($"access_token", atoken, TimeSpan.FromSeconds(200));
_redis.Write($"refresh_token", rtoken, TimeSpan.FromSeconds(250));
}
/// <summary>
/// 校区基础数据
/// </summary>
public void SaveXqjbsj()
{
try
{
var connect = (_redis.Read<string>("access_token")).Replace("\"", "");
//校区信息
var entity = this.BaseRepository().FindList<CompanyEntity>(x => x.F_DeleteMark == 0 && x.F_EnabledMark == 1).FirstOrDefault();
var pro = entity.F_ProvinceId.Substring(0, 2);
//区域信息
var area = this.BaseRepository()
.FindList<AreaEntity>($"select * from LR_Base_Area where F_AreaId like '{pro}%'");

var empCount = this.BaseRepository("CollegeMIS").FindObject($"select count(1) from EmpInfo where CheckMark = 1");
var stuCount = this.BaseRepository("CollegeMIS").FindObject($"select count(1) from StuInfoBasic where CheckMark = 1");

ParamModel paramModel = new ParamModel();
paramModel.dataObjName = "ods_xqjcsj";
var list = new List<object>();

var param = new
{
xygkjcsjid = entity.F_CompanyId,
provincejgbm = entity.F_ProvinceId,
provincejgmc = area.Where(x => x.F_AreaId == entity.F_ProvinceId).FirstOrDefault().F_AreaName,
cityjgbm = entity.F_CityId,
cityjgmc = area.Where(x => x.F_AreaId == entity.F_CityId).FirstOrDefault().F_AreaName,
countyjgbm = entity.F_CountyId,
countyjgmc = area.Where(x => x.F_AreaId == entity.F_CountyId).FirstOrDefault().F_AreaName,
//统一社会信用代码
xxjgdm = entity.F_USCreditCode,
xxjgmc = entity.F_FullName,
xqbh = entity.F_EnCode,
xqmc = entity.F_FullName,
xqjc = entity.F_SortCode,
xqszdxzqh = "",
xqdz = "",
xqyzbm = "",
xqlxdh = "",
xqfzr = "",
//校区教职工总数
xqjzgzs = empCount,
//校区学生总数
xqxszs = stuCount,
xqclrq = "",
sjcjsj = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")
};
list.Add(param);
paramModel.fileds = list;
var json = JsonConvert.SerializeObject(paramModel);
var res = HttpMethods.HttpPostConnect(saveIncrUrl, json, connect);
}
catch (ExceptionEx ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 课程信息数据
/// </summary>
public void SyncLesson()
{
try
{
//校区信息
var company = this.BaseRepository().FindList<CompanyEntity>(x => x.F_DeleteMark == 0 && x.F_EnabledMark == 1).FirstOrDefault();
//课程数据
var lessonInfo = this.BaseRepository("CollegeMIS").FindList<LessonInfoEntity>($@"SELECT a.*,b.LessonTypeName FROM [dbo].[LessonInfo] a
join [dbo].[CdLessonType] b on a.lessontypeid=b.ltid
where a.checkmark=1");

ParamModel paramModel = new ParamModel();
paramModel.dataObjName = "ods_zzkcxxsj";

var list = new List<object>();
foreach (var lesson in lessonInfo)
{
var param = new
{
gzzyqksjid = lesson.LessonId,
xxjgdm = company.F_USCreditCode,
xxjgmc = company.F_FullName,
ssxqbh = company.F_EnCode,
kcmc = lesson.LessonName,
kcdm = lesson.LessonNo,
kclb = string.IsNullOrEmpty(lesson.LessonSortDetailNo) ? "1" : lesson.LessonSortDetailNo,
kcxz = lesson.LessonTypeName.Contains("公共") || lesson.LessonTypeName.Contains("公开") ? "1" : "2",
kcsx = lesson.LessonSortNo,
kcfl = "1",
xklb = "14",
sfzyhxkc = "0",
lvjxss = lesson.WeekStudyHour > 0 ? lesson.WeekStudyHour : 0,
sjjxsy = lesson.WeekPracticeHour > 0 ? lesson.WeekStudyHour : 0,
sjcjsj = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")
};
list.Add(param);
}

paramModel.fileds = list;
var json = JsonConvert.SerializeObject(paramModel);
var connect = _redis.Read<string>("access_token");
connect = (connect).Replace("\"", "");
var res = HttpMethods.HttpPostConnect(saveIncrUrl, json, connect);
}
catch (ExceptionEx ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}


/// <summary>
/// 教材信息数据
/// </summary>
public void SyncTextBook()
{
try
{
//校区信息
var company = this.BaseRepository().FindList<CompanyEntity>(x => x.F_DeleteMark == 0 && x.F_EnabledMark == 1).FirstOrDefault();
//教材数据
var textBookInfo = this.BaseRepository("CollegeMIS").FindList<TextBookInfoEntity>(x => x.IsValid == true && x.IsDel == 0);

ParamModel paramModel = new ParamModel();
paramModel.dataObjName = "ods_jcxysj";

var list = new List<object>();
foreach (var book in textBookInfo)
{
var param = new
{
gzzyqksjid = book.ID,
xxjgdm = company.F_USCreditCode,
xxjgmc = company.F_FullName,
jcmc = book.TextBookName,
jcbh = book.TextBookNo,
//教材性质
jcxz = "1",
//ISBN号,必填
isbn = "9787040195194",
zzxm = book.FirstAuthor,
cbrq = book.Pubdate,
cbs = book.Publisher,
//适用层次
sycc = "1",
//价格
jg = book.Price > 0 ? book.Price : 0,
//版次
bc = string.IsNullOrEmpty(book.Edition) ? "1" : book.Edition,
//印次
yc = string.IsNullOrEmpty(book.Impression) ? "1" : book.Impression,
//是否有练习册
sfylxc = book.IsWorkBook == true ? 1 : 0,
//是否有教参教辅
sfyjcjf = book.IsTeachConsult == true ? 1 : 0,
//获奖情况
hjqk = "0",
sjcjsj = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")
};
list.Add(param);
}

paramModel.fileds = list;
var json = JsonConvert.SerializeObject(paramModel);
var connect = _redis.Read<string>("access_token");
connect = (connect).Replace("\"", "");
var res = HttpMethods.HttpPostConnect(saveIncrUrl, json, connect);
}
catch (ExceptionEx ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}


/// <summary>
/// 排课数据
/// </summary>
public void SyncArrangeLessonTerm()
{
try
{
//校区信息
var company = this.BaseRepository().FindList<CompanyEntity>(x => x.F_DeleteMark == 0 && x.F_EnabledMark == 1).FirstOrDefault();

var semesterAndYear = Common.GetSemesterAndYear();
var strAcademicYear = semesterAndYear.AcademicYearShort;
var strSemester = semesterAndYear.Semester;
string sql = $@"select d.Grade,d.StuNum,b.ALTId,b.F_SchoolId,b.DeptNo,b.MajorNo,b.AcademicYearNo as AcademicYear,b.LessonNo,b.LessonName,b.LessonTime,b.LessonDate,b.EmpNo,b.Empname EmpName,replace (b.TeachClassNo,b.LessonName,'') TeachClassNo, c.ClassroomName,b.Semester,b.ClassroomNo as ClassRoomNo,b.LessonSortNo,d.ClassName
from ArrangeLessonTerm b
left join ClassroomInfo c on c.ClassroomNo=b.classroomNo
left join ClassInfo d on replace(b.TeachClassNo,b.LessonName,'')=d.ClassNo
where b.AcademicYearNo='{strAcademicYear}' and b.Semester='{strSemester}'
and b.LessonDate>='{DateTime.Now.AddDays(-30)}' and b.LessonDate<='{DateTime.Now}'
and b.CheckMark=1";
var result = BaseRepository("CollegeMIS").FindList<TimeTable>(sql);

ParamModel paramModel = new ParamModel();
paramModel.dataObjName = "ods_zzxkpksj";

var list = new List<object>();
foreach (var data in result)
{
var lessonTime = data.LessonTime.Split('-');
var param = new
{
gzzyqksjid = data.ALTId,
xxjgdm = company.F_USCreditCode,
xxjgmc = company.F_FullName,
ssxqbh = company.F_EnCode,
nj = data.Grade,
bj = data.TeachClassNo,
xn = data.AcademicYear,
xq = data.Semester == "1" ? "第一学期" : "第二学期",
zc = "",
xqj = GetStr(lessonTime[0]),
skjc = lessonTime[1],
skrq = data.LessonDate,
kcmc = data.LessonName,
kcdm = data.LessonNo,
jgh = data.EmpNo,
jxbrs = data.StuNum,
skkssj = GetTime(lessonTime[1])[0],
skjssj = GetTime(lessonTime[1])[1],
sdxsrs = data.StuNum,
jsdkqk = "1",
xkr = "",
sjcjsj = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")
};
list.Add(param);
}

paramModel.fileds = list;
var json = JsonConvert.SerializeObject(paramModel);
var connect = _redis.Read<string>("access_token");
connect = (connect).Replace("\"", "");
var res = HttpMethods.HttpPostConnect(saveIncrUrl, json, connect);
}
catch (ExceptionEx ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

private string GetStr(string num)
{
var str = "";
switch (num)
{
case "1":
str = "星期一"; break;
case "2":
str = "星期二"; break;
case "3":
str = "星期三"; break;
case "4":
str = "星期四"; break;
case "5":
str = "星期五"; break;
case "6":
str = "星期六"; break;
case "7":
str = "星期日"; break;
case "8":
str = "星期八"; break;
case "9":
str = "星期九"; break;
case "10":
str = "星期十"; break;
}
return str;
}

private string GetTime(string jc)
{
var str = "";
//06:55-07:30,08:10-08:55,09:05-09:50,10:20-11:05,11:15-12:00,14:30-15:15,15:25-16:10,16:20-17:05,18:20-19:05,19:15-20:00,20:10-20:55
switch (jc)
{
case "1":
str = "06:55-07:30"; break;
case "2":
str = "08:10-08:55"; break;
case "3":
str = "09:05-09:50"; break;
case "4":
str = "10:20-11:05"; break;
case "5":
str = "11:15-12:00"; break;
case "6":
str = "14:30-15:15"; break;
case "7":
str = "15:25-16:10"; break;
case "8":
str = "16:20-17:05"; break;
case "9":
str = "18:20-19:05"; break;
case "10":
str = "19:15-20:00"; break;
case "11":
str = "20:10-20:55"; break;
}

return str;
}

/// <summary>
/// 教师进修培训
/// </summary>
public void SyncTeacherTrain()
{
try
{
//校区信息
var company = this.BaseRepository().FindList<CompanyEntity>(x => x.F_DeleteMark == 0 && x.F_EnabledMark == 1).FirstOrDefault();
//教师培训数据
var teacherTrain = this.BaseRepository().FindList<TeacherTrainEntity>();

ParamModel paramModel = new ParamModel();
paramModel.dataObjName = "ods_jxpxsj";

var list = new List<object>();
foreach (var data in teacherTrain)
{
var param = new
{
gzzyqksjid = data.TTID,
xxjgdm = company.F_USCreditCode,
xxjgmc = company.F_FullName,
jxpxhdbh = data.TTEnCode,
jxpxhdmc = data.TTContent,
jxpxhdzt = "",
jxpxhdnrjj = "",
jxpxhdsj = data.TTStartTime,
zjr = "",
drpxhdcyjss = data.TTEmpNum,
sjcjsj = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")
};
list.Add(param);
}

paramModel.fileds = list;
var json = JsonConvert.SerializeObject(paramModel);
var connect = _redis.Read<string>("access_token");
connect = (connect).Replace("\"", "");
var res = HttpMethods.HttpPostConnect(saveIncrUrl, json, connect);
}
catch (ExceptionEx ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}


/// <summary>
/// 教师资质证书
/// </summary>
public void SyncTeacherQualifications()
{
try
{
//校区信息
var company = this.BaseRepository().FindList<CompanyEntity>(x => x.F_DeleteMark == 0 && x.F_EnabledMark == 1).FirstOrDefault();
//教师数据
var teacherTrain = this.BaseRepository("CollegeMIS").FindList<TeacherQualificationsEntity>($@"select min(empid) as gzzyqksjid,count(1) as jszgzrs, sum(case when JobRank in (1,2,3,4) then 1 else 0 end) as gjzcrs,
sum(case when JobRank in (5,6,7,8) then 1 else 0 end) as zjzcrs,
sum(case when JobRank not in (1,2,3,4,5,6,7,8) then 1 else 0 end) as cjzcrs
from empinfo ");

ParamModel paramModel = new ParamModel();
paramModel.dataObjName = "ods_zzzssj";

var list = new List<object>();
foreach (var data in teacherTrain)
{
var param = new
{
gzzyqksjid = company.F_CompanyId,// data.gzzyqksjid,
xxjgdm = company.F_USCreditCode,
xxjgmc = company.F_FullName,
jszgzrs = data.jszgzrs,
gjzcrs = data.gjzcrs,
zjzcrs = data.zjzcrs,
cjzcrs = data.cjzcrs,
sjcjsj = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")
};
list.Add(param);
}

paramModel.fileds = list;
var json = JsonConvert.SerializeObject(paramModel);
var connect = _redis.Read<string>("access_token");
connect = (connect).Replace("\"", "");
var res = HttpMethods.HttpPostConnect(saveIncrUrl, json, connect);
}
catch (ExceptionEx ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
#endregion

#region MyRegion

public class InsResult
{
public int code { get; set; }
public string msg { get; set; }
public object data { get; set; }
}

public class ParamModel
{
public string dataObjName { get; set; }
public List<object> fileds { get; set; }
}

public class TeacherQualificationsEntity
{
public string gzzyqksjid { get; set; }
public int jszgzrs { get; set; }
public int gjzcrs { get; set; }
public int zjzcrs { get; set; }
public int cjzcrs { get; set; }
}

#endregion
}
}

+ 0
- 3
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj Ver arquivo

@@ -429,9 +429,6 @@
<Compile Include="LR_CodeDemo\WorkOrder\WorkOrderBLL.cs" />
<Compile Include="LR_CodeDemo\WorkOrder\WorkOrderIBLL.cs" />
<Compile Include="LR_CodeDemo\WorkOrder\WorkOrderService.cs" />
<Compile Include="LR_Desktop\DataCollection\DataCollectionBLL.cs" />
<Compile Include="LR_Desktop\DataCollection\DataCollectionIBLL.cs" />
<Compile Include="LR_Desktop\DataCollection\DataCollectionService.cs" />
<Compile Include="LR_Desktop\QualityReportChild\QualityReportChildBLL.cs" />
<Compile Include="LR_Desktop\QualityReportChild\QualityReportChildEntity.cs" />
<Compile Include="LR_Desktop\QualityReportChild\QualityReportChildIBLL.cs" />


+ 62
- 2
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Util/Learun.Util/Time/Time.cs Ver arquivo

@@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Globalization;

namespace Learun.Util
@@ -368,9 +369,10 @@ namespace Learun.Util

//当年的第一天是星期几
int firstOfWeek = Convert.ToInt32(firstDay.DayOfWeek);

if (firstOfWeek == 0)
firstOfWeek = 7;
//计算当年第一周的起止日期,可能跨年
int dayDiff = (-1) * firstOfWeek + 1;
int dayDiff = (-1) * firstOfWeek-1;
int dayAdd = 7 - firstOfWeek;

firstDate = firstDay.AddDays(dayDiff).Date;
@@ -503,6 +505,64 @@ namespace Learun.Util
return strDate;
}
#endregion


/// <summary>
/// 获取当前日期在指定时间范围内是第几周
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <returns></returns>
public static int GetWeekOfDay(DateTime start, DateTime end)
{
//总周数
var weekCount = Math.Ceiling(Convert.ToDouble((end - start).Days / 7));
//用于存储日期
var weekDic = new Dictionary<DateTime, int>();

var today = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"));

for (var i = 0; i < weekCount; i++)
{
for (var j = 0; j < 7; j++)
{
weekDic.Add(start.AddDays(i * 7 + j), i + 1);
}
}

return weekDic.ContainsKey(today) ? weekDic[today] : 1;
}

/// <summary>
/// 根据开始日期和结束日期返回这段时间的周数
/// 过周日算一周
/// </summary>
/// <param name="startTime">开始日期</param>
/// <param name="endTime">结束日期</param>
/// <returns></returns>
public static int GetWeekCount(DateTime startTime, DateTime endTime)
{
//获取开始时间的星期一
int startWeek = Convert.ToInt32(startTime.DayOfWeek);
//因为是以星期一为第一天,所以要判断weeknow等于0时,要向前推6天。
startWeek = (startWeek == 0 ? (7 - 1) : (startWeek - 1));
int daydiff = (-1) * startWeek;
string firstDay = startTime.AddDays(daydiff).ToString("yyyy-MM-dd");
DateTime startMonday = Convert.ToDateTime(firstDay);
//获取结束时间的星期日
int lastWeek = Convert.ToInt32(endTime.DayOfWeek);
int daydiff1 = 0;
if (lastWeek != 0)
{
daydiff1 = 7 - lastWeek;
}
//本周最后一天
string lastDay = endTime.AddDays(daydiff1).ToString("yyyy-MM-dd");
DateTime lastSunday = Convert.ToDateTime(lastDay);
TimeSpan timeSpan = (lastSunday - startMonday);
//返回总周数
return Convert.ToInt32(timeSpan.Days + 1) / 7;
}
/// <summary>
/// 获取当前日期是星期几
/// </summary>


+ 1
- 1
Learun.Framework.Ultimate V7/LearunApp-2.2.0/manifest.json Ver arquivo

@@ -3,7 +3,7 @@
"appid" : "__UNI__E4958C9",
"description" : "智慧校园移动端",
"versionName" : "1.0.0",
"versionCode" : 3,
"versionCode" : 4,
"transformPx" : false,
/* 5+App特有相关 */
"app-plus" : {


+ 369
- 367
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/timeTable/list.vue Ver arquivo

@@ -6,45 +6,49 @@
<text>{{ semester }}</text>
</view>
<!--<span class="tSec1Line"></span>-->
<view class="tSec1Box" id="weekTime">
<!-- <view class="tSec1Box" id="weekTime">
<text class="text-xxl cuIcon cuIcon-back" @click="timeTap(1)"></text>
<text>{{todayWeek.Monday}}</text>
-
<text>{{todayWeek.Sunday}}</text>
<text class="text-xxl cuIcon cuIcon-right" @click="timeTap(2)"></text>
<text class="text-xxl cuIcon cuIcon-right" @click="timeTap(2)"></text>
</view> -->
<view class="timeSelectBox">
<!-- 单选和选择 radio select -->
<l-select
@input="timeChange"
:value="timeValue"
:range="timeOptions"
title=""
/>
</view>
</view>
<view class="timeTable_sec2">
<view class="tSec2Top">
<view class="tSec2TopUl">
<view class="tSec2TopLi" v-for="(item, ind) in weekArr" :key="item.en" @click="liTap(ind)"
:class="ind == num? 'active' : ''">
<text>{{ item.en }}</text>
<text>{{ item.cn }}</text>
</view>
<view class="tSec2TopLi" v-for="(item, ind) in weekArr" :key="item.en" @click="liTap(ind)" :class="ind == num? 'active' : ''">
<text>{{ item.en }}</text>
<text>{{ item.cn }}</text>
</view>

</view>
<view class="tSec2Box">
<view class="tSec2Con" v-for="(items, i) in weekArr" :key="items.num" v-show="i == num">
<view class="tSec2Con" v-for="(items, i) in dataArr" :key="items.num" v-show="i == num">
<view class="tSec2List">
<view v-if="dataArr[i+1]&&dataArr[i+1].length <= 0" class="tSec2ListLi">
<view class="noHtml">该时间段没有课表</view>
</view>
<view v-if="dataArr[i+1]&&dataArr[i+1].length > 0">
<view class="tSec2ListLi" v-for="(k, j) in dataArr[i+1]" :key="j" @click="classTap(k)">
<view class="tSec2ListL">第 {{ k.jc }} 节</view>
<view v-if="items.lessonData.length <= 0" class="tSec2ListLi"><view class="noHtml">该时间段没有课表</view></view>
<view v-if="items.lessonData.length > 0">
<view class="tSec2ListLi" v-for="(k, j) in items.lessonData" :key="j" @click="classTap(k)">
<view class="tSec2ListL">第 {{ k.sectionTime }} 节</view>
<view class="tSec2ListR">
<view class="tSec2ListBox">
<view class="tSec2ListT">{{ k.curriculum }}</view>
<view class="tSec2ListT">{{ k.LessonName }}</view>
<view class="tSec2ListTxt">{{ k.ClassName }}</view>
<view class="tSec2ListTxt">
<text class="text-xxl cuIcon cuIcon-profile"></text>
{{ k.teacher }}
{{ k.EmpName }}
</view>
</view>
<view class="tSec2Location">
<text class="text-xxl cuIcon cuIcon-location"></text>
{{ k.className }}
{{ k.ClassroomName }}
</view>
</view>
</view>
@@ -57,364 +61,362 @@
</template>

<script>
import common from '@/common/js/common.js'
export default {
data() {
return {
semester: '',
num: 0,
user: null,
weekDayTime: 0,
noClassTime:0,
todayWeek: {},
dataArr: [],
weekArr: [{
en: 'ONE',
cn: '星期一'
},
{
en: 'TWO',
cn: '星期二'
},
{
en: 'THREE',
cn: '星期三'
},
{
en: 'FOUR',
cn: '星期四'
},
{
en: 'FIVE',
cn: '星期五'
},
{
en: 'SIX',
cn: '星期六'
},
{
en: 'SEVEN',
cn: '星期七'
},
{
en: 'EIGHT',
cn: '星期八'
},
{
en: 'NINE',
cn: '星期九'
},
{
en: 'TEN',
cn: '星期十'
}
]
};
import common from '@/common/js/common.js'
export default {
data() {
return {
timeValue:'',
timeOptions:[],
semester: '',
num: 0,
user: null,
weekDayTime: 0,
todayWeek: {},
dataArr: [],
weekArr: [
{
en: 'MON',
cn: '星期一'
},
{
en: 'TUE',
cn: '星期二'
},
{
en: 'WED',
cn: '星期三'
},
{
en: 'THU',
cn: '星期四'
},
{
en: 'FRI',
cn: '星期五'
},
{
en: 'SAT',
cn: '星期六'
},
{
en: 'SUN',
cn: '星期日'
}
]
};
},
onUnload() {
this.OFF('timeTable');
},
methods: {
async init(obj) {
let _this = this;
_this.todayWeek = common.weekday(obj);
_this.semester = common.judgeDate(obj);
_this.weekDayTime = 7 * common.oneDayTime();
_this.user = _this.GET_GLOBAL('loginUser');
_this.loadData(_this.todayWeek.Monday, _this.todayWeek.Sunday);
},
onUnload() {
this.OFF('timeTable');
liTap(ind) {
this.num = ind;
},
methods: {
// 初始化数据
async init() {
let _this = this;
// _this.todayWeek = common.weekday2();
_this.weekDayTime = 14 * common.oneDayTime();
_this.noClassTime = 4 * common.oneDayTime();
_this.loadData();
},
liTap(ind) {
this.num = ind;
},
// 切换时间
timeTap(num) {
let _this = this;
if (num == 1) {
_this.todayWeek.MondayTime = _this.todayWeek.MondayTime - _this.weekDayTime ;
_this.todayWeek.SundayTime = _this.todayWeek.SundayTime - _this.weekDayTime;
} else {
_this.todayWeek.MondayTime = _this.todayWeek.MondayTime + _this.weekDayTime;
_this.todayWeek.SundayTime = _this.todayWeek.SundayTime + _this.weekDayTime;
timeTap(num) {
let _this = this;
if (num == 1) {
_this.todayWeek.MondayTime = _this.todayWeek.MondayTime - _this.weekDayTime;
_this.todayWeek.SundayTime = _this.todayWeek.SundayTime - _this.weekDayTime;
} else {
_this.todayWeek.MondayTime = _this.todayWeek.MondayTime + _this.weekDayTime;
_this.todayWeek.SundayTime = _this.todayWeek.SundayTime + _this.weekDayTime;
}
_this.num = 0;
_this.todayWeek.Monday = common.fmtDate(_this.todayWeek.MondayTime);
_this.todayWeek.Sunday = common.fmtDate(_this.todayWeek.SundayTime);
_this.semester = common.judgeDate(_this.todayWeek.SundayTime);
_this.loadData(_this.todayWeek.Monday, _this.todayWeek.Sunday);
},
async loadData(start, end) {
// let param = { StartDate: start, EndDate: end };
let _this = this;
_this.LOADING('加载数据中…');
if(!this.timeValue){
// 加载下拉框
let timeOptionRes = await this.HTTP_GET('learun/adms/timetable/weeklist', {}, '加载数据时出错')
if(!timeOptionRes){
this.HIDE_LOADING();
return
}
_this.num = 0;
_this.todayWeek.Monday = common.fmtDate(_this.todayWeek.MondayTime);
_this.todayWeek.Sunday = common.fmtDate(_this.todayWeek.SundayTime);
_this.loadData(_this.todayWeek.Monday, _this.todayWeek.Sunday);
},
// 获取数据
loadData(start, end) {
if(!this.user) return
let {
Description,
account: Account
} = this.user
let param = {
StartDate: start,
EndDate: end,
Description,
Account,
};
let _this = this;
_this.LOADING('加载数据中…');
_this.HTTP_GET('learun/adms/timetable/TenDay', param, '加载数据时出错').then(res => {
this.timeOptions = timeOptionRes.map(e=>{return {value:e.startdate+'~'+e.enddate,text:e.textweek}})
// 加载当前周次
let currentWeekres = await this.HTTP_GET('learun/adms/timetable/currentweek', {}, '加载数据时出错')
if(!currentWeekres){
this.HIDE_LOADING();
_this.semester = res.semester
_this.dataArr = _this.ProcessingData(res.weekList);
// 回显日期
if (!start) {
_this.todayWeek.MondayTime = new Date(res.startDate).valueOf();
_this.todayWeek.SundayTime = new Date(res.endDate).valueOf() + _this.noClassTime;
_this.num = 0;
_this.todayWeek.Monday = common.fmtDate(_this.todayWeek.MondayTime);
_this.todayWeek.Sunday = common.fmtDate(_this.todayWeek.SundayTime);
}
});

},
// 处理课程数据
ProcessingData(res) {
let courseCateByDay = {}
for (let i = 1; i < 11; i++) {
courseCateByDay[i] = []
return
}
res.forEach((item) => {
item.list.sort((a, b) => {
return a.jc - b.jc
})
courseCateByDay[item.time] = item.list
})
return courseCateByDay;
},
classTap(data) {
return ""
let _this = this;
// console.log(_this.user)
if (_this.user.Description == "教师") {
//console.log("教师");
} else if (_this.user.Description == "学生") {
let LeaveType = data.LeaveType;
//console.log(LeaveType);
let IsCheck = data.IsCheck;
//console.log(IsCheck);
if (LeaveType == "1") {
let msg = "请假申请中";
if (IsCheck == "1") {
msg = "请假通过";
}
if (IsCheck == "2") {
msg = "请假未通过";
}
_this.TOAST(msg);
} else {
// var param = {
// AcademicYearNo: data.AcademicYear,
// ClassRoomNo: data.ClassRoomNo,
// EmpNo: data.EmpNo,
// LessonDate: data.LessonDate,
// LessonNo: data.LessonNo,
// LessonSortNo: data.LessonSortNo,
// LessonTime: data.LessonTime,
// Semester: data.Semester
// };
this.NAV_TO('./leaveFrom', data, true);
}
let currentweek = currentWeekres.currentweek
let obj = timeOptionRes.find(e=>e.week == currentweek)
this.timeValue = obj.startdate + '~' + obj.enddate
}
let param = { StartDate: this.timeValue.split('~')[0], EndDate: this.timeValue.split('~')[1] };
_this.HTTP_GET('learun/adms/timetable/list', param, '加载数据时出错').then(res => {
this.HIDE_LOADING();
_this.ProcessingData(res);
});
},
ProcessingData(data) {
let dataM = [
{
weekTime: 1,
num: Math.floor(Math.random() * 100000000),
lessonData: []
},
{
weekTime: 2,
num: Math.floor(Math.random() * 100000000),
lessonData: []
},
{
weekTime: 3,
num: Math.floor(Math.random() * 100000000),
lessonData: []
},
{
weekTime: 4,
num: Math.floor(Math.random() * 100000000),
lessonData: []
},
{
weekTime: 5,
num: Math.floor(Math.random() * 100000000),
lessonData: []
},
{
weekTime: 6,
num: Math.floor(Math.random() * 100000000),
lessonData: []
},
{
weekTime: 7,
num: Math.floor(Math.random() * 100000000),
lessonData: []
}
];
data.forEach((n, i) => {
n.sectionTime = n.LessonTime.slice(1);
dataM.forEach((k, j) => {
if (k.weekTime == n.LessonTime.slice(0, 1)) {
k.lessonData.push(n);
}
});
});
dataM.forEach((n, i) => {
n.lessonData.sort(common.compare('sectionTime'));
});
this.dataArr = dataM;
},
classTap(data) {
let _this = this;
if (_this.user.Description == "教师") {
} else if (_this.user.Description == "学生") {
let LeaveType = data.LeaveType;
let IsCheck = data.IsCheck;
if (LeaveType == "1") {
let msg = "请假申请中";
if (IsCheck == "1") {
msg = "请假通过";
}
if (IsCheck == "2") {
msg = "请假未通过";
}
_this.TOAST(msg);
}
else {
this.NAV_TO('./leaveFrom', data, true);
}
}
},
created() {
this.ON('timeTable', this.init);
this.user = this.GET_GLOBAL('loginUser');
this.init()
onfun(obj){
this.init(obj);
},
getTimeOptions(){
return this.HTTP_GET('learun/adms/timetable/weeklist', {}, '加载数据时出错')
},
timeChange(e){
this.timeValue = e
this.loadData()
}
};
},
created() {
//this.ON('timeTable', this.init);
this.ON('timeTable', this.onfun);
this.init()
}
};
</script>

<style lang="less" scoped>
.page {
background: #fff;
}

.timeTable_sec1 {
padding: 14px 12px;
text-align: center;
background: #0075c4;
color: #94d4ff;
font-size: 0;
}

.tSec1Box>* {
display: inline-block;
vertical-align: middle;
}

.tSec1Line {
height: 13px;
width: 1px;
background: #94d4ff;
margin: 0 10px;
}

.tSec1Box {
font-size: 15px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}

#semester {
margin-bottom: 10px;
}

#weekTime {}

#weekTime text {
margin: 0 10px;
}

.tSec1Box>text {
width: auto;
text-align: center;
line-height: 22px;
}

.tSec1Box image {
width: 15px;
margin-right: 2px;
}

.tSec1Box text:after {
display: none;
}

.timeTable_sec2 {
margin-bottom: 30px;
}

.tSec2Top {
padding: 0 12px;
background: #0075c4;
height: 55px;
text-align: center;
overflow: auto;
}

.tSec2TopUl {
width: 800px;
}

.tSec2TopLi {
width: 10%;
float: left;
line-height: 18px;
padding: 9px 0 9px;
color: #fff;
font-size: 13px;
border-right: 1px solid #1084d2;
border-top: 1px solid #1084d2;
}

.tSec2TopLi:first-child {
border-left: 1px solid #1084d2;
}

.tSec2TopLi.active {
color: #0075c4;
background: #fff;
border-color: #fff;
}

.tSec2TopLi text {
display: block;
}

.tSec2TopLi text:first-child {
letter-spacing: 2px;
text-transform: uppercase;
}

.tSec2Box {
padding: 0 12px;
margin-top: 10px;
}

.tSec2Con {
border-left: 1px solid #d5eaf7;
border-right: 1px solid #d5eaf7;
border-top: 1px solid #d5eaf7;
// display: none;
}

.tSec2Con:first-child {
display: block;
}

.tSec2List {
margin-top: 10px;
}

.tSec2List:first-child {
margin-top: 0;
}

.tSec2ListLi {
border-bottom: 1px solid #d5eaf7;
overflow: hidden;
height: 60px;
}

.tSec2ListL {
float: left;
background: #e8f6ff;
height: 100%;
width: 20%;
text-align: center;
line-height: 36px;
padding: 11px 0;
font-size: 14px;
color: #646464;
}

.tSec2ListR {
float: left;
width: 80%;
height: 100%;
line-height: 18px;
padding: 4px 0;
overflow: hidden;
}

.tSec2ListBox {
width: 62%;
float: left;
padding-left: 5px;
}

.tSec2ListT {
color: #3e3e3e;
font-size: 15px;
margin: 5px 0;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}

.tSec2ListTxt {
color: #888888;
font-size: 13px;
}

.tSec2Location {
width: 38%;
float: left;
line-height: 44px;
font-size: 13px;
color: #888888;
}

.noHtml {
height: 100%;
line-height: 60px;
text-align: center;
font-size: 14px;
}
.page{
background: #fff;
}
.timeTable_sec1 {
padding: 14px 12px;
text-align: center;
background: #0075c4;
color: #94d4ff;
font-size: 0;
}
.tSec1Box > * {
display: inline-block;
vertical-align: middle;
}
.tSec1Line {
height: 13px;
width: 1px;
background: #94d4ff;
margin: 0 10px;
}
.tSec1Box {
font-size: 15px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
#semester {
margin-bottom: 10px;
}
#weekTime {
}
#weekTime text {
margin: 0 10px;
}
.tSec1Box > text {
width: auto;
text-align: center;
line-height: 22px;
}
.tSec1Box image {
width: 15px;
margin-right: 2px;
}
.tSec1Box text:after {
display: none;
}
.timeTable_sec2 {
margin-bottom: 30px;
}
.tSec2Top {
padding: 0 12px;
background: #0075c4;
height: 55px;
text-align: center;
overflow: hidden;
}
.tSec2TopLi {
width: 14.285714%;
float: left;
line-height: 18px;
padding: 9px 0 9px;
color: #fff;
font-size: 13px;
border-right: 1px solid #1084d2;
border-top: 1px solid #1084d2;
}
.tSec2TopLi:first-child {
border-left: 1px solid #1084d2;
}
.tSec2TopLi.active {
color: #0075c4;
background: #fff;
border-color: #fff;
}
.tSec2TopLi text {
display: block;
}

.tSec2TopLi text:first-child {
letter-spacing: 2px;
text-transform: uppercase;
}
.tSec2Box {
padding: 0 12px;
margin-top: 10px;
}
.tSec2Con {
border-left: 1px solid #d5eaf7;
border-right: 1px solid #d5eaf7;
border-top: 1px solid #d5eaf7;
// display: none;
}
.tSec2Con:first-child {
display: block;
}
.tSec2List {
margin-top: 10px;
}
.tSec2List:first-child {
margin-top: 0;
}
.tSec2ListLi {
border-bottom: 1px solid #d5eaf7;
overflow: hidden;
height: 64px;
}
.tSec2ListL {
float: left;
background: #e8f6ff;
height: 100%;
width: 25%;
text-align: center;
line-height: 36px;
padding: 11px 0;
font-size: 14px;
color: #646464;
}
.tSec2ListR {
float: left;
width: 75%;
height: 100%;
line-height: 18px;
padding: 4px 0;
overflow: hidden;
}
.tSec2ListBox {
width: 70%;
float: left;
padding-left: 5px;
}
.tSec2ListT {
color: #3e3e3e;
font-size: 15px;
margin: 2px 0;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.tSec2ListTxt {
color: #888888;
font-size: 13px;
}
.tSec2Location {
width: 30%;
float: left;
line-height: 44px;
font-size: 13px;
color: #888888;
}
.noHtml {
height: 100%;
line-height: 60px;
text-align: center;
font-size: 14px;
}

.timeSelectBox .cu-form-group{
background-color: unset;
border-bottom:none;
width: calc(100% - 80px);
margin: 0 auto;
}
</style>

Carregando…
Cancelar
Salvar