@@ -4,6 +4,7 @@ using Learun.Application.TwoDevelopment.CustomFunction; | |||||
using System.Web.Mvc; | using System.Web.Mvc; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using Learun.Application.Organization; | using Learun.Application.Organization; | ||||
using System; | |||||
namespace Learun.Application.Web.Areas.CustomFunction.Controllers | namespace Learun.Application.Web.Areas.CustomFunction.Controllers | ||||
{ | { | ||||
@@ -18,6 +19,7 @@ namespace Learun.Application.Web.Areas.CustomFunction.Controllers | |||||
{ | { | ||||
private PaperManageIBLL paperManageIBLL = new PaperManageBLL(); | private PaperManageIBLL paperManageIBLL = new PaperManageBLL(); | ||||
private UserIBLL userIBLL = new UserBLL(); | private UserIBLL userIBLL = new UserBLL(); | ||||
private DepartmentIBLL departmentIBLL = new DepartmentBLL(); | |||||
#region 视图功能 | #region 视图功能 | ||||
@@ -39,6 +41,16 @@ namespace Learun.Application.Web.Areas.CustomFunction.Controllers | |||||
{ | { | ||||
return View(); | return View(); | ||||
} | } | ||||
/// <summary> | |||||
/// 表单页 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
public ActionResult IndexReport() | |||||
{ | |||||
return View(); | |||||
} | |||||
#endregion | #endregion | ||||
#region 获取数据 | #region 获取数据 | ||||
@@ -65,6 +77,49 @@ namespace Learun.Application.Web.Areas.CustomFunction.Controllers | |||||
return Success(jsonData); | return Success(jsonData); | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 获取论文统计列表数据 | |||||
/// </summary> | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
public ActionResult GetReportList(string queryJson) | |||||
{ | |||||
var data = paperManageIBLL.GetReportList(queryJson); | |||||
List<object> list2 = new List<object>(); | |||||
foreach (var item in data) | |||||
{ | |||||
if (!string.IsNullOrEmpty(item.UserDeptId)) | |||||
{ | |||||
var name = departmentIBLL.GetEntity(item.UserDeptId)?.F_FullName; | |||||
list2.Add(new { name = name, num = item.num }); | |||||
} | |||||
} | |||||
return Success(list2); | |||||
} | |||||
/// <summary> | |||||
/// 获取论文统计列表数据 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public ActionResult GetReportData(string queryJson) | |||||
{ | |||||
var data = paperManageIBLL.GetReportList(queryJson); | |||||
List<String> list1 = new List<String>(); | |||||
List<object> list2 = new List<object>(); | |||||
foreach (var item in data) | |||||
{ | |||||
if (!string.IsNullOrEmpty(item.UserDeptId)) | |||||
{ | |||||
var name = departmentIBLL.GetEntity(item.UserDeptId)?.F_FullName; | |||||
list2.Add(new { name = name, value = item.num }); | |||||
list1.Add(name); | |||||
} | |||||
} | |||||
return Success(new { list1, list2 }); | |||||
} | |||||
/// <summary> | |||||
/// 获取表单数据 | /// 获取表单数据 | ||||
/// </summary> | /// </summary> | ||||
/// <param name="keyValue">主键</param> | /// <param name="keyValue">主键</param> | ||||
@@ -0,0 +1,32 @@ | |||||
| |||||
@{ | |||||
ViewBag.Title = "论文统计"; | |||||
Layout = "~/Views/Shared/_ReportTemplate.cshtml"; | |||||
} | |||||
<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> | |||||
@Html.AppendJsFile("/Areas/CustomFunction/Views/PaperManage/IndexReport.js") |
@@ -0,0 +1,88 @@ | |||||
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 + '/CustomFunction/PaperManage/GetReportList', | |||||
headData: [ | |||||
{ name: "name", label: "部门", width: 100, align: "center" }, | |||||
{ name: "num", label: "论文个数", width: 150, align: "center" } | |||||
] | |||||
}); | |||||
page.search(); | |||||
}, | |||||
initChart: function () { | |||||
var myChart1 = echarts.init(document.getElementById('main')); | |||||
var queryJson = { year: year }; | |||||
learun.httpAsyncPost(top.$.rootUrl + '/CustomFunction/PaperManage/GetReportData', { queryJson: JSON.stringify(queryJson) }, function (res) { | |||||
if (res.code == 200) { | |||||
var option = { | |||||
title: { | |||||
text: '按部门统计论文图表', | |||||
x: 'center' | |||||
}, | |||||
tooltip: { | |||||
trigger: 'item', | |||||
formatter: "{a} <br/>{b} : {c} ({d}%)" | |||||
}, | |||||
legend: { | |||||
orient: 'vertical', | |||||
left: 'left', | |||||
data: res.data.list1 | |||||
}, | |||||
series: [ | |||||
{ | |||||
name: '论文统计', | |||||
type: 'pie', | |||||
radius: '55%', | |||||
center: ['50%', '60%'], | |||||
data: res.data.list2, | |||||
itemStyle: { | |||||
emphasis: { | |||||
shadowBlur: 10, | |||||
shadowOffsetX: 0, | |||||
shadowColor: 'rgba(0, 0, 0, 0.5)' | |||||
} | |||||
} | |||||
} | |||||
] | |||||
}; | |||||
myChart1.setOption(option); | |||||
} | |||||
}); | |||||
}, | |||||
search: function (param) { | |||||
param = param || {}; | |||||
param.year = year; | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||||
page.initChart(); | |||||
} | |||||
}; | |||||
page.init(); | |||||
} | |||||
@@ -939,6 +939,7 @@ | |||||
<Content Include="Areas\AssetManagementSystem\Views\Ass_UserChangeInfo\Index.js" /> | <Content Include="Areas\AssetManagementSystem\Views\Ass_UserChangeInfo\Index.js" /> | ||||
<Content Include="Areas\AssetManagementSystem\Views\Ass_Warning\Form.js" /> | <Content Include="Areas\AssetManagementSystem\Views\Ass_Warning\Form.js" /> | ||||
<Content Include="Areas\AssetManagementSystem\Views\Ass_Warning\Index.js" /> | <Content Include="Areas\AssetManagementSystem\Views\Ass_Warning\Index.js" /> | ||||
<Content Include="Areas\CustomFunction\Views\PaperManage\IndexReport.js" /> | |||||
<Content Include="Areas\CustomFunction\Views\SRProjectAchievement\IndexYJ.js" /> | <Content Include="Areas\CustomFunction\Views\SRProjectAchievement\IndexYJ.js" /> | ||||
<Content Include="Areas\CustomFunction\Views\SRProjectBasic\FormNoCompleted.js" /> | <Content Include="Areas\CustomFunction\Views\SRProjectBasic\FormNoCompleted.js" /> | ||||
<Content Include="Areas\CustomFunction\Views\SRProjectBasic\IndexNoCompleted.js" /> | <Content Include="Areas\CustomFunction\Views\SRProjectBasic\IndexNoCompleted.js" /> | ||||
@@ -7359,6 +7360,7 @@ | |||||
<Content Include="Areas\CustomFunction\Views\SRProjectBasic\IndexCompleted.cshtml" /> | <Content Include="Areas\CustomFunction\Views\SRProjectBasic\IndexCompleted.cshtml" /> | ||||
<Content Include="Areas\CustomFunction\Views\SRProjectBasic\IndexNoCompleted.cshtml" /> | <Content Include="Areas\CustomFunction\Views\SRProjectBasic\IndexNoCompleted.cshtml" /> | ||||
<Content Include="Areas\CustomFunction\Views\SRProjectBasic\FormNoCompleted.cshtml" /> | <Content Include="Areas\CustomFunction\Views\SRProjectBasic\FormNoCompleted.cshtml" /> | ||||
<Content Include="Areas\CustomFunction\Views\PaperManage\IndexReport.cshtml" /> | |||||
<None Include="Properties\PublishProfiles\CustomProfile.pubxml" /> | <None Include="Properties\PublishProfiles\CustomProfile.pubxml" /> | ||||
<Content Include="Areas\PersonnelManagement\Views\MeetingManagement\IndexOfMyJoin.cshtml" /> | <Content Include="Areas\PersonnelManagement\Views\MeetingManagement\IndexOfMyJoin.cshtml" /> | ||||
<Content Include="Areas\PersonnelManagement\Views\MeetingSignInRecord\IndexAttendance.cshtml" /> | <Content Include="Areas\PersonnelManagement\Views\MeetingSignInRecord\IndexAttendance.cshtml" /> | ||||
@@ -43,6 +43,32 @@ namespace Learun.Application.TwoDevelopment.CustomFunction | |||||
} | } | ||||
} | } | ||||
/// <summary> | |||||
/// 获取页面显示列表数据 | |||||
/// </summary> | |||||
/// <param name="pagination">分页参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
public IEnumerable<PaperManageEntity> GetReportList(string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
return paperManageService.GetReportList(queryJson); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 获取PaperManage表实体数据 | /// 获取PaperManage表实体数据 | ||||
/// </summary> | /// </summary> | ||||
@@ -11,7 +11,7 @@ namespace Learun.Application.TwoDevelopment.CustomFunction | |||||
/// 日 期:2021-09-24 15:18 | /// 日 期:2021-09-24 15:18 | ||||
/// 描 述:论文管理 | /// 描 述:论文管理 | ||||
/// </summary> | /// </summary> | ||||
public class PaperManageEntity | |||||
public class PaperManageEntity | |||||
{ | { | ||||
#region 实体成员 | #region 实体成员 | ||||
/// <summary> | /// <summary> | ||||
@@ -103,6 +103,9 @@ namespace Learun.Application.TwoDevelopment.CustomFunction | |||||
} | } | ||||
#endregion | #endregion | ||||
#region 扩展字段 | #region 扩展字段 | ||||
[NotMapped] | |||||
public int? num { get; set; } | |||||
#endregion | #endregion | ||||
} | } | ||||
} | } | ||||
@@ -21,6 +21,7 @@ namespace Learun.Application.TwoDevelopment.CustomFunction | |||||
/// <param name="queryJson">查询参数</param> | /// <param name="queryJson">查询参数</param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
IEnumerable<PaperManageEntity> GetPageList(Pagination pagination, string queryJson); | IEnumerable<PaperManageEntity> GetPageList(Pagination pagination, string queryJson); | ||||
IEnumerable<PaperManageEntity> GetReportList(string queryJson); | |||||
/// <summary> | /// <summary> | ||||
/// 获取PaperManage表实体数据 | /// 获取PaperManage表实体数据 | ||||
/// </summary> | /// </summary> | ||||
@@ -74,7 +74,33 @@ namespace Learun.Application.TwoDevelopment.CustomFunction | |||||
} | } | ||||
} | } | ||||
} | } | ||||
/// <summary> | |||||
/// 获取页面显示列表数据 | |||||
/// </summary> | |||||
/// <param name="pagination">查询参数</param> | |||||
/// <param name="queryJson">查询参数</param> | |||||
/// <returns></returns> | |||||
public IEnumerable<PaperManageEntity> GetReportList(string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
var strSql = "select UserDeptId,COUNT(1) as num from PaperManage group by UserDeptId "; | |||||
return this.BaseRepository("CollegeMIS").FindList<PaperManageEntity>(strSql); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 获取PaperManage表实体数据 | /// 获取PaperManage表实体数据 | ||||
/// </summary> | /// </summary> | ||||