Browse Source

考试记录安排时间

新疆影视学院高职
zhangli 2 years ago
parent
commit
f63e95b2f1
8 changed files with 255 additions and 87 deletions
  1. +47
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/Exam_ExamPlanController.cs
  2. +82
    -82
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlan/FormTime.js
  3. +2
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlan/Index.js
  4. +29
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/EducationalAdministration/Exam_ExamPlanTimeMap.cs
  5. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/Learun.Application.Mapping.csproj
  6. +38
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlan/Exam_ExamPlanBLL.cs
  7. +2
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlan/Exam_ExamPlanIBLL.cs
  8. +54
    -2
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlan/Exam_ExamPlanService.cs

+ 47
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/Exam_ExamPlanController.cs View File

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

namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
{
@@ -64,7 +65,7 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
{
return View();
}
#endregion

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

/// <summary>
/// 安排考试
/// </summary>
/// <param name="EPId"></param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetPlanTimeList(string EPId)
{
var data = exam_ExamPlanIBLL.GetPlanTimeList(EPId);
return Success(data);
}
#endregion

#region 提交数据
@@ -127,7 +141,7 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
/// </summary>
/// <param name="keyValue"></param>
/// <returns></returns>
[HttpPost]
[HttpPost]
[AjaxOnly]
public ActionResult Generate(string keyValue)
{
@@ -139,6 +153,37 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
exam_ExamPlanIBLL.Generate(keyValue);
return Success("生成成功!");
}

/// <summary>
/// 安排考试
/// </summary>
/// <param name="EPId"></param>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult SavePlanTime(string EPId, List<Exam_ExamPlanTimeEntity> list)
{
if (list.Count <= 0)
{
return Fail("请安排时间");
}

foreach (var entity in list)
{
DateTime time;
if (!DateTime.TryParse(entity.ExamTimeStart, out time))
{
return Fail("结束时间格式不正确!");
}
if (!DateTime.TryParse(entity.ExamTimeEnd, out time))
{
return Fail("结束时间格式不正确!");
}
}
exam_ExamPlanIBLL.SavePlanTime(EPId, list);
return Success("保存成功!");
}

/// <summary>
/// 清除排考名单/清除所有排考记录
/// </summary>


+ 82
- 82
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlan/FormTime.js View File

@@ -6,6 +6,7 @@
*/
var acceptClick;
var keyValue = request('keyValue');
var arr = [];
var bootstrap = function ($, learun) {
"use strict";
var page = {
@@ -33,31 +34,30 @@ var bootstrap = function ($, learun) {
removeByValue(arr, 'iid', id);
}
});

//重新排序并显示
arr.sort(sortBy("Sort"));
page.refreshRes();
////重新排序并显示
//arr.sort(sortBy("Sort"));
//page.refreshRes();
});

//失去焦点,重新排序并显示
$('#form').on('blur',
'.sort',
function () {
var id = $(this)[0].id;
var parId = id.replace('Sort', '');
arr.forEach(m => {
if (m.iid == parId) {
return m.Sort = $('#' + id).val();
}
});
arr.sort(sortBy("Sort"));
page.refreshRes();
});
////失去焦点,重新排序并显示
//$('#form').on('blur',
// '.sort',
// function () {
// var id = $(this)[0].id;
// var parId = id.replace('Sort', '');
// arr.forEach(m => {
// if (m.iid == parId) {
// return m.Sort = $('#' + id).val();
// }
// });
// arr.sort(sortBy("Sort"));
// page.refreshRes();
// });
},
initData: function () {
if (!!keyValue) {
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/Exam_ExamPlan/GetFormChildList?keyValue=' + keyValue, function (data) {
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/Exam_ExamPlan/GetPlanTimeList?EPId=' + keyValue, function (data) {
$('#content1').html('');
var html = '';
if (data && data.length > 0) {
@@ -65,44 +65,66 @@ var bootstrap = function ($, learun) {
var id = learun.newGuid();
var html = '';
html += '<div id="' + id + '">';
html += '<div class="col-xs-6 lr-form-item" data-table="FormulaChild">';
html += '<div class="lr-form-item-title"><a id="' + id + '" class="btn child_delete"><i class="fa fa-trash-o"></i>&nbsp;</a>计算项目<font face="宋体">*</font></div>';
html += '<div id="pro' + id + '" class="project" isvalid="yes" checkexpession="NotNull"></div>';
html += '<div class="col-xs-6 lr-form-item" data-table="Exam_ExamPlanTime">';
html += '<div class="lr-form-item-title"><a id="' + id + '" class="btn child_delete"><i class="fa fa-trash-o"></i>&nbsp;</a>课程类型<font face="宋体">*</font></div>';
html += '<div id="ExamType' + id + '" isvalid="yes" checkexpession="NotNull"></div>';
html += '</div>';
html += '<div class="col-xs-6 lr-form-item" data-table="FormulaChild">';
html += '<div class="lr-form-item-title">顺序<font face="宋体">*</font></div>';
html += '<input id="Sort' + id + '" type="number" class="form-control sort" isvalid="yes" checkexpession="NotNull" value="' + data[i].Sort + '"/>';
html += '<div class="col-xs-6 lr-form-item" data-table="Exam_ExamPlanTime">';
html += '<div class="lr-form-item-title">考试日期<font face="宋体">*</font></div>';
html += '<input id="ExamDate' + id + '" type="text" class="form-control lr-input-wdatepicker" isvalid="yes" checkexpession="NotNull" data-dateFmt="yyyy-MM-dd" onfocus="WdatePicker({ dateFmt:\'yyyy - MM - dd\',onpicked: function () { $(\'#ExamDate\').trigger(\'change\'); } })" value="' + data[i].ExamDate + '" />';
html += '</div>';
html += '<div class="col-xs-6 lr-form-item" data-table="Exam_ExamPlanTime">';
html += '<div class="lr-form-item-title">开始时间<font face="宋体">*</font></div>';
html +=
'<input id="ExamTimeStart' + id + '" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请填写时分,例如:09:00" value="' + data[i].ExamTimeStart + '" />';
html += '</div>';

html += '<div class="col-xs-6 lr-form-item" data-table="Exam_ExamPlanTime">';
html += '<div class="lr-form-item-title">结束时间<font face="宋体">*</font></div>';
html +=
'<input id="ExamTimeEnd' + id + '" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请填写时分,例如:12:00" value="' + data[i].ExamTimeEnd + '" />';
html += '</div>';
html += '<div class="col-xs-12 lr-form-item" data-table="Exam_ExamPlanTime">';
html += '</div>';
//html += '<div id="' + id + '">';
//html += '<div class="col-xs-6 lr-form-item" data-table="FormulaChild">';
//html += '<div class="lr-form-item-title"><a id="' + id + '" class="btn child_delete"><i class="fa fa-trash-o"></i>&nbsp;</a>计算项目<font face="宋体">*</font></div>';
//html += '<div id="pro' + id + '" class="project" isvalid="yes" checkexpession="NotNull"></div>';
//html += '</div>';
//html += '<div class="col-xs-6 lr-form-item" data-table="FormulaChild">';
//html += '<div class="lr-form-item-title">顺序<font face="宋体">*</font></div>';
//html += '<input id="Sort' + id + '" type="number" class="form-control sort" isvalid="yes" checkexpession="NotNull" value="' + data[i].Sort + '"/>';
//html += '</div>';
//html += '</div>';

$('#content1').append(html);
$('#pro' + id).lrselect({

$('#ExamType' + id).lrselect({
allowSearch: true,
url: top.$.rootUrl + '/LR_Desktop/FormulaMain/GetCalProject',
param: { strWhere: "1=1 " },
value: "id",
text: "name",
url: top.$.rootUrl + '/LR_SystemModule/DataItem/GetDetailList',
param: { itemCode: 'ExamLessonType' },
value: 'F_ItemValue',
text: 'F_ItemName',
select:
function (item) {
if (item) {
var id = $(this).attr('id');
var parId = id.replace('pro', '');

var parId = id.replace('ExamType', '');
arr.forEach(item => {
if (item.iid == parId) {
//如果存在删除
removeByValue(arr, 'iid', parId);
}
});
arr.push({ iid: parId, ProjectId: item.id, ProjectName: item.name, Sort: $('#Sort' + parId).val() });
arr.push({ iid: parId, ExamType: $('#ExamType' + parId).val(), ExamDate: $('#ExamDate' + parId).val(), ExamTimeStart: $('#ExamTimeStart' + parId).val(), ExamTimeEnd: $('#ExamTimeEnd' + parId).val() });

//arr.sort(sortBy("Sort"));
//page.refreshRes();

arr.sort(sortBy("Sort"));
page.refreshRes();
}
}
});

$('#pro' + id).lrselectSet(data[i].ProjectId);
$('#ExamType' + id).lrselectSet(data[i].ExamType);
}

} else {
@@ -156,53 +178,29 @@ var bootstrap = function ($, learun) {
function (item) {
if (item) {
var id = $(this).attr('id');
var parId = id.replace('pro', '');
//arr.forEach(item => {
// if (item.iid == parId) {
// //如果存在删除
// removeByValue(arr, 'iid', parId);
// }
//});
//arr.push({ iid: parId, ProjectId: item.id, ProjectName: item.name, Sort: $('#Sort' + parId).val() });
var parId = id.replace('ExamType', '');
arr.forEach(item => {
if (item.iid == parId) {
//如果存在删除
removeByValue(arr, 'iid', parId);
}
});
arr.push({ iid: parId, ExamType: $('#ExamType' + parId).val(), ExamDate: $('#ExamDate' + parId).val(), ExamTimeStart: $('#ExamTimeStart' + parId).val(), ExamTimeEnd: $('#ExamTimeEnd' + parId).val() });

//arr.sort(sortBy("Sort"));
//page.refreshRes();

}
}
});
//$('#pro' + id).lrselect({
// allowSearch: true,
// url: top.$.rootUrl + '/EducationalAdministration/Exam_ExamPlan/GetCalProject',
// param: { strWhere: "1=1 " },
// value: "id",
// text: "name",
// select:
// function (item) {
// if (item) {
// var id = $(this).attr('id');
// var parId = id.replace('pro', '');
// arr.forEach(item => {
// if (item.iid == parId) {
// //如果存在删除
// removeByValue(arr, 'iid', parId);
// }
// });
// arr.push({ iid: parId, ProjectId: item.id, ProjectName: item.name, Sort: $('#Sort' + parId).val() });

// arr.sort(sortBy("Sort"));
// page.refreshRes();
// }
// }
//});

},
refreshRes: function () {
//页面显示公式结果
var text = '';
arr.forEach(m => {
text += m.ProjectName;
});
$('#result').html(text);
////页面显示公式结果
//var text = '';
//arr.forEach(m => {
// text += m.ProjectName;
//});
//$('#result').html(text);
}
};
// 保存数据
@@ -210,16 +208,18 @@ var bootstrap = function ($, learun) {
if (!$('body').lrValidform()) {
return false;
}
var strEntity = JSON.stringify($('body').lrGetFormData());

if (arr.length == 0) {
return learun.alert.warning('请选择计算项目!');
var data = [];
arr.forEach(function (item, index, array) {
data.push({ ExamType: $('#ExamType' + item.iid).lrselectGet(), ExamDate: $('#ExamDate' + item.iid).val(), ExamTimeStart: $('#ExamTimeStart' + item.iid).val(), ExamTimeEnd: $('#ExamTimeEnd' + item.iid).val() });
});
if (data.length == 0) {
return learun.alert.warning('请安排考试时间!');
}
var postData = {
//mainEntity: strEntity,
strEntity: arr
list: data
};
$.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/Exam_ExamPlan/SaveList?MainId=' + keyValue, postData, function (res) {
$.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/Exam_ExamPlan/SavePlanTime?EPId=' + keyValue, postData, function (res) {
// 保存成功后才回调
if (!!callBack) {
callBack();


+ 2
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlan/Index.js View File

@@ -136,10 +136,11 @@ var bootstrap = function ($, learun) {

// 安排时间
$('#lr_examtime').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('EPId');
learun.layerForm({
id: 'formtime',
title: '安排时间',
url: top.$.rootUrl + '/EducationalAdministration/Exam_ExamPlan/FormTime',
url: top.$.rootUrl + '/EducationalAdministration/Exam_ExamPlan/FormTime?keyValue=' + keyValue,
width: 850,
height: 550,
callBack: function (id) {


+ 29
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/EducationalAdministration/Exam_ExamPlanTimeMap.cs View File

@@ -0,0 +1,29 @@
using Learun.Application.TwoDevelopment.EducationalAdministration;
using System.Data.Entity.ModelConfiguration;

namespace Learun.Application.Mapping
{
/// <summary>
/// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
/// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
/// 创 建:超级管理员
/// 日 期:2022-04-14 18:12
/// 描 述:考试记录表
/// </summary>
public class Exam_ExamPlanTimeMap : EntityTypeConfiguration<Exam_ExamPlanTimeEntity>
{
public Exam_ExamPlanTimeMap()
{
#region 表、主键
//表
this.ToTable("EXAM_EXAMPLANTIME");
//主键
this.HasKey(t => t.Id);
#endregion

#region 配置关系
#endregion
}
}
}


+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Mapping/Learun.Application.Mapping.csproj View File

@@ -86,6 +86,7 @@
<Compile Include="EducationalAdministration\Exam_ExamLessonMap.cs" />
<Compile Include="EducationalAdministration\Exam_ExamPlanClassMap.cs" />
<Compile Include="EducationalAdministration\Exam_ExamPlanLessonMap.cs" />
<Compile Include="EducationalAdministration\Exam_ExamPlanTimeMap.cs" />
<Compile Include="EducationalAdministration\Exam_ExamPlanRoomMap.cs" />
<Compile Include="EducationalAdministration\Exam_ExamRoomMap.cs" />
<Compile Include="EducationalAdministration\Exam_ExamStudent.cs" />


+ 38
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlan/Exam_ExamPlanBLL.cs View File

@@ -67,6 +67,24 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

public IEnumerable<Exam_ExamPlanTimeEntity> GetPlanTimeList(string EPId)
{
try
{
return exam_ExamPlanService.GetPlanTimeList(EPId);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
#endregion

#region 提交数据
@@ -131,6 +149,26 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

public void SavePlanTime(string EPId, List<Exam_ExamPlanTimeEntity> list)
{
try
{
exam_ExamPlanService.SavePlanTime(EPId, list);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public bool IsGenerate(string keyValue)
{
try


+ 2
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlan/Exam_ExamPlanIBLL.cs View File

@@ -27,6 +27,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <param name="keyValue">主键</param>
/// <returns></returns>
Exam_ExamPlanEntity GetExam_ExamPlanEntity(string keyValue);
IEnumerable<Exam_ExamPlanTimeEntity> GetPlanTimeList(string EPId);
#endregion

#region 提交数据
@@ -39,6 +40,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration

void ClearGenerate(string keyValue, int type);
void Generate(string keyValue);
void SavePlanTime(string EPId, List<Exam_ExamPlanTimeEntity> list);
bool IsGenerate(string keyValue);
/// <summary>
/// 保存实体数据(新增、修改)


+ 54
- 2
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlan/Exam_ExamPlanService.cs View File

@@ -123,6 +123,24 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

public IEnumerable<Exam_ExamPlanTimeEntity> GetPlanTimeList(string EPId)
{
try
{
return this.BaseRepository("CollegeMIS").FindList<Exam_ExamPlanTimeEntity>(x => x.EPId == EPId);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
#endregion

#region 提交数据
@@ -150,6 +168,40 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

/// <summary>
/// 安排时间
/// </summary>
/// <param name="EPId"></param>
/// <param name="list"></param>
public void SavePlanTime(string EPId, List<Exam_ExamPlanTimeEntity> list)
{
var db = this.BaseRepository("CollegeMIS");
try
{
db.BeginTrans();
foreach (var entity in list)
{
entity.Create();
entity.EPId = EPId;
db.Insert(entity);
}
db.Commit();
//this.BaseRepository("CollegeMIS").Delete<Exam_ExamPlanEntity>(t => t.EPId == keyValue);
}
catch (Exception ex)
{
db.Rollback();
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 清除排考名单/清除所有排考记录
/// </summary>
@@ -272,7 +324,7 @@ delete from Exam_ExamPlanRoom where EPLId in ('{planLessonIds}');");
db.ExecuteBySql($"delete Exam_ArrangeExamTermNew where EPId='{keyValue}'");
//删除考场明细
db.ExecuteBySql($"delete Exam_ArrangeExamTermItemNew where EPId='{keyValue}'");
foreach (var planLesson in planLessonData)
{
//排考安排明细数据
@@ -329,7 +381,7 @@ delete from Exam_ExamPlanRoom where EPLId in ('{planLessonIds}');");
//所有考生
var stuInfoList = db.FindList<Exam_ExamStudentEntity>(stuSql).ToList();
var classInfo = db.FindList<ClassInfoEntity>();
itemList = itemList.OrderBy(x => x.SitNumber).OrderBy(x => x.ClassroomNo).ToList();
if (itemList.Count >= stuInfoList.Count())
{


Loading…
Cancel
Save