Browse Source

【增加】办事大厅-流程效率分析:增加流程时间统计、流程次数统计、流程报表;

master
dyy 3 years ago
parent
commit
8a75a0fa34
15 changed files with 663 additions and 0 deletions
  1. +98
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Controllers/NWFProcessController.cs
  2. +25
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticCountIndex.cshtml
  3. +60
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticCountIndex.js
  4. +18
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticTimeForm.cshtml
  5. +58
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticTimeForm.js
  6. +40
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticTimeIndex.cshtml
  7. +129
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticTimeIndex.js
  8. +9
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_ReportModule/Controllers/ReportTemplateController.cs
  9. +40
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_ReportModule/Views/ReportTemplate/NWFSchemeReport.cshtml
  10. +132
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_ReportModule/Views/ReportTemplate/NWFSchemeReport.js
  11. +8
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj
  12. +8
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Task/NWFTaskBLL.cs
  13. +5
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Task/NWFTaskIBLL.cs
  14. +22
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Task/NWFTaskSerivce.cs
  15. +11
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/WfScheme/WfSchemeReportModel.cs

+ 98
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Controllers/NWFProcessController.cs View File

@@ -5,6 +5,7 @@ using System.Linq;
using System.Web.Mvc;
using Learun.Application.Organization;
using Learun.Application.Base.AuthorizeModule;
using System;

namespace Learun.Application.Web.Areas.LR_NewWorkFlow.Controllers
{
@@ -242,6 +243,34 @@ namespace Learun.Application.Web.Areas.LR_NewWorkFlow.Controllers
return View();
}

/// <summary>
/// 流程时间统计
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult StatisticTimeIndex()
{
return View();
}
/// <summary>
/// 流程时间统计-饼图
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult StatisticTimeForm()
{
return View();
}
/// <summary>
/// 流程次数统计
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult StatisticCountIndex()
{
return View();
}

#endregion


@@ -837,5 +866,74 @@ namespace Learun.Application.Web.Areas.LR_NewWorkFlow.Controllers
return Success("添加成功");
}
#endregion

#region 流程效率分析

/// <summary>
/// 获取审批时间统计数据
/// </summary>
/// <param name="queryJson"></param>
/// <returns></returns>
public ActionResult GetStatisticTimeData(string processId)
{
var taskdata = nWFTaskIBLL.GetALLTaskList(processId).OrderByDescending(x => x.F_CreateDate);

var legendData = new List<string>();
var seriesData = new List<WfSchemeReportModelOfPie2>();
foreach (var item in taskdata)
{
legendData.Add(item.F_ModifyUserName);
seriesData.Add(new WfSchemeReportModelOfPie2()
{
name = item.F_ModifyUserName,
value = (item.F_ModifyDate - item.F_CreateDate).HasValue ? (item.F_ModifyDate - item.F_CreateDate).Value.TotalMinutes.ToDecimal(2).ToString() : "0"
});
}

var jsonData = new
{
legendData = legendData,
seriesData = seriesData
};

return Success(jsonData);
}

/// <summary>
/// 获取审批次数统计数据
/// </summary>
/// <param name="queryJson"></param>
/// <returns></returns>
public ActionResult GetStatisticCountData()
{
var taskdata = nWFTaskIBLL.GetFinishTaskList();
var taskgroup = taskdata.GroupBy(x => new { x.F_ModifyUserId, x.F_ModifyUserName }).Select(x => new
{
userId = x.Key.F_ModifyUserId,
userName = x.Key.F_ModifyUserName,
count = x.Select(y => y.F_Id).Count()
});

var legendData = new List<string>();
var seriesData = new List<WfSchemeReportModelOfPie>();
foreach (var item in taskgroup)
{
legendData.Add(item.userName);
seriesData.Add(new WfSchemeReportModelOfPie()
{
value = item.count,
name = item.userName
});
}

var jsonData = new
{
legendData = legendData,
seriesData = seriesData
};

return Success(jsonData);
}
#endregion
}
}

+ 25
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticCountIndex.cshtml View File

@@ -0,0 +1,25 @@

@{
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-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>&nbsp;<span class="lrlt">刷新</span></a>
</div>
</div>
</div>
<div class="lr-layout-grid" style="overflow:auto;">
<div id="main" style="float: left; margin-right: 20px; width: 650px; height: 350px;border: 1px solid #ccc;">
</div>
</div>
</div>
</div>
</div>
<script src="~/Content/echarts/echarts.js"></script>
@Html.AppendJsFile("/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticCountIndex.js")

+ 60
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticCountIndex.js View File

@@ -0,0 +1,60 @@

var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
page.bind();
page.initChart();
},
bind: function () {
// 刷新
$('#lr-replace').on('click', function () {
location.reload();
});
},
initChart: function () {
var myChart1 = echarts.init(document.getElementById('main'));
learun.httpAsyncPost(top.$.rootUrl + "/LR_NewWorkFlow/NWFProcess/GetStatisticCountData", { }, function (res) {
if (res.code == 200) {
var option1 = {
title: {
text: '审批次数分析图',
x: 'center'
},
tooltip: {
trigger: 'item',
formatter: "{a} <br/>{b} : {c}次 ({d}%)"
},
legend: {
orient: 'vertical',
left: 'left',
data: res.data.legendData
},
series: [
{
name: '审批人',
type: 'pie',
radius: '55%',
center: ['50%', '60%'],
data: res.data.seriesData,
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
myChart1.setOption(option1);

}
});
},
};
page.init();
}



+ 18
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticTimeForm.cshtml View File

@@ -0,0 +1,18 @@

@{
ViewBag.Title = "审批时间统计";
Layout = "~/Views/Shared/_WorkFlowNewForm.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-grid" style="overflow:auto;">
<div id="main" style="float: left; margin: 20px; width: 650px; height: 350px;border: 1px solid #ccc;">
</div>
</div>
</div>
</div>
</div>
<script src="~/Content/echarts/echarts.js"></script>
@Html.AppendJsFile("/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticTimeForm.js")

+ 58
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticTimeForm.js View File

@@ -0,0 +1,58 @@
var processId = request('processId'); // 流程实例主键

var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
page.bind();
page.initChart();
},
bind: function () {
},
initChart: function () {
var myChart1 = echarts.init(document.getElementById('main'));
learun.httpAsyncPost(top.$.rootUrl + "/LR_NewWorkFlow/NWFProcess/GetStatisticTimeData", { processId: processId }, function (res) {
if (res.code == 200) {
var option1 = {
title: {
text: '审批时间分析图',
x: 'center'
},
tooltip: {
trigger: 'item',
formatter: "{a} <br/>{b} : {c}分 ({d}%)"
},
legend: {
orient: 'vertical',
left: 'left',
data: res.data.legendData
},
series: [
{
name: '审批人',
type: 'pie',
radius: '55%',
center: ['50%', '60%'],
data: res.data.seriesData,
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
myChart1.setOption(option1);

}
});
},
};
page.init();
}



+ 40
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticTimeIndex.cshtml View File

@@ -0,0 +1,40 @@
@{
ViewBag.Title = "流程时间统计";
Layout = "~/Views/Shared/_Index.cshtml";
}
<div id="lr_layout" class="lr-layout ">
<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="datesearch"></div>
</div>
<div class="lr-layout-tool-item">
<input id="txt_Keyword" type="text" class="form-control" placeholder="请输入要查询关键字" />
</div>
<div class="lr-layout-tool-item">
<a id="btn_Search" class="btn btn-primary btn-sm"><i class="fa fa-search"></i>&nbsp;<span class="lrlg">查询</span></a>
</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 class=" btn-group btn-group-sm" learun-authorize="yes">
<a id="lr_statistic" class="btn btn-default"><i class="fa fa-eye"></i>&nbsp;<span class="lrlg">审批时间统计</span></a>
</div>
</div>
</div>

<div class="lr-layout-body" id="gridtable">
</div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticTimeIndex.js")






+ 129
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/StatisticTimeIndex.js View File

@@ -0,0 +1,129 @@
/*
* 版 本 Learun-ADMS V7.0.3 力软敏捷开发框架(http://www.learun.cn)
* Copyright (c) 2013-2018 上海力软信息技术有限公司
* 创建人:力软-前端开发组
* 日 期:2018.12.19
* 描 述:流程时间统计
*/
var bootstrap = function ($, learun) {
"use strict";
var categoryId = '2';
var logbegin = '';
var logend = '';

var page = {
init: function () {
page.initGrid();
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,
selectfn: function (begin, end) {
logbegin = begin;
logend = end;
page.search();
}
});
// 查询
$('#btn_Search').on('click', function () {
var keyword = $('#txt_Keyword').val();
page.search({ keyword: keyword });
});
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
// 审批时间统计
$('#lr_statistic').on('click', function () {
var processId = $('#gridtable').jfGridValue('F_Id');
if (learun.checkrow(processId)) {
learun.layerForm({
id: 'StatisticTimeForm',
title: '审批时间统计',
url: top.$.rootUrl + '/LR_NewWorkFlow/NWFProcess/StatisticTimeForm?processId=' + processId,
height: 600,
width: 1000,
btn:null
});
}
});
},
initGrid: function () {
$('#gridtable').lrAuthorizeJfGrid({
url: top.$.rootUrl + '/LR_NewWorkFlow/NWFProcess/GetPorcessList',
headData: [
{
label: "标题", name: "F_Title", width: 300, align: "left", formatter: function (cellvalue, row) {
if (row.F_SchemeName != row.F_Title && row.F_Title) {
return row.F_SchemeName + "(" + row.F_Title + ")";
}
else {
return row.F_SchemeName;
}
}
},
{
label: "状态", name: "F_EnabledMark", width: 70, align: "center",
formatter: function (cellvalue, row) {
if (row.F_IsFinished == 0) {
if (cellvalue == 1) {
if (row.F_IsUrge == "1" && categoryId == '2') {
return "<span class=\"label label-danger\">催办加急</span>";
}
return "<span class=\"label label-success\">运行中</span>";
} else if (cellvalue == 2) {
return "<span class=\"label label-primary\">草稿</span>";
} else {
return "<span class=\"label label-danger\">作废</span>";
}
}
else {
return "<span class=\"label label-warning\">结束</span>";
}

}
},
{ label: "发起者", name: "F_CreateUserName", width: 80, align: "center" },
{
label: "时间", name: "F_CreateDate", width: 150, align: "left",
formatter: function (cellvalue) {
return learun.formatDate(cellvalue, 'yyyy-MM-dd hh:mm:ss');
}
}
],
mainId: 'F_Id',
isPage: true,
sidx: 'F_CreateDate DESC'
});
page.search();
},
search: function (param) {
param = param || {};
param.StartTime = logbegin;
param.EndTime = logend;
param.categoryId = categoryId;
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};

page.init();
}



+ 9
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_ReportModule/Controllers/ReportTemplateController.cs View File

@@ -66,6 +66,15 @@ namespace Learun.Application.Web.Areas.LR_ReportModule.Controllers
{
return View();
}
/// <summary>
/// 新版流程报表
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult NWFSchemeReport()
{
return View();
}
#endregion

#region 获取数据


+ 40
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_ReportModule/Views/ReportTemplate/NWFSchemeReport.cshtml View File

@@ -0,0 +1,40 @@

@{
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 class="lr-layout-tool-item">
<input id="year" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy',onpicked: function () { $('#year').trigger('change'); } })" placeholder="请选择年"/>
</div>
<div class="lr-layout-tool-item">
<a id="btn_Search" class="btn btn-primary btn-sm"><i class="fa fa-search"></i>&nbsp;<span class="lrlt">查询</span></a>
</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>&nbsp;<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 id="main1" style="float: left; margin-right: 20px; width: 750px; 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/LR_ReportModule/Views/ReportTemplate/NWFSchemeReport.js")

+ 132
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_ReportModule/Views/ReportTemplate/NWFSchemeReport.js View File

@@ -0,0 +1,132 @@
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').jfGrid({
url: top.$.rootUrl + '/LR_ReportModule/ReportTemplate/GetWfSchemeReportList',
headData: [
{ name: "category", label: "分类", width: 100, align: "center" },
{ name: "name", label: "名称", width: 150, align: "center" },
{
name: "kind", label: "类型", width: 100, align: "center",
formatter: function (cellvalue, row) {
if (cellvalue == 0) {
return '<span class=\"label label-warning\" style=\"cursor: pointer;\">系统流程</span>';
} else {
return '<span class=\"label label-primary\" style=\"cursor: pointer;\">自定义流程</span>';
}
}
},
{ name: "total", label: "次数", width: 200, 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 + "/LR_ReportModule/ReportTemplate/GetWfSchemeUseList", { queryJson: JSON.stringify(queryJson) }, function (res) {
if (res.code == 200) {
var option1 = {
title: {
text: year + '年流程使用分析图',
x: 'center'
},
tooltip: {
trigger: 'item',
formatter: "{a} <br/>{b} : {c}次 ({d}%)"
},
legend: {
orient: 'vertical',
left: 'left',
data: res.data.legendData
},
series: [
{
name: '流程分类',
type: 'pie',
radius: '55%',
center: ['50%', '60%'],
data: res.data.seriesData,
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
myChart1.setOption(option1);

var option2 = {
title: {
text: year + '年流程使用趋势图',
x: 'center'
},
legend: {
orient: 'vertical',
left: 'left',
data: res.data.legendData
},
tooltip: {
trigger: 'axis'
},
grid: {
left: '15%',
right: '3%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'category',
boundaryGap: false,
data: res.data.xAxis
},
yAxis: {
type: 'value',
name: '次数'

},
series: res.data.seriesLineData
};
myChart2.setOption(option2);
}
});

},
search: function (param) {
param = param || {};
param.year = year;
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
page.initChart();
}
};
page.init();
}



+ 8
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj View File

@@ -1269,6 +1269,8 @@
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\AddTaskForm.js" />
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\htPrint.css" />
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\ContractFiling.js" />
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\StatisticCountIndex.js" />
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\StatisticTimeIndex.js" />
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\MonitorIndexZiChan.js" />
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\MonitorIndexGongWen.js" />
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\MonitorIndexXingZhen.js" />
@@ -1276,6 +1278,7 @@
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\PersonalFiling.js" />
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\SelectUserForm.js" />
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\SignForm.js" />
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\StatisticTimeForm.js" />
<Content Include="Areas\LR_NewWorkFlow\Views\StampInfo\EqualForm.js" />
<Content Include="Areas\LR_NewWorkFlow\Views\StampInfo\Form.css" />
<Content Include="Areas\LR_NewWorkFlow\Views\StampInfo\Form.js" />
@@ -1319,6 +1322,7 @@
<Content Include="Areas\LR_PortalSite\Views\Page\SetContentForm.css" />
<Content Include="Areas\LR_PortalSite\Views\Page\SetContentForm.js" />
<Content Include="Areas\LR_PortalSite\Views\Page\SetNameForm.js" />
<Content Include="Areas\LR_ReportModule\Views\ReportTemplate\NWFSchemeReport.js" />
<Content Include="Areas\LR_SystemModule\Views\Files\FileAuthAddFrom.js" />
<Content Include="Areas\LR_SystemModule\Views\Files\FileAuthFrom.js" />
<Content Include="Areas\LR_SystemModule\Views\Files\FileAuthIndex.js" />
@@ -7090,6 +7094,10 @@
<Content Include="Areas\PersonnelManagement\Views\MeetingNotice\Form.cshtml" />
<Content Include="Areas\PersonnelManagement\Views\MeetingNotice\Index.cshtml" />
<Content Include="Areas\PersonnelManagement\Views\MeetingManagement\IndexOfMyJoin.cshtml" />
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\StatisticTimeIndex.cshtml" />
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\StatisticTimeForm.cshtml" />
<Content Include="Areas\LR_NewWorkFlow\Views\NWFProcess\StatisticCountIndex.cshtml" />
<Content Include="Areas\LR_ReportModule\Views\ReportTemplate\NWFSchemeReport.cshtml" />
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" />
<Content Include="Views\Login\Default-beifen.cshtml" />
<None Include="Properties\PublishProfiles\FolderProfile1.pubxml" />


+ 8
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Task/NWFTaskBLL.cs View File

@@ -40,6 +40,14 @@ namespace Learun.Application.WorkFlow
public IEnumerable<NWFTaskEntity> GetUnFinishTaskList() {
return nWFTaskSerivce.GetUnFinishTaskList();
}
/// <summary>
/// 获取所有已完成的任务
/// </summary>
/// <returns></returns>
public IEnumerable<NWFTaskEntity> GetFinishTaskList()
{
return nWFTaskSerivce.GetFinishTaskList();
}

/// <summary>
/// 判断任务是否允许撤销


+ 5
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Task/NWFTaskIBLL.cs View File

@@ -29,6 +29,11 @@ namespace Learun.Application.WorkFlow
/// </summary>
/// <returns></returns>
IEnumerable<NWFTaskEntity> GetUnFinishTaskList();
/// <summary>
/// 获取所有已完成的任务
/// </summary>
/// <returns></returns>
IEnumerable<NWFTaskEntity> GetFinishTaskList();

/// <summary>
/// 判断任务是否允许撤销


+ 22
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Task/NWFTaskSerivce.cs View File

@@ -84,6 +84,28 @@ namespace Learun.Application.WorkFlow
}
}
}
/// <summary>
/// 获取所有已完成的任务
/// </summary>
/// <returns></returns>
public IEnumerable<NWFTaskEntity> GetFinishTaskList()
{
try
{
return this.BaseRepository().FindList<NWFTaskEntity>(t => t.F_IsFinished == 1 && (t.F_Type == 1 || t.F_Type == 3));
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 判断任务是否允许撤销


+ 11
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/WfScheme/WfSchemeReportModel.cs View File

@@ -33,4 +33,15 @@ namespace Learun.Application.WorkFlow
public string stack { get; set; }
public List<int> data { get; set; }
}
public class WfSchemeReportModelOfPie2
{
/// <summary>
/// 次数
/// </summary>
public string value { get; set; }
/// <summary>
/// 类别
/// </summary>
public string name { get; set; }
}
}

Loading…
Cancel
Save