diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StuTransferInfoController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StuTransferInfoController.cs index 6a3b0ad30..1aff8aace 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StuTransferInfoController.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StuTransferInfoController.cs @@ -1,5 +1,6 @@ using Learun.Application.TwoDevelopment.EducationalAdministration; using Learun.Util; +using System.Collections.Generic; using System.Data; using System.Web.Mvc; @@ -147,7 +148,7 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers return Success("删除成功!"); } /// - /// 保存实体数据(新增、修改) + /// 转入 /// /// 主键 /// 实体 @@ -160,6 +161,51 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers stuTransferInfoIBLL.SaveEntity(keyValue, entity); return Success("保存成功!"); } + /// + /// 转专业,转班,留级/休学/退学/转出 + /// + /// 主键 + /// 实体 + /// + [HttpPost] + [ValidateAntiForgeryToken] + [AjaxOnly] + public ActionResult SaveForm(StuTransferInfoEntity entity, string strStuEntity) + { + List strStuList = strStuEntity.ToObject>(); + stuTransferInfoIBLL.SaveEntity(entity, strStuList); + return Success("操作成功!"); + } + /// + /// 复学 + /// + /// + /// + /// + /// + [HttpPost] + [ValidateAntiForgeryToken] + [AjaxOnly] + public ActionResult SaveAgainEntity(string keyValue, StuTransferInfoEntity entity, string strStuTranEntity) + { + List strStuTranList = strStuTranEntity.ToObject>(); + stuTransferInfoIBLL.SaveAgainEntity(entity, strStuTranList); + return Success("操作成功!"); + } + + /// + /// 审核 + /// + /// + /// + [HttpPost] + [AjaxOnly] + public ActionResult CheckForm(string keyValue) + { + stuTransferInfoIBLL.CheckEntity(keyValue); + return Success("审核成功!"); + } + #endregion } diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuTransferInfo/CheckIndex.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuTransferInfo/CheckIndex.cshtml new file mode 100644 index 000000000..5f8894a42 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuTransferInfo/CheckIndex.cshtml @@ -0,0 +1,59 @@ +@{ + ViewBag.Title = "学籍异动列表"; + Layout = "~/Views/Shared/_Index.cshtml"; +} +
+
+
+
+
+
+
+
+
+
异动类型
+
+
+
+
姓名
+ +
+
+
班级
+
+
+
+
申请人
+
+
+ @*
+
审核人
+
+
*@ +
+
审核状态
+
+
+ @*
+
保留学籍
+
+
*@ +
+
+
+
+
+
+ +
+ +
+
+
+
+
+
+@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StuTransferInfo/CheckIndex.js") diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuTransferInfo/CheckIndex.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuTransferInfo/CheckIndex.js new file mode 100644 index 000000000..c359acf88 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuTransferInfo/CheckIndex.js @@ -0,0 +1,346 @@ +/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) + * Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + * 创建人:超级管理员 + * 日 期:2023-01-04 15:03 + * 描 述:学籍异动列表 + */ +var selectedRow; +var refreshGirdData; +var bootstrap = function ($, learun) { + "use strict"; + var page = { + init: function () { + page.initGird(); + page.bind(); + }, + bind: function () { + // 查询 + $('#multiple_condition_query').lrMultipleQuery(function (queryJson) { + page.search(queryJson); + }, 245, 400); + $('#AnomalousType').lrDataItemSelect({ code: 'StuChangeType' }); + $('#ClassNo').lrselect({ + allowSearch: true, + url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj', + param: { strWhere: "1=1 AND CheckMark=1 order by classno desc" }, + value: "classno", + text: "classname" + }); + $('#CheckUserId').lrDataSourceSelect({ code: 'teacheruserdata', value: 'f_encode', text: 'f_realname' }); + $('#CreateUserId').lrDataSourceSelect({ code: 'teacheruserdata', value: 'f_encode', text: 'f_realname' }); + $('#F_EnabledMark').lrDataItemSelect({ code: 'YesOrNoInt' }); + // 刷新 + $('#lr_refresh').on('click', function () { + location.reload(); + }); + // 打印 + $('#lr_print').on('click', function () { + $('#gridtable').jqprintTable(); + }); + // 审核 + $('#lr_check').on('click', function () { + var keyValue = $('#gridtable').jfGridValue('ID'); + if (learun.checkrow(keyValue)) { + var CheckMark = $('#gridtable').jfGridValue('CheckMark'); + if (CheckMark.indexOf('1') != -1) { + learun.alert.warning("选中记录中包含已审核项目,已审核项不能二次审核!"); + return; + } + learun.layerConfirm('是否确认审核选中项进行学籍异动,该项不可逆转!', function (res) { + if (res) { + learun.postForm(top.$.rootUrl + '/EducationalAdministration/StuTransferInfo/CheckForm', { keyValue: keyValue }, function () { + refreshGirdData(); + }); + } + }); + } + }); + // 删除 + $('#lr_delete').on('click', function () { + var keyValue = $('#gridtable').jfGridValue('Id'); + var CheckMark = $('#gridtable').jfGridValue('F_EnabledMark'); + if (learun.checkrow(keyValue)) { + if (CheckMark.indexOf('1') != -1) { + learun.alert.warning("选中记录中包含已审核项目,不可删除!"); + return; + } + learun.layerConfirm('是否确认删除该项!', function (res) { + if (res) { + learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/StuTransferInfo/DeleteForm', { keyValue: keyValue }, function () { + refreshGirdData(); + }); + } + }); + } + }); + }, + initGird: function () { + $('#gridtable').lrAuthorizeJfGridLei({ + url: top.$.rootUrl + '/EducationalAdministration/StuTransferInfo/GetPageList', + headData: [ + { label: '姓名', name: 'StuName', width: 100, align: "left" }, + { label: '学号', name: 'StuNo', width: 150, align: "left" }, + { label: '性别', name: 'Gender', width: 100, align: "left" }, + { + label: '异动类型', name: 'AnomalousType', width: 150, align: "left", + formatterAsync: function (callback, value, row, op, $cell) { + learun.clientdata.getAsync('dataItem', { + key: value, + code: 'StuChangeType', + callback: function (_data) { + callback(_data.text); + } + }); + } + }, + { + label: '入班日期', name: 'LeaveDate', width: 140, align: "left", + formatter: function (cellvalue) { + return learun.formatDate(cellvalue, 'yyyy-MM-dd'); + } + }, + { + label: '离班日期', name: 'EnteDate', width: 140, align: "left", + formatter: function (cellvalue) { + return learun.formatDate(cellvalue, 'yyyy-MM-dd'); + } + }, + //{ label: '身份证号', name: 'IdentityCardNo', width: 160, align: "left" }, + + { + label: '异动前班级', name: 'ClassNo', width: 140, align: "left", + formatterAsync: function (callback, value, row, op, $cell) { + learun.clientdata.getAsync('custmerData', { + url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', + key: value, + keyId: 'classno', + callback: function (_data) { + callback(_data['classname']); + } + }); + } + }, + //{ + // label: '原专业', name: 'MajorNo', width: 100, align: "left", + // formatterAsync: function (callback, value, row, op, $cell) { + // learun.clientdata.getAsync('custmerData', { + // url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', + // key: value, + // keyId: 'majorno', + // callback: function (_data) { + // callback(_data['majorname']); + // } + // }); + // } + //}, + //{ + // label: '原系部', name: 'DeptNo', width: 100, align: "left", + // formatterAsync: function (callback, value, row, op, $cell) { + // learun.clientdata.getAsync('custmerData', { + // url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', + // key: value, + // keyId: 'deptno', + // callback: function (_data) { + // callback(_data['deptname']); + // } + // }); + // } + //}, + //{ label: '年级', name: 'Grade', width: 60, align: "left" }, + //{ + // label: '学制', name: 'EduSystem', width: 100, align: "left", + // formatterAsync: function (callback, value, row, op, $cell) { + // learun.clientdata.getAsync('dataItem', { + // key: value, + // code: 'EduSystem', + // callback: function (_data) { + // callback(_data.text); + // } + // }); + // } + //}, + + { + label: '异动后班级', name: 'NewClassNo', width: 140, align: "left", + formatterAsync: function (callback, value, row, op, $cell) { + learun.clientdata.getAsync('custmerData', { + url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'bjsj', + key: value, + keyId: 'classno', + callback: function (_data) { + callback(_data['classname']); + } + }); + } + }, + //{ + // label: '现专业', name: 'NewMajorNo', width: 100, align: "left", + // formatterAsync: function (callback, value, row, op, $cell) { + // learun.clientdata.getAsync('custmerData', { + // url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdMajorInfo', + // key: value, + // keyId: 'majorno', + // callback: function (_data) { + // callback(_data['majorname']); + // } + // }); + // } + //}, + //{ + // label: '现系部', name: 'NewDeptNo', width: 100, align: "left", + // formatterAsync: function (callback, value, row, op, $cell) { + // learun.clientdata.getAsync('custmerData', { + // url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'CdDeptInfo', + // key: value, + // keyId: 'deptno', + // callback: function (_data) { + // callback(_data['deptname']); + // } + // }); + // } + //}, + //{ label: '现年级', name: 'NewGrade', width: 60, align: "left" }, + //{ + // label: '创建时间', name: 'CreateTime', width: 100, align: "left", + // formatter: function (cellvalue) { + // return learun.formatDate(cellvalue, 'yyyy-MM-dd'); + // } + //}, + { + label: '申请人', name: 'CreateUserId', width: 100, 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: 'ChangeReason', width: 300, align: "left" }, + //{ + // label: '审核时间', name: 'CheckTime', width: 200, align: "left", + // formatter: function (cellvalue) { + // return learun.formatDate(cellvalue, 'yyyy-MM-dd'); + // } + //}, + //{ + // label: '审核用户', name: 'CheckUserId', 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: 'F_EnabledMark', width: 100, align: "left", + formatter: function (cellvalue) { + return cellvalue == "1" ? "已审核" : "未审核"; + } + }, + { + label: '操作', name: 'CZ', width: 100, align: "center", + }, + //{ + // label: '是否保留学籍', name: 'StuStatus', width: 80, align: "left", + // formatterAsync: function (callback, value, row, op, $cell) { + // learun.clientdata.getAsync('dataItem', { + // key: value, + // code: 'YesOrNoInt', + // callback: function (_data) { + // callback(_data.text); + // } + // }); + // } + //}, + //{ + // label: '是否注销账号', name: 'F_WriteMark', width: 80, align: "left", + // formatterAsync: function (callback, value, row, op, $cell) { + // learun.clientdata.getAsync('dataItem', { + // key: value, + // code: 'YesOrNoInt', + // callback: function (_data) { + // callback(_data.text); + // } + // }); + // } + //}, + //{ + // label: '是否恢复学籍', name: 'RecoverStuStatus', width: 80, align: "left", + // formatterAsync: function (callback, value, row, op, $cell) { + // learun.clientdata.getAsync('dataItem', { + // key: value, + // code: 'YesOrNoInt', + // callback: function (_data) { + // callback(_data.text); + // } + // }); + // } + //}, + //{ + // label: '是否恢复账号', name: 'RecoverWriteMark', width: 80, align: "left", + // formatterAsync: function (callback, value, row, op, $cell) { + // learun.clientdata.getAsync('dataItem', { + // key: value, + // code: 'YesOrNoInt', + // callback: function (_data) { + // callback(_data.text); + // } + // }); + // } + //}, + //{ label: '修学年限', name: 'SuspensionPeriod', width: 200, align: "left" }, + //{ + // label: '休学开始时间', name: 'SuspensionBeginTime', width: 100, align: "left", + // formatter: function (cellvalue) { + // return learun.formatDate(cellvalue, 'yyyy-MM-dd'); + // } + //}, + //{ + // label: '休学结束时间', name: 'SuspensionEndTime', width: 100, align: "left", + // formatter: function (cellvalue) { + // return learun.formatDate(cellvalue, 'yyyy-MM-dd'); + // } + //}, + //{ label: '转学前学校', name: 'TransferSchool', width: 150, align: "left" }, + //{ label: '转学前学号', name: 'TransferStuNo', width: 100, align: "left" }, + //{ + // label: '出身日期', name: 'Birthday', width: 100, align: "left", + // formatter: function (cellvalue) { + // return learun.formatDate(cellvalue, 'yyyy-MM-dd'); + // } + //}, + //{ label: '民族', name: 'NationalityNo', width: 80, align: "left" }, + //{ label: '省', name: 'Province', width: 100, align: "left" }, + //{ label: '市', name: 'City', width: 100, align: "left" }, + //{ label: '县/区', name: 'County', width: 100, align: "left" }, + //{ label: '联系电话', name: 'Mobile', width: 100, align: "left" }, + //{ label: '家庭地址', name: 'MailAddress', width: 200, align: "left" }, + //{ label: '转出学校', name: 'OutSchool', width: 100, align: "left" }, + //{ label: '备注', name: 'Remark', width: 500, align: "left" }, + ], + mainId: 'ID', + isPage: true, + rows: 100, + sidx: 'F_EnabledMark asc,CreateUserId asc', + isMultiselect: true + }); + page.search(); + }, + search: function (param) { + param = param || {}; + $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); + } + }; + refreshGirdData = function () { + $('#gridtable').jfGridSet('reload'); + }; + page.init(); +} diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuTransferInfo/Index.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuTransferInfo/Index.js index e7ce89881..99aa6540f 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuTransferInfo/Index.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/StuTransferInfo/Index.js @@ -289,6 +289,7 @@ var bootstrap = function ($, learun) { }, search: function (param) { param = param || {}; + param.SqlParameter = ' F_EnabledMark = 1 '; $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); } }; diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj b/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj index db18cf822..4c3c1bc61 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj @@ -893,6 +893,7 @@ + @@ -1360,6 +1361,7 @@ + @@ -7041,6 +7043,10 @@ + + + + @@ -8030,6 +8036,7 @@ + diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoBLL.cs index a4cdf7ba3..ac78438bd 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoBLL.cs @@ -23,7 +23,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration /// /// 查询参数 /// - public IEnumerable GetList( string queryJson ) + public IEnumerable GetList(string queryJson) { try { @@ -141,7 +141,75 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration } } } - + /// + /// 转专业,转班,留级/休学/退学/转出 + /// + /// + /// + public void SaveEntity(StuTransferInfoEntity entity, List strStuList) + { + try + { + stuTransferInfoService.SaveEntity(entity, strStuList); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } + /// + /// 休学 + /// + /// + /// + /// + public void SaveAgainEntity(StuTransferInfoEntity entity, List strStuList) + { + try + { + stuTransferInfoService.SaveAgainEntity(entity, strStuList); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } + /// + /// 审核 + /// + /// + public void CheckEntity(string keyValue) + { + try + { + stuTransferInfoService.CheckEntity(keyValue); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } #endregion } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoEntity.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoEntity.cs index bcd8fb6a4..bfe4515e8 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoEntity.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoEntity.cs @@ -11,7 +11,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration /// 日 期:2023-01-04 15:03 /// 描 述:学籍异动列表 /// - public class StuTransferInfoEntity + public class StuTransferInfoEntity { #region 实体成员 /// @@ -21,6 +21,12 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration [Column("ID")] public string ID { get; set; } /// + /// StuId + /// + /// + [Column("STUID")] + public string StuId { get; set; } + /// /// 学号 /// /// @@ -97,7 +103,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration /// /// [Column("ENTEDATE")] - public string EnteDate { get; set; } + public DateTime? EnteDate { get; set; } /// /// 现班级 /// @@ -165,7 +171,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration [Column("STUSTATUS")] public int? StuStatus { get; set; } /// - /// 是否注销账号 0否 1是 + /// 是否注销账号 0是 1否 /// /// [Column("F_WRITEMARK")] @@ -177,7 +183,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration [Column("RECOVERSTUSTATUS")] public string RecoverStuStatus { get; set; } /// - /// 是否恢复账号 0否 1是 + /// 是否恢复账号 0是 1否 /// /// [Column("RECOVERWRITEMARK")] @@ -275,6 +281,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration public void Create() { this.ID = Guid.NewGuid().ToString(); + UserInfo userInfo = LoginUserInfo.Get(); + this.CreateTime = DateTime.Now; + this.CreateUserId = userInfo.userId; + this.F_EnabledMark = 0;//审核状态默认为未审核 } /// /// 编辑调用 @@ -283,6 +293,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration public void Modify(string keyValue) { this.ID = keyValue; + UserInfo userInfo = LoginUserInfo.Get(); } #endregion } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoIBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoIBLL.cs index 38388c74d..8e8c2d0c7 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoIBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoIBLL.cs @@ -49,6 +49,23 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration /// 主键 /// 实体 void SaveEntity(string keyValue, StuTransferInfoEntity entity); + /// + /// 转专业,转班,留级/休学/退学/转出 + /// + /// + /// + void SaveEntity(StuTransferInfoEntity entity, List stuTransfers); + /// + /// 复学 + /// + /// + /// + void SaveAgainEntity( StuTransferInfoEntity entity, List strStuList); + /// + /// 审核 + /// + /// + void CheckEntity(string keyValue); #endregion } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoService.cs index 056b291e3..fd2bdc06d 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuTransferInfo/StuTransferInfoService.cs @@ -1,4 +1,5 @@ using Dapper; +using Learun.Application.Organization; using Learun.DataBase.Repository; using Learun.Util; using System; @@ -67,6 +68,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration var queryParam = queryJson.ToJObject(); // 虚拟参数 var dp = new DynamicParameters(new { }); + //sql条件 + if (!queryParam["SqlParameter"].IsEmpty()) + { + strSql.Append(queryParam["SqlParameter"].ToString()); + } if (!queryParam["AnomalousType"].IsEmpty()) { dp.Add("AnomalousType", queryParam["AnomalousType"].ToString(), DbType.String); @@ -164,7 +170,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration } /// - /// 保存实体数据(新增、修改) + /// 转入 /// 主键 /// 实体 /// @@ -196,6 +202,395 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration } } + /// + /// 转专业,转班,留级/休学/退学/转出 + /// + /// + /// + /// + public void SaveEntity(StuTransferInfoEntity entity, List strStuList) + { + var db = this.BaseRepository("CollegeMIS").BeginTrans(); + try + { + //保存的数据 + List entitylist = new List(); + foreach (var item in strStuList) + { + var InsertEntity = new StuTransferInfoEntity(); + //历史数据 + InsertEntity.StuId = item.StuId; + InsertEntity.StuNo = item.StuNo; + InsertEntity.StuName = item.StuName; + InsertEntity.Gender = item.GenderNo; + InsertEntity.ClassNo = item.ClassNo; + InsertEntity.MajorNo = item.MajorNo; + InsertEntity.DeptNo = item.DeptNo; + InsertEntity.Grade = item.Grade; + InsertEntity.EduSystem = item.EduSystem; + InsertEntity.EnteDate = DateTime.Now.ToDate(); //前端还是后端处理 + //新数据 + InsertEntity.AnomalousType = entity.AnomalousType; + InsertEntity.ChangeReason = entity.ChangeReason; + InsertEntity.NewClassNo = entity.NewClassNo; + InsertEntity.MajorNo = entity.MajorNo; + InsertEntity.NewDeptNo = entity.NewDeptNo; + InsertEntity.NewGrade = entity.NewGrade; + InsertEntity.LeaveDate = entity.LeaveDate; + InsertEntity.StuStatus = entity.StuStatus; + // + InsertEntity.StuStatus = entity.StuStatus; + InsertEntity.F_WriteMark = entity.F_WriteMark; + + //添加数据 + entitylist.Add(InsertEntity); + } + + db.Insert(entitylist); //创建学籍异动信息 + db.Commit(); + } + catch (Exception ex) + { + + db.Rollback(); + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } + /// + /// 复学 + /// + /// + /// + /// + public void SaveAgainEntity(StuTransferInfoEntity entity, List strStuList) + { + var db = this.BaseRepository("CollegeMIS").BeginTrans(); + try + { + //保存的数据 + List entitylist = new List(); + + foreach (var item in strStuList) + { + var InsertEntity = new StuTransferInfoEntity(); + //历史数据 + InsertEntity.StuId = item.StuId; + InsertEntity.StuNo = item.StuNo; + InsertEntity.StuName = item.StuName; + InsertEntity.Gender = item.Gender; + InsertEntity.ClassNo = item.ClassNo; + InsertEntity.MajorNo = item.MajorNo; + InsertEntity.DeptNo = item.DeptNo; + InsertEntity.Grade = item.Grade; + InsertEntity.EduSystem = item.EduSystem; + InsertEntity.EnteDate = DateTime.Now.ToDate(); //前端还是后端处理 + //新数据 + InsertEntity.AnomalousType = entity.AnomalousType; + InsertEntity.ChangeReason = entity.ChangeReason; + InsertEntity.NewClassNo = entity.NewClassNo; + InsertEntity.MajorNo = entity.MajorNo; + InsertEntity.NewDeptNo = entity.NewDeptNo; + InsertEntity.NewGrade = entity.NewGrade; + InsertEntity.LeaveDate = entity.LeaveDate; + InsertEntity.StuStatus = entity.StuStatus; + //恢复学籍,恢复账号 + InsertEntity.RecoverStuStatus = entity.RecoverStuStatus; + InsertEntity.RecoverWriteMark = entity.RecoverWriteMark; + //添加数据 + entitylist.Add(InsertEntity); + } + db.Insert(entitylist); //创建学籍异动信息 + db.Commit(); + } + catch (Exception ex) + { + + db.Rollback(); + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } + /// + /// + /// + /// + public void CheckEntity(string keyValue) + { + var userInfo = LoginUserInfo.Get(); + var db = this.BaseRepository("CollegeMIS").BeginTrans(); + var db1 = this.BaseRepository().BeginTrans(); + try + { + List UpStuTran = new List(); + List InStuinTran = new List(); + List Stulist = new List(); + + var Id = keyValue.Split(','); + foreach (var item in Id) + { + var addTruan = new StuInfoBasicEntity(); + var upTrua = this.BaseRepository("CollegeMIS").FindEntity(x => x.ID == item); + upTrua.CheckUserId = userInfo.userId; + upTrua.CheckTime = DateTime.Now; + UpStuTran.Add(upTrua); + var stulist = this.BaseRepository("CollegeMIS").FindEntity(x => x.StuId == upTrua.StuId); + + #region 复制一份学生学籍表 + var InsertStuTran = new StuInfoBasicTranEntity + { + StuNo = stulist.StuNo, + StuCode = stulist.StuCode, + NoticeNo = stulist.NoticeNo, + GraduateYear = stulist.GraduateYear, + ksh = stulist.ksh, + DeptNo = stulist.DeptNo, + MajorNo = stulist.MajorNo, + MajorDetailNo = stulist.MajorDetailNo, + MajorDetailName = stulist.MajorDetailName, + Grade = stulist.Grade, + ClassNo = stulist.ClassNo, + StuName = stulist.StuName, + SpellFull = stulist.SpellFull, + SpellBrief = stulist.SpellBrief, + GenderNo = stulist.GenderNo, + Birthday = stulist.Birthday, + PartyFaceNo = stulist.PartyFaceNo, + FamilyOriginNo = stulist.FamilyOriginNo, + NationalityNo = stulist.NationalityNo, + ProvinceNo = stulist.ProvinceNo, + RegionNo = stulist.RegionNo, + ResidenceNo = stulist.ResidenceNo, + TestStuSortNo = stulist.TestStuSortNo, + HealthStatusNo = stulist.HealthStatusNo, + WillNo = stulist.WillNo, + TestStuSubjectNo = stulist.TestStuSubjectNo, + GraduateNo = stulist.GraduateNo, + PlanFormNo = stulist.PlanFormNo, + IsThreeGood = stulist.IsThreeGood, + IsExcellent = stulist.IsExcellent, + IsNormalCadre = stulist.IsNormalCadre, + IsProvinceFirstThree = stulist.IsProvinceFirstThree, + OverseasChineseNo = stulist.OverseasChineseNo, + MatriculateSort = stulist.MatriculateSort, + ComeProvinceNo = stulist.ComeProvinceNo, + HighSchoolNo = stulist.HighSchoolNo, + HighSchoolName = stulist.HighSchoolName, + EntranceDate = stulist.EntranceDate, + Religion = stulist.Religion, + GoodAt = stulist.GoodAt, + IdentityCardNo = stulist.IdentityCardNo, + JoinPartyDate = stulist.JoinPartyDate, + JoinLeagueDate = stulist.JoinLeagueDate, + InSchoolAddress = stulist.InSchoolAddress, + InSchoolTelephone = stulist.InSchoolTelephone, + AbmormityMoveMark = stulist.AbmormityMoveMark, + AwardMark = stulist.AwardMark, + PunishMark = stulist.PunishMark, + LinkmanMark = stulist.LinkmanMark, + StuNoChangeMark = stulist.StuNoChangeMark, + FinishSchoolMark = stulist.FinishSchoolMark, + CurrentRegisterMark = stulist.CurrentRegisterMark, + FinishSchoolDate = stulist.FinishSchoolDate, + DiplomaNo = stulist.DiplomaNo, + DiplomaRemark = stulist.DiplomaRemark, + Remark = stulist.Remark, + RegisterDate = stulist.RegisterDate, + Photo = stulist.Photo, + TeachPlanNo = stulist.TeachPlanNo, + CheckMark = stulist.CheckMark, + mobile = stulist.mobile, + EMail = stulist.EMail, + QQ = stulist.QQ, + FatherUnit = stulist.FatherUnit, + FatherName = stulist.FatherName, + FatherPhone = stulist.FatherPhone, + MatherName = stulist.MatherName, + MatherUnit = stulist.MatherUnit, + MatherPhone = stulist.MatherPhone, + username = stulist.username, + password = stulist.password, + MailAddress = stulist.MailAddress, + PostalCode = stulist.PostalCode, + InSchoolStatus = stulist.InSchoolStatus, + TransMark = stulist.TransMark, + ClassTutorNo = stulist.ClassTutorNo, + ResumeCheck = stulist.ResumeCheck, + PracStatus = stulist.PracStatus, + RegisterStatus = stulist.RegisterStatus, + PunishmentDate = stulist.PunishmentDate, + F_CityId = stulist.F_CityId, + F_CountyId = stulist.F_CountyId, + F_ProvinceId = stulist.F_ProvinceId, + F_SchoolId = stulist.F_SchoolId, + EduSystem = stulist.EduSystem, + StudyModality = stulist.StudyModality, + SyncFlag = stulist.SyncFlag, + ChangeStatus = stulist.ChangeStatus, + Balance = stulist.Balance, + HealthStatus = stulist.HealthStatus, + IdCardType = stulist.IdCardType, + EntranceWay = stulist.EntranceWay, + StudyingWay = stulist.StudyingWay, + CountryNo = stulist.CountryNo, + MarriageStatus = stulist.MarriageStatus, + TrainInterval = stulist.TrainInterval, + IsTrailChildren = stulist.IsTrailChildren, + StuPlaceCode = stulist.StuPlaceCode, + BirthPlaceCode = stulist.BirthPlaceCode, + NativePlaceCode = stulist.NativePlaceCode, + ResidencePlaceCode = stulist.ResidencePlaceCode, + BelongPolice = stulist.BelongPolice, + StuLivePlaceType = stulist.StuLivePlaceType, + StuOrigin = stulist.StuOrigin, + RecruitObject = stulist.RecruitObject, + PoorIsRecord = stulist.PoorIsRecord, + RecruitWay = stulist.RecruitWay, + RecruitCooperateType = stulist.RecruitCooperateType, + AdmissionNo = stulist.AdmissionNo, + ExamScore = stulist.ExamScore, + RecruitCooperateForm = stulist.RecruitCooperateForm, + RecruitCooperateSchoolNo = stulist.RecruitCooperateSchoolNo, + SchoolOutsidePlace = stulist.SchoolOutsidePlace, + PieceCultivateWay = stulist.PieceCultivateWay, + EnglishName = stulist.EnglishName, + OneMembership = stulist.OneMembership, + OneIsGuardian = stulist.OneIsGuardian, + OneBirthday = stulist.OneBirthday, + OneIdCardType = stulist.OneIdCardType, + OneIdCardNo = stulist.OneIdCardNo, + OneNationalityNo = stulist.OneNationalityNo, + OnePartyFaceNo = stulist.OnePartyFaceNo, + OneHealthStatus = stulist.OneHealthStatus, + OneJob = stulist.OneJob, + OnePosition = stulist.OnePosition, + TwoMembership = stulist.TwoMembership, + TwoIsGuardian = stulist.TwoIsGuardian, + TwoBirthday = stulist.TwoBirthday, + TwoIdCardType = stulist.TwoIdCardType, + TwoIdCardNo = stulist.TwoIdCardNo, + TwoNationalityNo = stulist.TwoNationalityNo, + TwoPartyFaceNo = stulist.TwoPartyFaceNo, + TwoHealthStatus = stulist.TwoHealthStatus, + TwoJob = stulist.TwoJob, + TwoPosition = stulist.TwoPosition, + ProvinceCode = stulist.ProvinceCode, + Guardian = stulist.Guardian, + GuardianPhone = stulist.GuardianPhone, + GuardianType = stulist.GuardianType, + IsSingle = stulist.IsSingle, + IsLeft = stulist.IsLeft, + IsDisability = stulist.IsDisability, + IsRunSchool = stulist.IsRunSchool, + IsDdifficulty = stulist.IsDdifficulty, + FiveYear = stulist.FiveYear, + InternshipStatus = stulist.InternshipStatus, + IsRestudy = stulist.IsRestudy, + MajorDetailSpell = stulist.MajorDetailSpell, + OneName = stulist.OneName, + TwoName = stulist.TwoName, + OtherContact = stulist.OtherContact, + OneMobile = stulist.OneMobile, + TwoMobile = stulist.TwoMobile, + ReturnBooksStatus = stulist.ReturnBooksStatus, + ReturnBooksDate = stulist.ReturnBooksDate, + EmployAgreeStatus = stulist.EmployAgreeStatus, + EmployAgreeDate = stulist.EmployAgreeDate, + FeeSettleStatus = stulist.FeeSettleStatus, + FeeSettleDate = stulist.FeeSettleDate, + CheckOutStatus = stulist.CheckOutStatus, + CheckOutDate = stulist.CheckOutDate, + CardDeregistrateStatus = stulist.CardDeregistrateStatus, + CardDeregistrateDate = stulist.CardDeregistrateDate, + DiplomaReceiveStatus = stulist.DiplomaReceiveStatus, + DiplomaReceiveDate = stulist.DiplomaReceiveDate, + FileTransferStatus = stulist.FileTransferStatus, + FileTransferDate = stulist.FileTransferDate, + TissueStatus = stulist.TissueStatus, + TissueDate = stulist.TissueDate, + DiplomaReceiveSign = stulist.DiplomaReceiveSign, + DiplomaReceiveIdcard = stulist.DiplomaReceiveIdcard, + DiplomaReceiveRemark = stulist.DiplomaReceiveRemark, + //异动状态,时间,原因 + AnomalousType = upTrua.AnomalousType, + ChangeReason = upTrua.ChangeReason, + TranDateTime = DateTime.Now + + }; + db.Insert(InStuinTran); + #endregion + + #region 学籍操作 + + if (upTrua.StuStatus == 0) //如果是保留学籍 修改学籍 否则删除学籍 + { + var StuEntity = new StuInfoBasicEntity(); + //修改学籍表信息 + StuEntity.StuId = upTrua.StuId; + StuEntity.StuNo = upTrua.StuNo; + StuEntity.StuName = upTrua.StuName; + StuEntity.ClassNo = upTrua.ClassNo; + StuEntity.MajorNo = upTrua.MajorNo; + StuEntity.DeptNo = upTrua.DeptNo; + StuEntity.Grade = upTrua.Grade; + StuEntity.EduSystem = upTrua.EduSystem; + Stulist.Add(StuEntity); + } + else + { + //删除学籍 + db.Delete(x => x.StuId == upTrua.StuId); + + } + + #endregion + + #region 删除用户表 + + //是注销学籍,删除学籍 + if (upTrua.F_WriteMark == 0) + { + db1.ExecuteBySql(" update LR_Base_User set F_DeleteMark=1 where F_EnCode='" + upTrua.StuNo + "' and F_Account ='" + upTrua.StuNo + "'and F_RealName='" + upTrua.StuName + "' and F_IdentityCardNo ='" + upTrua.IdentityCardNo + "' "); + } + #endregion + + } + db.Update(UpStuTran); //修改学籍异动信息 + if (Stulist.Count > 0)//修改学籍信息 + { + //修改学籍 + db.Update(Stulist); + } + + db.Commit(); + db1.Commit(); + } + catch (Exception ex) + { + db.Rollback(); + db1.Rollback(); + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } #endregion } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj index 54dfc9225..463730a8a 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj @@ -2027,6 +2027,10 @@ + + + +