yuxc
2024-06-04 93f7335e1a52591662d5d37f41ac352860b2ca2a
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebBtmIOServiceImpl.java
@@ -1,6 +1,9 @@
package com.vci.web.service.impl;
import com.vci.corba.common.VCIError;
import com.vci.corba.omd.etm.EnumType;
import com.vci.corba.omd.lcm.Bound;
import com.vci.corba.omd.lcm.LifeCycle;
import com.vci.corba.omd.lcm.TransitionVO;
import com.vci.starter.poi.bo.WriteExcelData;
import com.vci.starter.poi.bo.WriteExcelOption;
import com.vci.starter.poi.util.ExcelUtil;
@@ -27,29 +30,12 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import plm.bs.omd.linktype.common.LinkTypeProvider;
import plm.corba.attribpool.AttribItem;
import plm.corba.btm.BTMServiceOperations;
import plm.corba.btm.BtmItem;
import com.vci.corba.omd.etm.EnumChild;
import com.vci.corba.omd.etm.EnumItem;
import plm.corba.lifecycle.Bound;
import plm.corba.lifecycle.LifeCyle;
import plm.corba.lifecycle.TransitionVO;
import plm.corba.lifecycle.TransitionVOEvent;
import plm.corba.linkTypeManager.LinkType;
import plm.corba.statePoolManager.StatePool;
import plm.ddlTool.client.DDLToolClient;
import plm.vo.omd.btm.common.BtmProvider;
import plm.vo.omd.btm.resource.Tool;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
import static plm.vo.omd.attribpool.ui.VTDataTypePanel.*;
/**
@@ -126,7 +112,6 @@
     */
    @Autowired
    private OsDDLExportWordFieldProperties wordFieldProperties;
    /**
     * 导入业务类型和链接类型,包含属性,枚举,状态,生命周期,版本规则等全套内容
@@ -258,21 +243,21 @@
            allLifeCycleLowMap.put(id.toLowerCase(Locale.ROOT),lifeCycleVO);
        });
        //不存在的生命周期对象
        List<LifeCyle> unExistLifeCycleList = new ArrayList<LifeCyle>();
        List<LifeCyle> editLifeCycleList = new ArrayList<LifeCyle>();
        List<LifeCycle> unExistLifeCycleList = new ArrayList<LifeCycle>();
        List<LifeCycle> editLifeCycleList = new ArrayList<LifeCycle>();
        String userId = WebUtil.getCurrentUserId();
        String now = VciDateUtil.getNowString(VciDateUtil.DateTimeFormat);
        //循环分析需要添加还是修改
        for(OsLifeCycleDTO lifeCycleDTO : lifeCycleDTOList){
            String lifeCycleId = lifeCycleDTO.getId().toLowerCase().trim();
            LifeCyle lifeCyle = null;
            LifeCycle lifeCyle = null;
            boolean edit = false;
            if(!existLifeCycleLowIds.contains(lifeCycleId)) {
                lifeCyle = new LifeCyle();
                lifeCyle = new LifeCycle();
                lifeCyle.oid = "";
                lifeCyle.id = "";
                lifeCyle.creator = userId;
                lifeCyle.createTime = now;
                lifeCyle.createTime = System.currentTimeMillis();
                lifeCyle.ts = now;
                lifeCyle.name = lifeCycleDTO.getId();
            }else {
@@ -283,7 +268,7 @@
            lifeCyle.description = lifeCycleDTO.getDescription() == null?"":lifeCycleDTO.getDescription();
            lifeCyle.startState = lifeCycleDTO.getStartStatus() == null?"":lifeCycleDTO.getStartStatus();
            lifeCyle.modifier = userId;
            lifeCyle.modifyTime = now;
            lifeCyle.modifyTime = System.currentTimeMillis();
            //找区域
            List<OsLifeCycleLineDTO> lineDTOList = lifeCycleDTO.getLineDTOList();
            if(CollectionUtils.isEmpty(lineDTOList)){
@@ -485,8 +470,8 @@
    private void importEnums(Collection<OsEnumDTO> enumDTOList) throws VciBaseException{
        Set<String> existEnumIdList = enumService.selectAllEnumMap().keySet();
        Map<String, OsEnumVO> allEnumMap = enumService.selectAllEnumMap();
        List<EnumItem> unExistEnumList = new ArrayList<EnumItem>();
        List<EnumItem> editEnumList = new ArrayList<EnumItem>();
        List<EnumType> unExistEnumList = new ArrayList<EnumType>();
        List<EnumType> editEnumList = new ArrayList<EnumType>();
        String userId = WebUtil.getCurrentUserId();
        String now = VciDateUtil.getNowString(VciDateUtil.DateTimeFormat);
@@ -494,7 +479,7 @@
        for(OsEnumDTO enumDTO : enumDTOList){
            String enumId = enumDTO.getId().toLowerCase().trim();
            if(!existEnumIdList.contains(enumId)){
                EnumItem enumItem = new EnumItem();
                EnumType enumItem = new EnumType();
                enumItem.oid = "";
                enumItem.ts = now;
                enumItem.creator = userId;
@@ -508,24 +493,24 @@
                enumItem.type = "int".equalsIgnoreCase(enumDTO.getEnumValueDataType())?"Integer":"String";
                enumItem.length = enumDTO.getLength();
                List<EnumChild> childList = new ArrayList<EnumChild>();
                List<EnumItem> childList = new ArrayList<EnumItem>();
                Map<String, String> itemMaps = enumDTO.getItemMaps();
                if(CollectionUtils.isEmpty(itemMaps)){
                    throw new VciBaseException("枚举{0}没有选项",new String[]{enumItem.name});
                }
                for(String key : itemMaps.keySet()){
                    String value = itemMaps.get(key);
                    EnumChild enumChild = new EnumChild();
                    EnumItem enumChild = new EnumItem();
                    enumChild.name = value;
                    enumChild.value = key;
                    enumChild.description = "";
                    childList.add(enumChild);
                }
                enumItem.children = childList.toArray(new EnumChild[0]);
                enumItem.items = childList.toArray(new EnumItem[0]);
                unExistEnumList.add(enumItem);
            }else{
                //修改内容
                EnumItem enumItem = new EnumItem();
                EnumType enumItem = new EnumType();
                OsEnumVO enumVO = allEnumMap.get(enumId);
                enumItem.oid = enumVO.getOid();
                // enumItem.createTime = VciDateUtil.date2Str(enumVO.getCreateTime(),VciDateUtil.DateTimeFormat);
@@ -540,20 +525,20 @@
                enumItem.type = "int".equalsIgnoreCase(enumDTO.getEnumValueDataType())?"Integer":"String";
                enumItem.length = enumDTO.getLength();
                List<EnumChild> childList = new ArrayList<EnumChild>();
                List<EnumItem> childList = new ArrayList<EnumItem>();
                Map<String, String> itemMaps = enumDTO.getItemMaps();
                if(CollectionUtils.isEmpty(itemMaps)){
                    throw new VciBaseException("枚举{0}没有选项",new String[]{enumItem.name});
                }
                for(String key : itemMaps.keySet()){
                    String value = itemMaps.get(key);
                    EnumChild enumChild = new EnumChild();
                    EnumItem enumChild = new EnumItem();
                    enumChild.name = value;
                    enumChild.value = key;
                    enumChild.description = "";
                    childList.add(enumChild);
                }
                enumItem.children = childList.toArray(new EnumChild[0]);
                enumItem.items = childList.toArray(new EnumItem[0]);
                editEnumList.add(enumItem);
            }
        }