xiejun
2023-06-15 8e6c58eec222c4bbea613e02703d9af22da72bee
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -24,10 +24,9 @@
import com.vci.ubcs.code.vo.pagemodel.*;
import com.vci.ubcs.omd.constant.BtmTypeLcStatusConstant;
import com.vci.ubcs.omd.entity.BtmTypeAttribute;
import com.vci.ubcs.omd.feign.IAttributeClient;
import com.vci.ubcs.omd.feign.IBtmTypeClient;
import com.vci.ubcs.omd.feign.IEnumClient;
import com.vci.ubcs.omd.feign.IRevisionRuleClient;
import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.feign.*;
import com.vci.ubcs.omd.utils.VciOmdUtil;
import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.omd.vo.EnumVO;
@@ -67,25 +66,18 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import plm.bs.bom.clientobject.ClientBusinessObject;
import javax.annotation.Resource;
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST;
@@ -108,8 +100,6 @@
   @Resource
   private CodeClstemplateServiceImpl templateService;
   @Resource
   private IAttributeClient attributeClient;
   /**
    * 生成编码的服务
@@ -127,6 +117,11 @@
    */
   @Resource
   ISysClient iSysClient;
   /**
    * 系统的服务
    */
   @Resource
   private IWebSecretClient secretService;
   /**
    * 用户服务
    */
@@ -853,9 +848,7 @@
         }
         int secret = VciBaseUtil.getInt(String.valueOf(cbo.getSecretGrade()));
         //后续看密级服务是否可用
//         if (secret == 0 || !secretService.checkDataSecret(secret)) {
         if (secret == 0 ) {
         if (secret == 0 || !secretService.checkDataSecret(secret).getData()) {
            Integer userSecret = VciBaseUtil.getCurrentUserSecret();
//            cbo.setAttributeValue(SECRET_FIELD, String.valueOf((userSecret == null || userSecret == 0) ? UserSecretEnum.NONE.getValue() : userSecret));
            cbo.setSecretGrade(userSecret == null || userSecret == 0 ? UserSecretEnum.NONE.getValue() : userSecret);
@@ -1245,8 +1238,8 @@
               fieldVO.setComboxKey(fieldVO.getField() + "_data");
            }
         } else {
//            List<KeyValue> osEnumItemVOList= enumService.getEnum(attrVO.getEnumId());
//            fieldVO.setData(osEnumItemVOList);
            List<KeyValue> osEnumItemVOList= VciOmdUtil.enumsToListKeyVale(EnumCache.getList(attrVO.getEnumId()));
            fieldVO.setData(osEnumItemVOList);
         }
      }
      //看是否有参照
@@ -1748,7 +1741,7 @@
      if (attrVOMap.keySet().contains("secretgrade")) {
         Integer userSecret = VciBaseUtil.getCurrentUserSecret();
         if (userSecret == null || userSecret == 0) {
//            userSecret = secretService.getMinUserSecret();
            userSecret = secretService.getMinUserSecret().getData();
         }
         whereSql += " and ( t.secretGrade <= " + userSecret + ") ";
      }
@@ -2970,12 +2963,11 @@
   @Override
   public MdmUIInfoVO getUIInfoByClassifyOid(String codeClassifyOid, String functionId) {
      VciBaseUtil.alertNotNull(codeClassifyOid, "主题库分类主键");
      MdmUIInfoVO uiInfoVO = getTableDefineByTemplateVO(getUsedTemplateByClassifyOid(codeClassifyOid));
      uiInfoVO.setLeaf(classifyService.countChildrenByClassifyOid(codeClassifyOid) == 0);
      if (StringUtils.isNotBlank(functionId) && !"~".equalsIgnoreCase(functionId)) {
         List<Menu> buttonVOS = iSysClient.getMenuButtonByType(uiInfoVO.getTemplateVO().getBtmTypeId()).getData();
         //功能按钮服务还未实现,等实现了,在进行调用
//         List<SmOperationVO> operationVOS = operationService.listButtonByFunctionId(functionId);
//         if (operationVOS == null) {
//            operationVOS = new ArrayList<>();