activiti自定义流程之Spring整合activiti-modeler5.16实例(五):流程定义列表

注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建
        (2)创建流程模型:activiti自定义流程之Spring整合activiti-modeler5.16实例(二):创建流程模型 
        (3)流程模型列表展示:activiti自定义流程之Spring整合activiti-modeler5.16实例(三):流程模型列表展示
        (4)部署流程定义:activiti自定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义

 

1.流程定义依旧属于流程资源,因此查询流程定义也还是使用repositoryService进行操作

2.后台业务代码,
  (1)自定义的流程定义实体类:

package model;

public class processModel {
	private String id;
	private String deploymentId;
	private String key;
	private String resourceName;
	private int version;
	private String name;
	private String diagramResourceName;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getDiagramResourceName() {
		return diagramResourceName;
	}

	public void setDiagramResourceName(String diagramResourceName) {
		this.diagramResourceName = diagramResourceName;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getDeploymentId() {
		return deploymentId;
	}

	public void setDeploymentId(String deploymentId) {
		this.deploymentId = deploymentId;
	}

	public String getKey() {
		return key;
	}

	public void setKey(String key) {
		this.key = key;
	}

	public String getResourceName() {
		return resourceName;
	}

	public void setResourceName(String resourceName) {
		this.resourceName = resourceName;
	}

	public int getVersion() {
		return version;
	}

	public void setVersion(int version) {
		this.version = version;
	}

	@Override
	public String toString() {
		return "processModel [id=" + id + ", deploymentId=" + deploymentId
				+ ", key=" + key + ", resourceName=" + resourceName
				+ ", version=" + version + ", name=" + name
				+ ", diagramResourceName=" + diagramResourceName + "]";
	}

}

(2)业务逻辑:

/**
	 * 流程定义列表
	 *
	 * @author:tuzongxun
	 * @Title: processList
	 * @param @return
	 * @return Object
	 * @date Mar 17, 2016 12:34:10 PM
	 * @throws
	 */
	@RequestMapping(value = "/processList.do", method = RequestMethod.POST, produces = "application/json;charset=utf-8")
	@ResponseBody
	public Object processList(HttpServletRequest req) {
		Map<String, Object> map = new HashMap<String, Object>();
		boolean isLogin = this.isLogin(req);
		if (isLogin) {
			List<processModel> processList = new ArrayList<processModel>();
			List<ProcessDefinition> processList1 = repositoryService
					.createProcessDefinitionQuery().list();
			for (ProcessDefinition pro : processList1) {
				processModel processModel = new processModel();
				processModel.setDeploymentId(pro.getDeploymentId());
				processModel.setId(pro.getId());
				processModel.setKey(pro.getKey());
				processModel.setResourceName(pro.getResourceName());
				processModel.setVersion(pro.getVersion());
				processModel.setName(pro.getName());
				processModel.setDiagramResourceName(pro
						.getDiagramResourceName());
				processList.add(processModel);

			}
			map.put("isLogin", "yes");
			map.put("userName",
					(String) req.getSession().getAttribute("userName"));
			map.put("result", "success");
			map.put("data", processList);
		} else {
			map.put("isLogin", "no");
		}
		return map;
	}

3.angular js前台代码,:
  (1)app.js中配置路由:
   

 $stateProvider
   .state('processList', {
   url: "/processList",
   views: {
      'view': {
       templateUrl: 'activi_views/processList.html',
       controller: 'processCtr'
      }
   }
  });  

  (2)逻辑相关代码:

     

angular.module('activitiApp')
.controller('processCtr', ['$rootScope','$scope','$http','$location', function($rootScope,$scope,$http,$location){
$scope.init=function(){
        $http.post("./processList.do").success(function(result) {
        	if(result.isLogin==="yes"){
        	console.log(result.data);
        	$rootScope.userName=result.userName;
    	    $scope.processList=result.data;
        	}else{
        		$location.path("/login");
        	}
        });
}
        //这个方法主要是为下一节,启动流程实例时使用
        $scope.toProcess=function(process){
        	console.log(process);
        	$http.post("./startProcess.do",process).success(function(deployResult){
        	    $rootScope.process=process;
        		$location.path("/startProcess");
        	});
        }

}])  

4.对应的流程定义列表的页面:

<div id="logdiv1" ng-init="init();">
    <p style="font-size:24px;margin-top:10px">模型列表</p>
    <center>
   <table border="1px" style="width:87%;font-size:18px;text-align:center;margin-left:2px;margin-top:auto;position:relative;float:left;" cellSpacing="0px" cellPadding="0px">
      <tr style="background-color:#ccc">
         <td>ID</td>
         <td>NAME</td>
         <td>KEY</td>
         <td>描 述</td>
         <td>版本</td>
         <td>创建时间</td>
         <td>修改时间</td>
         <td>操 作</td>
      </tr>
      <tr ng-repeat="model in modelList | orderBy:'id'" >
         <td>{{model.id}}</td>
         <td>{{model.name}}</td>
         <td>{{model.key}}</td>
         <td>{{model.metaInfo}}</td>
         <td>{{model.version}}</td>
         <td>{{model.createTime | date:"yyyy-MM-dd HH:mm:ss"}}</td>
         <td>{{model.lastUpdateTime | date:"yyyy-MM-dd HH:mm:ss"}}</td>
         <td><a href="script:;" ng-click="deploye(model)">部署</a> 
         <a href="script:;" ng-click="delete(model)">删除</a> 
         <a href="script:;" ng-click="update(model.id)">修改</a>
         </td>
      </tr>
   </table>
   </center>
</div>

5.页面示图如下:

时间: 2024-12-01 05:27:46

activiti自定义流程之Spring整合activiti-modeler5.16实例(五):流程定义列表的相关文章

activiti自定义流程之Spring整合activiti-modeler5.16实例(七):任务列表展示

注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建        (2)创建流程模型:activiti自定义流程之Spring整合activiti-modeler5.16实例(二):创建流程模型         (3)流程模型列表展示:activiti自定义流程之Spring整合activiti-modeler5.16实例(三):流程模型列表展示        (4)部署流程定义:activiti自定义流程之Spring整

activiti自定义流程之Spring整合activiti-modeler5.16实例(六):启动流程

注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建        (2)创建流程模型:activiti自定义流程之Spring整合activiti-modeler5.16实例(二):创建流程模型         (3)流程模型列表展示:activiti自定义流程之Spring整合activiti-modeler5.16实例(三):流程模型列表展示        (4)部署流程定义:activiti自定义流程之Spring整

activiti自定义流程之Spring整合activiti-modeler5.16实例(九):历史任务查询

注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建        (2)创建流程模型:activiti自定义流程之Spring整合activiti-modeler5.16实例(二):创建流程模型        (3)流程模型列表展示:activiti自定义流程之Spring整合activiti-modeler5.16实例(三):流程模型列表展示        (4)部署流程定义:activiti自定义流程之Spring整合

activiti自定义流程之Spring整合activiti-modeler5.16实例(八):完成个人任务

注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建        (2)创建流程模型:activiti自定义流程之Spring整合activiti-modeler5.16实例(二):创建流程模型         (3)流程模型列表展示:activiti自定义流程之Spring整合activiti-modeler5.16实例(三):流程模型列表展示        (4)部署流程定义:activiti自定义流程之Spring整

activiti自定义流程之Spring整合activiti-modeler5.16实例(二):创建流程模型

注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 1.maven导包,这里就没有什么多的好说了,直接代码: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </de

activiti自定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义

注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建        (2)创建流程模型:activiti自定义流程之Spring整合activiti-modeler5.16实例(二):创建流程模型         (3)流程模型列表展示:activiti自定义流程之Spring整合activiti-modeler5.16实例(三):流程模型列表展示 1.maven导包及spring的一些基本配置与之前的没有什么变化,依旧沿用

activiti自定义流程之Spring整合activiti-modeler5.16实例(三):流程模型列表展示

注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建        (2)创建流程模型:activiti自定义流程之Spring整合activiti-modeler5.16实例(二):创建流程模型  1.maven导包及spring的一些基本配置与创建流程模型时候的没有什么变化,依旧沿用就好;前端的首页也不用有太大变化,只需要把之后新创建的js引入进来即可. 2.acitivit流程定义有必要的24张表.   创建模型时相关

activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建

项目中需要整合activiti-modeler自定义流程,找了很多资料后,终于成功的跳转到activiti-modeler流程设计界面,以下是记录: 一.整合基础:eclipse4.4.1.tomcat7.jdk1.7.mysql5.6.25.maven3.2.5.activiti5.16.3.spring4.0.9二.步骤:    1.下载activiti-5.16.3.zip: http://www.activiti.org/download.html    2.解压zip文件,解压后的目录

activiti自定义流程之整合(四):整合自定义表单部署流程定义

综合前几篇博文内容,我想在整合这一部分中应该会有很多模块会跳过不讲,就如自定义表单的表单列表那一块,因为这些模块在整合的过程中都几乎没有什么改动,再多讲也是重复无用功. 正因为如此,在创建了流程模型之后,模型列表的展示也是和之前的没有什么区别,而且都是很简单的后台查询以及前台展示,这一部分也就不过多的讲了. 模型列表页面如下:   至于其中的修改和删除也没什么多讲的,删除很简单,而修改也是activiti-modeler实现的主要功能,我们只需要跳转过去就行. 重要的部分在于部署,因为点击部署到