Browse Source

解决修改流程创建数据表失败问题

xuezizhuo 1 year ago
parent
commit
d358db0004

+ 7 - 4
zkqy-system/src/main/java/com/zkqy/system/service/impl/BpmProcessConfigurationServiceImpl.java

@@ -118,14 +118,14 @@ public class BpmProcessConfigurationServiceImpl implements IBpmProcessConfigurat
         //当前流程需要创建的表
         List<String> list = nodeVo.getTableNameList();
         list = list.stream().filter(l -> !tableNameList.contains(l)).collect(Collectors.toList());
-        String addField = ",task_key varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '任务编码'," +
+        String addField = ",task_process_key varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '任务编码'," +
                 "task_node_key varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '任务节点编码') ENGINE=InnoDB";
         // 新建流程节点所需数据表
         for (String tableName : list){
             try {
                 String createTableSql = commonService.selectTableSql(tableName).get("create table");
                 createTableSql = createTableSql.replace("CREATE TABLE","CREATE TABLE IF NOT EXISTS {DBNAME}.");
-                if(!createTableSql.contains("task_key") && !createTableSql.contains("task_node_key")){
+                if(!createTableSql.contains("task_process_key") && !createTableSql.contains("task_node_key")){
                     createTableSql = createTableSql.replace(") ENGINE=InnoDB",addField);
                 }
                 commonService.executeSql(createTableSql);
@@ -158,14 +158,17 @@ public class BpmProcessConfigurationServiceImpl implements IBpmProcessConfigurat
         //当前流程需要创建的表
         List<String> list = nodeVo.getTableNameList();
         list = list.stream().filter(l -> !tableNameList.contains(l)).collect(Collectors.toList());
-        String addField = ",task_key varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '任务编码'," +
+        String addField = ",task_process_key varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '任务编码'," +
                           "task_node_key varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '任务节点编码') ENGINE=InnoDB";
+        System.err.println(list.toString());
         // 新建流程节点所需数据表
         for (String tableName : list){
             try {
                 String createTableSql = commonService.selectTableSql(tableName).get("create table");
                 createTableSql = createTableSql.replace("CREATE TABLE","CREATE TABLE IF NOT EXISTS {DBNAME}.");
-                createTableSql = createTableSql.replace(") ENGINE=InnoDB",addField);
+                if(!createTableSql.contains("task_process_key") && !createTableSql.contains("task_node_key")){
+                    createTableSql = createTableSql.replace(") ENGINE=InnoDB",addField);
+                }
                 commonService.executeSql(createTableSql);
             }catch (Exception e){
                 return 0;