ludc
2024-12-26 694e0068d20b7b9cc7f2fcc2021bf83765d3799f
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
@@ -26,7 +26,6 @@
import com.vci.starter.web.pagemodel.*;
import com.vci.starter.web.util.*;
import com.vci.web.enumpck.PortalVITypeFlag;
import com.vci.web.properties.UsedNames;
import com.vci.web.service.OsAttributeServiceI;
import com.vci.web.service.OsEnumServiceI;
import com.vci.web.service.OsLinkTypeServiceI;
@@ -81,14 +80,22 @@
   private Integer NAME_MAX_LENGTH = 28;
   /**
    * 系统中变量配置文件中配置的key
    * 数据库中的一些关键字
    */
   private final String SYSUSEDNAMES = "sysUsedNames";
   /**
    * 数据库中关键字配置文件中配置的key
    */
   private final String DATABASEUSEDNAMES = "dataBaseUsedNames";
   private final List<String> DATABASEUSEDNAMELIST = Arrays.asList(
         "ACCESS", "ADD", "ALL", "ALTER", "AND", "ANY", "AS", "ASC", "AUDIT", "BETWEEN",
         "BY", "CHAR", "CHECK", "CLUSTER", "COLUMN", "COMMENT", "COMPRESS", "CONNECT",
         "CREATE", "CURRENT", "DATE", "DECIMAL", "DEFAULT", "DELETE", "DESC", "DISTINCT",
         "DROP", "ELSE", "EXCLUSIVE", "EXISTS", "FILE", "FLOAT", "FOR", "FROM", "GRANT", "GROUP",
         "HAVING", "IDENTIFIED", "IMMEDIATE", "IN", "INCREMENT", "INDEX", "INITIAL",
         "INSERT", "INTEGER", "INTERSECT", "INTO", "IS", "LEVEL", "LIKE", "LOCK", "LONG",
         "MAXEXTENTS", "MINUS", "MLSLABEL", "MODE", "MODIFY", "NOAUDIT", "NOCOMPRESS",
         "NOT", "NOWAIT", "NULL", "NUMBER", "OF", "OFFLINE", "ON", "ONLINE", "OPTION", "OR", "ORDER",
         "P", "CTFREE", "PRIOR", "PRIVILEGES", "PUBLIC", "RAW", "RENAME", "RESOURCE", "REVOKE",
         "ROW", "ROWID", "ROWNUM", "ROWS", "SELECT", "SESSION", "SET", "SHARE", "SIZE", "SMALLINT",
         "START", "SUCCESSFUL", "SYNONYM", "SYSDATE", "TABLE", "THEN", "TO", "TRIGGER", "UID", "UNION",
         "UNIQUE", "UPDATE", "USER", "VALIDATE", "VALUES", "VARCHAR", "VARCHAR2", "VIEW",
         "WHENEVER", "WHERE", "WITH");
   /**
    * 链接类型服务
@@ -915,10 +922,14 @@
    * @param abName
    * @return
    */
   private boolean usedBySystem(String abName) {
   private boolean usedBySystem(String abName) throws PLException {
      boolean flag = false;
      String[] names = UsedNames.getProperty(SYSUSEDNAMES).toUpperCase().split(",");
      List<String> nameList = Arrays.asList(names);
      AttributeDef[] sysAttributeDefs = platformClientUtil.getBtmService().getSysAttributeDefs();
      List<String> nameList = null;
      if(Func.isNotEmpty(sysAttributeDefs)){
         nameList = Arrays.stream(sysAttributeDefs)
               .map(item -> item.name.toUpperCase(Locale.ROOT)).collect(Collectors.toList());
      }
      if(nameList.contains(abName.toUpperCase())){
         flag = true;
      }
@@ -932,9 +943,7 @@
    */
   private boolean usedByDataBase(String abName){
      boolean flag = false;
      String[] names = UsedNames.getProperty(DATABASEUSEDNAMES).toUpperCase().split(",");
      List<String> nameList = Arrays.asList(names);
      if(nameList.contains(abName.toUpperCase())){
      if(DATABASEUSEDNAMELIST.contains(abName.toUpperCase())){
         flag = true;
      }
      return flag;