From a68ce68105de4a7d61c89298f4e4ef079443ba4a Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期一, 09 十二月 2024 16:53:58 +0800
Subject: [PATCH] 图标管理
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java | 206 ++++++++++++++++++++++++++++++--------------------
1 files changed, 123 insertions(+), 83 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
index 9d6182c..9d06303 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
@@ -4,22 +4,22 @@
import com.thoughtworks.xstream.XStream;
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.framework.data.RoleRightInfo;
import com.vci.corba.portal.data.*;
+import com.vci.pagemodel.*;
import com.vci.starter.web.annotation.log.VciUnLog;
import com.vci.starter.web.exception.VciBaseException;
-import com.vci.starter.web.util.BeanUtil;
+import com.vci.starter.web.util.BeanUtilForVCI;
import com.vci.starter.web.util.LangBaseUtil;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.starter.web.util.VciDateUtil;
import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
-import com.vci.web.constant.CacheKeyConstant;
import com.vci.web.enumpck.UIComponentDisplayTypeEnum;
import com.vci.web.enumpck.UIComponentTypeEnum;
import com.vci.web.enumpck.UIFieldTypeEnum;
import com.vci.web.enumpck.UILayoutAreaTypeEnum;
-import com.vci.web.pageModel.*;
+import com.vci.web.other.AllActionThreadLocal;
import com.vci.web.service.OsAttributeServiceI;
import com.vci.web.service.OsBtmServiceI;
import com.vci.web.service.UIEngineServiceI;
@@ -30,12 +30,10 @@
import com.vci.web.xmlmodel.UIComponentDetailXO;
import com.vci.web.xmlmodel.UIComponentItemXO;
import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.hdf.extractor.SEP;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cache.annotation.CacheEvict;
-import org.springframework.cache.annotation.Cacheable;
-import org.springframework.cache.annotation.Caching;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -43,8 +41,7 @@
import java.util.*;
import java.util.stream.Collectors;
-import static com.vci.web.constant.CacheNameConstant.VCI_OBJECT_SERVICE;
-import static com.vci.web.constant.EnumIdConstant.LC_STATUS_SUBFIX;
+import static com.vci.constant.EnumIdConstant.LC_STATUS_SUBFIX;
/**
* UI寮曟搸鏈嶅姟锛屼互鍓嶅钩鍙板皝瑁呭埌action閲岀殑锛�
@@ -88,6 +85,12 @@
*/
@Autowired
private OsBtmServiceI btmService;
+
+ /**
+ * 灞炴�х殑鏈嶅姟
+ */
+ @Autowired
+ private OsAttributeServiceI attrService;
/**
* 涓氬姟绫诲瀷鐨勬湇鍔�
@@ -136,8 +139,7 @@
public void checkInvalidXmlVI() {
PortalVI[] portalVIS = null;
try {
- portalVIS = ServiceProvider.getUIService().getAllPortalVI();
- // portalVIS = platformClientUtil.getPortalService().getAllPortalVI();
+ portalVIS = platformClientUtil.getUIService().getAllPortalVI();
} catch (PLException vciError) {
throw WebUtil.getVciBaseException(vciError);
}
@@ -161,7 +163,7 @@
public List<UIFormDefineVO> selectAllForm() {
PortalVI[] portalVIS = null;
try {
- portalVIS = ServiceProvider.getUIService().getAllPortalVI();
+ portalVIS = platformClientUtil.getUIService().getAllPortalVI();
} catch (PLException vciError) {
throw WebUtil.getVciBaseException(vciError);
}
@@ -175,7 +177,6 @@
* @return key鏄〃鍗曡嫳鏂囧悕绉�
*/
@Override
- @Cacheable(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_FORM,unless = "#result == null")
public Map<String, UIFormDefineVO> selectAllFormMap() {
return Optional.ofNullable(self.selectAllForm()).orElseGet(()->new ArrayList<>()).stream().collect(Collectors.toMap(s->s.getBtmType().toLowerCase() + SEP + s.getId().toLowerCase(),t->t,(o1,o2)->o1));
}
@@ -325,7 +326,13 @@
//璇存槑鏄摼鎺ョ被鍨�
field = field.substring("t_oid.".length());
}
- OsAttributeVO attributeVO = attributeService.getAttr(field);
+// OsAttributeVO attributeVO = attributeService.getAttr(field);
+ OsAttributeVO attributeVO = null;
+ try {
+ attributeVO = attributeService.attributeDO2VO(platformClientUtil.getAttributeService().getAttributeDefByName(field));
+ } catch (PLException e) {
+ throw new RuntimeException(e);
+ }
UIFormReferVO referVO = new UIFormReferVO();
if(attributeVO !=null && StringUtils.isNotBlank(attributeVO.getBtmTypeId())
&& StringUtils.isBlank(itemXO.getRefer())
@@ -404,21 +411,17 @@
* @return 琛ㄥ崟鐨勫畾涔�
*/
@Override
- @Cacheable(value = VCI_OBJECT_SERVICE,key = "#p0.concat('${formcache}').concat(#p1)",unless = "#result == null || #p0 == null || #p1 == null")
public UIFormDefineVO getFormById(String btmId, String id) {
if(StringUtils.isBlank(btmId) || StringUtils.isBlank(id)){
return null;
}
- if(!QUERY_BY_CACHE){
- PortalVI portalVI = null;
- try {
- portalVI = ServiceProvider.getUIService().getPortalVIByTypeNameAndVIName(btmId, id);
- } catch (PLException vciError) {
- throw WebUtil.getVciBaseException(vciError);
- }
- return formDO2VO(portalVI);
+ PortalVI portalVI = null;
+ try {
+ portalVI = platformClientUtil.getUIService().getPortalVIByTypeNameAndVIName(btmId, id);
+ } catch (PLException vciError) {
+ throw WebUtil.getVciBaseException(vciError);
}
- return self.selectAllFormMap().getOrDefault(btmId.toLowerCase()+SEP+id.toLowerCase(),null);
+ return formDO2VO(portalVI);
}
/**
@@ -450,12 +453,11 @@
* @return 琛ㄦ牸鐨勫畾涔�
*/
@Override
- @Cacheable(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_TABLE,unless = "#result == null")
@VciUnLog
public List<UITableDefineVO> selectAllTable() {
PortalVI[] portalVIS = null;
try {
- portalVIS = ServiceProvider.getUIService().getAllPortalVI();
+ portalVIS = platformClientUtil.getUIService().getAllPortalVI();
} catch (PLException vciError) {
throw WebUtil.getVciBaseException(vciError);
}
@@ -485,7 +487,12 @@
public List<UITableDefineVO> tableDO2VOs(Collection<PortalVI> prms, boolean queryDetail) {
List<UITableDefineVO> tableDefineVOList = new ArrayList<>();
Optional.ofNullable(prms).orElseGet(()->new ArrayList<PortalVI>()).stream().forEach(portal->{
- UITableDefineVO defineVO = tableDO2VO(portal,queryDetail);
+ UITableDefineVO defineVO = null;
+ try {
+ defineVO = tableDO2VO(portal,queryDetail,null);
+ } catch (PLException e) {
+ throw new RuntimeException(e);
+ }
tableDefineVOList.add(defineVO);
});
return tableDefineVOList;
@@ -500,7 +507,7 @@
*/
@Override
@VciUnLog
- public UITableDefineVO tableDO2VO(PortalVI portal, boolean queryDetail) {
+ public UITableDefineVO tableDO2VO(PortalVI portal, boolean queryDetail, Map<String, OsAttributeVO> attributeVOMap) throws PLException {
UITableDefineVO tableDefineVO = new UITableDefineVO();
tableDefineVO.setOid(portal.id);
tableDefineVO.setId(portal.viName);
@@ -531,7 +538,7 @@
self.selectAllForm().stream().filter(s -> formOid.equalsIgnoreCase(s.getOid())).findAny().orElseGet(() -> null);
}else{
try {
- formDefineVO = formDO2VO(ServiceProvider.getUIService().getPortalVIById(formOid));
+ formDefineVO = formDO2VO(platformClientUtil.getUIService().getPortalVIById(formOid));
} catch (PLException vciError) {
throw WebUtil.getVciBaseException(vciError);
}
@@ -605,7 +612,7 @@
fieldVO.setSortField(fieldName);
fieldVO.setEdit("combox");
//鑲畾鏄笟鍔$被鍨嬶紝鍥犱负閾炬帴绫诲瀷娌℃湁杩欎釜瀛楁
- OsBtmTypeVO btmTypeVO = btmService.getBtmById(tableDefineVO.getBtmType());
+ OsBtmTypeVO btmTypeVO = btmService.btmDO2VO(platformClientUtil.getBtmService().getBizTypeByName(tableDefineVO.getBtmType()),attributeVOMap);
if(btmTypeVO!=null && StringUtils.isNotBlank(btmTypeVO.getLifeCycleId())){
fieldVO.setComboxKey(btmTypeVO.getLifeCycleId() + LC_STATUS_SUBFIX);
}
@@ -654,7 +661,7 @@
&& !UIFieldTypeEnum.CUSTOM.getValue().equalsIgnoreCase(s.getFieldType())).forEach(fieldVO->{
//鍒楄〃閲岄潰涓嶆斁edit锛岃�屾煡璇㈤噷闈㈤渶瑕佹斁edit
UITableFieldVO queryFieldVO = new UITableFieldVO();
- BeanUtil.convert(fieldVO,queryFieldVO);
+ BeanUtilForVCI.convert(fieldVO,queryFieldVO);
canQueryFields.add(queryFieldVO);
});
tableDefineVO.setSeniorQueryColumns(canQueryFields);
@@ -724,19 +731,18 @@
* @return 琛ㄥ崟鐨勫畾涔�
*/
@Override
- @Cacheable(value = VCI_OBJECT_SERVICE,key = "#p0.concat('${tablecache}').concat(#p1)",unless = "#result == null || #p0 == null || #p1 == null")
- public UITableDefineVO getTableById(String btmId, String id) {
+ public UITableDefineVO getTableById(String btmId, String id) throws PLException {
if(StringUtils.isBlank(btmId) || StringUtils.isBlank(id)){
return null;
}
if(!QUERY_BY_CACHE){
PortalVI portalVI = null;
try {
- portalVI = ServiceProvider.getUIService().getPortalVIByTypeNameAndVIName(btmId, id);
+ portalVI = platformClientUtil.getUIService().getPortalVIByTypeNameAndVIName(btmId, id);
} catch (PLException vciError) {
throw WebUtil.getVciBaseException(vciError);
}
- return tableDO2VO(portalVI,true);
+ return tableDO2VO(portalVI,true,null);
}
return self.selectAllTableMap().getOrDefault(btmId.toLowerCase()+SEP+id.toLowerCase(),null);
}
@@ -773,8 +779,7 @@
@VciUnLog
public List<UIActionVO> selectAllAction() {
try {
-// return actionDO2VOs(Arrays.stream(platformClientUtil.getPortalService().getAllPLAction()).collect(Collectors.toList()));
- return actionDO2VOs(Arrays.stream(ServiceProvider.getUIService().getAllPLAction()).collect(Collectors.toList()));
+ return actionDO2VOs(Arrays.stream(platformClientUtil.getUIService().getAllPLAction()).collect(Collectors.toList()));
} catch (PLException vciError) {
throw WebUtil.getVciBaseException(vciError);
}
@@ -786,7 +791,6 @@
* @return 鏄剧ず瀵硅薄锛宬ey鏄痑ction鐨勪富閿�
*/
@Override
- @Cacheable(value = VCI_OBJECT_SERVICE,key=CacheKeyConstant.ALL_ACTION,unless = "#result == null")
public Map<String, UIActionVO> selectAllActionMap() {
return Optional.ofNullable(self.selectAllAction()).orElseGet(()->new ArrayList<>()).stream().collect(Collectors.toMap(s->s.getOid(),t->t));
}
@@ -843,13 +847,6 @@
* 娓呴櫎缂撳瓨
*/
@Override
- @Caching(evict = {
- @CacheEvict(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_UI),
- @CacheEvict(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_ACTION),
- @CacheEvict(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_FORM),
- @CacheEvict(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_TABLE),
- @CacheEvict(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_FORM_AND_TABLE)
- })
public void clearCache() {
}
@@ -861,7 +858,6 @@
*/
@Override
@VciUnLog
- @Cacheable(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_UI,unless = "#result == null")
public List<UIContentVO> selectAllUIContent() {
try {
return UIContentDO2VOs(Arrays.stream(platformClientUtil.getPortalService().getAllPLUILayouts()).collect(Collectors.toList()));
@@ -933,7 +929,7 @@
List<UIComponentVO> southCompVO = componentVOs.stream().filter(s->!s.getOid().equals(firstCompVO.getOid())).collect(Collectors.toList());
UILayoutVO centerVO = new UILayoutVO();
- BeanUtil.convert(layoutVO,centerVO);
+ BeanUtilForVCI.convert(layoutVO,centerVO);
centerVO.setOid(centerVO.getOid() + "_center");
centerVO.setLayoutAreaType(UILayoutAreaTypeEnum.CENTER.getValue());
centerVO.setOrderNum(0);
@@ -951,7 +947,7 @@
//鍏朵綑鐨勪綔涓簊outh
if(!CollectionUtils.isEmpty(southCompVO)) {
UILayoutVO southVO = new UILayoutVO();
- BeanUtil.convert(layoutVO, southVO);
+ BeanUtilForVCI.convert(layoutVO, southVO);
southVO.setOid(centerVO.getOid() + "_south");
southVO.setLayoutAreaType(UILayoutAreaTypeEnum.SOUTH.getValue());
southVO.setOrderNum(0);
@@ -1024,7 +1020,7 @@
*/
private List<UILayoutVO> listLayoutByContent(String pkContent){
try {
- return UILayoutDO2VOs(Arrays.stream(ServiceProvider.getUIService().getPLTabPagesByPageDefinationOId(pkContent)).collect(Collectors.toList()),true);
+ return UILayoutDO2VOs(Arrays.stream(platformClientUtil.getUIService().getPLTabPagesByPageDefinationOId(pkContent)).collect(Collectors.toList()),true);
} catch (PLException vciError) {
throw WebUtil.getVciBaseException(vciError);
}
@@ -1067,7 +1063,6 @@
* @return 鍖哄煙鐨勬樉绀哄璞�
*/
@Override
- @Cacheable(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_LAYOUT,unless = "#result == null")
public List<UILayoutVO> selectAllUILayout() {
// try {
// return UILayoutDO2VOs(Arrays.stream(platformClientUtil.getPortalService().getAllPLTabPages()).collect(Collectors.toList()),true);
@@ -1084,8 +1079,19 @@
*/
private List<UILayoutVO> UILayoutDO2VOs(Collection<PLTabPage> pages, boolean queryDetail){
List<UILayoutVO> contentVOS = new ArrayList<>();
+ Map<String, OsAttributeVO> attributeVOMap;
+ if(pages != null && pages.size() > 0){
+ attributeVOMap = attrService.selectAllAttributeMap();
+ Map<String, UIActionVO> actionVOMap = AllActionThreadLocal.get();
+ if(actionVOMap == null || actionVOMap.isEmpty()){
+ actionVOMap = selectAllActionMap();
+ AllActionThreadLocal.set(actionVOMap);
+ }
+ }else{
+ attributeVOMap = null;
+ }
Optional.ofNullable(pages).orElseGet(()->new ArrayList<PLTabPage>()).stream().forEach(page->{
- UILayoutVO layoutVO = UILayoutDO2VO(page, queryDetail);
+ UILayoutVO layoutVO = UILayoutDO2VO(page, queryDetail,attributeVOMap);
if(layoutVO.isEnableStatus()) {
contentVOS.add(layoutVO);
}
@@ -1098,6 +1104,7 @@
}
});
}
+ AllActionThreadLocal.remove();
return contentVOS;
}
@@ -1108,7 +1115,7 @@
* @return 鍖哄煙鐨勬樉绀哄璞�
*/
@VciUnLog
- private UILayoutVO UILayoutDO2VO(PLTabPage page, boolean queryDetail){
+ private UILayoutVO UILayoutDO2VO(PLTabPage page, boolean queryDetail,Map<String, OsAttributeVO> attributeVOMap){
UILayoutVO layoutVO = new UILayoutVO();
if(page !=null ){
layoutVO.setOid(page.plOId);
@@ -1148,8 +1155,7 @@
if(queryDetail){
//鍗曚釜鐨勶紝鐩存帴鑾峰彇
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));
+ layoutVO.setComponentVOs(uiComponentDO2VOs(Arrays.stream(platformClientUtil.getUIService().getPLPageDefinationsByPageContextOId(layoutVO.getOid())).collect(Collectors.toList()),true,attributeVOMap));
} catch (PLException vciError) {
throw WebUtil.getVciBaseException(vciError);
}
@@ -1173,7 +1179,6 @@
* @return UI缁勪欢
*/
@Override
- @Cacheable(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_COMP ,unless = "#result ==null")
public List<UIComponentVO> selectAllUIComponent() {
// try {
// return uiComponentDO2VOs(Arrays.stream(platformClientUtil.getPortalService().getAllPLPageDefinations()).collect(Collectors.toList()),false);
@@ -1190,13 +1195,18 @@
* @return 涓婚敭鐨勬樉绀哄璞�
*/
@Override
- public UIComponentVO getComponentByOid(String componentOid) {
+ public UIComponentVO getComponentByOid(String componentOid, Map<String, OsAttributeVO> attributeVOMap) {
if(StringUtils.isBlank(componentOid)){
return null;
}
- if(!QUERY_BY_CACHE){
+ try {
+ return uiComponentDO2VO(platformClientUtil.getUIService().getPLPageDefinationById(componentOid),true,attributeVOMap);
+ } catch (PLException vciError) {
+ throw WebUtil.getVciBaseException(vciError);
+ }
+ /*if(!QUERY_BY_CACHE){
try {
- return uiComponentDO2VO(ServiceProvider.getUIService().getPLPageDefinationById(componentOid),true);
+ return uiComponentDO2VO(platformClientUtil.getUIService().getPLPageDefinationById(componentOid),true,attributeVOMap);
} catch (PLException vciError) {
throw WebUtil.getVciBaseException(vciError);
}
@@ -1206,8 +1216,7 @@
if(!CollectionUtils.isEmpty(componentVOList)){
return componentVOList.get(0);
}
- }
- return null;
+ }*/
}
/**
@@ -1215,10 +1224,10 @@
* @param pages 鏁版嵁瀵硅薄
* @return 鏄剧ず瀵硅薄
*/
- private List<UIComponentVO> uiComponentDO2VOs(Collection<com.vci.corba.portal.data.PLPageDefination> pages, boolean queryDetail){
+ private List<UIComponentVO> uiComponentDO2VOs(Collection<com.vci.corba.portal.data.PLPageDefination> pages, boolean queryDetail,Map<String, OsAttributeVO> attributeVOMap){
List<UIComponentVO> componentVOS = new ArrayList<>();
pages.stream().forEach(page->{
- componentVOS.add(uiComponentDO2VO(page,queryDetail));
+ componentVOS.add(uiComponentDO2VO(page,queryDetail,attributeVOMap));
});
return componentVOS;
}
@@ -1229,7 +1238,7 @@
* @return 鏄剧ず瀵硅薄
*/
@VciUnLog
- private UIComponentVO uiComponentDO2VO(PLPageDefination page, boolean queryDetail){
+ private UIComponentVO uiComponentDO2VO(PLPageDefination page, boolean queryDetail, Map<String, OsAttributeVO> attributeVOMap){
UIComponentVO componentVO = new UIComponentVO();
if(page !=null){
componentVO.setOid(page.plOId);
@@ -1237,6 +1246,7 @@
componentVO.setName(page.name);
componentVO.setDescription(page.desc);
componentVO.setOrderNum((int) page.seq);
+
UIComponentDefineXO componentDefineXO = null;
try {
componentDefineXO = readInfoFromXML(page.plDefination, UIComponentDefineXO.class);
@@ -1244,6 +1254,8 @@
logger.error("璇诲彇xml鍑洪敊",e);
return null;
}
+ //鑷畾涔夋煡璇㈡柟寮�
+ componentVO.setBsCustQueryCLsOrUrl(componentDefineXO.getBsCustQueryCLsOrUrl());
//涔嬪墠鐨勭被鍨嬬殑鍊兼槸1锛�2锛�3绛夌湅鐫�涓嶇洿瑙�
UIComponentTypeEnum componentTypeEnum = null;
if("1".equals(componentDefineXO.getTemplateType())){
@@ -1268,8 +1280,7 @@
componentVO.setTableDefineVO(tableDefineVOMap.get(key));
}else{
try {
- componentVO.setTableDefineVO(tableDO2VO(ServiceProvider.getUIService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId()),true));
- //componentVO.setTableDefineVO(tableDO2VO(platformClientUtil.getPortalService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId()),true));
+ componentVO.setTableDefineVO(tableDO2VO(platformClientUtil.getUIService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId()),true,attributeVOMap));
} catch (PLException vciError) {
throw WebUtil.getVciBaseException(vciError);
}
@@ -1305,7 +1316,7 @@
tableDefineVO= tableDefineVOMap.get(key);
}else{
try {
- tableDefineVO = tableDO2VO(ServiceProvider.getUIService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId()),true);
+ tableDefineVO = tableDO2VO(platformClientUtil.getUIService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId()),true,null);
} catch (PLException vciError) {
throw WebUtil.getVciBaseException(vciError);
}
@@ -1313,7 +1324,7 @@
if(tableDefineVO != null) {
UITreeTableDefineVO treeTableDefineVO = new UITreeTableDefineVO();
- BeanUtil.convert(tableDefineVO, treeTableDefineVO);
+ BeanUtilForVCI.convert(tableDefineVO, treeTableDefineVO);
if(isLink){
treeTableDefineVO.setTreeCurrentField("t_oid");
treeTableDefineVO.setTreeParentField("f_oid");
@@ -1356,7 +1367,7 @@
componentVO.setFormDefineVO(formDefineVOMap.get(key));
}else{
try {
- componentVO.setFormDefineVO(formDO2VO(ServiceProvider.getUIService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId())));
+ componentVO.setFormDefineVO(formDO2VO(platformClientUtil.getUIService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId())));
} catch (PLException vciError) {
throw WebUtil.getVciBaseException(vciError);
}
@@ -1368,7 +1379,8 @@
treeDefineVO.setBtmType(componentDefineXO.getShowType());
treeDefineVO.setLinkType(componentDefineXO.getLinkType());
treeDefineVO.setLoadType("1".equalsIgnoreCase(componentDefineXO.getExpandMode())?"node":"all");
- treeDefineVO.setOrientation("positive".equalsIgnoreCase(componentDefineXO.getOrientation())?false:true);
+ //TODO:杩欎釜灞炴�х幇鍦ㄧ敱閾炬帴绫诲瀷鏌ヨ鎺у埗锛屼笉鐢遍〉闈㈠畾涔夋帶鍒朵簡
+ //treeDefineVO.setOrientation("positive".equalsIgnoreCase(componentDefineXO.getOrientation())?false:true);
treeDefineVO.setShowImage("1".equalsIgnoreCase(componentDefineXO.getIsShowImage())?true:false);
treeDefineVO.setRootContent(componentDefineXO.getRootContent());
treeDefineVO.setFieldSep(StringUtils.isBlank(componentDefineXO.getSeparator())?",":componentDefineXO.getSeparator());
@@ -1406,7 +1418,32 @@
@Override
public List<UIButtonDefineVO> listButtonByComponent(String pkComponent){
try {
- List<UIButtonDefineVO> buttonDefineVOS = buttonDO2VOs(Arrays.stream(ServiceProvider.getUIService().getPLTabButtonsByTableOId(pkComponent)).collect(Collectors.toSet())).stream().sorted(((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()))).collect(Collectors.toList());
+ List<UIButtonDefineVO> buttonDefineVOS = buttonDO2VOs(Arrays.stream(platformClientUtil.getUIService().getPLTabButtonsByTableOId(pkComponent)).collect(Collectors.toSet())).stream().sorted(((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()))).collect(Collectors.toList());
+
+ Map<String,RoleRightInfo> allRightRoleMap = new HashMap<>();
+ RoleRightInfo[] bts = platformClientUtil.getFrameworkService().getRoleRightByUserName("bt");
+ Map<String,Long> rightMap = new HashMap<String,Long>();
+ for(RoleRightInfo obj:bts){
+ allRightRoleMap.put(obj.funcId, obj);
+ rightMap.put(obj.funcId,obj.rightValue);
+ }
+ //寰幆瀵规寜閽潈闄愯繘琛屽垽鏂紝娌℃湁鏉冮檺鐨勫皢绉婚櫎buttonDefineVOS瀵硅薄
+ Iterator<UIButtonDefineVO> buttonDefineVO = buttonDefineVOS.iterator();
+ while (buttonDefineVO.hasNext()){
+ UIButtonDefineVO buttonDefine = buttonDefineVO.next();
+ if(rightMap.containsKey(buttonDefine.getPkComponent())) {
+ Long rightValue = rightMap.get(buttonDefine.getPkComponent());
+ int nodeValue = buttonDefine.getOrderNum();
+ if (nodeValue >= 0 && nodeValue <= 63) {
+ //杩涜浣嶄笌鎿嶄綔锛屽鏋滅浉绛夊垯琛ㄧず鍏锋湁褰撳墠鎿嶄綔鐨勬潈闄�
+ long preValue = (rightValue >> nodeValue) & 1;
+ if (preValue != 1) {
+ buttonDefineVO.remove();
+ }
+ }
+ }
+ }
+
if(CollectionUtils.isEmpty(buttonDefineVOS)){
return buttonDefineVOS;
}
@@ -1434,9 +1471,19 @@
@Override
public List<UIButtonDefineVO> buttonDO2VOs(Collection<com.vci.corba.portal.data.PLTabButton> buttons){
List<UIButtonDefineVO> buttonDefineVOS = new ArrayList<>();
- Optional.ofNullable(buttons).orElseGet(()->new ArrayList<>()).stream().forEach(button->{
- buttonDefineVOS.add(buttonDO2VO(button));
- });
+ if(buttons != null && buttons.size() > 0){
+// Map<String, UIActionVO> actionVOMap = self.selectAllActionMap();
+ Map<String, UIActionVO> actionVOMap = null;
+ actionVOMap = AllActionThreadLocal.get();
+ if(actionVOMap == null ){
+ actionVOMap = self.selectAllActionMap();
+ }
+ Map<String, UIActionVO> finalActionVOMap = actionVOMap;
+ Optional.ofNullable(buttons).orElseGet(()->new ArrayList<>()).stream().forEach(button->{
+ buttonDefineVOS.add(buttonDO2VO(button, finalActionVOMap));
+ });
+ }
+
return buttonDefineVOS;
}
@@ -1446,9 +1493,8 @@
* @return 鏄剧ず瀵硅薄
*/
@Override
- public UIButtonDefineVO buttonDO2VO(com.vci.corba.portal.data.PLTabButton button) {
+ public UIButtonDefineVO buttonDO2VO(com.vci.corba.portal.data.PLTabButton button, Map<String, UIActionVO> actionVOMap) {
UIButtonDefineVO buttonVO = new UIButtonDefineVO();
- Map<String, UIActionVO> actionVOMap = self.selectAllActionMap();
// Map<String, UIActionVO> actionVOMap = ServiceProvider.getUIService().getAllPLAction();
if(button !=null){
buttonVO.setOid(button.plOId);
@@ -1480,8 +1526,7 @@
//鏌ユ壘鍙傛暟
Map<String,String> params = new HashMap<>();
try {
- //PLCommandParameter[] parameters = platformClientUtil.getPortalService().getPLCommandParametersByCommandOId(buttonVO.getOid());
- PLCommandParameter[] parameters = ServiceProvider.getUIService().getPLCommandParametersByCommandOId(buttonVO.getOid());
+ PLCommandParameter[] parameters = platformClientUtil.getUIService().getPLCommandParametersByCommandOId(buttonVO.getOid());
if(parameters!=null && parameters.length > 0){
for(PLCommandParameter parameter: parameters){
params.put(parameter.plKey,parameter.plValue);
@@ -1542,15 +1587,11 @@
* @return UI涓婁笅鏂囩殑淇℃伅
*/
@Override
- @Cacheable(value = VCI_OBJECT_SERVICE,key = "#p0.concat('${uicache}').concat(#p1)",unless = "#result == null || #p0 == null || #p1 ==null")
public UIContentVO getUIContentByBtmTypeAndId(String btmType, String id) {
WebUtil.alertNotNull(btmType,"涓氬姟绫诲瀷鎴栬�呴摼鎺ョ被鍨�",id,"UI涓婁笅鏂囩殑缂栧彿");
PLUILayout[] obj = null;
try {
- obj = ServiceProvider.getUIService().getPLUILayoutsByRelatedType(btmType);
-// obj = platformClientUtil.getPortalService().getPLPageLayoutDefinationsByRelatedType(btmType);
-// obj = ServiceProvider.geT(btmType);
-
+ obj = platformClientUtil.getUIService().getPLUILayoutsByRelatedType(btmType);
} catch (PLException vciError) {
throw WebUtil.getVciBaseException(vciError);
}
@@ -1562,7 +1603,6 @@
}
}
return UIContentDO2VO(context,true);
-// return UIContentDO2VO(null,true);
}
}
--
Gitblit v1.9.3