1、平台接口修改以及web端后台的修改。
2、对平台的更新jar包上传。
已修改48个文件
已重命名2个文件
已添加3个文件
529 ■■■■■ 文件已修改
Bin/00-startup.bat 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Bin/2-Startup_Server.bat 补丁 | 查看 | 原始文档 | blame | 历史
Bin/2-Startup_Server.sh 补丁 | 查看 | 原始文档 | blame | 历史
Bin/Redis-6.2.10/redis.conf 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/client/plt-client.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/client/plt-clientbase.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/common/ice-3.7.10.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/common/icebox-3.7.10.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/common/plt-common.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/common/plt-slice.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/service/BOFService.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/service/CacheService.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/service/FrameService.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/service/LogService.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/service/OMDService.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/service/OQService.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/service/ServiceBase.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/service/UIService.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/service/VciServiceMain.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/service/VolumeService.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/service/WFPlugins.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/lib/service/WFService.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/properties/corba.properties 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Bin/properties/hibernate.cfg.xml 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Bin/properties/iceClient.properties 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Bin/properties/redis.properties 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Bin/properties/service.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Bin/web/lib/plt-client-1.0.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/web/lib/plt-clientbase-1.0.RELEASE.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/web/lib/plt-common-1.0.RELEASE.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/web/lib/plt-slice-1.0.RELEASE.jar 补丁 | 查看 | 原始文档 | blame | 历史
Bin/web/vci-platform-web.jar 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/controller/SmFunctionController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/controller/StmFunctionController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/controller/WebUIDataController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/other/WorkFlowEndedNotice.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/OsAttributeServiceI.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/OsBtmServiceI.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/OsEnumServiceI.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/OsEnumServiceImpl.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/OsLifeCycleServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/OsStatusServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebBtmIOServiceImpl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/util/WebUtil.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Bin/00-startup.bat
@@ -1,5 +1,7 @@
start 1-Startup_Redis.bat
choice /t 3
start 1-Startup_Server.bat
start 2-Startup_Server.bat
choice /t 3
start 5-Startup_Web.bat
Bin/2-Startup_Server.bat
Bin/2-Startup_Server.sh
Bin/Redis-6.2.10/redis.conf
@@ -900,7 +900,7 @@
# The requirepass is not compatable with aclfile option and the ACL LOAD
# command, these will cause requirepass to be ignored.
#
# requirepass foobared
requirepass foobared
# New users are initialized with restrictive permissions by default, via the
# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it
Bin/lib/client/plt-client.jar
Binary files differ
Bin/lib/client/plt-clientbase.jar
Binary files differ
Bin/lib/common/ice-3.7.10.jar
Binary files differ
Bin/lib/common/icebox-3.7.10.jar
Binary files differ
Bin/lib/common/plt-common.jar
Binary files differ
Bin/lib/common/plt-slice.jar
Binary files differ
Bin/lib/service/BOFService.jar
Binary files differ
Bin/lib/service/CacheService.jar
Binary files differ
Bin/lib/service/FrameService.jar
Binary files differ
Bin/lib/service/LogService.jar
Binary files differ
Bin/lib/service/OMDService.jar
Binary files differ
Bin/lib/service/OQService.jar
Binary files differ
Bin/lib/service/ServiceBase.jar
Binary files differ
Bin/lib/service/UIService.jar
Binary files differ
Bin/lib/service/VciServiceMain.jar
Binary files differ
Bin/lib/service/VolumeService.jar
Binary files differ
Bin/lib/service/WFPlugins.jar
Binary files differ
Bin/lib/service/WFService.jar
Binary files differ
Bin/properties/corba.properties
@@ -1,10 +1,7 @@
#conf.properties version by Eclipse
#corba.properties version by Eclipse
#Sat Oct 19 14:06:56 CST 2013
NameService=corbaloc\:\:localhost\:30000/NameService
InstanceIdentity=platform-
## Ã©ÂœÂ€Ã¨Â¦ÂÃ¥ÂŠÂ Ã¨Â½Â½Ã§ÂšÂ„.jar所在路径(会递归子文件夹里的.jar),如 D:/xx/xx/xx
jarPath=./libs
jacorb.net.socket_factory.port.min=29990
jacorb.net.socket_factory.port.max=29999
@@ -17,155 +14,3 @@
jacorb.log.default.verbosity=
#文件传输块大小
blockLength=32
########################################### Ã¥Â¹Â³Ã¥ÂÂ°UIF Ã©ÂœÂ€Ã¨Â¦ÂÃ§ÂšÂ„配置  BEGIN ###########################################
#人员信息入时,是否需要密级字段
exportSecretGrade=false
# Ã¥ÂŠÂ Ã¥Â¯Â†Ã¥Â¯Â†Ã©Â’Â¥
encrypt.key=www.liming.portal.comwww.liming.portal.com
# Ã§Â™Â»Ã¥Â½Â•窗口,是否显示‘保存’复选框
logon.saveBut=false
# Ã§Â³Â»Ã§Â»ÂŸÃ§Â”¨æˆ·ç™»å½•è¶…æ—¶æ—¶é—´(单位分分钟)
logon.loginovertime=1000
# Ã¤Â¸Â»Ã¦Â¡Â†Ã¦ÂžÂ¶Ã¤Â¸ÂŠÃ¯Â¼ÂŒÃ¦Â˜Â¯Ã¥ÂÂ¦Ã¦Â˜Â¾Ã§Â¤ÂºÃ©Â¡Â¶Ã©ÂƒÂ¨Ã¥Â›Â¾Ã§Â‰Â‡
top.logon.image.show=false
# Ã¤Â¸Â»Ã¦Â¡Â†Ã¦ÂžÂ¶Ã¤Â¸ÂŠÃ¯Â¼ÂŒÃ©Â¡Â¶Ã©ÂƒÂ¨Ã¥Â›Â¾Ã§Â‰Â‡Ã¥ÂÂÃ§Â§Â°Ã¯Â¼ÂˆÃ¨Â¯Â¥Ã¥Â›Â¾Ã§Â‰Â‡Ã¤Â½ÂÃ¤ÂºÂŽ com.vci.rmip.logon.client Ã¥ÂŒÂ…下)
top.logon.image.name=title.jpg
# Ã¤Â¸Â»Ã¦Â¡Â†Ã¦ÂžÂ¶Ã¤Â¸ÂŠÃ¯Â¼ÂŒÃ¦Â˜Â¯Ã¥ÂÂ¦Ã¦Â˜Â¾Ã§Â¤ÂºÃ¨ÂÂœÃ¥ÂÂ• true:显示 false:不显示
top.menuBar.show=true
# Ã¤Â¸Â»Ã¨ÂÂœÃ¥ÂÂ•下,是否显示‘重新登录’  true:显示 false:不显示
top.menuBar.menuItem.relogin=true
# Ã¤Â¸Â»Ã¨ÂÂœÃ¥ÂÂ•下,是否显示‘修改密码’  true:显示 false:不显示
top.menuBar.menuItem.changePassword=true
# Ã§Â³Â»Ã§Â»ÂŸÃ¥Â…³äºŽé…ç½®,修改配置是要注意中文字符的编码使用utf-8
system.about.title = Ã¥Â…³äºŽ
# Ã¦ÂœÂ€Ã¤Â½Â³Ã¥Â›Â¾Ã§Â‰Â‡Ã¥Â°ÂºÃ¥Â¯Â¸400*90,默认值为about.png
system.about.imageName=about.png
# Ã¤ÂºÂ§Ã¥Â“åç§°
system.about.softNameProduct= VCI Innovation 2017
# Ã§Â‰ÂˆÃ¦ÂÂƒ_中文
system.about.softNameCopyrightC = Ã¥Â®ÂÃ¥ÂÂšÃ¨Â¿ÂœÃ¨Â¾Â¾Ã¥Â…¬å¸  Ã§Â‰ÂˆÃ¦ÂÂƒÃ¦Â‰Â€Ã¦ÂœÂ‰
# Ã§Â‰ÂˆÃ¦ÂÂƒ_英文
system.about.softNameCopyrightE = Copyright(C) 2011-2017 Contributors. All rights reserved.
# Ã©Â¡Â¹Ã§Â›Â®Ã¥ÂÂÃ§Â§Â°
system.about.softName = Ã¥ÂŒÂ—京宏博远达科技有限公司 - Ã§Â³Â»Ã§Â»ÂŸÃ¥Â¼Â€Ã¥ÂÂ‘平台
# Ã¥Â¹Â³Ã¥ÂÂ°Ã§Â‰ÂˆÃ¦ÂœÂ¬
system.about.version = v2017.06.14
# Ã¥Â…¬å¸ç½‘址
system.about.visit = http://www.vci-tech.com
# Ã§Â®Â¡Ã§ÂÂ†Ã¥Â‘˜ç”¨æˆ·å
user.admin=admin
# Ã¨Â¶Â…级管理员用户名
user.developer=developer
# Ã¥Â®Â‰Ã¥Â…¨ç®¡ç†å‘˜è§’色名称
user.Sysadmin=\u5b89\u5168\u7ba1\u7406\u5458
user.rooter=root
# Ã¦Â—¥å¿—模块,是否启用查询 on:启用 off:禁用
log.query.switch=off
period=1
# Ã¦Â—¥å¿—模块,定期删除日志时,支持的可选值(
log.save.periods=\ufeff1\#\u4e00\u4e2a\u6708\:\:2\#\u4e24\u4e2a\u6708\:\:3\#\u4e09\u4e2a\u6708\:\:6\#\u534a\u5e74\:\:12\#\u4e00\u5e74\:\:18\#\u4e00\u5e74\u534a\:\:24\#\u4e24\u5e74
# Ã¦Â—¥å¿—模块,分页查询时,页数据大小
log.query.pagesize=30
# Ã¦Â—¥å¿—模块,是否启用定时删除日志 Y:启用 N:禁用
log.delete.auto=N
# Ã¦Â—¥å¿—模块,定时删除日志时,要保留最近的天数
log.autoDelete.rate=7
# Ã¦Â—¥å¿—删除时间
log.autoDelete.time=0\:\:0\:\:0
########################################### Ã¥Â¹Â³Ã¥ÂÂ°UIF Ã©ÂœÂ€Ã¨Â¦ÂÃ§ÂšÂ„配置  BEGIN ###########################################
#数据权限是否生效 on:开启 off:关闭
right.switch=off
#功能模块授权验证是否记 on:开启  off:关闭
function.right.swith=on
#UI授权是否生效 on:开户 off:关闭
ui.right.swith=false
# tablePanel Ã©Â»Â˜Ã¨Â®Â¤Ã¦Â”¯æŒçš„pageSize列表
tablePanel.pageSizeList=100,200,300,500,800,1000
#参照控件,在集成时,可自定义参照方式,值为类
engin.refObjectChoose =
# Ã§Â³Â»Ã§Â»ÂŸÃ¤Â¿Â¡Ã¦ÂÂ¯Ã¦ÂÂÃ§Â¤ÂºÃ¦Â¡Â†Ã¦Â˜Â¾Ã§Â¤ÂºÃ¦Â–¹å¼ popup:弹出框 ;lowerRight:右下角。 Ã©Â»Â˜Ã¨Â®Â¤Ã¤Â¸ÂºÃ¥ÂÂ³Ã¤Â¸Â‹Ã¨Â§Â’
PromptMessage.DisplayModes=popup
# Ã¥Â¦Â‚果在右下角显示系统消息时,设置消息窗口的显示时间,毫秒。默认为3000毫秒
PromptMessage.DisplayTime=3000
#分类树导航时,支持的事件名称
uidesign.eventKey=SelectionEvent,DBClickEvent,ClickEvent
# Ã©Â¦Â–页自定义类,可以有多组,每组之间用分号;分隔,自定义类与标题之间用逗号,分隔
# Ã¦Â Â¼Ã¥Â¼ÂÃ¯Â¼ÂšÃ¨Â‡ÂªÃ¥Â®ÂšÃ¤Â¹Â‰Ã§Â±Â»Ã¥Â®ÂŒÃ¦Â•´è·¯å¾„1,标题1(UNOCIDE格式),图标文件完整路径.;自定义类完整路径2,标题2(UNOCIDE格式),图标文件完整路径;
# Ã§Â¤ÂºÃ¤Â¾Â‹Ã¯Â¼Âšplm617.engine.HomePageForTaskMessagePanel,\u6211\u7684\u6d88\u606f\u0096\u0087,
#HomePageClasses=plm.uif.engine.client.UILayoutPanel?type=workitem&context=workItemHomePage,\u6211\u7684\u6d88\u606f\u0096\u0087,/com/vci/base/ui/image/email.png
########################################### Ã¥Â¹Â³Ã¥ÂÂ°UIF Ã©ÂœÂ€Ã¨Â¦ÂÃ§ÂšÂ„配置  END ###########################################
###########################################  Ã§Â¼Â–码加速的专用配置 BEGIN ###########################################
Code.Accelerator.Rule.Keys=name;changeorder;btmName
Code.Accelerator.Section.Keys=id;name;btmName
Code.Accelerator.AttrMap=id=\u540d\u79f0;name=\u63cf\u8ff0;btmName=类型名称
###########################################  Ã§Â¼Â–码加速的专用配置 END ###########################################
########################################### Ã¥Â·Â¥Ã¤Â½ÂœÃ¦ÂµÂ&流程引擎相关配置  BEGIN ###########################################
#工作流插件,关联平台workitem对象的操作
workflow.plmworkitem = com.vci.platform.workflow.plugins.PLMWorkItem
workflow.AssignTask = com.vci.rmip.workflow.server.event.AssignTask
#工作流设置任务候选人
jbpm4.engin.checkTaskUser = com.vci.rmip.workflow.server.ExImp.ExAssginImp
#此类用于解析角色和部门下的用户
workflow.userService = com.vci.rmip.workflow.server.customInterfaceImpl.WorkFlowUserParserImpl
#工作流插件,关联平台workitem对象的操作
workflow.plmworkitem = com.vci.platform.workflow.plugins.PLMWorkItem
#是否具有workflowinstance对象 Y代表存在,N代表不存在
workflow.plmworkflowInstance.isExist=Y
# Ã¦ÂµÂÃ§Â¨Â‹Ã¦Â¨Â¡Ã¦ÂÂ¿Ã¤Â¸Â­Ã§ÂšÂ„任务节点支持自定义业务功能按钮的配置选项
workflow.business.function.class=plm.portal.NewNewUI.buttonmng.TaskBusinessFunctionButtonDialog
#是否显示分条发起流程按钮,true:显示,false:不显示
workflow.workitem.launchFlag=false
#根据下面的属性值判断是否显示保存流程模板选择框,true表示显示
workflow.workitem.saveTempFlag=false
#发起流程流程任务名称是否必填及命名处理规则
workflow.workitem.workflowName=true
#如果不显示分条发起时,是否将选定数据作为一个流程进行审批        Ã¦Â­Â¤Ã©Â…ç½®ä¼˜å…ˆçº§åœ¨æ˜¾ç¤ºåˆ†æ¡å‘起选择框并选中分条发起流程之后(即如果选择分条发起,此配置不起作用)
#(true:将选定的数据在一个流程中进行审批,false:为每条数据启动一个审批流程)
workflow.workitem.launchOneWorkflowFlag=true
#是否能批量执行待办任务,选中多条通用待办任务数据,判断这些数据在同一任务节点,并属于同一流程,就可以批量执行下去
workflow.workitem.batchExeworkflowFlag=true
##根据下面的属性值判断是否下一步责任人标识(只判断是true,任何字符或没有此配置,即按false处理)
## Ã¥Â¦Â‚果此值为:true:执行流程任务时,不管发起时是否对每个节点都设置了责任人,当前执行窗口始终都显示在选择下一节点责任人(仅是路由选择同意)
##        Ã¥ÂÂ¦Ã¥ÂˆÂ™Ã¯Â¼Âšfalse:执行流程任务时,如果下一节点的责任人在发起时已经指定,则不显示下一节点责任人,否则显示下一步责任人,且有加红色*标识,此时为必须填写(选择)
workflow.workitem.showNextUserFlag=false
########################################### Ã¥Â·Â¥Ã¤Â½ÂœÃ¦ÂµÂ&流程引擎相关配置  END ###########################################
########################################### CS系统主构架支持的扩展服务 BEGIN ###########################################
# Ã§Â™Â»Ã¥Â½Â•成功后使用反射机制,自动执行该类中的公共接口 showMessage() Ã¯Â¼ÂˆÃ¦Â— å‚数传递)
# Ã¤Â»Â¥Ã¦Â”¯æŒç™»å½•成功后立即执行相关自定义扩展逻辑#
#e.g:extendservice.0=xxx.xx.xx
extendservicecount=0
#extendservice.0=
#extendservice.1=
#extendservice.1=
########################################### CS系统主构架支持的扩展服务 END ###########################################
########################################### UI&元数据(模型)缓存相关的配置 BEGIN ###########################################
#启用UI缓存及缓存定时刷新服务
UI.cache.enable=true
#是否每次访问都刷新数据库,true代码刷新,否则不刷新
UI.cache.refreshEveryTime=true
#定时器,在服务启动时开启
time_schedule_count=2
#加载数据模型到缓存
time_schedule_0=com.vci.cache.server.util.DataModelCacheTimer
#加载UI配置到缓存
time_schedule_1=plm.portal.tools.UICacheTimer
########################################### UI&元数据(模型)缓存相关的配置 END ###########################################
Bin/properties/hibernate.cfg.xml
@@ -11,6 +11,7 @@
        <property name="connection.url">jdbc:oracle:thin:@192.168.0.66:1521:orcl</property>
        <property name="connection.username">PLT2024</property>
        <!-- <property name="connection.username">NMPM112</property> -->
        <property name="connection.password">vcitest</property>
        <!--<property name="connection.username">mpm112</property>
        <property name="connection.password">vcitest</property>-->
@@ -32,60 +33,7 @@
        <property name="hibernate.current_session_context_class">com.vci.server.mw.SessionContext4JBPM</property>
        <property name="hibernate.connection.isolation">2</property>
        <!-- framework映射文件 -->
        <mapping resource="com/vci/server/framework/hbm/AppConfigCategory.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/AppConfigDetail.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/Combination.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/CombinationValue.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/Department.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/Role.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/User.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/Function.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/Operate.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/RoleRight.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/PasswordStrategy.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/UserLogon.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/SystemCfg.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/SpecialChar.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/SpecialCharClfy.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/Log.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/MachSecurity.hbm.xml"/>
        <mapping resource="com/vci/server/framework/hbm/Pvolume.hbm.xml"/>
        <!-- QT映射文件 -->
        <mapping resource="com/vci/server/omd/qt/hbm/QT.hbm.xml"/>
        <!-- portal_START-->
        <mapping resource="com/vci/server/portal/hbm/PLActionClsEntity.hbm.xml"/>
         <mapping resource="com/vci/server/portal/hbm/PLActionParamEntity.hbm.xml"/>
         <mapping resource="com/vci/server/portal/hbm/PLTypeActionEntity.hbm.xml"/>
         <mapping resource="com/vci/server/portal/hbm/PortalVIEntity.hbm.xml"/>
         <mapping resource="com/vci/server/portal/hbm/PLActionEntity.hbm.xml"/>
         <mapping resource="com/vci/server/portal/hbm/PLUILayoutEntity.hbm.xml"/>
         <mapping resource="com/vci/server/portal/hbm/PLTabPageEntity.hbm.xml"/>
         <mapping resource="com/vci/server/portal/hbm/PLTabButtonEntity.hbm.xml"/>
         <mapping resource="com/vci/server/portal/hbm/PLCommandParameterEntity.hbm.xml"/>
         <mapping resource="com/vci/server/portal/hbm/PLPageDefinationEntity.hbm.xml"/>
        <!-- portal_END-->
        <!-- workflow映射文件 -->
        <mapping resource="com/vci/server/workflow/server/hbm/ProcessCategory.hbm.xml"/>
        <mapping resource="com/vci/server/workflow/server/hbm/Plflowapproveopinion.hbm.xml"/>
        <mapping resource="com/vci/server/workflow/server/hbm/PLFlowObject.hbm.xml"/>
        <mapping resource="com/vci/server/workflow/server/hbm/NodeHide.hbm.xml"/>
        <mapping resource="com/vci/server/workflow/server/hbm/TaskDesc.hbm.xml"/>
        <mapping resource="com/vci/server/workflow/server/hbm/TaskRevoke.hbm.xml"/>
        <mapping resource="com/vci/server/workflow/server/hbm/TasksAssigned.hbm.xml"/>
        <mapping resource="com/vci/server/workflow/server/hbm/FlowApproveContent.hbm.xml"/>
        <mapping resource="jbpm.repository.hbm.xml"/>
        <mapping resource="jbpm.execution.hbm.xml"/>
        <mapping resource="jbpm.history.hbm.xml"/>
        <mapping resource="jbpm.task.hbm.xml"/>
        <mapping resource="jbpm.identity.hbm.xml"/>
         <mapping resource="com/vci/server/workflow/server/hbm/Plwfinstancetemplate.hbm.xml"/>
         <mapping resource="com/vci/server/workflow/server/hbm/Plwfpersonset.hbm.xml"/>
        <!-- 暂时禁用Hibernate的事件监听
        <listener type="post-insert"
            class="com.vci.base.server.persistence.history.HistoryListener" />
Bin/properties/iceClient.properties
@@ -1,3 +1,3 @@
#NameService=PLT
Endpoints=default -h 127.0.0.1 -p 4601
#Endpoints=VCI-PLT/Locator:default -h 172.16.0.127 -p 4061
Endpoints=default -h localhost -p 4601
#Endpoints=PLTGrid/Locator:default -h 172.16.0.85 -p 4061
Bin/properties/redis.properties
@@ -19,4 +19,4 @@
# \u5728borrow\u4e00\u4e2ajedis\u5b9e\u4f8b\u65f6\uff0c\u662f\u5426\u63d0\u524d\u8fdb\u884cvalidate\u64cd\u4f5c
redis.jedisPoolConfig.testOnBorrow=true
redis.jedisPoolConfig.auth=foobared
Bin/properties/service.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Services>
    <ServiceTempl name="CacheService" entry="com.vci.server.cache.CacheServerImpl" description="缓存服务" />
    <ServiceTempl name="LogService" entry="com.vci.server.log.LogServiceImpl" description="日志服务" />
    <ServiceTempl name="FrameService" entry="com.vci.server.framework.FrameworkServiceImpl" description="系统框架服务" />
    <ServiceTempl name="OMDService" entry="com.vci.server.omd.OMDServiceImpl" description="对象模型定义服务" />
    <ServiceTempl name="BOFServer" entry="com.vci.server.bof.BOFactoryServiceImpl" description="对象工厂服务" />
Bin/web/lib/plt-client-1.0.jar
Binary files differ
Bin/web/lib/plt-clientbase-1.0.RELEASE.jar
Binary files differ
Bin/web/lib/plt-common-1.0.RELEASE.jar
Binary files differ
Bin/web/lib/plt-slice-1.0.RELEASE.jar
Binary files differ
Bin/web/vci-platform-web.jar
Binary files differ
Source/platformProject/vci-platform-web/pom.xml
@@ -18,6 +18,7 @@
            <version>1.0-SNAPSHOT</version>
            <type>pom</type>
        </dependency>
<!--        ddd-->
        <dependency>
            <groupId>com.vci.corba</groupId>
            <artifactId>plt-slice</artifactId>
@@ -156,16 +157,19 @@
            <artifactId>ddlTool-common</artifactId>
            <version>${vciplt.version}</version>
        </dependency>
<!--        ddd-->
        <dependency>
            <groupId>com.vci.client</groupId>
            <artifactId>plt-clientbase</artifactId>
            <version>1.0.RELEASE</version>
        </dependency>
<!--        ddd-->
        <dependency>
            <groupId>com.zeroc</groupId>
            <artifactId>icegridgui</artifactId>
            <version>1.0.RELEASE</version>
        </dependency>
<!--        dd-->
        <dependency>
            <groupId>com.vci.common</groupId>
            <artifactId>plt-common</artifactId>
@@ -176,6 +180,7 @@
            <artifactId>vci-platform-starter</artifactId>
            <version>2022.1-SNAPSHOT</version>
        </dependency>
<!--        ddd-->
        <dependency>
            <groupId>com.vci.client</groupId>
            <artifactId>plt-client</artifactId>
Source/platformProject/vci-platform-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java
@@ -1,5 +1,6 @@
package com.vci.frameworkcore.compatibility;
import com.vci.corba.common.PLException;
import com.vci.corba.common.VCIError;
import com.vci.frameworkcore.enumpck.ResourceControlTypeEnum;
import com.vci.frameworkcore.pagemodel.MenuVO;
@@ -49,7 +50,7 @@
     * @param resourceControlTypeEnum 角色控制区域,也是功能控制的区域
     * @return 菜单,包含上下级
     */
    List<MenuVO> treeCurrentUserMenu(TreeQueryObject treeQueryObject, ResourceControlTypeEnum resourceControlTypeEnum) throws VCIError;
    List<MenuVO> treeCurrentUserMenu(TreeQueryObject treeQueryObject, ResourceControlTypeEnum resourceControlTypeEnum) throws PLException;
    /**
     * 获取所有的功能菜单
@@ -140,5 +141,5 @@
     */
    DataGrid<SmFunctionVO> gridFunctionByRoleOids(Collection<String> roleOidCollection, Map<String, String> queryMap, PageHelper pageHelper, ResourceControlTypeEnum resourceControlTypeEnum);
    UIContentVO getUIContentByBtmTypeAndId(TreeQueryObject treeQueryObject, ResourceControlTypeEnum bs) throws VCIError;
    UIContentVO getUIContentByBtmTypeAndId(TreeQueryObject treeQueryObject, ResourceControlTypeEnum bs) throws PLException;
}
Source/platformProject/vci-platform-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONObject;
import com.vci.client.common.providers.ServiceProvider;
import com.vci.corba.common.PLException;
import com.vci.corba.common.VCIError;
import com.vci.corba.framework.data.FunctionInfo;
import com.vci.corba.portal.data.PLTabPage;
@@ -238,7 +239,7 @@
     * @return 菜单,包含上下级
     */
    @Override
    public List<MenuVO> treeCurrentUserMenu(TreeQueryObject treeQueryObject, ResourceControlTypeEnum resourceControlTypeEnum) throws VCIError {
    public List<MenuVO> treeCurrentUserMenu(TreeQueryObject treeQueryObject, ResourceControlTypeEnum resourceControlTypeEnum) throws PLException {
        SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfoNotException();
//        if(sessionInfo == null || CollectionUtils.isEmpty(sessionInfo.getFunctionOids())){
//            return new ArrayList<Tree>();
@@ -249,6 +250,7 @@
//        PortalServicePrx uiService = ServiceProvider.getUIService();
//        FrameworkServicePrx frameService = ServiceProvider.getFrameService();
        FunctionInfo[] menus = ServiceProvider.getFrameService().getModuleListByParentId("modelManagmentNode", true);
//        FunctionInfo[] menus = ServiceProvider.getFrameService().("modelManagmentNode", true);
//        PLAction[] allPLAction = uiService.getAllPLAction();
        List<MenuVO> functionVOList = new ArrayList<>();
@@ -289,7 +291,7 @@
        return functionVOList.stream().sorted(Comparator.comparing(s -> s.getSort())).collect(Collectors.toList());
    }
    public List<MenuVO> findChildFunctionVO(String parentOid) throws VCIError {
    public List<MenuVO> findChildFunctionVO(String parentOid) throws PLException {
        FunctionInfo[] menus = ServiceProvider.getFrameService().getModuleListByParentId(parentOid, true);
        List<MenuVO> functionVOList = new ArrayList<>();
        for (FunctionInfo menu : menus) {
@@ -329,7 +331,7 @@
    @Override
    public UIContentVO getUIContentByBtmTypeAndId(TreeQueryObject treeQueryObject, ResourceControlTypeEnum resourceControlTypeEnum) throws VCIError {
    public UIContentVO getUIContentByBtmTypeAndId(TreeQueryObject treeQueryObject, ResourceControlTypeEnum resourceControlTypeEnum) throws PLException {
        SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfoNotException();
//        if(sessionInfo == null || CollectionUtils.isEmpty(sessionInfo.getFunctionOids())){
//            return new ArrayList<Tree>();
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/controller/SmFunctionController.java
@@ -1,5 +1,6 @@
package com.vci.web.controller;
import com.vci.corba.common.PLException;
import com.vci.corba.common.VCIError;
import com.vci.frameworkcore.compatibility.ISmFunctionQueryService;
import com.vci.frameworkcore.enumpck.ResourceControlTypeEnum;
@@ -37,7 +38,7 @@
    */
    @VciUnCheckRight
    @GetMapping("/treeMyMenu")
    public List<MenuVO> treeMyMenu(TreeQueryObject treeQueryObject) throws VCIError {
    public List<MenuVO> treeMyMenu(TreeQueryObject treeQueryObject) throws PLException {
        return functionQueryService.treeCurrentUserMenu(treeQueryObject, ResourceControlTypeEnum.BS);
    }
@@ -48,7 +49,7 @@
     */
    @VciUnCheckRight
    @GetMapping("/getUIContentByBtmTypeAndId")
    public UIContentVO getUIContentByBtmTypeAndId(@RequestBody TreeQueryObject treeQueryObject) throws VCIError {
    public UIContentVO getUIContentByBtmTypeAndId(@RequestBody TreeQueryObject treeQueryObject) throws PLException {
        return functionQueryService.getUIContentByBtmTypeAndId(treeQueryObject, ResourceControlTypeEnum.BS);
    }
    
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/controller/StmFunctionController.java
@@ -1,5 +1,6 @@
package com.vci.web.controller;
import com.vci.corba.common.PLException;
import com.vci.corba.common.VCIError;
import com.vci.frameworkcore.compatibility.ISmFunctionQueryService;
import com.vci.frameworkcore.enumpck.ResourceControlTypeEnum;
@@ -46,7 +47,7 @@
    @VciUnCheckRight
    @GetMapping("/getTreeMyMenu")
    @ResponseBody
    public List<MenuVO> getTreeMyMenu(TreeQueryObject treeQueryObject) throws VCIError {
    public List<MenuVO> getTreeMyMenu(TreeQueryObject treeQueryObject) throws PLException {
        return functionQueryService.treeCurrentUserMenu(treeQueryObject, ResourceControlTypeEnum.BS);
    }
}
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/controller/WebUIDataController.java
@@ -136,6 +136,7 @@
     * @return 执行的结果
     */
    @DeleteMapping("/deleteData")
    @VciUnCheckRight
    @VciBusinessLog(operateName = "删除数据",description = "${param.dataList.0.btmname}的${param.dataList.${join}.oid}")
    public BaseResult deleteData(@RequestBody DeleteDataDTO deleteDataDTO){
        return uiDataService.batchDelete(deleteDataDTO);
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/other/WorkFlowEndedNotice.java
@@ -1,5 +1,6 @@
package com.vci.web.other;
import com.vci.corba.common.PLException;
import com.vci.corba.common.VCIError;
import com.vci.starter.web.constant.QueryOptionConstant;
import com.vci.starter.web.util.VciBaseUtil;
@@ -73,7 +74,7 @@
                operation.batchUpdateBuinessObject(allCodeList.toArray(new ClientBusinessObject[0]));
                logger.info("编码生命周期恢复完成");
            }
        } catch (VCIError e) {
        } catch (PLException | VCIError e) {
            e.printStackTrace();
        }
    }
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/OsAttributeServiceI.java
@@ -1,5 +1,6 @@
package com.vci.web.service;
import com.vci.corba.omd.atm.AttributeDef;
import com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.web.pageModel.OsAttributeVO;
@@ -56,14 +57,14 @@
     * @param attribItems 数据对象
     * @return 显示对象
     */
    List<OsAttributeVO> attributeDO2VOs(Collection<com.vci.corba.omd.atm.AttribItem> attribItems);
    List<OsAttributeVO> attributeDO2VOs(Collection<AttributeDef> attribItems);
    /**
     * 属性的数据对象转换为显示对象
     * @param attribItem 数据对象
     * @return 显示对象
     */
    OsAttributeVO attributeDO2VO(com.vci.corba.omd.atm.AttribItem attribItem);
    OsAttributeVO attributeDO2VO(AttributeDef attribItem);
    /**
     * 属性的显示对象转换为数据对象
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/OsBtmServiceI.java
@@ -1,9 +1,9 @@
package com.vci.web.service;
import com.vci.corba.omd.btm.BizType;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.pagemodel.PageHelper;
import com.vci.web.pageModel.*;
import com.vci.corba.omd.btm.BtmItem;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -32,14 +32,14 @@
     * @param btmItems 数据对象
     * @return 显示对象
     */
    List<OsBtmTypeVO> btmDO2VOs(Collection<BtmItem> btmItems);
    List<OsBtmTypeVO> btmDO2VOs(Collection<BizType> btmItems);
    /**
     * 数据对象转换为显示对象
     * @param btmItem 数据对象
     * @return 显示对象
     */
    OsBtmTypeVO btmDO2VO(BtmItem btmItem);
    OsBtmTypeVO btmDO2VO(BizType btmItem);
    /**
     * 使用编号获取业务类型
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/OsEnumServiceI.java
@@ -1,4 +1,5 @@
package com.vci.web.service;
import com.vci.corba.omd.etm.EnumType;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.pagemodel.PageHelper;
@@ -69,14 +70,14 @@
     * @param enumItems 枚举的对象
     * @return 显示对象
     */
    List<OsEnumVO> enumDO2VOs(Collection<EnumItem> enumItems);
    List<OsEnumVO> enumDO2VOs(Collection<EnumType> enumItems);
    /**
     * 枚举的数据对象转换为显示对象
     * @param enumItem 数据对象
     * @return 显示对象
     */
    OsEnumVO enumDO2VO(EnumItem enumItem);
    OsEnumVO enumDO2VO(EnumType enumItem);
    /**
     * 枚举明细转换为KV
@@ -97,13 +98,13 @@
     * 批量添加内容
     * @param enumItemList 枚举的内容
     */
    void batchAddEnum(List<EnumItem> enumItemList);
    void batchAddEnum(List<EnumType> enumItemList);
    /**
     * 批量修改内容
     * @param enumItemList 枚举的内容
     */
    void batchEditEnum(List<EnumItem> enumItemList);
    void batchEditEnum(List<EnumType> enumItemList);
    /**
     * 使用编号获取枚举的名称
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
@@ -1,7 +1,9 @@
package com.vci.web.service.impl;
import com.vci.client.common.providers.ServiceProvider;
import com.vci.corba.common.PLException;
import com.vci.corba.common.VCIError;
import com.vci.corba.omd.atm.AttributeDef;
import com.vci.starter.web.annotation.log.VciUnLog;
import com.vci.starter.web.enumpck.VciFieldTypeEnum;
import com.vci.starter.web.pagemodel.BaseQueryObject;
@@ -116,8 +118,9 @@
        //后面两个分页数,完全没有用
        try {
//            return attributeDO2VOs(Arrays.stream(platformClientUtil.getAttributeService().getAttribItems(abFilter,1,1)).collect(Collectors.toList()));
            return attributeDO2VOs(Arrays.stream(ServiceProvider.getOMDService().getAttributeService().getAttribItems(abFilter.name,1,1)).collect(Collectors.toList()));
        } catch (VCIError vciError) {
//            return attributeDO2VOs(Arrays.stream(ServiceProvider.getOMDService().getAttributeService().getAttribItems(abFilter.name,1,1)).collect(Collectors.toList()));
            return attributeDO2VOs(Arrays.stream(ServiceProvider.getOMDService().getAttributeService().getAttributeDefs(abFilter.name,1,1)).collect(Collectors.toList()));
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
    }
@@ -141,7 +144,7 @@
     * @return 显示对象
     */
    @Override
    public List<OsAttributeVO> attributeDO2VOs(Collection<com.vci.corba.omd.atm.AttribItem> attribItems) {
    public List<OsAttributeVO> attributeDO2VOs(Collection<AttributeDef> attribItems) {
        List<OsAttributeVO> vos = new ArrayList<>();
        Optional.ofNullable(attribItems).orElseGet(()->new ArrayList<>()).stream().forEach(attribItem -> {
            vos.add(attributeDO2VO(attribItem));
@@ -156,7 +159,7 @@
     * @return 显示对象
     */
    @Override
    public OsAttributeVO attributeDO2VO(com.vci.corba.omd.atm.AttribItem attribItem) {
    public OsAttributeVO attributeDO2VO(AttributeDef attribItem) {
        OsAttributeVO attributeVO = new OsAttributeVO();
        if(attribItem!=null){
            attributeVO.setOid(attribItem.oid);
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java
@@ -1,7 +1,8 @@
package com.vci.web.service.impl;
import com.vci.client.common.providers.ServiceProvider;
import com.vci.corba.common.VCIError;
import com.vci.corba.common.PLException;
import com.vci.corba.omd.btm.BizType;
import com.vci.starter.web.annotation.log.VciUnLog;
import com.vci.starter.web.enumpck.BooleanEnum;
import com.vci.starter.web.exception.VciBaseException;
@@ -23,7 +24,6 @@
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import com.vci.corba.omd.btm.BtmItem;
import java.util.*;
import java.util.stream.Collectors;
@@ -91,9 +91,10 @@
    public List<OsBtmTypeVO> selectAllBtm() {
        try {
            // return btmDO2VOs(Arrays.stream(platformClientUtil.getBtmService().getAllBtmItem("")).collect(Collectors.toList()));
            return btmDO2VOs(Arrays.stream(ServiceProvider.getOMDService().getBTMService().getAllBtmItem("")).collect(Collectors.toList()));
        } catch (VCIError vciError) {
           throw WebUtil.getVciBaseException(vciError);
//            return btmDO2VOs(Arrays.stream(ServiceProvider.getOMDService().getBTMService().getAllBtmItem("")).collect(Collectors.toList()));
            return btmDO2VOs(Arrays.stream(ServiceProvider.getOMDService().getBTMService().getBizTypes("")).collect(Collectors.toList()));
        }  catch (PLException e) {
            throw new RuntimeException(e);
        }
    }
@@ -116,7 +117,7 @@
     * @return 显示对象
     */
    @Override
    public List<OsBtmTypeVO> btmDO2VOs(Collection<BtmItem> btmItems) {
    public List<OsBtmTypeVO> btmDO2VOs(Collection<BizType> btmItems) {
        List<OsBtmTypeVO> VOS = new ArrayList<>();
        Optional.ofNullable(btmItems).orElseGet(()->new ArrayList<>()).stream().forEach(btmItem -> {
            OsBtmTypeVO vo = btmDO2VO(btmItem);
@@ -132,7 +133,7 @@
     * @return 显示对象
     */
    @Override
    public OsBtmTypeVO btmDO2VO(BtmItem btmItem) {
    public OsBtmTypeVO btmDO2VO(BizType btmItem) {
        OsBtmTypeVO vo = new OsBtmTypeVO();
        if(btmItem !=null){
            vo.setOid(btmItem.oid);
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/OsEnumServiceImpl.java
@@ -1,7 +1,9 @@
package com.vci.web.service.impl;
import com.vci.client.common.providers.ServiceProvider;
import com.vci.corba.common.PLException;
import com.vci.corba.common.VCIError;
import com.vci.corba.omd.etm.EnumType;
import com.vci.starter.web.annotation.log.VciUnLog;
import com.vci.starter.web.enumpck.UserSecretEnum;
import com.vci.starter.web.exception.VciBaseException;
@@ -13,7 +15,6 @@
import com.vci.web.constant.EnumIdConstant;
import com.vci.web.pageModel.*;
import com.vci.web.service.*;
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.WebUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@@ -25,8 +26,6 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.web.util.HtmlUtils;
import plm.bs.bom.clientobject.ClientBusinessObject;
import com.vci.corba.omd.etm.EnumChild;
import com.vci.corba.omd.etm.EnumItem;
import plm.corba.enumManager.EnumItemFilter;
@@ -211,9 +210,10 @@
        EnumItemFilter filter = new EnumItemFilter("");
        //后面两个参数居然完全没有作用
        try {
            return enumDO2VOs(Arrays.stream(ServiceProvider.getOMDService().getEnumService().getEmItems("",1,1)).collect(Collectors.toList()));
//            return enumDO2VOs(Arrays.stream(ServiceProvider.getOMDService().getEnumService().getEmItems("",1,1)).collect(Collectors.toList()));
            return enumDO2VOs(Arrays.stream(ServiceProvider.getOMDService().getEnumService().getEnumTypes("",1,1)).collect(Collectors.toList()));
            //return enumDO2VOs(Arrays.stream(platformClientUtil.getEnumService().getEmItems(filter,1,1)).collect(Collectors.toList()));
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
    }
@@ -237,7 +237,7 @@
     * @return 显示对象
     */
    @Override
    public List<OsEnumVO> enumDO2VOs(Collection<EnumItem> enumItems) {
    public List<OsEnumVO> enumDO2VOs(Collection<EnumType> enumItems) {
        List<OsEnumVO> enumVOS = new ArrayList<>();
        Optional.ofNullable(enumItems).orElseGet(()->new ArrayList<>()).stream().forEach(enumItem -> {
            OsEnumVO enumVO = enumDO2VO(enumItem);
@@ -253,7 +253,7 @@
     * @return 显示对象
     */
    @Override
    public OsEnumVO enumDO2VO(EnumItem enumItem) {
    public OsEnumVO enumDO2VO(EnumType enumItem) {
        OsEnumVO enumVO = new OsEnumVO();
        if(enumItem!=null){
            enumVO.setOid(enumItem.oid);
@@ -281,10 +281,10 @@
            }
            List<OsEnumItemVO> itemVOS = new ArrayList<>();
            Map<String,String> itemVOMap = new HashMap<>();
            if(enumItem.children!=null && enumItem.children.length > 0){
                for(int i = 0 ; i < enumItem.children.length ; i ++){
            if(enumItem.items!=null && enumItem.items.length > 0){
                for(int i = 0 ; i < enumItem.items.length ; i ++){
                    OsEnumItemVO enumItemVO = new OsEnumItemVO();
                    EnumChild enumChild = enumItem.children[i];
                    EnumItem enumChild = enumItem.items[i];
                    enumItemVO.setId(enumChild.value);
                    enumItemVO.setName(enumChild.name);
                    enumItemVO.setDescription(enumChild.description);
@@ -360,12 +360,12 @@
     * @param enumItemList 枚举的内容
     */
    @Override
    public void batchAddEnum(List<EnumItem> enumItemList) {
    public void batchAddEnum(List<EnumType> enumItemList) {
        if(!CollectionUtils.isEmpty(enumItemList)){
            enumItemList.stream().forEach(enumItem -> {
                try {
                    ServiceProvider.getOMDService().getEnumService().addEmItem(enumItem);
                } catch (VCIError e) {
                    ServiceProvider.getOMDService().getEnumService().addEnumType(enumItem);
                } catch (PLException e) {
                    throw WebUtil.getVciBaseException(e);
                }
            });
@@ -378,12 +378,13 @@
     * @param enumItemList 枚举的内容
     */
    @Override
    public void batchEditEnum(List<EnumItem> enumItemList) {
    public void batchEditEnum(List<EnumType> enumItemList) {
        if(!CollectionUtils.isEmpty(enumItemList)){
            enumItemList.stream().forEach(enumItem -> {
                try {
                    ServiceProvider.getOMDService().getEnumService().modifyEmItem(enumItem);
                } catch (VCIError e) {
//                    ServiceProvider.getOMDService().getEnumService().modifyEmItem(enumItem);
                    ServiceProvider.getOMDService().getEnumService().modifyEnumType(enumItem);
                } catch (PLException e) {
                    throw WebUtil.getVciBaseException(e);
                }
            });
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/OsLifeCycleServiceImpl.java
@@ -1,6 +1,7 @@
package com.vci.web.service.impl;
import com.vci.client.common.providers.ServiceProvider;
import com.vci.corba.common.PLException;
import com.vci.corba.common.VCIError;
import com.vci.corba.omd.lcm.LifeCycle;
import com.vci.starter.web.annotation.log.VciUnLog;
@@ -328,7 +329,7 @@
//            LifeCyle[] lifeCyles = platformClientUtil.getLifeCycleService().getLifeCyles();
            LifeCycle[] lifeCyles = ServiceProvider.getOMDService().getLifeCycleService().getLifeCycles();
            return lifeCycleDO2VOs(Arrays.stream(lifeCyles).collect(Collectors.toList()));
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
             if(logger.isErrorEnabled()){
//                 logger.error(vciError.error_code,vciError);
             }
@@ -393,7 +394,7 @@
                com.vci.corba.omd.lcm.TransitionVO transitionVO = lifeCycleLineVO2DO(lineVO);
//                platformClientUtil.getBOFactoryService().transferBusinessObject(new BusinessObjectHolder(obj), transitionVO);
                ServiceProvider.getBOFService().transferBusinessObject(obj, transitionVO);
            } catch (VCIError e) {
            } catch (PLException e) {
                throw WebUtil.getVciBaseException(e);
            }
        }else{
@@ -626,7 +627,7 @@
//                        bos, vos, releaseStatus);
                ServiceProvider.getBOFService().batchTransferBusinessObjectAndRelease(
                        bos, vos, releaseStatus);
            } catch (VCIError e) {
            } catch (PLException e) {
                throw WebUtil.getVciBaseException(e);
            }
        }else{
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/OsStatusServiceImpl.java
@@ -1,6 +1,7 @@
package com.vci.web.service.impl;
import com.vci.client.common.providers.ServiceProvider;
import com.vci.corba.common.PLException;
import com.vci.corba.common.VCIError;
import com.vci.corba.query.data.KV;
import com.vci.starter.web.annotation.log.VciUnLog;
@@ -136,7 +137,7 @@
        try {
//            return statusDO2VOs(Arrays.stream(platformClientUtil.getStatePoolService().getStatePools()).collect(Collectors.toList()));
            return statusDO2VOs(Arrays.stream(ServiceProvider.getOMDService().getStateService().getStatePools()).collect(Collectors.toList()));
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
    }
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java
@@ -1,11 +1,13 @@
package com.vci.web.service.impl;
import com.vci.client.common.providers.ServiceProvider;
import com.vci.corba.common.PLException;
import com.vci.corba.common.VCIError;
import com.vci.corba.omd.lcm.LifeCycle;
import com.vci.file.pagemodel.VciFileObjectVO;
import com.vci.frameworkcore.lcstatuspck.FrameworkDataLCStatus;
import com.vci.frameworkcore.lcstatuspck.ReleaseDataLCStatus;
import com.vci.omd.constants.SystemAttribute;
import com.vci.starter.revision.bo.TreeWrapperOptions;
import com.vci.starter.web.annotation.bus.VciChangeDataAfter;
import com.vci.starter.web.annotation.bus.VciChangeDataBefore;
@@ -1070,11 +1072,12 @@
        com.vci.client.bof.ClientBusinessObject afterCBO = null;
        try {
//            BusinessObject resultBO = platformClientUtil.getBOFactoryService().createBusinessObject(resultCbo.getObj().getBusinessObject(),false,false);
//            com.vci.corba.omd.data.BusinessObject resultBO = ServiceProvider.getBOFService().createBusinessObject(resultCbo.getObj().getBusinessObject(),false,false);
            com.vci.corba.omd.data.BusinessObject resultBO = ServiceProvider.getBOFService().createBusinessObject(resultCbo.getObj().getBusinessObject(),false,false);
            afterCBO = new com.vci.client.bof.ClientBusinessObject();
            afterCBO.setBusinessObject(resultBO);
            result.setObj(boService.cbo2Map(afterCBO));
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
        if(!CollectionUtils.isEmpty(formDataDTO.getReleaseFileOids())){
@@ -1089,7 +1092,7 @@
            try {
//                platformClientUtil.getBOFactoryService().deleteBusinessObject(afterCBO.getBusinessObject(),1);
                ServiceProvider.getBOFService().deleteBusinessObject(afterCBO.getBusinessObject(),1);
            } catch (VCIError vciError) {
            } catch (PLException vciError) {
                throw WebUtil.getVciBaseException(vciError);
            }
            throw new VciBaseException(LangBaseUtil.getErrorMsg(e),new String[]{},e);
@@ -1135,7 +1138,7 @@
        Map<String,String> baseDataMap = formDataDTO2MapLow(formDataDTO);
        Map<String,String> allDataMapLow = new HashMap<>();
        allDataMapLow.putAll(dataLow);
        allDataMapLow.putAll(baseDataMap);
//        allDataMapLow.putAll(baseDataMap);
        //判断必输项
        BaseResult result = checkRequired(formDefineVO,null,allDataMapLow);
        if(!result.isSuccess()){
@@ -1353,7 +1356,7 @@
                cbo.setBusinessObject(bo);
                afterCBOs.add(cbo);
            });
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
        if(!CollectionUtils.isEmpty(releasedFileOids)){
@@ -1409,7 +1412,7 @@
//            platformClientUtil.getBOFactoryService().updateBusinessObject(new BusinessObjectHolder(resultCbo.getObj().getBusinessObject()));
            ServiceProvider.getBOFService().updateBusinessObject(resultCbo.getObj().getBusinessObject());
            result.setObj(boService.cbo2Map(resultCbo.getObj()));
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
        if(!CollectionUtils.isEmpty(formDataDTO.getReleaseFileOids())){
@@ -1457,7 +1460,7 @@
            com.vci.client.bof.ClientBusinessObject afterCbo = new com.vci.client.bof.ClientBusinessObject();
            afterCbo.setBusinessObject(bo);
            result.setObj(boService.cbo2Map(afterCbo));
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
        if(!CollectionUtils.isEmpty(formDataDTO.getReleaseFileOids())){
@@ -1611,11 +1614,13 @@
        }
        VciBaseUtil.switchCollectionForOracleIn(finalCbo).stream().forEach(cbos->{
            try {
                platformClientUtil.getBOFactoryService().batchDeleteBusinessObject(cbos.stream().map(s->s.getBusinessObject()).collect(Collectors.toList()).toArray(new BusinessObject[0]),1);
            } catch (VCIError vciError) {
//                platformClientUtil.getBOFactoryService().batchDeleteBusinessObject(cbos.stream().map(s->s.getBusinessObject()).collect(Collectors.toList()).toArray(new BusinessObject[0]),1);
                ServiceProvider.getBOFService().batchDeleteBusinessObject(cbos.stream().map(s->s.getBusinessObject()).collect(Collectors.toList()).toArray(new com.vci.corba.omd.data.BusinessObject[0]),1);
            } catch (PLException vciError) {
                throw WebUtil.getVciBaseException(vciError);
            }
        });
        System.out.println("zheshi shazi ");
        return BaseResult.success();
    }
@@ -1683,7 +1688,7 @@
        try {
//            fromCbo.setBusinessObject(platformClientUtil.getBOFactoryService().readBusinessObject(fromOid,fromBtmName));
            fromCbo.setBusinessObject(ServiceProvider.getBOFService().readBusinessObject(fromOid,fromBtmName));
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
        String finalPrefix = prefix;
@@ -1721,7 +1726,7 @@
        try {
//            platformClientUtil.getBOFactoryService().createBusinessObjectWithLink(bosHolder,loHolder);
            ServiceProvider.getBOFService().createBusinessObjectWithLink(bos,clo.getLinkObject());
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
        if(!CollectionUtils.isEmpty(formLinkDataDTO.getReleaseFileOids())){
@@ -1738,7 +1743,7 @@
//                platformClientUtil.getBOFactoryService().deleteLinkObject(clo.getLinkObject());
                ServiceProvider.getBOFService().deleteBusinessObject(toCbo.getBusinessObject(),1);
                ServiceProvider.getBOFService().deleteLinkObject(clo.getLinkObject());
            } catch (VCIError vciError) {
            } catch (PLException vciError) {
                throw WebUtil.getVciBaseException(vciError);
            }
            throw new VciBaseException(LangBaseUtil.getErrorMsg(e),new String[]{},e);
@@ -1777,7 +1782,7 @@
                com.vci.corba.omd.data.LinkObject linkObject = ServiceProvider.getBOFService().readLinkObjectById(formLinkDataDTO.getOid(), formLinkDataDTO.getLinkType());
                clo = new com.vci.client.bof.ClientLinkObject();
                clo.setLinkObject(linkObject);
            } catch (VCIError vciError) {
            } catch (PLException vciError) {
                throw WebUtil.getVciBaseException(vciError);
            }
        }else{
@@ -1939,11 +1944,12 @@
        com.vci.client.bof.ClientBusinessObject cbo = new com.vci.client.bof.ClientBusinessObject();
        String copyfromversion = baseDataMap.get("copyfromversion");
        OsBtmTypeVO btmTypeVO = btmService.getBtmById(btmName);
        List<String> attributeList = btmTypeVO.getAttributes().stream().map(attribute -> attribute.getId()).collect(Collectors.toList());
        if(editFlag || newRevision || newVersion){
            try {
//                cbo.setBusinessObject(platformClientUtil.getBOFactoryService().readBusinessObject(editFlag?oid:copyfromversion,btmName));
                cbo.setBusinessObject(ServiceProvider.getBOFService().readBusinessObject(editFlag?oid:copyfromversion,btmName));
            } catch (VCIError vciError) {
            } catch (PLException vciError) {
                throw new VciBaseException("使用主键在系统中没有查询到数据",new String[]{oid},vciError);
            }
            if(btmTypeVO.isRevisionFlag() && newRevision){
@@ -1975,7 +1981,7 @@
                    LifeCycle lifeCycleVO = null;
                    try {
                        lifeCycleVO = ServiceProvider.getOMDService().getLifeCycleService().getLifeCycle(btmTypeVO.getLifeCycleId());
                    } catch (VCIError e) {
                    } catch (PLException e) {
                        throw new RuntimeException(e);
                    }
                    if(lifeCycleVO == null || StringUtils.isBlank(lifeCycleVO.oid)){
@@ -2001,7 +2007,7 @@
                    LifeCycle lifeCycleVO = null;
                    try {
                        lifeCycleVO = ServiceProvider.getOMDService().getLifeCycleService().getLifeCycle(btmTypeVO.getLifeCycleId());
                    } catch (VCIError e) {
                    } catch (PLException e) {
                        throw new RuntimeException(e);
                    }
                    if(lifeCycleVO == null || StringUtils.isBlank(lifeCycleVO.oid)){
@@ -2068,7 +2074,15 @@
                cbo.setIsFirstV(true);
            }
        }
//        Iterator<Map.Entry<String, String>> iterator = baseDataMap.entrySet().iterator();
//        while(iterator.hasNext()){
//            Map.Entry<String, String> next = iterator.next();
//            if(!attributeList.contains(next.getKey())){
//                iterator.remove();
//            }
//        }
        setValueToCbo(dataLowMap,baseDataMap,cbo,editFlag);
//        cbo.setName(dataLowMap.get("name"));
        return cbo;
    }
@@ -2105,8 +2119,10 @@
                //平台不能传递这个
            }else{
                try {
                    cbo.setAttributeValueWithNoCheck(key, value, !editFlag);
                } catch (VCIError vciError) {
//                    if(!SystemAttribute.bosysAttList().contains(key)){
                        cbo.setAttributeValueWithNoCheck(key, value, !editFlag);
//                    }
                } catch (PLException vciError) {
                    throw new VciBaseException("{0}的值不符合要求,当前是{1}", new String[]{key, value}, vciError);
                }
            }
@@ -2118,16 +2134,20 @@
                if(editFlag) {
                    //编辑的时候可以都设置
                    try {
                        cbo.setAttributeValueWithNoCheck(key, value, !editFlag);
                    } catch (VCIError vciError) {
//                        if(!SystemAttribute.bosysAttList().contains(key)){
                            cbo.setAttributeValueWithNoCheck(key, value, !editFlag);
//                        }
                    } catch (PLException vciError) {
                        throw new VciBaseException("{0}的值不符合要求,当前是{1}", new String[]{key, value}, vciError);
                    }
                }else{
                    //只需要处理id,name,description,密级即可,其余的都已经被设置了
                    if(basicFields.contains(key) &&StringUtils.isNotBlank(value)){
                        try {
                            cbo.setAttributeValueWithNoCheck(key, value, true);
                        } catch (VCIError vciError) {
//                            if(!SystemAttribute.bosysAttList().contains(key)){
                                cbo.setAttributeValueWithNoCheck(key, value, true);
//                            }
                        } catch (PLException vciError) {
                            throw new VciBaseException("{0}的值不符合要求,当前是{1}", new String[]{key, value}, vciError);
                        }
                    }
@@ -2211,7 +2231,7 @@
        try {
//            platformClientUtil.getBOFactoryService().updateLinkObject(loHolder);
            ServiceProvider.getBOFService().updateLinkObject(clo.getLinkObject());
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
        //保存to端或者from端
@@ -2221,7 +2241,7 @@
        try{
//            platformClientUtil.getBOFactoryService().updateBusinessObject(boHolder);
            ServiceProvider.getBOFService().updateBusinessObject(toCbo.getBusinessObject());
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
        if(!CollectionUtils.isEmpty(formLinkDataDTO.getReleaseFileOids())){
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
@@ -5,6 +5,7 @@
import com.thoughtworks.xstream.io.xml.XmlFriendlyNameCoder;
import com.thoughtworks.xstream.io.xml.XppDriver;
import com.vci.client.common.providers.ServiceProvider;
import com.vci.corba.common.PLException;
import com.vci.corba.common.VCIError;
import com.vci.corba.portal.data.PLTabButton;
import com.vci.corba.portal.data.PLUILayout;
@@ -146,7 +147,7 @@
        try {
            portalVIS = ServiceProvider.getUIService().getAllPortalVI();
            // portalVIS = platformClientUtil.getPortalService().getAllPortalVI();
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
        for(int i = 0 ; i < portalVIS.length ; i++){
@@ -170,7 +171,7 @@
        PortalVI[] portalVIS = null;
        try {
            portalVIS = ServiceProvider.getUIService().getAllPortalVI();
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
        List<PortalVI> portalVIList = Arrays.stream(portalVIS).filter(portal -> 1 == portal.viType).collect(Collectors.toList());
@@ -421,7 +422,7 @@
            PortalVI portalVI = null;
            try {
                portalVI = ServiceProvider.getUIService().getPortalVIByTypeNameAndVIName(btmId, id);
            } catch (VCIError vciError) {
            } catch (PLException vciError) {
                throw WebUtil.getVciBaseException(vciError);
            }
            return formDO2VO(portalVI);
@@ -464,7 +465,7 @@
        PortalVI[] portalVIS = null;
        try {
            portalVIS = ServiceProvider.getUIService().getAllPortalVI();
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
        List<PortalVI> portalVIList = Arrays.stream(portalVIS).filter(portal -> 0 == portal.viType).collect(Collectors.toList());
@@ -540,7 +541,7 @@
        }else{
            try {
                formDefineVO = formDO2VO(ServiceProvider.getUIService().getPortalVIById(formOid));
            } catch (VCIError vciError) {
            } catch (PLException vciError) {
                throw WebUtil.getVciBaseException(vciError);
            }
        }
@@ -741,7 +742,7 @@
            PortalVI portalVI = null;
            try {
                portalVI = ServiceProvider.getUIService().getPortalVIByTypeNameAndVIName(btmId, id);
            } catch (VCIError vciError) {
            } catch (PLException vciError) {
                throw WebUtil.getVciBaseException(vciError);
            }
            return tableDO2VO(portalVI,true);
@@ -783,7 +784,7 @@
        try {
//            return actionDO2VOs(Arrays.stream(platformClientUtil.getPortalService().getAllPLAction()).collect(Collectors.toList()));
            return actionDO2VOs(Arrays.stream(ServiceProvider.getUIService().getAllPLAction()).collect(Collectors.toList()));
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
    }
@@ -1033,7 +1034,7 @@
    private List<UILayoutVO> listLayoutByContent(String pkContent){
        try {
            return UILayoutDO2VOs(Arrays.stream(ServiceProvider.getUIService().getPLTabPagesByPageDefinationOId(pkContent)).collect(Collectors.toList()),true);
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
    }
@@ -1158,7 +1159,7 @@
                try {
                    layoutVO.setComponentVOs(uiComponentDO2VOs(Arrays.stream(ServiceProvider.getUIService().getPLPageDefinationsByPageContextOId(layoutVO.getOid())).collect(Collectors.toList()),true));
//                    layoutVO.setComponentVOs(uiComponentDO2VOs(Arrays.stream(platformClientUtil.getPortalService().getPLPageDefinationsByPageContextOId(layoutVO.getOid())).collect(Collectors.toList()),true));
                } catch (VCIError vciError) {
                } catch (PLException vciError) {
                    throw WebUtil.getVciBaseException(vciError);
                }
            }
@@ -1205,7 +1206,7 @@
        if(!QUERY_BY_CACHE){
            try {
                return uiComponentDO2VO(ServiceProvider.getUIService().getPLPageDefinationById(componentOid),true);
            } catch (VCIError vciError) {
            } catch (PLException vciError) {
                throw WebUtil.getVciBaseException(vciError);
            }
        }else{
@@ -1278,7 +1279,7 @@
                    try {
                        componentVO.setTableDefineVO(tableDO2VO(ServiceProvider.getUIService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId()),true));
                        //componentVO.setTableDefineVO(tableDO2VO(platformClientUtil.getPortalService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId()),true));
                    } catch (VCIError vciError) {
                    } catch (PLException vciError) {
                        throw WebUtil.getVciBaseException(vciError);
                    }
                }
@@ -1314,7 +1315,7 @@
                }else{
                    try {
                        tableDefineVO = tableDO2VO(ServiceProvider.getUIService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId()),true);
                    } catch (VCIError vciError) {
                    } catch (PLException vciError) {
                        throw WebUtil.getVciBaseException(vciError);
                    }
                }
@@ -1365,7 +1366,7 @@
                }else{
                    try {
                        componentVO.setFormDefineVO(formDO2VO(ServiceProvider.getUIService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId())));
                    } catch (VCIError vciError) {
                    } catch (PLException vciError) {
                        throw WebUtil.getVciBaseException(vciError);
                    }
                }
@@ -1429,7 +1430,7 @@
            }else{
                return buttonDefineVOS;
            }
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
    }
@@ -1495,7 +1496,7 @@
                            params.put(parameter.plKey,parameter.plValue);
                        }
                    }
                } catch (VCIError vciError) {
                } catch (PLException vciError) {
                    throw WebUtil.getVciBaseException(vciError);
                }
                buttonVO.setParamVOS(params);
@@ -1559,7 +1560,7 @@
//            obj = platformClientUtil.getPortalService().getPLPageLayoutDefinationsByRelatedType(btmType);
//            obj = ServiceProvider.geT(btmType);
        } catch (VCIError vciError) {
        } catch (PLException vciError) {
            throw WebUtil.getVciBaseException(vciError);
        }
        PLUILayout context = null;
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSONObject;
import com.vci.base.common.utility.ObjectUtility;
import com.vci.client.common.providers.ServiceProvider;
import com.vci.corba.common.PLException;
import com.vci.corba.common.VCIError;
import com.vci.corba.omd.qtm.QTInfo;
import com.vci.corba.query.ObjectQueryService;
@@ -226,7 +227,7 @@
        Optional.ofNullable(btmTypeVO.getAttributes()).orElseGet(()->new ArrayList<>()).stream().forEach(attribute->{
            try {
                cbo.setAttributeValueWithNoCheck(attribute.getId(),attribute.getDefaultValue());
            } catch (VCIError vciError) {
            } catch (PLException vciError) {
                if(logger.isErrorEnabled()){
                    logger.error("设置属性的值的时候出现了错误",vciError);
                }
@@ -617,25 +618,19 @@
                logger.error("没有找到查询服务");
                throw new VciBaseException(msgCodePrefix+"qtServerNull", new String[]{});
            }
            IntHolder count = new IntHolder();
//            IntHolder count = new IntHolder();
            ObjectQueryService.FindBTMObjectsV3Result bos = null;
            String invo = JSONObject.toJSONString(InvocationUtility.getInvocation());
//            String invo = JSONObject.toJSONString(InvocationUtility.getInvocation());
            try{
                //bos = qtService.findBTMObjectsV3(invo,qt.getId(), Tool.qtTOXMl(qt).asXML(),count,refOpts.toArray(new BtmRefQueryOption[0]));
                bos = qtService.findBTMObjectsV3(qt.getId(), Tool.qtTOXMl(qt).asXML(), refOpts.toArray(new BtmRefQueryOption[0]));
            }catch (VCIError e){
            }catch (PLException e){
                //bos = qtService.findBTMObjectsV4(invo,qt.getId(), Tool.qtTOXMl(qt).asXML(),count,refOpts.toArray(new BtmRefQueryOption[0]));
                bos = qtService.findBTMObjectsV3(qt.getId(), Tool.qtTOXMl(qt).asXML(), refOpts.toArray(new BtmRefQueryOption[0]));
            }
            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();
//                    BusinessObject businessObject = new BusinessObject(bo.oid, bo.revisionid, bo.nameoid, bo.btName, bo.isLastR ? 1 : 0, bo.isFirstR ? 1 : 0,
//                            bo.isLastV ? 1 : 0, bo.isFirstV ? 1 : 0, bo.creator, String.valueOf(bo.createTime), bo.modifier, String.valueOf(bo.modifyTime),
//                            bo.revisionRule, bo.versionRule, bo.revisionSeq, bo.revisionValue, bo.versionSeq,
//                            bo.versionValue, bo.lctId, bo.lcStatus, String.valueOf(bo.ts), bo.id, bo.name, bo.description,
//                            bo.owner,null, null, null, null,
//                            bo.fromVersion, copyToAttributeValue(bo.newAttrValList), copyToAttributeValue(bo.hisAttrValList));
                    cbo.setBusinessObject(bo);
                    queryEnumText(cbo,enumAttrName);
                    allCbos.add(cbo);
@@ -643,8 +638,7 @@
                //因为修改了查询的方式,所以就不需要单独查询参照
            }
            queryLcStatus(allCbos);
        } catch (VCIError e) {
            //logger.error(e.error_code,e);
        } catch (PLException e) {
            throw WebUtil.getVciBaseException(e);
        }
        return allCbos;
@@ -997,10 +991,10 @@
                    }
                });
            }
        }catch(VCIError e){
        }catch(PLException e){
            //logger.error(e.error_code,e);
            //throw WebUtil.getVciBaseException(e);
        } catch (DocumentException e) {
        } catch (DocumentException | VCIError e) {
            logger.error("查询模板转换",e);
            throw new VciBaseException(this.msgCodePrefix + "qtError", new Object[]{name});
        }
@@ -1048,11 +1042,11 @@
        try{
//            count = platformClientUtil.getQueryService().findTotalCount();
            count = Integer.parseInt(String.valueOf(ServiceProvider.getOQService().findTotalCount(qt.getId(), Tool.qtTOXMl(qt).asXML())));
        }catch (VCIError e) {
        }catch (PLException e) {
            try {
//                count = platformClientUtil.getQueryService().findTotalCount(qt.getId(), Tool.qtTOXMl(qt).asXML());
                count = Integer.parseInt(String.valueOf(ServiceProvider.getOQService().findTotalCount(qt.getId(), Tool.qtTOXMl(qt).asXML())));
            }catch (VCIError ee) {
            }catch (PLException ee) {
//                logger.error(ee.error_code,ee);
//                throw WebUtil.getVciBaseException(ee);
            }
@@ -1210,7 +1204,7 @@
                    dataList.add(data);
                }
            }
        } catch (VCIError e) {
        } catch (PLException e) {
            throw WebUtil.getVciBaseException(e);
        }
        return dataList;
@@ -1284,9 +1278,9 @@
            sql = sql.replaceAll(" FROM "," from ");
        }
        AttributeValue[] ava = null;
        com.vci.corba.omd.data.AttributeValue[] ava = null;
        if(conditionMap!=null&&!conditionMap.isEmpty()){
            ava = new AttributeValue[conditionMap.size()];
            ava = new com.vci.corba.omd.data.AttributeValue[conditionMap.size()];
            Iterator<String> it = conditionMap.keySet().iterator();
            int i = 0 ;
            while(it.hasNext()){
@@ -1295,15 +1289,16 @@
                if(value == null){
                    value = "";
                }
                AttributeValue av = new AttributeValue(key, value);
                com.vci.corba.omd.data.AttributeValue av = new com.vci.corba.omd.data.AttributeValue(key, value);
                ava[i] = av;
                i++;
            }
        }else{
            ava = new AttributeValue[0];
            ava = new com.vci.corba.omd.data.AttributeValue[0];
        }
        try {
            String[][] results =platformClientUtil.getBOFactoryService().getSqlQueryResult(sql, ava);
//            String[][] results =platformClientUtil.getBOFactoryService().getSqlQueryResult(sql, ava);
            String[][] results =ServiceProvider.getBOFService().getSqlQueryResult(sql, ava);
            if(results.length>0){
                if(selectKeys==null) {
                    String selectSql = sql.substring(sql.toLowerCase(Locale.ROOT).indexOf("select") + 6, sql.toLowerCase(Locale.ROOT).indexOf(" from")).trim();
@@ -1340,7 +1335,7 @@
            }else{
                return new ArrayList<Map>();
            }
        } catch (VCIError e) {
        } catch (PLException e) {
//            logger.error(e.error_code,e);
            throw WebUtil.getVciBaseException(e);
        }
@@ -1636,7 +1631,7 @@
                        } else {
                            cbo.setAttributeValueWithNoCheck(attrName.toLowerCase(), value);
                        }
                    } catch (VCIError e) {
                    } catch (PLException e) {
                        throw WebUtil.getVciBaseException(e);
                    }
                }
@@ -2345,7 +2340,7 @@
                    cboArray2Bo(batchCbos.getUpdateCboArray()),
                    cloArray2Lo(batchCbos.getUpdateCloArray()),
                    cboArray2Bo(batchCbos.getDeleteCboArray()), cloArray2Lo(batchCbos.getDeleteCloArray()));
        } catch (VCIError e) {
        } catch (PLException e) {
            throw WebUtil.getVciBaseException(e);
        }
    }
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebBtmIOServiceImpl.java
@@ -1,6 +1,7 @@
package com.vci.web.service.impl;
import com.vci.corba.common.VCIError;
import com.vci.corba.omd.etm.EnumType;
import com.vci.starter.poi.bo.WriteExcelData;
import com.vci.starter.poi.bo.WriteExcelOption;
import com.vci.starter.poi.util.ExcelUtil;
@@ -31,7 +32,6 @@
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;
@@ -484,8 +484,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);
@@ -493,7 +493,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;
@@ -507,24 +507,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);
@@ -539,20 +539,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);
            }
        }
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.vci.base.common.utility.ObjectUtility;
import com.vci.client.common.providers.ServiceProvider;
import com.vci.corba.common.PLException;
import com.vci.corba.common.VCIError;
import com.vci.corba.query.ObjectQueryService;
import com.vci.starter.web.constant.QueryOptionConstant;
@@ -594,7 +595,7 @@
//            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());
            return Arrays.stream(bos).collect(Collectors.toList());
        } catch (VCIError e) {
        } catch (PLException e) {
//            logger.error(e.error_code,e);
            throw WebUtil.getVciBaseException(e);
        }
@@ -733,7 +734,7 @@
            });
            dataGrid.setData(data);
            dataGrid.setTotal(total[0]);
        } catch (VCIError e) {
        } catch (PLException e) {
//            logger.error(e.error_code,e);
            throw WebUtil.getVciBaseException(e);
        }
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/util/WebUtil.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.vci.base.ui.exception.VCIException;
import com.vci.corba.common.PLException;
import com.vci.corba.common.VCIError;
import com.vci.corba.framework.data.UserEntityInfo;
import com.vci.rmip.framework.client.systemConfig.object.UserEntityObject;
@@ -1367,7 +1368,7 @@
                        setValueToField(key, cbo, value);
                    }
                    cbo.setAttributeValueWithNoCheck(key.toLowerCase(), value);
                } catch (VCIError e) {
                } catch (PLException e) {
                    throw WebUtil.getVciBaseException(e);
                }
            }
@@ -1519,6 +1520,16 @@
     * @param e 异常对象
     * @return base异常对象
     */
    public static VciBaseException getVciBaseException(PLException e){
        return new VciBaseException(e.code, new java.lang.String[]{e.getMessage()});
//        return null;
    }
    /**
     * 转换异常
     * @param e 异常对象
     * @return base异常对象
     */
    public static VciBaseException getVciBaseException(VCIException e){
        String[] errorMsgs = new String[0];
        if(e != null && e.getException_objArray() !=null ){