Przeglądaj źródła

安排考试-设置考试时间修改为下拉框,获取考试记录的安排时间数据

新疆影视学院高职
zhangli 2 lat temu
rodzic
commit
63641b4885
7 zmienionych plików z 185 dodań i 16 usunięć
  1. +20
    -8
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/Exam_ExamPlanLessonController.cs
  2. +9
    -5
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlanLesson/Form.cshtml
  3. +20
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlanLesson/Form.js
  4. +38
    -1
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanLesson/Exam_ExamPlanLessonBLL.cs
  5. +2
    -1
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanLesson/Exam_ExamPlanLessonIBLL.cs
  6. +93
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanLesson/Exam_ExamPlanLessonService.cs
  7. +3
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanTime/Exam_ExamPlanTimeEntity.cs

+ 20
- 8
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/Exam_ExamPlanLessonController.cs Wyświetl plik

@@ -21,7 +21,6 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
private Exam_ExamPlanClassIBLL exam_ExamPlanClassIBLL = new Exam_ExamPlanClassBLL();
private Exam_ExamStudentIBLL exam_ExamStudentIBLL = new Exam_ExamStudentBLL();
private Exam_ExamPlanRoomIBLL exam_ExamPlanRoomIBLL = new Exam_ExamPlanRoomBLL();
private StuInfoBasicIBLL StuInfoBasicIBLL = new StuInfoBasicBLL();

#region 视图功能

@@ -152,7 +151,7 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
/// <param name="pagination"></param>
/// <param name="queryJson"></param>
/// <returns></returns>
[HttpGet]
[HttpGet]
[AjaxOnly]
public ActionResult GetPageListForLesson(string pagination, string queryJson)
{
@@ -227,6 +226,18 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
return Success(data);
}


/// <summary>
/// 获取考试记录安排时间数据
/// </summary>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetExamDateSel(string EPLId)
{
var data = exam_ExamPlanLessonIBLL.GetExamDateSel(EPLId);
return Success(data);
}
#endregion

#region 提交数据
@@ -334,12 +345,13 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
}

entity.EPLId = keyValue;
//判断考试时间是否冲突
//var res = exam_ExamPlanLessonIBLL.IsExamTimeClash(entity);
//if (res.flag && !string.IsNullOrEmpty(res.lessonname))
//{
// return Fail("考试时间与课程(" + res.lessonname + ")冲突!");
//}

//判断考试时间是否冲突,同一专业同一时间段只能安排一门考试课程
var res = exam_ExamPlanLessonIBLL.IsAllowSave(entity);
if (!res.flag && !string.IsNullOrEmpty(res.str))
{
return Fail(res.str);
}

//保存
exam_ExamPlanLessonIBLL.SaveEntity(keyValue, entity);


+ 9
- 5
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlanLesson/Form.cshtml Wyświetl plik

@@ -4,16 +4,20 @@
}
<div class="lr-form-wrap" id="form">
<div class="col-xs-12 lr-form-item" data-table="Exam_ExamPlanLesson">
<div class="lr-form-item-title">考试时间<font face="宋体">*</font></div>
<div id="ExamDateSel" isvalid="yes" checkexpession="NotNull"></div>
</div>
<div class="col-xs-12 lr-form-item" data-table="Exam_ExamPlanLesson" style="display: none;">
<div class="lr-form-item-title">考试日期<font face="宋体">*</font></div>
<input id="ExamDate" 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'); } })" />
<input id="ExamDate" 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'); } })" />
</div>
<div class="col-xs-6 lr-form-item" data-table="Exam_ExamPlanLesson">
<div class="col-xs-6 lr-form-item" data-table="Exam_ExamPlanLesson" style="display: none;">
<div class="lr-form-item-title">开始时间<font face="宋体">*</font></div>
<input id="ExamTimeStart" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请填写时分,例如:09:00"/>
<input id="ExamTimeStart" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请填写时分,例如:09:00" />
</div>
<div class="col-xs-6 lr-form-item" data-table="Exam_ExamPlanLesson">
<div class="col-xs-6 lr-form-item" data-table="Exam_ExamPlanLesson" style="display: none;">
<div class="lr-form-item-title">结束时间<font face="宋体">*</font></div>
<input id="ExamTimeEnd" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请填写时分,例如:12:00"/>
<input id="ExamTimeEnd" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" placeholder="请填写时分,例如:12:00" />
</div>
</div>
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/Exam_ExamPlanLesson/Form.js")

+ 20
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlanLesson/Form.js Wyświetl plik

@@ -15,17 +15,36 @@ var bootstrap = function ($, learun) {
page.initData();
},
bind: function () {
$('#ExamDateSel').lrselect({
placeholder: "请选择考试时间",
allowSearch: false,
url: top.$.rootUrl + '/EducationalAdministration/Exam_ExamPlanLesson/GetExamDateSel?EPLId='+keyValue,
value: 'edate',
text: 'edate',
select: function(item) {
if (item) {
$('#ExamDate').val(item.ExamDate);
$('#ExamTimeStart').val(item.ExamTimeStart);
$('#ExamTimeEnd').val(item.ExamTimeEnd);
}
}
});
},
initData: function () {
if (!!keyValue) {
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/Exam_ExamPlanLesson/GetFormData?keyValue=' + keyValue, function (data) {
for (var id in data) {
if (!!data[id].length && data[id].length > 0) {
$('#' + id ).jfGridSet('refreshdata', data[id]);
$('#' + id).jfGridSet('refreshdata', data[id]);
}
else {
$('[data-table="' + id + '"]').lrSetFormData(data[id]);
}
if (!!data[id] && !!data[id].ExamDate) {
var edate=learun.formatDate(data[id].ExamDate,'yyyy-MM-dd')+" "+data[id].ExamTimeStart+'-'+data[id].ExamTimeEnd;
$('#ExamDateSel').lrselectSet(edate);
}
}
});
}


+ 38
- 1
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanLesson/Exam_ExamPlanLessonBLL.cs Wyświetl plik

@@ -80,6 +80,26 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}
}

public IEnumerable<Exam_ExamPlanTimeEntity> GetExamDateSel(string EPLId)
{
try
{
return exam_ExamPlanLessonService.GetExamDateSel(EPLId);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

/// <summary>
/// 获取Exam_ExamPlanLesson表实体数据
/// </summary>
@@ -260,7 +280,24 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}
}

public (bool flag, string str) IsAllowSave(Exam_ExamPlanLessonEntity entity)
{
try
{
return exam_ExamPlanLessonService.IsAllowSave(entity);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
/// <summary>
/// 判断考试时间是否冲突
/// </summary>


+ 2
- 1
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanLesson/Exam_ExamPlanLessonIBLL.cs Wyświetl plik

@@ -23,6 +23,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
IEnumerable<Exam_ExamPlanLessonEntity> GetPageList(Pagination pagination, string queryJson);
IEnumerable<Exam_ExamPlanLessonEntity> GetPageListForLesson(Pagination pagination, string queryJson);
IEnumerable<Exam_ExamPlanLessonEntity> GetListByEPId(string EPId);
IEnumerable<Exam_ExamPlanTimeEntity> GetExamDateSel(string EPLId);
/// <summary>
/// 获取Exam_ExamPlanLesson表实体数据
/// </summary>
@@ -54,7 +55,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
void SaveEntity(string keyValue, Exam_ExamPlanLessonEntity entity);

(bool flag, string msg) PlanLessonTimeByEPId(string keyValue);
(bool flag, string str) IsAllowSave(Exam_ExamPlanLessonEntity entity);
(bool flag, string lessonname) IsExamTimeClash(Exam_ExamPlanLessonEntity entity);
#endregion



+ 93
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanLesson/Exam_ExamPlanLessonService.cs Wyświetl plik

@@ -148,6 +148,55 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

/// <summary>
/// 获取考试记录安排时间数据
/// </summary>
/// <param name="EPLId"></param>
/// <returns></returns>
public IEnumerable<Exam_ExamPlanTimeEntity> GetExamDateSel(string EPLId)
{
try
{
var epLesson = this.BaseRepository("CollegeMIS").FindEntity<Exam_ExamPlanLessonEntity>(EPLId);
string sql = $"Select Id,ExamDate,ExamTimeStart,ExamTimeEnd,CONVERT(nvarchar(10),ExamDate,120)+' '+ExamTimeStart+'-'+ ExamTimeEnd as edate from [dbo].[Exam_ExamPlanTime] where epid='{epLesson.EPId}' ";

var lessonno = epLesson.LessonNo;
if (epLesson.LessonNo.Contains("("))
{
lessonno = epLesson.LessonNo.Split('(')[0];
}

//查询课程信息
var lessoninfo = this.BaseRepository("CollegeMIS").FindList<LessonInfoEntity>($@"select top 1 t.LessonTypeName,l.* from lessoninfo l
join [dbo].[CdLessonType] t on l.LessonTypeId = t.LTId where l.LessonNo='{lessonno}' ").FirstOrDefault();
if (lessoninfo != null)
{
if (lessoninfo.LessonTypeName.Contains("公开") || lessoninfo.LessonTypeName.Contains("公共"))
{
sql += " and examtype='2'";
}
else
{
sql += " and examtype='1'";
}
}

sql += " order by cast((CONVERT(nvarchar(10),ExamDate,120)+' '+ExamTimeStart) as datetime)";
return this.BaseRepository("CollegeMIS").FindList<Exam_ExamPlanTimeEntity>(sql);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 获取Exam_ExamPlanLesson表实体数据
/// </summary>
@@ -468,6 +517,50 @@ SELECT t.ClassNo,count(1) as StuNum FROM Exam_ExamStudent t
}
}

/// <summary>
/// 判断考试时间是否冲突
/// </summary>
/// <param name="entity"></param>
public (bool flag, string str) IsAllowSave(Exam_ExamPlanLessonEntity entity)
{
try
{
var ExamPlanLesson = this.BaseRepository("CollegeMIS")
.FindEntity<Exam_ExamPlanLessonEntity>(entity.EPLId);
//考试课程数据
var EPLessonList = this.BaseRepository("CollegeMIS").FindList<Exam_ExamPlanLessonEntity>($@" select distinct elesson.ExamTime as ExamLength,ltype.LessonTypeName,info.TeachMajorNo,t.* from Exam_ExamPlanLesson t
join Exam_ExamLesson elesson on t.LessonNo=elesson.LessonNo
left join LessonInfo info on t.LessonNo=info.LessonNo
left join CdLessonType ltype on info.LessonTypeId=ltype.LTId
where t.EPId='{ExamPlanLesson.EPId}' and info.CheckMark=1 ");
if (ExamPlanLesson.LessonNo.Contains("("))
{
EPLessonList = this.BaseRepository("CollegeMIS").FindList<Exam_ExamPlanLessonEntity>($@" select distinct elesson.ExamTime as ExamLength,ltype.LessonTypeName,info.TeachMajorNo,t.* from Exam_ExamPlanLesson t
join Exam_ExamLesson elesson on left(t.LessonNo,charindex('(',t.LessonNo)-1)=elesson.LessonNo
left join LessonInfo info on left(t.LessonNo,charindex('(',t.LessonNo)-1)=info.LessonNo
left join CdLessonType ltype on info.LessonTypeId=ltype.LTId
where t.EPId='{ExamPlanLesson.EPId}' and info.CheckMark=1 ");
}
var EPLesson = EPLessonList.Where(x => x.EPLId == ExamPlanLesson.EPLId).FirstOrDefault();
if (EPLessonList.ToList().Exists(x => x.EPLId != entity.EPLId && x.TeachMajorNo == EPLesson.TeachMajorNo && x.ExamLength == EPLesson.ExamLength && x.ExamDate != null && x.ExamDate == entity.ExamDate && x.ExamTime == entity.ExamTime))
{
return (false, "同专业同时段只能安排一门课程!");
}

return (true, "");
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
/// <summary>
/// 自动生成考试课程排考时间
/// </summary>


+ 3
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanTime/Exam_ExamPlanTimeEntity.cs Wyświetl plik

@@ -69,6 +69,9 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
#endregion
#region 扩展字段
[NotMapped]
public string edate { get; set; }

#endregion
}
}


Ładowanie…
Anuluj
Zapisz