@@ -5,8 +5,11 @@ using System.Collections.Generic; | |||
using System.IO; | |||
using System.Linq; | |||
using System.Web.Mvc; | |||
using Hangfire.Annotations; | |||
using Learun.Application.Base.SystemModule; | |||
using Newtonsoft.Json; | |||
using System.Data; | |||
using Learun.Application.WorkFlow; | |||
namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
{ | |||
@@ -61,6 +64,116 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
{ | |||
return View(); | |||
} | |||
[HttpGet] | |||
/// <summary> | |||
/// 是否饼状图 | |||
/// </summary> | |||
/// <returns></returns> | |||
public ActionResult Peichart() | |||
{ | |||
//是否报道 | |||
string sql = $"SELECT COUNT(CASE WHEN IsReport=1 THEN 1 END) AS num1, COUNT(CASE WHEN IsReport = 0 THEN 1 END) AS num2 FROM StuEnroll"; | |||
var data = stuEnrollIBLL.Execute(sql); | |||
List<object> list2 = new List<object>(); | |||
list2.Add(new | |||
{ | |||
name = "报道人数", | |||
value = data.Rows[0]["num1"].ToString() | |||
}); | |||
list2.Add(new | |||
{ | |||
name = "未报道人数", | |||
value = data.Rows[0]["num2"].ToString() | |||
}); | |||
var jsonData = new | |||
{ | |||
rows = list2 | |||
}; | |||
//是否住宿 | |||
string sql1 = $"SELECT COUNT(CASE WHEN IsCheckIn=1 THEN 1 END) AS num1, COUNT(CASE WHEN IsCheckIn = 0 THEN 1 END) AS num2 FROM StuEnroll"; | |||
var data1 = stuEnrollIBLL.Execute(sql); | |||
List<object> list3 = new List<object>(); | |||
list3.Add(new | |||
{ | |||
name = "住宿人数", | |||
value = data.Rows[0]["num1"].ToString() | |||
}); | |||
list3.Add(new | |||
{ | |||
name = "未住宿人数", | |||
value = data.Rows[0]["num2"].ToString() | |||
}); | |||
var jsonData1 = new | |||
{ | |||
rows = list3 | |||
}; | |||
///是否资助 | |||
string sql2 = $"SELECT COUNT(CASE WHEN IsSubsidize1=1 THEN 1 END) AS num1, COUNT(CASE WHEN IsSubsidize1 = 0 THEN 1 END) AS num2 FROM StuEnroll"; | |||
var data2 = stuEnrollIBLL.Execute(sql); | |||
List<object> list4 = new List<object>(); | |||
list4.Add(new | |||
{ | |||
name = "资助人数", | |||
value = data.Rows[0]["num1"].ToString() | |||
}); | |||
list4.Add(new | |||
{ | |||
name = "未资助人数", | |||
value = data.Rows[0]["num2"].ToString() | |||
}); | |||
var jsonData2 = new | |||
{ | |||
rows = list4 | |||
}; | |||
//是否军训 | |||
string sql3 = $"SELECT COUNT(CASE WHEN IsMilitary=1 THEN 1 END) AS num1, COUNT(CASE WHEN IsMilitary = 0 THEN 1 END) AS num2 FROM StuEnroll"; | |||
var data3 = stuEnrollIBLL.Execute(sql); | |||
List<object> list5 = new List<object>(); | |||
list5.Add(new | |||
{ | |||
name = "军训人数", | |||
value = data.Rows[0]["num1"].ToString() | |||
}); | |||
list5.Add(new | |||
{ | |||
name = "未军训人数", | |||
value = data.Rows[0]["num2"].ToString() | |||
}); | |||
var jsonData3 = new | |||
{ | |||
rows = list5 | |||
}; | |||
//是否缴费 | |||
string sql4 = $"SELECT COUNT(CASE WHEN IsPay=1 THEN 1 END) AS num1, COUNT(CASE WHEN IsPay = 0 THEN 1 END) AS num2 FROM StuEnroll"; | |||
var data4 = stuEnrollIBLL.Execute(sql); | |||
List<object> list6 = new List<object>(); | |||
list6.Add(new | |||
{ | |||
name = "缴费人数", | |||
value = data.Rows[0]["num1"].ToString() | |||
}); | |||
list6.Add(new | |||
{ | |||
name = "未缴费人数", | |||
value = data.Rows[0]["num2"].ToString() | |||
}); | |||
var jsonData4 = new | |||
{ | |||
rows = list6 | |||
}; | |||
return JsonResult(jsonData); | |||
} | |||
/// <summary> | |||
@@ -209,6 +322,14 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
{ | |||
return View(); | |||
} | |||
/// <summary> | |||
/// 招生统计 | |||
/// </summary> | |||
/// <returns></returns> | |||
public ActionResult StatisticIndex() | |||
{ | |||
return View(); | |||
} | |||
#endregion | |||
@@ -314,13 +435,13 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
if (string.IsNullOrEmpty(student.PhotoUrl)) | |||
{ | |||
student.PhotoUrl = Guid.NewGuid().ToString(); | |||
stuEnrollIBLL.SaveEntity(student.StuId,student); | |||
stuEnrollIBLL.SaveEntity(student.StuId, student); | |||
} | |||
var annexEntity = annexesFileIBLL.GetEntityByFolderId(student.PhotoUrl); | |||
if (annexEntity == null) | |||
{ | |||
annexEntity=new AnnexesFileEntity(); | |||
annexEntity = new AnnexesFileEntity(); | |||
annexEntity.Create(); | |||
annexEntity.F_Id = Guid.NewGuid().ToString(); | |||
} | |||
@@ -344,11 +465,11 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
public ActionResult GetYearListByClass() | |||
{ | |||
var classList = classInfoIBLL.GetAllClass().ToList(); | |||
var result = classList.GroupBy(a => a.Grade).Select(m=>m.Key).ToList(); | |||
List<object> list=new List<object>(); | |||
var result = classList.GroupBy(a => a.Grade).Select(m => m.Key).ToList(); | |||
List<object> list = new List<object>(); | |||
foreach (var item in result) | |||
{ | |||
list.Add(new{year=item}); | |||
list.Add(new { year = item }); | |||
} | |||
return Success(list); | |||
@@ -847,6 +968,193 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||
/// <summary> | |||
/// 招生统计数据 | |||
/// </summary> | |||
/// <param name="queryJson"></param> | |||
/// <returns></returns> | |||
public ActionResult GetStatisticData(string queryJson) | |||
{ | |||
var data = stuEnrollIBLL.GetList(queryJson); | |||
//是否报到 | |||
var datagroupIsReport = data.OrderByDescending(x => x.IsReport).GroupBy(x => x.IsReport).Select(x => new | |||
{ | |||
status = x.Key.HasValue ? (x.Key.Value == true ? "报到" : "未报到") : "未处理", | |||
count = x.Select(y => y.StuId).Count() | |||
}); | |||
var legendDataIsReport = new List<string>(); | |||
var seriesDataIsReport = new List<WfSchemeReportModelOfPie>(); | |||
foreach (var item in datagroupIsReport) | |||
{ | |||
legendDataIsReport.Add(item.status); | |||
seriesDataIsReport.Add(new WfSchemeReportModelOfPie() | |||
{ | |||
value = item.count, | |||
name = item.status | |||
}); | |||
} | |||
//是否住宿 | |||
var datagroupIsCheckIn = data.OrderByDescending(x => x.IsCheckIn).GroupBy(x => x.IsCheckIn).Select(x => new | |||
{ | |||
status = x.Key.HasValue ? (x.Key.Value == true ? "住宿" : "走读") : "未处理", | |||
count = x.Select(y => y.StuId).Count() | |||
}); | |||
var legendDataIsCheckIn = new List<string>(); | |||
var seriesDataIsCheckIn = new List<WfSchemeReportModelOfPie>(); | |||
foreach (var item in datagroupIsCheckIn) | |||
{ | |||
legendDataIsCheckIn.Add(item.status); | |||
seriesDataIsCheckIn.Add(new WfSchemeReportModelOfPie() | |||
{ | |||
value = item.count, | |||
name = item.status | |||
}); | |||
} | |||
//是否资助 | |||
var datagroupIsSubsidize1 = data.OrderByDescending(x => x.IsSubsidize1).GroupBy(x => x.IsSubsidize1).Select(x => new | |||
{ | |||
status = x.Key.HasValue ? (x.Key.Value == true ? "资助" : "不资助") : "未处理", | |||
count = x.Select(y => y.StuId).Count() | |||
}); | |||
var legendDataIsSubsidize1 = new List<string>(); | |||
var seriesDataIsSubsidize1 = new List<WfSchemeReportModelOfPie>(); | |||
foreach (var item in datagroupIsSubsidize1) | |||
{ | |||
legendDataIsSubsidize1.Add(item.status); | |||
seriesDataIsSubsidize1.Add(new WfSchemeReportModelOfPie() | |||
{ | |||
value = item.count, | |||
name = item.status | |||
}); | |||
} | |||
//是否军训 | |||
var datagroupIsMilitary = data.OrderByDescending(x => x.IsMilitary).GroupBy(x => x.IsMilitary).Select(x => new | |||
{ | |||
status = x.Key.HasValue ? (x.Key.Value == true ? "军训" : "不军训") : "未处理", | |||
count = x.Select(y => y.StuId).Count() | |||
}); | |||
var legendDataIsMilitary = new List<string>(); | |||
var seriesDataIsMilitary = new List<WfSchemeReportModelOfPie>(); | |||
foreach (var item in datagroupIsMilitary) | |||
{ | |||
legendDataIsMilitary.Add(item.status); | |||
seriesDataIsMilitary.Add(new WfSchemeReportModelOfPie() | |||
{ | |||
value = item.count, | |||
name = item.status | |||
}); | |||
} | |||
//缴费状态 | |||
var datagroupIsPay = data.OrderByDescending(x => x.IsPay).GroupBy(x => x.IsPay).Select(x => new | |||
{ | |||
status = x.Key.HasValue ? (x.Key.Value == true ? "缴费" : "未缴费") : "未处理", | |||
count = x.Select(y => y.StuId).Count() | |||
}); | |||
var legendDataIsPay = new List<string>(); | |||
var seriesDataIsPay = new List<WfSchemeReportModelOfPie>(); | |||
foreach (var item in datagroupIsPay) | |||
{ | |||
legendDataIsPay.Add(item.status); | |||
seriesDataIsPay.Add(new WfSchemeReportModelOfPie() | |||
{ | |||
value = item.count, | |||
name = item.status | |||
}); | |||
} | |||
//拍照 | |||
var datagroupIsMug = data.OrderByDescending(x => x.IsMug).GroupBy(x => x.IsMug).Select(x => new | |||
{ | |||
status = x.Key.HasValue ? (x.Key.Value == true ? "已拍照" : "未拍照") : "未处理", | |||
count = x.Select(y => y.StuId).Count() | |||
}); | |||
var legendDataIsMug = new List<string>(); | |||
var seriesDataIsMug = new List<WfSchemeReportModelOfPie>(); | |||
foreach (var item in datagroupIsMug) | |||
{ | |||
legendDataIsMug.Add(item.status); | |||
seriesDataIsMug.Add(new WfSchemeReportModelOfPie() | |||
{ | |||
value = item.count, | |||
name = item.status | |||
}); | |||
} | |||
//领取军训服 | |||
var datagroupIsTakeCloths = data.OrderByDescending(x => x.IsTakeCloths).GroupBy(x => x.IsTakeCloths).Select(x => new | |||
{ | |||
status = x.Key.HasValue ? (x.Key.Value == true ? "已领取" : "未领取") : "未处理", | |||
count = x.Select(y => y.StuId).Count() | |||
}); | |||
var legendDataIsTakeCloths = new List<string>(); | |||
var seriesDataIsTakeCloths = new List<WfSchemeReportModelOfPie>(); | |||
foreach (var item in datagroupIsTakeCloths) | |||
{ | |||
legendDataIsTakeCloths.Add(item.status); | |||
seriesDataIsTakeCloths.Add(new WfSchemeReportModelOfPie() | |||
{ | |||
value = item.count, | |||
name = item.status | |||
}); | |||
} | |||
//量取校服尺寸 | |||
var datagroupIsQuantity = data.OrderByDescending(x => x.IsQuantity).GroupBy(x => x.IsQuantity).Select(x => new | |||
{ | |||
status = x.Key.HasValue ? (x.Key.Value == true ? "已量" : "未量") : "未处理", | |||
count = x.Select(y => y.StuId).Count() | |||
}); | |||
var legendDataIsQuantity = new List<string>(); | |||
var seriesDataIsQuantity = new List<WfSchemeReportModelOfPie>(); | |||
foreach (var item in datagroupIsQuantity) | |||
{ | |||
legendDataIsQuantity.Add(item.status); | |||
seriesDataIsQuantity.Add(new WfSchemeReportModelOfPie() | |||
{ | |||
value = item.count, | |||
name = item.status | |||
}); | |||
} | |||
//领取床上用品 | |||
var datagroupIsGetBeddingArticle = data.OrderByDescending(x => x.IsGetBeddingArticle).GroupBy(x => x.IsGetBeddingArticle).Select(x => new | |||
{ | |||
status = x.Key.HasValue ? (x.Key.Value == true ? "已领取" : "未领取") : "未处理", | |||
count = x.Select(y => y.StuId).Count() | |||
}); | |||
var legendDataIsGetBeddingArticle = new List<string>(); | |||
var seriesDataIsGetBeddingArticle = new List<WfSchemeReportModelOfPie>(); | |||
foreach (var item in datagroupIsGetBeddingArticle) | |||
{ | |||
legendDataIsGetBeddingArticle.Add(item.status); | |||
seriesDataIsGetBeddingArticle.Add(new WfSchemeReportModelOfPie() | |||
{ | |||
value = item.count, | |||
name = item.status | |||
}); | |||
} | |||
var jsonData = new | |||
{ | |||
legendDataIsReport = legendDataIsReport, | |||
seriesDataIsReport = seriesDataIsReport, | |||
legendDataIsCheckIn = legendDataIsCheckIn, | |||
seriesDataIsCheckIn = seriesDataIsCheckIn, | |||
legendDataIsSubsidize1 = legendDataIsSubsidize1, | |||
seriesDataIsSubsidize1 = seriesDataIsSubsidize1, | |||
legendDataIsMilitary = legendDataIsMilitary, | |||
seriesDataIsMilitary = seriesDataIsMilitary, | |||
legendDataIsPay = legendDataIsPay, | |||
seriesDataIsPay = seriesDataIsPay, | |||
legendDataIsMug = legendDataIsMug, | |||
seriesDataIsMug = seriesDataIsMug, | |||
legendDataIsTakeCloths = legendDataIsTakeCloths, | |||
seriesDataIsTakeCloths = seriesDataIsTakeCloths, | |||
legendDataIsQuantity = legendDataIsQuantity, | |||
seriesDataIsQuantity = seriesDataIsQuantity, | |||
legendDataIsGetBeddingArticle = legendDataIsGetBeddingArticle, | |||
seriesDataIsGetBeddingArticle = seriesDataIsGetBeddingArticle | |||
}; | |||
return Success(jsonData); | |||
} | |||
#endregion | |||
@@ -0,0 +1,40 @@ | |||
<!DOCTYPE html> | |||
<html> | |||
<head> | |||
<meta charset="utf-8" /> | |||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |||
<title>@ViewBag.Title - My ASP.NET Application</title> | |||
<link href="~/Content/Site.css" rel="stylesheet" type="text/css" /> | |||
<link href="~/Content/bootstrap.min.css" rel="stylesheet" type="text/css" /> | |||
<script src="~/Scripts/modernizr-2.6.2.js"></script> | |||
</head> | |||
<body> | |||
<div class="navbar navbar-inverse navbar-fixed-top"> | |||
<div class="container"> | |||
<div class="navbar-header"> | |||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> | |||
<span class="icon-bar"></span> | |||
<span class="icon-bar"></span> | |||
<span class="icon-bar"></span> | |||
</button> | |||
@Html.ActionLink("Application name", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" }) | |||
</div> | |||
<div class="navbar-collapse collapse"> | |||
<ul class="nav navbar-nav"> | |||
</ul> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="container body-content"> | |||
@RenderBody() | |||
<hr /> | |||
<footer> | |||
<p>© @DateTime.Now.Year - My ASP.NET Application</p> | |||
</footer> | |||
</div> | |||
<script src="~/Scripts/jquery-1.10.2.min.js"></script> | |||
<script src="~/Scripts/bootstrap.min.js"></script> | |||
</body> | |||
</html> |
@@ -0,0 +1,42 @@ | |||
| |||
@{ | |||
ViewBag.Title = "资产新增报表"; | |||
Layout = "~/Views/Shared/_Index.cshtml"; | |||
} | |||
<!DOCTYPE html> | |||
<html> | |||
<head> | |||
<meta name="viewport" content="width=device-width" /> | |||
<title>Peichart</title> | |||
</head> | |||
<body> | |||
<div class="lr-layout ui-report"> | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle"> | |||
@*<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class="btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr-replace" class="btn btn-default"><i class="fa fa-refresh"></i> <span class="lrlt">刷新</span></a> | |||
</div> | |||
</div> | |||
</div>*@ | |||
<div class="lr-layout-grid" style="overflow:auto;"> | |||
<div class="grid-title"> | |||
<div style="overflow: hidden; padding-bottom: 20px; text-align: center; margin-left: auto; margin-right: auto;"> | |||
<div id="main" style="float: left; margin-right: 20px; width: 650px; height: 350px;border: 1px solid #ccc;"> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<script src="~/Content/echarts/echarts.js"></script> | |||
</body> | |||
</html> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StuEnroll/Peichart.js") |
@@ -0,0 +1,73 @@ | |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var year = ""; | |||
var page = { | |||
init: function () { | |||
page.bind(); | |||
page.initGrid(); | |||
page.initChart(); | |||
}, | |||
bind: function () { | |||
//当前年 | |||
var now = learun.formatDate(new Date(), 'yyyy'); | |||
$('#year').val(now); | |||
year = now; | |||
// 刷新 | |||
$('#lr-replace').on('click', function () { | |||
location.reload(); | |||
}); | |||
//查询 | |||
$('#btn_Search').on('click', function () { | |||
year = $('#year').val(); | |||
page.search(); | |||
}); | |||
}, | |||
initGrid: function () { | |||
//$(".lr-layout-grid").height($(window).height() - 110); | |||
//$('#gridtable').lrAuthorizeJfGridLei({ | |||
// url: top.$.rootUrl + '/AssetManagementSystem/AssReport/AssAddReportList', | |||
// headData: [ | |||
// { name: "name", label: "年份", width: 100, align: "center" }, | |||
// { name: "value", label: "金额", width: 150, align: "center" } | |||
// ] | |||
//}); | |||
//page.search(); | |||
}, | |||
initChart: function () { | |||
var myChart1 = echarts.init(document.getElementById('main')); | |||
//var myChart2 = echarts.init(document.getElementById('main1')); | |||
var queryJson = { year: year }; | |||
learun.httpAsyncPost(top.$.rootUrl + "/EducationalAdministration/StuEnroll/Peichart", { queryJson: JSON.stringify(queryJson) }, function (res) { | |||
if (res.code == 200) { | |||
var option = { | |||
xAxis: { | |||
type: 'category', | |||
data: res.data.name | |||
}, | |||
yAxis: { | |||
type: 'value' | |||
}, | |||
series: [{ | |||
data: res.data.value, | |||
type: 'bar' | |||
}] | |||
}; | |||
myChart1.setOption(option); | |||
} | |||
}); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
param.year = year; | |||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||
page.initChart(); | |||
} | |||
}; | |||
page.init(); | |||
} | |||
@@ -0,0 +1,76 @@ | |||
| |||
@{ | |||
ViewBag.Title = "招生统计"; | |||
Layout = "~/Views/Shared/_ReportTemplate.cshtml"; | |||
} | |||
<style> | |||
body{ | |||
overflow-y:auto; | |||
} | |||
</style> | |||
@Html.AppendJsFile("/Views/LR_Content/script/lr-form.js") | |||
<div class="lr-layout ui-report"> | |||
<div class="lr-layout-center"> | |||
<div class="lr-layout-wrap lr-layout-wrap-notitle"> | |||
<div class="lr-layout-tool"> | |||
<div class="lr-layout-tool-left"> | |||
<div class="lr-layout-tool-item"> | |||
<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> | |||
<div id="DeptNo"></div> | |||
</div> | |||
<div class="col-xs-12 lr-form-item"> | |||
<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> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-tool-right"> | |||
<div class="btn-group btn-group-sm" learun-authorize="yes"> | |||
<a id="lr-replace" class="btn btn-default"><i class="fa fa-refresh"></i> <span class="lrlt">刷新</span></a> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-grid" style="overflow:auto;"> | |||
<div class="grid-title"> | |||
<div style="overflow: auto; padding-bottom: 20px; text-align: center; margin-left: auto; margin-right: auto;"> | |||
<div id="mainIsReport" style="float: left; margin:0 20px 20px 0; width: 650px; height: 350px;border: 1px solid #ccc;"> | |||
</div> | |||
<div id="mainIsCheckIn" style="float: left; margin:0 20px 20px 0; width: 650px; height: 350px;border: 1px solid #ccc;"> | |||
</div> | |||
<div id="mainIsSubsidize1" style="float: left; margin:0 20px 20px 0; width: 650px; height: 350px;border: 1px solid #ccc;"> | |||
</div> | |||
<div id="mainIsMilitary" style="float: left; margin:0 20px 20px 0; width: 650px; height: 350px;border: 1px solid #ccc;"> | |||
</div> | |||
<div id="mainIsPay" style="float: left; margin:0 20px 20px 0; width: 650px; height: 350px;border: 1px solid #ccc;"> | |||
</div> | |||
<div id="mainIsMug" style="float: left; margin:0 20px 20px 0; width: 650px; height: 350px;border: 1px solid #ccc;"> | |||
</div> | |||
<div id="mainIsTakeCloths" style="float: left; margin:0 20px 20px 0; width: 650px; height: 350px;border: 1px solid #ccc;"> | |||
</div> | |||
<div id="mainIsQuantity" style="float: left; margin:0 20px 20px 0; width: 650px; height: 350px;border: 1px solid #ccc;"> | |||
</div> | |||
<div id="mainIsGetBeddingArticle" style="float: left; margin:0 20px 20px 0; width: 650px; height: 350px;border: 1px solid #ccc;"> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<script src="~/Content/echarts/echarts.js"></script> | |||
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/StuEnroll/StatisticIndex.js") |
@@ -0,0 +1,397 @@ | |||
| |||
var bootstrap = function ($, learun) { | |||
"use strict"; | |||
var page = { | |||
init: function () { | |||
page.bind(); | |||
page.initChart(); | |||
}, | |||
bind: function () { | |||
// 刷新 | |||
$('#lr-replace').on('click', function () { | |||
location.reload(); | |||
}); | |||
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||
page.search(queryJson); | |||
}, 250, 400); | |||
$('#DeptNo').lrselect({ | |||
allowSearch: true, | |||
value: "deptno", | |||
text: "deptname", | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdDeptInfo', | |||
select: function (item) { | |||
if (item) { | |||
$('#MajorNo').lrselectRefresh({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdMajorInfo', | |||
param: { strWhere: "DeptNo='" + item.deptno + "' AND CheckMark=1" } | |||
}); | |||
} else { | |||
$('#MajorNo').lrselectRefresh({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdMajorInfo', | |||
param: { strWhere: "1=1 AND CheckMark=1" } | |||
}); | |||
} | |||
} | |||
}); | |||
$('#MajorNo').lrselect({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=CdMajorInfo', | |||
value: "majorno", | |||
text: "majorname", | |||
param: { strWhere: "1=1 AND CheckMark=1" }, | |||
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" } | |||
}); | |||
} else { | |||
$('#ClassNo').lrselectRefresh({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj', | |||
param: { strWhere: "1=1 AND CheckMark=1" } | |||
}); | |||
} | |||
} | |||
}); | |||
$('#ClassNo').lrselect({ | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=bjsj', | |||
param: { strWhere: "1=1 AND CheckMark=1" }, | |||
value: "classno", | |||
text: "classname" | |||
}); | |||
$('#Grade').lrselect({ | |||
url: top.$.rootUrl + '/EducationalAdministration/StuEnroll/GetYearListByClass', | |||
value: "year", | |||
text: "year", | |||
}) | |||
}, | |||
initChart: function (param) { | |||
var myChartIsReport = echarts.init(document.getElementById('mainIsReport')); | |||
var myChartIsCheckIn = echarts.init(document.getElementById('mainIsCheckIn')); | |||
var myChartIsSubsidize1 = echarts.init(document.getElementById('mainIsSubsidize1')); | |||
var myChartIsMilitary = echarts.init(document.getElementById('mainIsMilitary')); | |||
var myChartIsPay = echarts.init(document.getElementById('mainIsPay')); | |||
var myChartIsMug = echarts.init(document.getElementById('mainIsMug')); | |||
var myChartIsTakeCloths = echarts.init(document.getElementById('mainIsTakeCloths')); | |||
var myChartIsQuantity = echarts.init(document.getElementById('mainIsQuantity')); | |||
var myChartIsGetBeddingArticle = echarts.init(document.getElementById('mainIsGetBeddingArticle')); | |||
var queryJson = param || {}; | |||
learun.httpAsyncPost(top.$.rootUrl + "/EducationalAdministration/StuEnroll/GetStatisticData", { queryJson: JSON.stringify(queryJson) }, function (res) { | |||
if (res.code == 200) { | |||
var optionIsReport = { | |||
title: { | |||
text: '新生报到分析图', | |||
x: 'center' | |||
}, | |||
tooltip: { | |||
trigger: 'item', | |||
formatter: "{a} <br/>{b} : {c}人 ({d}%)" | |||
}, | |||
legend: { | |||
orient: 'vertical', | |||
left: 'left', | |||
data: res.data.legendDataIsReport | |||
}, | |||
series: [ | |||
{ | |||
name: '是否报到', | |||
type: 'pie', | |||
radius: '55%', | |||
center: ['50%', '60%'], | |||
data: res.data.seriesDataIsReport, | |||
itemStyle: { | |||
emphasis: { | |||
shadowBlur: 10, | |||
shadowOffsetX: 0, | |||
shadowColor: 'rgba(0, 0, 0, 0.5)' | |||
} | |||
} | |||
} | |||
] | |||
}; | |||
myChartIsReport.setOption(optionIsReport); | |||
var optionIsCheckIn = { | |||
title: { | |||
text: '新生住宿分析图', | |||
x: 'center' | |||
}, | |||
tooltip: { | |||
trigger: 'item', | |||
formatter: "{a} <br/>{b} : {c}人 ({d}%)" | |||
}, | |||
legend: { | |||
orient: 'vertical', | |||
left: 'left', | |||
data: res.data.legendDataIsCheckIn | |||
}, | |||
series: [ | |||
{ | |||
name: '是否住宿', | |||
type: 'pie', | |||
radius: '55%', | |||
center: ['50%', '60%'], | |||
data: res.data.seriesDataIsCheckIn, | |||
itemStyle: { | |||
emphasis: { | |||
shadowBlur: 10, | |||
shadowOffsetX: 0, | |||
shadowColor: 'rgba(0, 0, 0, 0.5)' | |||
} | |||
} | |||
} | |||
] | |||
}; | |||
myChartIsCheckIn.setOption(optionIsCheckIn); | |||
var optionIsSubsidize1 = { | |||
title: { | |||
text: '新生资助分析图', | |||
x: 'center' | |||
}, | |||
tooltip: { | |||
trigger: 'item', | |||
formatter: "{a} <br/>{b} : {c}人 ({d}%)" | |||
}, | |||
legend: { | |||
orient: 'vertical', | |||
left: 'left', | |||
data: res.data.legendDataIsSubsidize1 | |||
}, | |||
series: [ | |||
{ | |||
name: '是否资助', | |||
type: 'pie', | |||
radius: '55%', | |||
center: ['50%', '60%'], | |||
data: res.data.seriesDataIsSubsidize1, | |||
itemStyle: { | |||
emphasis: { | |||
shadowBlur: 10, | |||
shadowOffsetX: 0, | |||
shadowColor: 'rgba(0, 0, 0, 0.5)' | |||
} | |||
} | |||
} | |||
] | |||
}; | |||
myChartIsSubsidize1.setOption(optionIsSubsidize1); | |||
var optionIsMilitary = { | |||
title: { | |||
text: '新生军训分析图', | |||
x: 'center' | |||
}, | |||
tooltip: { | |||
trigger: 'item', | |||
formatter: "{a} <br/>{b} : {c}人 ({d}%)" | |||
}, | |||
legend: { | |||
orient: 'vertical', | |||
left: 'left', | |||
data: res.data.legendDataIsMilitary | |||
}, | |||
series: [ | |||
{ | |||
name: '是否军训', | |||
type: 'pie', | |||
radius: '55%', | |||
center: ['50%', '60%'], | |||
data: res.data.seriesDataIsMilitary, | |||
itemStyle: { | |||
emphasis: { | |||
shadowBlur: 10, | |||
shadowOffsetX: 0, | |||
shadowColor: 'rgba(0, 0, 0, 0.5)' | |||
} | |||
} | |||
} | |||
] | |||
}; | |||
myChartIsMilitary.setOption(optionIsMilitary); | |||
var optionIsPay = { | |||
title: { | |||
text: '新生缴费分析图', | |||
x: 'center' | |||
}, | |||
tooltip: { | |||
trigger: 'item', | |||
formatter: "{a} <br/>{b} : {c}人 ({d}%)" | |||
}, | |||
legend: { | |||
orient: 'vertical', | |||
left: 'left', | |||
data: res.data.legendDataIsPay | |||
}, | |||
series: [ | |||
{ | |||
name: '是否缴费', | |||
type: 'pie', | |||
radius: '55%', | |||
center: ['50%', '60%'], | |||
data: res.data.seriesDataIsPay, | |||
itemStyle: { | |||
emphasis: { | |||
shadowBlur: 10, | |||
shadowOffsetX: 0, | |||
shadowColor: 'rgba(0, 0, 0, 0.5)' | |||
} | |||
} | |||
} | |||
] | |||
}; | |||
myChartIsPay.setOption(optionIsPay); | |||
var optionIsMug = { | |||
title: { | |||
text: '新生拍照分析图', | |||
x: 'center' | |||
}, | |||
tooltip: { | |||
trigger: 'item', | |||
formatter: "{a} <br/>{b} : {c}人 ({d}%)" | |||
}, | |||
legend: { | |||
orient: 'vertical', | |||
left: 'left', | |||
data: res.data.legendDataIsMug | |||
}, | |||
series: [ | |||
{ | |||
name: '是否拍照', | |||
type: 'pie', | |||
radius: '55%', | |||
center: ['50%', '60%'], | |||
data: res.data.seriesDataIsMug, | |||
itemStyle: { | |||
emphasis: { | |||
shadowBlur: 10, | |||
shadowOffsetX: 0, | |||
shadowColor: 'rgba(0, 0, 0, 0.5)' | |||
} | |||
} | |||
} | |||
] | |||
}; | |||
myChartIsMug.setOption(optionIsMug); | |||
var optionIsTakeCloths = { | |||
title: { | |||
text: '新生领取军训服分析图', | |||
x: 'center' | |||
}, | |||
tooltip: { | |||
trigger: 'item', | |||
formatter: "{a} <br/>{b} : {c}人 ({d}%)" | |||
}, | |||
legend: { | |||
orient: 'vertical', | |||
left: 'left', | |||
data: res.data.legendDataIsTakeCloths | |||
}, | |||
series: [ | |||
{ | |||
name: '是否领取军训服', | |||
type: 'pie', | |||
radius: '55%', | |||
center: ['50%', '60%'], | |||
data: res.data.seriesDataIsTakeCloths, | |||
itemStyle: { | |||
emphasis: { | |||
shadowBlur: 10, | |||
shadowOffsetX: 0, | |||
shadowColor: 'rgba(0, 0, 0, 0.5)' | |||
} | |||
} | |||
} | |||
] | |||
}; | |||
myChartIsTakeCloths.setOption(optionIsTakeCloths); | |||
var optionIsQuantity = { | |||
title: { | |||
text: '新生量取校服尺寸分析图', | |||
x: 'center' | |||
}, | |||
tooltip: { | |||
trigger: 'item', | |||
formatter: "{a} <br/>{b} : {c}人 ({d}%)" | |||
}, | |||
legend: { | |||
orient: 'vertical', | |||
left: 'left', | |||
data: res.data.legendDataIsQuantity | |||
}, | |||
series: [ | |||
{ | |||
name: '是否量取校服尺寸', | |||
type: 'pie', | |||
radius: '55%', | |||
center: ['50%', '60%'], | |||
data: res.data.seriesDataIsQuantity, | |||
itemStyle: { | |||
emphasis: { | |||
shadowBlur: 10, | |||
shadowOffsetX: 0, | |||
shadowColor: 'rgba(0, 0, 0, 0.5)' | |||
} | |||
} | |||
} | |||
] | |||
}; | |||
myChartIsQuantity.setOption(optionIsQuantity); | |||
var optionIsGetBeddingArticle = { | |||
title: { | |||
text: '新生领取床上用品分析图', | |||
x: 'center' | |||
}, | |||
tooltip: { | |||
trigger: 'item', | |||
formatter: "{a} <br/>{b} : {c}人 ({d}%)" | |||
}, | |||
legend: { | |||
orient: 'vertical', | |||
left: 'left', | |||
data: res.data.legendDataIsGetBeddingArticle | |||
}, | |||
series: [ | |||
{ | |||
name: '是否领取床上用品', | |||
type: 'pie', | |||
radius: '55%', | |||
center: ['50%', '60%'], | |||
data: res.data.seriesDataIsGetBeddingArticle, | |||
itemStyle: { | |||
emphasis: { | |||
shadowBlur: 10, | |||
shadowOffsetX: 0, | |||
shadowColor: 'rgba(0, 0, 0, 0.5)' | |||
} | |||
} | |||
} | |||
] | |||
}; | |||
myChartIsGetBeddingArticle.setOption(optionIsGetBeddingArticle); | |||
} | |||
}); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
page.initChart(param); | |||
} | |||
}; | |||
page.init(); | |||
} | |||
@@ -0,0 +1,3 @@ | |||
@{ | |||
Layout = "~/Areas/EducationalAdministration/Views/Shared/_Layout.cshtml"; | |||
} |
@@ -20,11 +20,71 @@ | |||
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i> 编辑</a> | |||
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i> 删除</a>*@ | |||
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i> 打印</a> | |||
</div> | |||
<div class="layui-btn-container"> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="lr-layout-body" id="gridtable"></div> | |||
</div> | |||
</div> | |||
<div id="winpop"> | |||
<div class="title">您有新的未读消息<span class="close" onclick="tips_pop()">x</span></div> | |||
<div id="notifications"> | |||
</div> | |||
</div> | |||
</div> | |||
@Html.AppendJsFile("/Areas/LR_Desktop/Views/MessageRind/Index.js") | |||
@Html.AppendJsFile("/Areas/LR_Desktop/Views/MessageRind/Index.js"); | |||
<script> | |||
function tips_pop() { | |||
var MsgPop = document.getElementById("winpop"); | |||
var popH = parseInt(MsgPop.style.height); | |||
if (popH == 0) { | |||
MsgPop.style.Height = "block"; | |||
show = setInterval("changeH('up')", 2); | |||
} else { | |||
hide = setInterval("changeH('down')", 2); | |||
} | |||
} | |||
function changeH(str) { | |||
var magPop = document.getElementById("winpop"); | |||
var popH = parseInt(MsgPop.style.Height); | |||
if (str == "up") { | |||
if (popH <= 100) { | |||
msgPop.style.height = (popH + 4).toString() + "px"; | |||
} else { | |||
clearInterval(show); | |||
} | |||
} | |||
if (str == "down") { | |||
if (popH >= 4) { | |||
MsgPop.style.Height = (popH - 4).toString() + "px"; | |||
} else { | |||
clearInterval(hide); | |||
MsgPop.style.display = "none"; | |||
} | |||
} | |||
window.onload = function() { | |||
document.getElementById('winpop').style.height = '0px'; | |||
setTimeout("tips_pop()", 800); | |||
} | |||
} | |||
function Winpop() { | |||
var state = '0'; | |||
$.get(${ ctx } / sys / msGetUserMedia / getMsgList ? state + "&t=" + new Date().getTime(),function(data) { | |||
$("#notifications").html(data); | |||
}), | |||
} | |||
winpop(); | |||
setInterval(function() { | |||
$("#winpop").load(Winpop(), ""); | |||
}, | |||
1000); | |||
</script> |
@@ -94,6 +94,8 @@ var bootstrap = function ($, learun) { | |||
}); | |||
}, | |||
// 初始化列表 | |||
initGird: function () { | |||
$('#gridtable').lrAuthorizeJfGrid({ | |||
@@ -0,0 +1,18 @@ | |||
body { | |||
padding-top: 50px; | |||
padding-bottom: 20px; | |||
} | |||
/* Set padding to keep content from hitting the edges */ | |||
.body-content { | |||
padding-left: 15px; | |||
padding-right: 15px; | |||
} | |||
/* Set width on the form input elements since they're 100% wide by default */ | |||
input, | |||
select, | |||
textarea { | |||
max-width: 280px; | |||
} | |||
@@ -970,6 +970,8 @@ | |||
<Content Include="Areas\EducationalAdministration\Views\StuConsumption\IndexForStudent.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuConsumption\IndexForTeacher.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuEnroll\AmountForm.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuEnroll\Peichart.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuEnroll\StatisticIndex.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuGrant\Form.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuGrant\Index.js" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuInfoBasicChange\Form.js" /> | |||
@@ -3220,6 +3222,7 @@ | |||
<Content Include="Content\signet\jquery.zsign.css" /> | |||
<Content Include="Content\signet\jquery.zsign.js" /> | |||
<Content Include="Content\signet\signet.gif" /> | |||
<Content Include="Content\Site.css" /> | |||
<Content Include="Content\sso\css\bootstrap.css" /> | |||
<Content Include="Content\sso\css\common.css" /> | |||
<Content Include="Content\sso\css\index.css" /> | |||
@@ -7141,6 +7144,8 @@ | |||
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\ContractFilingMonitor.cshtml" /> | |||
<Content Include="Areas\Permission\Views\Perm_FunctionVisit\IndexForCount.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\SchoolCalendar\ScheduleIndex.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuEnroll\Peichart.cshtml" /> | |||
<Content Include="Areas\EducationalAdministration\Views\StuEnroll\StatisticIndex.cshtml" /> | |||
<Content Include="Areas\LR_Desktop\Views\MessageRind\UnreadIndex.cshtml" /> | |||
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" /> | |||
<Content Include="Views\Login\Default-beifen.cshtml" /> | |||
@@ -42,6 +42,35 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// <summary> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<StuEnrollEntity> GetList(string queryJson) | |||
{ | |||
try | |||
{ | |||
return stuEnrollService.GetList(queryJson); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
public DataTable Execute(string sql) | |||
{ | |||
return stuEnrollService.Execute(sql); | |||
} | |||
public IEnumerable<StuEnrollEntity> AllStudent() | |||
{ | |||
try | |||
@@ -22,6 +22,14 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
IEnumerable<StuEnrollEntity> GetPageList(Pagination pagination, string queryJson); | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// <summary> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
IEnumerable<StuEnrollEntity> GetList(string queryJson); | |||
DataTable Execute(string sql); | |||
IEnumerable<StuEnrollEntity> AllStudent(); | |||
IEnumerable<Acc_DormitoryBuildEntity> GetDormitorys(Pagination pagination, string queryJson); | |||
@@ -342,7 +342,263 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
} | |||
} | |||
/// <summary> | |||
/// 获取页面显示列表数据 | |||
/// <summary> | |||
/// <param name="queryJson">查询参数</param> | |||
/// <returns></returns> | |||
public IEnumerable<StuEnrollEntity> GetList( string queryJson) | |||
{ | |||
try | |||
{ | |||
var strSql = new StringBuilder(); | |||
strSql.Append("SELECT t.* "); | |||
strSql.Append(" FROM StuEnroll t "); | |||
strSql.Append(" WHERE 1=1 "); | |||
var queryParam = queryJson.ToJObject(); | |||
// 虚拟参数 | |||
var dp = new DynamicParameters(new { }); | |||
if (!queryParam["IDCard"].IsEmpty()) | |||
{ | |||
dp.Add("IDCard", "%" + queryParam["IDCard"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.IDCard Like @IDCard "); | |||
} | |||
if (!queryParam["Year"].IsEmpty()) | |||
{ | |||
dp.Add("Year", "%" + queryParam["Year"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.ClassNo Like @Year "); | |||
} | |||
//sql条件 | |||
if (!queryParam["SqlParameter"].IsEmpty()) | |||
{ | |||
strSql.Append(queryParam["SqlParameter"].ToString()); | |||
} | |||
if (!queryParam["RegistrationNo"].IsEmpty()) | |||
{ | |||
dp.Add("RegistrationNo", "%" + queryParam["RegistrationNo"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.RegistrationNo Like @RegistrationNo "); | |||
} | |||
if (!queryParam["Admissions"].IsEmpty()) | |||
{ | |||
dp.Add("Admissions", queryParam["Admissions"].ToString(), DbType.String); | |||
strSql.Append(" AND t.Admissions = @Admissions "); | |||
} | |||
if (!queryParam["DeptNo"].IsEmpty()) | |||
{ | |||
dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String); | |||
strSql.Append(" AND t.DeptNo = @DeptNo "); | |||
} | |||
if (!queryParam["MajorNo"].IsEmpty()) | |||
{ | |||
dp.Add("MajorNo", queryParam["MajorNo"].ToString(), DbType.String); | |||
strSql.Append(" AND t.MajorNo = @MajorNo "); | |||
} | |||
if (!queryParam["Grade"].IsEmpty()) | |||
{ | |||
dp.Add("Grade", queryParam["Grade"].ToString(), DbType.String); | |||
strSql.Append(" AND t.Grade = @Grade "); | |||
} | |||
if (!queryParam["ClassNo"].IsEmpty()) | |||
{ | |||
dp.Add("ClassNo", queryParam["ClassNo"].ToString(), DbType.String); | |||
strSql.Append(" AND t.ClassNo = @ClassNo "); | |||
} | |||
if (!queryParam["IsAllocation"].IsEmpty()) | |||
{ | |||
var IsAllocation = Convert.ToBoolean(queryParam["IsAllocation"].ToString()); | |||
if (IsAllocation) | |||
{ | |||
strSql.Append(" AND (t.ClassNo IS NOT NULL AND t.ClassNo<>'')"); | |||
} | |||
else | |||
{ | |||
strSql.Append(" AND (t.ClassNo IS NULL OR t.ClassNo='')"); | |||
} | |||
} | |||
if (!queryParam["IsAllocationDormitory"].IsEmpty()) | |||
{ | |||
var IsAllocation = Convert.ToBoolean(queryParam["IsAllocationDormitory"].ToString()); | |||
if (IsAllocation) | |||
{ | |||
strSql.Append(" AND (t.DormitoryNo IS NOT NULL AND t.DormitoryNo<>'')"); | |||
} | |||
else | |||
{ | |||
strSql.Append(" AND (t.DormitoryNo IS NULL OR t.DormitoryNo='')"); | |||
} | |||
} | |||
if (!queryParam["StuName"].IsEmpty()) | |||
{ | |||
dp.Add("StuName", "%" + queryParam["StuName"].ToString() + "%", DbType.String); | |||
strSql.Append(" AND t.StuName Like @StuName "); | |||
} | |||
if (!queryParam["Status"].IsEmpty()) | |||
{ | |||
dp.Add("Status", queryParam["Status"].ToString(), DbType.String); | |||
strSql.Append(" AND t.Status = @Status "); | |||
} | |||
if (!queryParam["Gender"].IsEmpty()) | |||
{ | |||
dp.Add("Gender", Convert.ToBoolean(queryParam["Gender"].ToString()), DbType.Boolean); | |||
strSql.Append(" AND t.Gender = @Gender "); | |||
} | |||
if (!queryParam["PayList"].IsEmpty()) | |||
{ | |||
strSql.Append(" AND t.Status>=3 AND t.Status<6 "); | |||
} | |||
if (!queryParam["IsCheckIn"].IsEmpty()) | |||
{ | |||
if (queryParam["IsCheckIn"].ToString() == "null") | |||
{ | |||
strSql.Append(" AND t.IsCheckIn is null "); | |||
} | |||
else | |||
{ | |||
dp.Add("IsCheckIn", queryParam["IsCheckIn"].ToString(), DbType.String); | |||
strSql.Append(" AND t.IsCheckIn = @IsCheckIn "); | |||
} | |||
} | |||
if (!queryParam["IsSubsidize1"].IsEmpty()) | |||
{ | |||
if (queryParam["IsSubsidize1"].ToString() == "null") | |||
{ | |||
strSql.Append(" AND t.IsSubsidize1 is null "); | |||
} | |||
else | |||
{ | |||
dp.Add("IsSubsidize1", queryParam["IsSubsidize1"].ToString(), DbType.String); | |||
strSql.Append(" AND t.IsSubsidize1 = @IsSubsidize1 "); | |||
} | |||
} | |||
if (!queryParam["IsMilitary"].IsEmpty()) | |||
{ | |||
if (queryParam["IsMilitary"].ToString() == "null") | |||
{ | |||
strSql.Append(" AND t.IsMilitary is null "); | |||
} | |||
else | |||
{ | |||
dp.Add("IsMilitary", queryParam["IsMilitary"].ToString(), DbType.String); | |||
strSql.Append(" AND t.IsMilitary = @IsMilitary "); | |||
} | |||
} | |||
if (!queryParam["IsPay"].IsEmpty()) | |||
{ | |||
if (queryParam["IsPay"].ToString() == "null") | |||
{ | |||
strSql.Append(" AND t.IsPay is null "); | |||
} | |||
else | |||
{ | |||
dp.Add("IsPay", queryParam["IsPay"].ToString(), DbType.String); | |||
strSql.Append(" AND t.IsPay = @IsPay "); | |||
} | |||
} | |||
if (!queryParam["IsMug"].IsEmpty()) | |||
{ | |||
if (queryParam["IsMug"].ToString() == "null") | |||
{ | |||
strSql.Append(" AND t.IsMug is null "); | |||
} | |||
else | |||
{ | |||
dp.Add("IsMug", queryParam["IsMug"].ToString(), DbType.String); | |||
strSql.Append(" AND t.IsMug = @IsMug "); | |||
} | |||
} | |||
if (!queryParam["IsTakeCloths"].IsEmpty()) | |||
{ | |||
if (queryParam["IsTakeCloths"].ToString() == "null") | |||
{ | |||
strSql.Append(" AND t.IsTakeCloths is null "); | |||
} | |||
else | |||
{ | |||
dp.Add("IsTakeCloths", queryParam["IsTakeCloths"].ToString(), DbType.String); | |||
strSql.Append(" AND t.IsTakeCloths = @IsTakeCloths "); | |||
} | |||
} | |||
if (!queryParam["IsQuantity"].IsEmpty()) | |||
{ | |||
if (queryParam["IsQuantity"].ToString() == "null") | |||
{ | |||
strSql.Append(" AND t.IsQuantity is null "); | |||
} | |||
else | |||
{ | |||
dp.Add("IsQuantity", queryParam["IsQuantity"].ToString(), DbType.String); | |||
strSql.Append(" AND t.IsQuantity = @IsQuantity "); | |||
} | |||
} | |||
if (!queryParam["IsGetBeddingArticle"].IsEmpty()) | |||
{ | |||
if (queryParam["IsGetBeddingArticle"].ToString() == "null") | |||
{ | |||
strSql.Append(" AND t.IsGetBeddingArticle is null "); | |||
} | |||
else | |||
{ | |||
dp.Add("IsGetBeddingArticle", queryParam["IsGetBeddingArticle"].ToString(), DbType.String); | |||
strSql.Append(" AND t.IsGetBeddingArticle = @IsGetBeddingArticle "); | |||
} | |||
} | |||
//获取班主任所带的班级 | |||
var roleid = this.BaseRepository().FindEntity<RoleEntity>(a => a.F_FullName == "班主任")?.F_RoleId; | |||
var userInfo = LoginUserInfo.Get(); | |||
var sqlClasses = ""; | |||
if (!string.IsNullOrEmpty(roleid)) | |||
{ | |||
if (userInfo.roleIds.Contains(roleid)) | |||
{ | |||
var classes = this.BaseRepository("CollegeMIS").FindList<ClassInfoEntity>(a => a.ClassDiredctorNo == userInfo.account).Select(a => a.ClassNo).ToList(); | |||
if (classes != null) | |||
{ | |||
foreach (var item in classes) | |||
{ | |||
sqlClasses += $"'{item}',"; | |||
} | |||
sqlClasses = sqlClasses.TrimEnd(','); | |||
} | |||
} | |||
if (!string.IsNullOrEmpty(sqlClasses)) | |||
{ | |||
strSql.Append($" AND t.ClassNo IN({sqlClasses})"); | |||
} | |||
} | |||
return this.BaseRepository("CollegeMIS").FindList<StuEnrollEntity>(strSql.ToString(), dp); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
public DataTable Execute(string sql) | |||
{ | |||
return this.BaseRepository("CollegeMIS").FindTable(sql); | |||
} | |||
public IEnumerable<StuEnrollEntity> AllStudent() | |||
{ | |||