@@ -74,6 +74,15 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 课时统计 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
public ActionResult coursestatictis() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
#region 获取数据 | |||
@@ -169,6 +178,8 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
} | |||
#endregion | |||
#region MyRegion | |||
/// <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> | |||
@*<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="lr-form-item-title">岗位类别</div> | |||
<div id="EmpSortNo"></div> | |||
@@ -253,6 +253,14 @@ | |||
<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'); } })" /> | |||
</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="lr-form-item-title lr-title">学历学位信息</div> | |||
</div> | |||
@@ -364,9 +372,9 @@ | |||
<div id="Photo"></div> | |||
</div> | |||
@*<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="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\Index.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\IndexOfElectiveOnline.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\EducationalAdministration\Views\ClassInfo\Statictis.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\FolderProfile.pubxml" /> | |||
<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> | |||
/// 获取实体数据 | |||
@@ -71,6 +71,12 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
/// <returns></returns> | |||
IEnumerable<ArrangeLessonTermEntity> GetPageList(Pagination pagination, string queryJson); | |||
/// <summary> | |||
/// 获取列表分页数据 | |||
/// <param name="pagination">分页参数</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
IEnumerable<LessonStatictisEntity> GetcoursestatictisList(Pagination pagination, string queryJson); | |||
/// <summary> | |||
/// 获取实体数据 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
@@ -365,7 +365,9 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
#endregion | |||
#region MyRegion | |||
#endregion | |||
/// <summary> | |||
/// 获取相关课程考勤的学生信息 | |||
/// </summary> | |||
@@ -2208,6 +2210,39 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les | |||
} | |||
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; } | |||
/// <summary> | |||
/// 课时费标准 | |||
/// </summary> | |||
[Column("FEESTANDARD")] | |||
public double? Feestandard { get; set; } | |||
/// <summary> | |||
/// 周任务课时 | |||
/// </summary> | |||
[Column("WEEKCOURSES")] | |||
public double? Weekcourses { get; set; } | |||
#endregion | |||
#region 扩展操作 | |||
@@ -91,6 +91,7 @@ | |||
<Compile Include="AssetManagementSystem\Ass_ScrapItem\Ass_ScrapItemEntity.cs" /> | |||
<Compile Include="AssetManagementSystem\Ass_ScrapItem\Ass_ScrapItemIBLL.cs" /> | |||
<Compile Include="AssetManagementSystem\Ass_ScrapItem\Ass_ScrapItemService.cs" /> | |||
<Compile Include="EducationalAdministration\ArrangeLessonTerm\LessonStatictisEntity.cs" /> | |||
<Compile Include="EducationalAdministration\ClassInfo\ClassRoomStatictisEntity.cs" /> | |||
<Compile Include="EducationalAdministration\ElectiveMajorOnline\ElectiveMajorOnlineBLL.cs" /> | |||
<Compile Include="EducationalAdministration\ElectiveMajorOnline\ElectiveMajorOnlineEntity.cs" /> | |||