From 9d92bb1d5698690bfd06fb93c668d9ae73300426 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期五, 13 十二月 2024 13:05:09 +0800 Subject: [PATCH] 添加按钮权限查询接口。 修改UI页面定义的属性字段。 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java | 62 +++++++++++++++++++++---------- 1 files changed, 42 insertions(+), 20 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 f2b6086..27f98b1 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 @@ -10,12 +10,16 @@ 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.*; +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.enumpck.UIComponentDisplayTypeEnum; import com.vci.web.enumpck.UIComponentTypeEnum; import com.vci.web.enumpck.UIFieldTypeEnum; import com.vci.web.enumpck.UILayoutAreaTypeEnum; +import com.vci.web.other.AllActionThreadLocal; import com.vci.web.service.OsAttributeServiceI; import com.vci.web.service.OsBtmServiceI; import com.vci.web.service.UIEngineServiceI; @@ -26,6 +30,7 @@ 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; @@ -410,16 +415,13 @@ if(StringUtils.isBlank(btmId) || StringUtils.isBlank(id)){ return null; } - if(!QUERY_BY_CACHE){ - PortalVI portalVI = null; - try { - portalVI = platformClientUtil.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); } /** @@ -659,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); @@ -927,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); @@ -945,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); @@ -1080,6 +1082,11 @@ 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; } @@ -1097,6 +1104,7 @@ } }); } + AllActionThreadLocal.remove(); return contentVOS; } @@ -1191,7 +1199,12 @@ 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(platformClientUtil.getUIService().getPLPageDefinationById(componentOid),true,attributeVOMap); } catch (PLException vciError) { @@ -1203,8 +1216,7 @@ if(!CollectionUtils.isEmpty(componentVOList)){ return componentVOList.get(0); } - } - return null; + }*/ } /** @@ -1234,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); @@ -1241,6 +1254,8 @@ logger.error("璇诲彇xml鍑洪敊",e); return null; } + //鑷畾涔夋煡璇㈡柟寮� + componentVO.setBsDataModel(componentDefineXO.getBsDataModel()); //涔嬪墠鐨勭被鍨嬬殑鍊兼槸1锛�2锛�3绛夌湅鐫�涓嶇洿瑙� UIComponentTypeEnum componentTypeEnum = null; if("1".equals(componentDefineXO.getTemplateType())){ @@ -1309,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"); @@ -1364,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()); @@ -1456,9 +1472,15 @@ public List<UIButtonDefineVO> buttonDO2VOs(Collection<com.vci.corba.portal.data.PLTabButton> buttons){ List<UIButtonDefineVO> buttonDefineVOS = new ArrayList<>(); if(buttons != null && buttons.size() > 0){ - Map<String, UIActionVO> actionVOMap = self.selectAllActionMap(); +// 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, actionVOMap)); + buttonDefineVOS.add(buttonDO2VO(button, finalActionVOMap)); }); } -- Gitblit v1.9.3