ludc
2024-12-26 694e0068d20b7b9cc7f2fcc2021bf83765d3799f
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
@@ -4,20 +4,17 @@
import com.vci.client.common.datatype.VTInteger;
import com.vci.client.common.datatype.VTLong;
import com.vci.client.common.datatype.VTString;
import com.vci.client.mw.ClientSessionUtility;
import com.vci.common.utility.ObjectUtility;
import com.vci.corba.common.PLException;
import com.vci.corba.omd.atm.AttributeDef;
import com.vci.corba.omd.ltm.LinkType;
import com.vci.corba.omd.vrm.VersionRule;
import com.vci.dto.OsAttributeDTO;
import com.vci.dto.OsEnumDTO;
import com.vci.dto.OsEnumItemDTO;
import com.vci.enumpck.UI.ItemTypeEnum;
import com.vci.model.OsAttributeDO;
import com.vci.omd.dataType.VTDataType;
import com.vci.omd.objects.OtherInfo;
import com.vci.pagemodel.*;
import com.vci.pagemodel.OsAttributeVO;
import com.vci.pagemodel.OsEnumVO;
import com.vci.po.OsAttributePO;
import com.vci.po.OsEnumPO;
import com.vci.starter.poi.bo.ReadExcelOption;
import com.vci.starter.poi.bo.WriteExcelData;
import com.vci.starter.poi.bo.WriteExcelOption;
@@ -28,15 +25,11 @@
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.*;
import com.vci.starter.web.util.*;
import com.vci.model.OsAttributeDO;
import com.vci.web.enumpck.ItemTypeEnum;
import com.vci.web.enumpck.PortalVITypeFlag;
import com.vci.web.properties.UsedNames;
import com.vci.web.service.OsAttributeServiceI;
import com.vci.web.service.OsBaseServiceI;
import com.vci.web.service.OsEnumServiceI;
import com.vci.web.service.OsLinkTypeServiceI;
import com.vci.web.util.Func;
import com.vci.starter.web.util.Lcm.Func;
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.WebUtil;
import org.apache.commons.lang3.StringUtils;
@@ -47,17 +40,12 @@
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.web.multipart.MultipartFile;
import javax.swing.*;
import java.awt.*;
import java.io.File;
import java.util.*;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
//import static com.vci.client.omd.attribpool.ui.VTDataTypePanel.*;
import static com.vci.omd.constants.AttributeConstants.*;
/**
@@ -92,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");
   /**
    * 链接类型服务
@@ -229,7 +225,6 @@
            pTree.setExpanded(true);
         }
      }
   }
   /**
@@ -927,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;
      }
@@ -944,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;