Przeglądaj źródła

排考

娄底高职分支
王晓寒 1 miesiąc temu
rodzic
commit
ed03295770
17 zmienionych plików z 1776 dodań i 56 usunięć
  1. +152
    -6
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/Exam_ArrangeExamTermNewController.cs
  2. +52
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/IndexClassRoom.cshtml
  3. +154
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/IndexClassRoom.js
  4. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/IndexForClass.cshtml
  5. +11
    -5
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/IndexForClass.js
  6. +6
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/IndexItem.cshtml
  7. +87
    -22
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/IndexItem.js
  8. +115
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/SeatForm.cshtml
  9. +54
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/TeachingQualityIndex.cshtml
  10. +324
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/TeachingQualityIndex.js
  11. +65
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/TeachingQualityPrint.cshtml
  12. +364
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/TeachingQualityPrint.js
  13. +8
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj
  14. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/system.config
  15. +112
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ArrangeExamTermNew/Exam_ArrangeExamTermNewBLL.cs
  16. +21
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ArrangeExamTermNew/Exam_ArrangeExamTermNewIBLL.cs
  17. +249
    -14
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ArrangeExamTermNew/Exam_ArrangeExamTermNewService.cs

+ 152
- 6
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/Exam_ArrangeExamTermNewController.cs Wyświetl plik

@@ -3,6 +3,8 @@ using System.Data;
using Learun.Application.TwoDevelopment.EducationalAdministration;
using System.Web.Mvc;
using System.Collections.Generic;
using System.Linq;
using System;

namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
{
@@ -16,6 +18,8 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
public class Exam_ArrangeExamTermNewController : MvcControllerBase
{
private Exam_ArrangeExamTermNewIBLL exam_ArrangeExamTermNewIBLL = new Exam_ArrangeExamTermNewBLL();
private Exam_ExamRoomIBLL exam_ExamRoomIBLL = new Exam_ExamRoomBLL();
private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();

#region 视图功能

@@ -26,7 +30,7 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
[HttpGet]
public ActionResult Index()
{
return View();
return View();
}
/// <summary>
/// 表单页
@@ -35,7 +39,7 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
[HttpGet]
public ActionResult Form()
{
return View();
return View();
}
/// <summary>
/// 表单页
@@ -51,6 +55,44 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
{
return View();
}

/// <summary>
/// 表单页
/// <summary>
/// <returns></returns>
public ActionResult SeatForm()
{
return View();
}

/// <summary>
/// 场次安排
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult IndexClassRoom()
{
return View();
}

/// <summary>
///
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult TeachingQualityIndex()
{
return View();
}
/// <summary>
///
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult TeachingQualityPrint()
{
return View();
}
#endregion

#region 获取数据
@@ -69,14 +111,23 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
};
return Success(jsonData);
}
[HttpGet]
public ActionResult GetClassTree()
{
return Success(exam_ArrangeExamTermNewIBLL.GetClassTree());
}
/// <summary>
/// 考场数据
/// </summary>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetClassRoomTree(string AcademicYearNo, string Semester)
{
return Success(exam_ArrangeExamTermNewIBLL.GetClassRoomTree(AcademicYearNo, Semester));
}
[HttpGet]
public ActionResult GetItemPageList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject<Pagination>();
@@ -90,6 +141,33 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
};
return Success(jsonData);
}

/// <summary>
/// 教学质量监测
/// </summary>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetLessonList(string academicYearNo, string semester, string classNo)
{
var data = exam_ArrangeExamTermNewIBLL.GetLessonList(academicYearNo, semester, classNo).OrderBy(x => x.value);
return Success(data);
}
public ActionResult GetTeachingQualityPageList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject<Pagination>();
var data = exam_ArrangeExamTermNewIBLL.GetTeachingQualityPageList(paginationobj, queryJson);

var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records,
};
return Success(jsonData);
}

/// <summary>
/// 获取页面显示列表数据
/// </summary>
@@ -120,12 +198,74 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
[AjaxOnly]
public ActionResult GetFormData(string keyValue)
{
var ArrangeExamTermNewData = exam_ArrangeExamTermNewIBLL.GetExam_ArrangeExamTermNewEntity( keyValue );
var jsonData = new {
var ArrangeExamTermNewData = exam_ArrangeExamTermNewIBLL.GetExam_ArrangeExamTermNewEntity(keyValue);
var jsonData = new
{
ArrangeExamTermNew = ArrangeExamTermNewData,
};
return Success(jsonData);
}

/// <summary>
///
/// </summary>
/// <param name="ClassRoomNo"></param>
/// <param name="AcademicYearNo"></param>
/// <param name="Semester"></param>
/// <returns></returns>
public ActionResult GetSeatData(string ClassRoomNo, string AcademicYearNo, int? Semester, string LessonNo, string EmpNo, string ExamDate, string ExamTime)
{
var data = exam_ExamRoomIBLL.GetEntityByClassroomNo(ClassRoomNo, AcademicYearNo, Semester);
var studata = exam_ArrangeExamTermNewIBLL.GetStuList(AcademicYearNo, Semester, ClassRoomNo, LessonNo, EmpNo, ExamDate, ExamTime).OrderBy(x => x.SitNumber);
var StuList = new List<EaxmStuList>();
var EaxmStartTime = "";
var EaxmEndTime = "";
var teach = "";
foreach (var item in studata)
{
var list = new EaxmStuList
{
SitNumber = item.SitNumber,
StuName = item.StuName,
StuNo = item.StuNo
};
StuList.Add(list);
var times = item.ExamTime.Split('-');
for (int i = 0; i < times.Count(); i++)
{
if (i == 0)
{
EaxmStartTime = item.ExamDate.Value.ToString("yyyy-MM-dd") + " " + times[i] + " ~ ";
}
else
{
EaxmEndTime = item.ExamDate.Value.ToString("yyyy-MM-dd") + " " + times[i];
}
}
teach = item.EmpName;
}
var dataOne = new { tClassroomName = data.ClassroomName, AcademicYearNo, Semester, data.SeatRows, data.SeatColumns, teach, EaxmStartTime, EaxmEndTime };
var result = new { dataOne, StuList };
return Success(result);
}


[HttpGet]
[AjaxOnly]
public ActionResult GetScreeningPlan(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject<Pagination>();
var data = exam_ArrangeExamTermNewIBLL.ScreeningPlan(paginationobj, queryJson);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}

#endregion

#region 提交数据
@@ -154,7 +294,7 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
public ActionResult SaveForm(string keyValue, string strEntity)
{
Exam_ArrangeExamTermNewEntity entity = strEntity.ToObject<Exam_ArrangeExamTermNewEntity>();
exam_ArrangeExamTermNewIBLL.SaveEntity(keyValue,entity);
exam_ArrangeExamTermNewIBLL.SaveEntity(keyValue, entity);
if (string.IsNullOrEmpty(keyValue))
{
}
@@ -162,5 +302,11 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
}
#endregion

public class EaxmStuList
{
public string StuName { get; set; }
public string StuNo { get; set; }
public string SitNumber { get; set; }
}
}
}

+ 52
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/IndexClassRoom.cshtml Wyświetl plik

@@ -0,0 +1,52 @@
@{
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">
<div id="multiple_condition_query">
<div class="lr-query-formcontent">
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">学年</div>
<div id="AcademicYearNo"></div>
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">学期</div>
<div id="Semester"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">课程</div>
<div id="LessonNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">监考老师</div>
<div id="EmpNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">考场</div>
<div id="ClassRoomNo"></div>
</div>
</div>
</div>
</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>
<a id="lr_view" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;查看</a>
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>&nbsp;打印</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/IndexClassRoom.js")

+ 154
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/IndexClassRoom.js Wyświetl plik

@@ -0,0 +1,154 @@
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
* 创建人:超级管理员
* 日 期:2022-04-22 16:00
* 描 述:排考安排
*/
var refreshGirdData;
var bootstrap = function ($, learun) {
"use strict";
var logbegin = '';
var logend = '';
var page = {
init: function () {
page.initGird();
page.bind();
},
bind: function () {
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
page.search(queryJson);
}, 220, 400);
$('#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,
// 默认
selectfn: function (begin, end) {
logbegin = begin;
logend = end;

page.search();
}
});
$('#AcademicYearNo').lrselect({
placeholder: "学年",
allowSearch: false,
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetAcademicYearNo',
value: 'value',
text: 'text'
});
//学期
$('#Semester').lrselect({
placeholder: "学期",
allowSearch: false,
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetSemester',
value: 'value',
text: 'text'
});
$('#EmpNo').lrDataSourceSelect({ code: 'teacheruserdata', value: 'f_encode', text: 'f_realname' });
$('#LessonNo').lrDataSourceSelect({ code: 'LessonInfo', value: 'lessonno', text: 'lessonname' });
$('#ClassRoomNo').lrselect({
placeholder: "课程",
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree',
value: 'value',
text: 'text'
});
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
$('#lr_view').on('click', function () {
var AcademicYearNo = $('#gridtable').jfGridValue('AcademicYearNo');
var Semester = $('#gridtable').jfGridValue('Semester');
var ClassRoomNo = $('#gridtable').jfGridValue('ClassroomNo');
var LessonNo = $('#gridtable').jfGridValue('LessonNo');
var EmpNo = $('#gridtable').jfGridValue('EmpNo');
var ExamDate = $('#gridtable').jfGridValue('ExamDate');
ExamDate = learun.formatDate(ExamDate, "yyyy-MM-dd");
var ExamTime = $('#gridtable').jfGridValue('ExamTime');
if (learun.checkrow(ClassRoomNo)) {
learun.layerForm({
id: 'SeatForm',
title: '排考座位表',
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/SeatForm?' + $.param({
AcademicYearNo, Semester, ClassRoomNo, LessonNo, EmpNo, ExamDate, ExamTime
}),
width: 1200,
height: 800,
btn: null
});
}
});
// 打印
$('#lr_print').on('click', function () {
$('#gridtable').jqprintTable();
});
},
// 初始化列表
initGird: function () {
$('#gridtable').lrAuthorizeJfGridLei({
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetScreeningPlan',
headData: [
{ label: "学年", name: "AcademicYearNo", width: 100, align: "left" },
{ label: "学期", name: "Semester", width: 100, align: "left" },
{
label: "专业", name: "TeachMajorNo", width: 160, 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: "ClassroomNo", width: 100, align: "left" },
{ label: "考场名称", name: "ClassroomName", width: 100, align: "left" },
{ label: "科目编号", name: "LessonNo", width: 100, align: "left" },
{ label: "科目名称", name: "LessonName", width: 100, align: "left" },
{
label: "考试日期", name: "ExamDate", width: 100, align: "left",
formatter: function (cellvalue) {
return learun.formatDate(cellvalue, 'yyyy-MM-dd');
}
},
{ label: "考试时间", name: "ExamTime", width: 100, align: "left" },
{ label: "考场人数", name: "ClassRoomNum", width: 100, align: "left" },
{ label: "监考老师名称", name: "EmpName", width: 200, align: "left" },
{ label: "监考老师编号", name: "EmpNo", width: 200, align: "left", ishide: true },
{ label: "起止考号", name: "kh", width: 100, align: "left", ishide: true },
],
//mainId: 'EPIId',
isPage: true,
sidx: 'AcademicYearNo desc,Semester desc,examtime desc,TeachMajorNo desc,examdate desc,lessonno desc,classroomname desc',
});
page.search();
},
search: function (param) {
param = param || {};
param.StartTime = logbegin;
param.EndTime = logend;
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {
$('#gridtable').jfGridSet('reload');
};
page.init();
}

+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/IndexForClass.cshtml Wyświetl plik

@@ -41,6 +41,7 @@
<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>
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>&nbsp;打印</a>
</div>
</div>
</div>


+ 11
- 5
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/IndexForClass.js Wyświetl plik

@@ -23,7 +23,7 @@ var bootstrap = function ($, learun) {
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassTree',
nodeClick: function (item) {
ClassNo = item.id;
page.search({ ClassNo: item.id });
page.search({ ClassNo: item.id, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), ClassRoomNo: $('#ClassRoomNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() });
}
});
$('.datetime').each(function () {
@@ -89,6 +89,10 @@ var bootstrap = function ($, learun) {
$('#LessonNo').lrDataSourceSelect({ code: 'LessonInfo', value: 'lessonno', text: 'lessonname', placeholder: '请选择课程' });
$('#ClassRoomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname', placeholder: '请选择教室' });
$('#EmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname', placeholder: '请选择教师' });
// 打印
$('#lr_print').on('click', function () {
$('#gridtable').jqprintTable();
});
},
initGird: function () {
$('#gridtable').jfGrid({
@@ -96,9 +100,11 @@ var bootstrap = function ($, learun) {
headData: [
{ label: '学年', name: 'AcademicYearNo', width: 70, align: "left" },
{ label: '学期', name: 'Semester', width: 60, align: "left" },
{ label: '考试日期', name: 'ExamDate', width: 100, align: "left", formatter: function (v) {
return learun.formatDate(v, "yyyy-MM-dd");
} },
{
label: '考试日期', name: 'ExamDate', width: 100, align: "left", formatter: function (v) {
return learun.formatDate(v, "yyyy-MM-dd");
}
},
{ label: '考试时间', name: 'ExamTime', width: 120, align: "left" },
{ label: '课程编号', name: 'LessonNo', width: 100, align: "left" },
{ label: '课程名称', name: 'LessonName', width: 200, align: "left" },
@@ -112,7 +118,7 @@ var bootstrap = function ($, learun) {
],
mainId: 'AETId',
sidx: 'examdate,examtime,lessonno,classroomname ',
sord:'asc',
sord: 'asc',
isPage: true
});
page.search();


+ 6
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/IndexItem.cshtml Wyświetl plik

@@ -5,14 +5,14 @@
<div class="lr-layout lr-layout-left-center">
<div class="lr-layout-left">
<div class="lr-layout-wrap">
<div class="lr-layout-title lrlt ">班级信息</div>
<div class="lr-layout-title lrlt ">考场信息</div>
<div id="dataTree" class="lr-layout-body"></div>
</div>
</div>
<div class="lr-layout-center">
<div class="lr-layout-wrap">
<div class="lr-layout-title">
<span id="titleinfo" class="lrlt">班级信息</span>
<span id="titleinfo" class="lrlt">考场信息</span>
</div>
<div class="lr-layout-tool">
<div class="lr-layout-tool-left">
@@ -25,9 +25,9 @@
<div class="lr-layout-tool-item">
<div id="LessonNo" type="lrselect" class="lr-select" style="width: 200px;"></div>
</div>
<div class="lr-layout-tool-item">
@*<div class="lr-layout-tool-item">
<div id="ClassRoomNo" type="lrselect" class="lr-select" style="width: 200px;"></div>
</div>
</div>*@
<div class="lr-layout-tool-item">
<div id="EmpNo" type="lrselect" class="lr-select" style="width: 200px;"></div>
</div>
@@ -41,6 +41,8 @@
<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>
@*<a id="lr_view" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;查看</a>*@
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>&nbsp;打印</a>
</div>
</div>
</div>


+ 87
- 22
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/IndexItem.js Wyświetl plik

@@ -11,7 +11,9 @@ var bootstrap = function ($, learun) {
"use strict";
var datebegin = '';
var dateend = '';
var ClassNo = '';
//var ClassNo = '';
var ClassRoomNo = '';

var page = {
init: function () {
page.initGird();
@@ -20,10 +22,11 @@ var bootstrap = function ($, learun) {
bind: function () {
// 初始化左侧树形数据
$('#dataTree').lrtree({
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassTree',
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree',
nodeClick: function (item) {
ClassNo = item.id;
page.search({ ClassNo: item.id });
ClassRoomNo = item.id;
page.search({ ClassRoomNo: item.id, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() });
$('#titleinfo').html(item.text);
}
});
$('.datetime').each(function () {
@@ -56,7 +59,7 @@ var bootstrap = function ($, learun) {
});
// 查询
$('#btn_Search').on('click', function () {
page.search({ ClassNo: ClassNo, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), ClassRoomNo: $('#ClassRoomNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() });
page.search({ ClassRoomNo: ClassRoomNo, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() });
});
// 刷新
$('#lr_refresh').on('click', function () {
@@ -78,30 +81,93 @@ var bootstrap = function ($, learun) {
value: 'value',
text: 'text'
});
//课程
//$('#LessonNo').lrselect({
// placeholder: "请选择课程",
// allowSearch: true,
// url: top.$.rootUrl + '/EducationalAdministration/StuScore/GetLessonNoDataOfAllWithNo',
// value: 'value',
// text: 'text'
//});

$('#AcademicYearNo').bind('change', function () {
ClassRoomNo= ''
var AcademicYearNo = '';
var Semester = '';
if ($('#AcademicYearNo').lrselectGet()) {
AcademicYearNo = $('#AcademicYearNo').lrselectGet()
}
if ($('#Semester').lrselectGet()) {
var Semester = $('#Semester').lrselectGet();
}
if (Semester != '' && AcademicYearNo != '') {
$('#dataTree').lrtree({
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree?AcademicYearNo = ' + AcademicYearNo + ' &Semester=' + Semester,
nodeClick: function (item) {
ClassRoomNo = item.value;
page.search({ ClassRoomNo: item.value, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() });
}
});
}
});
$('#Semester').bind('change', function () {
ClassRoomNo = ''
var AcademicYearNo = '';
var Semester = '';
if ($('#AcademicYearNo').lrselectGet()) {
AcademicYearNo = $('#AcademicYearNo').lrselectGet()
}
if ($('#Semester').lrselectGet()) {
var Semester = $('#Semester').lrselectGet();
}
if (Semester != '' && AcademicYearNo != '') {
$('#dataTree').lrtree({
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree?AcademicYearNo = ' + AcademicYearNo + ' &Semester=' + Semester,
nodeClick: function (item) {
ClassRoomNo = item.value;
page.search({ ClassRoomNo: item.value, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() });
}
});
}
});

$('#LessonNo').lrDataSourceSelect({ code: 'LessonInfo', value: 'lessonno', text: 'lessonname', placeholder: '请选择课程' });
$('#ClassRoomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname', placeholder: '请选择教室' });
$('#EmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname', placeholder: '请选择教师' });
$('#lr_view').on('click', function () {
var AcademicYearNo = $('#AcademicYearNo').lrselectGet() || '';
var Semester = $('#Semester').lrselectGet() || '';
var LessonNo = $('#LessonNo').lrselectGet() || '';
if (AcademicYearNo == '' && Semester == '' || LessonNo == '' ) {
learun.alert.warning("请选择学年,学期以及课程");
return;
}
if (!ClassRoomNo) {
learun.alert.warning("请选择考场");
return;
}
learun.layerForm({
id: 'SeatForm',
title: '排考座位表',
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/SeatForm?' + $.param({ ClassRoomNo, AcademicYearNo, Semester, LessonNo }),
width: 1200,
height: 800,
btn: null
});
});
// 打印
$('#lr_print').on('click', function () {
$('#gridtable').jqprintTable();
});
},
initGird: function () {
$('#gridtable').jfGrid({
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetItemPageList',
headData: [
{ label: '学年', name: 'AcademicYearNo', width: 70, align: "left" },
{ label: '学期', name: 'Semester', width: 60, align: "left" },
{ label: '学年', name: 'AcademicYearNo', width: 60, align: "left" },
{ label: '学期', name: 'Semester', width: 50, align: "left" },
{ label: '学生编号', name: 'StuNo', width: 130, align: "left" },
{ label: '学生姓名', name: 'StuName', width: 100, align: "left" },
{ label: '学籍号', name: 'StuCode', width: 130, align: "left" },
{
label: '考试日期', name: 'ExamDate', width: 100, align: "left", formatter: function (v) {
label: '考试日期', name: 'ExamDate', width: 90, align: "left",
formatter: function (v) {
return learun.formatDate(v, "yyyy-MM-dd");
}
},
{ label: '考试时间', name: 'ExamTime', width: 120, align: "left" },
{ label: '考试时间', name: 'ExamTime', width: 90, align: "left" },
{ label: '课程编号', name: 'LessonNo', width: 100, align: "left" },
{ label: '课程名称', name: 'LessonName', width: 200, align: "left" },
{ label: '监考教师编号', name: 'EmpNo', width: 150, align: "left" },
@@ -109,12 +175,11 @@ var bootstrap = function ($, learun) {
{ label: '教室编号', name: 'ClassroomNo', width: 100, align: "left" },
{ label: '教室名称', name: 'ClassroomName', width: 100, align: "left" },
{ label: '班级名称', name: 'ClassName', width: 100, align: "left" },
{ label: '学生编号', name: 'StuNo', width: 100, align: "left" },
{ label: '学生姓名', name: 'StuName', width: 200, align: "left" },
{ label: '座位编号', name: 'SitNumber', width: 100, aligndd: "left" }
{ label: '座位编号', name: 'SitNumber', width: 80, aligndd: "left" },
{ label: '考号', name: 'kh', width: 140, align: "left", ishide: true },
],
mainId: 'AETId',
sidx: 'ExamDate asc, LessonNo asc,ClassRoomNo asc,ClassNo asc,SitNumber asc',
sidx: ' AcademicYearNo desc,Semester desc,ExamDate desc, LessonNo desc,ClassRoomNo desc,ClassRoomNo desc,SitNumber asc ',
isPage: true
});
page.search();
@@ -123,7 +188,7 @@ var bootstrap = function ($, learun) {
param = param || {};
param.StartTime = datebegin;
param.EndTime = dateend;
console.log(param);
param.ClassRoomNo = ClassRoomNo;
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};


+ 115
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/SeatForm.cshtml Wyświetl plik

@@ -0,0 +1,115 @@
@{
ViewBag.Title = "考场信息-查看";
Layout = "~/Views/Shared/_Index.cshtml";
}
<link href="~/Content/css/UserCenter/user.css" rel="stylesheet" />
<div id="app" style="padding:20px;">
<div class="title" style="font-size:18px;color:#333;lineHeight:50px;textAlign:center;position:relative;">
{{dataOne.tClassroomName}}排考座位表
<div class="btn btn-primary no-print" style="position:absolute;right:0;top:6px" v-on:click="printClick">打 印</div>
</div>
<div class="desc" style="display:flex;justifyContent:space-between;color:#666;padding:10px;">
<span>监考老师:{{dataOne.teach}}</span>
<span>考试时间:{{dataOne.EaxmStartTime}}{{dataOne.EaxmEndTime}}</span>
</div>
<ul class="StuList" style="overflow:scroll;height:600px">
<li v-for="item in StuList" :key="item.SitNumber" :style="{width:width,float:'left',padding:'36px 10px',height:'58px',textAlign:'center'}">
<div class="content" style="border:1px solid #ccc;padding:6px;">
<div>{{item.StuName}}</div>
{{item.SitNumber}}
</div>
</li>
</ul>
<div style="color:#333;font-size:14px;text-align:center;line-height:80px" v-if="isEmpty">暂无数据</div>
</div>
<script>
var vm = new Vue({
el: "#app",
data() {
return {
StuList: [],
dataOne: {},
StuListColumns: [],
width: '10%',
isEmpty: false,
}
},
created() {
this.getData()
},
methods: {
getData: function () {
$.ajax({
url: '/EducationalAdministration/Exam_ArrangeExamTermNew/GetSeatData',
data: {
ClassRoomNo: request('ClassRoomNo'), AcademicYearNo: request('AcademicYearNo'), Semester: request('Semester'), LessonNo: request('LessonNo'), EmpNo: request('EmpNo'), ExamDate: request('ExamDate'), ExamTime: request('ExamTime')
},
type: "Post",
dataType: "json",
async: true,
cache: false,
success: (res) => {
if (res.code == 200) {
this.StuList = res.data.StuList || []
this.dataOne = res.data.dataOne || {}
if (!this.StuList.length) {
this.isEmpty = true
return
}
this.width = 100 / this.dataOne.SeatColumns + '%'
//1列:[],2:[]
let data = {}
//计算出多少行
let rows = Math.ceil(res.data.StuList.length / this.dataOne.SeatColumns);
if (rows == 1) return
//最后一行个数(行全的列数)
let lastRow = res.data.StuList.length % this.dataOne.SeatColumns
lastRow = lastRow || this.dataOne.SeatColumns
//不缺一行的列数据总个数
let wholeItems = rows * lastRow
let colCurrent = 1
this.StuList.forEach((e, i) => {
if (i + 1 <= wholeItems) {
colCurrent = Math.ceil((i + 1) / rows)
colCurrent = colCurrent || 1
if (!data[colCurrent]) data[colCurrent] = []
data[colCurrent].push(e)
} else {
let colCurrent_ = Math.ceil((i + 1 - wholeItems) / (rows-1))
colCurrent_ = colCurrent_ || 1
if (!data[colCurrent_ + colCurrent]) data[colCurrent_ + colCurrent] = []
data[colCurrent_ + colCurrent].push(e)
}
})
let arr = []
for (let i = 0; i < rows; i++) {
Object.values(data).forEach(e => {
if (e[i]) {
arr.push(e[i])
}
})
}
this.StuList = arr
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
},
beforeSend: function () {
},

complete: function () {
}
})
},
printClick() {
$('.btn').css('display', 'none')
$('.StuList').css('overflow', 'unset')
$('.StuList').css('height', 'auto')
$('#app').jqprint({ noPrintSelector: ".no-print", })
$('.StuList').css('height', '600px')
$('.StuList').css('overflow', 'scroll')
$('.btn').css('display', 'block')
}
},
})
</script>

+ 54
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/TeachingQualityIndex.cshtml Wyświetl plik

@@ -0,0 +1,54 @@
@{
/**/

ViewBag.Title = "排考2021新";
Layout = "~/Views/Shared/_Index.cshtml";
}
<div class="lr-layout lr-layout-left-center">
<div class="lr-layout-left">
<div class="lr-layout-wrap">
<div class="lr-layout-title lrlt ">考场信息</div>
<div id="dataTree" class="lr-layout-body"></div>
</div>
</div>
<div class="lr-layout-center">
<div class="lr-layout-wrap">
<div class="lr-layout-title">
<span id="titleinfo" class="lrlt">考场信息</span>
</div>
<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 lr-selectLittle" style="width: 80px;"></div>
</div>
<div class="lr-layout-tool-item">
<div id="Semester" type="lrselect" class="lr-select lr-selectLittle" style="width: 80px;"></div>
</div>
<div class="lr-layout-tool-item">
<div id="LessonNo" type="lrselect" class="lr-select" style="width: 200px;"></div>
</div>
<div class="lr-layout-tool-item">
<div id="ClassNo" type="lrselect" class="lr-select" style="width: 200px;"></div>
</div>
<div class="lr-layout-tool-item">
<div id="EmpNo" type="lrselect" class="lr-select" style="width: 200px;"></div>
</div>
<div class="lr-layout-tool-item">
<div id="datesearch" class="datetime"></div>
</div>
<div class="lr-layout-tool-item">
<a id="btn_Search" class="btn btn-primary btn-sm"><i class="fa fa-search"></i>&nbsp;查询</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>
@*<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>打印</a>*@
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/TeachingQualityIndex.js")

+ 324
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/TeachingQualityIndex.js Wyświetl plik

@@ -0,0 +1,324 @@
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
* 创建人:超级管理员
* 日 期:2021-12-08 12:19
* 描 述:排考2021新
*/
var selectedRow;
var refreshGirdData;
//课程列
var LessonTemp = [];
var EmpInfo = []

var bootstrap = function ($, learun) {
"use strict";
var datebegin = '';
var dateend = '';
//var ClassNo = '';
var ClassRoomNo = '';

var page = {
init: function () {
//page.initGird();
page.bind();
},
bind: function () {
// 初始化左侧树形数据
$('#dataTree').lrtree({
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree',
nodeClick: function (item) {
ClassRoomNo = item.id;
page.search({ ClassRoomNo: item.id, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() });
$('#titleinfo').html(item.text);
}
});
$('.datetime').each(function () {
$(this).lrdate({
dfdata: [
{ name: '清空', begin: function () { return '' }, end: function () { return '' } },
{ 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: '0',
selectfn: function (begin, end) {
datebegin = begin;
dateend = end;
}
});
});
//打印
$('#lr_print').on('click', function () {
var p = {};
p.AcademicYearNo = $('#AcademicYearNo').lrselectGet();
p.Semester = $('#Semester').lrselectGet();
p.ClassNo = $('#ClassNo').lrselectGet();
if (p.AcademicYearNo == null || p.AcademicYearNo == "") {
learun.alert.warning("请选择学年!");
return;
}
if (p.Semester == null || p.Semester == "") {
learun.alert.warning("请选择学期!");
return;
}
if (p.ClassNo == null || p.ClassNo == "") {
learun.alert.warning("请选择班级!");
return;
}
let query = JSON.parse(JSON.stringify(p))
query.StartTime = datebegin;
query.EndTime = dateend;
query.ClassRoomNo = ClassRoomNo;
query.EmpNo = $('#EmpNo').lrselectGet()
learun.layerForm({
id: 'TeachingQualityPrint',
title: '教学质量检测考生统计表',
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/TeachingQualityPrint?' + $.param({ params: JSON.stringify(p), query: JSON.stringify(query), ClassNo: p.ClassNo }),
width: 1320,
height: 900,
btn: null
});
});
// 查询
$('#btn_Search').on('click', async function () {
var p = {};
p.AcademicYearNo = $('#AcademicYearNo').lrselectGet();
p.Semester = $('#Semester').lrselectGet();
p.ClassNo = $('#ClassNo').lrselectGet();
p.LessonNo = $('#LessonNo').lrselectGet();
p.ClassRoomNo = ClassRoomNo;
p.EmpNo = $('#EmpNo').lrselectGet();

if (p.AcademicYearNo == null || p.AcademicYearNo == "") {
learun.alert.warning("请选择学年!");
return;
}
if (p.Semester == null || p.Semester == "") {
learun.alert.warning("请选择学期!");
return;
}
if (p.ClassNo == null || p.ClassNo == "") {
learun.alert.warning("请选择班级!");
return;
}

//获取教师
await new Promise((resolve) => {
learun.clientdata.getAllAsync('sourceData', {
code: 'EmpInfo',
callback: function (dataes) {
EmpInfo = dataes.map(e => { return { value: e.empno, text: e.empname } })
resolve()
}
});
})
$.lrSetFormWithParam(top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetLessonList', p,
function (data) {
console.log(data)
var temparr = [];
for (var i = 0; i < data.length; i++) {
var item = {};
let obj = EmpInfo.find(e => e.value == data[i].text)
item.label = data[i].value;
item.name = data[i].text;
item.formatterAsync = function (callback, value, row, op, $cell) {
callback(obj ? obj.text : '')
}
item.width = 150;
item.align = "left";
temparr.push(item);
}
LessonTemp = temparr;

page.initGird();
//page.search({ ClassRoomNo: ClassRoomNo, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() });
page.search(p);
});
});
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
$('#ClassNo').lrDataSourceSelect({
placeholder: "请选择班级",
code: 'bjsj', value: 'classno', text: 'classname'
});
$('#AcademicYearNo').lrselect({
placeholder: "学年",
allowSearch: false,
url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetAcademicYearNo',
value: 'value',
text: 'text'
});
//学期
$('#Semester').lrselect({
placeholder: "学期",
allowSearch: false,
url: top.$.rootUrl + '/EducationalAdministration/StuScore/GetSemesterData',
value: 'value',
text: 'text'
});

$('#AcademicYearNo').bind('change', function () {
ClassRoomNo = ''
var AcademicYearNo = '';
var Semester = '';
if ($('#AcademicYearNo').lrselectGet()) {
AcademicYearNo = $('#AcademicYearNo').lrselectGet()
}
if ($('#Semester').lrselectGet()) {
var Semester = $('#Semester').lrselectGet();
}
if (Semester != '' && AcademicYearNo != '') {
$('#dataTree').lrtree({
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree?AcademicYearNo = ' + AcademicYearNo + ' &Semester=' + Semester,
nodeClick: function (item) {
ClassRoomNo = item.value;
page.search({ ClassRoomNo: item.value, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() });
}
});
}
});
$('#Semester').bind('change', function () {
ClassRoomNo = ''
var AcademicYearNo = '';
var Semester = '';
if ($('#AcademicYearNo').lrselectGet()) {
AcademicYearNo = $('#AcademicYearNo').lrselectGet()
}
if ($('#Semester').lrselectGet()) {
var Semester = $('#Semester').lrselectGet();
}
if (Semester != '' && AcademicYearNo != '') {
$('#dataTree').lrtree({
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetClassRoomTree?AcademicYearNo = ' + AcademicYearNo + ' &Semester=' + Semester,
nodeClick: function (item) {
ClassRoomNo = item.value;
page.search({ ClassRoomNo: item.value, AcademicYearNo: $('#AcademicYearNo').lrselectGet(), Semester: $('#Semester').lrselectGet(), LessonNo: $('#LessonNo').lrselectGet(), EmpNo: $('#EmpNo').lrselectGet() });
}
});
}
});

$('#LessonNo').lrDataSourceSelect({ code: 'LessonInfo', value: 'lessonno', text: 'lessonname', placeholder: '请选择课程' });
$('#ClassRoomNo').lrDataSourceSelect({ code: 'ClassRoomInfo', value: 'classroomno', text: 'classroomname', placeholder: '请选择教室' });
$('#EmpNo').lrDataSourceSelect({ code: 'EmpInfo', value: 'empno', text: 'empname', placeholder: '请选择教师' });
},
initGird: function () {
var headData = [
{
label: '学校', name: 'F_SchoolId', width: 190, 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: 'AcademicYearNo', width: 60, align: "left" },
{ label: '学期', name: 'Semester', width: 50, align: "left" },
{ label: '姓名', name: 'StuName', width: 100, align: "left" },
{ label: '学生编号', name: 'StuNo', width: 130, align: "left" },
{ label: '学籍号', name: 'StuCode', width: 130, align: "left" },
{
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: 'ExamDate', width: 90, align: "left",
formatter: function (v) {
return learun.formatDate(v, "yyyy-MM-dd");
}
},
{ label: '考试时间', name: 'ExamTime', width: 90, align: "left" },
{ label: '课程编号', name: 'LessonNo', width: 100, align: "left" },
{ label: '课程名称', name: 'LessonName', width: 200, align: "left" },
{ label: '监考教师编号', name: 'EmpNo', width: 150, align: "left" },
{ label: '监考教师姓名', name: 'EmpName', width: 150, align: "left" },
{ label: '教室编号', name: 'ClassroomNo', width: 100, align: "left" },
{ label: '教室名称', name: 'ClassroomName', width: 100, align: "left" },
{ label: '座位编号', name: 'SitNumber', width: 80, aligndd: "left" },
//{ label: '任课教师', width: 130, align: "center", children: LessonTemp },
...LessonTemp,
{ label: '考号', name: 'kh', width: 140, align: "left", ishide: true },
];
//var headDatas = headData.concat(LessonTemp);

$("#gridtable")[0].dfop = undefined;
$('#gridtable').lrAuthorizeJfGridLei({
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetTeachingQualityPageList',
headData,
mainId: 'AETId',
sidx: ' AcademicYearNo desc,Semester desc,ExamDate desc, LessonNo desc,ClassRoomNo desc,ClassRoomNo desc,SitNumber asc ',
isPage: true
});
//page.search();
},
search: function (param) {
param = param || {};
param.StartTime = datebegin;
param.EndTime = dateend;
param.ClassRoomNo = ClassRoomNo;
param.EmpNo = $('#EmpNo').lrselectGet()
param.ClassNo = $('#ClassNo').lrselectGet()
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {
$('#gridtable').jfGridSet('reload');
};
page.init();
}

+ 65
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/TeachingQualityPrint.cshtml Wyświetl plik

@@ -0,0 +1,65 @@
@{
ViewBag.Title = "排考2021新";
Layout = "~/Views/Shared/_Index.cshtml";
}
<link href="~/Content/css/print.css" rel="stylesheet" />
<div class="pages" id="printPage">
@* .page 一个纸张页*@
<div class="page page1">
<div class="pageContent">
<div style="text-align:right" class="no-print">
<div style="display:inline-block;font-size:14px;">单页条数: <input class="form-control" id="rowsInput" style="width:50px;display:inline-block"/> </div>
<div style="position:relative;display:inline-block">
<a id="lr_columns" class="btn btn-default">
列显示
</a>
<ul id="columns" style="display:none">
<li style="width:100%;"><input type="checkbox" value="allSelected" name="columns" /> &nbsp; <span>全选</span></li>
<li><input type="checkbox" value="F_SchoolId" name="columns" /> &nbsp; <span>学校</span></li>
<li><input type="checkbox" value="AcademicYearNo" name="columns" /> &nbsp; <span>学年</span></li>
<li style="width:100%;display:flex;justify-content:right;border-bottom:0"><button id="cancelBtn"> 取消 </button> &nbsp; <button id="confirmBtn"> 确定 </button> </li>
</ul>
<style>
#columns {
width: 320px;
position: absolute;
top: 35px;
right: 0px;
background: #fff;
border: 1px solid #ccc;
padding: 8px;
z-index: 1000;
overflow: hidden;
text-align:left;
font-size:14px;
}

#columns li {
width: 50%;
float: left;
border-bottom:1px solid #ccc;
padding:4px;
display:flex;
align-items:center;
line-height:24px
}
input[type=checkbox]{
margin:0;
cursor:pointer
}
</style>
</div>
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>打印</a>
</div>
<div class="printTitle">教学质量检测考生统计表</div>
<div class="lr-layout-body" id="gridtablePage1"></div>
</div>
</div>
<style>
body{
zoom:92%;
}
</style>
</div>
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/TeachingQualityPrint.js")

+ 364
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ArrangeExamTermNew/TeachingQualityPrint.js Wyświetl plik

@@ -0,0 +1,364 @@
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
* 创建人:超级管理员
* 日 期:2021-12-08 12:19
* 描 述:排考2021新
*/
var selectedRow;
var refreshGirdData;

var bootstrap = function ($, learun) {
"use strict";
//传参
var params = '{}', query = '{}';
//课程
var LessonTemp = [];
//教师
var EmpInfo = [];
//第几页
var pageNum = 1;
var rows = 26
var headData = [
{
label: '学校', name: 'F_SchoolId', width: 190, align: "center",
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: 'AcademicYearNo', width: 60, align: "center", ishide: true },
{ label: '学期', name: 'Semester', width: 50, align: "center", ishide: true },
{ label: '姓名', name: 'StuName', width: 100, align: "center" },
{ label: '学生编号', name: 'StuNo', width: 130, align: "center", ishide: true },
{ label: '学籍号', name: 'StuCode', width: 150, align: "center" },
{
label: "系所", name: "DeptNo", width: 100, align: "center", ishide: true,
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: "center",
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: "center",
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: 'ExamDate', width: 90, align: "center", ishide: true,
formatter: function (v) {
return learun.formatDate(v, "yyyy-MM-dd");
}
},
{ label: '考试时间', name: 'ExamTime', width: 90, align: "center" },
{ label: '课程编号', name: 'LessonNo', width: 100, align: "center", ishide: true },
{ label: '课程名称', name: 'LessonName', width: 200, align: "center", ishide: true },
{ label: '监考教师编号', name: 'EmpNo', width: 130, align: "center", ishide: true },
{ label: '监考教师姓名', name: 'EmpName', width: 130, align: "center"},
{ label: '教室编号', name: 'ClassroomNo', width: 100, align: "center", ishide: true },
{ label: '教室名称', name: 'ClassroomName', width: 100, align: "center", ishide: true },
{ label: '班级名称', name: 'ClassName', width: 100, align: "center", ishide: true },
{ label: '座位编号', name: 'SitNumber', width: 80, aligndd: "center", ishide: true },
{ label: '任课教师', name: 'rkjs', width: 130, align: "center", children: LessonTemp },
{ label: '考号', name: 'kh', width: 140, align: "center", ishide: false },
];
var page = {
init: async function () {
if (request('rows')) {
rows = request('rows')
}
//获取教师
await new Promise((resolve) => {
learun.clientdata.getAllAsync('sourceData', {
code: 'EmpInfo',
callback: function (dataes) {
EmpInfo = dataes.map(e => { return { value: e.empno, text: e.empname } })
resolve()
}
});
})
params = request('params') || '{}'
query = request('query') || '{}'
////获取班级text
//learun.clientdata.getAsync('custmerData', {
// url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj',
// key: JSON.parse(query).ClassNo,
// keyId: request('ClassNo'),
// callback: function (_data) {
// $('.printTitle').text(_data.classname+'教学质量检测考生统计表')
// }
//});
//获取课程
$.lrSetFormWithParam(top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetLessonList', JSON.parse(params),
function (data) {
var temparr = [];
for (var i = 0; i < data.length; i++) {
let obj = EmpInfo.find(e => e.value == data[i].text )
var item = {};
item.label = data[i].value;
item.name = data[i].text;
item.width = 130;
item.formatterAsync = function (callback, value, row, op, $cell) {
callback(obj ? obj.text : '')
}
item.align = "center";
temparr.push(item);
}
LessonTemp = temparr;
for (let i = 0; i < headData.length; i++) {
if (headData[i].name == 'rkjs') {
headData[i].children = LessonTemp
break;
}
}
page.initGird();
page.search()
});
//page.initGird();
page.bind();
},
bind: function () {
//打印
$('#lr_print').on('click', function () {
$('#printPage').jqprint()
});
$('#rowsInput').val(rows)
$('#rowsInput').blur(e => {
if (/^\+?[1-9]\d*$/.test($('#rowsInput').val())) {
rows = $('#rowsInput').val()
let obj = getQueryString()
obj.rows = rows
let url = location.href.split('?')[0]
location.href = url + '?' + $.param(obj)
return
}
function getQueryString() {
var qs = location.search.substr(1), // 获取url中"?"符后的字串
args = {}, // 保存参数数据的对象
items = qs.length ? qs.split("&") : [], // 取得每一个参数项
item = null,
len = items.length;
for (var i = 0; i < len; i++) {
item = items[i].split("=");
var name = decodeURIComponent(item[0]),
value = decodeURIComponent(item[1]);
if (name) {
args[name] = value;
}
}
return args;
}
$('#rowsInput').val(rows)
})
function deepClone(obj) {
var copy;

// Handle number, boolean, string, null and undefined
if (null == obj || "object" != typeof obj) return obj;

// Handle Date
if (obj instanceof Date) {
copy = new Date();
copy.setTime(obj.getTime());
return copy;
}

// Handle Array
if (obj instanceof Array) {
copy = [];
for (var i = 0, len = obj.length; i < len; i++) {
copy[i] = deepClone(obj[i]);
}
return copy;
}

// Handle Object
if (obj instanceof Object) {
copy = {};
for (var attr in obj) {
if (obj.hasOwnProperty(attr)) copy[attr] = deepClone(obj[attr]);
}
return copy;
}

throw new Error("Unable to copy obj! Its type isn't supported.");
}
//列选择
$('#lr_columns').on('click', function () {
if($('#columns').css('display') == 'block')return
let currentHeadData = deepClone(headData)
$('#columns').empty()
$('#columns').show()
//全选
$('#columns').append(`<li style="width:100%;"><input type="checkbox" value="allSelected" name="columns" /> &nbsp; <span>全选</span></li>`)
$('#columns input[value=allSelected]').click(e => {
$.each($('#columns input[type=checkbox]'), function (index, value) {
if ($('#columns input[value=allSelected]')[0].checked) {
if (!$(value).is(":checked")) {
$(value).prop('checked', true)
}
} else {
if ($(value).is(":checked")) {
$(value).prop('checked', false)
}
}
});
})
//字段列表
currentHeadData.forEach(e => {
$('#columns').append(`<li><input type="checkbox" value="${e.name}" name="columns" ${ e.ishide?'':'checked'} /> &nbsp; <span>${e.label}</span></li>`)
})
$('#columns input[type=checkbox]').change(e => {
for (let i = 0; i < currentHeadData.length; i++){
if (currentHeadData[i].name == $(e.currentTarget).attr('value')) {
currentHeadData[i].ishide = currentHeadData[i].ishide ? false : true
}
}
//判断全选
let isAllSelected = true
for (let i = 0; i < $('#columns input[type=checkbox]').length; i++) {
if (i == 0) continue
if (!$('#columns input[type=checkbox]')[i].checked) {
isAllSelected = false
break
}
}
$('#columns input[value=allSelected]').prop('checked', isAllSelected)
})
//判断全选
let isAllSelected = true
for (let i = 0; i < $('#columns input[type=checkbox]').length; i++) {
if (i == 0) continue
if (!$('#columns input[type=checkbox]')[i].checked) {
isAllSelected = false
break
}
}
$('#columns input[value=allSelected]').prop('checked', isAllSelected)
//确定取消
$('#columns').append(`<li style="width:100%;display:flex;justify-content:right;border-bottom:0"><button id="cancelBtn"> 取消 </button> &nbsp; <button id="confirmBtn"> 确定 </button> </li>`)
$('#cancelBtn').click(e => {
$('#columns').css('display','none')
})
$('#confirmBtn').click(e => {
headData = null
headData = deepClone(currentHeadData)
$('#columns').css('display', 'none')
for (let t = 1; t < pageNum; t++) {
$("#gridtablePage" + t)[0].dfop = undefined
}
pageNum = 1
page.setHeadData()
})
//点击其他地方关闭
$(document).bind("click", function (e) {
if ($(e.target).closest("#columns").length == 0 && $(e.target).closest("#lr_columns").length == 0) {
$("#columns").hide()
}
})
});
},
setHeadData: function () {
let id = '#gridtablePage' + pageNum
$(id).lrAuthorizeJfGridLei({
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetTeachingQualityPageList',
headData,
mainId: 'AETId',
sidx: ' AcademicYearNo desc,Semester desc,ExamDate desc, LessonNo desc,ClassRoomNo desc,ClassRoomNo desc,SitNumber asc ',
isPage: true,
rows,
onRenderComplete: function (list) {
if (list.length == rows) {
pageNum += 1
//$('#printPage').append(
// `<div class="page page` + pageNum + `">
// <div class="pageContent">
// <div class="printTitle">教学质量检测考生统计表</div>
// <div class="lr-layout-body" id="gridtablePage` + pageNum + `"></div>
// </div>
// </div>`
//)
page.setHeadData()
} else {
if (!list.length) {
$('.page' + pageNum).remove()
}
}
}
});

page.search();
},
initGird: function () {
let id = '#gridtablePage' + pageNum
$(id).jfGrid({
url: top.$.rootUrl + '/EducationalAdministration/Exam_ArrangeExamTermNew/GetTeachingQualityPageList',
headData,
mainId: 'AETId',
sidx: ' AcademicYearNo desc,Semester desc,ExamDate desc, LessonNo desc,ClassRoomNo desc,ClassRoomNo desc,SitNumber asc ',
isPage: true,
rows,
onRenderComplete: function (list) {
if (list.length == rows) {
pageNum += 1
$('#printPage').append(
`<div class="page page` + pageNum +`">
<div class="pageContent">
<div class="printTitle">教学质量检测考生统计表</div>
<div class="lr-layout-body" id="gridtablePage` + pageNum + `"></div>
</div>
</div>`
)
page.initGird()
} else {
if (!list.length) {
$('.page' + pageNum).remove()
}
}
}
});
page.search();
},
search: function () {
$('#gridtablePage' + pageNum).jfGridSet('reload', { queryJson: query }, { page: pageNum });
}
};
page.init();
}

+ 8
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj Wyświetl plik

@@ -23,7 +23,7 @@
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\..\</SolutionDir>
<RestorePackages>true</RestorePackages>
<UseGlobalApplicationHostFile />
<Use64BitIISExpress />
<Use64BitIISExpress>false</Use64BitIISExpress>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
@@ -109,9 +109,6 @@
<Reference Include="Microsoft.Practices.Unity.RegistrationByConvention">
<HintPath>..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.RegistrationByConvention.dll</HintPath>
</Reference>
<Reference Include="Microsoft.QualityTools.Testing.Fakes, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
<Private>True</Private>
@@ -1015,6 +1012,9 @@
<Content Include="Areas\AssetManagementSystem\Views\Ass_Warning\Index.js" />
<Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTermAttemperChild\Form.js" />
<Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTermAttemperChild\Index.js" />
<Content Include="Areas\EducationalAdministration\Views\Exam_ArrangeExamTermNew\IndexClassRoom.js" />
<Content Include="Areas\EducationalAdministration\Views\Exam_ArrangeExamTermNew\TeachingQualityIndex.js" />
<Content Include="Areas\EducationalAdministration\Views\Exam_ArrangeExamTermNew\TeachingQualityPrint.js" />
<Content Include="Areas\EducationalAdministration\Views\StuGraduateCondition\Form.js" />
<Content Include="Areas\EducationalAdministration\Views\StuGraduateCondition\Index.js" />
<Content Include="Areas\EducationalAdministration\Views\StuInfoBasic\GraduateCardDeregistrate.js" />
@@ -7999,6 +7999,10 @@
<Content Include="Areas\EducationalAdministration\Views\ArrangeLessonTermAttemperChild\Index.cshtml" />
<Content Include="Areas\EducationalAdministration\Views\StuScore\AllStuScoreQueryIndex.cshtml" />
<Content Include="Areas\EducationalAdministration\Views\StuScore\AllStuScoreQueryPrint.cshtml" />
<Content Include="Areas\EducationalAdministration\Views\Exam_ArrangeExamTermNew\SeatForm.cshtml" />
<Content Include="Areas\EducationalAdministration\Views\Exam_ArrangeExamTermNew\TeachingQualityIndex.cshtml" />
<Content Include="Areas\EducationalAdministration\Views\Exam_ArrangeExamTermNew\TeachingQualityPrint.cshtml" />
<Content Include="Areas\EducationalAdministration\Views\Exam_ArrangeExamTermNew\IndexClassRoom.cshtml" />
<None Include="Properties\PublishProfiles\CustomProfile.pubxml" />
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" />
<Content Include="Views\Login\Default-beifen.cshtml" />


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/system.config Wyświetl plik

@@ -74,7 +74,7 @@
<!--Redis 缓存前缀 -->
<!--<add key="RedisPrev" value="adms706" />-->
<!--缓存链接配置-->
<add key="RedisExchangeHosts" value="127.0.0.1:6379,allowadmin=true"/>
<add key="RedisExchangeHosts" value="127.0.0.1:6378,allowadmin=true"/>

<!--head 头像存储地址 -->
<add key="fileHeadImg" value="E:\西昌程序单校区版2019_09_16\Learun.Framework.Ultimate V7\Learun.Application.Web\bin\Release\Publish\Content\images\head" />


+ 112
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ArrangeExamTermNew/Exam_ArrangeExamTermNewBLL.cs Wyświetl plik

@@ -53,6 +53,44 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

/// <summary>
/// 考场
/// </summary>
/// <returns></returns>
public List<TreeModel> GetClassRoomTree(string AcademicYearNo, string Semester)
{
try
{
var list = exam_ArrangeExamTermNewService.GetClassRoomTree(AcademicYearNo, Semester);
List<TreeModel> treeList = new List<TreeModel>();
foreach (var item in list)
{
TreeModel node = new TreeModel
{
id = item.ClassroomNo,
text = item.ClassroomName,
value = item.ClassroomNo,
showcheck = false,
checkstate = 0,
isexpand = true,
parentId = "0"
};
treeList.Add(node);
}
return treeList.ToTree();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
public IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetPageListForClass(Pagination pagination, string queryJson)
{
try
@@ -72,6 +110,24 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

public IEnumerable<Exam_ArrangeExamTermItemNewEntity> ScreeningPlan(Pagination pagination, string queryJson)
{
try
{
return exam_ArrangeExamTermNewService.ScreeningPlan(pagination, queryJson);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetItemPageList(Pagination pagination, string queryJson)
{
@@ -91,6 +147,62 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}
}
public IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetTeachingQualityPageList(Pagination pagination, string queryJson)
{
try
{
return exam_ArrangeExamTermNewService.GetTeachingQualityPageList(pagination, queryJson);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
public IEnumerable<WebHelper.YearGrade> GetLessonList(string academicYearNo, string semester, string classNo)
{
try
{
return exam_ArrangeExamTermNewService.GetLessonList(academicYearNo, semester, classNo);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetStuList(string AcademicYearNo, int? Semester, string ClassRoomNo, string LessonNo, string EmpNo, string ExamDate, string ExamTime)
{
try
{
return exam_ArrangeExamTermNewService.GetStuList(AcademicYearNo, Semester, ClassRoomNo, LessonNo, EmpNo, ExamDate, ExamTime);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

/// <summary>
/// 获取页面显示列表数据
/// </summary>


+ 21
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ArrangeExamTermNew/Exam_ArrangeExamTermNewIBLL.cs Wyświetl plik

@@ -1,6 +1,7 @@
using Learun.Util;
using System.Data;
using System.Collections.Generic;
using System;

namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
@@ -16,8 +17,28 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
#region 获取数据

List<TreeModel> GetClassTree();
List<TreeModel> GetClassRoomTree(string AcademicYearNo, string Semester);
IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetPageListForClass(Pagination pagination, string queryJson);
/// <summary>
/// 场次安排表
/// </summary>
/// <param name="pagination"></param>
/// <param name="queryJson"></param>
/// <returns></returns>
IEnumerable<Exam_ArrangeExamTermItemNewEntity> ScreeningPlan(Pagination pagination, string queryJson);
IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetItemPageList(Pagination pagination, string queryJson);
IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetTeachingQualityPageList(Pagination pagination, string queryJson);
/// <summary>
/// 教学质量监测
/// </summary>
/// <param name="academicYearNo"></param>
/// <param name="semester"></param>
/// <param name="classNo"></param>
/// <returns></returns>
IEnumerable<WebHelper.YearGrade> GetLessonList(string academicYearNo, string semester, string classNo);

IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetStuList(string AcademicYearNo, int? Semester, string ClassRoomNo, string LessonNo, string EmpNo, string ExamDate
, string ExamTime);
/// <summary>
/// 获取页面显示列表数据
/// </summary>


+ 249
- 14
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ArrangeExamTermNew/Exam_ArrangeExamTermNewService.cs Wyświetl plik

@@ -23,7 +23,44 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
try
{
return this.BaseRepository("CollegeMIS").FindList<ClassInfoEntity>("select ClassNo,ClassName from Exam_ArrangeExamTermItemNew where ClassNo is not null group by ClassNo,ClassName order by ClassNo");
return this.BaseRepository("CollegeMIS").FindList<ClassInfoEntity>(@"select ClassNo,ClassName from Exam_ArrangeExamTermItemNew where ClassNo is not null and ClassName is not null group by ClassNo,ClassName order by ClassNo
group by ClassNo,ClassName order by ClassNo");
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 考场数据去重
/// </summary>
/// <returns></returns>
public IEnumerable<Exam_ExamRoomEntity> GetClassRoomTree(string AcademicYearNo, string Semester)
{
try
{

var sql = @" select e.ClassroomNo,e.ClassroomName from Exam_ArrangeExamTermItemNew e join (
select ClassroomNo, ClassroomName from Exam_ExamRoom where 1 = 1 ";
if (!AcademicYearNo.IsEmpty())
{
sql += $" and AcademicYearNo ='{AcademicYearNo}' ";
}
if (!Semester.IsEmpty())
{
sql += $" and Semester ={Semester} ";
}
sql += @" ) a on e.ClassroomName=a.ClassroomName and e.ClassroomNo =a.ClassroomNo
group by e.ClassroomNo,e.ClassroomName";
return this.BaseRepository("CollegeMIS").FindList<Exam_ExamRoomEntity>(sql);
}
catch (Exception ex)
{
@@ -107,6 +144,61 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

/// <summary>
/// 场次安排
/// </summary>
/// <param name="pagination"></param>
/// <param name="queryJson"></param>
/// <returns></returns>
public IEnumerable<Exam_ArrangeExamTermItemNewEntity> ScreeningPlan(Pagination pagination, string queryJson)
{
try
{
var strSql = new StringBuilder();
strSql.Append(@"select t.lessonName,t.lessonno,t.Examdate,t.examtime,t.EmpName,t.EmpNo,t.ClassroomNo,t.ClassroomName,l.TeachMajorNo,e.AcademicYearNo ,e.Semester,count(*) as ClassRoomNum
from Exam_ArrangeExamTermItemNew t join Exam_ExamPlan e on t.EPId=e.EPId
left join LessonInfo l on l.LessonNo = t.LessonNo where 1=1 and t.ClassNo is not null ");
var queryParam = queryJson.ToJObject();
if (!queryParam["AcademicYearNo"].IsEmpty())
{
strSql.Append(" and e.AcademicYearNo='" + queryParam["AcademicYearNo"].ToString() + "' ");
}
if (!queryParam["Semester"].IsEmpty())
{
strSql.Append(" and e.Semester='" + queryParam["Semester"].ToString() + "' ");
}
if (!queryParam["LessonNo"].IsEmpty())
{
strSql.Append(" and t.LessonNo like '%" + queryParam["LessonNo"].ToString() + "%' ");
}
if (!queryParam["EmpNo"].IsEmpty())
{
strSql.Append(" and t.EmpNo like '%" + queryParam["EmpNo"].ToString() + "%' ");
}
if (!queryParam["ClassRoomNo"].IsEmpty())
{
strSql.Append(" and t.ClassRoomNo='" + queryParam["ClassRoomNo"].ToString() + "' ");
}
if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
{
strSql.Append(" AND ( t.ExamDate >= '" + queryParam["StartTime"].ToString() + "' AND t.ExamDate <= '" + queryParam["EndTime"].ToString() + "' ) ");
}
strSql.Append(@"group by t.lessonName,t.lessonno,t.Examdate,t.examtime,t.EmpName,t.EmpNo,t.ClassroomNo,t.ClassroomName ,l.TeachMajorNo,e.AcademicYearNo ,e.Semester ");
return this.BaseRepository("CollegeMIS").FindList<Exam_ArrangeExamTermItemNewEntity>(strSql.ToString(), pagination);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 获取排考详情
/// </summary>
@@ -118,7 +210,8 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
try
{
var strSql = new StringBuilder();
strSql.Append(@"select t.*,e.AcademicYearNo,e.Semester from Exam_ArrangeExamTermItemNew t join Exam_ExamPlan e on t.EPId=e.EPId where 1=1 and t.ClassNo is not null ");
strSql.Append(@"select t.*,e.AcademicYearNo,e.Semester,s.StuCode from Exam_ArrangeExamTermItemNew t join Exam_ExamPlan e on t.EPId=e.EPId ");
strSql.Append(@" left join stuinfobasic s on s.StuNo=t.StuNo where 1=1 and t.ClassNo is not null ");
var queryParam = queryJson.ToJObject();
if (!queryParam["AcademicYearNo"].IsEmpty())
{
@@ -132,10 +225,18 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
strSql.Append(" and t.LessonNo like '%" + queryParam["LessonNo"].ToString() + "%' ");
}
if (!queryParam["LessonName"].IsEmpty())
{
strSql.Append(" and t.LessonName like '%" + queryParam["LessonName"].ToString() + "%' ");
}
if (!queryParam["ClassNo"].IsEmpty())
{
strSql.Append(" and t.ClassNo='" + queryParam["ClassNo"].ToString() + "' ");
}
if (!queryParam["ClassName"].IsEmpty())
{
strSql.Append(" and t.ClassName like'%" + queryParam["ClassName"].ToString() + "%' ");
}
if (!queryParam["StuNo"].IsEmpty())
{
strSql.Append(" and t.StuNo='" + queryParam["StuNo"].ToString() + "' ");
@@ -144,10 +245,18 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
strSql.Append(" and t.EmpNo like '%" + queryParam["EmpNo"].ToString() + "%' ");
}
if (!queryParam["EmpName"].IsEmpty())
{
strSql.Append(" and t.EmpName like '%" + queryParam["EmpName"].ToString() + "%' ");
}
if (!queryParam["ClassRoomNo"].IsEmpty())
{
strSql.Append(" and t.ClassRoomNo='" + queryParam["ClassRoomNo"].ToString() + "' ");
}
if (!queryParam["ClassRoomName"].IsEmpty())
{
strSql.Append(" and t.ClassRoomName like '%" + queryParam["ClassRoomName"].ToString() + "%' ");
}
if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
{
strSql.Append(" AND ( ExamDate >= '" + queryParam["StartTime"].ToString() + "' AND ExamDate <= '" + queryParam["EndTime"].ToString() + "' ) ");
@@ -168,6 +277,110 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

/// <summary>
/// 获取排考详情
/// </summary>
/// <param name="pagination"></param>
/// <param name="queryJson"></param>
/// <returns></returns>
public IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetTeachingQualityPageList(Pagination pagination, string queryJson)
{
try
{
var strSql = new StringBuilder();
strSql.Append(@"select t.*,e.AcademicYearNo,e.Semester,s.StuCode,s.DeptNo,s.MajorNo,s.StuId from Exam_ArrangeExamTermItemNew t join Exam_ExamPlan e on t.EPId=e.EPId ");
strSql.Append(@" left join stuinfobasic s on s.StuNo=t.StuNo where 1=1 and t.ClassNo is not null ");
var queryParam = queryJson.ToJObject();
if (!queryParam["AcademicYearNo"].IsEmpty())
{
strSql.Append(" and e.AcademicYearNo='" + queryParam["AcademicYearNo"].ToString() + "' ");
}
if (!queryParam["Semester"].IsEmpty())
{
strSql.Append(" and e.Semester='" + queryParam["Semester"].ToString() + "' ");
}
if (!queryParam["LessonNo"].IsEmpty())
{
strSql.Append(" and t.LessonNo like '%" + queryParam["LessonNo"].ToString() + "%' ");
}
if (!queryParam["LessonName"].IsEmpty())
{
strSql.Append(" and t.LessonName like '%" + queryParam["LessonName"].ToString() + "%' ");
}
if (!queryParam["ClassNo"].IsEmpty())
{
strSql.Append(" and t.ClassNo='" + queryParam["ClassNo"].ToString() + "' ");
}
if (!queryParam["ClassName"].IsEmpty())
{
strSql.Append(" and t.ClassName like'%" + queryParam["ClassName"].ToString() + "%' ");
}
if (!queryParam["StuNo"].IsEmpty())
{
strSql.Append(" and t.StuNo='" + queryParam["StuNo"].ToString() + "' ");
}
if (!queryParam["EmpNo"].IsEmpty())
{
strSql.Append(" and t.EmpNo like '%" + queryParam["EmpNo"].ToString() + "%' ");
}
if (!queryParam["EmpName"].IsEmpty())
{
strSql.Append(" and t.EmpName like '%" + queryParam["EmpName"].ToString() + "%' ");
}
if (!queryParam["ClassRoomNo"].IsEmpty())
{
strSql.Append(" and t.ClassRoomNo='" + queryParam["ClassRoomNo"].ToString() + "' ");
}
if (!queryParam["ClassRoomName"].IsEmpty())
{
strSql.Append(" and t.ClassRoomName like '%" + queryParam["ClassRoomName"].ToString() + "%' ");
}
if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
{
strSql.Append(" AND ( ExamDate >= '" + queryParam["StartTime"].ToString() + "' AND ExamDate <= '" + queryParam["EndTime"].ToString() + "' ) ");
}
return this.BaseRepository("CollegeMIS").FindList<Exam_ArrangeExamTermItemNewEntity>(strSql.ToString(), null, pagination);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
/// <summary>
/// 课程信息【班级成绩查看】
/// </summary>
/// <returns></returns>
public IEnumerable<WebHelper.YearGrade> GetLessonList(string academicYearNo, string semester, string classNo)
{
try
{
var strSql = new StringBuilder();
strSql.Append("select distinct s.LessonName as value,s.EmpNo as text from stuscore s ");
strSql.Append(" where s.AcademicYearNo='" + academicYearNo + "' and s.Semester='" + semester + "' and s.ClassNo='" + classNo + "' and s.LessonSortNo='1' ");
return this.BaseRepository("CollegeMIS").FindList<WebHelper.YearGrade>(strSql.ToString()).Where(x => !string.IsNullOrEmpty(x.value)).OrderBy(x => x.value);
//data = data.Where(x => !string.IsNullOrEmpty(x.value)).OrderBy(x => x.value);


}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
/// <summary>
/// 获取页面显示列表数据
/// </summary>
@@ -180,18 +393,8 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(@"
t.EPIId,
t.LessonNo,
t.LessonName,
t.ExamDate,
t.ExamTime,
t.EmpNo,
t.EmpName,
t.ClassroomNo,
t.ClassroomName
");
strSql.Append(" FROM Exam_ArrangeExamTermNew t ");
strSql.Append(@" t.*,e.AcademicYearNo,e.Semester ");
strSql.Append(" FROM Exam_ArrangeExamTermNew t join Exam_ExamPlan e on t.EPId=e.EPId ");
strSql.Append(" WHERE 1=1 ");
var queryParam = queryJson.ToJObject();
// 虚拟参数
@@ -231,6 +434,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
dp.Add("ClassroomName", "%" + queryParam["ClassroomName"].ToString() + "%", DbType.String);
strSql.Append(" AND t.ClassroomName Like @ClassroomName ");
}
if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
{
strSql.Append(" AND ( ExamDate >= '" + queryParam["StartTime"].ToString() + "' AND ExamDate <= '" + queryParam["EndTime"].ToString() + "' ) ");
}
return this.BaseRepository("CollegeMIS").FindList<Exam_ArrangeExamTermNewEntity>(strSql.ToString(), dp, pagination);
}
catch (Exception ex)
@@ -270,6 +477,34 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

/// <summary>
/// 获取排考详情
/// </summary>
/// <param name="pagination"></param>
/// <param name="queryJson"></param>
/// <returns></returns>
public IEnumerable<Exam_ArrangeExamTermItemNewEntity> GetStuList(string AcademicYearNo, int? Semester, string ClassRoomNo, string LessonNo, string EmpNo, string ExamDate, string ExamTime)
{
try
{
var strSql = new StringBuilder();
strSql.Append(@"select t.*,e.AcademicYearNo,e.Semester from Exam_ArrangeExamTermItemNew t join Exam_ExamPlan e on t.EPId=e.EPId where 1=1 and t.ClassNo is not null
and e.AcademicYearNo ='" + AcademicYearNo + "' and e.Semester='" + Semester + "' and EmpNo='" + EmpNo
+ "' and Classroomno= '" + ClassRoomNo + "' and LessonNo = '" + LessonNo + "' AND ExamDate >= '" + ExamDate + "' AND ExamTime <= '" + ExamTime + "' ");
return this.BaseRepository("CollegeMIS").FindList<Exam_ArrangeExamTermItemNewEntity>(strSql.ToString());
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
#endregion

#region 提交数据


Ładowanie…
Anuluj
Zapisz