dangsn
2024-06-05 72c7bbd66b8456db7dabf0dbc15f7aa9c2af2b9d
项目引用调整
已修改21个文件
已添加1个文件
388 ■■■■ 文件已修改
Source/platformProject/vci-platform-starter/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/constant/CorbaKeyConstant.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/dao/impl/WebProcessDaoImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/initTask/VciWebInitTaskComponent.java 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/OsLinkTypeServiceI.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/WebLoServiceI.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/WebProcessCommandServiceI.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/WebSecretServiceI.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/OsEnumServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/OsLinkTypeServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebBtmIOServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebContextInfoFetcher.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java 99 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebLogServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebProcessCommandServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebProcessDefineServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebSecretServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/util/PlatformClientUtil.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-starter/pom.xml
@@ -119,11 +119,6 @@
            <artifactId>plt-slice</artifactId>
            <version>${plt.version}</version>
        </dependency>
        <dependency>
            <groupId>com.vci.FrameService</groupId>
            <artifactId>FrameService</artifactId>
            <version>1.0.RELEASE</version>
        </dependency>
        <!--common的依赖-->
        <dependency>
            <groupId>com.zeroc</groupId>
Source/platformProject/vci-platform-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
@@ -1,11 +1,11 @@
package com.vci.frameworkcore.compatibility.impl;
import com.vci.client.common.providers.ServiceProvider;
import com.vci.common.util.ThreeDES;
import com.vci.corba.common.PLException;
import com.vci.frameworkcore.compatibility.SmUserQueryServiceI;
import com.vci.frameworkcore.pagemodel.SmPasswordStrategyVO;
import com.vci.frameworkcore.pagemodel.SmUserVO;
import com.vci.server.common.ThreeDES;
import com.vci.starter.web.enumpck.BooleanEnum;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.DataGrid;
@@ -31,7 +31,6 @@
import java.util.stream.Collectors;
import static com.vci.frameworkcore.constant.FrameWorkBusLangCodeConstant.DATA_OID_NOT_EXIST;
import static com.vci.web.constant.CacheNameConstant.VCI_OBJECT_SERVICE;
import static com.vci.web.constant.CacheNameConstant.VCI_USER;
import static com.vci.web.util.WebUtil.arryAndSqlToClientBusinessObject;
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/constant/CorbaKeyConstant.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package com.vci.web.constant;
/**
 * @Description
 * @Author dangsn
 * @Date 2024/6/5 12:33
 */
public class CorbaKeyConstant {
    public static final String CURRENT_USER_ID = "CURRENTUSER.ID";
    public static final String CURRENT_USER_NAME = "CURRENTUSER.NAME";
    public static final String CURRENT_USER_SECRET = "CURRENTUSER.SECRETGRADE";
    public static final String CURRENT_USER_EMAIL = "CURRENTUSER.EMAIL";
    public static final String CURRENT_USER_GROUPNUM = "CURRENTUSER.GROUPNUM";
    public static final String CURRENT_MACHINE_SECRET = "CURRENTMACHINE.SECRET";
    public static final String IP_SECRET_SWITCH = "IPSECRETSWITCH";
    public static final String CURRENT_USER_GROUPNAME = "CURRENTUSER.GROUPNAME";
    public static final String USER_SECRET_SWITCH = "USERSECRETSWITCH";
    public static final String CURRENTTIME = "CURRENTTIME";
}
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/dao/impl/WebProcessDaoImpl.java
@@ -810,7 +810,7 @@
    @Override
    public WorkflowServicePrx getWorkService() throws VciBaseException{
        if(workService == null){
            this.workService = platformClientUtil.getLogonFactoryService();
            this.workService = platformClientUtil.getWorkflowService();
        }
        return workService;
    }
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/initTask/VciWebInitTaskComponent.java
@@ -3,12 +3,12 @@
import com.alibaba.fastjson.JSONObject;
import com.vci.client.mw.ClientContextVariable;
import com.vci.client.mw.LaunchModeEnum;
import com.vci.corba.common.PLException;
import com.vci.corba.omd.data.AttributeValue;
import com.vci.frameworkcore.constant.FrameWorkBtmTypeConstant;
import com.vci.frameworkcore.properties.VciFramworkCompatibilityProperties;
import com.vci.starter.web.annotation.config.VciConfigField;
import com.vci.starter.web.annotation.config.VciConfigModule;
import com.vci.starter.web.enumpck.DataSecretEnum;
import com.vci.starter.web.enumpck.SessionStorageTypeEnum;
import com.vci.starter.web.enumpck.UserSecretEnum;
import com.vci.starter.web.interceptor.VciSessionForLoginI;
@@ -19,7 +19,9 @@
import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
import com.vci.web.pageModel.OsAttributeVO;
import com.vci.web.properties.WebProperties;
import com.vci.web.service.*;
import com.vci.web.service.OsAttributeServiceI;
import com.vci.web.service.VciMdServiceI;
import com.vci.web.service.WebSecretServiceI;
import com.vci.web.service.impl.UIEngineServiceImpl;
import com.vci.web.service.impl.WebContextInfoFetcher;
import com.vci.web.service.impl.WebInitServiceImpl;
@@ -41,6 +43,8 @@
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.*;
import java.util.stream.Collectors;
@@ -279,8 +283,8 @@
    public void initSetting() {
        System.out.println("----初始化用于查询配置的用户----");
        ClientContextVariable.setClientLanuchMode(LaunchModeEnum.WebApp);
        InvocationUtility.registerIInvocationContext(contextInfoFetcher);
        JacorbClientRequestInterceptor.sessionContext = contextInfoFetcher;
//        InvocationUtility.registerIInvocationContext(contextInfoFetcher);
//        JacorbClientRequestInterceptor.sessionContext = contextInfoFetcher;
        System.out.println("----初始化用于查询配置的用户完成----");
        System.out.println("----开始扫描有VciConfigModule注解的类----");
        String[] namesForAnnotation = ApplicationContextProvider.getApplicationContext().getBeanNamesForAnnotation(VciConfigModule.class);
@@ -302,43 +306,43 @@
                        }
                        configFieldMap.put(vciConfigField.value(),field);
                    });
//                    configFieldMap.forEach((configField,field)->{
//                        String configValue = null;
//                        try {
//                            configValue = platformClientUtil.getLogonFactoryService().getFrameworkService().getConfigValue("",configField);
//                        } catch (VCIError vciError) {
//                           if(logger.isErrorEnabled()){
//                               logger.error(vciError.error_code,vciError);
//                           }
//                        }
//                        Class<?> fieldType = field.getType();
//                        Method method = WebUtil.getSetmethod(bean.getClass(), field);
//                        Object value = null;
//                        if(fieldType.equals(Boolean.class) || fieldType.equals(boolean.class)){
//                            value = ("on".equalsIgnoreCase(configValue) || "true".equalsIgnoreCase(configValue))?true:false;
//                        }else if(fieldType.equals(Double.class) || fieldType.equals(double.class)){
//                            value = WebUtil.getDouble(configValue);
//                        }else if(fieldType.equals(Long.class) || fieldType.equals(long.class)){
//                            value = WebUtil.getLong(configValue);
//                        }else if(fieldType.equals(Float.class) || fieldType.equals(float.class)){
//                            value = WebUtil.getFloat(configValue);
//                        }else if(fieldType.equals(Integer.class) || fieldType.equals(int.class)){
//                            value = WebUtil.getInt(configValue);
//                        }else{
//                            value = configValue;
//                        }
//                        try {
//                            method.invoke(bean,value);
//                        } catch (IllegalAccessException e) {
//                            if(logger.isErrorEnabled()){
//                                logger.error(e.getMessage(),e);
//                            }
//                        } catch (InvocationTargetException e) {
//                            if(logger.isErrorEnabled()){
//                                logger.error(e.getMessage(),e);
//                            }
//                        }
//                    });
                    configFieldMap.forEach((configField,field)->{
                        String configValue = null;
                        try {
                            configValue = platformClientUtil.getFrameworkService().getConfigValue(configField);
                        } catch (PLException vciError) {
                           if(logger.isErrorEnabled()){
                               logger.error(vciError.code,vciError);
                           }
                        }
                        Class<?> fieldType = field.getType();
                        Method method = WebUtil.getSetmethod(bean.getClass(), field);
                        Object value = null;
                        if(fieldType.equals(Boolean.class) || fieldType.equals(boolean.class)){
                            value = ("on".equalsIgnoreCase(configValue) || "true".equalsIgnoreCase(configValue))?true:false;
                        }else if(fieldType.equals(Double.class) || fieldType.equals(double.class)){
                            value = WebUtil.getDouble(configValue);
                        }else if(fieldType.equals(Long.class) || fieldType.equals(long.class)){
                            value = WebUtil.getLong(configValue);
                        }else if(fieldType.equals(Float.class) || fieldType.equals(float.class)){
                            value = WebUtil.getFloat(configValue);
                        }else if(fieldType.equals(Integer.class) || fieldType.equals(int.class)){
                            value = WebUtil.getInt(configValue);
                        }else{
                            value = configValue;
                        }
                        try {
                            method.invoke(bean,value);
                        } catch (IllegalAccessException e) {
                            if(logger.isErrorEnabled()){
                                logger.error(e.getMessage(),e);
                            }
                        } catch (InvocationTargetException e) {
                            if(logger.isErrorEnabled()){
                                logger.error(e.getMessage(),e);
                            }
                        }
                    });
                }
            }
        }
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/OsLinkTypeServiceI.java
@@ -1,12 +1,11 @@
package com.vci.web.service;
import com.vci.corba.omd.ltm.LinkType;
import com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.web.pageModel.OsAttributeVO;
import com.vci.web.pageModel.OsBtmTypeAttributeVO;
import com.vci.web.pageModel.OsLinkTypeAttributeVO;
import com.vci.web.pageModel.OsLinkTypeVO;
import plm.corba.linkTypeManager.LinkType;
import java.util.Collection;
import java.util.List;
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/WebLoServiceI.java
@@ -3,6 +3,7 @@
import com.vci.client.bof.ClientBusinessObject;
import com.vci.client.bof.ClientLinkObject;
import com.vci.client.bof.ClientLinkObjectOperation;
import com.vci.corba.omd.data.LinkObject;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.pagemodel.PageHelper;
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/WebProcessCommandServiceI.java
@@ -1,6 +1,6 @@
package com.vci.web.service;
import com.vci.rmip.workflow.server.template.TasksAssigned;
import com.vci.corba.workflow.data.TasksAssignedInfo;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.web.dto.ProcessStartConfigDTO;
import com.vci.web.pageModel.ProcessUserVO;
@@ -78,7 +78,7 @@
     * @return
     * @throws VciBaseException
     */
     TasksAssigned getProxy() throws VciBaseException;
    TasksAssignedInfo getProxy() throws VciBaseException;
    /**
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/WebSecretServiceI.java
@@ -1,10 +1,7 @@
package com.vci.web.service;
import com.vci.frameworkcore.pagemodel.SmUserVO;
import com.vci.rmip.framework.client.systemConfig.object.UserObject;
import com.vci.starter.web.exception.VciBaseException;
import java.util.Map;
/**
 * web端的密级服务
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/OsEnumServiceImpl.java
@@ -32,7 +32,6 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.web.util.HtmlUtils;
import plm.corba.enumManager.EnumItemFilter;
import java.util.*;
import java.util.stream.Collectors;
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/OsLinkTypeServiceImpl.java
@@ -1,6 +1,7 @@
package com.vci.web.service.impl;
import com.vci.corba.common.PLException;
import com.vci.corba.omd.ltm.LinkType;
import com.vci.starter.web.annotation.log.VciUnLog;
import com.vci.starter.web.enumpck.VciFieldTypeEnum;
import com.vci.starter.web.pagemodel.BaseQueryObject;
@@ -137,9 +138,9 @@
            vo.setCreator(linkType.creator);
            vo.setLastModifier(linkType.modifier);
            try {
                vo.setCreateTime(VciDateUtil.str2Date(linkType.createTime,VciDateUtil.DateTimeFormat));
                vo.setLastModifyTime(VciDateUtil.str2Date(linkType.modifyTime,VciDateUtil.DateTimeFormat));
                vo.setTs(VciDateUtil.str2Date(linkType.ts,VciDateUtil.DateTimeMillFormat));
                vo.setCreateTime(VciDateUtil.long2Date(linkType.createTime));
                vo.setLastModifyTime(VciDateUtil.long2Date(linkType.modifyTime));
                vo.setTs(VciDateUtil.long2Date(linkType.ts));
            } catch (Exception e) {
                e.printStackTrace();
            }
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java
@@ -2232,12 +2232,8 @@
            throw WebUtil.getVciBaseException(vciError);
        }
        //保存to端或者from端
        BusinessObjectHolder boHolder = new BusinessObjectHolder();
//        toCbo.dealBusinessObjectNullValue();
//        boHolder.value = toCbo.getBusinessObject();
        try{
//            platformClientUtil.getBOFactoryService().updateBusinessObject(boHolder);
            ServiceProvider.getBOFService().updateBusinessObject(toCbo.getBusinessObject());
            platformClientUtil.getBOFactoryService().updateBusinessObject(toCbo.getBusinessObject());
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
@@ -39,7 +39,6 @@
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import plm.corba.portal.*;
import java.util.*;
import java.util.stream.Collectors;
@@ -865,7 +864,7 @@
    @Cacheable(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_UI,unless = "#result == null")
    public List<UIContentVO> selectAllUIContent() {
        try {
            return UIContentDO2VOs(Arrays.stream(platformClientUtil.getPortalService().getAllPLPageLayoutDefinations()).collect(Collectors.toList()));
            return UIContentDO2VOs(Arrays.stream(platformClientUtil.getPortalService().getAllPLUILayouts()).collect(Collectors.toList()));
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
@@ -876,10 +875,10 @@
     * @param pageLayoutDefinations ä¸Šä¸‹æ–‡UI对象
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    private List<UIContentVO> UIContentDO2VOs(Collection<PLPageLayoutDefination> pageLayoutDefinations){
    private List<UIContentVO> UIContentDO2VOs(Collection<PLUILayout> pageLayoutDefinations){
        List<UIContentVO> contentVOS = new ArrayList<>();
        Optional.ofNullable(pageLayoutDefinations).orElseGet(()->new ArrayList<PLPageLayoutDefination>()).stream().forEach(pageLayout->{
//            contentVOS.add(UIContentDO2VO(pageLayout,false));
        Optional.ofNullable(pageLayoutDefinations).orElseGet(()->new ArrayList<PLUILayout>()).stream().forEach(pageLayout->{
            contentVOS.add(UIContentDO2VO(pageLayout,false));
        });
        if(!CollectionUtils.isEmpty(contentVOS)) {
            Map<String, List<UILayoutVO>> layoutMap = batchListLayoutByContent(contentVOS.stream().map(UIContentVO::getOid).collect(Collectors.toSet()));
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
@@ -556,14 +556,14 @@
     * @return æŸ¥è¯¢å‡ºæ¥çš„值
     * @throws VciBaseException æŸ¥è¯¢å‡ºé”™çš„æ—¶å€™ä¼šæŠ›å‡ºå¼‚常
     */
    private List<com.vci.client.bof.ClientBusinessObject> baseQueryCBO(QueryTemplate qt,Map<String,String> conditionMap,PageHelper ph,List<String> clauseList) throws VciBaseException{
    private List<ClientBusinessObject> baseQueryCBO(QueryTemplate qt,Map<String,String> conditionMap,PageHelper ph,List<String> clauseList) throws VciBaseException{
        List<com.vci.client.bof.ClientBusinessObject> allCbos = new ArrayList<com.vci.client.bof.ClientBusinessObject>();
        if(clauseList == null){
            clauseList = new ArrayList<String>();
            clauseList.add("*");
        }
        setRightValueToQueryTemplate(qt,conditionMap);//设置密级查询,和数据权限控制
        List<com.vci.corba.query.data.BtmRefQueryOption> refOpts = new ArrayList<BtmRefQueryOption>();
        List<BtmRefQueryOption> refOpts = new ArrayList<BtmRefQueryOption>();
        List<String> enumAttrName = new ArrayList<String>();
        List<String> thisQueryAttr = new ArrayList<String>();
        if(clauseList!=null && clauseList.size()>0){
@@ -610,25 +610,15 @@
        //设置分页信息和排序
        setPageAndOrderToQT(qt,ph);
        try {
            // QTServiceOperations qtService = platformClientUtil.getQueryService();
            ObjectQueryServicePrx qtService = ServiceProvider.getOQService();
            ObjectQueryServicePrx qtService = platformClientUtil.getQueryService();
            if(qtService == null){
                logger.error("没有找到查询服务");
                throw new VciBaseException(msgCodePrefix+"qtServerNull", new String[]{});
            }
//            IntHolder count = new IntHolder();
            ObjectQueryService.FindBTMObjectsV3Result bos = null;
//            String invo = JSONObject.toJSONString(InvocationUtility.getInvocation());
            try{
                //bos = qtService.findBTMObjectsV3(invo,qt.getId(), OQTool.qtTOXMl(qt).asXML(),count,refOpts.toArray(new BtmRefQueryOption[0]));
                bos = qtService.findBTMObjectsV3(qt.getId(), OQTool.qtTOXMl(qt).asXML(), refOpts.toArray(new BtmRefQueryOption[0]));
            }catch (PLException e){
                //bos = qtService.findBTMObjectsV4(invo,qt.getId(), OQTool.qtTOXMl(qt).asXML(),count,refOpts.toArray(new BtmRefQueryOption[0]));
                bos = qtService.findBTMObjectsV3(qt.getId(), OQTool.qtTOXMl(qt).asXML(), refOpts.toArray(new BtmRefQueryOption[0]));
            }
            ObjectQueryService.FindBTMObjectsV3Result bos = qtService.findBTMObjectsV3(qt.getId(), OQTool.qtTOXMl(qt).asXML(), refOpts.toArray(new BtmRefQueryOption[refOpts.size()]));
            if (bos != null && bos.count > 0) {
                for (com.vci.corba.omd.data.BusinessObject bo : bos.returnValue) {
                    com.vci.client.bof.ClientBusinessObject cbo = new com.vci.client.bof.ClientBusinessObject();
                for (BusinessObject bo : bos.returnValue) {
                    ClientBusinessObject cbo = new ClientBusinessObject();
                    cbo.setBusinessObject(bo);
                    queryEnumText(cbo,enumAttrName);
                    allCbos.add(cbo);
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebBtmIOServiceImpl.java
@@ -41,7 +41,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import plm.ddlTool.client.DDLToolClient;
import java.io.File;
import java.io.FileNotFoundException;
@@ -648,8 +647,9 @@
                    String alterSql = BtmProvider.getInstance().getAddPKSql(btmItem.name);
                    sql = sql.substring(0, sql.lastIndexOf(","));
                    sql = sql + "\n)";
                    DDLToolClient.getService().executeUpdateOracle(sql);
                    DDLToolClient.getService().executeUpdateOracle(alterSql);
                    //TODO æš‚时不清楚用何种方式创建表,此处先注释掉
//                    DDLToolClient.getService().executeUpdateOracle(sql);
//                    DDLToolClient.getService().executeUpdateOracle(alterSql);
                }catch (PLException vciError){
                    throw WebUtil.getVciBaseException(vciError);
                }
@@ -1131,7 +1131,8 @@
            }
            addSql = VciBaseUtil.removeComma(addSql.replace("\n\t",""));
            addSql = addSql + ")";
            DDLToolClient.getService().batchExecuteUpdateOracle(new String[]{addSql});
            //TODO ä¸æ¸…楚具体使用什么方法,暂时注释,但不要删除
//            DDLToolClient.getService().batchExecuteUpdateOracle(new String[]{addSql});
        }
    }
@@ -1149,7 +1150,8 @@
            }
            removeSql = VciBaseUtil.removeComma(removeSql.replace("\n\t",""));
            removeSql = removeSql + ")";
            DDLToolClient.getService().batchExecuteUpdateOracle(new String[]{removeSql});
            //TODO ä¸æ¸…楚具体使用什么方法,暂时注释,但不要删除
//            DDLToolClient.getService().batchExecuteUpdateOracle(new String[]{removeSql});
        }
    }
@@ -1285,8 +1287,9 @@
                    }
                    sql = sql.substring(0, sql.lastIndexOf(","));
                    sql = sql + "\n)";
                    DDLToolClient.getService().executeUpdateOracle(sql);
                    DDLToolClient.getService().executeUpdateOracle(LinkTypeProvider.getInstance().getAddPKSql(linkType.name));
                    //TODO ä¸æ¸…楚具体使用什么方法,暂时注释,但不要删除
//                    DDLToolClient.getService().executeUpdateOracle(sql);
//                    DDLToolClient.getService().executeUpdateOracle(LinkTypeProvider.getInstance().getAddPKSql(linkType.name));
                }catch (PLException vciError){
                    throw WebUtil.getVciBaseException(vciError);
                }
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebContextInfoFetcher.java
@@ -1,14 +1,13 @@
package com.vci.web.service.impl;
import com.vci.corba.common.data.VCIInvocationInfo;
import com.vci.mw.client.ClientContextVariable;
import com.vci.mw.client.IInvocationContext;
import com.vci.starter.corba.constant.CorbaKeyConstant;
import com.vci.starter.corba.initializer.JacorbSessionContext;
import com.vci.client.mw.ClientSessionUtility;
import com.vci.client.mw.IInvocationContext;
import com.vci.corba.common.data.InvocationInfo;
import com.vci.starter.web.annotation.log.VciUnLog;
import com.vci.starter.web.enumpck.DataSecretEnum;
import com.vci.starter.web.pagemodel.SessionInfo;
import com.vci.starter.web.util.WebThreadLocalUtil;
import com.vci.web.constant.CorbaKeyConstant;
import org.springframework.stereotype.Component;
import java.util.HashMap;
@@ -20,7 +19,7 @@
 * @date 2021-2-2
 */
@Component
public class WebContextInfoFetcher implements IInvocationContext, JacorbSessionContext {
public class WebContextInfoFetcher implements IInvocationContext {
    /**
     * èŽ·å–corba所需的会话的信息
@@ -28,46 +27,30 @@
     */
    @Override
    @VciUnLog
    public VCIInvocationInfo getInvocationInfo() {
    public InvocationInfo getInvocationInfo() {
        SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().get();
        if(sessionInfo == null){
            return ClientContextVariable.getInvocationInfo();
            return ClientSessionUtility.getInvocation();
        }else {
            VCIInvocationInfo vcii = new VCIInvocationInfo();
            InvocationInfo vcii = new InvocationInfo();
            if (sessionInfo != null) {
                vcii.clientIPInfo = sessionInfo.getIp()==null?"127.0.0.1":sessionInfo.getIp();
                vcii.clientMachine = sessionInfo.getMachine()== null?"PC":sessionInfo.getMachine();
                vcii.clientOS = sessionInfo.getOs()==null?"windows":sessionInfo.getOs();
                vcii.clientOSUser = sessionInfo.getOsUser() == null?"unknow":sessionInfo.getOsUser();
                vcii.email=sessionInfo.getEmail() ==null?"":sessionInfo.getEmail();
                vcii.groupIDs = sessionInfo.getDeptOid()==null?new String[0]:sessionInfo.getDeptOid().split(",");
                vcii.groupNames =sessionInfo.getDeptName() ==null?new String[0]:sessionInfo.getDeptName().split(",");
                vcii.language = sessionInfo.getLanguage()==null?"ZH_CN":sessionInfo.getLanguage();
                vcii.secretGrade = sessionInfo.getUserSecret()==null?"10": sessionInfo.getUserSecret();
                vcii.trueName = sessionInfo.getUserName() ==null?"":sessionInfo.getUserName();
                vcii.userID = sessionInfo.getUserOid()==null?"":sessionInfo.getUserOid();
                vcii.userName = sessionInfo.getUserId() == null?"":sessionInfo.getUserId();
                vcii.roleIDs = sessionInfo.getRolesName() == null ? new String[0]:sessionInfo.getRolesName().keySet().toArray(new String[0]);
                vcii.roleNames = sessionInfo.getRolesName() == null ? new String[0]:sessionInfo.getRolesName().values().toArray(new String[0]);
                vcii.setToken(sessionInfo.getToken());
                Map<String,String> globalAttributeMap = sessionInfo.getGlobalAttributeMap();
                if(globalAttributeMap==null){
                    globalAttributeMap = new HashMap<>();
                    globalAttributeMap.put(CorbaKeyConstant.CURRENT_USER_ID,sessionInfo.getUserId());
                    globalAttributeMap.put(CorbaKeyConstant.CURRENT_USER_NAME,sessionInfo.getUserName());
                    globalAttributeMap.put(CorbaKeyConstant.CURRENT_USER_SECRET,sessionInfo.getUserSecret());
                    globalAttributeMap.put(CorbaKeyConstant.CURRENT_USER_EMAIL,sessionInfo.getEmail());
                    globalAttributeMap.put(CorbaKeyConstant.CURRENT_USER_GROUPNUM,"");
                    globalAttributeMap.put(CorbaKeyConstant.CURRENT_MACHINE_SECRET, DataSecretEnum.NONE.getValue()+"");
                    globalAttributeMap.put(CorbaKeyConstant.IP_SECRET_SWITCH,"off");
                    globalAttributeMap.put(CorbaKeyConstant.CURRENT_USER_GROUPNAME,sessionInfo.getDeptName());
                    globalAttributeMap.put(CorbaKeyConstant.USER_SECRET_SWITCH,"off");
                    globalAttributeMap.put(CorbaKeyConstant.CURRENTTIME, String.valueOf(System.currentTimeMillis()));
                }
                String[] globalAttributeString = new String[11];
                globalAttributeString[0]= CorbaKeyConstant.CURRENT_USER_ID + "=" + globalAttributeMap.getOrDefault(CorbaKeyConstant.CURRENT_USER_ID,sessionInfo.getUserId());
                globalAttributeString[1]=CorbaKeyConstant.CURRENT_USER_NAME + "=" + globalAttributeMap.getOrDefault(CorbaKeyConstant.CURRENT_USER_NAME,sessionInfo.getUserName());
                globalAttributeString[2]=CorbaKeyConstant.CURRENT_USER_SECRET +"=" + globalAttributeMap.getOrDefault(CorbaKeyConstant.CURRENT_USER_SECRET,sessionInfo.getUserSecret());
                globalAttributeString[3]=CorbaKeyConstant.CURRENT_USER_EMAIL +"=" + globalAttributeMap.getOrDefault(CorbaKeyConstant.CURRENT_USER_EMAIL,sessionInfo.getEmail());
                globalAttributeString[4]=CorbaKeyConstant.CURRENT_USER_GROUPNUM +"=" + globalAttributeMap.getOrDefault(CorbaKeyConstant.CURRENT_USER_GROUPNUM,"");
                globalAttributeString[5]=CorbaKeyConstant.CURRENT_MACHINE_SECRET + "=" + globalAttributeMap.getOrDefault(CorbaKeyConstant.CURRENT_MACHINE_SECRET, DataSecretEnum.NONE.getValue()+"");
                String ipSec = globalAttributeMap.getOrDefault(CorbaKeyConstant.IP_SECRET_SWITCH,"off");
                globalAttributeString[6]=CorbaKeyConstant.IP_SECRET_SWITCH + "=" + ipSec;
                globalAttributeString[7]=CorbaKeyConstant.CURRENT_USER_GROUPNAME +"=" + globalAttributeMap.getOrDefault(CorbaKeyConstant.CURRENT_USER_GROUPNAME,sessionInfo.getDeptName());
                globalAttributeString[8]=CorbaKeyConstant.USER_SECRET_SWITCH+ "=" + globalAttributeMap.getOrDefault(CorbaKeyConstant.USER_SECRET_SWITCH,"off");
                globalAttributeString[9]=String.valueOf(System.currentTimeMillis());
                globalAttributeString[10]=sessionInfo.getToken();
                //现在不确定老的是否可以接受数组多个的情况
                vcii.extAttribs = globalAttributeString;
                vcii.extAttribs = globalAttributeMap;
            }
            return vcii;
        }
@@ -77,7 +60,6 @@
     * èŽ·å–å½“å‰ä¼šè¯
     * @return ä¼šè¯çš„对象
     */
    @Override
    public SessionInfo getSessionInfo() {
        return WebThreadLocalUtil.getCurrentUserSessionInfoInThread().get();
    }
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java
@@ -2,14 +2,19 @@
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.vci.client.bof.BOFactoryClient;
import com.vci.client.bof.ClientBusinessObject;
import com.vci.client.bof.ClientLinkObject;
import com.vci.client.bof.ClientLinkObjectOperation;
import com.vci.client.common.oq.OQTool;
import com.vci.client.common.providers.ServiceProvider;
import com.vci.common.qt.object.*;
import com.vci.common.utility.ObjectUtility;
import com.vci.corba.common.PLException;
import com.vci.corba.omd.data.AttributeValue;
import com.vci.corba.omd.data.LinkObject;
import com.vci.corba.query.ObjectQueryService;
import com.vci.corba.query.data.BOAndLO;
import com.vci.starter.web.constant.QueryOptionConstant;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.DataGrid;
@@ -44,17 +49,17 @@
     * å¤šè¯­è¨€å‰ç¼€
     */
    private final String msgCodePrefix = "com.vci.web.loService.";
    /**
     * æ—¥å¿—对象
     */
    private Logger logger = LoggerFactory.getLogger(getClass());
    /**
     * LO操作类
     */
    private ClientLinkObjectOperation loOperation = new ClientLinkObjectOperation();
    @Autowired
    private WebBoServiceI boService;
@@ -89,7 +94,7 @@
        LO_BASE_FIELD_MAP.put("ts","ts");
        LO_BASE_FIELD_MAP.put("linkTypeName","linkTypeName");
    }
    @Override
    public ClientLinkObjectOperation getLoOption() throws VciBaseException {
        return loOperation;
@@ -113,13 +118,13 @@
            int level, Map<String, String> conditionMap) throws VciBaseException {
        return queryCLO(linkType, toBtmName, level, false, conditionMap);
    }
    @Override
    public List<ClientLinkObject> queryCLO(String linkType, String toBtmName,
            int level, boolean isDirection,Map<String, String> conditionMap) throws VciBaseException {
        return queryCLO(linkType,toBtmName,level,isDirection,conditionMap,new PageHelper(-1));
    }
    /***
     * é“¾æŽ¥æŸ¥è¯¢ï¼Œæ”¯æŒé™å®šæŸç«¯çš„业务类型,限定层级,排序,反向,查询条件,但是不支持枚举和参照字段的显示
     * @param linkType é“¾æŽ¥ç±»åž‹åç§°
@@ -184,19 +189,19 @@
        Condition condition = boService.getConditionByMap(conditionMap);
        qt.setCondition(condition);
        try {
            LinkObject[] bos = platformClientUtil.getQueryService().findLTObjects(qt.getId(), Tool.qtTOXMl(qt).asXML());
            LinkObject[] bos = platformClientUtil.getQueryService().findLTObjects(qt.getId(), OQTool.qtTOXMl(qt).asXML());
            if (bos != null && bos.length > 0) {
                for (LinkObject bo : bos) {
                    ClientLinkObject clo = new ClientLinkObject();
                    clo.setLinkObject(bo);
                    rtnOBJs.add(clo);
                }
                return rtnOBJs;
            }
        } catch (VCIError e) {
//            logger.error(e.error_code,e);
//            throw WebUtil.getVciBaseException(e);
        } catch (PLException e) {
            logger.error(e.code,e);
            throw WebUtil.getVciBaseException(e);
        }
        return rtnOBJs;
    }
@@ -208,7 +213,7 @@
            throws VciBaseException {
        return queryLinkCbo(linkType, toBtmname, level, false, conditionMap);
    }
    @Override
    public List<ClientBusinessObject> queryLinkCbo(String linkType,
            String toBtmName, int level,boolean isDirection, Map<String, String> conditionMap)
@@ -238,7 +243,7 @@
            }else if(!isDirection && conditionMap.containsKey("f_oid")){
                btmOid = conditionMap.get("f_oid");
            }
            BOAndLO[] bos = platformClientUtil.getQueryService().getBOAndLOS(qt.getId(), Tool.qtTOXMl(qt).asXML(),btmOid);
            BOAndLO[] bos = platformClientUtil.getQueryService().getBOAndLOS(qt.getId(), OQTool.qtTOXMl(qt).asXML(),btmOid);
            if (bos != null && bos.length > 0) {
                for (BOAndLO blo : bos) {
                    ClientBusinessObject cbo = new ClientBusinessObject();
@@ -247,7 +252,7 @@
                }
                return rtnOBJs;
            }
        } catch (VCIError e) {
        } catch (PLException e) {
//            logger.error(e.error_code,e);
//            throw WebUtil.getVciBaseException(e);
        }
@@ -255,7 +260,7 @@
    }
    @Override
    public Map<String, com.vci.client.bof.ClientBusinessObject> queryLinkedCbo(LinkObject[] lo,
    public Map<String, ClientBusinessObject> queryLinkedCbo(LinkObject[] lo,
            boolean isDirection) throws VciBaseException {
        ClientLinkObject[] clos = new ClientLinkObject[lo.length];
        for(int i =0 ; i < lo.length; i ++){
@@ -267,13 +272,13 @@
    }
    @Override
    public Map<String, com.vci.client.bof.ClientBusinessObject> queryLinkedCbo(List los,
    public Map<String, ClientBusinessObject> queryLinkedCbo(List los,
            boolean isDirection) throws VciBaseException {
        return queryLinkedCbo(los,isDirection,new ArrayList<String>());
    }
    @Override
    public Map<String, com.vci.client.bof.ClientBusinessObject> queryLinkedCbo(List los,
    public Map<String, ClientBusinessObject> queryLinkedCbo(List los,
            boolean isDirection,List<String> queryColumn) throws VciBaseException {
        ClientLinkObject[] clos = new ClientLinkObject[los.size()];
        for(int i = 0 ; i < los.size(); i ++){
@@ -290,15 +295,15 @@
    }
    @Override
    public Map<String, com.vci.client.bof.ClientBusinessObject> queryLinkedCbo(
    public Map<String, ClientBusinessObject> queryLinkedCbo(
            ClientLinkObject[] clol, boolean isDirection) throws VciBaseException {
        return queryLinkedCbo(clol,isDirection,new ArrayList<String>());
    }
    /*****
     *
     *
     */
    @Override
    public Map<String, com.vci.client.bof.ClientBusinessObject> queryLinkedCbo(
    public Map<String, ClientBusinessObject> queryLinkedCbo(
            ClientLinkObject[] clol, boolean isDirection,List<String> queryColumn) throws VciBaseException{
        Map<String/*t_oid或者f_oid*/,String/*oid*/> linkBoOidMap = new HashMap<String, String>();
        Map<String,String> btmTypeOidMap = new HashMap<String, String>();
@@ -324,7 +329,7 @@
                btmTypeOidMap.put(btmType, oids);
            }
        }
        Map<String,com.vci.client.bof.ClientBusinessObject> linkedCboMap = new HashMap<>();
        Map<String,ClientBusinessObject> linkedCboMap = new HashMap<>();
        Iterator<String> it = btmTypeOidMap.keySet().iterator();
        while(it.hasNext()){
            String btmType = it.next();
@@ -341,9 +346,9 @@
            }
            Map<String,String> conditionMap = new HashMap<>();
            conditionMap.put("oid",oids);
            List<com.vci.client.bof.ClientBusinessObject> allCbo = boService.queryCBO(btmType, conditionMap,new PageHelper(-1),clauseList);
            List<ClientBusinessObject> allCbo = boService.queryCBO(btmType, conditionMap,new PageHelper(-1),clauseList);
            if(allCbo.size()>0){
                for(com.vci.client.bof.ClientBusinessObject cbo : allCbo){
                for(ClientBusinessObject cbo : allCbo){
                    String linkOid = linkBoOidMap.get(cbo.getOid());
                    linkedCboMap.put(linkOid, cbo);
                }
@@ -353,16 +358,16 @@
    }
    @Override
    public List<Map> clos2Map(List<com.vci.client.bof.ClientLinkObject> clos) throws VciBaseException {
    public List<Map> clos2Map(List<ClientLinkObject> clos) throws VciBaseException {
        List<Map> allMap = new ArrayList<Map>();
        for(com.vci.client.bof.ClientLinkObject clo : clos){
        for(ClientLinkObject clo : clos){
            allMap.add(clo2Map(clo));
        }
        return allMap;
    }
    @Override
    public Map clo2Map(com.vci.client.bof.ClientLinkObject clo) throws VciBaseException {
    public Map clo2Map(ClientLinkObject clo) throws VciBaseException {
        Map<String,String> map = new HashMap<String, String>();
        WebUtil.copyValueToMapFromClos(clo, map);
        return map;
@@ -408,16 +413,16 @@
            if(StringUtils.isBlank(clo.getCreator())){
                clo.setCreator(WebUtil.getCurrentUserId());
            }
            if(StringUtils.isBlank(clo.getCreateTime())){
                clo.setCreateTime(VciDateUtil.getNowString(VciDateUtil.DateTimeMillFormat));
            if(clo.getCreateTime() == 0){
                clo.setCreateTime(VciDateUtil.getTime(VciDateUtil.getNow()));
            }
            if(StringUtils.isBlank(clo.getLastModifier())){
                clo.setLastModifier(clo.getCreator());
            }
            if(StringUtils.isBlank(clo.getLastModifyTime())){
            if(clo.getLastModifyTime() == 0){
                clo.setLastModifyTime(clo.getCreateTime());
            }
            if(StringUtils.isBlank(clo.getTs())){
            if(clo.getTs() == 0){
                clo.setTs(clo.getCreateTime());
            }
            linkObjects.add(clo.getLinkObject());
@@ -433,7 +438,7 @@
                }
            }
            return savedClientLinkObject;
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
    }
@@ -450,7 +455,7 @@
        WebUtil.alertNotNull(loName,"链接");
        try {
            return loOperation.createLinkObject(loName,WebUtil.getCurrentUserId());
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
    }
@@ -476,7 +481,7 @@
        newClo.setLinkObject(lo);
        newClo.setOid((new ObjectUtility()).getNewObjectID36());
        newClo.setCreator(WebUtil.getCurrentUserId());
        newClo.setCreateTime(VciDateUtil.getNowString(VciDateUtil.DateTimeMillFormat));
        newClo.setCreateTime(VciDateUtil.getTime(VciDateUtil.getNow()));
        newClo.setLastModifier(newClo.getCreator());
        newClo.setLastModifyTime(newClo.getCreateTime());
        newClo.setTs(newClo.getCreateTime());
@@ -494,7 +499,7 @@
        if(clos!=null){
            try {
                loOperation.batchdDeleteLinkObject(clos.toArray(new ClientLinkObject[0]));
            } catch (VCIError vciError) {
            } catch (PLException vciError) {
                throw  WebUtil.getVciBaseException(vciError);
            }
        }
@@ -510,7 +515,7 @@
        if(clos!=null){
            try {
                loOperation.batchUpdateLinkObject(clos.toArray(new ClientLinkObject[0]));
            } catch (VCIError vciError) {
            } catch (PLException vciError) {
                throw  WebUtil.getVciBaseException(vciError);
            }
        }
@@ -577,14 +582,14 @@
        }
        Condition condition = boService.getConditionByMap(conditionMap);
        if(qt.getCondition() !=null) {
            qt.setCondition(Tool.mergeCondition(qt.getCondition(), condition, Connector.AND));
            qt.setCondition(OQTool.mergeCondition(qt.getCondition(), condition, Connector.AND));
        }else {
            qt.setCondition(condition);
        }
        boService.setPageAndOrderToQT(qt,linkTypeDataQuery.getPageHelper());
        try {
//            com.vci.corba.query.data.BOAndLO[] bos = platformClientUtil.getQueryService().getBOAndLOS(qt.getId(), Tool.qtTOXMl(qt).asXML(),linkTypeDataQuery.getParentOid()==null?"":linkTypeDataQuery.getParentOid());
            com.vci.corba.query.data.BOAndLO[] bos = ServiceProvider.getOQService().getBOAndLOS(qt.getId(), Tool.qtTOXMl(qt).asXML(),linkTypeDataQuery.getParentOid()==null?"":linkTypeDataQuery.getParentOid());
//            com.vci.corba.query.data.BOAndLO[] bos = platformClientUtil.getQueryService().getBOAndLOS(qt.getId(), OQTool.qtTOXMl(qt).asXML(),linkTypeDataQuery.getParentOid()==null?"":linkTypeDataQuery.getParentOid());
            com.vci.corba.query.data.BOAndLO[] bos = ServiceProvider.getOQService().getBOAndLOS(qt.getId(), OQTool.qtTOXMl(qt).asXML(),linkTypeDataQuery.getParentOid()==null?"":linkTypeDataQuery.getParentOid());
            return Arrays.stream(bos).collect(Collectors.toList());
        } catch (PLException e) {
//            logger.error(e.error_code,e);
@@ -688,7 +693,7 @@
        }
        Condition condition = boService.getConditionByMap(conditionMap);
        if(qt.getCondition() !=null) {
            qt.setCondition(Tool.mergeCondition(qt.getCondition(), condition, Connector.AND));
            qt.setCondition(OQTool.mergeCondition(qt.getCondition(), condition, Connector.AND));
        }else {
            qt.setCondition(condition);
        }
@@ -698,15 +703,15 @@
        Map<String,List<String>> toBtmOidsMap = new HashMap<>();
        try {
            IntHolder totalHolder = new IntHolder();
//            com.vci.corba.omd.data.LinkObject[] linkObjects = platformClientUtil.getQueryService().findLTObjectsV2(qt.getId(), Tool.qtTOXMl(qt).asXML(),totalHolder);
            ObjectQueryService.FindLTObjectsV2Result linkObjects = ServiceProvider.getOQService().findLTObjectsV2(qt.getId(), Tool.qtTOXMl(qt).asXML());
//            com.vci.corba.omd.data.LinkObject[] linkObjects = platformClientUtil.getQueryService().findLTObjectsV2(qt.getId(), OQTool.qtTOXMl(qt).asXML(),totalHolder);
            ObjectQueryService.FindLTObjectsV2Result linkObjects = ServiceProvider.getOQService().findLTObjectsV2(qt.getId(), OQTool.qtTOXMl(qt).asXML());
            List<Map<String,String>> data = new ArrayList<>();
            List<String> finalEnumFields = enumFields;
            final Integer[] total = {totalHolder.value};
            Arrays.stream(linkObjects.returnValue).forEach(lo->{
                com.vci.client.bof.ClientLinkObject clo = new com.vci.client.bof.ClientLinkObject();
                ClientLinkObject clo = new ClientLinkObject();
                clo.setLinkObject(lo);
                Map<String, String> map = new HashMap<>();
                boService.queryEnumText(null,clo, finalEnumFields);
@@ -741,7 +746,7 @@
                    //分页不要超过1000
                    Map<String,String> boConditionMap =new HashMap<>();
                    boConditionMap.put("oid",QueryOptionConstant.IN + "(" + WebUtil.toInSql(oids.toArray(new String[0])) + ")");
                    List<com.vci.client.bof.ClientBusinessObject> cbos = boService.queryCBO(btm, boConditionMap, null, fromFieldsFix);
                    List<ClientBusinessObject> cbos = boService.queryCBO(btm, boConditionMap, null, fromFieldsFix);
                    if(!CollectionUtils.isEmpty(cbos)){
                        cbos.stream().forEach(cbo->{
                            dataGrid.getData().forEach(data->{
@@ -765,7 +770,7 @@
                    //分页不要超过1000
                    Map<String,String> boConditionMap =new HashMap<>();
                    boConditionMap.put("oid",QueryOptionConstant.IN + "(" + WebUtil.toInSql(oids.toArray(new String[0])) + ")");
                    List<com.vci.client.bof.ClientBusinessObject> cbos = boService.queryCBO(btm, boConditionMap, null, toFieldsFix);
                    List<ClientBusinessObject> cbos = boService.queryCBO(btm, boConditionMap, null, toFieldsFix);
                    if(!CollectionUtils.isEmpty(cbos)){
                        cbos.stream().forEach(cbo->{
                            dataGrid.getData().forEach(data->{
@@ -822,8 +827,8 @@
        Condition condition = boService.getConditionByMap(conditionMap);
        qt.setCondition(condition);
        try {
            return  platformClientUtil.getQueryService().findTotalCount(qt.getId(), Tool.qtTOXMl(qt).asXML());
        } catch (VCIError vciError) {
            return Math.toIntExact(platformClientUtil.getQueryService().findTotalCount(qt.getId(), OQTool.qtTOXMl(qt).asXML()));
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
    }
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebLogServiceImpl.java
@@ -1,9 +1,6 @@
package com.vci.web.service.impl;
import com.vci.corba.common.VCIError;
import com.vci.corba.common.data.VCIInvocationInfo;
import com.vci.corba.framework.data.UserEntityInfo;
import com.vci.rmip.ClientSession;
import com.vci.corba.common.data.UserEntityInfo;
import com.vci.starter.web.pagemodel.SessionInfo;
import com.vci.starter.web.util.WebThreadLocalUtil;
import com.vci.web.bo.VciLogObjectBO;
@@ -15,7 +12,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -93,7 +89,6 @@
                VciLogObjectBO log = allLogs.get(0);
                SessionInfo si = log_userMap.get(log.getOid());
                UserEntityInfo ue = new UserEntityInfo();
                ue.ip = log.getIp();
                ue.modules = log.getModelName();
                ue.userName = log.getUserId();
                WebThreadLocalUtil.getCurrentUserSessionInfoInThread().set(si);
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebProcessCommandServiceImpl.java
@@ -1,16 +1,15 @@
package com.vci.web.service.impl;
import com.vci.corba.common.VCIError;
import com.vci.corba.framework.data.UserEntityInfo;
import com.vci.client.bof.ClientLinkObject;
import com.vci.corba.common.data.UserEntityInfo;
import com.vci.corba.workflow.data.FlowInstanceInfo;
import com.vci.corba.workflow.data.MapTransfersInfo;
import com.vci.corba.workflow.data.TasksAssignedInfo;
import com.vci.file.dto.VciFileObjectDTO;
import com.vci.rmip.workflow.server.template.TasksAssigned;
import com.vci.starter.web.constant.QueryOptionConstant;
import com.vci.starter.web.enumpck.DataSecretEnum;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.pagemodel.PageHelper;
import com.vci.starter.web.pagemodel.SessionInfo;
import com.vci.starter.web.util.LangBaseUtil;
import com.vci.starter.web.util.VciDateUtil;
@@ -34,8 +33,6 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.web.multipart.MultipartFile;
import plm.bs.bom.clientobject.ClientBusinessObject;
import plm.bs.bom.clientobject.ClientLinkObject;
import java.util.*;
import java.util.Map.Entry;
@@ -551,7 +548,7 @@
    }
    @Override
    public TasksAssigned getProxy() throws VciBaseException {
    public TasksAssignedInfo getProxy() throws VciBaseException {
        return processDao.getProxy();
    }
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebProcessDefineServiceImpl.java
@@ -1,5 +1,7 @@
package com.vci.web.service.impl;
import com.vci.client.bof.ClientLinkObject;
import com.vci.client.workflow.editor.FlowConstants;
import com.vci.file.pagemodel.VciFileObjectVO;
import com.vci.frameworkcore.compatibility.OrgDeptQueryServiceI;
import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI;
@@ -7,19 +9,16 @@
import com.vci.frameworkcore.pagemodel.OrgDepartmentVO;
import com.vci.frameworkcore.pagemodel.SmRoleVO;
import com.vci.frameworkcore.pagemodel.SmUserVO;
import com.vci.rmip.workflow.client.editor.FlowConstants;
import com.vci.starter.web.enumpck.DataSecretEnum;
import com.vci.starter.web.enumpck.UserSecretEnum;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.*;
import com.vci.starter.web.util.BeanUtil;
import com.vci.starter.web.util.Md5;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
import com.vci.web.constant.FileTypeConstants;
import com.vci.web.constant.WFVariablesKeyConstant;
import com.vci.web.dao.WebProcessDaoI;
import com.vci.web.model.OsStatusDO;
import com.vci.web.model.WFProcessClassifyDO;
import com.vci.web.pageModel.*;
import com.vci.web.properties.WebProperties;
@@ -35,7 +34,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import plm.bs.bom.clientobject.ClientLinkObject;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebSecretServiceImpl.java
@@ -1,4 +1,5 @@
package com.vci.web.service.impl;
import com.vci.frameworkcore.compatibility.SmUserQueryServiceI;
import com.vci.frameworkcore.pagemodel.SmUserVO;
import com.vci.starter.web.enumpck.DataSecretEnum;
@@ -8,8 +9,8 @@
import com.vci.web.constant.EnumIdConstant;
import com.vci.web.pageModel.KeyValue;
import com.vci.web.properties.WebProperties;
import com.vci.web.service.WebBoServiceI;
import com.vci.web.service.OsEnumServiceI;
import com.vci.web.service.WebBoServiceI;
import com.vci.web.service.WebSecretServiceI;
import com.vci.web.util.WebUtil;
import org.apache.commons.lang3.StringUtils;
@@ -17,7 +18,6 @@
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import plm.bs.bom.clientobject.ClientBusinessObject;
import java.util.Arrays;
import java.util.HashMap;
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/util/PlatformClientUtil.java
@@ -3,6 +3,7 @@
import com.vci.client.common.providers.ServiceProvider;
import com.vci.corba.bofactory.BOFactoryServicePrx;
import com.vci.corba.common.PLException;
import com.vci.corba.framework.FrameworkServicePrx;
import com.vci.corba.omd.atm.AttPoolServicePrx;
import com.vci.corba.omd.btm.BTMServicePrx;
import com.vci.corba.omd.etm.EnumServicePrx;
@@ -87,12 +88,20 @@
   }
    /**
     * èŽ·å–ç™»å½•ä¸»æœåŠ¡
     * èŽ·å–æµç¨‹æœåŠ¡
     * @return æœåŠ¡çš„å¯¹è±¡
     */
    public WorkflowServicePrx getLogonFactoryService(){
    public WorkflowServicePrx getWorkflowService(){
        return ServiceProvider.getWFService();
  }
    }
    /**
     * èŽ·å–ä¸»æœåŠ¡
     * @Return æœåŠ¡çš„å¯¹è±¡
     */
    public FrameworkServicePrx getFrameworkService(){
        return ServiceProvider.getFrameService();
    }
    /**
     * èŽ·å–çŠ¶æ€æ± çš„æœåŠ¡