您的位置:首页 > 编程语言 > Java开发

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

2016-05-17 00:00 731 查看
1.流程定义依旧属于流程资源,因此查询流程定义也还是使用repositoryService进行操作

2.后台业务代码,

(1)自定义的流程定义实体类:

[java]
view plain
copy








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)业务逻辑:

[java]
view plain
copy








/**

* 流程定义列表

*

* @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中配置路由:

[javascript]
view plain
copy








$stateProvider

.state('processList', {

url: "/processList",

views: {

'view': {

templateUrl: 'activi_views/processList.html',

controller: 'processCtr'

}

}

});

(2)逻辑相关代码:

[javascript]
view plain
copy








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.对应的流程定义列表的页面:

[html]
view plain
copy








<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.页面示图如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: