update
This commit is contained in:
123
ebpm-process-manage/webapp/pages/workflow/proDefDetail.jsp
Normal file
123
ebpm-process-manage/webapp/pages/workflow/proDefDetail.jsp
Normal file
@@ -0,0 +1,123 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp"%>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<%@ include file="/commons/meta.jsp"%>
|
||||
<base href="<%=basePath%>">
|
||||
<title>流程定义明细</title>
|
||||
<script language="javascript" type="text/javascript" src="${ctx}/resource/js/plugins/My97DatePicker/WdatePicker.js"></script>
|
||||
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
|
||||
<script type='text/javascript' src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
|
||||
<link href="${ctx_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
|
||||
<script type="text/javascript" src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
|
||||
<script type="text/javascript" >
|
||||
$(document).ready(function() {
|
||||
// 分页需要依赖的初始化动作
|
||||
// window.simpleTable = new SimpleTable('queryForm','${page.thisPageNumber}','${page.pageSize}','${pageRequest.sortColumns}');
|
||||
});
|
||||
function ajaxSubmitTest(procDefId, num) {
|
||||
var b=document.getElementById("but"+num).innerHTML;
|
||||
if(b == "+"){
|
||||
setMask("can-container");
|
||||
document.getElementById("but"+num).innerHTML = "--";
|
||||
var url = "${ctx}/workflow/getActDef.do?searchYear=${params.searchYear}&procDefId="+procDefId;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: url, //Servlet请求地址
|
||||
async: true,
|
||||
dataType: "json",
|
||||
success: function (data) {
|
||||
var List = data;
|
||||
for(var actDef in List){
|
||||
var aHref = "<a href='javascript:void(0);' onclick="+"openSysDialog('${ctx}/sysMgr/sysTaskList.do?taskDefName="+List[actDef].ACTDEFNAME+"&searchYear=${params.searchYear }')"+">";
|
||||
aHref += List[actDef].ACTDEFNAME;
|
||||
aHref += "</a>";
|
||||
|
||||
var showContent = "";//添加内容变量
|
||||
showContent += "<tr class='children"+num+"'>";
|
||||
showContent += "<td style='padding-left:50px'>"+aHref+"</td>";
|
||||
showContent += "<td><span class='label label-warning'>"+List[actDef].EFFICIENCY+"</span></td>";
|
||||
showContent += "</tr>";
|
||||
$("#procDefId"+num).after(showContent);
|
||||
}
|
||||
$(".loadmask").remove();
|
||||
$(".loadmask-msg").remove();
|
||||
},
|
||||
error: function (XMLHttpRequest, textStatus, errorThrown) {
|
||||
alert(errorThrown);
|
||||
console.info("数据请求异常 请查看控制台错误 或者检查servlet配置")
|
||||
}
|
||||
});
|
||||
}else if(b == "--"){
|
||||
$(".children"+num).remove();
|
||||
document.getElementById("but"+num).innerHTML = "+";
|
||||
}
|
||||
}
|
||||
function openSysDialog(ctx){
|
||||
var height1 = window.parent.document.documentElement.clientHeight;
|
||||
var height = (parseInt(height1)-500)+"px";
|
||||
showDiaLog(ctx,'流程效率','1400px',height);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%@ include file="/commons/messages.jsp"%>
|
||||
<form id="queryForm" name="queryForm" method="post" style="display: inline;">
|
||||
<div class="main-container" id="can-container">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h8>流程效率:${params.appName }</h8>
|
||||
</div>
|
||||
<div class="panel-body" id="panel-body" style="padding:3px;">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="table-responsive">
|
||||
<table id="sample-table-1" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="200px">工作流(流程数量) - 节点</th>
|
||||
<th width="70px">平均耗时</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${resultList}" var="item" varStatus="status">
|
||||
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}" id="procDefId${status.count}" >
|
||||
<td>
|
||||
<a href="javascript:void(0);" onclick="ajaxSubmitTest('${item.PROCDEFID}', '${status.count}')">
|
||||
<font size="3"><b id="but${status.count}">+</b></font>
|
||||
</a>
|
||||
|
||||
<a href="javascript:void(0);" onclick="openSysDialog('${ctx}/sysMgr/sysProcessInstList.do?processDefName=${item.PROCDEFNAME }&searchYear=${params.searchYear }')">
|
||||
${item.PROCDEFNAME }(${item.PROCINSTNUM })
|
||||
</a>
|
||||
|
||||
</td>
|
||||
<td><span class="label label-success">${item.EFFICIENCY }</span></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
143
ebpm-process-manage/webapp/pages/workflow/proDefEfficiency.jsp
Normal file
143
ebpm-process-manage/webapp/pages/workflow/proDefEfficiency.jsp
Normal file
@@ -0,0 +1,143 @@
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp"%>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<%@ include file="/commons/meta.jsp"%>
|
||||
<base href="<%=basePath%>">
|
||||
<title>流程效率统计</title>
|
||||
<script language="javascript" type="text/javascript" src="${ctx}/resource/js/plugins/My97DatePicker/WdatePicker.js"></script>
|
||||
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
|
||||
<script type='text/javascript' src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
|
||||
<link href="${ctx_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
|
||||
<script type="text/javascript" src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/no-data-to-display.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
initChart("${categoriesData}","${seriesDataMax}","${seriesDataAvg}","${params.searchYear}");
|
||||
})
|
||||
function initChart(categoriesData, seriesDataMax, seriesDataAvg, year){
|
||||
$('#bpmRunTime').highcharts({
|
||||
title : {
|
||||
text : year+'业务流程执行效率'
|
||||
},
|
||||
xAxis : {
|
||||
// categories : ['主数据管理系统','多元化采购系统','标准化管理平台','大数据分析平台','IT运维管理系统','流程平台','联动管控框架','行业采购','四平办公自动化','资金支付系统','AICS管理系统','统一权限管理平台','集中审批系统','售后服务管理','集成保障平台','综合统计报表平台','安全生产信息管理','营销CRM系统','战略管理','和+创新服务平台','公务车辆统一管理平台','用户中台','和+综合服务平台']
|
||||
categories : eval(""+categoriesData+"")
|
||||
//labels: {
|
||||
// rotation: 45
|
||||
// }
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
cursor: 'pointer',
|
||||
events: {
|
||||
click: function(e) {
|
||||
iframeChange(e.point.category);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
yAxis : {
|
||||
title : {
|
||||
text : ''
|
||||
},
|
||||
plotLines : [{
|
||||
value : 0,
|
||||
width : 1,
|
||||
color : '#808080'
|
||||
}]
|
||||
},
|
||||
lang: {
|
||||
noData: year+"年暂时没有流程数据"
|
||||
},
|
||||
noData: {
|
||||
style: {
|
||||
fontWeight: 'bold',
|
||||
fontSize: '15px',
|
||||
color: '#EE4000'
|
||||
}
|
||||
},
|
||||
tooltip : {
|
||||
valueSuffix : '天'
|
||||
},
|
||||
legend : {
|
||||
layout : 'vertical',
|
||||
align : 'center',
|
||||
verticalAlign : 'bottom',
|
||||
borderWidth : 0
|
||||
},
|
||||
credits : {
|
||||
enabled : false
|
||||
// 禁用版权信息
|
||||
},
|
||||
series : [{
|
||||
name : '最长耗时(天)',
|
||||
// data : [573,1,134,108,167,15,74,60,24,1,17,19,356,199,273,14,27,74,368,2,30,20,3]
|
||||
data : eval(""+seriesDataMax+"")
|
||||
},{
|
||||
name : '平均耗时(天)',
|
||||
// data : [12,1,6,13,55,2,10,1,1,1,3,1,10,2,28,1,2,2,10,1,9,1,1]
|
||||
data : eval(""+seriesDataAvg+"")
|
||||
} ]
|
||||
});
|
||||
}
|
||||
function iframeChange(appName){
|
||||
$("#proFrmright").attr("src","${ctx}/workflow/proDefDetail.do?searchYear=${params.searchYear}&appName="+appName);
|
||||
}
|
||||
function query(){
|
||||
setMask("main-container");
|
||||
document.getElementById("queryForm").submit();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="main-container" id="main-container" style="height:100px">
|
||||
<form id="queryForm" name="queryForm" method="post" style="display: inline;" action="${ctx}/workflow/proDefEfficiency.do">
|
||||
<div class="panel-body" id="panel-body" style="padding:3px;">
|
||||
<div class="well well-sm" style="margin-bottom: 2px;">
|
||||
<table border="0" cellspacing="0" cellpadding="0" class="table-search">
|
||||
<tr>
|
||||
<td>应用:</td>
|
||||
<td>
|
||||
<select name="appId">
|
||||
<option value="">--请选择--</option>
|
||||
<c:forEach items="${applicationList}" var="item">
|
||||
<option ${params.appId==item.appId?"selected":""} value="${item.appId }">${item.appName}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</td>
|
||||
<td>年份:</td>
|
||||
<td><input value="${params.searchYear}" id="searchYear" name="searchYear" onClick="WdatePicker({dateFmt:'yyyy'})" autocomplete="off"/></td>
|
||||
<td>
|
||||
<button type="submit" onclick="query()" class="btn btn-xs btn-primary">
|
||||
查询<i class="ace-icon fa fa-search bigger-110"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="row no-margin">
|
||||
<div class="col-sm-12 infobox-container">
|
||||
<div class="page-content" id="bpmRunTime" style="width: 100%; height: 330px"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-margin">
|
||||
<div class="col-sm-12 infobox-container">
|
||||
<IFRAME height="600px" width="100%" frameBorder=0 id="proFrmright" name="proFrmright" src="${ctx}/workflow/proDefDetail.do?searchYear=${params.searchYear}&appName=${params.appName}" onload="iframeHeight('proFrmright')" allowTransparency="true"></IFRAME>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
46
ebpm-process-manage/webapp/pages/workflow/proEfficiency.jsp
Normal file
46
ebpm-process-manage/webapp/pages/workflow/proEfficiency.jsp
Normal file
@@ -0,0 +1,46 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%@ include file="/commons/taglibs.jsp"%>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<%@ include file="/commons/meta.jsp"%>
|
||||
<base href="<%=basePath%>">
|
||||
<title>效率分析</title>
|
||||
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
|
||||
<script type='text/javascript' src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
|
||||
<script>
|
||||
function iframeChange(url){
|
||||
$("#frmrightChild").attr("src",url);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="main-container" id="main-container">
|
||||
<div class="panel-heading" style="color: #FFF;background-color: #428BCA;border-color: #428BCA;">
|
||||
<span style="font-size: 14px;">效率统计</span>
|
||||
</div>
|
||||
<div class="row" style="margin-right:0;">
|
||||
<div class="col-xs-12">
|
||||
<div class="tabbable">
|
||||
<ul class="nav nav-tabs padding-12 tab-color-blue background-blue" id="myTab3">
|
||||
<li class="active">
|
||||
<a id="UserContract" onclick="iframeChange('${ctx}/workflow/proDefEfficiency.do')" data-toggle="tab" href="" target="frmrightChild" class="current">流程效率统计</a>
|
||||
</li>
|
||||
<li>
|
||||
<a id="UserEvent" onclick="iframeChange('${ctx}/workflow/proOrgEfficiency.do')" href="" data-toggle="tab" target="frmrightChild">组织效率统计</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<IFRAME src="${ctx}/workflow/proDefEfficiency.do" style="width: 100%; height: 1000px;" scrolling="no"
|
||||
frameBorder="0" id="frmrightChild" name="frmrightChild" onload="iframeHeight('frmrightChild')" allowTransparency="true"></IFRAME>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
132
ebpm-process-manage/webapp/pages/workflow/proInstDetail.jsp
Normal file
132
ebpm-process-manage/webapp/pages/workflow/proInstDetail.jsp
Normal file
@@ -0,0 +1,132 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp"%>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<%@ include file="/commons/meta.jsp"%>
|
||||
<base href="<%=basePath%>">
|
||||
<title>流程实例查询</title>
|
||||
<script language="javascript" type="text/javascript" src="${ctx}/resource/js/plugins/My97DatePicker/WdatePicker.js"></script>
|
||||
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
|
||||
<script type='text/javascript' src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
|
||||
<link href="${ctx_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
|
||||
<script type="text/javascript" src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
|
||||
<script type="text/javascript" >
|
||||
$(document).ready(function() {
|
||||
// 分页需要依赖的初始化动作
|
||||
window.simpleTable = new SimpleTable('queryForm','${page.thisPageNumber}','${page.pageSize}','${pageRequest.sortColumns}');
|
||||
});
|
||||
function ajaxSubmitTest(procInstId) {
|
||||
setMask("panel-body");
|
||||
var url = "${ctx}/workflow/getActInst.do?procInstId="+procInstId;
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: url, //Servlet请求地址
|
||||
async: true,
|
||||
dataType: "json",
|
||||
success: function (data) {
|
||||
$(".children").remove();
|
||||
var List = data;
|
||||
for(var procInst in List){
|
||||
var timeStr = "";
|
||||
if(parseInt(List[procInst].TIMENUM) < 1000){
|
||||
timeStr = "耗时"+parseInt(List[procInst].TIMENUM) +"毫秒";
|
||||
}else if(parseInt(List[procInst].TIMENUM)/1000 < 60){
|
||||
timeStr = "耗时"+Math.round(parseInt(List[procInst].TIMENUM)/1000) +"秒";
|
||||
}else if (parseInt(List[procInst].TIMENUM)/(1000 * 60) < 60){
|
||||
timeStr = "耗时"+Math.round(parseInt(List[procInst].TIMENUM)/(1000 * 60)) +"分钟";
|
||||
}else if(parseInt(List[procInst].TIMENUM)/(1000 * 60 * 60) < 24){
|
||||
timeStr = "耗时"+Math.round(parseInt(List[procInst].TIMENUM)/(1000 * 60 * 60)) +"小时";
|
||||
}else{
|
||||
timeStr = "耗时"+Math.round(parseInt(List[procInst].TIMENUM)/(1000 * 60 * 60 * 24)) +"天";
|
||||
}
|
||||
var showContent = "";//添加内容变量
|
||||
showContent += "<tr class='children'>";
|
||||
showContent += "<td style='padding-left:50px'>"+List[procInst].ACTNAME+"</td>";
|
||||
showContent += "<td>"+List[procInst].SENDUSERNAME+"</td>";
|
||||
showContent += "<td>"+List[procInst].SENDORGNAME+"</td>";
|
||||
showContent += "<td>"+List[procInst].STARTTIME+"</td>";
|
||||
showContent += "<td>"+List[procInst].ENDTIME+"</td>";
|
||||
showContent += "<td><span class='label label-warning'>"+timeStr+"</span></td>";
|
||||
showContent += "</tr>";
|
||||
$("#"+procInstId).after(showContent);
|
||||
}
|
||||
$(".loadmask").remove();
|
||||
$(".loadmask-msg").remove();
|
||||
},
|
||||
error: function (XMLHttpRequest, textStatus, errorThrown) {
|
||||
alert(errorThrown);
|
||||
console.info("数据请求异常 请查看控制台错误 或者检查servlet配置")
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%@ include file="/commons/messages.jsp"%>
|
||||
<form id="queryForm" name="queryForm" method="post" style="display: inline;" action="${ctx}/workflow/proInstDetail.do">
|
||||
<div class="panel-body" id="panel-body" style="padding:3px;">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="table-responsive">
|
||||
<table id="sample-table-1" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="200px">流程标题</th>
|
||||
<th width="140px">发起人</th>
|
||||
<th width="150px">发起部门</th>
|
||||
<th width="100px">发起时间</th>
|
||||
<th width="100px">办结时间</th>
|
||||
<th width="70px">持续时间</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<%
|
||||
Page mypage=(Page)request.getAttribute("page");
|
||||
List<HistoricProcessInstanceEntity> histProcInsts=mypage.getResult();
|
||||
if(histProcInsts!=null){
|
||||
for(int i=0;i<histProcInsts.size();i++){
|
||||
HistoricProcessInstanceEntity histProcInst=(HistoricProcessInstanceEntity)histProcInsts.get(i);
|
||||
%>
|
||||
<tr class="<%=((i+1)%2== 0 ? "odd" : "even") %>" id="<%=histProcInst.getProcessInstanceId()%>" onclick="ajaxSubmitTest('<%=histProcInst.getProcessInstanceId()%>')">
|
||||
<td>
|
||||
<a href="javascript:void(0);" onclick="openProcessTrackPage('${ctx}','<%=histProcInst.getId() %>');">
|
||||
<%=histProcInst.getProcTitle()%>
|
||||
</a>
|
||||
</td>
|
||||
<td><%=histProcInst.getStartUserName()%> </td>
|
||||
<td><%=histProcInst.getStarterOrgName()%> </td>
|
||||
<td><%=DateUtil.convertDateToString("yyyy-MM-dd HH:mm:ss", histProcInst.getStartTime()) %></td>
|
||||
<td><%=DateUtil.convertDateToString("yyyy-MM-dd HH:mm:ss", histProcInst.getEndTime()) %></td>
|
||||
<td>
|
||||
<%String day=com.blueland.bpm.manage.web.ProcessInstanceController.differByTime(histProcInst.getStartTime(),histProcInst.getEndTime());%>
|
||||
<%if(histProcInst.getEndTime() != null){%>
|
||||
<span class="label label-success">耗时<%=day%>分钟</span>
|
||||
<%}%>
|
||||
</td>
|
||||
</tr>
|
||||
<%}} %>
|
||||
</tbody>
|
||||
</table>
|
||||
<simpletable:pageToolbar page="${page}"></simpletable:pageToolbar>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
143
ebpm-process-manage/webapp/pages/workflow/proOrgEfficiency.jsp
Normal file
143
ebpm-process-manage/webapp/pages/workflow/proOrgEfficiency.jsp
Normal file
@@ -0,0 +1,143 @@
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp"%>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<%@ include file="/commons/meta.jsp"%>
|
||||
<base href="<%=basePath%>">
|
||||
<title>流程效率统计</title>
|
||||
<script language="javascript" type="text/javascript" src="${ctx}/resource/js/plugins/My97DatePicker/WdatePicker.js"></script>
|
||||
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
|
||||
<script type='text/javascript' src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
|
||||
<link href="${ctx_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
|
||||
<script type="text/javascript" src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/highcharts.js"></script>
|
||||
<script src="${ctx}/resource/js/plugins/highcharts/modules/no-data-to-display.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
initChart("${categoriesData}","${seriesDataMax}","${seriesDataAvg}","${params.searchYear}");
|
||||
})
|
||||
function initChart(categoriesData, seriesDataMax, seriesDataAvg, year){
|
||||
$('#bpmRunTime').highcharts({
|
||||
title : {
|
||||
text : year+'业务流程执行效率'
|
||||
},
|
||||
xAxis : {
|
||||
// categories : ['主数据管理系统','多元化采购系统','标准化管理平台','大数据分析平台','IT运维管理系统','流程平台','联动管控框架','行业采购','四平办公自动化','资金支付系统','AICS管理系统','统一权限管理平台','集中审批系统','售后服务管理','集成保障平台','综合统计报表平台','安全生产信息管理','营销CRM系统','战略管理','和+创新服务平台','公务车辆统一管理平台','用户中台','和+综合服务平台']
|
||||
categories : eval(""+categoriesData+"")
|
||||
//labels: {
|
||||
// rotation: 45
|
||||
// }
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
cursor: 'pointer',
|
||||
events: {
|
||||
click: function(e) {
|
||||
iframeChange(e.point.category);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
yAxis : {
|
||||
title : {
|
||||
text : ''
|
||||
},
|
||||
plotLines : [{
|
||||
value : 0,
|
||||
width : 1,
|
||||
color : '#808080'
|
||||
}]
|
||||
},
|
||||
lang: {
|
||||
noData: year+"年暂时没有流程数据"
|
||||
},
|
||||
noData: {
|
||||
style: {
|
||||
fontWeight: 'bold',
|
||||
fontSize: '15px',
|
||||
color: '#EE4000'
|
||||
}
|
||||
},
|
||||
tooltip : {
|
||||
valueSuffix : '天'
|
||||
},
|
||||
legend : {
|
||||
layout : 'vertical',
|
||||
align : 'center',
|
||||
verticalAlign : 'bottom',
|
||||
borderWidth : 0
|
||||
},
|
||||
credits : {
|
||||
enabled : false
|
||||
// 禁用版权信息
|
||||
},
|
||||
series : [{
|
||||
name : '最长耗时(天)',
|
||||
// data : [573,1,134,108,167,15,74,60,24,1,17,19,356,199,273,14,27,74,368,2,30,20,3]
|
||||
data : eval(""+seriesDataMax+"")
|
||||
},{
|
||||
name : '平均耗时(天)',
|
||||
// data : [12,1,6,13,55,2,10,1,1,1,3,1,10,2,28,1,2,2,10,1,9,1,1]
|
||||
data : eval(""+seriesDataAvg+"")
|
||||
} ]
|
||||
});
|
||||
}
|
||||
function iframeChange(appName){
|
||||
$("#proFrmright").attr("src","${ctx}/workflow/proOrgEfficiencyDetail.do?orgId=${params.orgId}&appName="+appName);
|
||||
}
|
||||
function query(){
|
||||
setMask("main-container");
|
||||
document.getElementById("queryForm").submit();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="main-container" id="main-container" style="height:100px">
|
||||
<form id="queryForm" name="queryForm" method="post" style="display: inline;" action="${ctx}/workflow/proOrgEfficiency.do">
|
||||
<div class="panel-body" id="panel-body" style="padding:3px;">
|
||||
<div class="well well-sm" style="margin-bottom: 2px;">
|
||||
<table border="0" cellspacing="0" cellpadding="0" class="table-search">
|
||||
<tr>
|
||||
<td>应用:</td>
|
||||
<td>
|
||||
<select name="appId">
|
||||
<option value="">--请选择--</option>
|
||||
<c:forEach items="${applicationList}" var="item">
|
||||
<option ${params.appId==item.appId?"selected":""} value="${item.appId }">${item.appName}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</td>
|
||||
<td>组织ID:</td>
|
||||
<td><input value="${params.orgId}" id="orgId" name="orgId"/></td>
|
||||
<td>
|
||||
<button type="submit" onclick="query()" class="btn btn-xs btn-primary">
|
||||
查询<i class="ace-icon fa fa-search bigger-110"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="row no-margin">
|
||||
<div class="col-sm-12 infobox-container">
|
||||
<div class="page-content" id="bpmRunTime" style="width: 100%; height: 330px"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row no-margin">
|
||||
<div class="col-sm-12 infobox-container">
|
||||
<IFRAME height="800px" width="100%" frameBorder=0 id="proFrmright" name="proFrmright" src="${ctx}/workflow/proOrgEfficiencyDetail.do?orgId=${params.orgId}&appName=${params.appName}" allowTransparency="true"></IFRAME>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp"%>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<%@ include file="/commons/meta.jsp"%>
|
||||
<base href="<%=basePath%>">
|
||||
<title>组织效率明细</title>
|
||||
<script language="javascript" type="text/javascript" src="${ctx}/resource/js/plugins/My97DatePicker/WdatePicker.js"></script>
|
||||
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
|
||||
<script type='text/javascript' src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
|
||||
<link href="${ctx_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
|
||||
<script type="text/javascript" src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
|
||||
<script type="text/javascript" >
|
||||
$(document).ready(function() {
|
||||
|
||||
});
|
||||
function openSysDialog(ctx){
|
||||
var height1 = window.parent.document.documentElement.clientHeight;
|
||||
var height = (parseInt(height1)-500)+"px";
|
||||
showDiaLog(ctx,'组织效率','1400px',height);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%@ include file="/commons/messages.jsp"%>
|
||||
<form id="queryForm" name="queryForm" method="post" style="display: inline;">
|
||||
<div class="main-container" id="can-container">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h8>组织效率:${params.appName }</h8>
|
||||
</div>
|
||||
<div class="panel-body" id="panel-body" style="padding:3px;">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="table-responsive">
|
||||
<table id="sample-table-1" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="200px">组织名称</th>
|
||||
<th width="200px">经办次数</th>
|
||||
<th width="70px">平均耗时</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${resultList}" var="item" varStatus="status">
|
||||
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}" id="procDefId${status.count}" >
|
||||
<td>
|
||||
<a href="javascript:void(0);" onclick="openSysDialog('${ctx}/workflow/getProInstEfficiencyByOrg.do?appId=${params.appId }&orgId=${item.ORGID }')">
|
||||
${item.ORGNAME }(${item.ORGID })
|
||||
</a>
|
||||
</td>
|
||||
<td>${item.PROINSTNUM }</td>
|
||||
<td><span class="label label-success">${item.EFFICIENCY }</span></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
<%@page import="org.activiti.engine.repository.ProcessDefinition" %>
|
||||
<%@page import="org.activiti.engine.impl.persistence.entity.*" %>
|
||||
<%@page import="org.activiti.engine.repository.Deployment" %>
|
||||
<%@page import="com.blueland.bpm.engine.config.model.*" %>
|
||||
<%@page import="com.blueland.bpm.common.page.*" %>
|
||||
<%@page import="com.blueland.bpm.common.util.*"%>
|
||||
<%@page import="java.util.*" %>
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib tagdir="/WEB-INF/tags/simpletable" prefix="simpletable"%>
|
||||
<%@ include file="/commons/taglibs.jsp"%>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<%@ include file="/commons/meta.jsp"%>
|
||||
<base href="<%=basePath%>">
|
||||
<title>组织效率明细</title>
|
||||
<script language="javascript" type="text/javascript" src="${ctx}/resource/js/plugins/My97DatePicker/WdatePicker.js"></script>
|
||||
<link href="${ctx}/resource/js/plugins/loadmask/jquery.loadmask.css" rel="stylesheet" type="text/css" />
|
||||
<script type='text/javascript' src='${ctx}/resource/js/plugins/loadmask/jquery.loadmask.js'></script>
|
||||
<link href="${ctx_js_plugins}/simpletable/simpletable.css" type="text/css" rel="stylesheet">
|
||||
<script type="text/javascript" src="${ctx_js_plugins}/simpletable/simpletable.js"></script>
|
||||
<script type="text/javascript" >
|
||||
$(document).ready(function() {
|
||||
window.simpleTable = new SimpleTable('queryForm','${page.thisPageNumber}','${page.pageSize}','${pageRequest.sortColumns}');
|
||||
});
|
||||
function query(){
|
||||
setMask("can-container");
|
||||
document.getElementById("queryForm").submit();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%@ include file="/commons/messages.jsp"%>
|
||||
<form id="queryForm" name="queryForm" method="post" style="display: inline;" action="${ctx}/workflow/getProInstEfficiencyByOrg.do">
|
||||
<div class="main-container" id="can-container">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h8>组织效率:${params.appName }</h8>
|
||||
</div>
|
||||
<div class="panel-body" id="panel-body" style="padding:3px;">
|
||||
<div class="well well-sm" style="margin-bottom: 2px;">
|
||||
<table border="0" cellspacing="0" cellpadding="0" class="table-search">
|
||||
<tr>
|
||||
<td>流程名称:</td>
|
||||
<td><input value="${params.procDefName}" id="procDefName" name="procDefName" /></td>
|
||||
<td>流程标题:</td>
|
||||
<td><input value="${params.procTitle}" id="procTitle" name="procTitle" /></td>
|
||||
<td>环节名称:</td>
|
||||
<td><input value="${params.actInstName}" id="actInstName" name="actInstName" /></td>
|
||||
<td>人员名称:</td>
|
||||
<td><input value="${params.userName}" id="userName" name="userName" /></td>
|
||||
<td>
|
||||
<input value="${params.appId}" id="appId" name="appId" type="hidden"/>
|
||||
<input value="${params.orgId}" id="orgId" name="orgId" type="hidden"/>
|
||||
<button type="submit" onclick="query()"class="btn btn-xs btn-primary">
|
||||
查询<i class="ace-icon fa fa-search bigger-110"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="table-responsive">
|
||||
<table id="sample-table-1" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="200px">流程名称</th>
|
||||
<th width="200px">流程标题</th>
|
||||
<th width="70px">环节名称</th>
|
||||
<th width="70px">人员名称</th>
|
||||
<th width="70px">开始时间</th>
|
||||
<th width="70px">结束时间</th>
|
||||
<th width="70px">环节耗时</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${resultList}" var="item" varStatus="status">
|
||||
<tr class="${status.count % 2 == 0 ? 'odd' : 'even'}" id="procDefId${status.count}" >
|
||||
<td>${item.PROCDEFNAME }</td>
|
||||
<td>${item.PROCTITLE }</td>
|
||||
<td>${item.ACTINSTNAME }</td>
|
||||
<td>${item.USERNAME }</td>
|
||||
<td>${item.STARTTIME }</td>
|
||||
<td>${item.ENDTIME }</td>
|
||||
<td><span class="label label-success">${item.EFFICIENCY }</span></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
<simpletable:pageToolbar page="${page}"></simpletable:pageToolbar>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user