@@ -74,6 +74,15 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
{ | { | ||||
return View(); | return View(); | ||||
} | } | ||||
/// <summary> | |||||
/// 课时统计 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
public ActionResult coursestatictis() | |||||
{ | |||||
return View(); | |||||
} | |||||
#endregion | #endregion | ||||
#region 获取数据 | #region 获取数据 | ||||
@@ -169,6 +178,8 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
} | } | ||||
#endregion | #endregion | ||||
#region MyRegion | |||||
/// <summary> | /// <summary> | ||||
/// 当前学期排课数据同步 | /// 当前学期排课数据同步 | ||||
/// </summary> | /// </summary> | ||||
@@ -312,7 +323,24 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
} | } | ||||
} | } | ||||
} | } | ||||
#endregion | |||||
#region 课时统计 | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetcoursestatictisList(string pagination, string queryJson) | |||||
{ | |||||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||||
var data = arrangeLessonTermIBLL.GetcoursestatictisList(paginationobj, queryJson); | |||||
var jsonData = new | |||||
{ | |||||
rows = data, | |||||
total = paginationobj.total, | |||||
page = paginationobj.page, | |||||
records = paginationobj.records | |||||
}; | |||||
return Success(jsonData); | |||||
} | |||||
#endregion | |||||
} | } | ||||
} | } |
@@ -0,0 +1,38 @@ | |||||
@{ | |||||
ViewBag.Title = "排课"; | |||||
Layout = "~/Views/Shared/_Index.cshtml"; | |||||
} | |||||
<div class="lr-layout"> | |||||
<div class="lr-layout-center"> | |||||
<div class="lr-layout-wrap lr-layout-wrap-notitle"> | |||||
<div class="lr-layout-tool"> | |||||
<div class="lr-layout-tool-left"> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="datesearch"></div> | |||||
</div> | |||||
<div class="lr-layout-tool-item"> | |||||
<a id="btn_Search" class="btn btn-primary btn-sm"><i class="fa fa-search"></i> 查询</a> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-tool-right"> | |||||
<div class=" btn-group btn-group-sm"> | |||||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||||
</div> | |||||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||||
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i> 录入</a> | |||||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 修改</a> | |||||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a> | |||||
<a id="modifysync" class="btn btn-default"><i class="fa fa-trash-o"></i> 清空当前学期排课数据</a> | |||||
<a id="sync" class="btn btn-default"><i class="fa fa-handshake-o"></i> 当前学期排课数据同步</a> | |||||
</div> | |||||
<div class=" btn-group btn-group-sm" learun-authorize="yes"> | |||||
<a id="emptyByCondition" class="btn btn-default"><i class="fa fa-trash-o"></i> 按条件清空排课数据</a> | |||||
<a id="syncByCondition" class="btn btn-default"><i class="fa fa-handshake-o"></i> 按条件同步排课数据</a> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-body" id="gridtable"></div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/ArrangeLessonTerm/coursestatictis.js") |
@@ -0,0 +1,134 @@ | |||||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||||
* 创建人:超级管理员 | |||||
* 日 期:2019-02-27 11:05 | |||||
* 描 述:排课 | |||||
*/ | |||||
var selectedRow; | |||||
var refreshGirdData; | |||||
var startTime; | |||||
var endTime; | |||||
var bootstrap = function ($, learun) { | |||||
"use strict"; | |||||
var page = { | |||||
init: function () { | |||||
page.initGird(); | |||||
page.bind(); | |||||
}, | |||||
bind: function () { | |||||
// 时间搜索框 | |||||
$('#datesearch').lrdate({ | |||||
dfdata: [ | |||||
{ name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||||
{ name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||||
{ name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, | |||||
{ name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } } | |||||
], | |||||
// 月 | |||||
mShow: false, | |||||
premShow: false, | |||||
// 季度 | |||||
jShow: false, | |||||
prejShow: false, | |||||
// 年 | |||||
ysShow: false, | |||||
yxShow: false, | |||||
preyShow: false, | |||||
yShow: false, | |||||
// 默认 | |||||
dfvalue: '3', | |||||
selectfn: function (begin, end) { | |||||
startTime = begin; | |||||
endTime = end; | |||||
//page.search(); | |||||
} | |||||
}); | |||||
// 查询 | |||||
$('#btn_Search').on('click', function () { | |||||
var keyword = $('#txt_Keyword').val(); | |||||
page.search({ keyword: keyword }); | |||||
}); | |||||
// 刷新 | |||||
$('#lr_refresh').on('click', function () { | |||||
location.reload(); | |||||
}); | |||||
// 按条件清空 | |||||
$('#emptyByCondition').on('click', function () { | |||||
learun.layerForm({ | |||||
id: 'EmptyByConditionForm', | |||||
title: '按条件清空排课数据', | |||||
url: top.$.rootUrl + '/EducationalAdministration/ArrangeLessonTerm/EmptyByConditionForm', | |||||
width: 600, | |||||
height: 400, | |||||
callBack: function (id) { | |||||
return top[id].acceptClick(refreshGirdData); | |||||
} | |||||
}); | |||||
}); | |||||
// 按条件同步 | |||||
$('#syncByCondition').on('click', function () { | |||||
learun.layerForm({ | |||||
id: 'SyncByConditionForm', | |||||
title: '按条件同步排课数据', | |||||
url: top.$.rootUrl + '/EducationalAdministration/ArrangeLessonTerm/SyncByConditionForm', | |||||
width: 600, | |||||
height: 400, | |||||
callBack: function (id) { | |||||
return top[id].acceptClick(refreshGirdData); | |||||
} | |||||
}); | |||||
}); | |||||
}, | |||||
initGird: function () { | |||||
$('#gridtable').jfGrid({ | |||||
url: top.$.rootUrl + '/EducationalAdministration/ArrangeLessonTerm/GetcoursestatictisList', | |||||
headData: [ | |||||
//{ label: '序号', name: 'ALTId', width: 200, align: "left" }, | |||||
{ label: '姓名', name: 'empname', width: 200, align: "left" }, | |||||
{ | |||||
label: '教师职务', name: 'zhiwu', width: 200, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('dataItem', { | |||||
key: value, | |||||
code: 'JobGrade', | |||||
callback: function (_data) { | |||||
callback(_data.text); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ | |||||
label: '部门', name: 'dept', width: 200, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('custmerData', { | |||||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'classdata', | |||||
key: value, | |||||
keyId: 'id', | |||||
callback: function (_data) { | |||||
callback(_data['name']); | |||||
} | |||||
}); | |||||
} }, | |||||
{ label: '周任务课时', name: 'weekcourses', width: 200, align: "left" }, | |||||
{ label: '实际月课时量', name: 'monthactcourses', width: 200, align: "left" }, | |||||
{ label: '折算后月课时量', name: 'zhesuan_monthactcourses', width: 200, align: "left" }, | |||||
{ label: '课时费标准', name: 'feestandard', width: 200, align: "left" }, | |||||
{ label: '实发课时费', name: 'actfeestandard', width: 200, align: "left" }, | |||||
], | |||||
mainId: 'ALTId', | |||||
isPage: true | |||||
}); | |||||
page.search(); | |||||
}, | |||||
search: function (param) { | |||||
param = param || {}; | |||||
param.StartTime = startTime; | |||||
param.EndTime = endTime; | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||||
} | |||||
}; | |||||
refreshGirdData = function () { | |||||
page.search(); | |||||
}; | |||||
page.init(); | |||||
} |
@@ -154,9 +154,9 @@ | |||||
<div id="F_DepartmentId" checkexpession="NotNull"></div> | <div id="F_DepartmentId" checkexpession="NotNull"></div> | ||||
</div> | </div> | ||||
@*<div class="col-xs-4 lr-form-item" data-table="EmpInfo"> | @*<div class="col-xs-4 lr-form-item" data-table="EmpInfo"> | ||||
<div class="lr-form-item-title">系部</div> | |||||
<div id="DeptNo"></div> | |||||
</div>*@ | |||||
<div class="lr-form-item-title">系部</div> | |||||
<div id="DeptNo"></div> | |||||
</div>*@ | |||||
@*<div class="col-xs-4 lr-form-item" data-table="EmpInfo"> | @*<div class="col-xs-4 lr-form-item" data-table="EmpInfo"> | ||||
<div class="lr-form-item-title">岗位类别</div> | <div class="lr-form-item-title">岗位类别</div> | ||||
<div id="EmpSortNo"></div> | <div id="EmpSortNo"></div> | ||||
@@ -253,6 +253,14 @@ | |||||
<div class="lr-form-item-title">职称获得时间</div> | <div class="lr-form-item-title">职称获得时间</div> | ||||
<input id="ProfessionalTitleGetTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#ProfessionalTitleGetTime').trigger('change'); } })" /> | <input id="ProfessionalTitleGetTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#ProfessionalTitleGetTime').trigger('change'); } })" /> | ||||
</div> | </div> | ||||
<div class="col-xs-4 lr-form-item" data-table="EmpInfo"> | |||||
<div class="lr-form-item-title">课时费标准<font face="宋体">*</font></div> | |||||
<input id="Feestandard" type="number" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||||
</div> | |||||
<div class="col-xs-4 lr-form-item" data-table="EmpInfo"> | |||||
<div class="lr-form-item-title">周任务课时<font face="宋体">*</font></div> | |||||
<input id="Weekcourses" type="number" class="form-control" isvalid="yes" checkexpession="NotNull" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item"> | <div class="col-xs-12 lr-form-item"> | ||||
<div class="lr-form-item-title lr-title">学历学位信息</div> | <div class="lr-form-item-title lr-title">学历学位信息</div> | ||||
</div> | </div> | ||||
@@ -364,9 +372,9 @@ | |||||
<div id="Photo"></div> | <div id="Photo"></div> | ||||
</div> | </div> | ||||
@*<div class="col-xs-12 lr-form-item" data-table="EmpInfo"> | @*<div class="col-xs-12 lr-form-item" data-table="EmpInfo"> | ||||
<div class="lr-form-item-title">教师简介</div> | |||||
<textarea id="resume" class="form-control" style="height:200px;"></textarea> | |||||
</div>*@ | |||||
<div class="lr-form-item-title">教师简介</div> | |||||
<textarea id="resume" class="form-control" style="height:200px;"></textarea> | |||||
</div>*@ | |||||
<div class="col-xs-12 lr-form-item"> | <div class="col-xs-12 lr-form-item"> | ||||
<div class="lr-form-item-title">教师简介</div> | <div class="lr-form-item-title">教师简介</div> | ||||
@@ -1012,6 +1012,7 @@ | |||||
<Content Include="Areas\AssetManagementSystem\Views\Ass_Warning\Form.js" /> | <Content Include="Areas\AssetManagementSystem\Views\Ass_Warning\Form.js" /> | ||||
<Content Include="Areas\AssetManagementSystem\Views\Ass_Warning\Index.js" /> | <Content Include="Areas\AssetManagementSystem\Views\Ass_Warning\Index.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\Acc_DormitoryChange\FormView.js" /> | <Content Include="Areas\EducationalAdministration\Views\Acc_DormitoryChange\FormView.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTerm\coursestatictis.js" /> | |||||
<Content Include="Areas\EducationalAdministration\Views\CdMajor\FormProvince.js" /> | <Content Include="Areas\EducationalAdministration\Views\CdMajor\FormProvince.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\CdMajor\IndexOfElectiveOnline.js" /> | <Content Include="Areas\EducationalAdministration\Views\CdMajor\IndexOfElectiveOnline.js" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\CdMajor\IndexProvince.js" /> | <Content Include="Areas\EducationalAdministration\Views\CdMajor\IndexProvince.js" /> | ||||
@@ -8313,6 +8314,7 @@ | |||||
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\MissiveStats.cshtml" /> | <Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\MissiveStats.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\ClassInfo\Statictis.cshtml" /> | <Content Include="Areas\EducationalAdministration\Views\ClassInfo\Statictis.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\TeachAttendance\StatisticDetailIndex.cshtml" /> | <Content Include="Areas\EducationalAdministration\Views\TeachAttendance\StatisticDetailIndex.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTerm\coursestatictis.cshtml" /> | |||||
<None Include="Properties\PublishProfiles\CustomProfile.pubxml" /> | <None Include="Properties\PublishProfiles\CustomProfile.pubxml" /> | ||||
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" /> | <None Include="Properties\PublishProfiles\FolderProfile.pubxml" /> | ||||
<Content Include="Views\Login\Default-beifen.cshtml" /> | <Content Include="Views\Login\Default-beifen.cshtml" /> | ||||
@@ -84,6 +84,29 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
} | } | ||||
} | } | ||||
} | } | ||||
/// <summary> | |||||
/// 获取列表分页数据 | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
public IEnumerable<LessonStatictisEntity> GetcoursestatictisList(Pagination pagination, string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
return arrangeLessonTermService.GetcoursestatictisList(pagination, queryJson); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 获取实体数据 | /// 获取实体数据 | ||||
@@ -71,6 +71,12 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
/// <returns></returns> | /// <returns></returns> | ||||
IEnumerable<ArrangeLessonTermEntity> GetPageList(Pagination pagination, string queryJson); | IEnumerable<ArrangeLessonTermEntity> GetPageList(Pagination pagination, string queryJson); | ||||
/// <summary> | /// <summary> | ||||
/// 获取列表分页数据 | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
IEnumerable<LessonStatictisEntity> GetcoursestatictisList(Pagination pagination, string queryJson); | |||||
/// <summary> | |||||
/// 获取实体数据 | /// 获取实体数据 | ||||
/// <param name="keyValue">主键</param> | /// <param name="keyValue">主键</param> | ||||
/// <summary> | /// <summary> | ||||
@@ -365,7 +365,9 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
#endregion | #endregion | ||||
#region MyRegion | |||||
#endregion | |||||
/// <summary> | /// <summary> | ||||
/// 获取相关课程考勤的学生信息 | /// 获取相关课程考勤的学生信息 | ||||
/// </summary> | /// </summary> | ||||
@@ -2208,6 +2210,39 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les | |||||
} | } | ||||
return result; | return result; | ||||
} | } | ||||
/// <summary> | |||||
/// 获取列表分页数据 | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
public IEnumerable<LessonStatictisEntity> GetcoursestatictisList(Pagination pagination, string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
var strSql = new StringBuilder(); | |||||
var queryParam = queryJson.ToJObject(); | |||||
strSql.Append("select a.*,b.jobrank as zhiwu,b.F_DepartmentId as dept,b.feestandard,b.Weekcourses,ta.actcourses as monthactcourses,ta.actcourses-(b.Weekcourses*4) as zhesuan_monthactcourses, "); | |||||
strSql.Append("case when b.jobrank in('5','6') then (ta.actcourses-4*b.Weekcourses)*b.feestandard "); | |||||
strSql.Append("when b.jobrank in(1,2,3,4) then (case when ta.actcourses<=(4*b.weekcourses)/2 then ta.actcourses*b.feestandard else 4*b.weekcourses*b.feestandard/2 end) end as actfeestandard "); | |||||
strSql.Append("from "); | |||||
strSql.Append("(select count(*) as courses,a.empno,a.empname from ArrangeLessonTerm a where lessondate between '"+ queryParam["StartTime"] + "' and '" + queryParam["EndTime"] + "' group by a.empno,a.empname ) a "); | |||||
strSql.Append("left join (select count(*) as actcourses,empno from Teach_attendance where clocktime between '" + queryParam["StartTime"] + "' and '" + queryParam["EndTime"] + "' group by empno) ta on ta.empno=a.empno "); | |||||
strSql.Append("left join empinfo b on a.empno=b.empno "); | |||||
return this.BaseRepository("CollegeMIS").FindList<LessonStatictisEntity>(strSql.ToString(), pagination); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
} | } | ||||
@@ -0,0 +1,55 @@ | |||||
using Learun.Util; | |||||
using System; | |||||
using System.ComponentModel.DataAnnotations.Schema; | |||||
namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
{ | |||||
/// <summary> | |||||
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 | |||||
/// Copyright (c) 2013-2018 北京泉江科技有限公司 | |||||
/// 创 建:超级管理员 | |||||
/// 日 期:2019-02-27 11:05 | |||||
/// 描 述:排课 | |||||
/// </summary> | |||||
public class LessonStatictisEntity | |||||
{ | |||||
#region 实体成员 | |||||
//b.classroomname,b.classroombuildingname,usecount | |||||
/// <summary> | |||||
/// 姓名 | |||||
/// </summary> | |||||
public string empname { get; set; } | |||||
/// <summary> | |||||
/// 教师职务 | |||||
/// </summary> | |||||
public string zhiwu { get; set; } | |||||
/// <summary> | |||||
/// 部门 | |||||
/// </summary> | |||||
public string dept { get; set; } | |||||
/// <summary> | |||||
/// 周任务课时 | |||||
/// </summary> | |||||
public string weekcourses { get; set; } | |||||
/// <summary> | |||||
/// 实际月课时量 | |||||
/// </summary> | |||||
public string monthactcourses { get; set; } | |||||
/// <summary> | |||||
/// 折算后月课时量 | |||||
/// </summary> | |||||
public string zhesuan_monthactcourses { get; set; } | |||||
/// <summary> | |||||
/// 课时费标准 | |||||
/// </summary> | |||||
public string feestandard { get; set; } | |||||
/// <summary> | |||||
/// 实发课时费 | |||||
/// </summary> | |||||
public string actfeestandard { get; set; } | |||||
#endregion | |||||
} | |||||
} | |||||
@@ -598,6 +598,16 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
public int? F_Order { get; set; } | public int? F_Order { get; set; } | ||||
/// <summary> | |||||
/// 课时费标准 | |||||
/// </summary> | |||||
[Column("FEESTANDARD")] | |||||
public double? Feestandard { get; set; } | |||||
/// <summary> | |||||
/// 周任务课时 | |||||
/// </summary> | |||||
[Column("WEEKCOURSES")] | |||||
public double? Weekcourses { get; set; } | |||||
#endregion | #endregion | ||||
#region 扩展操作 | #region 扩展操作 | ||||
@@ -91,6 +91,7 @@ | |||||
<Compile Include="AssetManagementSystem\Ass_ScrapItem\Ass_ScrapItemEntity.cs" /> | <Compile Include="AssetManagementSystem\Ass_ScrapItem\Ass_ScrapItemEntity.cs" /> | ||||
<Compile Include="AssetManagementSystem\Ass_ScrapItem\Ass_ScrapItemIBLL.cs" /> | <Compile Include="AssetManagementSystem\Ass_ScrapItem\Ass_ScrapItemIBLL.cs" /> | ||||
<Compile Include="AssetManagementSystem\Ass_ScrapItem\Ass_ScrapItemService.cs" /> | <Compile Include="AssetManagementSystem\Ass_ScrapItem\Ass_ScrapItemService.cs" /> | ||||
<Compile Include="EducationalAdministration\ArrangeLessonTerm\LessonStatictisEntity.cs" /> | |||||
<Compile Include="EducationalAdministration\ClassInfo\ClassRoomStatictisEntity.cs" /> | <Compile Include="EducationalAdministration\ClassInfo\ClassRoomStatictisEntity.cs" /> | ||||
<Compile Include="EducationalAdministration\ElectiveMajorOnline\ElectiveMajorOnlineBLL.cs" /> | <Compile Include="EducationalAdministration\ElectiveMajorOnline\ElectiveMajorOnlineBLL.cs" /> | ||||
<Compile Include="EducationalAdministration\ElectiveMajorOnline\ElectiveMajorOnlineEntity.cs" /> | <Compile Include="EducationalAdministration\ElectiveMajorOnline\ElectiveMajorOnlineEntity.cs" /> | ||||