@@ -37,6 +37,12 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers | |||||
{ | { | ||||
return View(); | return View(); | ||||
} | } | ||||
[HttpGet] | |||||
public ActionResult StatsIndex() | |||||
{ | |||||
return View(); | |||||
} | |||||
#endregion | #endregion | ||||
#region 获取数据 | #region 获取数据 | ||||
@@ -90,6 +96,25 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers | |||||
var data = partyManageIBLL.GetTree(CType); | var data = partyManageIBLL.GetTree(CType); | ||||
return Success(data); | return Success(data); | ||||
} | } | ||||
/// <summary> | |||||
/// 统计数据 | |||||
/// <summary> | |||||
/// <returns></returns> | |||||
[HttpGet] | |||||
[AjaxOnly] | |||||
public ActionResult GetStatsList(string pagination, string queryJson) | |||||
{ | |||||
Pagination paginationobj = pagination.ToObject<Pagination>(); | |||||
var data = partyManageIBLL.GetStatsList(paginationobj, queryJson); | |||||
var jsonData = new | |||||
{ | |||||
rows = data, | |||||
total = paginationobj.total, | |||||
page = paginationobj.page, | |||||
records = paginationobj.records | |||||
}; | |||||
return Success(jsonData); | |||||
} | |||||
#endregion | #endregion | ||||
#region 提交数据 | #region 提交数据 | ||||
@@ -0,0 +1,51 @@ | |||||
@{ | |||||
ViewBag.Title = "统计"; | |||||
Layout = "~/Views/Shared/_Index.cshtml"; | |||||
} | |||||
<div class="lr-layout lr-layout-left-center" id="lr_layout"> | |||||
<div class="lr-layout-left"> | |||||
<div class="lr-layout-wrap"> | |||||
<div class="lr-layout-title lrlg ">树形列表</div> | |||||
<div id="dataTree" class="lr-layout-body"></div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-center"> | |||||
<div class="lr-layout-wrap "> | |||||
<div class="lr-layout-title"> | |||||
<span id="titleinfo" class="lrlg">列表信息</span> | |||||
</div> | |||||
<div class="lr-layout-tool"> | |||||
<div class="lr-layout-tool-left"> | |||||
<div class="lr-layout-tool-item"> | |||||
<div id="datesearch"></div> | |||||
</div> | |||||
@*<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> | |||||
<input id="Title" type="text" class="form-control" /> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item"> | |||||
<div class="lr-form-item-title">学年</div> | |||||
<div id="Year"></div> | |||||
</div> | |||||
<div class="col-xs-12 lr-form-item"> | |||||
<div class="lr-form-item-title">学期</div> | |||||
<div id="Semester"></div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div>*@ | |||||
</div> | |||||
<div class="lr-layout-tool-right"> | |||||
<div class=" btn-group btn-group-sm"> | |||||
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="lr-layout-body" id="gridtable"></div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
@Html.AppendJsFile("/Areas/PersonnelManagement/Views/PartyManage/StatsIndex.js") |
@@ -0,0 +1,140 @@ | |||||
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn) | |||||
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 | |||||
* 创建人:超级管理员 | |||||
* 日 期:2022-11-07 14:25 | |||||
* 描 述:经费开支申报 | |||||
*/ | |||||
var refreshGirdData; | |||||
var selectedId; | |||||
var CType = request('CType'); | |||||
var bootstrap = function ($, learun) { | |||||
"use strict"; | |||||
var startTime; | |||||
var endTime; | |||||
var page = { | |||||
init: function () { | |||||
page.initGird(); | |||||
page.bind(); | |||||
}, | |||||
bind: function () { | |||||
if (!CType) { | |||||
CType = 1; | |||||
} | |||||
// 初始化左侧树形数据 | |||||
$('#dataTree').lrtree({ | |||||
url: top.$.rootUrl + '/PersonnelManagement/PartyManage/GetTree?CType=' + CType, | |||||
nodeClick: function (item) { | |||||
selectedId = item.value; | |||||
page.search({ CateId: item.value }); | |||||
} | |||||
}); | |||||
// 时间搜索框 | |||||
$('#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; | |||||
if (selectedId) { | |||||
page.search({ CateId: selectedId }); | |||||
} | |||||
} | |||||
}); | |||||
// 刷新 | |||||
$('#lr_refresh').on('click', function () { | |||||
location.reload(); | |||||
}); | |||||
//$('#multiple_condition_query').lrMultipleQuery(function (queryJson) { | |||||
// if (selectedId) { | |||||
// queryJson.CateId = selectedId; | |||||
// page.search(queryJson); | |||||
// } | |||||
//}, 220, 400); | |||||
//$('#Year').lrselect({ | |||||
// placeholder: "学年", | |||||
// allowSearch: false, | |||||
// url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetAcademicYearNo', | |||||
// value: 'value', | |||||
// text: 'text', | |||||
// maxHeight: 200, | |||||
//}); | |||||
////学期 | |||||
//$('#Semester').lrselect({ | |||||
// placeholder: "学期", | |||||
// allowSearch: false, | |||||
// url: top.$.rootUrl + '/EducationalAdministration/EADateArrange/GetSemester', | |||||
// value: 'value', | |||||
// text: 'text' | |||||
//}); | |||||
}, | |||||
// 初始化列表 | |||||
initGird: function () { | |||||
$('#gridtable').jfGrid({ | |||||
url: top.$.rootUrl + '/PersonnelManagement/PartyManage/GetStatsList', | |||||
headData: [ | |||||
{ | |||||
label: "申报部门", name: "Department", width: 200, align: "left", | |||||
formatterAsync: function (callback, value, row, op, $cell) { | |||||
learun.clientdata.getAsync('department', { | |||||
key: value, | |||||
callback: function (_data) { | |||||
callback(_data.name); | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
{ label: "总人数", name: "Num", width: 200, align: "left", statistics: true }, | |||||
{ label: "上传人数", name: "Number", width: 200, align: "left", statistics: true }, | |||||
{ label: '未上传人数', name: 'Unit', width: 150, align: 'left', statistics: true }, | |||||
], | |||||
mainId: 'Department', | |||||
isPage: true, | |||||
sidx: 'Department desc' | |||||
}); | |||||
page.search(); | |||||
}, | |||||
search: function (param) { | |||||
param = param || {}; | |||||
param.StartTime = startTime; | |||||
param.EndTime = endTime; | |||||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); | |||||
} | |||||
}; | |||||
refreshGirdData = function () { | |||||
if (selectedId) { | |||||
page.search({ CateId: selectedId }); | |||||
} | |||||
//if (!!res) { | |||||
// if (res.code == 200) { | |||||
// // 发起流程 | |||||
// var postData = { | |||||
// schemeCode: 'LC_FundsApply',// 填写流程对应模板编号 | |||||
// processId: processId, | |||||
// level: '1', | |||||
// }; | |||||
// learun.httpAsync('Post', top.$.rootUrl + '/LR_NewWorkFlow/NWFProcess/CreateFlow', postData, function (data) { | |||||
// learun.loading(false); | |||||
// }); | |||||
// } | |||||
// page.search(); | |||||
//} | |||||
}; | |||||
page.init(); | |||||
} |
@@ -1874,6 +1874,7 @@ | |||||
<Content Include="Areas\PersonnelManagement\Views\MeetingManagement\IndexOfMyApply.js" /> | <Content Include="Areas\PersonnelManagement\Views\MeetingManagement\IndexOfMyApply.js" /> | ||||
<Content Include="Areas\PersonnelManagement\Views\MeetingNotice\Form.js" /> | <Content Include="Areas\PersonnelManagement\Views\MeetingNotice\Form.js" /> | ||||
<Content Include="Areas\PersonnelManagement\Views\MeetingNotice\Index.js" /> | <Content Include="Areas\PersonnelManagement\Views\MeetingNotice\Index.js" /> | ||||
<Content Include="Areas\PersonnelManagement\Views\PartyManage\StatsIndex.js" /> | |||||
<Content Include="Areas\PersonnelManagement\Views\Sal_UserSalary\ImportForm.css" /> | <Content Include="Areas\PersonnelManagement\Views\Sal_UserSalary\ImportForm.css" /> | ||||
<Content Include="Areas\PersonnelManagement\Views\Sal_UserSalary\ImportForm.js" /> | <Content Include="Areas\PersonnelManagement\Views\Sal_UserSalary\ImportForm.js" /> | ||||
<Content Include="Areas\PersonnelManagement\Views\SRPaper\CheckForm.js" /> | <Content Include="Areas\PersonnelManagement\Views\SRPaper\CheckForm.js" /> | ||||
@@ -8180,6 +8181,7 @@ | |||||
<Content Include="Areas\PersonnelManagement\Views\SRWork\FormDeptSchool.cshtml" /> | <Content Include="Areas\PersonnelManagement\Views\SRWork\FormDeptSchool.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuScoreExperiment\InputScoreIndex.cshtml" /> | <Content Include="Areas\EducationalAdministration\Views\StuScoreExperiment\InputScoreIndex.cshtml" /> | ||||
<Content Include="Areas\EducationalAdministration\Views\StuScoreExperiment\Monitor.cshtml" /> | <Content Include="Areas\EducationalAdministration\Views\StuScoreExperiment\Monitor.cshtml" /> | ||||
<Content Include="Areas\PersonnelManagement\Views\PartyManage\StatsIndex.cshtml" /> | |||||
<None Include="Properties\PublishProfiles\CustomProfile.pubxml" /> | <None Include="Properties\PublishProfiles\CustomProfile.pubxml" /> | ||||
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" /> | <None Include="Properties\PublishProfiles\FolderProfile.pubxml" /> | ||||
<Content Include="Views\Login\Default-beifen.cshtml" /> | <Content Include="Views\Login\Default-beifen.cshtml" /> | ||||
@@ -42,6 +42,24 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||||
} | } | ||||
} | } | ||||
} | } | ||||
public IEnumerable<PartyManageEntity> GetStatsList(Pagination pagination, string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
return partyManageService.GetStatsList(pagination, queryJson); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowBusinessException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 获取PartyManage表实体数据 | /// 获取PartyManage表实体数据 | ||||
@@ -53,12 +53,18 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||||
public string CType { get; set; } | public string CType { get; set; } | ||||
[Column("YEAR")] | [Column("YEAR")] | ||||
public string Year { get; set; } | public string Year { get; set; } | ||||
[Column("SEMESTER")] | [Column("SEMESTER")] | ||||
public string Semester { get; set; } | public string Semester { get; set; } | ||||
[Column("DEPARTMENT")] | |||||
public string Department { get; set; } | |||||
#endregion | #endregion | ||||
[NotMapped] | |||||
public int Num { get; set; } | |||||
[NotMapped] | |||||
public int Number { get; set; } | |||||
[NotMapped] | |||||
public int cha { get; set; } | |||||
#region 扩展操作 | #region 扩展操作 | ||||
/// <summary> | /// <summary> | ||||
/// 新增调用 | /// 新增调用 | ||||
@@ -68,6 +74,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||||
this.ID = Guid.NewGuid().ToString(); | this.ID = Guid.NewGuid().ToString(); | ||||
this.Createtime = DateTime.Now; | this.Createtime = DateTime.Now; | ||||
this.Creator = LoginUserInfo.Get().userId; | this.Creator = LoginUserInfo.Get().userId; | ||||
this.Department = LoginUserInfo.Get().departmentId; | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 编辑调用 | /// 编辑调用 | ||||
@@ -76,6 +83,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||||
public void Modify(string keyValue) | public void Modify(string keyValue) | ||||
{ | { | ||||
this.ID = keyValue; | this.ID = keyValue; | ||||
this.Updatetime = DateTime.Now; | |||||
} | } | ||||
#endregion | #endregion | ||||
} | } | ||||
@@ -21,6 +21,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||||
/// <param name="queryJson">查询参数</param> | /// <param name="queryJson">查询参数</param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
IEnumerable<PartyManageEntity> GetPageList(Pagination pagination, string queryJson); | IEnumerable<PartyManageEntity> GetPageList(Pagination pagination, string queryJson); | ||||
IEnumerable<PartyManageEntity> GetStatsList(Pagination pagination, string queryJson); | |||||
/// <summary> | /// <summary> | ||||
/// 获取PartyManage表实体数据 | /// 获取PartyManage表实体数据 | ||||
/// </summary> | /// </summary> | ||||
@@ -78,6 +78,54 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||||
} | } | ||||
} | } | ||||
public IEnumerable<PartyManageEntity> GetStatsList(Pagination pagination, string queryJson) | |||||
{ | |||||
try | |||||
{ | |||||
var baseDataName = this.BaseRepository().getDbConnection().Database; | |||||
var baseDataName1 = this.BaseRepository("CollegeMIS").getDbConnection().Database; | |||||
var strSql = new StringBuilder(); | |||||
strSql.Append($" select zb.F_DepartmentId as Department, COALESCE (aa.num, 0) num ,COALESCE (bb.number, 0) number from (select* from {baseDataName}.dbo.LR_Base_Department where f_companyid ='06890807-2106-4e6d-9f99-484527503be9') zb "); | |||||
strSql.Append($" left join(select F_DepartmentId,count(*) as num from {baseDataName}.dbo.LR_Base_User group by F_DepartmentId ) aa on aa.F_DepartmentId =zb.F_DepartmentId"); | |||||
strSql.Append($" left join (select Department,count(*) as number from {baseDataName1}.dbo.PartyManage where 1=1 "); | |||||
var queryParam = queryJson.ToJObject(); | |||||
var dp = new DynamicParameters(new { }); | |||||
if (!queryParam["CateId"].IsEmpty()) | |||||
{ | |||||
dp.Add("CateId", queryParam["CateId"].ToString(), DbType.String); | |||||
strSql.Append(" AND CateId = @CateId "); | |||||
} | |||||
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 ( Createtime >= @startTime AND Createtime <= @endTime ) "); | |||||
} | |||||
strSql.Append($" group by Department) bb on bb.Department= zb.F_DepartmentId "); | |||||
var data = this.BaseRepository("CollegeMIS").FindList<PartyManageEntity>(strSql.ToString(), dp, pagination); | |||||
if (data != null) | |||||
{ | |||||
foreach (var item in data) | |||||
{ | |||||
item.cha = item.Num - item.Number; | |||||
} | |||||
} | |||||
return data; | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
if (ex is ExceptionEx) | |||||
{ | |||||
throw; | |||||
} | |||||
else | |||||
{ | |||||
throw ExceptionEx.ThrowServiceException(ex); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | /// <summary> | ||||
/// 获取PartyManage表实体数据 | /// 获取PartyManage表实体数据 | ||||
/// </summary> | /// </summary> | ||||