From af73b1917e58e37daaa3e63f5303da1056cedfa3 Mon Sep 17 00:00:00 2001
From: wang1 <844966816@qq.com>
Date: 星期四, 13 七月 2023 18:18:26 +0800
Subject: [PATCH] 修复生命周期调试异常,整理流程代码

---
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/ProcessStageAttrDTO.java            |   32 ++
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/ProcessStageAttrMapper.java            |    2 
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/FlowTaskUser.java                |    3 
 Source/UBCS/ubcs-ops/ubcs-report/src/main/java/com/vci/ubcs/report/config/BladeReportConfiguration.java             |   16 
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/ProcessTemplateService.java           |    2 
 Source/UBCS-WEB/vue.config.js                                                                                       |    6 
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowTaskUserController.java        |    2 
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowTaskUserServiceImpl.java     |    3 
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/ProcessStageAttrServiceImpl.java |    6 
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/VCIFlowController.java             |    2 
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/VICFlowService.java                   |    2 
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IMDMIFlowAttrClient.java          |   55 +++
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java                |   24 -
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/ProcessTemplate.java             |    3 
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowProcessTSController.java       |    9 
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IMDMFlowAttrClientFallback.java   |   41 ++
 Source/UBCS/ubcs-service-api/ubcs-code-api/pom.xml                                                                  |    6 
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/FlowTaskDTO.java                    |    9 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java             |   20 +
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/ProcessStageAttr.java            |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java     |    2 
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/ProcessStageAttrService.java          |    4 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java |   12 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DokingSysManaentServiceImpl.java    |   15 
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/FlowEngineService.java                |    2 
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/FlowTaskUserVO.java                  |   22 -
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java     |    6 
 Source/UBCS/ubcs-service/ubcs-code/pom.xml                                                                          |    6 
 Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/endpoint/OssEndpoint.java                    |    4 
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/ProcessTemplateServiceImpl.java  |    2 
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/FlowTaskVO.java                      |   10 
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java          |    2 
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/ProcessTemplateVO.java               |   18 -
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/MdmUIInfoVO.java            |    3 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java                     |    5 
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/FlowTaskUserDTO.java                |   32 ++
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowModelController.java           |    1 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java                    |    8 
 /dev/null                                                                                                           |  249 ----------------
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/ProcessStageAttrVO.java              |   20 -
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/ProcessTemplateMapper.java             |    3 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java           |   80 +++++
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowEngineServiceImpl.java       |    2 
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/FlowTaskUserService.java              |    4 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java              |   13 
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/ProcessTemplateDTO.java             |   33 ++
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/FlowTaskUserMapper.java                |    2 
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/feign/MDMFlowAttrClient.java                |   67 ++++
 48 files changed, 486 insertions(+), 386 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/template/Stage.vue b/Source/UBCS-WEB/src/components/template/Stage.vue
deleted file mode 100644
index 8fe6216..0000000
--- a/Source/UBCS-WEB/src/components/template/Stage.vue
+++ /dev/null
@@ -1,249 +0,0 @@
-<template>
-    <div>
-        <avue-crud ref="crud" :table-loading="loading" :data="data" :option="option" :page.sync="page"
-            @on-load="getDataList" @size-change="handleSizePage" @current-change="handleCurrentPage"
-            @row-click="handleRowClick">
-            <template slot-scope="{type,size,row,index}" slot="menu">
-                <el-button icon="el-icon-check" :size="size" :type="type"
-                    @click="handleMaintenance(row, index)">缁存姢</el-button>
-            </template>
-        </avue-crud>
-        <el-dialog title="妯℃澘闃舵" width="50%"  append-to-body="true" :visible.sync="dialogNode">
-            <avue-crud ref="crud" :table-loading="loading" :data="stageData" :option="stageOption" @on-load="getStagelist"
-                @row-click="handleRowStageClick">
-                <template slot-scope="{type,size,row,index}" slot="menu">
-                    <el-button icon="el-icon-check" :size="size" :type="type"
-                        @click="handleMaintenanceTransfer(row, index)">缁存姢</el-button>
-                </template>
-            </avue-crud>
-        </el-dialog>
-        <table-transfer v-if="flag" :visible.sync="dialogTransfer" v-model="attributeValue" :dataList="attributeData"
-            :columns="columns" keyName="oid" @save="handleSave" @close="handelClose"></table-transfer>
-    </div>
-</template>
-
-<script>
-import { getFlowpathList, stagelist, attributeListRight, attributeList, attributeSave } from '@/api/template/flowpath.js'
-import TableTransfer from '@/components/template/TableTransfer'
-export default {
-    name: 'Stage',
-    components: {
-        TableTransfer
-    },
-    props: {
-        code: {
-            typeof: String,
-            required: true,
-            default: ""
-        }
-    },
-    watch: {
-
-    },
-    data() {
-        const options = {
-            height: "auto",
-            border: true,
-            addBtn: false,
-            align: 'center',
-            menuAlign: 'center',
-            index: true,
-            searchMenuSpan: 8,
-            searchBtn: false,
-            emptyBtn: false,
-            columnBtn: false,
-            delBtn: false,
-            refreshBtn: false,
-            header: false,
-            editBtn: false,
-        }
-        return {
-            attributeData: [],
-            attributeValue: [],
-            flag: false,
-            dialogTransfer: false,
-            dialogNode: false,
-            visibleTable: false,
-            loading: false,
-            page: {
-                currentPage: 1,
-                pageSize: 10,
-                total: 0
-            },
-            modelKey: '',
-            data: [],
-            stageData: [],
-            saveParam: {},
-            columns: [
-                {
-                    key: "oid",
-                    label: "oid",
-                    visible: false,
-                },
-                {
-                    key: "id",
-                    label: "灞炴�х紪鍙�",
-                    visible: true,
-                },
-                {
-                    key: "name",
-                    label: "灞炴�у悕绉�",
-                    visible: true,
-                },
-                {
-                    key: "attributeGroup",
-                    label: "灞炴�у垎缁�",
-                    visible: true,
-                },
-            ],
-            option: {
-                ...options,
-                column: [
-                    { label: '妯℃澘缂栧彿', prop: 'modelKey' },
-                    { label: '妯℃澘鍚嶇О', prop: 'modelName' },
-                    { label: '鎻忚堪', prop: 'buttonTypeValue' },
-                ]
-            },
-            stageOption: {
-                ...options,
-              height:620,
-                column: [
-                    { label: '闃舵缂栧彿', prop: 'taskId' },
-                    { label: '闃舵鍚嶇О', prop: 'taskName' },
-                ]
-            },
-        }
-    },
-    methods: {
-        setTable(data, list) {
-            return data.map(item => {
-                if (list.length !== 0) {
-                    list.forEach(element => {
-                        if (item.id === element.attrId) item.checked = true
-                    });
-                }
-                return item
-            })
-        },
-        // 鑾峰彇鍒楄〃
-        async getDataList() {
-            this.loading = false
-            const { pageSize, currentPage } = this.page
-            let param = { size: pageSize, current: currentPage }
-            const response = await getFlowpathList({ ...param, ...{ templateId: this.code } })
-            if (response.status === 200) {
-                console.log(response)
-                this.loading = false
-                const data = response.data.data
-                this.data = data.records
-                this.page.total = data.total
-            } else this.loading = false
-        },
-        // 鑾峰彇闃舵鍒楄〃
-        async getStagelist() {
-            this.loading = false
-            console.log(this.modelKey)
-            const response = await stagelist({ modelKey: this.modelKey })
-            if (response.status === 200) {
-                this.loading = false
-                console.log(response.data)
-                this.stageData = response.data.data
-            } else this.loading = false
-        },
-        // 鑾峰彇鍏ㄩ儴灞炴��
-        async getAttributeList() {
-            const response = await attributeList({ 'conditionMap[classifyTemplateOid]': this.code })
-            const responseRight = await attributeListRight({ templateId: this.code, modelKey: this.modelKey, taskId: this.saveParam.taskId })
-            if (response.status === 200 && responseRight.status === 200) {
-                let datas = response.data.data.records
-                let dataRight = responseRight.data.data
-                datas = datas.map(item => {
-                    const { oid, id, name, attributeGroup } = item
-                    item = { oid, id, name, attributeGroup, ...{ checked: false } }
-                    if (dataRight.length !== 0) {
-                        dataRight.forEach(element => { if (item.id === element.attrId) item.checked = true });
-                    }
-                    return item
-                })
-                console.log(datas)
-                let dataValue = datas.map(item => item.checked ? item.oid : undefined)
-                this.attributeValue = dataValue.filter(item => item)
-                this.attributeData = datas
-                this.flag = true
-            }
-        },
-        // 鑾峰彇宸蹭繚瀛樺睘鎬�
-        async getAttributeListRight() {
-            const response = await attributeListRight({ templateId: this.code, modelKey: this.modelKey, taskId: this.saveParam.taskId })
-            if (response.status === 200) {
-                let data = response.data.data
-                data = data.map(item => {
-                    const { attrId, attrName, attrGroup } = item
-                    return { attrId, attrName, attrGroup }
-                })
-                this.listRight = data
-            }
-        },
-        // 缁存姢
-        handleMaintenance(row) {
-            console.log(row)
-            this.dialogNode = true
-            this.modelKey = row.modelKey
-            this.saveParam.modelKey = row.modelKey
-            this.getStagelist()
-        },
-        // 缁存姢
-        handleMaintenanceTransfer(row) {
-            this.saveParam.taskId = row.taskId
-            this.saveParam.taskName = row.taskName
-            this.getAttributeList()
-            this.$nextTick(() => {
-                this.dialogTransfer = true
-            })
-        },
-        handleRowClick(row) {
-            console.log(row)
-            this.modelKey = row.modelKey
-            this.saveParam.modelKey = row.modelKey
-            this.dialogNode = true
-        },
-        handleRowStageClick(row) {
-            this.saveParam.taskId = row.taskId
-            this.saveParam.taskName = row.taskName
-            this.getAttributeList()
-            this.$nextTick(() => {
-                this.dialogTransfer = true
-            })
-        },
-        async handleSave(event) {
-            console.log(event)
-            const data = event.map(item => {
-                const { id, name, attributeGroup } = item
-                return { attrId: id, attrName: name, attrGroup: attributeGroup }
-            })
-            let param = {
-                templateId: this.code,
-                processStageAttr: data,
-                ...this.saveParam
-            }
-            console.log(this.saveParam)
-            console.log(data)
-            const response = await attributeSave(param)
-            if (response.status === 200) {
-                // loading()
-                console.log(response)
-                this.$message({
-                    type: 'success',
-                    message: '鏂板鏁版嵁鎴愬姛锛�'
-                })
-                this.flag = false
-                // done()
-                // this.getDataList()
-            }
-        },
-        handelClose() {
-            this.flag = false
-        }
-    }
-}
-</script>
diff --git a/Source/UBCS-WEB/vue.config.js b/Source/UBCS-WEB/vue.config.js
index ad43a75..6b13b4e 100644
--- a/Source/UBCS-WEB/vue.config.js
+++ b/Source/UBCS-WEB/vue.config.js
@@ -26,12 +26,12 @@
     proxy: {
       '/api': {
         //鏈湴鏈嶅姟鎺ュ彛鍦板潃
-        target: 'http://localhost:37000',
+        // target: 'http://localhost:37000',
         // target: 'http://192.168.1.51:37000',
-        // target: 'http://192.168.1.46:37000',
+        //target: 'http://192.168.1.46:37000',
         // target: 'http://dev.vci-tech.com:37000',
         // target: 'http://192.168.1.51:37000/',
-        // target: 'http://192.168.1.104:37000',
+         target: 'http://192.168.1.104:37000',
         // target: 'http://192.168.1.63:37000',
         // target: 'http://192.168.3.7:37000',
         // target: 'http://192.168.1.51:37000/',
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/FlowTaskDTO.java
similarity index 90%
rename from Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java
rename to Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/FlowTaskDTO.java
index 98200f6..d58617a 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/FlowTaskDTO.java
@@ -14,11 +14,12 @@
  *  this software without specific prior written permission.
  *  Author: Chill 搴勯獮 (smallchill@163.com)
  */
-package com.vci.ubcs.flow.engine.entity;
+package com.vci.ubcs.flow.core.dto;
 
+import com.vci.ubcs.flow.core.entity.FlowTaskUser;
+import com.vci.ubcs.flow.core.entity.ProcessStageAttr;
 import lombok.Data;
 
-import java.io.Serializable;
 import java.util.List;
 import java.util.Map;
 
@@ -28,7 +29,7 @@
  * @author wang1
  */
 @Data
-public class FlowTaskDTO implements Serializable {
+public class FlowTaskDTO extends FlowTaskUser{
 
 	private static final long serialVersionUID = 1L;
 
@@ -61,7 +62,7 @@
 	private Map<String, Object> variables;//娴佺▼鍙傛暟
 
 	//娴佺▼闃舵缁戝畾鐨勫睘鎬�
-	private List<ProcessStageAttr> stageAttrs;
+	private List<ProcessStageAttrDTO> stageAttrs;
 
 
 
diff --git a/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/FlowTaskUserDTO.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/FlowTaskUserDTO.java
new file mode 100644
index 0000000..f2ae081
--- /dev/null
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/FlowTaskUserDTO.java
@@ -0,0 +1,32 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 搴勯獮 (smallchill@163.com)
+ */
+package com.vci.ubcs.flow.core.dto;
+
+import com.vci.ubcs.flow.core.entity.FlowTaskUser;
+import lombok.Data;
+
+/**
+ * 娴佺▼姣忎竴涓妭鐐瑰鏍镐汉
+ *
+ * @author wang1
+ */
+@Data
+public class FlowTaskUserDTO extends FlowTaskUser {
+
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/ProcessStageAttrDTO.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/ProcessStageAttrDTO.java
new file mode 100644
index 0000000..028af03
--- /dev/null
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/ProcessStageAttrDTO.java
@@ -0,0 +1,32 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 搴勯獮 (smallchill@163.com)
+ */
+package com.vci.ubcs.flow.core.dto;
+
+import com.vci.ubcs.flow.core.entity.ProcessStageAttr;
+import lombok.Data;
+
+/**
+ * 娴佺▼闃舵
+ *
+ * @author wang1
+ */
+@Data
+public class ProcessStageAttrDTO extends ProcessStageAttr {
+
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/ProcessTemplateDTO.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/ProcessTemplateDTO.java
new file mode 100644
index 0000000..7c71a09
--- /dev/null
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/dto/ProcessTemplateDTO.java
@@ -0,0 +1,33 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 搴勯獮 (smallchill@163.com)
+ */
+package com.vci.ubcs.flow.core.dto;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.flow.core.entity.ProcessTemplate;
+import lombok.Data;
+
+/**
+ * 娴佺▼妯℃澘
+ *
+ * @author wang1
+ */
+@Data
+public class ProcessTemplateDTO extends ProcessTemplate {
+
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskUser.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/FlowTaskUser.java
similarity index 94%
rename from Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskUser.java
rename to Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/FlowTaskUser.java
index fbab2e8..f9d39b3 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskUser.java
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/FlowTaskUser.java
@@ -14,10 +14,9 @@
  *  this software without specific prior written permission.
  *  Author: Chill 搴勯獮 (smallchill@163.com)
  */
-package com.vci.ubcs.flow.engine.entity;
+package com.vci.ubcs.flow.core.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.vci.ubcs.flow.core.utils.TaskUtil;
 import lombok.Data;
 
 import java.io.Serializable;
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessStageAttr.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/ProcessStageAttr.java
similarity index 97%
rename from Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessStageAttr.java
rename to Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/ProcessStageAttr.java
index 04fa1e8..b6e0e03 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessStageAttr.java
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/ProcessStageAttr.java
@@ -14,7 +14,7 @@
  *  this software without specific prior written permission.
  *  Author: Chill 搴勯獮 (smallchill@163.com)
  */
-package com.vci.ubcs.flow.engine.entity;
+package com.vci.ubcs.flow.core.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessTemplate.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/ProcessTemplate.java
similarity index 95%
rename from Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessTemplate.java
rename to Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/ProcessTemplate.java
index 1b69fd8..d59f59c 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessTemplate.java
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/ProcessTemplate.java
@@ -14,14 +14,13 @@
  *  this software without specific prior written permission.
  *  Author: Chill 搴勯獮 (smallchill@163.com)
  */
-package com.vci.ubcs.flow.engine.entity;
+package com.vci.ubcs.flow.core.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
-import java.util.List;
 
 /**
  * 娴佺▼妯℃澘
diff --git a/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IMDMFlowAttrClientFallback.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IMDMFlowAttrClientFallback.java
new file mode 100644
index 0000000..ebf1790
--- /dev/null
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IMDMFlowAttrClientFallback.java
@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 搴勯獮 (smallchill@163.com)
+ */
+package com.vci.ubcs.flow.core.feign;
+
+import com.vci.ubcs.flow.core.entity.BladeFlow;
+import com.vci.ubcs.flow.core.entity.ProcessStageAttr;
+import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO;
+import org.springblade.core.tool.api.R;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 娴佺▼杩滅▼璋冪敤澶辫触澶勭悊绫�
+ *
+ * @author Chill
+ */
+@Component
+public class IMDMFlowAttrClientFallback implements IMDMIFlowAttrClient {
+
+	@Override
+	public R<List<ProcessStageAttrVO>> ssslist(String templateId, String modelKey, String taskId){
+		return R.fail("杩滅▼璋冪敤澶辫触");
+	}
+}
diff --git a/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IMDMIFlowAttrClient.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IMDMIFlowAttrClient.java
new file mode 100644
index 0000000..3a8518b
--- /dev/null
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IMDMIFlowAttrClient.java
@@ -0,0 +1,55 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 搴勯獮 (smallchill@163.com)
+ */
+package com.vci.ubcs.flow.core.feign;
+
+import com.vci.ubcs.flow.core.entity.BladeFlow;
+import com.vci.ubcs.flow.core.entity.ProcessStageAttr;
+import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO;
+import org.springblade.core.launch.constant.AppConstant;
+import org.springblade.core.tool.api.R;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 宸ヤ綔娴佽繙绋嬭皟鐢ㄦ帴鍙�.
+ *
+ * @author Chill
+ */
+@FeignClient(
+	value = AppConstant.APPLICATION_FLOW_NAME,
+	fallback = IMDMFlowAttrClientFallback.class
+)
+public interface IMDMIFlowAttrClient {
+
+	String API_PREFIX = "/mdmflowclient";
+	String GET_FLOW_ATTR_BY = API_PREFIX + "/ssslist";
+
+
+	/**
+	 * 寮�鍚祦绋�
+	 *
+	 * @return BladeFlow
+	 */
+	@PostMapping(GET_FLOW_ATTR_BY)
+	R<List<ProcessStageAttrVO>> ssslist(@RequestParam String templateId, @RequestParam String modelKey, @RequestParam String taskId);
+}
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskUser.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/FlowTaskUserVO.java
similarity index 63%
copy from Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskUser.java
copy to Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/FlowTaskUserVO.java
index fbab2e8..3aa997a 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskUser.java
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/FlowTaskUserVO.java
@@ -14,10 +14,10 @@
  *  this software without specific prior written permission.
  *  Author: Chill 搴勯獮 (smallchill@163.com)
  */
-package com.vci.ubcs.flow.engine.entity;
+package com.vci.ubcs.flow.core.vo;
 
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.vci.ubcs.flow.core.utils.TaskUtil;
+import com.vci.ubcs.flow.core.entity.FlowTaskUser;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -29,24 +29,8 @@
  * @author wang1
  */
 @Data
-@TableName("ACT_DE_TASK_USER")
-public class FlowTaskUser implements Serializable {
+public class FlowTaskUserVO extends FlowTaskUser {
 
 	private static final long serialVersionUID = 1L;
 
-	private String id;
-	private String name;//淇濆瓨鐨勮繖涓敹钘忓悕绉�
-	private String modelKey;
-	private String modelName;
-	private String classifyId;
-	private String templateId;
-	private String taskId;//娴佺▼taskid
-	private String taskName;
-	private String userId;
-	private String userName;
-	private String description;
-	private Date created;
-	private Date lastUpdated;
-	private String createdBy;
-	private String lastUpdatedBy;
 }
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/FlowTaskVO.java
similarity index 87%
copy from Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java
copy to Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/FlowTaskVO.java
index 98200f6..d74ef53 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/FlowTaskVO.java
@@ -14,8 +14,10 @@
  *  this software without specific prior written permission.
  *  Author: Chill 搴勯獮 (smallchill@163.com)
  */
-package com.vci.ubcs.flow.engine.entity;
+package com.vci.ubcs.flow.core.vo;
 
+import com.vci.ubcs.flow.core.entity.FlowTaskUser;
+import com.vci.ubcs.flow.core.entity.ProcessStageAttr;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -28,7 +30,7 @@
  * @author wang1
  */
 @Data
-public class FlowTaskDTO implements Serializable {
+public class FlowTaskVO extends FlowTaskUser{
 
 	private static final long serialVersionUID = 1L;
 
@@ -57,11 +59,11 @@
 	private String conditionValue;//鍚屾剰銆侀┏鍥炲埌鐨勪笅涓�涓妭鐐圭殑鏉′欢value
 
 	//娴佺▼涓弬鏁�
-	private List<FlowTaskDTO> toTasks;//娴佺▼涓嬩竴姝ユ寜閽�
+	private List<FlowTaskVO> toTasks;//娴佺▼涓嬩竴姝ユ寜閽�
 	private Map<String, Object> variables;//娴佺▼鍙傛暟
 
 	//娴佺▼闃舵缁戝畾鐨勫睘鎬�
-	private List<ProcessStageAttr> stageAttrs;
+	private List<ProcessStageAttrVO> stageAttrs;
 
 
 
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessTemplate.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/ProcessStageAttrVO.java
similarity index 62%
copy from Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessTemplate.java
copy to Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/ProcessStageAttrVO.java
index 1b69fd8..945c481 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessTemplate.java
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/ProcessStageAttrVO.java
@@ -14,35 +14,23 @@
  *  this software without specific prior written permission.
  *  Author: Chill 搴勯獮 (smallchill@163.com)
  */
-package com.vci.ubcs.flow.engine.entity;
+package com.vci.ubcs.flow.core.vo;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.flow.core.entity.ProcessStageAttr;
 import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
-import java.util.List;
 
 /**
- * 娴佺▼妯℃澘
+ * 娴佺▼闃舵
  *
  * @author wang1
  */
 @Data
-@TableName("ACT_DE_PROCESS_TEMPLATE")
-public class ProcessTemplate implements Serializable {
+public class ProcessStageAttrVO extends ProcessStageAttr {
 
 	private static final long serialVersionUID = 1L;
 
-	private String id;
-	private String templateId;//褰撳墠妯℃澘id
-	private String modelKey;//娴佺▼妯″瀷key,閮ㄧ讲key
-	private String modelName;//閮ㄧ讲娴佺▼鍚嶇О
-	private String buttonTypeKey;//搴旂敤鎸夐挳,ProcessTemplateTypeEnum鐨刱ey
-	private String buttonTypeValue;//搴旂敤鎸夐挳,ProcessTemplateTypeEnum鐨剉alue
-	private String description;
-	private Date created;
-	private Date lastUpdated;
-	private String createdBy;
-	private String lastUpdatedBy;
 }
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessTemplate.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/ProcessTemplateVO.java
similarity index 62%
copy from Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessTemplate.java
copy to Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/ProcessTemplateVO.java
index 1b69fd8..b5d005a 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/ProcessTemplate.java
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/vo/ProcessTemplateVO.java
@@ -14,14 +14,14 @@
  *  this software without specific prior written permission.
  *  Author: Chill 搴勯獮 (smallchill@163.com)
  */
-package com.vci.ubcs.flow.engine.entity;
+package com.vci.ubcs.flow.core.vo;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.flow.core.entity.ProcessTemplate;
 import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
-import java.util.List;
 
 /**
  * 娴佺▼妯℃澘
@@ -29,20 +29,8 @@
  * @author wang1
  */
 @Data
-@TableName("ACT_DE_PROCESS_TEMPLATE")
-public class ProcessTemplate implements Serializable {
+public class ProcessTemplateVO extends ProcessTemplate {
 
 	private static final long serialVersionUID = 1L;
 
-	private String id;
-	private String templateId;//褰撳墠妯℃澘id
-	private String modelKey;//娴佺▼妯″瀷key,閮ㄧ讲key
-	private String modelName;//閮ㄧ讲娴佺▼鍚嶇О
-	private String buttonTypeKey;//搴旂敤鎸夐挳,ProcessTemplateTypeEnum鐨刱ey
-	private String buttonTypeValue;//搴旂敤鎸夐挳,ProcessTemplateTypeEnum鐨剉alue
-	private String description;
-	private Date created;
-	private Date lastUpdated;
-	private String createdBy;
-	private String lastUpdatedBy;
 }
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/feign/MDMFlowAttrClient.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/feign/MDMFlowAttrClient.java
new file mode 100644
index 0000000..a947398
--- /dev/null
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/feign/MDMFlowAttrClient.java
@@ -0,0 +1,67 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 搴勯獮 (smallchill@163.com)
+ */
+package com.vci.ubcs.flow.business.feign;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.vci.ubcs.flow.core.entity.BladeFlow;
+import com.vci.ubcs.flow.core.entity.ProcessStageAttr;
+import com.vci.ubcs.flow.core.feign.IMDMIFlowAttrClient;
+import com.vci.ubcs.flow.core.utils.TaskUtil;
+import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO;
+import com.vci.ubcs.flow.engine.service.ProcessStageAttrService;
+import lombok.AllArgsConstructor;
+import org.flowable.engine.IdentityService;
+import org.flowable.engine.RuntimeService;
+import org.flowable.engine.TaskService;
+import org.flowable.engine.runtime.ProcessInstance;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.support.Kv;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 娴佺▼杩滅▼璋冪敤瀹炵幇绫�
+ *
+ * @author Chill
+ */
+@NonDS
+@RestController
+@AllArgsConstructor
+public class MDMFlowAttrClient implements IMDMIFlowAttrClient {
+
+	private final ProcessStageAttrService processStageAttrService;
+
+	@Override
+	@PostMapping(GET_FLOW_ATTR_BY)
+	public R<List<ProcessStageAttrVO>> ssslist(@RequestParam String templateId, @RequestParam String modelKey, @RequestParam String taskId) {
+		Map<String, Object> m = new HashMap<>();
+		m.put("template_id", templateId);
+		m.put("task_id", taskId);
+		m.put("model_key", modelKey);
+		QueryWrapper q = Condition.getQueryWrapper(m, ProcessStageAttr.class)
+			.select("attr_id attrId,attr_name attrName,attr_group attrGroup");
+		return R.data(processStageAttrService.list(q));
+	}
+
+}
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowModelController.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowModelController.java
index ff98157..2070d62 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowModelController.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowModelController.java
@@ -20,7 +20,6 @@
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.vci.ubcs.flow.core.utils.TaskUtil;
 import com.vci.ubcs.flow.engine.entity.FlowModel;
-import com.vci.ubcs.flow.engine.entity.FlowTaskUser;
 import com.vci.ubcs.flow.engine.service.FlowEngineService;
 import com.vci.ubcs.flow.engine.service.FlowTaskUserService;
 import io.swagger.annotations.ApiImplicitParam;
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowProcessTSController.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowProcessTSController.java
index d617577..77948aa 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowProcessTSController.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowProcessTSController.java
@@ -2,9 +2,10 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.vci.ubcs.flow.engine.entity.FlowTaskDTO;
-import com.vci.ubcs.flow.engine.entity.ProcessStageAttr;
-import com.vci.ubcs.flow.engine.entity.ProcessTemplate;
+import com.vci.ubcs.flow.core.dto.FlowTaskDTO;
+import com.vci.ubcs.flow.core.entity.ProcessStageAttr;
+import com.vci.ubcs.flow.core.entity.ProcessTemplate;
+import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO;
 import com.vci.ubcs.flow.engine.service.FlowEngineService;
 import com.vci.ubcs.flow.engine.service.ProcessStageAttrService;
 import com.vci.ubcs.flow.engine.service.ProcessTemplateService;
@@ -88,7 +89,7 @@
 	 * 娴佺▼闃舵锛岃繖涓祦绋�,杩欎釜鑺傜偣锛岀粦瀹氱殑灞炴��
 	 */
 	@GetMapping("/ssslist")
-	public R<List<ProcessStageAttr>> ssslist(@RequestParam String templateId,@RequestParam String modelKey,@RequestParam String taskId) {
+	public R<List<ProcessStageAttrVO>> ssslist(@RequestParam String templateId, @RequestParam String modelKey, @RequestParam String taskId) {
 		Map<String, Object> m = new HashMap<>();
 		m.put("template_id", templateId);
 		m.put("task_id", taskId);
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowTaskUserController.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowTaskUserController.java
index 10a6fdd..0b8613b 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowTaskUserController.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowTaskUserController.java
@@ -1,6 +1,6 @@
 package com.vci.ubcs.flow.engine.controller;
 
-import com.vci.ubcs.flow.engine.entity.FlowTaskDTO;
+import com.vci.ubcs.flow.core.dto.FlowTaskDTO;
 import com.vci.ubcs.flow.engine.service.FlowTaskUserService;
 import lombok.AllArgsConstructor;
 import org.springblade.core.tenant.annotation.NonDS;
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/VCIFlowController.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/VCIFlowController.java
index 5e7dcd9..15d5c5a 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/VCIFlowController.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/VCIFlowController.java
@@ -1,7 +1,7 @@
 package com.vci.ubcs.flow.engine.controller;
 
+import com.vci.ubcs.flow.core.dto.FlowTaskDTO;
 import com.vci.ubcs.flow.core.entity.BladeFlow;
-import com.vci.ubcs.flow.engine.entity.FlowTaskDTO;
 import com.vci.ubcs.flow.engine.service.VICFlowService;
 import lombok.AllArgsConstructor;
 import org.springblade.core.tenant.annotation.NonDS;
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/FlowTaskUserMapper.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/FlowTaskUserMapper.java
index 9ed1e12..0a97581 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/FlowTaskUserMapper.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/FlowTaskUserMapper.java
@@ -18,8 +18,8 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.vci.ubcs.flow.core.entity.FlowTaskUser;
 import com.vci.ubcs.flow.engine.entity.FlowModel;
-import com.vci.ubcs.flow.engine.entity.FlowTaskUser;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/ProcessStageAttrMapper.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/ProcessStageAttrMapper.java
index f3cf847..49220dd 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/ProcessStageAttrMapper.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/ProcessStageAttrMapper.java
@@ -17,7 +17,7 @@
 package com.vci.ubcs.flow.engine.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.vci.ubcs.flow.engine.entity.ProcessStageAttr;
+import com.vci.ubcs.flow.core.entity.ProcessStageAttr;
 
 /**
  * 娴佺▼闃舵
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/ProcessTemplateMapper.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/ProcessTemplateMapper.java
index 574fd9d..0ab3112 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/ProcessTemplateMapper.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/mapper/ProcessTemplateMapper.java
@@ -17,8 +17,7 @@
 package com.vci.ubcs.flow.engine.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.vci.ubcs.flow.engine.entity.FlowTaskUser;
-import com.vci.ubcs.flow.engine.entity.ProcessTemplate;
+import com.vci.ubcs.flow.core.entity.ProcessTemplate;
 
 /**
  * 娴佺▼妯℃澘
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/FlowEngineService.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/FlowEngineService.java
index 1d9ed3e..6739640 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/FlowEngineService.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/FlowEngineService.java
@@ -18,11 +18,11 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.vci.ubcs.flow.core.dto.FlowTaskDTO;
 import com.vci.ubcs.flow.core.entity.BladeFlow;
 import com.vci.ubcs.flow.engine.entity.FlowExecution;
 import com.vci.ubcs.flow.engine.entity.FlowModel;
 import com.vci.ubcs.flow.engine.entity.FlowProcess;
-import com.vci.ubcs.flow.engine.entity.FlowTaskDTO;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/FlowTaskUserService.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/FlowTaskUserService.java
index 0132fc3..f19149d 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/FlowTaskUserService.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/FlowTaskUserService.java
@@ -17,6 +17,8 @@
 package com.vci.ubcs.flow.engine.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.vci.ubcs.flow.core.dto.FlowTaskDTO;
+import com.vci.ubcs.flow.core.entity.FlowTaskUser;
 import com.vci.ubcs.flow.engine.entity.*;
 
 import java.util.List;
@@ -54,5 +56,5 @@
 	 * @param modelKey
 	 * @return
 	 */
-	List<FlowTaskUser> getTaskUserByTemplateAndModelKey(String templateId,String modelKey);
+	List<FlowTaskUser> getTaskUserByTemplateAndModelKey(String templateId, String modelKey);
 }
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/ProcessStageAttrService.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/ProcessStageAttrService.java
index e8fd0f3..b1f0035 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/ProcessStageAttrService.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/ProcessStageAttrService.java
@@ -17,8 +17,8 @@
 package com.vci.ubcs.flow.engine.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.vci.ubcs.flow.engine.entity.FlowTaskDTO;
-import com.vci.ubcs.flow.engine.entity.ProcessStageAttr;
+import com.vci.ubcs.flow.core.dto.FlowTaskDTO;
+import com.vci.ubcs.flow.core.entity.ProcessStageAttr;
 
 /**
  * 娴佺▼闃舵鏈嶅姟
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/ProcessTemplateService.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/ProcessTemplateService.java
index 1d04a9d..87fcfa3 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/ProcessTemplateService.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/ProcessTemplateService.java
@@ -17,7 +17,7 @@
 package com.vci.ubcs.flow.engine.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.vci.ubcs.flow.engine.entity.ProcessTemplate;
+import com.vci.ubcs.flow.core.entity.ProcessTemplate;
 
 import java.util.List;
 import java.util.Map;
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/VICFlowService.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/VICFlowService.java
index acb2ebd..97bca0d 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/VICFlowService.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/VICFlowService.java
@@ -16,8 +16,8 @@
  */
 package com.vci.ubcs.flow.engine.service;
 
+import com.vci.ubcs.flow.core.dto.FlowTaskDTO;
 import com.vci.ubcs.flow.core.entity.BladeFlow;
-import com.vci.ubcs.flow.engine.entity.FlowTaskDTO;
 import org.springblade.core.tool.api.R;
 
 /**
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowEngineServiceImpl.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowEngineServiceImpl.java
index add8a1d..f277e82 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowEngineServiceImpl.java
@@ -20,6 +20,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.vci.ubcs.flow.core.dto.FlowTaskDTO;
 import com.vci.ubcs.flow.core.entity.BladeFlow;
 import com.vci.ubcs.flow.core.enums.FlowModeEnum;
 import com.vci.ubcs.flow.core.utils.TaskUtil;
@@ -27,7 +28,6 @@
 import com.vci.ubcs.flow.engine.entity.FlowExecution;
 import com.vci.ubcs.flow.engine.entity.FlowModel;
 import com.vci.ubcs.flow.engine.entity.FlowProcess;
-import com.vci.ubcs.flow.engine.entity.FlowTaskDTO;
 import com.vci.ubcs.flow.engine.mapper.FlowMapper;
 import com.vci.ubcs.flow.engine.service.FlowEngineService;
 import com.vci.ubcs.flow.engine.utils.FlowCache;
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowTaskUserServiceImpl.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowTaskUserServiceImpl.java
index ba21c6d..09aba05 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowTaskUserServiceImpl.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowTaskUserServiceImpl.java
@@ -18,6 +18,9 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.flow.core.dto.FlowTaskDTO;
+import com.vci.ubcs.flow.core.entity.FlowTaskUser;
+import com.vci.ubcs.flow.core.entity.ProcessTemplate;
 import com.vci.ubcs.flow.core.utils.TaskUtil;
 import com.vci.ubcs.flow.engine.entity.*;
 import com.vci.ubcs.flow.engine.mapper.FlowTaskUserMapper;
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/ProcessStageAttrServiceImpl.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/ProcessStageAttrServiceImpl.java
index 74b6d78..816e64b 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/ProcessStageAttrServiceImpl.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/ProcessStageAttrServiceImpl.java
@@ -18,9 +18,9 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.vci.ubcs.flow.engine.entity.FlowTaskUser;
-import com.vci.ubcs.flow.engine.entity.FlowTaskDTO;
-import com.vci.ubcs.flow.engine.entity.ProcessStageAttr;
+import com.vci.ubcs.flow.core.dto.FlowTaskDTO;
+import com.vci.ubcs.flow.core.entity.FlowTaskUser;
+import com.vci.ubcs.flow.core.entity.ProcessStageAttr;
 import com.vci.ubcs.flow.engine.mapper.ProcessStageAttrMapper;
 import com.vci.ubcs.flow.engine.service.ProcessStageAttrService;
 import lombok.AllArgsConstructor;
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/ProcessTemplateServiceImpl.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/ProcessTemplateServiceImpl.java
index ec83e35..601c524 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/ProcessTemplateServiceImpl.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/ProcessTemplateServiceImpl.java
@@ -18,8 +18,8 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.flow.core.entity.ProcessTemplate;
 import com.vci.ubcs.flow.core.utils.TaskUtil;
-import com.vci.ubcs.flow.engine.entity.ProcessTemplate;
 import com.vci.ubcs.flow.engine.mapper.ProcessTemplateMapper;
 import com.vci.ubcs.flow.engine.service.ProcessTemplateService;
 import com.vci.ubcs.starter.web.enumpck.ProcessTemplateTypeEnum;
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java
index b01bb9d..4a1ea85 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java
@@ -18,7 +18,9 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.vci.ubcs.flow.core.constant.ProcessConstant;
+import com.vci.ubcs.flow.core.dto.FlowTaskDTO;
 import com.vci.ubcs.flow.core.entity.BladeFlow;
+import com.vci.ubcs.flow.core.entity.FlowTaskUser;
 import com.vci.ubcs.flow.core.utils.TaskUtil;
 import com.vci.ubcs.flow.engine.entity.*;
 import com.vci.ubcs.flow.engine.service.FlowEngineService;
diff --git a/Source/UBCS/ubcs-ops/ubcs-report/src/main/java/com/vci/ubcs/report/config/BladeReportConfiguration.java b/Source/UBCS/ubcs-ops/ubcs-report/src/main/java/com/vci/ubcs/report/config/BladeReportConfiguration.java
index cd043c2..1d08ec8 100644
--- a/Source/UBCS/ubcs-ops/ubcs-report/src/main/java/com/vci/ubcs/report/config/BladeReportConfiguration.java
+++ b/Source/UBCS/ubcs-ops/ubcs-report/src/main/java/com/vci/ubcs/report/config/BladeReportConfiguration.java
@@ -16,7 +16,7 @@
  */
 package com.vci.ubcs.report.config;
 
-import com.vci.ubcs.core.report.datasource.ReportDataSource;
+//import org.springblade.core.report.datasource.ReportDataSource;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -32,12 +32,12 @@
 @ConditionalOnProperty(value = "report.enabled", havingValue = "true", matchIfMissing = true)
 public class BladeReportConfiguration {
 
-	/**
-	 * 鑷畾涔夋姤琛ㄥ彲閫夋暟鎹簮
-	 */
-	@Bean
-	public ReportDataSource reportDataSource(DataSource dataSource) {
-		return new ReportDataSource(dataSource);
-	}
+//	/**
+//	 * 鑷畾涔夋姤琛ㄥ彲閫夋暟鎹簮
+//	 */
+//	@Bean
+//	public ReportDataSource reportDataSource(DataSource dataSource) {
+//		return new ReportDataSource(dataSource);
+//	}
 
 }
diff --git a/Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/endpoint/OssEndpoint.java b/Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/endpoint/OssEndpoint.java
index dacf234..1bdefc5 100644
--- a/Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/endpoint/OssEndpoint.java
+++ b/Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/endpoint/OssEndpoint.java
@@ -17,10 +17,6 @@
 package com.vci.ubcs.resource.endpoint;
 
 import com.vci.ubcs.resource.entity.Attach;
-import com.vci.ubcs.resource.service.IFileService;
-import com.vci.ubcs.resource.utils.FileDownloadUtil;
-import com.vci.ubcs.starter.web.util.LangBaseUtil;
-import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import io.swagger.annotations.Api;
 import lombok.AllArgsConstructor;
 import lombok.SneakyThrows;
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/pom.xml b/Source/UBCS/ubcs-service-api/ubcs-code-api/pom.xml
index e596a6a..e2c86ea 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/pom.xml
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/pom.xml
@@ -63,6 +63,12 @@
             <scope>compile</scope>
         </dependency>
         <dependency>
+            <groupId>com.vci.ubcs</groupId>
+            <artifactId>ubcs-flow-api</artifactId>
+            <version>3.0.1.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
             <groupId>com.thoughtworks.xstream</groupId>
             <artifactId>xstream</artifactId>
         </dependency>
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/MdmUIInfoVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/MdmUIInfoVO.java
index 16b0235..0d02f10 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/MdmUIInfoVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/MdmUIInfoVO.java
@@ -1,5 +1,7 @@
 package com.vci.ubcs.code.vo.pagemodel;
 
+import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO;
+
 import java.util.List;
 
 public class MdmUIInfoVO implements java.io.Serializable {
@@ -36,7 +38,6 @@
 	 * 褰撳墠鍒嗙被鏄惁涓哄彾瀛愯妭鐐�
 	 */
 	private boolean leaf;
-
 	public List<SmOperationVO> getButtons() {
 		return buttons;
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/pom.xml b/Source/UBCS/ubcs-service/ubcs-code/pom.xml
index b7db59f..88e3563 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/pom.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/pom.xml
@@ -137,6 +137,12 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>com.vci.ubcs</groupId>
+            <artifactId>ubcs-flow-api</artifactId>
+            <version>3.0.1.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
         <!--axis2 end -->
 
     </dependencies>
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
index c1941fd..b17f55e 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
@@ -12,6 +12,7 @@
 import com.vci.ubcs.code.service.MdmEngineService;
 import com.vci.ubcs.code.service.MdmIOService;
 import com.vci.ubcs.code.vo.pagemodel.*;
+import com.vci.ubcs.flow.core.feign.IMDMIFlowAttrClient;
 import com.vci.ubcs.omd.vo.BtmTypeVO;
 import com.vci.ubcs.starter.annotation.VciBusinessLog;
 import com.vci.ubcs.starter.revision.model.BaseModel;
@@ -55,6 +56,7 @@
 	 */
 	@Autowired
 	private MdmIOService mdmIOService;
+
 
 	/**
 	 * 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉�
@@ -627,6 +629,17 @@
 		return engineService.getUIInfoByClassifyOid(codeClassifyOid,functionId);
 	}
 
+	/**
+	 * 浣跨敤鍒嗙被鑾峰彇琛ㄦ牸鐨勫畾涔�
+	 * @param codeClassifyOid 鍒嗙被涓婚敭
+	 * @param functionId 鍔熻兘鐨勭紪鍙�
+	 * @return UI鐩稿叧鐨勪俊鎭紙浠呭寘鍚〃鏍硷級
+	 */
+	@GetMapping("/getFlowdUIInfoByClassifyOid")
+	public MdmUIInfoVO getUIInfoByClassifyOid(String codeClassifyOid,String functionId,String templateId,String taskId,String modelKey){
+		return engineService.getFlowUIInfoByClassifyOid(codeClassifyOid,functionId,templateId,taskId,modelKey);
+	}
+
 
 	@GetMapping("/thisistest")
 	@ResponseBody
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
index 7ff87cc..4abcfef 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -372,6 +372,14 @@
 	 * @return UI鐩稿叧鐨勫唴瀹�
 	 */
 	MdmUIInfoVO getUIInfoByClassifyOid(String codeClassifyOid, String functionId);
+	/**
+	 * 浣跨敤鍒嗙被涓婚敭锛屾ā鏉夸富閿紝闃舵鏍囪瘑锛屾祦绋嬫ā鏉縦ek鑾峰彇娴佺▼瀹℃壒涓〉闈㈢殑鍐呭锛屽寘鍚寜閽�
+	 *
+	 * @param codeClassifyOid 涓婚搴撳垎绫讳富閿�
+	 * @param functionId      鍔熻兘鐨勭紪鍙�,榛樿5
+	 * @return UI鐩稿叧鐨勫唴瀹�
+	 */
+	MdmUIInfoVO getFlowUIInfoByClassifyOid(String codeClassifyOid, String functionId,String templateId,String taskId,String modelKey);
 
 	/**
 	 * 浼犲叆涓氬姟绫诲瀷浠ュ強鐩稿叧鏁版嵁杩涜鎵归噺鎻掑叆鎿嶄綔
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
index c3a01d8..24fc9ea 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -1088,7 +1088,7 @@
 			//閫掑綊鎵句笂绾х殑妯℃澘
 			CodeClassify classifyDO = codeClassifyMapper.selectById(codeClassifyOid);
 //				codeClassifyDaoI.selectByPrimaryKey(codeClassifyOid);
-			if(StringUtils.isBlank(classifyDO.getParentCodeClassifyOid())){
+			if(classifyDO==null&&StringUtils.isBlank(classifyDO.getParentCodeClassifyOid())){
 				//璇存槑宸茬粡鏄《浜嗭紝涔熸病鎵惧埌鐨勮瘽锛岄偅灏辫繑鍥炰簡
 				return null;
 			}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
index 54044fe..f3cc541 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -68,8 +68,8 @@
 	private IDockingLogeService dockingLogeService;
 	@Resource
 	private IDockingDataService dockingDataService;
-	@Resource
-	private IDockingTaskService dockingTaskService;
+//	@Resource
+//	private IDockingTaskService dockingTaskService;
 	@Resource
 	private IDockingSystemConfigService dockingSystemConfigService;
 	@Resource
@@ -243,7 +243,7 @@
 			}
 
 			if(dockingTask_insert.size()!=0) {
-				dockingTaskService.saveBatch(dockingTask_insert);
+//				dockingTaskService.saveBatch(dockingTask_insert);
 			}
 			//dockingTaskDaoI.updateByPrimaryKey鏂规硶鎶ラ敊浜嗭紝鎵�浠ユ墜鍐欎簡杩欎釜
 			boolean u = updateDockingDatasSendFlag(dataoid,SEND_FLAG_TRUE);
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
index de2d4c3..0558c3a 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
@@ -95,11 +95,11 @@
 	 */
 	@Autowired(required = false)
 	private DockingSystemMapper dockingSystemMapper;
-	/***
-	 * 浠诲姟鐢熸垚鏈嶅姟
-	 */
-	@Autowired( required = false)
-	private IDockingTaskService dockingTaskService;
+//	/***
+//	 * 浠诲姟鐢熸垚鏈嶅姟
+//	 */
+//	@Resource
+//	private IDockingTaskService dockingTaskService;
 
 
 	/**
@@ -450,7 +450,7 @@
 					dockingTaskDO_insert.add(dockingTaskDO);
 				});
 			}
-			dockingTaskService.saveBatch(dockingTaskDO_insert);
+//			dockingTaskService.saveBatch(dockingTaskDO_insert);
 		}catch (Throwable e){
 			msg="鏁版嵁鎺ㄩ�佸埌瀹氭椂浠诲姟澶辫触!";
 			log.error("鏁版嵁鎺ㄩ�佸埌瀹氭椂浠诲姟澶辫触!"+e);
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DokingSysManaentServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DokingSysManaentServiceImpl.java
index 299711d..0507011 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DokingSysManaentServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DokingSysManaentServiceImpl.java
@@ -12,15 +12,17 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 @Service
 public class DokingSysManaentServiceImpl extends ServiceImpl<DockingSystemConfigMapper, DockingSystemConfig> implements IDokingSysManaentService {
 
 
-	/***
-	 * 浠诲姟鐢熸垚鏈嶅姟
-	 */
-	@Autowired( required = false)
-	private IDockingTaskService dockingTaskService;
+//	/***
+//	 * 浠诲姟鐢熸垚鏈嶅姟
+//	 */
+//	@Resource
+//	private IDockingTaskService dockingTaskService;
 
 
 	/***
@@ -52,7 +54,8 @@
 	 */
 	@Override
 	public IPage<DockingTaskVO> gridDockingTask(DockingTask dockingTask, Query query) {
-		IPage<DockingTask> pages=dockingTaskService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingTask));
+		IPage<DockingTask> pages=null;
+//		IPage<DockingTask> pages=dockingTaskService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingTask));
 		return DockingTaskWrapper.build().pageVO(pages);
 	}
 
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index 641216d..2d2d0ef 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -22,6 +22,9 @@
 import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO;
 import com.vci.ubcs.code.vo.pagemodel.UITablePageVO;
 import com.vci.ubcs.code.vo.pagemodel.*;
+import com.vci.ubcs.flow.core.entity.ProcessStageAttr;
+import com.vci.ubcs.flow.core.feign.IMDMIFlowAttrClient;
+import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO;
 import com.vci.ubcs.omd.constant.BtmTypeLcStatusConstant;
 import com.vci.ubcs.omd.cache.EnumCache;
 import com.vci.ubcs.omd.feign.*;
@@ -278,6 +281,11 @@
      * 鏇挎崲瀛楃
      */
     public static final String SPECIAL_CHAR = "VCI";
+	/**
+	 * 涓绘暟鎹祦绋嬮樁娈垫湇鍔�
+	 */
+	@Autowired
+	private IMDMIFlowAttrClient imdmiFlowAttrClient;
 //	@Autowired
 //	private CodeOsbtmtypeMapper codeOsbtmtypeMapper;----
 
@@ -2839,6 +2847,51 @@
         return uiInfoVO;
     }
 
+	/**
+	 * 浣跨敤鍒嗙被鐨勪富閿幏鍙栬〃鏍肩殑瀹氫箟-ubcs鍚庝慨鏀硅幏鍙栨祦绋嬮樁娈电啛鎮夎幏鍙栨柟娉�
+	 * @param codeClassifyOid
+	 * @param templateId
+	 * @param taskId
+	 * @param modelKey
+	 * @return
+	 */
+	public MdmUIInfoVO getTableDefineByClassifyOid_v2(String codeClassifyOid,String templateId,String taskId,String modelKey) {
+		MdmUIInfoVO uiInfoVO = new MdmUIInfoVO();
+		CodeClassifyTemplateVO templateVO = getUsedTemplateByClassifyOid(codeClassifyOid);
+		uiInfoVO.setTemplateVO(templateVO);
+		UITableDefineVO uiTableDefineVO = wrapperTableDefineByTemplate(templateVO, true);
+		R<List<ProcessStageAttrVO>> r = imdmiFlowAttrClient.ssslist(templateId,modelKey,taskId);
+		List<ProcessStageAttrVO> stageAttrVOS = r.getData();
+		List<String> attrList = new ArrayList<>();
+		stageAttrVOS.stream().forEach(attr->{
+			attrList.add(attr.getAttrId());
+		});
+		uiTableDefineVO.getCols().stream().forEach(list -> {
+			List<UITableFieldVO> visiableTableField = new ArrayList<>();
+			visiableTableField = list.stream().filter(col ->
+				attrList.stream().anyMatch(s -> StringUtils.equalsIgnoreCase(col.getField(), s) ||
+					(StringUtils.equalsIgnoreCase(col.getFieldType(), "combox") && StringUtils.equalsIgnoreCase(col.getSortField(), s))
+					|| (StringUtils.equalsIgnoreCase(col.getFieldType(), "refer") && StringUtils.equalsIgnoreCase(col.getQueryField(), s))
+				)).collect(Collectors.toList());
+
+			visiableTableField.stream().forEach(vo -> {
+				uiTableDefineVO.setHasEditor(true);
+				if ("refer".equalsIgnoreCase(vo.getFieldType())) {
+					setReferConfig2EditConfig(vo);
+				} else if ("combox".equalsIgnoreCase(vo.getFieldType())) {
+					setComboxConfig2EditConfig(vo);
+				} else if (StringUtils.isNotBlank(vo.getDateFormate())) {
+					vo.setEdit("date");
+				} else {
+					vo.setEdit(vo.getFieldType());
+				}
+			});
+		});
+		uiInfoVO.setTableDefineVO(uiTableDefineVO);
+		wrapperResemble(templateVO, uiInfoVO);
+		return uiInfoVO;
+	}
+
     /**
      * 妯℃澘灞炴�ц浆鎹负琛ㄦ牸瀹氫箟鐨勪俊鎭�
      *
@@ -3099,6 +3152,33 @@
         }
         return uiInfoVO;
     }
+    @Override
+	public MdmUIInfoVO getFlowUIInfoByClassifyOid(String codeClassifyOid, String functionId,String templateId,String taskId,String modelKey){
+//		MdmUIInfoVO uiInfoVO = getTableDefineByClassifyOid_v2(codeClassifyOid,templateId,taskId,modelKey);
+		MdmUIInfoVO uiInfoVO = getTableDefineByTemplateVO(getUsedTemplateByClassifyOid(codeClassifyOid));
+		R<List<ProcessStageAttrVO>> r = imdmiFlowAttrClient.ssslist(templateId,modelKey,taskId);
+		List<ProcessStageAttrVO> stageAttrVOS = r.getData();
+		Set<String> attrSet = new HashSet<>();
+		stageAttrVOS.stream().forEach(attr->{
+			attrSet.add(attr.getAttrId());
+		});
+
+		try {
+
+			UITableDefineVO tableDefineVO = uiInfoVO.getTableDefineVO();
+			List<List<UITableFieldVO>> tableFieldVOs = tableDefineVO.getCols();
+			List<UITableFieldVO> uiTableFieldVOS = tableFieldVOs.get(0);
+			uiTableFieldVOS.stream().forEach(ui->{
+//				if(!attrSet.contains(ui.getField())){
+//					ui.setEdit(null);
+//					ui.setEditConfig(null);
+//				}
+			});
+		}catch (Exception e){
+			throw new ServiceException("妯℃澘娌℃湁瀹氫箟灞炴�э紝璇诲彇琛ㄥご澶辫触!");
+		}
+		return uiInfoVO;
+	}
 
     /**
      * 浣跨敤鍒嗙被涓婚敭鑾峰彇宸ュ叿鏍忎腑鐨勬寜閽俊鎭�
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java
index bde6368..847c2c7 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/LifeCycleController.java
@@ -1,5 +1,6 @@
 package com.vci.ubcs.omd.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.vci.ubcs.omd.dto.LifeCycleDTO;
@@ -15,12 +16,14 @@
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.HashMap;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 
 /**
@@ -46,12 +49,9 @@
 	@GetMapping("page")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "鍒嗛〉鏌ヨ鐢熷懡鍛ㄦ湡",notes = "鍒嗛〉鏌ヨ鐢熷懡鍛ㄦ湡")
-	public R<IPage<LifeCycleVO>> page(BladeQueryObject baseQueryObject){
-		Map<String, Object> conditionMap = baseQueryObject.getConditionMap();
-		if (conditionMap == null){
-			conditionMap = new HashMap<>();
-		}
-		return R.data(lifeCycleService.listLife(conditionMap,baseQueryObject.getQuery()));
+	public R<IPage<LifeCycleVO>> page(@RequestParam Map<String, Object> conditionMap, Query query){
+
+		return R.data(lifeCycleService.listLife(conditionMap,query));
 	}
 
 
@@ -147,14 +147,8 @@
 	 */
 	@GetMapping("page-event")
 	@ApiOperationSupport(order = 2)
-	@ApiOperation(value = "鍏ㄩ儴鐨勪簨浠�",notes = "鍒嗛〉鏌ヨ浜嬩欢")
-	public R<IPage<LifeCycleEventVO>> pageEvent(BladeQueryObject baseQueryObject){
-		Map<String, Object> conditionMap = baseQueryObject.getConditionMap();
-		if (conditionMap == null){
-			conditionMap = new HashMap<>();
-		}
-		return R.data(lifeCycleService.listEvent(conditionMap,baseQueryObject.getQuery()));
+	@ApiOperation(value = "鍏ㄩ儴鐨勪簨浠�",notes = "list鏌ヨ浜嬩欢")
+	public R<List<LifeCycleEventVO>> pageEvent(){
+		return R.data(lifeCycleService.listEventNoPage());
 	}
-
-
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java
index 14dbdc4..7263abe 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/ILifeCycleService.java
@@ -39,6 +39,11 @@
 	IPage<LifeCycleEventVO> listEvent(Map<String, Object> conditionMap, Query query);
 
 	/**
+	 * 鑾峰彇鍏ㄩ儴鐨勪簨浠�
+	 */
+	List<LifeCycleEventVO> listEventNoPage();
+
+	/**
 	 * 娣诲姞淇濆瓨
 	 * @param lifeCycleDTO 鏁版嵁浼犺緭瀵硅薄
 	 * @return 娣诲姞鍚庣殑鏄剧ず瀵硅薄
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java
index 7fc3448..ace2a89 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LifeCycleServiceImpl.java
@@ -106,6 +106,18 @@
 		return LifeCycleEventWrapper.build().pageVO(eventMapper.selectPage(Condition.getPage(query),Condition.getQueryWrapper(conditionMap, LifeCycleEvent.class).lambda().orderByAsc(LifeCycleEvent::getEventFullName)));
 	}
 
+	public List<LifeCycleEventVO> listEventNoPage(){
+		QueryWrapper<LifeCycleEvent> queryWrapper = new QueryWrapper();
+		List<LifeCycleEvent> lifeCycleEvents =  eventMapper.selectList(queryWrapper);
+		List<LifeCycleEventVO> vos = new ArrayList<>();
+		lifeCycleEvents.stream().forEach(lifeCycleEvent -> {
+			LifeCycleEventVO vo = new LifeCycleEventVO();
+			BeanUtil.convert(lifeCycleEvent,vo);
+			vos.add(vo);
+		});
+		return vos;
+	}
+
 	/**
 	 * 娣诲姞淇濆瓨
 	 *
@@ -317,9 +329,7 @@
 		LifeCycleRule rule = selectByOid(lifeCycleDTO.getOid());
 		//鏌ヨ閲嶅
 		QueryWrapper wrapper = new QueryWrapper(LifeCycleRule.class);
-		if(rule.getId().equals(lifeCycleDTO.getId())){
-			throw new VciBaseException("鐢熷懡鍛ㄦ湡缂栧彿涓嶈兘淇敼");
-		}
+
 		wrapper.eq("lower(id)",lifeCycleDTO.getId().toLowerCase(Locale.ROOT));
 		wrapper.ne("oid",lifeCycleDTO.getOid());
 		if(baseMapper.selectCount(wrapper)>0){
@@ -336,7 +346,7 @@
 		String lifeOid = lifeCycleRule.getOid();
 
 		QueryWrapper<LifeCycleNode> nodeWrapper = new QueryWrapper<>();
-		nodeWrapper.eq("lifeCycleOid",lifeOid.toLowerCase(Locale.ROOT));
+		nodeWrapper.eq("life_cycle_oid",lifeOid.toLowerCase(Locale.ROOT));
 		List<LifeCycleNode> nodes = nodeMapper.selectList(nodeWrapper);
 		List<LifeCycleNodeVO> nodeVos = new ArrayList<>();
 		nodes.stream().forEach(doo->{
@@ -347,7 +357,7 @@
 		vo.setNodes(nodeVos);
 
 		QueryWrapper<LifeCycleEdge> edgeWrapper = new QueryWrapper<>();
-		edgeWrapper.eq("lifeCycleOid",lifeOid.toLowerCase(Locale.ROOT));
+		edgeWrapper.eq("life_cycle_oid",lifeOid.toLowerCase(Locale.ROOT));
 		List<LifeCycleEdge> edges = edgeMapper.selectList(edgeWrapper);
 		List<LifeCycleEdgeVO> edgeVos = new ArrayList<>();
 		edges.stream().forEach(doo->{

--
Gitblit v1.9.3