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

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


2.后台业务代码,
  (1)自定义的流程定义实体类:
[java]  view plain  copy
 
  1. package model;  
  2.   
  3.   
  4. public class processModel {  
  5.     private String id;  
  6.     private String deploymentId;  
  7.     private String key;  
  8.     private String resourceName;  
  9.     private int version;  
  10.     private String name;  
  11.     private String diagramResourceName;  
  12.   
  13.   
  14.     public String getName() {  
  15.         return name;  
  16.     }  
  17.   
  18.   
  19.     public void setName(String name) {  
  20.         this.name = name;  
  21.     }  
  22.   
  23.   
  24.     public String getDiagramResourceName() {  
  25.         return diagramResourceName;  
  26.     }  
  27.   
  28.   
  29.     public void setDiagramResourceName(String diagramResourceName) {  
  30.         this.diagramResourceName = diagramResourceName;  
  31.     }  
  32.   
  33.   
  34.     public String getId() {  
  35.         return id;  
  36.     }  
  37.   
  38.   
  39.     public void setId(String id) {  
  40.         this.id = id;  
  41.     }  
  42.   
  43.   
  44.     public String getDeploymentId() {  
  45.         return deploymentId;  
  46.     }  
  47.   
  48.   
  49.     public void setDeploymentId(String deploymentId) {  
  50.         this.deploymentId = deploymentId;  
  51.     }  
  52.   
  53.   
  54.     public String getKey() {  
  55.         return key;  
  56.     }  
  57.   
  58.   
  59.     public void setKey(String key) {  
  60.         this.key = key;  
  61.     }  
  62.   
  63.   
  64.     public String getResourceName() {  
  65.         return resourceName;  
  66.     }  
  67.   
  68.   
  69.     public void setResourceName(String resourceName) {  
  70.         this.resourceName = resourceName;  
  71.     }  
  72.   
  73.   
  74.     public int getVersion() {  
  75.         return version;  
  76.     }  
  77.   
  78.   
  79.     public void setVersion(int version) {  
  80.         this.version = version;  
  81.     }  
  82.   
  83.   
  84.     @Override  
  85.     public String toString() {  
  86.         return "processModel [id=" + id + ", deploymentId=" + deploymentId  
  87.                 + ", key=" + key + ", resourceName=" + resourceName  
  88.                 + ", version=" + version + ", name=" + name  
  89.                 + ", diagramResourceName=" + diagramResourceName + "]";  
  90.     }  
  91.   
  92.   
  93. }  



(2)业务逻辑:
[java]  view plain  copy
 
  1. /** 
  2.      * 流程定义列表 
  3.      *  
  4.      * @author:tuzongxun 
  5.      * @Title: processList 
  6.      * @param @return 
  7.      * @return Object 
  8.      * @date Mar 17, 2016 12:34:10 PM 
  9.      * @throws 
  10.      */  
  11.     @RequestMapping(value = "/processList.do", method = RequestMethod.POST, produces = "application/json;charset=utf-8")  
  12.     @ResponseBody  
  13.     public Object processList(HttpServletRequest req) {  
  14.         Map<String, Object> map = new HashMap<String, Object>();  
  15.         boolean isLogin = this.isLogin(req);  
  16.         if (isLogin) {  
  17.             List<processModel> processList = new ArrayList<processModel>();  
  18.             List<ProcessDefinition> processList1 = repositoryService  
  19.                     .createProcessDefinitionQuery().list();  
  20.             for (ProcessDefinition pro : processList1) {  
  21.                 processModel processModel = new processModel();  
  22.                 processModel.setDeploymentId(pro.getDeploymentId());  
  23.                 processModel.setId(pro.getId());  
  24.                 processModel.setKey(pro.getKey());  
  25.                 processModel.setResourceName(pro.getResourceName());  
  26.                 processModel.setVersion(pro.getVersion());  
  27.                 processModel.setName(pro.getName());  
  28.                 processModel.setDiagramResourceName(pro  
  29.                         .getDiagramResourceName());  
  30.                 processList.add(processModel);  
  31.   
  32.   
  33.             }  
  34.             map.put("isLogin""yes");  
  35.             map.put("userName",  
  36.                     (String) req.getSession().getAttribute("userName"));  
  37.             map.put("result""success");  
  38.             map.put("data", processList);  
  39.         } else {  
  40.             map.put("isLogin""no");  
  41.         }  
  42.         return map;  
  43.     }  


3.angular js前台代码,:
  (1)app.js中配置路由:
   
[javascript]  view plain  copy
 
  1. $stateProvider    
  2.   .state('processList', {    
  3.   url: "/processList",    
  4.   views: {    
  5.      'view': {    
  6.       templateUrl: 'activi_views/processList.html',    
  7.       controller: 'processCtr'    
  8.      }    
  9.   }    
  10.  });    


  (2)逻辑相关代码:

     
[javascript]  view plain  copy
 
  1. angular.module('activitiApp')    
  2. .controller('processCtr', ['$rootScope','$scope','$http','$location'function($rootScope,$scope,$http,$location){    
  3. $scope.init=function(){  
  4.         $http.post("./processList.do").success(function(result) {  
  5.             if(result.isLogin==="yes"){  
  6.             console.log(result.data);   
  7.             $rootScope.userName=result.userName;  
  8.             $scope.processList=result.data;  
  9.             }else{  
  10.                 $location.path("/login");  
  11.             }  
  12.         });  
  13. }       
  14.         //这个方法主要是为下一节,启动流程实例时使用  
  15.         $scope.toProcess=function(process){  
  16.             console.log(process);  
  17.             $http.post("./startProcess.do",process).success(function(deployResult){  
  18.                 $rootScope.process=process;  
  19.                 $location.path("/startProcess");  
  20.             });  
  21.         }  
  22.           
  23.     
  24. }])    


4.对应的流程定义列表的页面:
[html]  view plain  copy
 
  1. <div id="logdiv1" ng-init="init();">   
  2.     <p style="font-size:24px;margin-top:10px">模型列表</p>   
  3.     <center>   
  4.    <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">  
  5.       <tr style="background-color:#ccc">  
  6.          <td>ID</td>  
  7.          <td>NAME</td>  
  8.          <td>KEY</td>  
  9.          <td>描 述</td>  
  10.          <td>版本</td>  
  11.          <td>创建时间</td>  
  12.          <td>修改时间</td>  
  13.          <td>操 作</td>  
  14.       </tr>  
  15.       <tr ng-repeat="model in modelList | orderBy:'id'" >  
  16.          <td>{{model.id}}</td>  
  17.          <td>{{model.name}}</td>  
  18.          <td>{{model.key}}</td>  
  19.          <td>{{model.metaInfo}}</td>  
  20.          <td>{{model.version}}</td>  
  21.          <td>{{model.createTime | date:"yyyy-MM-dd HH:mm:ss"}}</td>  
  22.          <td>{{model.lastUpdateTime | date:"yyyy-MM-dd HH:mm:ss"}}</td>  
  23.          <td><a href="script:;" ng-click="deploye(model)">部署</a>   
  24.          <a href="script:;" ng-click="delete(model)">删除</a>   
  25.          <a href="script:;" ng-click="update(model.id)">修改</a>  
  26.          </td>  
  27.       </tr>  
  28.    </table>    
  29.    </center>   
  30. </div>    


5.页面示图如下:

activiti自定义流程之Spring整合activiti-modeler实例(五):流程定义列表_第1张图片

你可能感兴趣的:(java,spring,Activiti,modeler,流程定义)