Преглед на файлове

Merge branch '长阳分支中职' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 长阳分支中职

应县
ndbs преди 1 година
родител
ревизия
f058049937
променени са 66 файла, в които са добавени 1737 реда и са изтрити 152 реда
  1. +4
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/ClassInfoController.cs
  2. +37
    -8
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StuInfoBasicController.cs
  3. +123
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StuScoreController.cs
  4. +9
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/TextBookOutController.cs
  5. +15
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/OpenLessonPlan/Index.js
  6. +12
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/CreateGraduateNo.js
  7. +11
    -3
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/Graduate.js
  8. +4
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateCardDeregistrate.cshtml
  9. +4
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateCheckOut.cshtml
  10. +4
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateDiplomaReceive.cshtml
  11. +23
    -13
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateDiplomaReceive.js
  12. +4
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateEmployAgree.cshtml
  13. +4
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateFeeSettle.cshtml
  14. +4
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateFileTransfer.cshtml
  15. +4
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateReturnBooks.cshtml
  16. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScore/InputScoreIndex.cshtml
  17. +61
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScore/InputScoreIndex.js
  18. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScore/InputScoreIndexInTeacher.cshtml
  19. +61
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScore/InputScoreIndexInTeacher.js
  20. +27
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScore/InputScoreIndexInTeacherImport.cshtml
  21. +196
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScore/InputScoreIndexInTeacherImport.js
  22. +20
    -3
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScore/ScoreQueryAllIndex.js
  23. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndex.cshtml
  24. +51
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndex.js
  25. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndexInTeacher.cshtml
  26. +51
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndexInTeacher.js
  27. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPassTwo/InputScoreIndex.cshtml
  28. +50
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPassTwo/InputScoreIndex.js
  29. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPassTwo/InputScoreIndexInTeacher.cshtml
  30. +50
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPassTwo/InputScoreIndexInTeacher.js
  31. +7
    -6
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuTransferInfo/CheckIndex.cshtml
  32. +7
    -3
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuTransferInfo/Index.cshtml
  33. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextBookOut/Form.js
  34. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextBookOut/FormDelete.cshtml
  35. +10
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextBookOut/Index.cshtml
  36. +25
    -3
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextBookOut/Index.js
  37. +16
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextbookInOut/Index.cshtml
  38. +15
    -5
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextbookInOut/Index.js
  39. +16
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextbookInOut/IndexInOut.cshtml
  40. +3
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextbookInOut/IndexInOut.js
  41. +3
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ClassPatrol/Index.cshtml
  42. +4
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ClassPatrol/Index.js
  43. +3
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/EvaluateTeachLearn/Index.cshtml
  44. +4
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/EvaluateTeachLearn/Index.js
  45. +2
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj
  46. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/DeptApi.cs
  47. +2
    -2
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ClassInfo/ClassInfoBLL.cs
  48. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ClassInfo/ClassInfoIBLL.cs
  49. +2
    -2
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ClassInfo/ClassInfoService.cs
  50. +8
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuInfoBasic/StuInfoBasicBLL.cs
  51. +41
    -7
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuInfoBasic/StuInfoBasicService.cs
  52. +27
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScore/StuScoreBLL.cs
  53. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScore/StuScoreIBLL.cs
  54. +329
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScore/StuScoreService.cs
  55. +19
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScoreNotPass/StuScoreNotPassBLL.cs
  56. +9
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScoreNotPass/StuScoreNotPassIBLL.cs
  57. +141
    -2
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScoreNotPass/StuScoreNotPassService.cs
  58. +19
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScoreNotPassTwo/StuScoreNotPassTwoBLL.cs
  59. +8
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScoreNotPassTwo/StuScoreNotPassTwoIBLL.cs
  60. +143
    -2
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScoreNotPassTwo/StuScoreNotPassTwoService.cs
  61. +5
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoService.cs
  62. +11
    -25
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/TextBookOut/TextBookOutService.cs
  63. +11
    -1
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/TextbookInOut/TextbookInOutService.cs
  64. +2
    -2
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js
  65. +3
    -3
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/manifest.json
  66. +2
    -2
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/my/password.vue

+ 4
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/ClassInfoController.cs Целия файл

@@ -142,13 +142,15 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
/// <summary>
/// 根据专业获得班级
/// <param name="marjoNo">专业码</param>
/// <param name="nj">年级关键字</param>
/// </summary>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetClassByMajorNo(string majorNo)
public ActionResult GetClassByMajorNo(string majorNo, string nj="")
{
var data = classInfoIBLL.GetClassByMajorNo(majorNo);
if (string.IsNullOrWhiteSpace(nj)) nj = string.Empty;
var data = classInfoIBLL.GetClassByMajorNo(majorNo, nj);
return Success(data);
}
/// <summary>


+ 37
- 8
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StuInfoBasicController.cs Целия файл

@@ -458,16 +458,31 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers

public ActionResult GetCard(string keyValue, string status, string strEntity)
{
if (status == "1")//领取
try
{
StuInfoBasicEntity entity = strEntity.ToObject<StuInfoBasicEntity>();
stuInfoBasicIBLL.GetCard(keyValue, status, entity);
if (status == "1")//领取
{
StuInfoBasicEntity entity = strEntity.ToObject<StuInfoBasicEntity>();
stuInfoBasicIBLL.GetCard(keyValue, status, entity);
}
else//取消领取
{
stuInfoBasicIBLL.GetCard(keyValue, status, new StuInfoBasicEntity());
}
return Success("操作成功");
}
else//取消领取
catch (Exception ex)
{
stuInfoBasicIBLL.GetCard(keyValue, status, new StuInfoBasicEntity());
if (ex is ArgumentException)
{
return Fail(ex.Message);
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
return Success("操作成功");
}

/// <summary>
@@ -719,8 +734,22 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
[AjaxOnly]
public ActionResult AllowGraduate(string stuNo, string status)
{
stuInfoBasicIBLL.AllowGraduate(stuNo, status);
return Success("操作成功!");
try
{
stuInfoBasicIBLL.AllowGraduate(stuNo, status);
return Success("操作成功!");
}
catch (Exception e)
{
if (e is ArgumentException)
{
return Fail(e.Message);
}
else
{
throw;
}
}
}




+ 123
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StuScoreController.cs Целия файл

@@ -1,4 +1,5 @@
using Hangfire;
using Learun.Application.Base.SystemModule;
using Learun.Application.Organization;
using Learun.Application.TwoDevelopment.EducationalAdministration;
using Learun.Util;
@@ -25,6 +26,9 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();
private CdMajorIBLL cdMajorIBLL = new CdMajorBLL();
private UserIBLL userIBLL = new UserBLL();
private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL();
private StuScoreNotPassIBLL stuScoreNotPassIBLL = new StuScoreNotPassBLL();
private StuScoreNotPassTwoIBLL stuScoreNotPassTwoIBLL = new StuScoreNotPassTwoBLL();

#region 视图功能

@@ -192,6 +196,16 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
{
return View();
}

/// <summary>
/// 成绩录入导入
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult InputScoreIndexInTeacherImport()
{
return View();
}
#endregion

#region 获取数据
@@ -205,7 +219,15 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
public ActionResult GetList(string queryJson)
{
var data = stuScoreIBLL.GetList(queryJson).OrderBy(a => a.StuNo);
return Success(data);
var jsonData = new
{
rows = data,
total = 1,
page = 1,
records = data.Count()
};
return Success(jsonData);
//return Success(data);
}
[HttpGet]
[AjaxOnly]
@@ -1072,6 +1094,106 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
return Success("操作成功");
}

#endregion

#region 成绩录入--导入
/// <summary>
/// 成绩导入---下载导入模板
/// </summary>
/// <param name="fileName"></param>
/// <param name="columnJson">表头</param>
/// <param name="dataJson">列表数据</param>
[HttpPost, ValidateInput(false)]
public void ExportExcel(string fileName, string columnJson, string dataJson)
{
//设置导出格式
ExcelConfig excelconfig = new ExcelConfig();
//excelconfig.Title = Server.UrlDecode(fileName);
excelconfig.TitleFont = "微软雅黑";
excelconfig.TitlePoint = 15;
excelconfig.FileName = Server.UrlDecode(fileName) + ".xls";
excelconfig.IsAllSizeColumn = true;
excelconfig.ColumnEntity = new List<ColumnModel>();
//表头
List<jfGridModel> columnList = columnJson.ToList<jfGridModel>();
//行数据
DataTable rowData = dataJson.ToTable();
////写入Excel表头
//Dictionary<string, string> exportFieldMap = new Dictionary<string, string>();
//if (!string.IsNullOrEmpty(exportField))
//{
// string[] exportFields = exportField.Split(',');
// foreach (var field in exportFields)
// {
// if (!exportFieldMap.ContainsKey(field))
// {
// exportFieldMap.Add(field, "1");
// }
// }
//}

foreach (jfGridModel columnModel in columnList)
{
//if (exportFieldMap.ContainsKey(columnModel.name) || string.IsNullOrEmpty(exportField))
//{
excelconfig.ColumnEntity.Add(new ColumnModel()
{
Column = columnModel.name,
ExcelColumn = columnModel.label,
Alignment = columnModel.align,
});

// }
}
ExcelHelper.ExcelDownload(rowData, excelconfig);
}

/// <summary>
/// 成绩导入
/// </summary>
/// <param name="type">1必修;2选修;3补考成绩;4二次补考成绩</param>
/// <param name="fileGuid"></param>
/// <param name="chunks"></param>
/// <param name="queryJson"></param>
/// <returns></returns>
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ExecuteImportExcel(int type, string fileGuid, int chunks, string queryJson)
{
string path = annexesFileIBLL.SaveAnnexes(fileGuid, fileGuid, chunks, LoginUserInfo.Get());
if (!string.IsNullOrEmpty(path))
{
DataTable dt = ExcelHelper.ExcelImport(path);
(DataTable failDt, int snum, int fnum) res;
if (type == 1 || type == 2)
{
//必修选修
res = stuScoreIBLL.ExecuteImportExcel(type, dt, fileGuid, queryJson);
}
else if (type == 3)
{
//补考
res = stuScoreNotPassIBLL.ExecuteImportExcelForNotPass(dt, fileGuid, queryJson);
}
else
{
//二次补考
res = stuScoreNotPassTwoIBLL.ExecuteImportExcelForNotPassTwo(dt, fileGuid, queryJson);
}
var data = new
{
Success = res.snum,
Fail = res.failDt.Rows.Count
};
return Success(data);
}
else
{
return Fail("导入数据失败!");
}
}


#endregion
}
}

+ 9
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/TextBookOutController.cs Целия файл

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

namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
{
@@ -156,6 +157,14 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
{
TextbookInOutEntity entity = strEntity.ToObject<TextbookInOutEntity>();
List<TextBookOutEntity> textBookOutList = strTextBookOutList.ToObject<List<TextBookOutEntity>>();
if (!textBookOutList.Any())
{
return Fail("请添加出库单!");
}
if (entity.FinallyNum < textBookOutList.Select(x => x.Variate).Sum())//当前库存<出库单数量之和
{
return Fail("当前库存小于出库单总数量!");
}
textBookOutIBLL.SaveEntity(keyValue, entity, textBookOutList);
if (keyValue != null)
{


+ 15
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/OpenLessonPlan/Index.js Целия файл

@@ -93,7 +93,21 @@ var bootstrap = function ($, learun) {
value: 'value',
text: 'text'
});
$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo', value: 'deptno', text: 'deptname' });
//$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo', value: 'deptno', text: 'deptname' });
$('#DeptNo').lrDataSourceSelect({
code: 'CdDeptInfo', value: 'deptno', text: 'deptname', select: function (val) {
var deptno = "";
if (val) {
deptno = val.deptno;
}
$('#MajorNo').lrselectRefresh({
url: top.$.rootUrl + '/EducationalAdministration/CdMajor/GetListByDeptNo?DeptNo=' + deptno,
text: "MajorName",
value: "MajorNo"
})
}
});

$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo', value: 'majorno', text: 'majorname' });
$('#LessonNo').lrselect({
placeholder: "请选择课程",


+ 12
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/CreateGraduateNo.js Целия файл

@@ -30,14 +30,22 @@ var bootstrap = function ($, learun) {
if (val) {
majorNo = val.MajorNo;
}
var nj = $('#Grade').val();
$('#ClassNo').lrselectRefresh({
url: top.$.rootUrl + '/EducationalAdministration/ClassInfo/GetClassByMajorNo?majorNo=' + majorNo,
url: top.$.rootUrl + '/EducationalAdministration/ClassInfo/GetClassByMajorNo?majorNo=' + majorNo + '&nj=' + nj,
text: "ClassName",
value: "ClassNo"
})
}
});
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' });
//$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' });
$('#ClassNo').lrselect({
allowSearch: true,
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj',
param: { strWhere: "1=1 AND CheckMark=1 order by classname asc" },
value: "classno",
text: "classname"
});
$('#FinishSchoolMark').lrselect({
data: [{ text: "已毕业", value: "2" }, { text: "准许毕业", value: "1" }, { text: "待准许", value: "0" }],
text: "text",
@@ -70,7 +78,7 @@ var bootstrap = function ($, learun) {
}
});
})
},
// 初始化列表
initGird: function () {
@@ -157,7 +165,7 @@ var bootstrap = function ($, learun) {
mainId: 'StuId',
isPage: true,
isMultiselect: false,
});
page.search();
},


+ 11
- 3
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/Graduate.js Целия файл

@@ -30,14 +30,22 @@ var bootstrap = function ($, learun) {
if (val) {
majorNo = val.MajorNo;
}
var nj = $('#Grade').val();
$('#ClassNo').lrselectRefresh({
url: top.$.rootUrl + '/EducationalAdministration/ClassInfo/GetClassByMajorNo?majorNo=' + majorNo,
url: top.$.rootUrl + '/EducationalAdministration/ClassInfo/GetClassByMajorNo?majorNo=' + majorNo + '&nj=' + nj,
text: "ClassName",
value: "ClassNo"
})
}
});
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' });
//$('#ClassNo').lrDataSourceSelect({ code: 'bjsj', value: 'classno', text: 'classname' });
$('#ClassNo').lrselect({
allowSearch: true,
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj',
param: { strWhere: "1=1 AND CheckMark=1 order by classname asc" },
value: "classno",
text: "classname"
});
$('#FinishSchoolMark').lrselect({
data: [{ text: "已毕业", value: "2" }, { text: "准许毕业", value: "1" }, { text: "待准许", value: "0" }],
text: "text",
@@ -193,7 +201,7 @@ var bootstrap = function ($, learun) {
mainId: 'StuId',
isPage: true,
isMultiselect: true,
rows: 100,
});
page.search();
},


+ 4
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateCardDeregistrate.cshtml Целия файл

@@ -28,14 +28,14 @@
<div class="lr-form-item-title">专业</div>
<div id="MajorNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">年级</div>
<div id="Grade"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">准许毕业</div>
<div id="FinishSchoolMark"></div>


+ 4
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateCheckOut.cshtml Целия файл

@@ -28,14 +28,14 @@
<div class="lr-form-item-title">专业</div>
<div id="MajorNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">年级</div>
<div id="Grade"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">准许毕业</div>
<div id="FinishSchoolMark"></div>


+ 4
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateDiplomaReceive.cshtml Целия файл

@@ -28,14 +28,14 @@
<div class="lr-form-item-title">专业</div>
<div id="MajorNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">年级</div>
<div id="Grade"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
</div>
</div>
</div>
</div>


+ 23
- 13
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateDiplomaReceive.js Целия файл

@@ -145,21 +145,31 @@ var bootstrap = function ($, learun) {
// }
//});
if (keyValue.split(',').length > 1) {
return learun.alert.warning("只能选择一条记录进行操作!");
}
if (DiplomaReceiveStatus == "1") {
return learun.alert.warning("当前记录毕业证已领取!");
//return learun.alert.warning("只能选择一条记录进行操作!");
var postData = {
status: "1"
};
$.lrSaveForm(top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/GetCard?keyValue=' + keyValue, postData, function (res) {
if (res.code == 200) {
refreshGirdData();
}
});
}
learun.layerForm({
id: 'form',
title: '毕业证领取',
url: top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/GraduateDiplomaReceiveForm?keyValue=' + keyValue,
width: 600,
height: 400,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
else {
if (DiplomaReceiveStatus == "1") {
return learun.alert.warning("当前记录毕业证已领取!");
}
});
learun.layerForm({
id: 'form',
title: '毕业证领取',
url: top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/GraduateDiplomaReceiveForm?keyValue=' + keyValue,
width: 600,
height: 400,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
}
}
})
//取消毕业证领取


+ 4
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateEmployAgree.cshtml Целия файл

@@ -28,14 +28,14 @@
<div class="lr-form-item-title">专业</div>
<div id="MajorNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">年级</div>
<div id="Grade"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">准许毕业</div>
<div id="FinishSchoolMark"></div>


+ 4
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateFeeSettle.cshtml Целия файл

@@ -28,14 +28,14 @@
<div class="lr-form-item-title">专业</div>
<div id="MajorNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">年级</div>
<div id="Grade"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">准许毕业</div>
<div id="FinishSchoolMark"></div>


+ 4
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateFileTransfer.cshtml Целия файл

@@ -28,14 +28,14 @@
<div class="lr-form-item-title">专业</div>
<div id="MajorNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">年级</div>
<div id="Grade"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">准许毕业</div>
<div id="FinishSchoolMark"></div>


+ 4
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuInfoBasic/GraduateReturnBooks.cshtml Целия файл

@@ -28,14 +28,14 @@
<div class="lr-form-item-title">专业</div>
<div id="MajorNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">年级</div>
<div id="Grade"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">准许毕业</div>
<div id="FinishSchoolMark"></div>


+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScore/InputScoreIndex.cshtml Целия файл

@@ -89,6 +89,7 @@
<a id="lr_check" class="btn btn-default"><i class="fa fa-lock">&nbsp;提交教务处</i></a>
<a id="lr_uncheck" class="btn btn-default"><i class="fa fa-lock">&nbsp;去审核成绩</i></a>
<a id="lr_setScale" class="btn btn-default"><i class="fa fa-edit">&nbsp;设置成绩比例</i></a>
<a id="lr_importScore" class="btn btn-default"><i class="fa fa-edit">&nbsp;导入</i></a>
</div>
</div>



+ 61
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScore/InputScoreIndex.js Целия файл

@@ -15,6 +15,9 @@ var headData; //常规列头
var headDataEdit; //可编辑列头
var headDataNoEdit; //不可编辑列头
var headDataFinally; //最终列头
var rowJson;
var columnJson;
var queryJson;
var bootstrap = function ($, learun) {
"use strict";
var page = {
@@ -442,6 +445,63 @@ var bootstrap = function ($, learun) {
learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScore/AddMinutes', { queryJson: JSON.stringify(query), minutes: newMinutes }, function (res) { });
}
});
//导入
$("#lr_importScore").on("click", function () {
var query = judgeSelect();
if (query) {
//判断成绩比例是否合理
var OrdinaryScoreScale = $('#OrdinaryScoreScale').html();
var TermInScoreScale = $('#TermInScoreScale').html();
var TermEndScoreScale = $('#TermEndScoreScale').html();
var OtherScoreScale = $('#OtherScoreScale').html();
var totalScale = Number(OrdinaryScoreScale) + Number(TermInScoreScale) + Number(TermEndScoreScale) + Number(OtherScoreScale);
if (totalScale !== 100) {
learun.alert.warning("成绩比例设置不合理!");
return false;
} else {
//判断是否已审核;判断是否被其他教师占用
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScore/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) {
if (data != null) {
if (data.CheckMark == 1) {
learun.alert.warning("学生成绩已审核!");
return false;
}
if (data.IsEditable == 0) {
if (data.EditUserId == learun.clientdata.get(['userinfo']).account) {
modifyDate = data.ModifyDate;
} else {
learun.alert.warning("当前班级成绩由账号为" + data.EditUserId + "的教师在使用!");
return false;
}
}
rowJson = $('#gridtable').jfGridGet('showData');
columnJson = $('#gridtable').jfGridGet('settingInfo').headData;

//条件
var $content = $('body').find('.lr-layout-tool-left');
queryJson = $content.lrGetFormData();

learun.layerForm({
id: 'indexImport',
title: "导入学生成绩",
url: top.$.rootUrl + '/EducationalAdministration/StuScore/InputScoreIndexInTeacherImport?type=1',
width: 600,
height: 400,
maxmin: true,
btn: null,
end: function () {
refreshGirdData2();
}
});

} else {
learun.alert.warning("学生成绩不存在!");
return false;
}
});
}
}
});
},
bindSelect: function () {
//校区
@@ -503,7 +563,7 @@ var bootstrap = function ($, learun) {
url: top.$.rootUrl + '/EducationalAdministration/StuScore/GetList',
headData: headDataFinally,
mainId: 'ScoreId',
isPage: false,
isPage: true,
sidx: 'StuNo',
sord: 'asc'
});


+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScore/InputScoreIndexInTeacher.cshtml Целия файл

@@ -89,6 +89,7 @@
<a id="lr_check" class="btn btn-default"><i class="fa fa-lock">&nbsp;提交教务处</i></a>
<a id="lr_uncheck" class="btn btn-default"><i class="fa fa-lock">&nbsp;去审核成绩</i></a>
<a id="lr_setScale" class="btn btn-default"><i class="fa fa-edit">&nbsp;设置成绩比例</i></a>
<a id="lr_importScore" class="btn btn-default"><i class="fa fa-edit">&nbsp;导入</i></a>
</div>
</div>



+ 61
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScore/InputScoreIndexInTeacher.js Целия файл

@@ -15,6 +15,9 @@ var headData; //常规列头
var headDataEdit; //可编辑列头
var headDataNoEdit; //不可编辑列头
var headDataFinally; //最终列头
var rowJson;
var columnJson;
var queryJson;
var bootstrap = function ($, learun) {
"use strict";
var page = {
@@ -442,6 +445,63 @@ var bootstrap = function ($, learun) {
learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScore/AddMinutes', { queryJson: JSON.stringify(query), minutes: newMinutes }, function (res) { });
}
});
//导入
$("#lr_importScore").on("click", function () {
var query = judgeSelect();
if (query) {
//判断成绩比例是否合理
var OrdinaryScoreScale = $('#OrdinaryScoreScale').html();
var TermInScoreScale = $('#TermInScoreScale').html();
var TermEndScoreScale = $('#TermEndScoreScale').html();
var OtherScoreScale = $('#OtherScoreScale').html();
var totalScale = Number(OrdinaryScoreScale) + Number(TermInScoreScale) + Number(TermEndScoreScale) + Number(OtherScoreScale);
if (totalScale !== 100) {
learun.alert.warning("成绩比例设置不合理!");
return false;
} else {
//判断是否已审核;判断是否被其他教师占用
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScore/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) {
if (data != null) {
if (data.CheckMark == 1) {
learun.alert.warning("学生成绩已审核!");
return false;
}
if (data.IsEditable == 0) {
if (data.EditUserId == learun.clientdata.get(['userinfo']).account) {
modifyDate = data.ModifyDate;
} else {
learun.alert.warning("当前班级成绩由账号为" + data.EditUserId + "的教师在使用!");
return false;
}
}
rowJson = $('#gridtable').jfGridGet('showData');
columnJson = $('#gridtable').jfGridGet('settingInfo').headData;

//条件
var $content = $('body').find('.lr-layout-tool-left');
queryJson = $content.lrGetFormData();

learun.layerForm({
id: 'indexImport',
title: "导入学生成绩",
url: top.$.rootUrl + '/EducationalAdministration/StuScore/InputScoreIndexInTeacherImport?type=1',
width: 600,
height: 400,
maxmin: true,
btn: null,
end: function () {
refreshGirdData2();
}
});

} else {
learun.alert.warning("学生成绩不存在!");
return false;
}
});
}
}
});
},
bindSelect: function () {
//校区
@@ -504,7 +564,7 @@ var bootstrap = function ($, learun) {
url: top.$.rootUrl + '/EducationalAdministration/StuScore/GetList',
headData: headDataFinally,
mainId: 'ScoreId',
isPage: false,
isPage: true,
sidx: 'StuNo',
sord: 'asc'
});


+ 27
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScore/InputScoreIndexInTeacherImport.cshtml Целия файл

@@ -0,0 +1,27 @@
@{
ViewBag.Title = "Form";
Layout = "~/Views/Shared/_Form.cshtml";
}
<link href="~/Content/webuploader/webuploader.css" rel="stylesheet" />
<script src="~/Content/webuploader/webuploader.nolog.min.js"></script>
@Html.AppendCssFile("/Areas/LR_SystemModule/Views/ExcelImport/ImportForm.css")

@*必修成绩录入导入*@
<div class="lr-form-layout lr-form-layout-top-bottom">
<div class="lr-form-layout-header">
<div id="lr_add_file_btn"><i class="fa fa-cloud-upload"></i><span class="lrlt">上传文件</span></div>
<div class="webuploader-pick" id="lr_down_file_btn"><i class="fa fa-download"></i><span class="lrlt">下载模板</span></div>
</div>
<div class="lr-form-layout-body">
<div class="lr-form-file-queue-wrap" id="lr_form_file_queue">
<div class="lr-form-file-queue" id="lr_form_file_queue_list">

</div>
<div class="lr-form-file-queue-bg">
<h1><span class="lrlt">试试将电脑里的文件拖拽到此上传</span></h1>
</div>
</div>
</div>
</div>

@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StuScore/InputScoreIndexInTeacherImport.js")

+ 196
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScore/InputScoreIndexInTeacherImport.js Целия файл

@@ -0,0 +1,196 @@
/*
* 描 述:附件上传管理
*/
var gridId = request('gridtable');
var type = request('type');//1:成绩录入;2:选修成绩录入
var bootstrap = function ($, learun) {
"use strict";

var fileInfo = {};

// 触发合并文件碎片
var mergeFileChunks = function (file) {
var param = {};
param['type'] = type;
param['__RequestVerificationToken'] = $.lrToken;
param['fileGuid'] = fileInfo[file.id].fileGuid;
param['fileName'] = fileInfo[file.id].name;
param['chunks'] = fileInfo[file.id].chunks;
var queryJson = JSON.stringify(learun.frameTab.currentIframe().queryJson);

param['queryJson'] = queryJson;
learun.httpAsyncPost(top.$.rootUrl + "/EducationalAdministration/StuScore/ExecuteImportExcel", param, function (res) {
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id);
$fileItem.find('.lr-uploader-progress').remove();

if (res.code == learun.httpCode.success) {
if (res.data.Success != '0') {
learun.alert.success('导入成功' + res.data.Success + '条');
}
// 文件保存成功后
$fileItem.append('<div class="lr-msg2"><span>' + res.data.Success + '</span><span>/</span><span style="color:#b94a48;" >' + res.data.Fail + '</span></div>');
// 如果有失败
if (res.data.Fail != '0') {
learun.download({ url: top.$.rootUrl + '/LR_SystemModule/ExcelImport/DownImportErrorFile', param: { fileId: fileInfo[file.id].fileGuid, fileName: fileInfo[file.id].name, __RequestVerificationToken: $.lrToken }, method: 'POST' });
}

}
else {
learun.alert.error(res.info);
$fileItem.append('<div class="lr-msg"><i class="fa fa-exclamation-circle"></i></div>');
}
});
}
// 触发清楚文件碎片
var reomveFileChunks = function (file) {
var param = {};
param['__RequestVerificationToken'] = $.lrToken;
param['fileGuid'] = fileInfo[file.id].fileGuid;
param['chunks'] = fileInfo[file.id].chunks;
learun.httpAsyncPost(top.$.rootUrl + "/LR_SystemModule/Annexes/MergeAnnexesFile", param, function (res) { });
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id);
$fileItem.find('.lr-uploader-progress').remove();
$fileItem.append('<div class="lr-msg"><i class="fa fa-exclamation-circle"></i></div>');
}
// 删除文件
var DeleteFile = function (fileId) {
var param = {};
param['__RequestVerificationToken'] = $.lrToken;
param['fileId'] = fileInfo[fileId].fileGuid;
learun.httpAsyncPost(top.$.rootUrl + "/LR_SystemModule/Annexes/DeleteAnnexesFile", param, function (res) { });
var file = page.uploader.getFile(fileId);
if (!!file) {
page.uploader.removeFile(file);
}
delete fileInfo[fileId];
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + fileId);
$fileItem.remove();
if ($('#lr_form_file_queue_list>div').length == 0) {
$('#lr_form_file_queue .lr-form-file-queue-bg').show();
}
}

var page = {
uploader: null,
init: function () {
if (!WebUploader.Uploader.support()) {
alert('Web Uploader 不支持您的浏览器!如果你使用的是IE浏览器,请尝试升级 flash 播放器');
throw new Error('WebUploader does not support the browser you are using.');
}
/*导入模板下载*/
$('#lr_down_file_btn').on('click', function () {
var columnJson = learun.frameTab.currentIframe().columnJson;
columnJson = JSON.stringify(columnJson.filter(item => item.name !== 'CheckMark'));
var rowJson = JSON.stringify(learun.frameTab.currentIframe().rowJson);
var fileName = "成绩录入数据";
if (type == '2') {
fileName = "选修成绩录入数据";
}
else if (type == '3') {
fileName = "补考成绩录入";
}
else if (type == '4') {
fileName = "二次补考成绩录入";
}
learun.download({
method: "POST",
url: '/EducationalAdministration/StuScore/ExportExcel',
param: {
fileName: fileName,
columnJson: columnJson,
dataJson: rowJson,
//exportField: String(exportField)
}
});
});

page.uploader = WebUploader.create({
auto: true,
swf: top.$.rootUrl + '/Content/webuploader/Uploader.swf',
// 文件接收服务端。
server: top.$.rootUrl + "/LR_SystemModule/Annexes/UploadAnnexesFileChunk",
// 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: '#lr_add_file_btn',
dnd: '#lr_form_file_queue',
paste: 'document.body',
disableGlobalDnd: true,
accept: {
extensions: "xls,xlsx"
},
multiple: false,
// 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
resize: false,
// 文件分片上传
chunked: true,
chunkRetry: 3,
prepareNextFile: true,
chunkSize: '1048576',
// 上传参数
formData: {
__RequestVerificationToken: $.lrToken
}
});
page.uploader.on('fileQueued', page.fileQueued);
page.uploader.on('uploadStart', page.uploadStart);
page.uploader.on('uploadBeforeSend', page.uploadBeforeSend);
page.uploader.on('uploadProgress', page.uploadProgress);
page.uploader.on('uploadSuccess', page.uploadSuccess);
page.uploader.on('uploadError', page.uploadError);
page.uploader.on('uploadComplete', page.uploadComplete);
page.uploader.on('error', page.error);


//$('#lr_form_file_queue').mCustomScrollbar({ // 优化滚动条
// theme: "minimal-dark"
//});

},
fileQueued: function (file) {// 文件加载到队列
fileInfo[file.id] = { name: file.name };
$('#lr_form_file_queue .lr-form-file-queue-bg').hide();
// 添加一条文件记录
var $item = $('<div class="lr-form-file-queue-item" id="lr_filequeue_' + file.id + '" ></div>');
$item.append('<div class="lr-file-image"><img src="' + top.$.rootUrl + '/Content/images/filetype/' + file.ext + '.png"></div>');
$item.append('<span class="lr-file-name">' + file.name + '(' + learun.countFileSize(file.size) + ')</span>');

$('#lr_form_file_queue_list').append($item);
},
uploadStart: function (file) {
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id);
$fileItem.append('<div class="lr-uploader-progress"><div class="lr-uploader-progress-bar" style="width:0%;"></div></div>');
},
uploadBeforeSend: function (object, data, headers) {
data.chunk = data.chunk || 0;
data.chunks = data.chunks || 1;
fileInfo[data.id].fileGuid = fileInfo[data.id].fileGuid || WebUploader.Base.guid();
data.fileGuid = fileInfo[data.id].fileGuid;
fileInfo[data.id].chunks = data.chunks;
},
uploadProgress: function (file, percentage) {
var $fileItem = $('#lr_form_file_queue_list').find('#lr_filequeue_' + file.id);
$fileItem.find('.lr-uploader-progress-bar').css('width', (percentage * 100 + '%'));
},
uploadSuccess: function (file, res) {
if (res.code == 200) {// 上传成功
mergeFileChunks(file);
}
else {// 上传失败
reomveFileChunks(file);
}
},
uploadError: function (file, code) {
reomveFileChunks(file);
},
uploadComplete: function (file) {
},
error: function (type) {
switch (type) {
case 'Q_TYPE_DENIED':
learun.alert.error('当前文件类型不允许上传');
break;
};
}
};
page.init();
}

+ 20
- 3
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScore/ScoreQueryAllIndex.js Целия файл

@@ -97,8 +97,26 @@ var bootstrap = function ($, learun) {
})
}
});
$('#ClassNo').lrDataSourceSelect({
placeholder: "请选择班级", code: 'bjsj', value: 'classno', text: 'classname', select: function (val) {
//$('#ClassNo').lrDataSourceSelect({
// placeholder: "请选择班级", code: 'bjsj', value: 'classno', text: 'classname', select: function (val) {
// var classNo = '';
// if (val) {
// classNo = val.ClassNo;
// }
// $('#StuNo').lrselectRefresh({
// url: top.$.rootUrl + '/EducationalAdministration/StuInfoBasic/GetStuInfoByClassNo?classNo=' + classNo,
// text: "StuName",
// value: "StuNo"
// })
// }
//});
$('#ClassNo').lrselect({
allowSearch: true,
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj',
param: { strWhere: "1=1 AND CheckMark=1 order by classname asc" },
value: "classno",
text: "classname",
select: function (val) {
var classNo = '';
if (val) {
classNo = val.ClassNo;
@@ -110,7 +128,6 @@ var bootstrap = function ($, learun) {
})
}
});

$('#StuNo').lrDataSourceSelect({ placeholder: '请选择学生', code: 'StuInfoBasic', value: 'stuno', text: 'stuname' });
//考试类型
$('#TableName').lrselect({


+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndex.cshtml Целия файл

@@ -89,6 +89,7 @@
<a id="lr_save" class="btn btn-default" style="display:none;"><i class="fa fa-edit">&nbsp;提交成绩</i></a>
<a id="lr_check" class="btn btn-default"><i class="fa fa-lock">&nbsp;提交教务处</i></a>
<a id="lr_uncheck" class="btn btn-default"><i class="fa fa-lock">&nbsp;去审核成绩</i></a>
<a id="lr_importScore" class="btn btn-default"><i class="fa fa-edit">&nbsp;导入</i></a>
</div>
</div>



+ 51
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndex.js Целия файл

@@ -15,6 +15,9 @@ var headData; //常规列头
var headDataEdit; //可编辑列头
var headDataNoEdit; //不可编辑列头
var headDataFinally; //最终列头
var rowJson;
var columnJson;
var queryJson;
var bootstrap = function ($, learun) {
"use strict";
var page = {
@@ -342,6 +345,54 @@ var bootstrap = function ($, learun) {
learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScoreNotPass/AddMinutes', { queryJson: JSON.stringify(query), minutes: newMinutes }, function (res) { });
}
});
//导入
$("#lr_importScore").on("click", function () {
var query = judgeSelect();
if (query) {

//判断是否已审核;判断是否被其他教师占用
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScoreNotPass/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) {
if (data != null) {
if (data.CheckMark == 1) {
learun.alert.warning("学生成绩已审核!");
return false;
}
if (data.IsEditable == 0) {
if (data.EditUserId == learun.clientdata.get(['userinfo']).account) {
modifyDate = data.ModifyDate;
} else {
learun.alert.warning("当前班级成绩由账号为" + data.EditUserId + "的教师在使用!");
return false;
}
}
rowJson = $('#gridtable').jfGridGet('showData');
columnJson = $('#gridtable').jfGridGet('settingInfo').headData;

//条件
var $content = $('body').find('.lr-layout-tool-left');
queryJson = $content.lrGetFormData();

learun.layerForm({
id: 'indexImport',
title: "导入学生成绩",
url: top.$.rootUrl + '/EducationalAdministration/StuScore/InputScoreIndexInTeacherImport?type=3',
width: 600,
height: 400,
maxmin: true,
btn: null,
end: function () {
refreshGirdData2();
}
});

} else {
learun.alert.warning("学生成绩不存在!");
return false;
}
});

}
});
},
bindSelect: function () {
//校区


+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndexInTeacher.cshtml Целия файл

@@ -89,6 +89,7 @@
<a id="lr_save" class="btn btn-default" style="display:none;"><i class="fa fa-edit">&nbsp;提交成绩</i></a>
<a id="lr_check" class="btn btn-default"><i class="fa fa-lock">&nbsp;提交教务处</i></a>
<a id="lr_uncheck" class="btn btn-default"><i class="fa fa-lock">&nbsp;去审核成绩</i></a>
<a id="lr_importScore" class="btn btn-default"><i class="fa fa-edit">&nbsp;导入</i></a>
</div>
</div>



+ 51
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPass/InputScoreIndexInTeacher.js Целия файл

@@ -15,6 +15,9 @@ var headData; //常规列头
var headDataEdit; //可编辑列头
var headDataNoEdit; //不可编辑列头
var headDataFinally; //最终列头
var rowJson;
var columnJson;
var queryJson;
var bootstrap = function ($, learun) {
"use strict";
var page = {
@@ -342,6 +345,54 @@ var bootstrap = function ($, learun) {
learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScoreNotPass/AddMinutes', { queryJson: JSON.stringify(query), minutes: newMinutes }, function (res) { });
}
});
//导入
$("#lr_importScore").on("click", function () {
var query = judgeSelect();
if (query) {

//判断是否已审核;判断是否被其他教师占用
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScoreNotPass/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) {
if (data != null) {
if (data.CheckMark == 1) {
learun.alert.warning("学生成绩已审核!");
return false;
}
if (data.IsEditable == 0) {
if (data.EditUserId == learun.clientdata.get(['userinfo']).account) {
modifyDate = data.ModifyDate;
} else {
learun.alert.warning("当前班级成绩由账号为" + data.EditUserId + "的教师在使用!");
return false;
}
}
rowJson = $('#gridtable').jfGridGet('showData');
columnJson = $('#gridtable').jfGridGet('settingInfo').headData;

//条件
var $content = $('body').find('.lr-layout-tool-left');
queryJson = $content.lrGetFormData();

learun.layerForm({
id: 'indexImport',
title: "导入学生成绩",
url: top.$.rootUrl + '/EducationalAdministration/StuScore/InputScoreIndexInTeacherImport?type=3',
width: 600,
height: 400,
maxmin: true,
btn: null,
end: function () {
refreshGirdData2();
}
});

} else {
learun.alert.warning("学生成绩不存在!");
return false;
}
});

}
});
},
bindSelect: function () {
//校区


+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPassTwo/InputScoreIndex.cshtml Целия файл

@@ -91,6 +91,7 @@
<a id="lr_save" class="btn btn-default" style="display:none;"><i class="fa fa-edit">&nbsp;提交成绩</i></a>
<a id="lr_check" class="btn btn-default"><i class="fa fa-lock">&nbsp;提交教务处</i></a>
<a id="lr_uncheck" class="btn btn-default"><i class="fa fa-lock">&nbsp;去审核成绩</i></a>
<a id="lr_importScore" class="btn btn-default"><i class="fa fa-edit">&nbsp;导入</i></a>
</div>
</div>



+ 50
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPassTwo/InputScoreIndex.js Целия файл

@@ -15,6 +15,9 @@ var headData; //常规列头
var headDataEdit; //可编辑列头
var headDataNoEdit; //不可编辑列头
var headDataFinally; //最终列头
var rowJson;
var columnJson;
var queryJson;
var bootstrap = function ($, learun) {
"use strict";
var page = {
@@ -342,6 +345,53 @@ var bootstrap = function ($, learun) {
learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScoreNotPassTwo/AddMinutes', { queryJson: JSON.stringify(query), minutes: newMinutes }, function (res) { });
}
});
//导入
$("#lr_importScore").on("click", function () {
var query = judgeSelect();
if (query) {
//判断是否已审核;判断是否被其他教师占用
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScoreNotPassTwo/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) {
if (data != null) {
if (data.CheckMark == 1) {
learun.alert.warning("学生成绩已审核!");
return false;
}
if (data.IsEditable == 0) {
if (data.EditUserId == learun.clientdata.get(['userinfo']).account) {
modifyDate = data.ModifyDate;
} else {
learun.alert.warning("当前班级成绩由账号为" + data.EditUserId + "的教师在使用!");
return false;
}
}
rowJson = $('#gridtable').jfGridGet('showData');
columnJson = $('#gridtable').jfGridGet('settingInfo').headData;

//条件
var $content = $('body').find('.lr-layout-tool-left');
queryJson = $content.lrGetFormData();

learun.layerForm({
id: 'indexImport',
title: "导入学生成绩",
url: top.$.rootUrl + '/EducationalAdministration/StuScore/InputScoreIndexInTeacherImport?type=4',
width: 600,
height: 400,
maxmin: true,
btn: null,
end: function () {
refreshGirdData2();
}
});

} else {
learun.alert.warning("学生成绩不存在!");
return false;
}
});
}
});
},
bindSelect: function () {
//校区


+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPassTwo/InputScoreIndexInTeacher.cshtml Целия файл

@@ -89,6 +89,7 @@
<a id="lr_save" class="btn btn-default" style="display:none;"><i class="fa fa-edit">&nbsp;提交成绩</i></a>
<a id="lr_check" class="btn btn-default"><i class="fa fa-lock">&nbsp;提交教务处</i></a>
<a id="lr_uncheck" class="btn btn-default"><i class="fa fa-lock">&nbsp;去审核成绩</i></a>
<a id="lr_importScore" class="btn btn-default"><i class="fa fa-edit">&nbsp;导入</i></a>
</div>
</div>



+ 50
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuScoreNotPassTwo/InputScoreIndexInTeacher.js Целия файл

@@ -15,6 +15,9 @@ var headData; //常规列头
var headDataEdit; //可编辑列头
var headDataNoEdit; //不可编辑列头
var headDataFinally; //最终列头
var rowJson;
var columnJson;
var queryJson;
var bootstrap = function ($, learun) {
"use strict";
var page = {
@@ -342,6 +345,53 @@ var bootstrap = function ($, learun) {
learun.postFormSilence(top.$.rootUrl + '/EducationalAdministration/StuScoreNotPassTwo/AddMinutes', { queryJson: JSON.stringify(query), minutes: newMinutes }, function (res) { });
}
});
//导入
$("#lr_importScore").on("click", function () {
var query = judgeSelect();
if (query) {

//判断是否已审核;判断是否被其他教师占用
$.lrSetForm(top.$.rootUrl + '/EducationalAdministration/StuScoreNotPassTwo/GetEntityByJson?queryJson=' + JSON.stringify(query), function (data) {
if (data != null) {
if (data.CheckMark == 1) {
learun.alert.warning("学生成绩已审核!");
return false;
}
if (data.IsEditable == 0) {
if (data.EditUserId == learun.clientdata.get(['userinfo']).account) {
modifyDate = data.ModifyDate;
} else {
learun.alert.warning("当前班级成绩由账号为" + data.EditUserId + "的教师在使用!");
return false;
}
}
rowJson = $('#gridtable').jfGridGet('showData');
columnJson = $('#gridtable').jfGridGet('settingInfo').headData;

//条件
var $content = $('body').find('.lr-layout-tool-left');
queryJson = $content.lrGetFormData();

learun.layerForm({
id: 'indexImport',
title: "导入学生成绩",
url: top.$.rootUrl + '/EducationalAdministration/StuScore/InputScoreIndexInTeacherImport?type=4',
width: 600,
height: 400,
maxmin: true,
btn: null,
end: function () {
refreshGirdData2();
}
});

} else {
learun.alert.warning("学生成绩不存在!");
return false;
}
});
}
});
},
bindSelect: function () {
//校区


+ 7
- 6
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuTransferInfo/CheckIndex.cshtml Целия файл

@@ -18,6 +18,7 @@
<div class="lr-form-item-title">姓名</div>
<input id="StuName" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">班级</div>
<div id="ClassNo"></div>
@@ -27,17 +28,17 @@
<div id="CreateUserId"></div>
</div>
@*<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">审核人</div>
<div id="CheckUserId"></div>
</div>*@
<div class="lr-form-item-title">审核人</div>
<div id="CheckUserId"></div>
</div>*@
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">审核状态</div>
<div id="F_EnabledMark"></div>
</div>
@*<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">保留学籍</div>
<div id="StuStatus"></div>
</div>*@
<div class="lr-form-item-title">保留学籍</div>
<div id="StuStatus"></div>
</div>*@
</div>
</div>
</div>


+ 7
- 3
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuTransferInfo/Index.cshtml Целия файл

@@ -18,6 +18,10 @@
<div class="lr-form-item-title">姓名</div>
<input id="StuName" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">年级</div>
<input id="Grade" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">原班级</div>
<div id="ClassNo"></div>
@@ -31,9 +35,9 @@
<div id="CheckUserId"></div>
</div>
@*<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">审核状态</div>
<div id="NationalityNo"></div>
</div>*@
<div class="lr-form-item-title">审核状态</div>
<div id="NationalityNo"></div>
</div>*@
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">保留学籍</div>
<div id="StuStatus"></div>


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextBookOut/Form.js Целия файл

@@ -181,7 +181,7 @@ var bootstrap = function ($, learun) {
validForm = function () {
var datas = $('#TextBookOut').jfGridGet('rowdatas');
if (datas == null || datas.length == 0) {
learun.alert.warning("申请未包含出库申请!请先添加库申请!");
learun.alert.warning("申请未包含出库申请!请先添加库申请!");
return false;
}
return true;


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextBookOut/FormDelete.cshtml Целия файл

@@ -53,7 +53,7 @@
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">明细操作</div>
<input id="detaildel" type="button" class="btn btn-danger" value="删除库单" />
<input id="detaildel" type="button" class="btn btn-danger" value="删除库单" />
</div>
<div class="col-xs-12 lr-form-item lr-form-item-grid">
<div id="TextBookOut"></div>


+ 10
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextBookOut/Index.cshtml Целия файл

@@ -14,8 +14,16 @@
<div id="multiple_condition_query">
<div class="lr-query-formcontent">
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">关键字查询</div>
<input id="keyword" type="text" class="form-control" placeholder="请输入要查询关键字" />
<div class="lr-form-item-title">教材名称</div>
<input id="TextBookName" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">教材号</div>
<input id="TextBookNo" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">第一作者</div>
<input id="FirstAuthor" type="text" class="form-control" />
</div>
</div>
</div>


+ 25
- 3
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextBookOut/Index.js Целия файл

@@ -15,7 +15,7 @@ var bootstrap = function ($, learun) {
bind: function () {
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
page.search(queryJson);
}, 100, 400);
}, 200, 400);
$('#DeptNo').lrDataSourceSelect({ code: 'CdDeptInfo',value: 'deptno',text: 'deptname' });
$('#MajorNo').lrDataSourceSelect({ code: 'CdMajorInfo',value: 'majorno',text: 'majorname' });
$('#ClassNo').lrDataSourceSelect({ code: 'bjsj',value: 'classno',text: 'classname' });
@@ -107,9 +107,31 @@ var bootstrap = function ($, learun) {
{ label: '版次', name: 'Edition', width: 200, align: "left" },
{ label: '印次', name: 'Impression', width: 200, align: "left" },
{ label: '创建时间', name: 'CreateTime', width: 200, align: "left" },
{ label: '创建用户', name: 'CrateUserID', width: 200, align: "left" },
{
label: '创建用户', name: 'CrateUserID', width: 200, align: "left", formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BaseUser',
key: value,
keyId: 'f_userid',
callback: function (_data) {
callback(_data['f_realname']);
}
});
}
},
{ label: '修改人', name: 'UpTime', width: 200, align: "left" },
{ label: '修改用户', name: 'UpUserID', width: 200, align: "left" },
{
label: '修改用户', name: 'UpUserID', width: 200, align: "left", formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BaseUser',
key: value,
keyId: 'f_userid',
callback: function (_data) {
callback(_data['f_realname']);
}
});
}
},
{ label: '当前数量', name: 'FinallyNum', width: 200, align: "left" },
{ label: '备注', name: 'Remark', width: 200, align: "left" },
],


+ 16
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextbookInOut/Index.cshtml Целия файл

@@ -8,10 +8,22 @@
<div class="lr-layout-tool">
<div class="lr-layout-tool-left">
<div class="lr-layout-tool-item">
<input id="txt_Keyword" type="text" class="form-control" placeholder="请输入要查询关键字" />
</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 id="multiple_condition_query">
<div class="lr-query-formcontent">
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">教材名称</div>
<input id="TextBookName" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">教材号</div>
<input id="TextBookNo" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">第一作者</div>
<input id="FirstAuthor" type="text" class="form-control" />
</div>
</div>
</div>
</div>
</div>
<div class="lr-layout-tool-right">


+ 15
- 5
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextbookInOut/Index.js Целия файл

@@ -14,10 +14,9 @@ var bootstrap = function ($, learun) {
},
bind: function () {
// 查询
$('#btn_Search').on('click', function () {
var keyword = $('#txt_Keyword').val();
page.search({ keyword: keyword });
});
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
page.search(queryJson);
}, 200, 400);
$('#LessonNo').lrDataSourceSelect({ code: 'LessonInfo', value: 'lessonno', text: 'lessonname' });
// 刷新
$('#lr_refresh').on('click', function () {
@@ -119,7 +118,18 @@ var bootstrap = function ($, learun) {
{ label: '版次', name: 'Edition', width: 100, align: "left" },
{ label: '印次', name: 'Impression', width: 100, align: "left" },
{ label: '创建时间', name: 'CreateTime', width: 200, align: "left" },
{ label: '创建用户', name: 'CrateUserID', width: 200, align: "left" },
{
label: '创建用户', name: 'CrateUserID', width: 200, align: "left", formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BaseUser',
key: value,
keyId: 'f_userid',
callback: function (_data) {
callback(_data['f_realname']);
}
});
}
},
{ label: '当前数量', name: 'FinallyNum', width: 100, align: "left" },
{ label: '累计入库数量', name: 'RKNum', width: 100, align: "left" },
{ label: '累计出库数量', name: 'CKNum', width: 100, align: "left" },


+ 16
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextbookInOut/IndexInOut.cshtml Целия файл

@@ -8,10 +8,22 @@
<div class="lr-layout-tool">
<div class="lr-layout-tool-left">
<div class="lr-layout-tool-item">
<input id="txt_Keyword" type="text" class="form-control" placeholder="请输入要查询关键字" />
</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 id="multiple_condition_query">
<div class="lr-query-formcontent">
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">教材名称</div>
<input id="TextBookName" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">教材号</div>
<input id="TextBookNo" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">第一作者</div>
<input id="FirstAuthor" type="text" class="form-control" />
</div>
</div>
</div>
</div>
</div>
<div class="lr-layout-tool-right">


+ 3
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/TextbookInOut/IndexInOut.js Целия файл

@@ -14,10 +14,9 @@ var bootstrap = function ($, learun) {
},
bind: function () {
// 查询
$('#btn_Search').on('click', function () {
var keyword = $('#txt_Keyword').val();
page.search({ keyword: keyword });
});
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
page.search(queryJson);
}, 200, 400);
$('#LessonNo').lrDataSourceSelect({ code: 'LessonInfo', value: 'lessonno', text: 'lessonname' });
// 刷新
$('#lr_refresh').on('click', function () {


+ 3
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ClassPatrol/Index.cshtml Целия файл

@@ -31,9 +31,10 @@
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a>
</div>
<div class=" btn-group btn-group-sm" learun-authorize="yes">
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;新增</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;新增</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>&nbsp;打印</a>
</div>
</div>
</div>


+ 4
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ClassPatrol/Index.js Целия файл

@@ -64,6 +64,10 @@ var bootstrap = function ($, learun) {
});
}
});
// 打印
$('#lr_print').on('click', function () {
$('#gridtable').jqprintTable();
});
},
// 初始化列表
initGird: function () {


+ 3
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/EvaluateTeachLearn/Index.cshtml Целия файл

@@ -35,9 +35,10 @@
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a>
</div>
<div class=" btn-group btn-group-sm" learun-authorize="yes">
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;新增</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;新增</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>&nbsp;打印</a>
</div>
</div>
</div>


+ 4
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/EvaluateTeachLearn/Index.js Целия файл

@@ -66,6 +66,10 @@ var bootstrap = function ($, learun) {
});
}
});
// 打印
$('#lr_print').on('click', function () {
$('#gridtable').jqprintTable();
});
// 删除
$('#lr_delete').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('Id');


+ 2
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj Целия файл

@@ -1378,6 +1378,7 @@
<Content Include="Areas\EducationalAdministration\Views\StuScoreNotPass\InputScoreIndex.js" />
<Content Include="Areas\EducationalAdministration\Views\StuScoreNotPass\Monitor.js" />
<Content Include="Areas\EducationalAdministration\Views\StuScore\AllStuScoreQueryIndex.js" />
<Content Include="Areas\EducationalAdministration\Views\StuScore\InputScoreIndexInTeacherImport.js" />
<Content Include="Areas\EducationalAdministration\Views\StuScore\StuScoreQueryIndex.js" />
<Content Include="Areas\EducationalAdministration\Views\StuScore\InputScoreIndexOfElectiveInTeacher.js" />
<Content Include="Areas\EducationalAdministration\Views\StuScore\InputScoreIndexOfElective.js" />
@@ -8126,6 +8127,7 @@
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\TeachLeaveIndex.cshtml" />
<Content Include="Areas\PersonnelManagement\Views\DutySchedule\qrCode.cshtml" />
<Content Include="Areas\PersonnelManagement\Views\ActivitySchedule\qrCode.cshtml" />
<Content Include="Areas\EducationalAdministration\Views\StuScore\InputScoreIndexInTeacherImport.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.WebApi/Modules/DeptApi.cs Целия файл

@@ -38,7 +38,7 @@ namespace Learun.Application.WebApi
public Response GetClassByMajorNo(dynamic _)
{
string keyValue = this.GetReqData();
var data = classInfoIBLL.GetClassByMajorNo( keyValue );
var data = classInfoIBLL.GetClassByMajorNo( keyValue, "" );
return Success(data);
}
#endregion


+ 2
- 2
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ClassInfo/ClassInfoBLL.cs Целия файл

@@ -259,11 +259,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}
}
public IEnumerable<ClassInfoEntity> GetClassByMajorNo(string MajorNo)
public IEnumerable<ClassInfoEntity> GetClassByMajorNo(string MajorNo, string nj)
{
try
{
return classInfoService.GetClassByMajorNo(MajorNo);
return classInfoService.GetClassByMajorNo(MajorNo,nj);
}
catch (Exception ex)
{


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ClassInfo/ClassInfoIBLL.cs Целия файл

@@ -68,6 +68,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
#endregion

IEnumerable<ClassInfoEntity> GetAllClass();
IEnumerable<ClassInfoEntity> GetClassByMajorNo(string majorNo);
IEnumerable<ClassInfoEntity> GetClassByMajorNo(string majorNo, string nj);
}
}

+ 2
- 2
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ClassInfo/ClassInfoService.cs Целия файл

@@ -373,11 +373,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}
}
public IEnumerable<ClassInfoEntity> GetClassByMajorNo(string MajorNo)
public IEnumerable<ClassInfoEntity> GetClassByMajorNo(string MajorNo, string nj)
{
try
{
return this.BaseRepository("CollegeMIS").FindList<ClassInfoEntity>(m => m.CheckMark == true && m.MajorNo == MajorNo);
return this.BaseRepository("CollegeMIS").FindList<ClassInfoEntity>(m => m.CheckMark == true && m.MajorNo == MajorNo && (nj == "" || m.ClassName.StartsWith(nj))).OrderBy(x => x.ClassName);
}
catch (Exception ex)
{


+ 8
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuInfoBasic/StuInfoBasicBLL.cs Целия файл

@@ -471,6 +471,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
throw;
}
else if (ex is ArgumentException)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
@@ -675,6 +679,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
throw;
}
else if (ex is ArgumentException)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);


+ 41
- 7
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuInfoBasic/StuInfoBasicService.cs Целия файл

@@ -575,7 +575,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
foreach (var item in stuNo.Split(','))
{
var itementity = db.FindEntity<StuInfoBasicEntity>(x => x.StuNo == item);
if (itementity.ReturnBooksStatus == "1" && itementity.EmployAgreeStatus == "1" && itementity.FeeSettleStatus == "1" && itementity.CheckOutStatus == "1" && itementity.CardDeregistrateStatus == "1" && itementity.DiplomaReceiveStatus == "1" && itementity.FileTransferStatus == "1")
if (itementity.FinishSchoolMark == "1" || itementity.FinishSchoolMark == "2")
{
throw new ArgumentException("所选数据中有已操作完成的数据,无需重复操作");
}
else if (itementity.ReturnBooksStatus == "1" && itementity.EmployAgreeStatus == "1" && itementity.FeeSettleStatus == "1" && itementity.CheckOutStatus == "1" && itementity.CardDeregistrateStatus == "1" && itementity.DiplomaReceiveStatus == "1" && itementity.FileTransferStatus == "1")
{
db.ExecuteBySql($"UPDATE dbo.StuInfoBasic SET FinishSchoolMark ='2',FinishSchoolDate='" + DateTime.Now + "' WHERE StuNo='" + item + "' ");
}
@@ -600,6 +604,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
throw;
}
else if(ex is ArgumentException)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
@@ -746,14 +754,36 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
var now = DateTime.Now;
var keyValueArr = keyValue.Split(',');
foreach (var item in keyValueArr)
if (keyValueArr.Length == 1)
{
var sql = $"UPDATE StuInfoBasic SET DiplomaReceiveStatus='{status}',DiplomaReceiveDate='{now}',DiplomaReceiveSign='{entity.DiplomaReceiveSign}',DiplomaReceiveIdcard='{entity.DiplomaReceiveIdcard}',DiplomaReceiveRemark='{entity.DiplomaReceiveRemark}' WHERE StuId='{item}'";
db.ExecuteBySql(sql);
foreach (var item in keyValueArr)
{
var sql = $"UPDATE StuInfoBasic SET DiplomaReceiveStatus='{status}',DiplomaReceiveDate='{now}',DiplomaReceiveSign='{entity.DiplomaReceiveSign}',DiplomaReceiveIdcard='{entity.DiplomaReceiveIdcard}',DiplomaReceiveRemark='{entity.DiplomaReceiveRemark}' WHERE StuId='{item}'";
db.ExecuteBySql(sql);

//判断离校手续是否全办完 且 毕业状态为准许毕业,若同时满足则修改毕业状态为已毕业和毕业时间;
var sql2 = $"update StuInfoBasic set FinishSchoolMark='2',FinishSchoolDate='{now}' where StuId='{item}' and FinishSchoolMark='1' and ReturnBooksStatus='1' and EmployAgreeStatus='1' and FeeSettleStatus='1' and CheckOutStatus='1' and CardDeregistrateStatus='1' and FileTransferStatus='1' and TissueStatus='1' ";
db.ExecuteBySql(sql2);
//判断离校手续是否全办完 且 毕业状态为准许毕业,若同时满足则修改毕业状态为已毕业和毕业时间;
var sql2 = $"update StuInfoBasic set FinishSchoolMark='2',FinishSchoolDate='{now}' where StuId='{item}' and FinishSchoolMark='1' and ReturnBooksStatus='1' and EmployAgreeStatus='1' and FeeSettleStatus='1' and CheckOutStatus='1' and CardDeregistrateStatus='1' and FileTransferStatus='1' and TissueStatus='1' ";
db.ExecuteBySql(sql2);
}
}
else
{

var stuIds = string.Join("','", keyValueArr);
var ls = db.FindList<StuInfoBasicEntity>().Any(x => x.DiplomaReceiveStatus == "1" && keyValueArr.Contains(x.StuId));//($"select * from StuInfoBasic where DiplomaReceiveStatus='1' and StuId in ('{stuIds}')");
if (ls)
{
throw new ArgumentException("已领取毕业证的不可重复操作");
}
else
{
var sql = $"UPDATE StuInfoBasic SET DiplomaReceiveStatus='{status}',DiplomaReceiveDate='{now}',DiplomaReceiveSign=StuName,DiplomaReceiveIdcard='',DiplomaReceiveRemark='' WHERE StuId in ('{stuIds}')";
db.ExecuteBySql(sql);

//判断离校手续是否全办完 且 毕业状态为准许毕业,若同时满足则修改毕业状态为已毕业和毕业时间;
var sql2 = $"update StuInfoBasic set FinishSchoolMark='2',FinishSchoolDate='{now}' where StuId in ('{stuIds}') and FinishSchoolMark='1' and ReturnBooksStatus='1' and EmployAgreeStatus='1' and FeeSettleStatus='1' and CheckOutStatus='1' and CardDeregistrateStatus='1' and FileTransferStatus='1' and TissueStatus='1' ";
db.ExecuteBySql(sql2);
}
}
}
else
@@ -780,6 +810,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
throw;
}
else if (ex is ArgumentException)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);


+ 27
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScore/StuScoreBLL.cs Целия файл

@@ -1073,6 +1073,33 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}
#endregion
/// <summary>
/// 成绩导入
/// </summary>
/// <param name="type"></param>
/// <param name="dt"></param>
/// <param name="fileGuid"></param>
/// <param name="queryJson"></param>
/// <returns></returns>
public (DataTable failDt, int snum, int fnum) ExecuteImportExcel(int type, DataTable dt, string fileGuid, string queryJson)
{
try
{
return stuScoreService.ExecuteImportExcel(type, dt, fileGuid, queryJson);

}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}

}
}
}
}

+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScore/StuScoreIBLL.cs Целия файл

@@ -251,6 +251,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration

#endregion

(DataTable failDt, int snum, int fnum) ExecuteImportExcel(int type, DataTable dt, string fileGuid, string queryJson);
IEnumerable<WebHelper.YearGrade> GetLessonNoDataFromStuNo(string academicYearNo, string semester, string stuNo);
void UpEmpNos(string xn, string xq, string classNo, string LessonNo, string EmpNo, string HisEmpNo, string Grade);
}


+ 329
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScore/StuScoreService.cs Целия файл

@@ -9,6 +9,8 @@ using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Learun.Cache.Base;
using Learun.Cache.Factory;

namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
@@ -21,6 +23,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// </summary>
public class StuScoreService : RepositoryFactory
{
#region 缓存定义
private ICache cache = CacheFactory.CaChe();
private string cacheKey = "Learun_adms_excelError_";
#endregion
#region 构造函数和属性

private string fieldSql;
@@ -2010,6 +2016,329 @@ and a.Academicyearno='" + academicYearNo + "' and a.Semester='" + semester + "')
}
}
}
/// <summary>
/// 成绩导入--必修课 选修课
/// </summary>
/// <param name="type">1:必修,2:选修</param>
/// <param name="dt"></param>
/// <param name="fileGuid"></param>
/// <param name="queryJson"></param>
/// <returns></returns>
public (DataTable failDt, int snum, int fnum) ExecuteImportExcel(int type, DataTable dt, string fileGuid, string queryJson)
{
if (type == 1)
{
//必修
return ExecuteImportExcelForRequired(dt, fileGuid, queryJson);
}
else
{
//选修
return ExecuteImportExcelForElective(dt, fileGuid, queryJson);
}

}

/// <summary>
/// 导入学生成绩--必修课
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
private (DataTable failDt, int snum, int fnum) ExecuteImportExcelForRequired(DataTable dt, string fileGuid, string queryJson)
{
//成功记录数
int snum = 0;
//总记录数
int num = 0;
var db = this.BaseRepository("CollegeMIS");
var msg = "";
try
{
db.BeginTrans();
// 创建一个datatable容器用于保存导入失败的数据
DataTable failDt = new DataTable();

var queryParam = queryJson.ToJObject();
var F_SchoolId = queryParam["F_SchoolId"].ToString();
var AcademicYearNo = queryParam["AcademicYearNo"].ToString();
var Semester = queryParam["Semester"].ToString();
var LessonNo = queryParam["LessonNo"].ToString();
var ClassNo = queryParam["ClassNo"].ToString();
var classInfoList = db.FindList<ClassInfoEntity>();
var lessonInfoList = db.FindList<LessonInfoEntity>();
var classInfoEntity = classInfoList.FirstOrDefault(x => x.ClassNo == ClassNo);
var lessonInfoEntity = lessonInfoList.FirstOrDefault(x => x.LessonNo == LessonNo && x.CheckMark == true);

if (classInfoEntity != null)
{
//获取成绩比例数据
var stuSelectLessonListEntity = db.FindEntity<StuSelectLessonListEntity>(x => x.F_SchoolId == F_SchoolId && x.AcademicYearNo == AcademicYearNo && x.Semester == Semester && x.OpenLessonDeptNo == classInfoEntity.DeptNo && x.OpenLessonMajorNo == classInfoEntity.MajorNo && x.LessonNo == LessonNo && x.LessonSortNo == "1" && x.ClassNo == ClassNo);
if (stuSelectLessonListEntity != null)
{
//当前班级学生成绩
var list = GetList(queryJson).ToList();

foreach (DataColumn dc in dt.Columns)
{
failDt.Columns.Add(dc.ColumnName, dc.DataType);
}
failDt.Columns.Add("导入错误", typeof(string));
dt.Columns.Add("导入错误", typeof(string));

foreach (DataRow dr in dt.Rows)
{
try
{
var stuno = dr["学号"].ToString().Trim();
var academicYearNo_dr = dr["学年"].ToString().Trim();
var semester_dr = dr["学期"].ToString().Trim();
var lessoninfo_dr = dr["课程名称"].ToString().Trim();
var classinfo_dr = dr["班级"].ToString().Trim();
//var lessonNo_dr = lessonInfoList.FirstOrDefault(x => x.LessonName == lessoninfo_dr)?.LessonNo;
//var classNo_dr = classInfoList.FirstOrDefault(x => x.ClassName == classinfo_dr)?.ClassNo;

if (!string.IsNullOrEmpty(stuno))
{
num++;
if (!academicYearNo_dr.Equals(AcademicYearNo) || !semester_dr.Equals(Semester))
{
dr["导入错误"] = "学年学期与查询条件不匹配!";
failDt.Rows.Add(dr.ItemArray);
continue;
}

if (!classinfo_dr.Equals(classInfoEntity.ClassName))
{
dr["导入错误"] = "班级与查询条件班级(" + classInfoEntity.ClassName + ")不匹配!";
failDt.Rows.Add(dr.ItemArray);
continue;
}
if (!lessoninfo_dr.Equals(lessonInfoEntity.LessonName))
{
dr["导入错误"] = "课程与查询条件课程(" + lessonInfoEntity.LessonName + ")不匹配!";
failDt.Rows.Add(dr.ItemArray);
continue;
}

if (!lessoninfo_dr.Equals(lessonInfoEntity.LessonName) || !classinfo_dr.Equals(classInfoEntity.ClassName))
{
dr["导入错误"] = "课程:" + lessonInfoEntity.LessonName + ",班级:" + classInfoEntity.ClassName + "找不到学号为" + stuno + "的学生";
failDt.Rows.Add(dr.ItemArray);
continue;
}
var item = list.Find(x => x.StuNo == stuno && x.LessonNo == LessonNo && x.ClassNo == ClassNo);
var OrdinaryScore = Convert.ToDecimal(string.IsNullOrEmpty(dr["平时成绩"].ToString().Trim()) ? "0" : dr["平时成绩"].ToString().Trim());
var TermInScore = Convert.ToDecimal(string.IsNullOrEmpty(dr["期中成绩"].ToString().Trim()) ? "0" : dr["期中成绩"].ToString().Trim());
var TermEndScore = Convert.ToDecimal(string.IsNullOrEmpty(dr["期末成绩"].ToString().Trim()) ? "0" : dr["期末成绩"].ToString().Trim());
var OtherScore = Convert.ToDecimal(string.IsNullOrEmpty(dr["其他成绩"].ToString().Trim()) ? "0" : dr["其他成绩"].ToString().Trim());
if (OrdinaryScore < 0 || TermInScore < 0 || TermEndScore < 0 || OtherScore < 0)
{
dr["导入错误"] = "成绩必须大于0!";
failDt.Rows.Add(dr.ItemArray);
continue;
}
var Score = Math.Round(Convert.ToDouble(OrdinaryScore * (stuSelectLessonListEntity.OrdinaryScoreScale / 100) +
TermInScore * (stuSelectLessonListEntity.TermInScoreScale / 100) +
TermEndScore * (stuSelectLessonListEntity.TermEndScoreScale / 100) +
OtherScore * (stuSelectLessonListEntity.OtherScoreScale / 100)), MidpointRounding.AwayFromZero);
var remark = dr["备注"].ToString().Trim();
db.ExecuteBySql($"update StuScore set OrdinaryScore={OrdinaryScore},TermInScore={TermInScore},TermEndScore={TermEndScore},OtherScore={OtherScore},Score={Score},Remark='{remark}' where ScoreId='{item.ScoreId}' ");

}
else
{
break;
}
}
catch (Exception e)
{
dr["导入错误"] = "出现异常:" + e.Message;
failDt.Rows.Add(dr.ItemArray);
continue;
}
}
db.Commit();

// 写入缓存如果有未导入的数据
if (failDt.Rows.Count > 0)
{
string errordt = failDt.ToJson();

cache.Write<string>(cacheKey + fileGuid, errordt, CacheId.excel);
}
snum = (num - failDt.Rows.Count) > 0 ? num - failDt.Rows.Count : 0;
}
}

return (failDt, snum, failDt.Rows.Count);
}
catch (Exception ex)
{
db.Rollback();
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 导入学生成绩--选修课
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
private (DataTable failDt, int snum, int fnum) ExecuteImportExcelForElective(DataTable dt, string fileGuid, string queryJson)
{

//成功记录数
int snum = 0;
//总记录数
int num = 0;
var db = this.BaseRepository("CollegeMIS");
var msg = "";
try
{
db.BeginTrans();

//创建一个datatable容器用于保存导入失败的数据
DataTable failDt = new DataTable();

var queryParam = queryJson.ToJObject();
var F_SchoolId = queryParam["F_SchoolId"].ToString();
var AcademicYearNo = queryParam["AcademicYearNo"].ToString();
var Semester = queryParam["Semester"].ToString();
var LessonNo = queryParam["LessonNo"].ToString();
var LessonSection = queryParam["LessonSection"].ToString();
var ClassRoomNo = queryParam["ClassRoomNo"].ToString();

var classRoomList = db.FindList<ClassroomInfoEntity>();
var lessonInfoList = db.FindList<LessonInfoEntity>();
var lessonInfoEntity = lessonInfoList.FirstOrDefault(x => x.LessonNo == LessonNo && x.CheckMark == true);
var classRoomEntity = classRoomList.FirstOrDefault(x => x.ClassroomNo == ClassRoomNo);

//成绩比例数据
var stuSelectLessonListOfElectiveEntity = this.BaseRepository("CollegeMIS").FindEntity<StuSelectLessonListOfElectiveEntity>(x => x.F_SchoolId == F_SchoolId && x.AcademicYearNo == AcademicYearNo && x.Semester == Semester && x.LessonNo == LessonNo && x.LessonSortNo == "2" && x.ClassRoomNo == ClassRoomNo && x.LessonSection == LessonSection);

if (stuSelectLessonListOfElectiveEntity != null)
{
//查询学生成绩数据
var list = GetList(queryJson).ToList();

foreach (DataColumn dc in dt.Columns)
{
failDt.Columns.Add(dc.ColumnName, dc.DataType);
}
failDt.Columns.Add("导入错误", typeof(string));
dt.Columns.Add("导入错误", typeof(string));

foreach (DataRow dr in dt.Rows)
{
try
{
var stuno = dr["学号"].ToString().Trim();
var academicYearNo_dr = dr["学年"].ToString().Trim();
var semester_dr = dr["学期"].ToString().Trim();
var lessoninfo_dr = dr["课程名称"].ToString().Trim();
var classRoominfo_dr = dr["教室名称"].ToString().Trim();
var lessonSection_dr = dr["节次"].ToString().Trim();
//var lessonNo_dr = lessonInfoList.FirstOrDefault(x => x.LessonName == lessoninfo_dr)?.LessonNo;
//var classRoomNo_dr = classRoomList.FirstOrDefault(x => x.ClassroomName == classRoominfo_dr)?.ClassroomNo;
if (!string.IsNullOrEmpty(stuno))
{
num++;
var item = list.Find(x => x.StuNo == stuno && x.LessonNo == LessonNo && x.ClassRoomNo == ClassRoomNo && x.LessonSection == LessonSection);
if (!academicYearNo_dr.Equals(AcademicYearNo) || !semester_dr.Equals(semester_dr))
{
dr["导入错误"] = "学年学期与查询条件不匹配!";
failDt.Rows.Add(dr.ItemArray);
continue;
}

if (!lessoninfo_dr.Equals(lessonInfoEntity.LessonName))
{
dr["导入错误"] = "课程与查询条件课程(" + lessonInfoEntity.LessonName + ")不匹配!";
failDt.Rows.Add(dr.ItemArray);
continue;
}
if (!classRoominfo_dr.Equals(classRoomEntity.ClassroomName))
{
dr["导入错误"] = "教室与查询条件教室(" + classRoomEntity.ClassroomName + ")不匹配!";
failDt.Rows.Add(dr.ItemArray);
continue;
}
if (!lessonSection_dr.Equals(LessonSection))
{
dr["导入错误"] = "节次与查询条件节次(" + LessonSection + ")不匹配!";
failDt.Rows.Add(dr.ItemArray);
continue;
}
if (item == null)
{
dr["导入错误"] = "课程:" + lessonInfoEntity.LessonName + "在" + LessonSection + "节次找不到学号为" + stuno + "的学生";
failDt.Rows.Add(dr.ItemArray);
continue;
}
var OrdinaryScore = Convert.ToDecimal(string.IsNullOrEmpty(dr["平时成绩"].ToString().Trim()) ? "0" : dr["平时成绩"].ToString().Trim());
var TermInScore = Convert.ToDecimal(string.IsNullOrEmpty(dr["期中成绩"].ToString().Trim()) ? "0" : dr["期中成绩"].ToString().Trim());
var TermEndScore = Convert.ToDecimal(string.IsNullOrEmpty(dr["期末成绩"].ToString().Trim()) ? "0" : dr["期末成绩"].ToString().Trim());
var OtherScore = Convert.ToDecimal(string.IsNullOrEmpty(dr["其他成绩"].ToString().Trim()) ? "0" : dr["其他成绩"].ToString().Trim());
if (OrdinaryScore < 0 || TermInScore < 0 || TermEndScore < 0 || OtherScore < 0)
{
dr["导入错误"] = "成绩必须大于0!";
failDt.Rows.Add(dr.ItemArray);
continue;
}

var Score = Math.Round(Convert.ToDouble(OrdinaryScore * (stuSelectLessonListOfElectiveEntity.OrdinaryScoreScale / 100) +
TermInScore * (stuSelectLessonListOfElectiveEntity.TermInScoreScale / 100) +
TermEndScore * (stuSelectLessonListOfElectiveEntity.TermEndScoreScale / 100) +
OtherScore * (stuSelectLessonListOfElectiveEntity.OtherScoreScale / 100)), MidpointRounding.AwayFromZero);
var remark = dr["备注"].ToString().Trim();
db.ExecuteBySql($"update StuScore set OrdinaryScore={OrdinaryScore},TermInScore={TermInScore},TermEndScore={TermEndScore},OtherScore={OtherScore},Score={Score},Remark='{remark}' where ScoreId='{item.ScoreId}' ");
}
else
{
break;
}
}
catch (Exception e)
{
dr["导入错误"] = "出现异常:" + e.Message;
failDt.Rows.Add(dr.ItemArray);
continue;
}
}
db.Commit();

// 写入缓存如果有未导入的数据
if (failDt.Rows.Count > 0)
{
string errordt = failDt.ToJson();

cache.Write<string>(cacheKey + fileGuid, errordt, CacheId.excel);
}

snum = (num - failDt.Rows.Count) > 0 ? num - failDt.Rows.Count : 0;
}
return (failDt, snum, failDt.Rows.Count);
}
catch (Exception ex)
{
db.Rollback();
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

}
}

+ 19
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScoreNotPass/StuScoreNotPassBLL.cs Целия файл

@@ -442,5 +442,24 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}
#endregion

public (DataTable failDt, int snum, int fnum) ExecuteImportExcelForNotPass(DataTable dt, string fileGuid, string queryJson)
{
try
{
return stuScoreNotPassService.ExecuteImportExcelForNotPass(dt, fileGuid, queryJson);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
}
}

+ 9
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScoreNotPass/StuScoreNotPassIBLL.cs Целия файл

@@ -124,5 +124,14 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
void SubmitStuScore(string AcademicYearNo, string Semester, string LessonNo, string TeachClassNo, string EmpNo);

#endregion

/// <summary>
/// 补考成绩导入
/// </summary>
/// <param name="dt"></param>
/// <param name="fileGuid"></param>
/// <param name="queryJson"></param>
/// <returns></returns>
(DataTable failDt, int snum, int fnum) ExecuteImportExcelForNotPass(DataTable dt, string fileGuid, string queryJson);
}
}

+ 141
- 2
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScoreNotPass/StuScoreNotPassService.cs Целия файл

@@ -1,4 +1,6 @@
using Dapper;
using Learun.Cache.Base;
using Learun.Cache.Factory;
using Learun.DataBase.Repository;
using Learun.Util;
using System;
@@ -18,6 +20,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// </summary>
public class StuScoreNotPassService : RepositoryFactory
{
#region 缓存定义
private ICache cache = CacheFactory.CaChe();
private string cacheKey = "Learun_adms_excelError_";
#endregion
#region 构造函数和属性

private string fieldSql;
@@ -427,7 +433,7 @@ else CONVERT(varchar,a.Score) end as Score2 ");
select a.* from
StuScore a
left join StuInfoBasic b on b.StuNo=a.StuNo
where a.LessonSortNo='1' and b.AbmormityMoveMark <> '1'
where a.LessonSortNo='1' and (b.AbmormityMoveMark<>'1' or len(b.AbmormityMoveMark)=0 or b.AbmormityMoveMark is null)
and ( (a.Score >= 0 and a.Score<60) or a.Score=(-5) or a.Score=(-10) )
and a.StuNo not in (
select StuNo from StuScoreNotPass p where p.AcademicYearNo=a.AcademicYearNo and p.Semester=a.Semester and p.LessonNo=a.LessonNo and p.TeachClassNo=a.TeachClassNo and p.LessonSortNo=a.LessonSortNo and p.OpenLessonDeptNo=a.OpenLessonDeptNo and p.OpenLessonMajorNo=a.OpenLessonMajorNo
@@ -489,7 +495,7 @@ order by bb.ScoreId";
var strSql = new StringBuilder();
strSql.Append("select distinct s.LessonNo as value,s.LessonName as text from StuScoreNotPass s ");
strSql.Append(" left join LessonInfo l on s.LessonNo=l.LessonNo left join CdLessonType t on l.LessonTypeId=t.LTId ");
strSql.Append(" where s.LessonSortNo='1' and t.LessonTypeCode='OpenLesson' ");
strSql.Append(" where s.LessonSortNo='1' ");
if (userType == "教师")
{
strSql.Append(" and s.EmpNo='" + userAccount + "' ");
@@ -766,6 +772,139 @@ order by bb.ScoreId";


#endregion
/// <summary>
/// 导入学生成绩--补考成绩
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public (DataTable failDt, int snum, int fnum) ExecuteImportExcelForNotPass(DataTable dt, string fileGuid, string queryJson)
{
//成功记录数
int snum = 0;
//总记录数
int num = 0;
var db = this.BaseRepository("CollegeMIS");
var msg = "";
try
{
db.BeginTrans();
// 创建一个datatable容器用于保存导入失败的数据
DataTable failDt = new DataTable();

var queryParam = queryJson.ToJObject();
var F_SchoolId = queryParam["F_SchoolId"].ToString();
var AcademicYearNo = queryParam["AcademicYearNo"].ToString();
var Semester = queryParam["Semester"].ToString();
var LessonNo = queryParam["LessonNo"].ToString();
var ClassNo = queryParam["ClassNo"].ToString();
var classInfoList = db.FindList<ClassInfoEntity>();
var lessonInfoList = db.FindList<LessonInfoEntity>();
var classInfoEntity = classInfoList.FirstOrDefault(x => x.ClassNo == ClassNo);
var lessonInfoEntity = lessonInfoList.FirstOrDefault(x => x.LessonNo == LessonNo && x.CheckMark == true);

if (classInfoEntity != null && lessonInfoEntity != null)
{
//当前班级学生成绩
var list = GetList(queryJson).ToList();

foreach (DataColumn dc in dt.Columns)
{
failDt.Columns.Add(dc.ColumnName, dc.DataType);
}
failDt.Columns.Add("导入错误", typeof(string));
dt.Columns.Add("导入错误", typeof(string));

foreach (DataRow dr in dt.Rows)
{
try
{
var stuno = dr["学号"].ToString().Trim();
var academicYearNo_dr = dr["学年"].ToString().Trim();
var semester_dr = dr["学期"].ToString().Trim();
var lessoninfo_dr = dr["课程名称"].ToString().Trim();
var classinfo_dr = dr["班级"].ToString().Trim();

if (!string.IsNullOrEmpty(stuno))
{
num++;
if (!academicYearNo_dr.Equals(AcademicYearNo) || !semester_dr.Equals(Semester))
{
dr["导入错误"] = "学年学期与查询条件不符!";
failDt.Rows.Add(dr.ItemArray);
continue;
}

if (!classinfo_dr.Equals(classInfoEntity.ClassName))
{
dr["导入错误"] = "班级与查询条件班级(" + classInfoEntity.ClassName + ")不匹配!";
failDt.Rows.Add(dr.ItemArray);
continue;
}
if (!lessoninfo_dr.Equals(lessonInfoEntity.LessonName))
{
dr["导入错误"] = "课程与查询条件课程(" + lessonInfoEntity.LessonName + ")不匹配!";
failDt.Rows.Add(dr.ItemArray);
continue;
}
var item = list.Find(x => x.StuNo == stuno && x.LessonNo == LessonNo && x.ClassNo == ClassNo);
if (item == null)
{
dr["导入错误"] = "课程:" + lessonInfoEntity.LessonName + ",班级:" + classInfoEntity.ClassName + "找不到学号为" + stuno + "的学生";
failDt.Rows.Add(dr.ItemArray);
continue;
}
var TermEndScore = Convert.ToDecimal(string.IsNullOrEmpty(dr["期末成绩"].ToString().Trim()) ? "0" : dr["期末成绩"].ToString().Trim());
if (TermEndScore < 0)
{
dr["导入错误"] = "成绩必须大于0!";
failDt.Rows.Add(dr.ItemArray);
continue;
}
var Score = Math.Round(TermEndScore, MidpointRounding.AwayFromZero);
var remark = dr["备注"].ToString().Trim();
db.ExecuteBySql($"update StuScoreNotPass set TermEndScore={TermEndScore},Score={Score},Remark='{remark}' where ScoreId='{item.ScoreId}' ");

}
else
{
break;
}
}
catch (Exception e)
{
dr["导入错误"] = "出现异常:" + e.Message;
failDt.Rows.Add(dr.ItemArray);
continue;
}
}
db.Commit();

// 写入缓存如果有未导入的数据
if (failDt.Rows.Count > 0)
{
string errordt = failDt.ToJson();

cache.Write<string>(cacheKey + fileGuid, errordt, CacheId.excel);
}
snum = (num - failDt.Rows.Count) > 0 ? num - failDt.Rows.Count : 0;

}

return (failDt, snum, failDt.Rows.Count);
}
catch (Exception ex)
{
db.Rollback();
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

}
}

+ 19
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScoreNotPassTwo/StuScoreNotPassTwoBLL.cs Целия файл

@@ -450,5 +450,24 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration


#endregion

public (DataTable failDt, int snum, int fnum) ExecuteImportExcelForNotPassTwo(DataTable dt, string fileGuid, string queryJson)
{
try
{
return stuScoreNotPassTwoService.ExecuteImportExcelForNotPassTwo(dt, fileGuid, queryJson);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
}
}

+ 8
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScoreNotPassTwo/StuScoreNotPassTwoIBLL.cs Целия файл

@@ -127,5 +127,13 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration


#endregion
/// <summary>
/// 补考成绩导入
/// </summary>
/// <param name="dt"></param>
/// <param name="fileGuid"></param>
/// <param name="queryJson"></param>
/// <returns></returns>
(DataTable failDt, int snum, int fnum) ExecuteImportExcelForNotPassTwo(DataTable dt, string fileGuid, string queryJson);
}
}

+ 143
- 2
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuScoreNotPassTwo/StuScoreNotPassTwoService.cs Целия файл

@@ -1,4 +1,6 @@
using Dapper;
using Learun.Cache.Base;
using Learun.Cache.Factory;
using Learun.DataBase.Repository;
using Learun.Util;
using System;
@@ -18,6 +20,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// </summary>
public class StuScoreNotPassTwoService : RepositoryFactory
{
#region 缓存定义
private ICache cache = CacheFactory.CaChe();
private string cacheKey = "Learun_adms_excelError_";
#endregion
#region 获取数据

/// <summary>
@@ -406,7 +412,7 @@ else CONVERT(varchar,a.Score) end as Score2 ");
select a.* from
StuScoreNotPass a
left join StuInfoBasic b on b.StuNo=a.StuNo
where a.LessonSortNo='1' and b.AbmormityMoveMark <> '1'
where a.LessonSortNo='1' and (b.AbmormityMoveMark<>'1' or len(b.AbmormityMoveMark)=0 or b.AbmormityMoveMark is null)
and ( (a.Score >= 0 and a.Score<60) or a.Score=(-5) or a.Score=(-10) )
and a.StuNo not in (
select StuNo from StuScoreNotPassTwo p where p.AcademicYearNo=a.AcademicYearNo and p.Semester=a.Semester and p.LessonNo=a.LessonNo and p.TeachClassNo=a.TeachClassNo and p.LessonSortNo=a.LessonSortNo and p.OpenLessonDeptNo=a.OpenLessonDeptNo and p.OpenLessonMajorNo=a.OpenLessonMajorNo
@@ -465,7 +471,7 @@ order by bb.ScoreId";
var strSql = new StringBuilder();
strSql.Append("select distinct s.LessonNo as value,s.LessonName as text from StuScoreNotPassTwo s ");
strSql.Append(" left join LessonInfo l on s.LessonNo=l.LessonNo left join CdLessonType t on l.LessonTypeId=t.LTId ");
strSql.Append(" where s.LessonSortNo='1' and t.LessonTypeCode='OpenLesson' ");
strSql.Append(" where s.LessonSortNo='1' ");
if (userType == "教师")
{
strSql.Append(" and s.EmpNo='" + userAccount + "' ");
@@ -742,5 +748,140 @@ order by bb.ScoreId";


#endregion

/// <summary>
/// 导入学生成绩--补考成绩
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public (DataTable failDt, int snum, int fnum) ExecuteImportExcelForNotPassTwo(DataTable dt, string fileGuid, string queryJson)
{
//成功记录数
int snum = 0;
//总记录数
int num = 0;
var db = this.BaseRepository("CollegeMIS");
var msg = "";
try
{
db.BeginTrans();
// 创建一个datatable容器用于保存导入失败的数据
DataTable failDt = new DataTable();

var queryParam = queryJson.ToJObject();
var F_SchoolId = queryParam["F_SchoolId"].ToString();
var AcademicYearNo = queryParam["AcademicYearNo"].ToString();
var Semester = queryParam["Semester"].ToString();
var LessonNo = queryParam["LessonNo"].ToString();
var ClassNo = queryParam["ClassNo"].ToString();
var classInfoList = db.FindList<ClassInfoEntity>();
var lessonInfoList = db.FindList<LessonInfoEntity>();
var classInfoEntity = classInfoList.FirstOrDefault(x => x.ClassNo == ClassNo);
var lessonInfoEntity = lessonInfoList.FirstOrDefault(x => x.LessonNo == LessonNo && x.CheckMark == true);

if (classInfoEntity != null && lessonInfoEntity != null)
{
//当前班级学生成绩
var list = GetList(queryJson).ToList();

foreach (DataColumn dc in dt.Columns)
{
failDt.Columns.Add(dc.ColumnName, dc.DataType);
}
failDt.Columns.Add("导入错误", typeof(string));
dt.Columns.Add("导入错误", typeof(string));

foreach (DataRow dr in dt.Rows)
{
try
{
var stuno = dr["学号"].ToString().Trim();
var academicYearNo_dr = dr["学年"].ToString().Trim();
var semester_dr = dr["学期"].ToString().Trim();
var lessoninfo_dr = dr["课程名称"].ToString().Trim();
var classinfo_dr = dr["班级"].ToString().Trim();

if (!string.IsNullOrEmpty(stuno))
{
num++;
if (!academicYearNo_dr.Equals(AcademicYearNo) || !semester_dr.Equals(Semester))
{
dr["导入错误"] = "学年学期与查询条件不匹配!";
failDt.Rows.Add(dr.ItemArray);
continue;
}

if (!classinfo_dr.Equals(classInfoEntity.ClassName))
{
dr["导入错误"] = "班级与查询条件班级(" + classInfoEntity.ClassName + ")不匹配!";
failDt.Rows.Add(dr.ItemArray);
continue;
}
if (!lessoninfo_dr.Equals(lessonInfoEntity.LessonName))
{
dr["导入错误"] = "课程与查询条件课程(" + lessonInfoEntity.LessonName + ")不匹配!";
failDt.Rows.Add(dr.ItemArray);
continue;
}
var item = list.Find(x => x.StuNo == stuno && x.LessonNo == LessonNo && x.ClassNo == ClassNo);
if (item == null)
{
dr["导入错误"] = "课程:" + lessonInfoEntity.LessonName + ",班级:" + classInfoEntity.ClassName + "找不到学号为" + stuno + "的学生";
failDt.Rows.Add(dr.ItemArray);
continue;
}
var TermEndScore = Convert.ToDecimal(string.IsNullOrEmpty(dr["期末成绩"].ToString().Trim()) ? "0" : dr["期末成绩"].ToString().Trim());
if (TermEndScore < 0)
{
dr["导入错误"] = "成绩必须大于0!";
failDt.Rows.Add(dr.ItemArray);
continue;
}
var Score = Math.Round(TermEndScore, MidpointRounding.AwayFromZero);
var remark = dr["备注"].ToString().Trim();
db.ExecuteBySql($"update StuScoreNotPassTwo set TermEndScore={TermEndScore},Score={Score},Remark='{remark}' where ScoreId='{item.ScoreId}' ");

}
else
{
break;
}
}
catch (Exception e)
{
dr["导入错误"] = "出现异常:" + e.Message;
failDt.Rows.Add(dr.ItemArray);
continue;
}
}
db.Commit();

// 写入缓存如果有未导入的数据
if (failDt.Rows.Count > 0)
{
string errordt = failDt.ToJson();

cache.Write<string>(cacheKey + fileGuid, errordt, CacheId.excel);
}
snum = (num - failDt.Rows.Count) > 0 ? num - failDt.Rows.Count : 0;

}

return (failDt, snum, failDt.Rows.Count);
}
catch (Exception ex)
{
db.Rollback();
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

}
}

+ 5
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoService.cs Целия файл

@@ -111,6 +111,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
dp.Add("F_EnabledMark", queryParam["F_EnabledMark"].ToString(), DbType.String);
strSql.Append(" AND t.F_EnabledMark = @F_EnabledMark ");
}
if(!queryParam["Grade"].IsEmpty())
{
dp.Add("Grade", queryParam["Grade"].ToString(), DbType.String);
strSql.Append(" AND (Grade=@Grade OR NewGrade=@Grade) ");
}
return this.BaseRepository("CollegeMIS").FindList<StuTransferInfoEntity>(strSql.ToString(), dp, pagination);
}
catch (Exception ex)


+ 11
- 25
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/TextBookOut/TextBookOutService.cs Целия файл

@@ -4,6 +4,7 @@ using Learun.Util;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;

namespace Learun.Application.TwoDevelopment.EducationalAdministration
@@ -241,9 +242,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
var db = this.BaseRepository("CollegeMIS").BeginTrans();
try
{
decimal? variate = 0;
if (textbookOutList.Count > 0)
var newtextInOutEntity = db.FindEntity<TextbookInOutEntity>(x => x.BookCode == entity.BookCode);
if (newtextInOutEntity != null)
{
decimal? variate = 0;//出库单数量之和,临时
for (int i = 0; i < textbookOutList.Count; i++)
{
textbookOutList[i].InOutCode = entity.BookCode;
@@ -259,30 +261,14 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
textbookOutList[i].Impression = entity.Impression;
variate += textbookOutList[i].Variate;
}

db.Insert(textbookOutList);

if (variate != 0 && variate > 0)
if (variate > 0 && newtextInOutEntity.FinallyNum >= variate)
{
var newtextInOutEntity = db.FindEntity<TextbookInOutEntity>(x => x.BookCode == entity.BookCode);
if (newtextInOutEntity != null)
{
newtextInOutEntity.FinallyNum -= variate;
newtextInOutEntity.CKNum += variate;

if (newtextInOutEntity.FinallyNum > 0 || newtextInOutEntity.FinallyNum == 0)
{
db.Update(newtextInOutEntity);
}
else
{
db.Rollback();
}
}
else
{
db.Rollback();
}
//写入出库单
db.Insert(textbookOutList);
//更新出库
newtextInOutEntity.FinallyNum -= variate;
newtextInOutEntity.CKNum += variate;
db.Update(newtextInOutEntity);
}
}
db.Commit();


+ 11
- 1
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/TextbookInOut/TextbookInOutService.cs Целия файл

@@ -85,9 +85,19 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
if (!queryParam["TextBookName"].IsEmpty())
{
strSql.Append(" and TextBookName like @TextBookName ");
strSql.Append(" and t.TextBookName like @TextBookName ");
dp.Add("TextBookName", "%" + queryParam["TextBookName"].ToString() + "%", DbType.String);
}
if (!queryParam["TextBookNo"].IsEmpty())
{
strSql.Append(" and t.TextBookNo like @TextBookNo ");
dp.Add("TextBookNo", "%" + queryParam["TextBookNo"].ToString() + "%", DbType.String);
}
if (!queryParam["FirstAuthor"].IsEmpty())
{
strSql.Append(" and t.FirstAuthor like @FirstAuthor ");
dp.Add("FirstAuthor", "%" + queryParam["FirstAuthor"].ToString() + "%", DbType.String);
}
return this.BaseRepository("CollegeMIS").FindList<TextbookInOutEntity>(strSql.ToString(), dp, pagination);
}
catch (Exception ex)


+ 2
- 2
Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js Целия файл

@@ -22,10 +22,10 @@ export default {
// ],
"apiHost": [
// "http://cyzjzx.gnway.cc:31218/"//测试地址接口
"http://219.139.155.38:8687/"//正式地址接口
"http://223.75.120.212:8002/"//正式地址接口
// "http://192.168.10.58:8012/"
],
"webHost":"http://cyzjzx.gnway.cc:30549/",//测试地址
// "webHost":"http://cyzjzx.gnway.cc:30549/",//测试地址
"webHost":"http://wxd3f.cyzjzx.com/",//正式地址
// "webHost":"http://192.168.10.175:8087/",
// 开发环境下自动填充登录账号密码,与接口地址一一对应,只在开发环境下显示


+ 3
- 3
Learun.Framework.Ultimate V7/LearunApp-2.2.0/manifest.json Целия файл

@@ -1,9 +1,9 @@
{
"name" : "智慧校园",
"appid" : "__UNI__3039520",
"appid" : "__UNI__7C24C09",
"description" : "智慧校园移动端",
"versionName" : "2.1.0",
"versionCode" : 20100,
"versionName" : "2.2.0",
"versionCode" : 20200,
"transformPx" : false,
/* 5+App特有相关 */
"app-plus" : {


+ 2
- 2
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/my/password.vue Целия файл

@@ -41,8 +41,8 @@ export default {
const success = await this.HTTP_POST(
'learun/adms/user/modifypw',
{
newpassword: this.md5(newPwd),
oldpassword: this.md5(oldPwd)
newpassword: this.MD5(newPwd),
oldpassword: this.MD5(oldPwd)
},
'未能成功修改密码'
)


Зареждане…
Отказ
Запис