diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/HealthPunchStuController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/HealthPunchStuController.cs index 010684899..28bfe2bd0 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/HealthPunchStuController.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/HealthPunchStuController.cs @@ -37,6 +37,15 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers { return View(); } + /// + /// 表单页 + /// + /// + [HttpGet] + public ActionResult Statistics() + { + return View(); + } #endregion #region 获取数据 @@ -78,6 +87,28 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers }; return Success(jsonData); } + + /// + /// 获取页面显示列表数据 + /// + /// 分页参数 + /// 查询参数 + /// + [HttpGet] + [AjaxOnly] + public ActionResult GetStatistics(string pagination, string queryJson) + { + Pagination paginationobj = pagination.ToObject(); + var data = healthPunchStuIBLL.GetStatistics(paginationobj, queryJson); + var jsonData = new + { + rows = data, + total = paginationobj.total, + page = paginationobj.page, + records = paginationobj.records + }; + return Success(jsonData); + } #endregion #region 提交数据 diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/HealthPunchStu/Statistics.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/HealthPunchStu/Statistics.cshtml new file mode 100644 index 000000000..913cf6fd0 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/HealthPunchStu/Statistics.cshtml @@ -0,0 +1,61 @@ +@{ + ViewBag.Title = "健康打卡时段"; + Layout = "~/Views/Shared/_Index.cshtml"; +} +
+
+
+
+
+
+
+
+
+
+
+
+
院校
+
+
+
+
专业
+
+
+
+
班级
+
+
+
+
学工号
+ +
+
+
姓名
+ +
+
+
打卡状态
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+
+
+
+@Html.AppendJsFile("/Areas/EducationalAdministration/Views/HealthPunchStu/Statistics.js") diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/HealthPunchStu/Statistics.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/HealthPunchStu/Statistics.js new file mode 100644 index 000000000..cb0c4e838 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/HealthPunchStu/Statistics.js @@ -0,0 +1,178 @@ +/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) + * Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 + * 创建人:超级管理员 + * 日 期:2022-06-17 09:17 + * 描 述:健康打卡时段 + */ +var refreshGirdData; +var bootstrap = function ($, learun) { + "use strict"; + var startTime; + var endTime; + var page = { + init: function () { + page.initGird(); + page.bind(); + }, + bind: function () { + // 时间搜索框 + $('#datesearch').lrdate({ + dfdata: [ + { name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, + { name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, + { name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, + { name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } } + ], + // 月 + mShow: false, + premShow: false, + // 季度 + jShow: false, + prejShow: false, + // 年 + ysShow: false, + yxShow: false, + preyShow: false, + yShow: false, + // 默认 + dfvalue: '1', + selectfn: function (begin, end) { + startTime = begin; + endTime = end; + page.search(); + } + }); + $('#multiple_condition_query').lrMultipleQuery(function (queryJson) { + page.search(queryJson); + }, 220, 400); + $('#F_School').lrDataSourceSelect({ code: 'company', value: 'f_companyid', text: 'f_fullname' }); + $('#IsStatus').lrselect({ + data: [{ text: "已打卡", value: "0" }, { text: "缺卡", value: "1" }, { text: "未打卡", value: "2" }], + text: "text", + value: "value" + }) + $('#MajorNo').lrselect({ + allowSearch: true, + url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdMajorInfo', + value: "majorno", + text: "majorname", + param: { strWhere: "1=1 AND CheckMark=1 order by majorno asc" }, + select: function (item) { + if (item) { + $('#ClassNo').lrselectRefresh({ + allowSearch: true, + url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj', + param: { strWhere: "majorno='" + item.majorno + "' AND CheckMark=1 order by classno asc" } + }); + } else { + $('#ClassNo').lrselectRefresh({ + allowSearch: true, + url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj', + param: { strWhere: "1=1 AND CheckMark=1 order by classno asc" } + }); + } + } + }); + $('#ClassNo').lrselect({ + allowSearch: true, + url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj', + param: { strWhere: "1=1 AND CheckMark=1" }, + value: "classno", + text: "classname" + }); + // 刷新 + $('#lr_refresh').on('click', function () { + location.reload(); + }); + }, + // 初始化列表 + initGird: function () { + $('#gridtable').jfGrid({ + url: top.$.rootUrl + '/EducationalAdministration/HealthPunchStu/GetStatistics', + headData: [ + { + label: "院校", name: "F_School", width: 130, align: "left", + formatterAsync: function (callback, value, row, op, $cell) { + learun.clientdata.getAsync('custmerData', { + url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'company', + key: value, + keyId: 'f_companyid', + callback: function (_data) { + callback(_data['f_fullname']); + } + }); + } + }, + { + label: "专业", name: "MajorNo", width: 130, 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: "ClassNo", width: 90, 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: "StuNo", width: 90, align: "left" }, + { label: "学生姓名", name: "StuName", width: 150, align: "left" }, + { label: "联系方式", name: "Phone", width: 100, align: "left" }, + { + label: "日期", name: "DKDate", width: 90, align: "left", + formatter: function (cellvalue) { + return learun.formatDate(cellvalue, 'yyyy-MM-dd'); + } + }, + { label: "早打卡地址", name: "Address1", width: 200, align: "left" }, + { label: "午打卡地址", name: "Address2", width: 200, align: "left" }, + { label: "晚打卡地址", name: "Address3", width: 200, align: "left" }, + { label: "早体温", name: "Temperature1", width: 80, align: "left" }, + { label: "午体温", name: "Temperature2", width: 80, align: "left" }, + { label: "晚体温", name: "Temperature3", width: 80, align: "left" }, + { + label: "打卡状态", name: "Num", width: 100, align: "left", + formatter: function (cellvalue) { + if (cellvalue == 0) { + return '缺卡'; + } else if (cellvalue < "3") { + return '未打卡'; + } else if (cellvalue == "3") { + return "已打卡"; + } + } + }, + ], + mainId: 'ID', + isPage: true, + sidx: 'createtime desc', + + }); + page.search(); + }, + search: function (param) { + param = param || {}; + param.StartTime = startTime; + param.EndTime = endTime; + $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); + } + }; + refreshGirdData = function () { + $('#gridtable').jfGridSet('reload'); + }; + page.init(); +} 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 148722cb5..c0ffaf7b2 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 @@ -1028,6 +1028,7 @@ + @@ -7862,6 +7863,7 @@ + diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuBLL.cs index 8ea6781e0..5735857ab 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuBLL.cs @@ -67,6 +67,30 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration } } + /// + /// 统计数据 + /// + /// 分页参数 + /// 查询参数 + /// + public IEnumerable GetStatistics(Pagination pagination, string queryJson) + { + try + { + return healthPunchStuService.GetStatistics(pagination, queryJson); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } #endregion #region 提交数据 diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuEntity.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuEntity.cs index a73025327..430bf6b2a 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuEntity.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuEntity.cs @@ -11,7 +11,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration /// 日 期:2022-06-17 11:00 /// 描 述:体温上报 ///
- public class HealthPunchStuEntity + public class HealthPunchStuEntity { #region 实体成员 /// @@ -139,6 +139,22 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration } #endregion #region 扩展字段 + + [NotMapped] + public string Address1 { get; set; } + [NotMapped] + public string Address2 { get; set; } + [NotMapped] + public string Address3 { get; set; } + + [NotMapped] + public string Temperature1 { get; set; } + [NotMapped] + public string Temperature2 { get; set; } + [NotMapped] + public string Temperature3 { get; set; } + [NotMapped] + public string Num { get; set; } #endregion } } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuIBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuIBLL.cs index 8404e7d0b..e8eeb7614 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuIBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuIBLL.cs @@ -27,6 +27,13 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration /// 主键 /// HealthPunchStuEntity GetHealthPunchStuEntity(string keyValue); + /// + /// 统计数据 + /// + /// + /// + /// + IEnumerable GetStatistics(Pagination pagination, string queryJson); #endregion #region 提交数据 diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuService.cs index 5901add0b..b57f8e97a 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/HealthPunchStu/HealthPunchStuService.cs @@ -76,6 +76,86 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration } } + /// + /// 获取页面显示列表数据 + /// + /// 查询参数 + /// 查询参数 + /// + public IEnumerable GetStatistics(Pagination pagination, string queryJson) + { + try + { + var strSql = new StringBuilder(); + var queryParam = queryJson.ToJObject(); + // 虚拟参数 + string sql1 = " "; + string sql2 = " "; + string sql3 = " "; + + if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty()) + { + sql1 = " and Createtime >= '" + queryParam["StartTime"].ToDate() + + "' and Createtime <= '" + queryParam["EndTime"].ToDate() + "' "; + } + if (!queryParam["F_School"].IsEmpty()) + { + sql2 = " and F_School ='" + queryParam["F_School"].ToString() + "' "; + } + if (!queryParam["MajorNo"].IsEmpty()) + { + sql2 += "and MajorNo ='" + queryParam["MajorNo"].ToString() + "'"; + } + if (!queryParam["ClassNo"].IsEmpty()) + { + sql2 += "and ClassNo ='" + queryParam["ClassNo"].ToString() + "'"; + } + + if (!queryParam["StuNo"].IsEmpty()) + { + sql2 += "and StuNo like '%" + queryParam["StuNo"].ToString() + "%'"; + } + if (!queryParam["StuName"].IsEmpty()) + { + sql2 += "and StuName like '%" + queryParam["StuName"].ToString() + "%'"; + } + if (!queryParam["IsStatus"].IsEmpty()) + { + sql3 = " and t.num >= '" + queryParam["IsStatus"].ToString() + "' "; + } + strSql.Append(@"select * from ( + select zb.*,aa.address as Address1,aa.Temperature as Temperature1 ,bb.address as Address2,bb.Temperature as Temperature2,cc.address as Address3 ,cc.Temperature + as Temperature3,dd.Num from (select F_School,MajorNo,ClassNo,StuNo,StuName,DKDate,Phone from HealthPunchStu + where 1=1 " + sql1 + sql2 + " "); + strSql.Append(@" Group by F_School,MajorNo,ClassNo,StuNo,StuName,DKDate,Phone )zb + left join (select * from HealthPunchStu where 1=1 " + sql1 + " )"); + strSql.Append(@" AA on AA.F_School=zb.F_School and AA.MajorNo=zb.MajorNo + and AA.ClassNo=zb.ClassNo and AA.StuNo=zb.Stuno and AA.StuName=zb.StuName + and AA.Phone=zb.Phone and AA.dkDate=zb.Dkdate and AA.dkType=1 + left join (select * from HealthPunchStu where 1=1 " + sql1 + " )"); + strSql.Append(@" BB on BB.F_School=zb.F_School and BB.MajorNo=zb.MajorNo + and BB.ClassNo=zb.ClassNo and BB.StuNo=zb.Stuno and BB.StuName=zb.StuName + and BB.Phone=zb.Phone and BB.dkDate=zb.Dkdate and BB.dkType=2 + left join (select * from HealthPunchStu where 1=1 " + sql1 + " )"); + strSql.Append(@" CC on CC.F_School=zb.F_School and CC.MajorNo=zb.MajorNo + and CC.ClassNo=zb.ClassNo and CC.StuNo=zb.Stuno and CC.StuName=zb.StuName + and CC.Phone=zb.Phone and CC.dkDate=zb.Dkdate and CC.dkType=3 + left join (select Stuno ,Count(*) as num from HealthPunchStu group by Stuno ) dd on dd.StuNo=zb.Stuno + )t where 1=1 " + sql3 + " "); + return this.BaseRepository("CollegeMIS").FindList(strSql.ToString()); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } #endregion #region 提交数据