@@ -0,0 +1,122 @@ | |||
@{ ViewBag.Title = "全院学生线上成绩录入"; Layout = "~/Views/Shared/_Index.cshtml"; } | |||
<style> | |||
.lr-select { | |||
width: 150px; | |||
} | |||
#LessonNo { | |||
width: 180px; | |||
} | |||
.lr-selectLittle { | |||
width: 80px; | |||
} | |||
.lr-layout-tool { | |||
height: 80px; | |||
} | |||
.lr-layout-center .lr-layout-wrap.lr-layout-wrap-notitle { | |||
padding-top: 80px; | |||
} | |||
.divRow { | |||
position: absolute; | |||
width: 100%; | |||
height: 55px; | |||
top: 0; | |||
left: 0; | |||
} | |||
.scaleRow { | |||
top: 55px; | |||
padding: 2px 10px; | |||
height: 25px; | |||
} | |||
.scaleRow .timeBox { | |||
float: right; | |||
padding-right: 30px; | |||
} | |||
.scaleRow .tipBox { | |||
display: inline-block; | |||
color: #ff0000; | |||
margin-left: 10px; | |||
} | |||
#addMinutesBtn { | |||
display: inline-block; | |||
cursor: pointer; | |||
background-color: blue; | |||
color: #fff; | |||
padding: 1px 5px; | |||
border-radius: 4px; | |||
} | |||
</style> | |||
<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="selectRow divRow"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<div id="F_SchoolId" type="lrselect" class="lr-select"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<div id="AcademicYearNo" type="lrselect" class="lr-select lr-selectLittle"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<div id="Semester" type="lrselect" class="lr-select lr-selectLittle"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<div id="LessonNo" type="lrselect" class="lr-select"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<div id="EmpNo" type="lrselect" class="lr-select"></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" id="btnBox"> | |||
<a id="lr_input" class="btn btn-default"><i class="fa fa-edit"> 开始录入</i></a> | |||
<a id="lr_save" class="btn btn-default" style="display:none;"><i class="fa fa-edit"> 提交成绩</i></a> | |||
<a id="lr_check" class="btn btn-default"><i class="fa fa-lock"> 审核</i></a> | |||
<a id="lr_uncheck" class="btn btn-default"><i class="fa fa-lock"> 取消审核</i></a> | |||
@*<a id="lr_setScale" class="btn btn-default"><i class="fa fa-edit"> 设置成绩比例</i></a>*@ | |||
<a id="lr_importScore" class="btn btn-default"><i class="fa fa-edit"> 导入更新</i></a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="scaleRow divRow"> | |||
@*<span>比例设置:</span> | |||
<span>平时成绩占比 <span id="OrdinaryScoreScale">0</span> %,</span> | |||
<span>期中成绩占比 <span id="TermInScoreScale">0</span> %,</span> | |||
<span>期末成绩占比 <span id="TermEndScoreScale">0</span> %,</span> | |||
<span>其他成绩占比 <span id="OtherScoreScale">0</span> %</span>*@ | |||
<div class="tipBox">提示:录入完成后,请务必点击“提交成绩”按钮,避免成绩丢失!</div> | |||
<div class="timeBox" style="display:none;"> | |||
倒计时: | |||
<span id="minutes" data-minutes="30"></span>分钟(<span id="seconds" data-seconds="60"></span>秒) | |||
<div id="addMinutesBtn" data-minutes="30">续时</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StuScoreOnline/InputScoreIndex.js") | |||
<script> | |||
var CanInputFlag = "@ViewBag.CanInputFlag"; | |||
if (CanInputFlag != "True") { | |||
top.learun.layerConfirm('当前时间不是线上成绩录入时间!', function (res) {}); | |||
} | |||
</script> |
@@ -0,0 +1,553 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2023-06-12 11:02 | |||
* 描 述:全院学生线上成绩录入 | |||
*/ | |||
var selectedRow; | |||
var refreshGirdData; | |||
var refreshGirdData2; | |||
var judgeSelect; //判断下拉框是否选择 | |||
var modifyDate; //成绩被占用,且是登录用户时,成绩表中的编辑时间; | |||
var timer; //计时器 | |||
var submitScoreTimer; //五分钟提交成绩计时器 | |||
var headData; //常规列头 | |||
var headDataEdit; //可编辑列头 | |||
var headDataNoEdit; //不可编辑列头 | |||
var headDataFinally; //最终列头 | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
headData = [ | |||
{ | |||
label: "审核状态", name: "CheckMark", width: 80, align: "center", | |||
formatter: function (cellvalue) { | |||
return cellvalue == "1" ? "<span class=\"label label-success\">已审核</span>" : "<span class=\"label label-danger\">未审核</span>"; | |||
} | |||
}, | |||
{ label: '学年', name: 'AcademicYearNo', width: 50, align: "left" }, | |||
{ label: '学期', name: 'Semester', width: 40, align: "left" }, | |||
{ label: '课程名称', name: 'LessonName', width: 150, align: "left" }, | |||
{ | |||
label: "学校名称", name: "F_SchoolId", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company', | |||
key: value, | |||
keyId: 'f_companyid', | |||
callback: function (_data) { | |||
callback(_data['f_fullname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "学院", name: "DeptNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', | |||
key: value, | |||
keyId: 'deptno', | |||
callback: function (_data) { | |||
callback(_data['deptname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "专业", name: "MajorNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', | |||
key: value, | |||
keyId: 'majorno', | |||
callback: function (_data) { | |||
callback(_data['majorname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ | |||
label: "班级", name: "ClassNo", width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', | |||
key: value, | |||
keyId: 'classno', | |||
callback: function (_data) { | |||
callback(_data['classname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: '学生姓名', name: 'StuName', width: 100, align: "left" }, | |||
{ label: '学生学号', name: 'StuNo', width: 100, align: "left" }, | |||
]; | |||
headDataEdit = [ | |||
{ | |||
label: '成绩', name: 'TermEndScore', width: 80, align: "left", | |||
edit: { | |||
type: 'input', | |||
inputType: 'number', | |||
change: function (row, rownum) { | |||
row.Score = (parseFloat(row.TermEndScore || '0') * 1).toFixed(2); | |||
$('#gridtable').jfGridSet('updateRow', rownum); | |||
}, | |||
} | |||
}, | |||
{ label: '最终核定成绩', name: 'Score', width: 80, align: "left" }, | |||
{ | |||
label: '备注', name: 'Remark', width: 100, align: "left", | |||
edit: { | |||
type: 'input', | |||
} | |||
}, | |||
]; | |||
headDataNoEdit = [ | |||
{ | |||
label: '成绩', name: 'TermEndScore', width: 80, align: "left" | |||
}, | |||
{ label: '最终核定成绩', name: 'Score', width: 80, align: "left" }, | |||
{ | |||
label: '备注', name: 'Remark', width: 100, align: "left" | |||
}, | |||
]; | |||
headDataFinally = headData.concat(headDataNoEdit); | |||
page.initGird(); | |||
page.bind(); | |||
page.bindSelect(); | |||
}, | |||
bind: function () { | |||
//多条件选择 | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 220, 500); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
//查询 | |||
$('#btn_Search').on('click', function () { | |||
refreshGirdData2(); | |||
}); | |||
//设置成绩比例(暂时未使用未修改) | |||
$('#lr_setScale').on('click', function () { | |||
var query = judgeSelect(); | |||
if (query) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/OpenLessonPlan/GetOpenLessonPlanEntityByJson?queryJson=' + JSON.stringify(query), function (data) { | |||
if (data["OpenLessonPlan"] != null) { | |||
if (data["OpenLessonPlan"].IsAllowEdit) { //教务允许成绩录入时编辑比例 | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/OpenLessonPlan/GetStuSelectLessonListEntityByJson?queryJson=' + JSON.stringify(query), function (data) { | |||
if (data["StuSelectLessonList"] != null) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) { | |||
if (data != null) { | |||
if (data.CheckMark == 1) { //学生成绩已审核 | |||
learun.alert.warning("学生成绩已审核!"); | |||
return false; | |||
} else { | |||
learun.layerForm({ | |||
id: 'FormOfClass', | |||
title: '班级成绩比例设置', | |||
url: top.$.rootUrl + '/EducationalAdministration/OpenLessonPlan/FormOfClass?F_SchoolId=' + query.F_SchoolId + '&AcademicYearNo=' + query.AcademicYearNo + '&Semester=' + query.Semester + '&LessonNo=' + query.LessonNo + '&ClassNo=' + query.ClassNo, | |||
width: 600, | |||
height: 400, | |||
callBack: function (id) { | |||
return top[id].acceptClick(refreshGirdData2); | |||
} | |||
}); | |||
} | |||
} else { | |||
learun.alert.warning("学生成绩不存在!"); | |||
return false; | |||
} | |||
}); | |||
} else { | |||
learun.alert.warning("学生选课数据不存在!"); | |||
return false; | |||
} | |||
}); | |||
} else { | |||
learun.alert.warning("教务不允许设置成绩比例!"); | |||
return false; | |||
} | |||
} else { | |||
learun.alert.warning("开课计划不存在!"); | |||
return false; | |||
} | |||
}); | |||
} | |||
}); | |||
// 开始录入 | |||
$('#lr_input').on('click', function () { | |||
//提示弹框 | |||
learun.layerConfirm('录入完成后,请务必点击“提交成绩”按钮,避免成绩丢失!', function (res) { | |||
if (res) { | |||
var query = judgeSelect(); | |||
if (query) { | |||
//判断成绩比例是否合理 | |||
//var OrdinaryScoreScale = $('#OrdinaryScoreScale').html(); | |||
//var TermInScoreScale = $('#TermInScoreScale').html(); | |||
//var TermEndScoreScale = $('#TermEndScoreScale').html(); | |||
//var OtherScoreScale = $('#OtherScoreScale').html(); | |||
//var totalScale = Number(OrdinaryScoreScale) + Number(TermInScoreScale) + Number(TermEndScoreScale) + Number(OtherScoreScale); | |||
//if (totalScale !== 100) { | |||
// learun.alert.warning("成绩比例设置不合理!"); | |||
// return false; | |||
//} else { | |||
//判断是否已审核;判断是否被其他教师占用 | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) { | |||
if (data != null) { | |||
if (data.CheckMark == 1) { | |||
learun.alert.warning("学生成绩已审核!"); | |||
return false; | |||
} | |||
if (data.IsEditable == 0) { | |||
if (data.EditUserId == learun.clientdata.get(['userinfo']).account) { | |||
modifyDate = data.ModifyDate; | |||
} else { | |||
learun.alert.warning("当前班级成绩由账号为" + data.EditUserId + "的教师在使用!"); | |||
return false; | |||
} | |||
} else { | |||
//占用成绩 | |||
learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/StartInputScore', { queryJson: JSON.stringify(query) }, function (res) { }); | |||
} | |||
//显示可编辑列头 | |||
headDataFinally = headData.concat(headDataEdit); | |||
$("#gridtable")[0].dfop = undefined; | |||
page.initGird(); | |||
page.search(query); | |||
//显示“提交成绩”按钮 | |||
$('#lr_save').show(); | |||
//隐藏“开始录入”按钮 | |||
$('#lr_input').hide(); | |||
//显示“倒计时” | |||
$('.timeBox').show(); | |||
$('#minutes').html($('#minutes').attr('data-minutes')); | |||
//开始倒计时 | |||
page.countDown(); | |||
//五分钟提交成绩 | |||
page.submitScore(); | |||
} else { | |||
learun.alert.warning("学生成绩不存在!"); | |||
return false; | |||
} | |||
}); | |||
//} | |||
} | |||
} | |||
}); | |||
}); | |||
//提交成绩 | |||
$('#lr_save').on('click', function () { | |||
var query = judgeSelect(); | |||
if (query) { | |||
//成绩被占用,且是登录用户时,根据编辑时间判断是否是本人; | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) { | |||
if (data != null) { | |||
if (data.CheckMark == 1) { | |||
learun.alert.warning("学生成绩已审核!"); | |||
return false; | |||
} | |||
if (data.IsEditable == 0) { | |||
if (data.EditUserId == learun.clientdata.get(['userinfo']).account) { | |||
if (modifyDate != null && modifyDate != data.ModifyDate) { | |||
learun.alert.warning("当前班级成绩被修改,请重新获取!"); | |||
return false; | |||
} | |||
} else { | |||
learun.alert.warning("当前班级成绩由账号为" + data.EditUserId + "的教师在使用!"); | |||
return false; | |||
} | |||
} else if (data.IsEditable == 1) { | |||
learun.alert.warning("学生成绩已提交!"); | |||
return false; | |||
} | |||
//提交成绩 | |||
var rowdatas = $('#gridtable').jfGridGet('rowdatas'); | |||
learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/SaveInputScore', { data: JSON.stringify(rowdatas) }, function (res) { | |||
if (res.code == 200) { | |||
//提交成绩:取消占用 | |||
learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/SaveInputScoreStatus', { queryJson: JSON.stringify(query) }, function (res) { | |||
if (res.code == 200) { | |||
refreshGirdData2(); | |||
modifyDate = null; | |||
//隐藏“提交成绩”按钮 | |||
$('#lr_save').hide(); | |||
//显示“开始录入”按钮 | |||
$('#lr_input').show(); | |||
//隐藏“倒计时” | |||
$('.timeBox').hide(); | |||
//停止倒计时 | |||
clearInterval(timer); | |||
//停止五分钟提交成绩 | |||
clearInterval(submitScoreTimer); | |||
} else { | |||
learun.alert.warning("提交成绩:取消占用失败!"); | |||
return false; | |||
} | |||
}); | |||
} else { | |||
learun.alert.warning("提交成绩失败!"); | |||
return false; | |||
} | |||
}); | |||
} else { | |||
learun.alert.warning("学生成绩不存在!"); | |||
return false; | |||
} | |||
}); | |||
} | |||
}); | |||
// 审核 | |||
$('#lr_check').on('click', function () { | |||
var query = judgeSelect(); | |||
if (query) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) { | |||
if (data != null) { | |||
if (data.CheckMark == 1) { | |||
learun.alert.warning("学生成绩已审核!"); | |||
return false; | |||
} | |||
learun.layerConfirm('是否确认审核当前班级的学生成绩!', function (res) { | |||
if (res) { | |||
//审核成绩 | |||
learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/DoCheckScore', { queryJson: JSON.stringify(query), checkMark: 1 }, function (res) { | |||
if (res.code == 200) { | |||
refreshGirdData2(); | |||
} else { | |||
learun.alert.warning("审核成绩失败!"); | |||
return false; | |||
} | |||
}); | |||
} | |||
}); | |||
} else { | |||
learun.alert.warning("学生成绩不存在!"); | |||
return false; | |||
} | |||
}); | |||
} | |||
}); | |||
// 去审核 | |||
$('#lr_uncheck').on('click', function () { | |||
var query = judgeSelect(); | |||
if (query) { | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) { | |||
if (data != null) { | |||
if (data.CheckMark != 1) { | |||
learun.alert.warning("学生成绩未审核!"); | |||
return false; | |||
} | |||
learun.layerConfirm('是否确认去审核当前班级的学生成绩!', function (res) { | |||
if (res) { | |||
//去审核成绩 | |||
learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/DoCheckScore', { queryJson: JSON.stringify(query), checkMark: 0 }, function (res) { | |||
if (res.code == 200) { | |||
refreshGirdData2(); | |||
} else { | |||
learun.alert.warning("去审核成绩失败!"); | |||
return false; | |||
} | |||
}); | |||
} | |||
}); | |||
} else { | |||
learun.alert.warning("学生成绩不存在!"); | |||
return false; | |||
} | |||
}); | |||
} | |||
}); | |||
//续时 | |||
$('#addMinutesBtn').on('click', function () { | |||
var query = judgeSelect(); | |||
if (query) { | |||
clearInterval(timer); | |||
var addMinutes = $('#addMinutesBtn').attr('data-minutes'); | |||
var newMinutes = addMinutes; | |||
var minutes = $('#minutes').html(); | |||
if (minutes > 0) { | |||
newMinutes = Number(newMinutes) + Number(minutes); | |||
} | |||
$('#minutes').html(newMinutes); | |||
page.countDown(); | |||
//修改服务时间 | |||
learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/AddMinutes', { queryJson: JSON.stringify(query), minutes: newMinutes }, function (res) { }); | |||
} | |||
}); | |||
//导入更新 | |||
$('#lr_importScore').on('click', function () { | |||
//todo: | |||
}); | |||
}, | |||
bindSelect: function () { | |||
//校区 | |||
$('#F_SchoolId').lrDataSourceSelect({ | |||
code: 'company', value: 'f_companyid', text: 'f_fullname', select: function (item) { } | |||
}); | |||
$('#F_SchoolId').lrselectSet(learun.clientdata.get(['userinfo']).companyId); | |||
//学年 | |||
$('#AcademicYearNo').lrselect({ | |||
placeholder: "学年", | |||
allowSearch: false, | |||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetAcademicYearNoData', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
//学期 | |||
$('#Semester').lrselect({ | |||
placeholder: "学期", | |||
allowSearch: false, | |||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetSemesterData', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
//课程 | |||
$('#LessonNo').lrselect({ | |||
placeholder: "请选择课程", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetLessonNoDataOfAllWithNo', | |||
value: 'value', | |||
text: 'text', | |||
select: function (item) { | |||
if (!!item) { | |||
$("#EmpNo").lrselectRefresh({ | |||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetEmpNoDataOfAll?lessonNo=' + item.value, | |||
value: 'value', | |||
text: 'text', | |||
}); | |||
} | |||
} | |||
}); | |||
//教师 | |||
$('#EmpNo').lrselect({ | |||
placeholder: "请选择教师", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetEmpNoDataOfAll', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
//绑定学年、学期 | |||
$.get('/Home/GetYearAndSemesteResult', function (ref) { | |||
if (ref.code == "200") { | |||
$('#AcademicYearNo').lrselectSet(ref.data.Item1); | |||
$('#Semester').lrselectSet(ref.data.Item3); | |||
} | |||
}.bind(this), "json"); | |||
}, | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetList', | |||
headData: headDataFinally, | |||
mainId: 'ScoreId', | |||
isPage: false, | |||
sidx: 'StuNo', | |||
sord: 'asc' | |||
}); | |||
//page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
}, | |||
searchScale: function (param) { | |||
param = param || {}; | |||
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/OpenLessonPlan/GetStuSelectLessonListEntityByJson?queryJson=' + JSON.stringify(param), function (data) { | |||
if (data["StuSelectLessonList"] != null) { | |||
var ssll = data["StuSelectLessonList"]; | |||
$('#OrdinaryScoreScale').html(ssll.OrdinaryScoreScale > 0 ? ssll.OrdinaryScoreScale : 0); | |||
$('#TermInScoreScale').html(ssll.TermInScoreScale > 0 ? ssll.TermInScoreScale : 0); | |||
$('#TermEndScoreScale').html(ssll.TermEndScoreScale > 0 ? ssll.TermEndScoreScale : 0); | |||
$('#OtherScoreScale').html(ssll.OtherScoreScale > 0 ? ssll.OtherScoreScale : 0); | |||
} else { | |||
$('#OrdinaryScoreScale').html(0); | |||
$('#TermInScoreScale').html(0); | |||
$('#TermEndScoreScale').html(0); | |||
$('#OtherScoreScale').html(0); | |||
} | |||
}); | |||
}, | |||
countDown: function () { | |||
var minutes = $('#minutes').html(); | |||
var minutesTemp = minutes; | |||
var seconds = $('#seconds').attr('data-seconds'); | |||
$('#seconds').html(seconds); | |||
var secondsTemp = seconds; | |||
timer = setInterval(function () { | |||
secondsTemp--; | |||
$('#seconds').html(secondsTemp); | |||
if (secondsTemp == 0) { | |||
secondsTemp = seconds; | |||
minutesTemp--; | |||
$('#minutes').html(minutesTemp); | |||
if (minutesTemp == 0) { | |||
//停止倒计时 | |||
clearInterval(timer); | |||
//自动提交成绩 | |||
$('#lr_save').trigger("click"); | |||
} | |||
} | |||
}, 1000); | |||
}, | |||
submitScore: function () { | |||
submitScoreTimer = setInterval(function () { | |||
var rowdatas = $('#gridtable').jfGridGet('rowdatas'); | |||
learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/SaveInputScore', { data: JSON.stringify(rowdatas) }, function (res) { | |||
}); | |||
}, 300000); | |||
}, | |||
}; | |||
refreshGirdData = function () { | |||
page.search(); | |||
}; | |||
refreshGirdData2 = function () { | |||
var query = judgeSelect(); | |||
if (query) { | |||
//显示不可编辑列头 | |||
headDataFinally = headData.concat(headDataNoEdit); | |||
$("#gridtable")[0].dfop = undefined; | |||
page.initGird(); | |||
page.search(query); | |||
//page.searchScale(query); | |||
} | |||
}; | |||
judgeSelect = function () { | |||
if (CanInputFlag != "True") { | |||
top.learun.layerConfirm('当前时间不是线上成绩录入时间!', function (res) { }); | |||
return false; | |||
} | |||
var $content = $('body').find('.lr-layout-tool-left'); | |||
var query = $content.lrGetFormData(); | |||
if (query.F_SchoolId == null || query.F_SchoolId == "") { | |||
learun.alert.warning("请选择校区!"); | |||
return false; | |||
} | |||
if (query.AcademicYearNo == null || query.AcademicYearNo == "") { | |||
learun.alert.warning("请选择学年!"); | |||
return false; | |||
} | |||
if (query.Semester == null || query.Semester == "") { | |||
learun.alert.warning("请选择学期!"); | |||
return false; | |||
} | |||
if (query.LessonNo == null || query.LessonNo == "") { | |||
learun.alert.warning("请选择课程!"); | |||
return false; | |||
} | |||
if (query.EmpNo == null || query.EmpNo == "") { | |||
learun.alert.warning("请选择教师!"); | |||
return false; | |||
} | |||
return query; | |||
}; | |||
page.init(); | |||
} |
@@ -0,0 +1,38 @@ | |||
@{ | |||
ViewBag.Title = "线上成绩录入监控管理"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<style> | |||
.lr-select { | |||
width: 150px; | |||
} | |||
</style> | |||
<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="AcademicYearNo" type="lrselect" class="lr-select"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<div id="Semester" type="lrselect" class="lr-select"></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_submit" class="btn btn-default"><i class="fa fa-lock"></i> 强制提交</a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StuScoreOnline/Monitor.js") |
@@ -0,0 +1,132 @@ | |||
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn) | |||
* Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
* 创建人:超级管理员 | |||
* 日 期:2019-06-14 11:02 | |||
* 描 述:考试成绩同步 | |||
*/ | |||
var selectedRow; | |||
var refreshGirdData; | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.bind(); | |||
page.initGird(); | |||
}, | |||
bind: function () { | |||
//学年 | |||
$('#AcademicYearNo').lrselect({ | |||
width: '150px', | |||
placeholder: "请选择学年", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetAcademicYearNoData', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
//学期 | |||
$('#Semester').lrselect({ | |||
width: '150px', | |||
placeholder: "请选择学期", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetSemesterData', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
// 查询 | |||
$('#btn_Search').on('click', function () { | |||
page.search({ AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet() }); | |||
}); | |||
// 刷新 | |||
$('#lr_refresh').on('click', function () { | |||
location.reload(); | |||
}); | |||
//强制提交 | |||
$('#lr_submit').on('click', function () { | |||
var keyValue = $('#gridtable').jfGridValue('EmpNo'); | |||
if (learun.checkrow(keyValue)) { | |||
var IsEditable = $('#gridtable').jfGridValue('IsEditable'); | |||
if (IsEditable == "1") { | |||
learun.alert.warning("当前项目无需提交!"); | |||
return; | |||
} | |||
learun.layerConfirm('是否确认提交该项?未保存的成绩将会丢失!', function (res) { | |||
if (res) { | |||
learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/Submit', | |||
{ | |||
AcademicYearNo: $('#gridtable').jfGridValue('AcademicYearNo'), | |||
Semester: $('#gridtable').jfGridValue('Semester'), | |||
LessonNo: $('#gridtable').jfGridValue('LessonNo'), | |||
EmpNo: $('#gridtable').jfGridValue('EmpNo'), | |||
EditUserId: $('#gridtable').jfGridValue('EditUserId'), | |||
}, | |||
function () { | |||
refreshGirdData(); | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
}, | |||
initGird: function () { | |||
$('#gridtable').jfGrid({ | |||
url: top.$.rootUrl + '/EducationalAdministration/StuScoreOnline/GetMonitorList', | |||
headData: [ | |||
{ | |||
label: "录入状态", name: "IsEditable", width: 80, align: "center", | |||
formatter: function (cellvalue) { | |||
return cellvalue == "1" ? "<span class=\"label label-success\">未占用</span>" : "<span class=\"label label-danger\">正在录入</span>"; | |||
} | |||
}, | |||
{ label: '学年', name: 'AcademicYearNo', width: 50, align: "left" }, | |||
{ label: '学期', name: 'Semester', width: 40, align: "left" }, | |||
{ label: '课程编号', name: 'LessonNo', width: 100, align: "left" }, | |||
{ label: '课程名称', name: 'LessonName', width: 150, align: "left" }, | |||
{ label: '代课教师编号', name: 'EmpNo', width: 100, align: "left" }, | |||
{ | |||
label: '代课教师姓名', name: 'EmpNo', width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'TeacherInfo', | |||
key: value, | |||
keyId: 'f_account', | |||
callback: function (_data) { | |||
callback(_data['f_realname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: '占用教师编号', name: 'EditUserId', width: 100, align: "left" }, | |||
{ | |||
label: '占用教师姓名', name: 'EditUserId', width: 100, align: "left", | |||
formatterAsync: function (callback, value, row, op, $cell) { | |||
learun.clientdata.getAsync('custmerData', { | |||
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'TeacherInfo', | |||
key: value, | |||
keyId: 'f_account', | |||
callback: function (_data) { | |||
callback(_data['f_realname']); | |||
} | |||
}); | |||
} | |||
}, | |||
{ label: '开始录入日期', name: 'BeginModifyDate', width: 150, align: "left" }, | |||
{ label: '最后保存日期', name: 'ModifyDate', width: 150, align: "left" }, | |||
], | |||
//mainId: 'ScoreId', | |||
isPage: false | |||
}); | |||
//page.search(); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.AcademicYearNo = $('#AcademicYearNo').lrselectGet(); | |||
param.Semester = $('#Semester').lrselectGet(); | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
} | |||
}; | |||
refreshGirdData = function () { | |||
page.search(); | |||
}; | |||
page.init(); | |||
} |
@@ -340,6 +340,7 @@ | |||
<Compile Include="Areas\AssetManagementSystem\Controllers\Ass_UserChangeInfoController.cs" /> | |||
<Compile Include="Areas\AssetManagementSystem\Controllers\Ass_WarningController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\ElectiveMajorOnlineController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\StuScoreOnlineController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\StuSelectLessonListOfElectiveOnlineController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\YKTStateMentController.cs" /> | |||
<Compile Include="Areas\EducationalAdministration\Controllers\ArrangeLessonSyncController.cs" /> | |||
@@ -1030,6 +1031,8 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\StuScoreNotPass\IndexUnpassOfElective.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuScoreNotPass\InputScoreIndexOfElectiveInTeacher.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuScoreNotPass\InputScoreIndexOfElective.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuScoreOnline\InputScoreIndex.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuScoreOnline\Monitor.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\AuditForm.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\AuditIndex.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\FinishIndex.js" /> | |||
@@ -8214,6 +8217,8 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\QueryStuSelectResultForTeacher.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\LessonInfoOfElectiveOnline\StudentIndex.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuSelectLessonListOfElectiveOnline\InitScoreForm.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuScoreOnline\InputScoreIndex.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuScoreOnline\Monitor.cshtml" /> | |||
<None Include="Properties\PublishProfiles\CustomProfile.pubxml" /> | |||
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" /> | |||
<Content Include="Views\Login\Default-beifen.cshtml" /> | |||
@@ -0,0 +1,29 @@ | |||
using Learun.Application.TwoDevelopment.EducationalAdministration; | |||
using System.Data.Entity.ModelConfiguration; | |||
namespace Learun.Application.Mapping | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 | |||
/// Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2019-06-14 11:02 | |||
/// 描 述:考试成绩同步 | |||
/// </summary> | |||
public class StuScoreOnlineMap : EntityTypeConfiguration<StuScoreOnlineEntity> | |||
{ | |||
public StuScoreOnlineMap() | |||
{ | |||
#region 表、主键 | |||
//表 | |||
this.ToTable("STUSCOREONLINE"); | |||
//主键 | |||
this.HasKey(t => t.ScoreId); | |||
#endregion | |||
#region 配置关系 | |||
#endregion | |||
} | |||
} | |||
} | |||
@@ -112,6 +112,7 @@ | |||
<Compile Include="EducationalAdministration\StuInfoBasicChangeMap.cs" /> | |||
<Compile Include="EducationalAdministration\StuInfoFreshMap.cs" /> | |||
<Compile Include="EducationalAdministration\StuInfoFreshOnlineServiceMap.cs" /> | |||
<Compile Include="EducationalAdministration\StuScoreOnlineMap.cs" /> | |||
<Compile Include="EducationalAdministration\StuScoreNotPassMap.cs" /> | |||
<Compile Include="EducationalAdministration\StuSelectLessonListOfElectiveOnlineMap.cs" /> | |||
<Compile Include="EducationalAdministration\StuSelectLessonListOfElectivePreMap.cs" /> | |||
@@ -0,0 +1,452 @@ | |||
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-06-14 11:02 | |||
/// 描 述:考试成绩同步 | |||
/// </summary> | |||
public class StuScoreOnlineEntity | |||
{ | |||
#region 实体成员 | |||
/// <summary> | |||
/// ScoreId | |||
/// </summary> | |||
/// <returns></returns> | |||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] | |||
[Column("SCOREID")] | |||
public int? ScoreId { get; set; } | |||
/// <summary> | |||
/// 通知书号 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("NOTICEBOOKNO")] | |||
public string NoticeBookNo { get; set; } | |||
/// <summary> | |||
/// 学号 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("STUNO")] | |||
public string StuNo { get; set; } | |||
/// <summary> | |||
/// 学生所在系部 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("DEPTNO")] | |||
public string DeptNo { get; set; } | |||
/// <summary> | |||
/// 学生所在专业号 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("MAJORNO")] | |||
public string MajorNo { get; set; } | |||
/// <summary> | |||
/// 行政班号 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("CLASSNO")] | |||
public string ClassNo { get; set; } | |||
/// <summary> | |||
/// 姓名 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("STUNAME")] | |||
public string StuName { get; set; } | |||
/// <summary> | |||
/// GenderNo | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("GENDERNO")] | |||
public string GenderNo { get; set; } | |||
/// <summary> | |||
/// 学年度 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("ACADEMICYEARNO")] | |||
public string AcademicYearNo { get; set; } | |||
/// <summary> | |||
/// 学期 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("SEMESTER")] | |||
public string Semester { get; set; } | |||
/// <summary> | |||
/// 开课系部码 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("OPENLESSONDEPTNO")] | |||
public string OpenLessonDeptNo { get; set; } | |||
/// <summary> | |||
/// 开课专业码 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("OPENLESSONMAJORNO")] | |||
public string OpenLessonMajorNo { get; set; } | |||
/// <summary> | |||
/// 课程号 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("LESSONNO")] | |||
public string LessonNo { get; set; } | |||
/// <summary> | |||
/// 课程名称 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("LESSONNAME")] | |||
public string LessonName { get; set; } | |||
/// <summary> | |||
/// LessonNameEn | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("LESSONNAMEEN")] | |||
public string LessonNameEn { get; set; } | |||
/// <summary> | |||
/// 教学班号 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("TEACHCLASSNO")] | |||
public string TeachClassNo { get; set; } | |||
/// <summary> | |||
/// 课程类别码 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("LESSONSORTNO")] | |||
public string LessonSortNo { get; set; } | |||
/// <summary> | |||
/// 学生类别 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("STUSORTNO")] | |||
public string StuSortNo { get; set; } | |||
/// <summary> | |||
/// 年级 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("GRADE")] | |||
public string Grade { get; set; } | |||
/// <summary> | |||
/// 学分 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("STUDYSCORE")] | |||
public decimal? StudyScore { get; set; } | |||
/// <summary> | |||
/// 总学时 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("TOTALSTUDYHOUR")] | |||
public decimal? TotalStudyHour { get; set; } | |||
/// <summary> | |||
/// 专业属性 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("ZYSX")] | |||
public string zysx { get; set; } | |||
/// <summary> | |||
/// 考核(试)方式码(关联表BCdTestMode) | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("TESTMODENO")] | |||
public string TestModeNo { get; set; } | |||
/// <summary> | |||
/// ScoreRecordStyleNo | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("SCORERECORDSTYLENO")] | |||
public string ScoreRecordStyleNo { get; set; } | |||
/// <summary> | |||
/// 平时成绩 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("ORDINARYSCORE")] | |||
public decimal? OrdinaryScore { get; set; } | |||
/// <summary> | |||
/// 期中成绩 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("TERMINSCORE")] | |||
public decimal? TermInScore { get; set; } | |||
/// <summary> | |||
/// 期末成绩 学期 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("TERMENDSCORE")] | |||
public decimal? TermEndScore { get; set; } | |||
/// <summary> | |||
/// OtherScore | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("OTHERSCORE")] | |||
public decimal? OtherScore { get; set; } | |||
/// <summary> | |||
/// 总评成绩 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("SCORE")] | |||
public decimal? Score { get; set; } | |||
/// <summary> | |||
/// 绩点 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("SCOREPOINT")] | |||
public decimal? ScorePoint { get; set; } | |||
/// <summary> | |||
/// 考试日期 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("TESTDATE")] | |||
public DateTime? TestDate { get; set; } | |||
/// <summary> | |||
/// 是否有效 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("ISINEFFECT")] | |||
public string IsInEffect { get; set; } | |||
/// <summary> | |||
/// 备注 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("REMARK")] | |||
public string Remark { get; set; } | |||
/// <summary> | |||
/// 冲突课程代码 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("CONFLICTLESSONNO")] | |||
public string ConflictLessonNo { get; set; } | |||
/// <summary> | |||
/// 是否重修成绩 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("ISRESTUDY")] | |||
public string IsReStudy { get; set; } | |||
/// <summary> | |||
/// 审查标志 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("CHECKMARK")] | |||
public string CheckMark { get; set; } | |||
/// <summary> | |||
/// 是否选中 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("ISPITCHON")] | |||
public string IsPitchOn { get; set; } | |||
/// <summary> | |||
/// 教师号 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("EMPNO")] | |||
public string EmpNo { get; set; } | |||
/// <summary> | |||
/// 专业教学计划编码 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("TECHPLANNO")] | |||
public string TechPlanNo { get; set; } | |||
/// <summary> | |||
/// 考试性质码(关联表CdTestKind) | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("TESTKINDNO")] | |||
public string TestKindNo { get; set; } | |||
/// <summary> | |||
/// 课程区别码(此编码针对同一课程编号,同一门课程、不同课时、学分的情况而加,由系统自动产生以区分此类课程) | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("PARTCODE")] | |||
public string PartCode { get; set; } | |||
/// <summary> | |||
/// LessonSection | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("LESSONSECTION")] | |||
public string LessonSection { get; set; } | |||
/// <summary> | |||
/// ClassRoomNo | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("CLASSROOMNO")] | |||
public string ClassRoomNo { get; set; } | |||
/// <summary> | |||
/// ClassRoomName | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("CLASSROOMNAME")] | |||
public string ClassRoomName { get; set; } | |||
/// <summary> | |||
/// IsEditable | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("ISEDITABLE")] | |||
public string IsEditable { get; set; } | |||
/// <summary> | |||
/// EditUserId | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("EDITUSERID")] | |||
public string EditUserId { get; set; } | |||
/// <summary> | |||
/// ModifyDate | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("MODIFYDATE")] | |||
public DateTime? ModifyDate { get; set; } | |||
[Column("BEGINMODIFYDATE")] | |||
public DateTime? BeginModifyDate { get; set; } | |||
/// <summary> | |||
/// ModifyUserId | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("MODIFYUSERID")] | |||
public string ModifyUserId { get; set; } | |||
/// <summary> | |||
/// ModifyUserName | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("MODIFYUSERNAME")] | |||
public string ModifyUserName { get; set; } | |||
/// <summary> | |||
/// 学校主键 | |||
/// </summary> | |||
/// <returns></returns> | |||
[Column("F_SCHOOLID")] | |||
public string F_SchoolId { get; set; } | |||
#endregion | |||
#region 扩展操作 | |||
/// <summary> | |||
/// 新增调用 | |||
/// </summary> | |||
public void Create() | |||
{ | |||
} | |||
/// <summary> | |||
/// 编辑调用 | |||
/// </summary> | |||
/// <param name="keyValue"></param> | |||
public void Modify(int? keyValue) | |||
{ | |||
this.ScoreId = keyValue; | |||
} | |||
#endregion | |||
/// <summary> | |||
/// 学生Id | |||
/// </summary> | |||
[NotMapped] | |||
public string StuId { get; set; } | |||
/// <summary> | |||
/// 课程Id | |||
/// </summary> | |||
[NotMapped] | |||
public string LessonId { get; set; } | |||
/// <summary> | |||
/// 班级名称 | |||
/// </summary> | |||
[NotMapped] | |||
public string ClassName { get; set; } | |||
/// <summary> | |||
/// 班级Id | |||
/// </summary> | |||
[NotMapped] | |||
public string ClassId { get; set; } | |||
/// <summary> | |||
/// 教师姓名 | |||
/// </summary> | |||
[NotMapped] | |||
public string EmpName { get; set; } | |||
/// <summary> | |||
/// 教师主键 | |||
/// </summary> | |||
[NotMapped] | |||
public string EmpId { get; set; } | |||
/// <summary> | |||
/// 补考标识(1:一次补考;2:二次补考) | |||
/// </summary> | |||
[NotMapped] | |||
public int BuKaoFlag { get; set; } | |||
/// <summary> | |||
/// 学生成绩数量 | |||
/// </summary> | |||
[NotMapped] | |||
public int StuScoreOnlineNum { get; set; } | |||
/// <summary> | |||
/// 临时主键 | |||
/// </summary> | |||
[NotMapped] | |||
public string TempId { get; set; } | |||
[NotMapped] | |||
public string DepositBank { get; set; } | |||
[NotMapped] | |||
public string BankCard { get; set; } | |||
[NotMapped] | |||
public string IdCard { get; set; } | |||
[NotMapped] | |||
public string Birthday { get; set; } | |||
[NotMapped] | |||
public string NationalityNo { get; set; } | |||
[NotMapped] | |||
public string PartyFaceNo { get; set; } | |||
/// <summary> | |||
/// 成绩格式化(补)(重)(选修) | |||
/// </summary> | |||
[NotMapped] | |||
public string ScoreFormat { get; set; } | |||
/// <summary> | |||
/// 补考成绩 | |||
/// </summary> | |||
[NotMapped] | |||
public string ScoreOfNotPass { get; set; } | |||
/// <summary> | |||
/// 二次补考成绩 | |||
/// </summary> | |||
[NotMapped] | |||
public string ScoreOfNotPassTwo { get; set; } | |||
/// <summary> | |||
/// 课程类别名称 | |||
/// </summary> | |||
/// <returns></returns> | |||
[NotMapped] | |||
public string LessonSortName { get; set; } | |||
/// <summary> | |||
/// 专业名称 | |||
/// </summary> | |||
[NotMapped] | |||
public string MajorName { get; set; } | |||
/// <summary> | |||
/// 专业排名 | |||
/// </summary> | |||
[NotMapped] | |||
public int RankInMajor { get; set; } | |||
/// <summary> | |||
/// 班级排名 | |||
/// </summary> | |||
[NotMapped] | |||
public int RankInClass { get; set; } | |||
/// <summary> | |||
/// 学习形式 | |||
/// </summary> | |||
[NotMapped] | |||
public string StudyModality { get; set; } | |||
/// <summary> | |||
/// 异动类型 | |||
/// </summary> | |||
[NotMapped] | |||
public string MoveType { get; set; } | |||
} | |||
} | |||
@@ -0,0 +1,261 @@ | |||
using Learun.Util; | |||
using System.Data; | |||
using System.Collections.Generic; | |||
using static Learun.Application.TwoDevelopment.EducationalAdministration.StuScoreOnlineService; | |||
namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
{ | |||
/// <summary> | |||
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 | |||
/// Copyright (c) 2013-2018 北京泉江科技有限公司 | |||
/// 创 建:超级管理员 | |||
/// 日 期:2019-06-14 11:02 | |||
/// 描 述:考试成绩同步 | |||
/// </summary> | |||
public interface StuScoreOnlineIBLL | |||
{ | |||
#region 获取数据 | |||
/// <summary> | |||
/// 获取列表数据 | |||
/// <summary> | |||
/// <returns></returns> | |||
IEnumerable<StuScoreOnlineEntity> GetList(string queryJson); | |||
DataTable GetListForExport(string queryJson); | |||
IEnumerable<StuScoreOnlineEntity> GetMonitorList(string queryJson); | |||
/// <summary> | |||
/// 获取列表分页数据 | |||
/// <param name="pagination">分页参数</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
IEnumerable<StuScoreOnlineEntity> GetPageList(Pagination pagination, string queryJson); | |||
/// <summary> | |||
/// 获取实体数据 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
StuScoreOnlineEntity GetEntity(string keyValue); | |||
/// <summary> | |||
/// 获取列表分页数据 | |||
/// <param name="pagination">分页参数</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
IEnumerable<StuScoreOnlineEntity> GetScoreInputCancelPageList(Pagination pagination, string queryJson); | |||
List<object> GetStuGraduateInfo(string queryJson); | |||
List<object> GetPassInfo(string queryJson); | |||
List<object> GetClassOfMy(); | |||
/// <summary> | |||
/// 获取列表分页数据 | |||
/// <param name="pagination">分页参数</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
StuSelectLessonListEntity GetStuSelectLessonListEntity(StuScoreOnlineEntity entity); | |||
/// <summary> | |||
/// 获取列表数据 | |||
/// <summary> | |||
/// <returns></returns> | |||
StuScoreOnlineEntity GetEntityByJson(string queryJson); | |||
#endregion | |||
#region 提交数据 | |||
/// <summary> | |||
/// 删除实体数据 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
void DeleteEntity(string keyValue); | |||
void SubmitStuScoreOnline(string AcademicYearNo, string Semester, string LessonNo, string EmpNo); | |||
/// <summary> | |||
/// 保存实体数据(新增、修改) | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
void SaveEntity(string keyValue, StuScoreOnlineEntity entity); | |||
#endregion | |||
void DeleteList(); | |||
#region 扩展数据 | |||
/// <summary> | |||
/// 获取学年学期列表 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<WebHelper.YearGrade> GetAcademicAndSemesterList(); | |||
/// <summary> | |||
/// 根据学号获取成绩列表 | |||
/// </summary> | |||
/// <param name="academic"></param> | |||
/// <param name="semester"></param> | |||
/// <param name="stuNo">学号</param> | |||
/// <param name="classNo">班级编号</param> | |||
/// <returns></returns> | |||
ScoreListByStuNoModel GetScoreListByStuNo(string academic, string semester, string stuNo, string classNo); | |||
bool GetAny(); | |||
/// <summary> | |||
/// 获取一次补考名单数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<StuScoreOnlineEntity> GetStuScoreOnlineNotPassList(); | |||
/// <summary> | |||
/// 获取二次补考名单数据 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<StuScoreOnlineEntity> GetStuScoreOnlineNotPassTwoList(); | |||
/// <summary> | |||
/// 获取班级成绩初始化信息 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<StuScoreOnlineEntity> GetPageListAboutClass(Pagination pagination, string queryJson); | |||
/// <summary> | |||
/// 班级学生成绩初始化 | |||
/// </summary> | |||
/// <returns></returns> | |||
void DoInitAboutClass(string academicYearNo, string semester, string classNo); | |||
/// <summary> | |||
/// 学年下拉框信息【班级成绩查看】 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<WebHelper.YearGrade> GetAcademicYearNoData(); | |||
/// <summary> | |||
/// 班级下拉框信息【班级成绩查看】 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<WebHelper.YearGrade> GetClassNoData(string userAccount, string userType, string lessonNo); | |||
IEnumerable<WebHelper.YearGrade> GetClassNoDataForInput(string userAccount, string userType, string lessonNo, string academicYearShort, string semester); | |||
/// <summary> | |||
/// 教师下拉框信息【学生成绩录入可去审核】 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<WebHelper.YearGrade> GetEmpNoData(string userAccount, string userType, string lessonNo); | |||
/// <summary> | |||
/// 课程下拉框信息【学生成绩录入可去审核】 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<WebHelper.YearGrade> GetLessonNoDataOfAll(string userAccount, string userType, string AcademicYearNo = "", string Semester = ""); | |||
/// <summary> | |||
/// 课程下拉框信息【选修课】 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<WebHelper.YearGrade> GetElectiveLessonNoDataOfAll(string userAccount, string userType, string AcademicYearNo = "", string Semester = ""); | |||
/// <summary> | |||
/// 教室下拉框信息【选修课】 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<WebHelper.YearGrade> GetElectiveClassRoomNoData(string userAccount, string userType, string lessonNo); | |||
/// <summary> | |||
/// 节次下拉框信息【选修课】 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<WebHelper.YearGrade> GetElectiveLessonSectionData(string userAccount, string userType, string classRoomNo); | |||
/// <summary> | |||
/// 课程信息【班级成绩查看】 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<WebHelper.YearGrade> GetLessonNoData(string academicYearNo, string semester, string classNo); | |||
/// <summary> | |||
/// 获取班级成绩列表 | |||
/// <summary> | |||
/// <returns></returns> | |||
IEnumerable<StuScoreOnlineEntity> GetScoreListByClassNo(string queryJson); | |||
IEnumerable<StuScoreOnlineEntity> GetScoreListByClassNoForScholarship(string queryJson); | |||
/// <summary> | |||
/// 获取学生成绩 | |||
/// </summary> | |||
/// <param name="queryJson"></param> | |||
/// <returns></returns> | |||
IEnumerable<StuScoreOnlineEntity> GetScoreListByStuNo(string queryJson); | |||
/// <summary> | |||
/// 根据学号/姓名获取学生成绩列表 | |||
/// </summary> | |||
/// <param name="queryJson"></param> | |||
/// <returns></returns> | |||
IEnumerable<StuScoreOnlineEntity> GetScoreListByStuInfo(string queryJson); | |||
/// <summary> | |||
/// 获取个人成绩列表 | |||
/// <summary> | |||
/// <returns></returns> | |||
IEnumerable<StuScoreOnlineEntity> GetAllScoreListByStuNo(string stuNo); | |||
object GetScoreCharts(string academicYearNo, string semester, string classNo, string lessonNo); | |||
void UpEmpNos(string xn, string xq, string classNo, string LessonNo, string EmpNo, string HisEmpNo, string Grade); | |||
/// <summary> | |||
/// 审核学生成绩 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
void CheckStuScoreOnline(string keyValue); | |||
/// <summary> | |||
/// 去审核学生成绩 | |||
/// <param name="keyValue">主键</param> | |||
/// <summary> | |||
/// <returns></returns> | |||
void UnCheckStuScoreOnline(string keyValue); | |||
List<StuScoreOnlineEntity> GetScoreInfo(string queryJson); | |||
/// <summary> | |||
/// 获取个人补考成绩 | |||
/// <summary> | |||
/// <returns></returns> | |||
StuScoreOnlineEntity GetScoreNotPassByEntity(StuScoreOnlineEntity entity); | |||
/// <summary> | |||
/// 获取个人二次补考成绩 | |||
/// <summary> | |||
/// <returns></returns> | |||
StuScoreOnlineEntity GetScoreNotPassTwoByEntity(StuScoreOnlineEntity entity); | |||
/// <summary> | |||
/// 开始录入:占用成绩 | |||
/// <summary> | |||
/// <returns></returns> | |||
void StartInputScore(string queryJson); | |||
/// <summary> | |||
/// 提交成绩 | |||
/// <summary> | |||
/// <returns></returns> | |||
void SaveInputScore(List<StuScoreOnlineEntity> list); | |||
/// <summary> | |||
/// 提交成绩:取消占用 | |||
/// <summary> | |||
/// <returns></returns> | |||
void SaveInputScoreStatus(string queryJson); | |||
/// <summary> | |||
/// 提交成绩:取消占用【服务】 | |||
/// <summary> | |||
/// <returns></returns> | |||
void SaveInputScoreStatus2(string queryJson, string name); | |||
/// <summary> | |||
/// 审核成绩 | |||
/// </summary> | |||
/// <param name="queryJson"></param> | |||
/// <param name="checkMark">已审核:1;未审核:0;</param> | |||
void DoCheckScore(string queryJson, int checkMark); | |||
(DataTable failDt, int snum, int fnum) ExecuteImportExcel(int type, DataTable dt, string fileGuid, string queryJson); | |||
#endregion | |||
IEnumerable<WebHelper.YearGrade> GetLessonNoDataFromStuNo(string academicYearNo, string semester, string stuNo); | |||
} | |||
} |
@@ -96,6 +96,10 @@ | |||
<Compile Include="EducationalAdministration\ElectiveMajorOnline\ElectiveMajorOnlineIBLL.cs" /> | |||
<Compile Include="EducationalAdministration\ElectiveMajorOnline\ElectiveMajorOnlineService.cs" /> | |||
<Compile Include="EducationalAdministration\SignUpOnlineHelper.cs" /> | |||
<Compile Include="EducationalAdministration\StuScoreOnline\StuScoreOnlineBLL.cs" /> | |||
<Compile Include="EducationalAdministration\StuScoreOnline\StuScoreOnlineEntity.cs" /> | |||
<Compile Include="EducationalAdministration\StuScoreOnline\StuScoreOnlineIBLL.cs" /> | |||
<Compile Include="EducationalAdministration\StuScoreOnline\StuScoreOnlineService.cs" /> | |||
<Compile Include="EducationalAdministration\StuSelectLessonListOfElectiveOnline\StuSelectLessonListOfElectiveOnlineBLL.cs" /> | |||
<Compile Include="EducationalAdministration\StuSelectLessonListOfElectiveOnline\StuSelectLessonListOfElectiveOnlineEntity.cs" /> | |||
<Compile Include="EducationalAdministration\StuSelectLessonListOfElectiveOnline\StuSelectLessonListOfElectiveOnlineIBLL.cs" /> | |||