Parcourir la source

Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支

新疆影视学院高职
liangkun il y a 3 ans
Parent
révision
e0bae7effc
6 fichiers modifiés avec 157 ajouts et 232 suppressions
  1. +53
    -230
      Learun.Framework.Ultimate V7/Doc文档/数字化智慧校园3.0部署手册V1.3.docx
  2. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/ArrangeExamTermNew/ArrangeExamTermNew.js
  3. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/EducationalAdministration/ArrangeExamTermNewApi.cs
  4. +25
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeExamTermNew/ArrangeExamTermNewBLL.cs
  5. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeExamTermNew/ArrangeExamTermNewIBLL.cs
  6. +76
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeExamTermNew/ArrangeExamTermNewService.cs

+ 53
- 230
Learun.Framework.Ultimate V7/Doc文档/数字化智慧校园3.0部署手册V1.3.docx Voir le fichier

@@ -1,63 +1,28 @@

数字化智慧校园3.0













部署手册












版本号:V1.3






修订记录
修订时间
修订人
版本号
变更
2019-03-19
梁坤
2019-03-19梁坤
V1.0
新建V1.0
2019-05-10
梁坤
V1.1
新增系统流程配置说明和飞星上传目录要求说明
2019-07-04
梁坤
2019-07-04梁坤
V1.2
新增飞星部署说明,统一身份认证部署说明
2020-09-09
梁坤
2020-09-09梁坤
V1.3
1.新增力软706框架升级部署说明
2.新增海康考勤机连接部署说明
3.修改授权验证功能说明
4.修改系统要求软件环境部分

@@ -98,152 +63,50 @@ V1.3
系统要求
硬件
8GB及以上内存,4核心及以上CPU主频不低于2.0GHz,硬盘空间不低于500GB,其中系统盘剩余空间不低于50GB
操作系统
Windows Server2008R2及以上
软件环境
.NET FrameWork 4.5及以上(力软705版本开始升级到4.6.1及以上)
SQL Server2012及以上
IIS基础模块
Redis 3.2.100及以上

系统部署
8GB及以上内存,4核心及以上CPU主频不低于2.0GHz,硬盘空间不低于500GB,其中系统盘剩余空间不低于50GB操作系统
Windows Server2008R2及以上软件环境
.NET FrameWork 4.5及以上(力软705版本开始升级到4.6.1及以上)SQL Server2012及以上IIS基础模块Redis 3.2.100及以上系统部署
数据库配置
第一步
新建数据库adms7ultimate2和CollegeMISFor30


存储路径修改至较大剩余空间硬盘



新建数据库adms7ultimate2和CollegeMISFor30存储路径修改至较大剩余空间硬盘
第二步
还原数据库,备份文件如下图

分别还原至对应数据库

还原路径一定要选对


选项如下图:


还原数据库,备份文件如下图分别还原至对应数据库还原路径一定要选对选项如下图:
第三步
修改数据库adms7ultimate2中LR_Base_DatabaseLink表内数据,内有连接字符串修改正确。


LR_Base_User表内数据只保留system帐号,其余做删除处理:

LR_Base_Module表中F_UrlAddress地址替换成后续部署mis系统的端口和ip:

Sql语句:update LR_Base_Module set F_UrlAddress=replace(F_UrlAddress,'192.168.1.126:9000','192.168.60.128:8082')
修改数据库adms7ultimate2中LR_Base_DatabaseLink表内数据,内有连接字符串修改正确。LR_Base_User表内数据只保留system帐号,其余做删除处理:
LR_Base_Module表中F_UrlAddress地址替换成后续部署mis系统的端口和ip:Sql语句:update LR_Base_Module set F_UrlAddress=replace(F_UrlAddress,'192.168.1.126:9000','192.168.60.128:8082')
Sql语句按实际情况修改
第四步
同步学校基础数据到CollegeMISFor30中(使用系统导入、数据库导入功能均可)
常用表:

排课数据ArrangeLessonTerm
系CdDept
专业CdMajor
课程分类CdLessonSort,CdLessonSortDetail
课程LessonInfo
班级ClassInfo
教学楼ClassroomBuilding
教室ClassroomInfo
班主任ClassInfoDiredctor
教师EmpInfo
学生StuInfoBasic

注意:学生和教师表内,checkmark必须是true才能生成帐号
同步学校基础数据到CollegeMISFor30中(使用系统导入、数据库导入功能均可)常用表:排课数据ArrangeLessonTerm
系CdDept专业CdMajor课程分类CdLessonSort,CdLessonSortDetail课程LessonInfo班级ClassInfo教学楼ClassroomBuilding教室ClassroomInfo班主任ClassInfoDiredctor教师EmpInfo学生StuInfoBasic注意:学生和教师表内,checkmark必须是true才能生成帐号
性别1男0女,旧系统一般是1男2女,注意修改数据
教师表中F_CompanyId和F_DepartmentId分别对应adms7ultimate2库的LR_Base_Company表(学校校区表)的对应id,LR_Base_Department(部门)的对应id
学生表中F_SchoolId对应adms7ultimate2库的LR_Base_Company表(学校校区表)的对应id,DeptNo对应CollegeMIS库的系CdDept 的DeptNo,否则生成帐号会生成出错!

IIS配置
网站组成
全部系统需要部署4个网站如下图:

分别对应:高职20190311web、WebPublish、WebAPIPublish、www四个压缩包。
全部系统需要部署4个网站如下图:分别对应:高职20190311web、WebPublish、WebAPIPublish、www四个压缩包。
网站程序池配置
Mis系统需要选择2.0集成,且启用32位,图:




其余三个系统需要4.0集成,同样启用32位。

Mis系统需要选择2.0集成,且启用32位,图:其余三个系统需要4.0集成,同样启用32位。
注意:有时还需要配置文件目录权限如下图:


配置文件修改
网站数据库配置:
新增定时库配置
网站数据库配置:新增定时库配置
<add name="hangfireString" connectionString="Server=192.168.2.126;Initial Catalog=Hangfire;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" />

Mis系统修改三处Web.config中,如下图:

以下网站修改xmlconfig目录下的database.config配置:


和system.config配置:

workflowapi修改为对应的服务器ip地址,跳转地址指向mis系统ip和端口。
AnnexesFile 修改为部署服务器的Resource文件夹下,否则会影响飞星。

手机h5网站即站,修改config下config.js文件:

Webapi指向api站,web指向主网站
系统流程使用配置
Mis系统修改三处Web.config中,如下图:以下网站修改xmlconfig目录下的database.config配置:和system.config配置:workflowapi修改为对应的服务器ip地址,跳转地址指向mis系统ip和端口。AnnexesFile 修改为部署服务器的Resource文件夹下,否则会影响飞星。手机h5网站即站,修改config下config.js文件:
Webapi指向api站,web指向主网站系统流程使用配置
系统流程是为了配合框架中个人办公-》我的任务-》代办任务中(即工作流)实现一些提交审核数据的功能,系统开发时已经内置了默认的流程,如需修改配套的流程,请详细阅读并按照下面的步骤谨慎修改。
第一步:了解使用系统流程的功能和对应的路径如如下:
采购申请

入库申请

出库申请

公文下发

第二步:编辑对应的index.js最下方代码,如图:

修改红圈处模板编号为系统中对应的流程模板编号,流程功能如下图:


新建系统调用流程时,要注意选择系统流程,模板编号要和index.js相对应,否则会造成工作流功能工作不稳定甚至紊乱。

第三步:配置各节点的表单,如下图所示:
开始节点和中间审批节点添加表单,类型选择系统表单,地址填写对应的功能目录的FormView。

最后审批节点需要额外配置【绑定方法】,如下图:


绑定方法见下表:(大小写区分且不能有空格)
第一步:了解使用系统流程的功能和对应的路径如如下:采购申请入库申请出库申请公文下发第二步:编辑对应的index.js最下方代码,如图:修改红圈处模板编号为系统中对应的流程模板编号,流程功能如下图:新建系统调用流程时,要注意选择系统流程,模板编号要和index.js相对应,否则会造成工作流功能工作不稳定甚至紊乱。
第三步:配置各节点的表单,如下图所示:开始节点和中间审批节点添加表单,类型选择系统表单,地址填写对应的功能目录的FormView。最后审批节点需要额外配置【绑定方法】,如下图:绑定方法见下表:(大小写区分且不能有空格)
系统功能
绑定方法
备注
采购申请
Ass_PurchaseApplyMethod

入库申请
Ass_AssetsInfoApplyMethod

出库申请
Ass_AssetsOutApplyMethod

公文下发
Sys_SendFileMethod





应用程序配置
采购申请Ass_PurchaseApplyMethod入库申请
Ass_AssetsInfoApplyMethod出库申请
Ass_AssetsOutApplyMethod公文下发
Sys_SendFileMethod应用程序配置
配置文件
WorkFlow下Learun.Application.WorkFlowServer.exe.config文件修改:


管理员方式运行Learun.Application.WorkFlowServer.exe开启服务。
WorkFlow下Learun.Application.WorkFlowServer.exe.config文件修改:管理员方式运行Learun.Application.WorkFlowServer.exe开启服务。
统一身份认证配置
<!-- ================== 统一身份认证公钥密钥 ================== -->
<add key="SSOPublicSecret" value="bjquanjiang" />
@@ -302,35 +165,19 @@ Webapi配置变更
第一步,首先更新版本程序
第二步,使用Quanjiang.DigitalScholl.DataSync.exe数据库同步工具同步客户数据库到最新(由于数据库操作风险巨大,具体使用时联系开发人员配合同步)
第三步,参照最新程序修改XmlConfig下system.config、ioc.config,根目录下Web.config文件
第四步,如果出现授权验证失败,需要重新进行授权。
飞星部署
第四步,如果出现授权验证失败,需要重新进行授权。飞星部署
服务端
飞星服务端属于exe可执行文件,运行前先配置配置文件GoChat.Server.exe.config:
<add key="serverAddress" value="*:8866" />(一般情况不要动)
飞星服务端属于exe可执行文件,运行前先配置配置文件GoChat.Server.exe.config:<add key="serverAddress" value="*:8866" />(一般情况不要动)
然后以管理员身份运行GoChat.Server.exe后,如下图:

点击服务控制,切换到该选项卡,点击启动即可


客户端
最新客户端安装包,请到公司群文件里下载,注意下载最新版本号的 飞星客户端.exe
安装后,需要先配置服务器,点击登录界面右上角设置按钮,如下图:



通信服务器内网(外网)地址:运行飞星服务端程序的服务器ip地址+端口号,例如:
123.57.209.16:8866 127.0.0.1:8866
通信服务器数据地址:数字化校园API网站地址+端口号,例如:123.57.209.16:31173 192.168.2.126:8083
请务必注意配置正确,否则无法正常登录飞星。
配置完成后,输入数字化校园教师帐号密码即可登录。

软件授权
最新客户端安装包,请到公司群文件里下载,注意下载最新版本号的 飞星客户端.exe安装后,需要先配置服务器,点击登录界面右上角设置按钮,如下图:
通信服务器内网(外网)地址:运行飞星服务端程序的服务器ip地址+端口号,例如:123.57.209.16:8866 127.0.0.1:8866通信服务器数据地址:数字化校园API网站地址+端口号,例如:123.57.209.16:31173 192.168.2.126:8083请务必注意配置正确,否则无法正常登录飞星。配置完成后,输入数字化校园教师帐号密码即可登录。软件授权
泉江授权程序
程序名称Quanjiang.DigitalScholl.License.exe
本程序为可执行文件,无需配置
授权成功后,会在客户机主网站bin目录下,生成后缀为.bjqj的加密授权文件,授权分为永久授权和限时授权,不勾选是否限时即为永久授权。

说明:
程序名称Quanjiang.DigitalScholl.License.exe本程序为可执行文件,无需配置授权成功后,会在客户机主网站bin目录下,生成后缀为.bjqj的加密授权文件,授权分为永久授权和限时授权,不勾选是否限时即为永久授权。说明:
1.首先部署好数字化校园3.0主程序,浏览器打开:http://部署地址/ShowRegister
2.运行授权器,将上一步得到的机器码填写至注册器机器码文本框内。
3.如果有使用期限,选择好到期时间,如果没有使用期限,请将限时复选框去掉。
@@ -338,17 +185,9 @@ Webapi配置变更
5.重新运行部署的数字化校园。
6.!!!!严重警告!!!!此软件禁止放在部署机上!!!!此软件严禁外传!!!!
7. 在力软705版本后增加了网络授权验证,客户机除了要进行上述的本地授权外,还需要进行网络授权
步骤1:打开授权网站http://123.57.209.16:8061/ 用户名:联系泉江获取 密码:联系泉江获取 并登录。
步骤2:打开功能并新增授权

步骤3:填写相关信息并保存(机器码即运行数校http://部署地址/ShowRegister获得的机器码)

步骤4:重新访问数字化智慧校园系统验证授权是否正确。
定时服务部署
步骤1:打开授权网站http://123.57.209.16:8061/ 用户名:联系泉江获取 密码:联系泉江获取 并登录。步骤2:打开功能并新增授权步骤3:填写相关信息并保存(机器码即运行数校http://部署地址/ShowRegister获得的机器码)步骤4:重新访问数字化智慧校园系统验证授权是否正确。定时服务部署
部署
本程序为Windows服务,即运行在系统底层的程序,可随系统启动,安装后需要手动启动,设置为自动运行,程序名称Quanjiang.DigitalScholl.JobService.exe
先修改配置文件
Quanjiang.DigitalScholl.JobService.exe.config中的连接字符串到部署服务器
本程序为Windows服务,即运行在系统底层的程序,可随系统启动,安装后需要手动启动,设置为自动运行,程序名称Quanjiang.DigitalScholl.JobService.exe先修改配置文件Quanjiang.DigitalScholl.JobService.exe.config中的连接字符串到部署服务器
<add name="BaseDb" connectionString="Server=192.168.2.126;Initial Catalog=adms7ultimate2;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" />
<add name="CollegeMIS" connectionString="Server=192.168.2.126;Initial Catalog=CollegeMIS;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" />
<add name="HangfireConnString" connectionString="Server=192.168.2.126;Initial Catalog=Hangfire;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" />
@@ -356,11 +195,7 @@ Quanjiang.DigitalScholl.JobService.exe.config中的连接字符串到部署服
<add key="dbbackuppath" value="主网站部署地址\Resource\DataBaseBackup" />
如需要部署海康考勤机还需要配置:
<add key="AttendancePhotoPath" value="主网站部署地址\Resource\AttendancePhoto" />
部署方法:
第一步,以管理员身份运行cmd
第二步,进入服务程序路劲 cd 盘符\目录\Quanjiang.DigitalScholl.JobService\bin\Debug回车
第三步,盘符 回车
第四步,%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe Quanjiang.DigitalScholl.JobService.exe 回车,提示安装成功。
部署方法:第一步,以管理员身份运行cmd第二步,进入服务程序路劲 cd 盘符\目录\Quanjiang.DigitalScholl.JobService\bin\Debug回车第三步,盘符 回车第四步,%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe Quanjiang.DigitalScholl.JobService.exe 回车,提示安装成功。

第五步,打开Windows服务,找到安装的服务

@@ -373,52 +208,40 @@ Quanjiang.DigitalScholl.JobService.exe.config中的连接字符串到部署服
卸载后,刷新Windows服务 应看不到本服务程序说明卸载成功,否则需要重启。

海康考勤机部署要求
首先确保数字化校园主站运行正常。
步骤1 配置考勤机参数。打开功能【考勤设备管理】

步骤2 配置考勤机参数,系统仅对启用设备进行连接操作

步骤3 部署【DigitalSchoolApi】网站,并保证正常运行。
步骤4 复制【海康考勤机必须文件】下的所有文件、文件夹到Quanjiang.DigitalScholl.JobService.exe所在目录。
首先确保数字化校园主站运行正常。步骤1 配置考勤机参数。打开功能【考勤设备管理】步骤2 配置考勤机参数,系统仅对启用设备进行连接操作步骤3 部署【DigitalSchoolApi】网站,并保证正常运行。步骤4 复制【海康考勤机必须文件】下的所有文件、文件夹到Quanjiang.DigitalScholl.JobService.exe所在目录。
步骤5 复制DigitalSchoolApi内三个文件到Quanjiang.DigitalScholl.JobService.exe所在目录。
步骤6 运行服务
检查是否部署
运行数字化校园主网站ip+端口/hangfire
查看服务器

显示上图即为服务正常,否则服务没运行正常。
DigitalSchoolApi部署
运行数字化校园主网站ip+端口/hangfire查看服务器显示上图即为服务正常,否则服务没运行正常。DigitalSchoolApi部署
部署
本程序为Web应用程序,部署方式同数字化智慧校园系统。
对接考勤机的客户需要修改Web.config下【AttendancePhotoPath】配置节到数字化智慧校园网站根目录下Resource目录(同步修改【定时服务程序下】Quanjiang.DigitalScholl.JobService.exe.config文件的对应配置)
<add key="AttendancePhotoPath" value="数字化智慧校园网站根目录\Resource\AttendancePhoto"/>
程序实现了定时任务的新增,是配合【定时服务】运行的必要系统,程序包含如下图所示的功能:
1.监控功能:部署地址/hangfire

2.任务操作功能:部署地址/swagger

School基础接口包含了几个教务所需的接口,可对外提供使用。


YKT接口包含西昌学校门禁一卡通、图书馆系统数据同步定时同步任务,金隅学校一卡通消费记录定时同步任务,海康考勤机连接任务等,可根据不同学校需求具体操作。


程序实现了定时任务的新增,是配合【定时服务】运行的必要系统,程序包含如下图所示的功能:1.监控功能:部署地址/hangfire2.任务操作功能:部署地址/swaggerSchool基础接口包含了几个教务所需的接口,可对外提供使用。YKT接口包含西昌学校门禁一卡通、图书馆系统数据同步定时同步任务,金隅学校一卡通消费记录定时同步任务,海康考勤机连接任务等,可根据不同学校需求具体操作。
海康考勤机连接
第一步,单击展开:
第一步,单击展开:第二步,点击按钮:第三步,点击执行:第四步,查看结果:显示返回200 OK即为成功第五步,确认是否加入定时服务,转到 【DigitalSchoolApi】部署地址/hangfire 查看【周期性作业】确认作业【HKAttendance】存在部署完成。第六步,启动【定时服务】第七步,查看数字化智慧校园系统中的考勤设备管理列表,是否布防和最后通讯时间,确认布防状态(是),最后通讯时间接近当前时间为连接成功,否则说明链接设备出现问题考勤机连接日志
连接日志存储与CollegeMIS数据库,ADR_DeviceLog表中,查看该表数据可以快速判定考勤机部署连接过程中出现的错误、问题。CMS部署及配置
安装cms步骤
https://sscms.com/docs/v6/getting-started/#/how-to-install-siteserver-cms

第二步,点击按钮:
下发公文 步骤
打开 xmlconfig文件夹下 有一个 system.config文件
如果没有下图配置请添加
如果有的话请根据实际情况修改
<!--下发新闻配置-->
<add key="SiteId" value="39"/>
<add key="ChannelId" value="6"/>
<add key="ApiKey" value="fafc361a-40c1-4060-8eee-ea796640c39c"/>

第三步,点击执行:

第四步,查看结果:显示返回200 OK即为成功
如上图所示 给首页下学校简历添加素材
SiteId为39
ChannelId为44

第五步,确认是否加入定时服务,转到 【DigitalSchoolApi】部署地址/hangfire 查看【周期性作业】
ApiKey配置
打开后台 系统管理---权限控制---Api秘钥管理

确认作业【HKAttendance】存在部署完成。
第六步,启动【定时服务】
第七步,查看数字化智慧校园系统中的考勤设备管理列表,是否布防和最后通讯时间,确认布防状态(是),最后通讯时间接近当前时间为连接成功,否则说明链接设备出现问题

打开此页面 点击 获取秘钥 秘钥并更改秘钥配置文件

考勤机连接日志
连接日志存储与CollegeMIS数据库,ADR_DeviceLog表中,查看该表数据可以快速判定考勤机部署连接过程中出现的错误、问题。



+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/ArrangeExamTermNew/ArrangeExamTermNew.js Voir le fichier

@@ -31,7 +31,7 @@
}

var baseUser = JSON.parse(localStorage.userinfo);
_postParam.queryJson = JSON.stringify({ EmpNo: baseUser.baseinfo.account });
_postParam.queryJson = JSON.stringify({ ClassDiredctorNo: baseUser.baseinfo.account });
learun.httpget(config.webapi + '/learun/ask/testlist', _postParam, (data) => {
$page.find('.lr-badge').text('0');
if (data) {


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/EducationalAdministration/ArrangeExamTermNewApi.cs Voir le fichier

@@ -33,7 +33,7 @@ namespace Learun.Application.WebApi.Modules
public Response GetPageList(dynamic _)
{
ReqPageParam parameter = this.GetReqData<ReqPageParam>();
var data = AeTerm.GetPageList(parameter.pagination, parameter.queryJson);
var data = AeTerm.GetTeachList(parameter.pagination, parameter.queryJson);
var jsonData = new
{
rows = data,


+ 25
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeExamTermNew/ArrangeExamTermNewBLL.cs Voir le fichier

@@ -236,5 +236,30 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration

#endregion

/// <summary>
/// 手机端
/// </summary>
/// <param name="pagination">分页参数</param>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
public IEnumerable<ArrangeExamTermNewEntity> GetTeachList(Pagination pagination, string queryJson)
{
try
{
return arrangeExamTermNewService.GetTeachList(pagination, 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/ArrangeExamTermNew/ArrangeExamTermNewIBLL.cs Voir le fichier

@@ -55,5 +55,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
List<TreeModel> GetClassTree();
IEnumerable<ArrangeExamTermItemNewEntity> GetPageListForClass(Pagination pagination, string queryJson);
IEnumerable<ArrangeExamTermNewEntity> GetPageListForLesson(Pagination pagination, string queryJson);
IEnumerable<ArrangeExamTermNewEntity> GetTeachList(Pagination pagination, string queryJson);
}
}

+ 76
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeExamTermNew/ArrangeExamTermNewService.cs Voir le fichier

@@ -411,5 +411,81 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}
}


/// <summary>
/// 手机端查询条件
/// </summary>
/// <param name="pagination">分页参数</param>
/// <param name="queryJson">条件参数</param>
/// <returns></returns>
public IEnumerable<ArrangeExamTermNewEntity> GetTeachList(Pagination pagination, string queryJson)
{
try
{
var strSql = new StringBuilder();

strSql.Append("select* from ArrangeExamTerm AET ");
strSql.Append(" left join(select ClassDiredctorNo, classno from[CollegeMIS_塔里木].dbo.Classinfo) CI on CI.ClassNo = AET.ClassNo ");
var queryParam = queryJson.ToJObject();
var dp = new DynamicParameters(new { });
if (!queryParam["AcademicYearNo"].IsEmpty())
{
strSql.Append(" and t.AcademicYearNo=@AcademicYearNo ");
dp.Add("AcademicYearNo", queryParam["AcademicYearNo"].ToString(), DbType.String);
}
if (!queryParam["Semester"].IsEmpty())
{
strSql.Append(" and t.Semester=@Semester ");
dp.Add("Semester", queryParam["Semester"].ToString(), DbType.String);
}
if (!queryParam["EmpNo"].IsEmpty())
{
strSql.Append(" and t.EmpNo=@EmpNo ");
dp.Add("EmpNo", queryParam["EmpNo"].ToString(), DbType.String);
}
if (!queryParam["LessonNo"].IsEmpty())
{
strSql.Append(" and t.LessonNo=@LessonNo ");
dp.Add("LessonNo", queryParam["LessonNo"].ToString(), DbType.String);
}
if (!queryParam["ClassNo"].IsEmpty())
{
strSql.Append(" and t.ClassNo=@ClassNo ");
dp.Add("ClassNo", queryParam["ClassNo"].ToString(), DbType.String);
}
if (!queryParam["ClassRoomNo"].IsEmpty())
{
strSql.Append(" and t.ClassRoomNo=@ClassRoomNo ");
dp.Add("ClassRoomNo", queryParam["ClassRoomNo"].ToString(), DbType.String);
}
if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
{
dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime);
dp.Add("endTime", queryParam["EndTime"].ToDate(), DbType.DateTime);
strSql.Append(" AND ( ExamDate >= @startTime AND ExamDate <= @endTime ) ");
}
if (!queryParam["ClassDiredctorNo"].IsEmpty())
{
strSql.Append(" and t.ClassDiredctorNo=@ClassDiredctorNo ");
dp.Add("ClassDiredctorNo", queryParam["ClassDiredctorNo"].ToString(), DbType.String);
}
return this.BaseRepository("CollegeMIS").FindList<ArrangeExamTermNewEntity>(strSql.ToString(), dp, pagination);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
}
}

Chargement…
Annuler
Enregistrer