Parcourir la source

common 服务加入工作流 activiti6.0 功能

wuxw il y a 6 ans
Parent
commit
9e1839a7ec

+ 10 - 0
CommonService/docker/Dockerfile

@@ -0,0 +1,10 @@
+FROM registry.cn-beijing.aliyuncs.com/sxd/ubuntu-java8:1.0
+MAINTAINER wuxw <928255095@qq.com>
+
+
+ADD bin/start_common.sh /root/
+
+
+RUN chmod u+x /root/start_common.sh
+
+CMD ["/root/start_common.sh","dev"]

+ 14 - 0
CommonService/docker/bin/start_common.sh

@@ -0,0 +1,14 @@
+#!/bin/bash
+#### debug model prod
+#nohup java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n -jar -Dspring.profiles.active=dev target/CommonService.jar > common.log 2>&1 &
+
+#### normal prod model
+#nohup java -jar -Dspring.profiles.active=prod target/CommonService.jar > common.log 2>&1 &
+
+#### normal test model
+#nohup java -jar -Dspring.profiles.active=test target/CommonService.jar > common.log 2>&1 &
+
+#### normal dev model
+nohup java -jar -Dspring.profiles.active=$1 target/CommonService.jar > common.log 2>&1 &
+
+tail -100f common.log

+ 25 - 0
CommonService/docker/docker-compose.yml

@@ -0,0 +1,25 @@
+version: '2'
+services:
+   commonserivce:
+       container_name: commonserivce-1
+       build:
+          context: .
+          dockerfile: Dockerfile
+       restart: always
+       ports:
+       - "8009:8009"
+       volumes:
+       - ../target/CommonService.jar:/root/target/CommonService.jar
+       networks:
+       - java110-net
+#       mem_limit: 1024m
+#       extra_hosts:
+#       - "dev.java110.com:192.168.1.18"
+#       - "dev.db.java110.com:192.168.1.18"
+#       - "dev.zk.java110.com:192.168.1.18"
+#       - "dev.kafka.java110.com:192.168.1.18"
+#       - "dev.redis.java110.com:192.168.1.18"
+#       - "api.java110.com:92.168.1.18"
+networks:
+  java110-net:
+    external: true

+ 11 - 0
CommonService/docker/onStart.sh

@@ -0,0 +1,11 @@
+#!/bin/bash
+
+cp -r ../bin .
+
+cp  -r ../target .
+
+docker build -t java110/common .
+
+docker run -ti --name common_test -p8006:8006 -idt java110/common:latest
+
+docker logs -f common_test

+ 4 - 0
CommonService/pom.xml

@@ -31,6 +31,10 @@
             <groupId>com.java110</groupId>
             <artifactId>java110-event</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.activiti</groupId>
+            <artifactId>activiti-spring</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

+ 8 - 1
CommonService/src/main/java/com/java110/common/CommonServiceApplicationStart.java

@@ -1,5 +1,6 @@
 package com.java110.common;
 
+import com.java110.common.activity.DeploymentActivity;
 import com.java110.core.annotation.Java110ListenerDiscovery;
 import com.java110.event.service.BusinessServiceDataFlowEventPublishing;
 import com.java110.service.init.ServiceStartInit;
@@ -7,6 +8,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
 import org.springframework.boot.web.client.RestTemplateBuilder;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 import org.springframework.cloud.client.loadbalancer.LoadBalanced;
@@ -29,7 +31,9 @@ import java.nio.charset.Charset;
  * @tag
  */
 @SpringBootApplication(scanBasePackages = {"com.java110.service", "com.java110.common",
-        "com.java110.core", "com.java110.cache", "com.java110.config.properties.code","com.java110.db"})
+        "com.java110.core", "com.java110.cache", "com.java110.config.properties.code", "com.java110.db"},
+        exclude = {LiquibaseAutoConfiguration.class,
+                org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class})
 @EnableDiscoveryClient
 @Java110ListenerDiscovery(listenerPublishClass = BusinessServiceDataFlowEventPublishing.class,
         basePackages = {"com.java110.service.common.listener"})
@@ -67,5 +71,8 @@ public class CommonServiceApplicationStart {
     public static void main(String[] args) throws Exception {
         ApplicationContext context = SpringApplication.run(CommonServiceApplicationStart.class, args);
         ServiceStartInit.initSystemConfig(context);
+
+        //初始化 activity 流程
+        //DeploymentActivity.deploymentProcess();
     }
 }

+ 88 - 0
CommonService/src/main/java/com/java110/common/activity/ActivitiConfig.java

@@ -0,0 +1,88 @@
+package com.java110.common.activity;
+
+import org.activiti.engine.HistoryService;
+import org.activiti.engine.RepositoryService;
+import org.activiti.engine.RuntimeService;
+import org.activiti.engine.TaskService;
+import org.activiti.spring.ProcessEngineFactoryBean;
+import org.activiti.spring.SpringProcessEngineConfiguration;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.transaction.PlatformTransactionManager;
+
+import javax.sql.DataSource;
+import java.io.IOException;
+
+/**
+ * @ClassName ActivitiConfig
+ * @Description TODO
+ * @Author wuxw
+ * @Date 2019/10/22 21:55
+ * @Version 1.0
+ * add by wuxw 2019/10/22
+ **/
+@Configuration
+public class ActivitiConfig  {
+
+
+    @Autowired
+    private DataSource dataSource;
+
+    @Autowired
+    private PlatformTransactionManager platformTransactionManager;
+
+   /* @Override
+    public void configure(SpringProcessEngineConfiguration springProcessEngineConfiguration) {
+        springProcessEngineConfiguration.setIdGenerator(new ActivityIdGenerator());
+    }*/
+
+
+    @Bean
+    public SpringProcessEngineConfiguration springProcessEngineConfiguration() {
+        SpringProcessEngineConfiguration spec = new SpringProcessEngineConfiguration();
+        spec.setDataSource(dataSource);
+        spec.setTransactionManager(platformTransactionManager);
+        spec.setDatabaseSchemaUpdate("true");
+        Resource[] resources = null;
+        // 启动自动部署流程
+        try {
+            resources = new PathMatchingResourcePatternResolver().getResources("classpath*:processes/*.bpmn");
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        spec.setDeploymentResources(resources);
+        return spec;
+    }
+
+    @Bean
+    public ProcessEngineFactoryBean processEngine() {
+        ProcessEngineFactoryBean processEngineFactoryBean = new ProcessEngineFactoryBean();
+        processEngineFactoryBean.setProcessEngineConfiguration(springProcessEngineConfiguration());
+        return processEngineFactoryBean;
+    }
+
+
+    @Bean
+    public RepositoryService repositoryService() throws Exception {
+        return processEngine().getObject().getRepositoryService();
+    }
+
+    @Bean
+    public RuntimeService runtimeService() throws Exception {
+        return processEngine().getObject().getRuntimeService();
+    }
+
+    @Bean
+    public TaskService taskService() throws Exception {
+        return processEngine().getObject().getTaskService();
+    }
+
+    @Bean
+    public HistoryService historyService() throws Exception {
+        return processEngine().getObject().getHistoryService();
+    }
+
+}

+ 31 - 0
CommonService/src/main/java/com/java110/common/activity/ActivityIdGenerator.java

@@ -0,0 +1,31 @@
+package com.java110.common.activity;
+
+import org.activiti.engine.impl.cfg.IdGenerator;
+
+import java.util.UUID;
+
+/**
+ * @ClassName ActivityIdGenerator
+ * @Description TODO
+ * @Author wuxw
+ * @Date 2019/10/22 21:56
+ * @Version 1.0
+ * add by wuxw 2019/10/22
+ **/
+public class ActivityIdGenerator implements IdGenerator {
+    /**
+     * 封装JDK自带的UUID, 通过Random数字生成, 中间无-分割.
+     */
+    public static String uuid() {
+        return UUID.randomUUID().toString().replaceAll("-", "");
+    }
+
+    /**
+     * Activiti ID 生成
+     */
+    @Override
+    public String getNextId() {
+        return uuid();
+    }
+
+}

+ 23 - 0
CommonService/src/main/java/com/java110/common/activity/DeploymentActivity.java

@@ -0,0 +1,23 @@
+package com.java110.common.activity;
+
+import com.java110.utils.factory.ApplicationContextFactory;
+import org.activiti.engine.ProcessEngine;
+import org.activiti.engine.RepositoryService;
+
+/**
+ * 初始化 activity 流程信息
+ */
+public class DeploymentActivity {
+
+    public static void deploymentProcess() {
+
+        ProcessEngine processEngine = ApplicationContextFactory.getBean("processEngine", ProcessEngine.class);
+
+        RepositoryService repositoryService = processEngine.getRepositoryService();
+        repositoryService.createDeployment()
+                .name("采购申请流程")
+                .addClasspathResource("processes/resourceEntryStore.bpmn").deploy();
+
+
+    }
+}

+ 129 - 0
CommonService/src/main/java/com/java110/common/smo/impl/ResourceEntryStoreInnerServiceSMOImpl.java

@@ -0,0 +1,129 @@
+package com.java110.common.smo.impl;
+
+
+import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.core.smo.common.IResourceEntryStoreInnerServiceSMO;
+import org.activiti.engine.ProcessEngine;
+import org.activiti.engine.RuntimeService;
+import org.activiti.engine.TaskService;
+import org.activiti.engine.runtime.ProcessInstance;
+import org.activiti.engine.task.Task;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+//@Service("resourceEntryStoreSMOImpl")
+@RestController
+public class ResourceEntryStoreInnerServiceSMOImpl extends BaseServiceSMO implements IResourceEntryStoreInnerServiceSMO {
+
+    @Autowired
+    private ProcessEngine processEngine;
+
+    @Autowired
+    private RuntimeService runtimeService;
+
+    @Autowired
+    private TaskService taskService;
+
+
+    /**
+     * 启动流程
+     *
+     * @return
+     */
+    public String startProcess() {
+        //将信息加入map,以便传入流程中
+        Map<String, Object> variables = new HashMap<String, Object>();
+        variables.put("employeeName", "廉斌");
+        variables.put("day", 10);
+        //开启流程
+        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("resourceEntry", variables);
+        //将得到的实例流程id值赋给之前设置的变量
+        String processInstanceId = processInstance.getId();
+        System.out.println("流程开启成功.......实例流程id:" + processInstanceId);
+
+        return processInstanceId;
+    }
+
+    public void getTaskAndComplete(String processInstanceId) {
+        //获取taskservice实例
+        TaskService taskService = processEngine.getTaskService();
+
+        //开始进行流程
+        while (this.processEngine.getRuntimeService()
+                .createProcessInstanceQuery()//获取查询对象
+                .processInstanceId(processInstanceId)//根据id查询流程实例
+                .singleResult()//获取查询结果,如果为空,说明这个流程已经执行完毕,否则,获取任务并执行
+                != null) {
+            Task task = taskService.createTaskQuery()//创建查询对象
+                    .processInstanceId(processInstanceId)//通过流程实例id来查询当前任务
+                    .singleResult();//获取单个查询结果
+            String taskName = task.getName();
+            if (taskName.equals("StartEvent")) {//职员节点
+                completeEmployeeTask(task);
+            } else if (taskName.equals("departmentManager")) {//领导节点
+                completeLeaderTask(task);
+            } else {//经理节点
+                completeJingliTask(task);
+            }
+        }
+
+        System.out.println("审核结束..........");
+    }
+
+
+    //职员提交申请
+    public void completeEmployeeTask(Task task) {
+        //获取任务id
+        String taskId = task.getId();
+
+        //完成任务
+        this.processEngine.getTaskService().complete(taskId);
+        System.out.println("职员已经提交申请.......");
+
+    }
+
+    //领导审批
+    public void completeLeaderTask(Task task) {
+        //获取任务id
+        String taskId = task.getId();
+
+        //领导意见
+        Map<String, Object> variables = new HashMap<String, Object>();
+        //variables.put("day",4);
+        variables.put("leaderResult", 1);
+        //完成任务
+        this.processEngine.getTaskService().complete(taskId, variables);
+        System.out.println("领导审核完毕........");
+
+    }
+
+    //经理审批
+    public void completeJingliTask(Task task) {
+        //获取任务id
+        String taskId = task.getId();
+        String name = task.getName();
+        //经理意见
+        Map<String, Object> variables = new HashMap<String, Object>();
+        variables.put("result", 0);
+        //完成任务
+        this.processEngine.getTaskService().complete(taskId, variables);
+        System.out.println("经理审核完毕........,审核经理:" + name);
+
+    }
+
+    /**
+     *
+     * <p>描述: 根据用户id查询待办任务列表</p>
+     * @author 范相如
+     * @date 2018年2月25日
+     */
+    public List<Task> findTasksByUserId(String userId) {
+        List<Task> resultTask = taskService.createTaskQuery().processDefinitionKey("demo5").taskCandidateOrAssigned(userId).list();
+        return resultTask;
+    }
+}

+ 7 - 0
CommonService/src/main/resources/application-dev.yml

@@ -44,6 +44,13 @@ spring:
       max-idle: 100
       min-idle: 0
       timeout: 0
+  activiti:
+    database-schema-update: true
+#  false:false为默认值,设置为该值后,Activiti在启动时,会对比数据库表中保存的版本,如果版本不匹配时,将在启动时抛出异常。
+#  true:设置为该值后,Activiti会对数据库中所有的表进行更新,如果表不存在,则Activiti会自动创建。
+#  create-drop:Activiti启动时,会执行数据库表的创建操作,在Activiti关闭时,执行数据库表的删除操作。
+#  drop-create:Activiti启动时,执行数据库表的删除操作在Activiti关闭时,会执行数据库表的创建操作。
+
 #  datasource:
 #    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
 #    minIdle: 5

+ 2 - 0
CommonService/src/main/resources/application-prod.yml

@@ -62,6 +62,8 @@ spring:
     driverClassName: com.mysql.jdbc.Driver
     maxActive: 20
     username: TT
+  activiti:
+    database-schema-update: true
 
 #============== kafka ===================
 kafka:

+ 2 - 0
CommonService/src/main/resources/application-test.yml

@@ -62,6 +62,8 @@ spring:
     driverClassName: com.mysql.jdbc.Driver
     maxActive: 20
     username: TT
+  activiti:
+    database-schema-update: true
 
 #============== kafka ===================
 kafka:

Fichier diff supprimé car celui-ci est trop grand
+ 69 - 0
CommonService/src/main/resources/processes/resourceEntryStore.bpmn


+ 2 - 0
CommunityService/pom.xml

@@ -32,6 +32,8 @@
             <groupId>com.java110</groupId>
             <artifactId>java110-event</artifactId>
         </dependency>
+
+
     </dependencies>
 
     <build>

+ 46 - 46
WebService/src/main/resources/components/auditPackage/audit/audit.js

@@ -1,88 +1,88 @@
-(function(vc){
+(function (vc) {
 
     vc.extends({
         propTypes: {
-               callBackListener:vc.propTypes.string, //父组件名称
-               callBackFunction:vc.propTypes.string //父组件监听方法
+            callBackListener: vc.propTypes.string, //父组件名称
+            callBackFunction: vc.propTypes.string //父组件监听方法
         },
-        data:{
-            auditInfo:{
-                state:'',
-                remark:''
+        data: {
+            auditInfo: {
+                state: '',
+                remark: ''
             }
         },
-        watch:{
-            "auditInfo.state":{//深度监听,可监听到对象、数组的变化
-                handler(val, oldVal){
-                    if(vc.notNull(val) && vc.component.auditInfo.state == '1100'){
+        watch: {
+            "auditInfo.state": {//深度监听,可监听到对象、数组的变化
+                handler(val, oldVal) {
+                    if (vc.notNull(val) && vc.component.auditInfo.state == '1100') {
                         vc.component.auditInfo.remark = "同意";
-                    }else{
+                    } else {
                         vc.component.auditInfo.remark = "";
                     }
 
                 },
-                deep:true
+                deep: true
             }
-         },
-         _initMethod:function(){
+        },
+        _initMethod: function () {
 
-         },
-         _initEvent:function(){
-            vc.on('audit','openAuditModal',function(){
+        },
+        _initEvent: function () {
+            vc.on('audit', 'openAuditModal', function () {
                 $('#auditModel').modal('show');
             });
         },
-        methods:{
-            auditValidate(){
+        methods: {
+            auditValidate() {
                 return vc.validate.validate({
-                    auditInfo:vc.component.auditInfo
-                },{
-                    'auditInfo.state':[
+                    auditInfo: vc.component.auditInfo
+                }, {
+                    'auditInfo.state': [
                         {
-                            limit:"required",
-                            param:"",
-                            errInfo:"审核状态不能为空"
+                            limit: "required",
+                            param: "",
+                            errInfo: "审核状态不能为空"
                         },
                         {
-                            limit:"num",
-                            param:"",
-                            errInfo:"审核状态错误"
+                            limit: "num",
+                            param: "",
+                            errInfo: "审核状态错误"
                         },
                     ],
-                    'auditInfo.remark':[
+                    'auditInfo.remark': [
                         {
-                            limit:"required",
-                            param:"",
-                            errInfo:"原因内容不能为空"
+                            limit: "required",
+                            param: "",
+                            errInfo: "原因内容不能为空"
                         },
                         {
-                            limit:"maxLength",
-                            param:"200",
-                            errInfo:"原因内容不能超过200"
+                            limit: "maxLength",
+                            param: "200",
+                            errInfo: "原因内容不能超过200"
                         },
                     ]
                 });
             },
-            _auditSubmit:function(){
-                if(!vc.component.auditValidate()){
+            _auditSubmit: function () {
+                if (!vc.component.auditValidate()) {
                     vc.message(vc.validate.errInfo);
-                    return ;
+                    return;
                 }
                 //不提交数据将数据 回调给侦听处理
-                if(vc.notNull($props.callBackListener)){
-                    vc.emit($props.callBackListener,$props.callBackFunction,vc.component.auditInfo);
+                if (vc.notNull($props.callBackListener)) {
+                    vc.emit($props.callBackListener, $props.callBackFunction, vc.component.auditInfo);
                     $('#auditModel').modal('hide');
 
                     vc.component.clearAddBasePrivilegeInfo();
-                    return ;
+                    return;
                 }
 
 
             },
-            clearAddBasePrivilegeInfo:function(){
-                vc.component.auditInfo={
-                             state:'',
-                             remark:''
+            clearAddBasePrivilegeInfo: function () {
+                vc.component.auditInfo = {
+                    state: '',
+                    remark: ''
                 }
             }
         }

+ 60 - 62
WebService/src/main/resources/components/basePrivilegePackage/add-basePrivilege/addBasePrivilege.js

@@ -1,82 +1,80 @@
-(function(vc){
+(function (vc) {
 
     vc.extends({
         propTypes: {
-               callBackListener:vc.propTypes.string, //父组件名称
-               callBackFunction:vc.propTypes.string //父组件监听方法
+            callBackListener: vc.propTypes.string, //父组件名称
+            callBackFunction: vc.propTypes.string //父组件监听方法
         },
-        data:{
-            addBasePrivilegeInfo:{
-                pId:'',
-                name:'',
-domain:'',
-description:'',
+        data: {
+            addBasePrivilegeInfo: {
+                pId: '',
+                name: '',
+                domain: '',
+                description: '',
 
             }
         },
-         _initMethod:function(){
+        _initMethod: function () {
 
-         },
-         _initEvent:function(){
-            vc.on('addBasePrivilege','openAddBasePrivilegeModal',function(){
+        },
+        _initEvent: function () {
+            vc.on('addBasePrivilege', 'openAddBasePrivilegeModal', function () {
                 $('#addBasePrivilegeModel').modal('show');
             });
         },
-        methods:{
-            addBasePrivilegeValidate(){
+        methods: {
+            addBasePrivilegeValidate() {
                 return vc.validate.validate({
-                    addBasePrivilegeInfo:vc.component.addBasePrivilegeInfo
-                },{
-                    'addBasePrivilegeInfo.name':[
-{
-                            limit:"required",
-                            param:"",
-                            errInfo:"权限名称不能为空"
+                    addBasePrivilegeInfo: vc.component.addBasePrivilegeInfo
+                }, {
+                    'addBasePrivilegeInfo.name': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "权限名称不能为空"
                         },
- {
-                            limit:"maxin",
-                            param:"2,10",
-                            errInfo:"权限名称必须在2至10字符之间"
+                        {
+                            limit: "maxin",
+                            param: "2,10",
+                            errInfo: "权限名称必须在2至10字符之间"
                         },
                     ],
-'addBasePrivilegeInfo.domain':[
-{
-                            limit:"required",
-                            param:"",
-                            errInfo:"商户类型不能为空"
+                    'addBasePrivilegeInfo.domain': [
+                        {
+                            limit: "required",
+                            param: "",
+                            errInfo: "商户类型不能为空"
                         },
- {
-                            limit:"maxin",
-                            param:"1,12",
-                            errInfo:"商户类型错误"
+                        {
+                            limit: "maxin",
+                            param: "1,12",
+                            errInfo: "商户类型错误"
                         },
                     ],
-'addBasePrivilegeInfo.description':[
- {
-                            limit:"maxLength",
-                            param:"200",
-                            errInfo:"备注内容不能超过200"
+                    'addBasePrivilegeInfo.description': [
+                        {
+                            limit: "maxLength",
+                            param: "200",
+                            errInfo: "备注内容不能超过200"
                         },
                     ],
 
 
-
-
                 });
             },
-            saveBasePrivilegeInfo:function(){
-                if(!vc.component.addBasePrivilegeValidate()){
+            saveBasePrivilegeInfo: function () {
+                if (!vc.component.addBasePrivilegeValidate()) {
                     vc.message(vc.validate.errInfo);
 
-                    return ;
+                    return;
                 }
 
                 vc.component.addBasePrivilegeInfo.communityId = vc.getCurrentCommunity().communityId;
                 //不提交数据将数据 回调给侦听处理
-                if(vc.notNull($props.callBackListener)){
-                    vc.emit($props.callBackListener,$props.callBackFunction,vc.component.addBasePrivilegeInfo);
+                if (vc.notNull($props.callBackListener)) {
+                    vc.emit($props.callBackListener, $props.callBackFunction, vc.component.addBasePrivilegeInfo);
                     $('#addBasePrivilegeModel').modal('hide');
-                    return ;
+                    return;
                 }
 
                 vc.http.post(
@@ -84,35 +82,35 @@ description:'',
                     'save',
                     JSON.stringify(vc.component.addBasePrivilegeInfo),
                     {
-                        emulateJSON:true
-                     },
-                     function(json,res){
+                        emulateJSON: true
+                    },
+                    function (json, res) {
                         //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
-                        if(res.status == 200){
+                        if (res.status == 200) {
                             //关闭model
                             $('#addBasePrivilegeModel').modal('hide');
                             vc.component.clearAddBasePrivilegeInfo();
-                            vc.emit('basePrivilegeManage','listBasePrivilege',{});
+                            vc.emit('basePrivilegeManage', 'listBasePrivilege', {});
 
-                            return ;
+                            return;
                         }
                         vc.message(json);
 
-                     },
-                     function(errInfo,error){
+                    },
+                    function (errInfo, error) {
                         console.log('请求失败处理');
 
                         vc.message(errInfo);
 
-                     });
+                    });
             },
-            clearAddBasePrivilegeInfo:function(){
+            clearAddBasePrivilegeInfo: function () {
                 vc.component.addBasePrivilegeInfo = {
-                                            name:'',
-domain:'',
-description:'',
+                    name: '',
+                    domain: '',
+                    description: '',
 
-                                        };
+                };
             }
         }
     });

+ 53 - 53
WebService/src/main/resources/components/basePrivilegePackage/basePrivilege-manage/basePrivilegeManage.js

@@ -1,86 +1,86 @@
 /**
-    入驻小区
-**/
-(function(vc){
+ 入驻小区
+ **/
+(function (vc) {
     var DEFAULT_PAGE = 1;
     var DEFAULT_ROWS = 10;
     vc.extends({
-        data:{
-            basePrivilegeManageInfo:{
-                basePrivileges:[],
-                total:0,
-                records:1,
-                moreCondition:false,
-                name:'',
-                conditions:{
-                    name:'',
-pId:'',
-domain:'',
+        data: {
+            basePrivilegeManageInfo: {
+                basePrivileges: [],
+                total: 0,
+                records: 1,
+                moreCondition: false,
+                name: '',
+                conditions: {
+                    name: '',
+                    pId: '',
+                    domain: '',
 
                 }
             }
         },
-        _initMethod:function(){
+        _initMethod: function () {
             vc.component._listBasePrivileges(DEFAULT_PAGE, DEFAULT_ROWS);
         },
-        _initEvent:function(){
-            
-            vc.on('basePrivilegeManage','listBasePrivilege',function(_param){
-                  vc.component._listBasePrivileges(DEFAULT_PAGE, DEFAULT_ROWS);
+        _initEvent: function () {
+
+            vc.on('basePrivilegeManage', 'listBasePrivilege', function (_param) {
+                vc.component._listBasePrivileges(DEFAULT_PAGE, DEFAULT_ROWS);
             });
-             vc.on('pagination','page_event',function(_currentPage){
-                vc.component._listBasePrivileges(_currentPage,DEFAULT_ROWS);
+            vc.on('pagination', 'page_event', function (_currentPage) {
+                vc.component._listBasePrivileges(_currentPage, DEFAULT_ROWS);
             });
         },
-        methods:{
-            _listBasePrivileges:function(_page, _rows){
+        methods: {
+            _listBasePrivileges: function (_page, _rows) {
 
                 vc.component.basePrivilegeManageInfo.conditions.page = _page;
                 vc.component.basePrivilegeManageInfo.conditions.row = _rows;
                 var param = {
-                    params:vc.component.basePrivilegeManageInfo.conditions
-               };
+                    params: vc.component.basePrivilegeManageInfo.conditions
+                };
 
-               //发送get请求
-               vc.http.get('basePrivilegeManage',
-                            'list',
-                             param,
-                             function(json,res){
-                                var _basePrivilegeManageInfo=JSON.parse(json);
-                                vc.component.basePrivilegeManageInfo.total = _basePrivilegeManageInfo.total;
-                                vc.component.basePrivilegeManageInfo.records = _basePrivilegeManageInfo.records;
-                                vc.component.basePrivilegeManageInfo.basePrivileges = _basePrivilegeManageInfo.basePrivileges;
-                                vc.emit('pagination','init',{
-                                     total:vc.component.basePrivilegeManageInfo.records,
-                                     currentPage:_page
-                                 });
-                             },function(errInfo,error){
-                                console.log('请求失败处理');
-                             }
-                           );
+                //发送get请求
+                vc.http.get('basePrivilegeManage',
+                    'list',
+                    param,
+                    function (json, res) {
+                        var _basePrivilegeManageInfo = JSON.parse(json);
+                        vc.component.basePrivilegeManageInfo.total = _basePrivilegeManageInfo.total;
+                        vc.component.basePrivilegeManageInfo.records = _basePrivilegeManageInfo.records;
+                        vc.component.basePrivilegeManageInfo.basePrivileges = _basePrivilegeManageInfo.basePrivileges;
+                        vc.emit('pagination', 'init', {
+                            total: vc.component.basePrivilegeManageInfo.records,
+                            currentPage: _page
+                        });
+                    }, function (errInfo, error) {
+                        console.log('请求失败处理');
+                    }
+                );
             },
-            _openAddBasePrivilegeModal:function(){
-                vc.emit('addBasePrivilege','openAddBasePrivilegeModal',{});
+            _openAddBasePrivilegeModal: function () {
+                vc.emit('addBasePrivilege', 'openAddBasePrivilegeModal', {});
             },
-            _openEditBasePrivilegeModel:function(_basePrivilege){
-                vc.emit('editBasePrivilege','openEditBasePrivilegeModal',_basePrivilege);
+            _openEditBasePrivilegeModel: function (_basePrivilege) {
+                vc.emit('editBasePrivilege', 'openEditBasePrivilegeModal', _basePrivilege);
             },
-            _openDeleteBasePrivilegeModel:function(_basePrivilege){
-                vc.emit('deleteBasePrivilege','openDeleteBasePrivilegeModal',_basePrivilege);
+            _openDeleteBasePrivilegeModel: function (_basePrivilege) {
+                vc.emit('deleteBasePrivilege', 'openDeleteBasePrivilegeModal', _basePrivilege);
             },
-            _queryBasePrivilegeMethod:function(){
+            _queryBasePrivilegeMethod: function () {
                 vc.component._listBasePrivileges(DEFAULT_PAGE, DEFAULT_ROWS);
 
             },
-            _moreCondition:function(){
-                if(vc.component.basePrivilegeManageInfo.moreCondition){
+            _moreCondition: function () {
+                if (vc.component.basePrivilegeManageInfo.moreCondition) {
                     vc.component.basePrivilegeManageInfo.moreCondition = false;
-                }else{
+                } else {
                     vc.component.basePrivilegeManageInfo.moreCondition = true;
                 }
             }
 
-             
+
         }
     });
 })(window.vc);

+ 28 - 0
java110-core/src/main/java/com/java110/core/smo/common/IResourceEntryStoreInnerServiceSMO.java

@@ -0,0 +1,28 @@
+package com.java110.core.smo.common;
+
+import com.java110.core.feign.FeignConfiguration;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+@FeignClient(name = "common-service", configuration = {FeignConfiguration.class})
+@RequestMapping("/commonApi")
+public interface IResourceEntryStoreInnerServiceSMO {
+
+
+    /**
+     * <p>启动流程</p>
+     *
+     *
+     * @return CommunityDto 对象数据
+     */
+    @RequestMapping(value = "/startProcess", method = RequestMethod.GET)
+    public String startProcess();
+
+    /**
+     * 完成任务
+     * @param processInstanceId
+     */
+    @RequestMapping(value = "/getTaskAndComplete", method = RequestMethod.GET)
+    public void getTaskAndComplete(String processInstanceId);
+}

+ 20 - 2
pom.xml

@@ -436,13 +436,13 @@
                 <version>4.0.3</version>
             </dependency>
 
-            <!--flowable工作流依赖-->
+            <!--flowable工作流依赖
             <dependency>
                 <groupId>org.flowable</groupId>
                 <artifactId>flowable-spring-boot-starter</artifactId>
                 <version>6.4.1</version>
             </dependency>
-
+            -->
             <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
             <dependency>
                 <groupId>org.jsoup</groupId>
@@ -469,6 +469,24 @@
                 <version>3.17</version>
             </dependency>
 
+            <dependency>
+                <groupId>org.activiti</groupId>
+                <artifactId>activiti-spring</artifactId>
+                <version>6.0.0</version>
+            </dependency>
+
+            <!--<dependency>
+                <groupId>org.activiti</groupId>
+                <artifactId>activiti-modeler</artifactId>
+                <version>5.22.0</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>org.activiti</groupId>
+                        <artifactId>activiti-bpmn-model</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>-->
+
         </dependencies>
 
     </dependencyManagement>