From 435e3366a85f797ce02008698c28c9a8ca73b4a6 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 08 十月 2024 10:10:24 +0800 Subject: [PATCH] UI定义复制粘贴树查询接口,按钮复制粘贴接口 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java | 1 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java | 52 +++++- Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/UICloneVO.java | 40 +++++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java | 48 +++++ Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PLDefinationVO.java | 20 -- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java | 303 +++++++++++++++++++++++++++++++++++-- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java | 3 7 files changed, 412 insertions(+), 55 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PLDefinationVO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PLDefinationVO.java index b364cdc..f20c2b4 100644 --- a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PLDefinationVO.java +++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PLDefinationVO.java @@ -107,21 +107,6 @@ private String linkType = ""; /** - * 鏍硅妭鐐规樉绀鸿〃杈惧紡 - */ - private String showExpressionRoot = ""; - - /** - * 鏍戣妭鐐规樉绀鸿〃杈惧紡 - */ - private String showExpression = ""; - - /** - * 鍙傜収鏍戣缃� - */ - private String refTreeSet = ""; - - /** * 鏄惁鏄剧ず鍥炬爣 */ private String isShowImage = ""; @@ -202,11 +187,6 @@ * 鍏宠仈瀛怳I */ private String subUILayout = ""; - - /** - * UI瀹氫箟 - */ - private String uiLayout; /** * 缂栧彿 diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/UICloneVO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/UICloneVO.java new file mode 100644 index 0000000..cd3d952 --- /dev/null +++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/UICloneVO.java @@ -0,0 +1,40 @@ +package com.vci.pagemodel; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.HashMap; +import java.util.Map; + +/** + * UI瀹氫箟涓敤鍒扮殑鍏嬮殕瀵硅薄 + * @author ludc + * @date 2024/9/30 12:16 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class UICloneVO { + + /** + * 婧愬璞′富閿� + */ + private String sourceOId; + + /** + * 鐩爣涓婚敭 + */ + private String toOId; + + /** + * 鍏嬮殕瀵硅薄鍚嶇О + */ + private String cloneObjName; + + /** + * 鍏朵粬鍏嬮殕鍙傛暟 + */ + private Map<String,String> cloneParam = new HashMap<>(); + +} diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java index 1fcb587..b60237c 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java @@ -685,6 +685,7 @@ } return BaseResult.success(); } + /** * 鑾峰彇鎵�鎺堟潈鐨勬ā鍧楁潈闄� * @param roleName 鎼滅储鐨勮鑹� diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java index 547d42d..f3707d7 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java @@ -397,7 +397,6 @@ } } - /** * 涓氬姟绫诲瀷涓嬫媺鏌ヨ * @param baseQueryObject selectBtmType 閫夋嫨鐨勬簮瀵硅薄,甯﹀垎椤典俊鎭� @@ -412,6 +411,25 @@ }catch (Throwable e) { e.printStackTrace(); String exceptionMessage = "涓氬姟绫诲瀷涓嬫媺鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } + } + + /** + * 閾炬帴绫诲瀷涓嬫媺鏌ヨ + * @param baseQueryObject selectBtmType 閫夋嫨鐨勬簮瀵硅薄,甯﹀垎椤典俊鎭� + * @return + * @throws PLException + */ + @GetMapping( "/getLinkDatasByPage") + @VciBusinessLog(operateName = "閾炬帴绫诲瀷涓嬫媺鏌ヨ") + public BaseResult getLinkDatasByPage(BaseQueryObject baseQueryObject){ + try { + return BaseResult.dataGrid(uiManagerService.getLinkDatasByPage(baseQueryObject)); + }catch (Throwable e) { + e.printStackTrace(); + String exceptionMessage = "閾炬帴绫诲瀷涓嬫媺鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } @@ -500,9 +518,9 @@ * @return 淇濆瓨缁撴灉 */ @PostMapping("/addTapButton") - public BaseResult addTapButton(@RequestBody PLTabButtonVO tabButtonVO){ + public BaseResult addTabButton(@RequestBody PLTabButtonVO tabButtonVO){ try { - return uiManagerService.addTapButton(tabButtonVO); + return uiManagerService.addTabButton(tabButtonVO); } catch (Throwable e) { e.printStackTrace(); String exceptionMessage = "鎸夐挳閰嶇疆淇℃伅娣诲姞鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); @@ -516,10 +534,10 @@ * @param tabButtonVO * @return 淇敼缁撴灉 */ - @PutMapping("/updateTapButton") - public BaseResult updateTapButton(@RequestBody PLTabButtonVO tabButtonVO){ + @PutMapping("/updateTapbutton") + public BaseResult updateTabButton(@RequestBody PLTabButtonVO tabButtonVO){ try { - return uiManagerService.updateTapButton(tabButtonVO); + return uiManagerService.updateTabButton(tabButtonVO); } catch (Throwable e) { e.printStackTrace(); String exceptionMessage = "淇敼鎸夐挳閰嶇疆淇℃伅鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); @@ -534,9 +552,9 @@ * @return */ @DeleteMapping("/deleteTapButton") - public BaseResult deleteTapButton(@RequestBody PLTabButtonVO tabButtonVO){ + public BaseResult deleteTabButton(@RequestBody PLTabButtonVO tabButtonVO){ try { - return uiManagerService.deleteTapButton(tabButtonVO) ? BaseResult.success("鍒犻櫎鍗曚釜鎸夐挳閰嶇疆鎴愬姛锛�"):BaseResult.fail("鍒犻櫎鍗曚釜鎸夐挳閰嶇疆澶辫触锛�"); + return uiManagerService.deleteTabButton(tabButtonVO) ? BaseResult.success("鍒犻櫎鍗曚釜鎸夐挳閰嶇疆鎴愬姛锛�"):BaseResult.fail("鍒犻櫎鍗曚釜鎸夐挳閰嶇疆澶辫触锛�"); } catch (PLException e) { e.printStackTrace(); String exceptionMessage = "鍒犻櫎鍗曚釜鎸夐挳閰嶇疆鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); @@ -614,4 +632,22 @@ } } + /** + * 閫氳繃涓氬姟绫诲瀷鑾峰彇UI涓婁笅鏂囧寘鍚叾涓嬪叧鑱旂殑鍖哄煙瀹氫箟>椤甸潰瀹氫箟绛夋墍鏈夊叧鑱旀暟鎹紝褰掔撼鎴恡ree缁撴瀯 + * @param btmName + * @param level + * @return + */ + @GetMapping( "/getAllLevelTreeByBtm") + public BaseResult getAllLevelTreeByBtm(String btmName,String level){ + try { + return BaseResult.success(uiManagerService.getAllLevelTreeByBtm(btmName,level)); + }catch (Exception e) { + e.printStackTrace(); + String exceptionMessage = "鑾峰彇UI鏍戞椂鍑虹幇閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } + } + } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java index 247e847..88b5f2c 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java @@ -2,12 +2,14 @@ import com.vci.corba.common.PLException; import com.vci.corba.omd.btm.BizType; +import com.vci.corba.omd.ltm.LinkType; import com.vci.corba.omd.qtm.QTInfo; import com.vci.corba.portal.data.PLUILayout; import com.vci.corba.portal.data.PLTabPage; import com.vci.corba.portal.data.PortalVI; import com.vci.pagemodel.PLTabButtonVO; import com.vci.pagemodel.PLUILayoutCloneVO; +import com.vci.pagemodel.UICloneVO; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseQueryObject; import com.vci.starter.web.pagemodel.BaseResult; @@ -162,14 +164,14 @@ * @param tabButtonVO * @return */ - BaseResult addTapButton(PLTabButtonVO tabButtonVO); + BaseResult addTabButton(PLTabButtonVO tabButtonVO); /** * 淇敼鎸夐挳閰嶇疆淇℃伅 * @param tabButtonVO * @return */ - BaseResult updateTapButton(PLTabButtonVO tabButtonVO); + BaseResult updateTabButton(PLTabButtonVO tabButtonVO); /** * 淇濆瓨鎴栦慨鏀规寜閽厤缃俊鎭� @@ -183,7 +185,7 @@ * @param tabButtonVO * @return */ - boolean deleteTapButton(PLTabButtonVO tabButtonVO) throws PLException; + boolean deleteTabButton(PLTabButtonVO tabButtonVO) throws PLException; /** * 璋冩暣涓轰笅绾ф寜閽� @@ -224,6 +226,14 @@ DataGrid<BizType> getBtmDatasByPage(BaseQueryObject baseQueryObject) throws Throwable; /** + * 鏌ヨ閾炬帴绫诲瀷涓嬫媺 + * @param baseQueryObject + * @return + * @throws PLException + */ + DataGrid<LinkType> getLinkDatasByPage(BaseQueryObject baseQueryObject) throws Throwable; + + /** * UI瀹氫箟涓嬫媺鏌ヨ锛坱emplateType涓篣I瀹氫箟鏃剁殑閫夋嫨瀵硅薄涓嬫媺鏌ヨ锛� * @param baseQueryObject selectBtmType 閫夋嫨鐨勬簮瀵硅薄,甯﹀垎椤典俊鎭� * @return @@ -247,4 +257,36 @@ */ DataGrid<QTInfo> getQTInfoDatasByPage(BaseQueryObject baseQueryObject)throws Throwable; + /** + * 閫氳繃涓氬姟绫诲瀷鑾峰彇UI涓婁笅鏂囧寘鍚叾涓嬪叧鑱旂殑鍖哄煙瀹氫箟>椤甸潰瀹氫箟绛夋墍鏈夊叧鑱旀暟鎹紝褰掔撼鎴恡ree缁撴瀯 + * @param btmName 涓氬姟绫诲瀷鍚嶇О + * @param level 鏌ヨ鍒伴偅涓眰绾т负姝紙ui銆乼ap銆乸ageDef锛� + * @return + */ + Tree getAllLevelTreeByBtm(String btmName,String level) throws PLException; + + /** + * 鍏嬮殕鎸夐挳 + * @param uiCloneVO + * @return + * @throws Throwable + */ + BaseResult cloneTabButton(UICloneVO uiCloneVO)throws Throwable; + + /** + * 鍏嬮殕椤电 + * @param uiCloneVO + * @return + * @throws Throwable + */ + BaseResult clonetabPage(UICloneVO uiCloneVO)throws Throwable; + + /** + * 鍏嬮殕椤甸潰瀹氫箟 + * @param uiCloneVO + * @return + * @throws Throwable + */ + BaseResult clonePageDef(UICloneVO uiCloneVO)throws Throwable; + } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java index 31b4c62..55f843c 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java @@ -5,6 +5,7 @@ import com.vci.client.common.datatype.VTLong; import com.vci.client.common.datatype.VTString; import com.vci.client.mw.ClientSessionUtility; +import com.vci.common.utility.ObjectUtility; import com.vci.corba.common.PLException; import com.vci.corba.omd.atm.AttributeDef; import com.vci.corba.omd.ltm.LinkType; @@ -1197,7 +1198,7 @@ } osAttributeDTO.setBtmTypeId(osAttributePO.getEnumId()); } - osAttributeDTO.setOid(VciBaseUtil.getPk().toUpperCase(Locale.ROOT)); + osAttributeDTO.setOid(ObjectUtility.getNewObjectID36()); osAttributeDTO.setId(osAttributePO.getId()); osAttributeDTO.setName(osAttributePO.getName()); osAttributeDTO.setDescription(osAttributePO.getDescription()); diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java index 73634cf..1ffa2b2 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java @@ -5,6 +5,7 @@ import com.vci.corba.common.data.UserEntityInfo; import com.vci.corba.framework.data.RoleRightInfo; import com.vci.corba.omd.btm.BizType; +import com.vci.corba.omd.ltm.LinkType; import com.vci.corba.omd.qtm.QTInfo; import com.vci.corba.portal.PortalService; import com.vci.corba.portal.data.*; @@ -87,6 +88,11 @@ private final String IMPORTUIKEY = "importUIKey:"; /** + * 褰撳墠鐧诲綍鐢ㄦ埛鐨勪俊鎭� + */ + private SessionInfo sessionInfo = null; + + /** * 鎺掑簭姣旇緝鍣� */ private Comparator<PLUILayout> pageLayoutComparator = new Comparator<PLUILayout>() { @@ -139,7 +145,7 @@ } /** - * ton閫氳繃涓氬姟绫诲瀷鍜屽悕绉版煡璇� + * 閫氳繃涓氬姟绫诲瀷鍜屽悕绉版煡璇� * @param btemName * @param context * @return @@ -1049,9 +1055,9 @@ pdVO.getShowType(), pdVO.getLinkType(), pdVO.getQueryTemplateName(), - pdVO.getShowExpressionRoot(), - pdVO.getShowExpression(), - pdVO.getRefTreeSet(), + pdVO.getRootContent(), + pdVO.getShowAbs(), + pdVO.getShowLinkAbs(), pdVO.getSeparator(), pdVO.getExpandMode() ); @@ -1064,8 +1070,8 @@ case "6": UILayoutComptCheckInput ulci = new UILayoutComptCheckInput( pdVO.getSearchTarger(), - pdVO.getShowType(), - pdVO.getUiLayout(), + pdVO.getSubUIObjType(), + pdVO.getSubUILayout(), pdVO.getQueryTemplateName(), pdVO.getQryType() ); @@ -1166,9 +1172,9 @@ pdVO.getShowType(), pdVO.getLinkType(), pdVO.getQueryTemplateName(), - pdVO.getShowExpressionRoot(), - pdVO.getShowExpression(), - pdVO.getRefTreeSet(), + pdVO.getRootContent(), + pdVO.getShowAbs(), + pdVO.getShowLinkAbs(), pdVO.getSeparator(), pdVO.getExpandMode() ); @@ -1181,8 +1187,8 @@ case "6": UILayoutComptCheckInput ulci = new UILayoutComptCheckInput( pdVO.getSearchTarger(), - pdVO.getShowType(), - pdVO.getUiLayout(), + pdVO.getSubUIObjType(), + pdVO.getSubUILayout(), pdVO.getQueryTemplateName(), pdVO.getQryType() ); @@ -1275,7 +1281,7 @@ } plTabButtonVO.setOId(tabButtonDO.plOId); plTabButtonVO.setTableOId(tabButtonDO.plTableOId); - plTabButtonVO.setPageOId(tabButtonDO.plPageOId); + //plTabButtonVO.setPageOId(tabButtonDO.plPageOId); plTabButtonVO.setActionOId(tabButtonDO.plActionOId); plTabButtonVO.setLabel(tabButtonDO.plLabel); plTabButtonVO.setAreaType(tabButtonDO.plAreaType); @@ -1339,7 +1345,7 @@ private PLTabButton tabButtonVO2TabButton(PLTabButton plTabButton,PLTabButtonVO tabButtonVO) { plTabButton.plOId = tabButtonVO.getOId(); plTabButton.plTableOId = tabButtonVO.getTableOId(); - plTabButton.plPageOId = tabButtonVO.getPageOId(); + //plTabButton.plPageOId = tabButtonVO.getPageOId(); plTabButton.plActionOId = tabButtonVO.getActionOId(); plTabButton.plLabel = tabButtonVO.getLabel(); plTabButton.plAreaType = tabButtonVO.getAreaType(); @@ -1364,7 +1370,7 @@ * @return */ @Override - public BaseResult addTapButton(PLTabButtonVO tabButtonVO) { + public BaseResult addTabButton(PLTabButtonVO tabButtonVO) { boolean res = this.saveOrUpdateTapButton(tabButtonVO, true); return res ? BaseResult.success("鎸夐挳閰嶇疆娣诲姞鎴愬姛锛�"):BaseResult.success("鎸夐挳閰嶇疆娣诲姞澶辫触锛�"); } @@ -1375,7 +1381,7 @@ * @return */ @Override - public BaseResult updateTapButton(PLTabButtonVO tabButtonVO) { + public BaseResult updateTabButton(PLTabButtonVO tabButtonVO) { boolean res = this.saveOrUpdateTapButton(tabButtonVO, false); return res ? BaseResult.success("鎸夐挳閰嶇疆淇敼鎴愬姛锛�"):BaseResult.success("鎸夐挳閰嶇疆淇敼澶辫触锛�"); } @@ -1432,8 +1438,17 @@ e.printStackTrace(); } } + this.saveButtonParams(tabButtonVO.getButtonParams(),plTabButton.plOId); + return true; + } - LinkedHashMap<String, String> buttonParams = tabButtonVO.getButtonParams(); + /** + * 鎸夐挳鍙傛暟淇濆瓨 + * @param buttonParams + * @param tabButtonOid + * @return + */ + private void saveButtonParams(LinkedHashMap<String, String> buttonParams,String tabButtonOid) throws VciBaseException{ if(Func.isNotEmpty(buttonParams)) { Iterator<Map.Entry<String, String>> iterator = buttonParams.entrySet().iterator(); while(iterator.hasNext()){ @@ -1447,7 +1462,7 @@ Map.Entry<String, String> next = kvItor.next(); PLCommandParameter plCommandParameter = new PLCommandParameter(); plCommandParameter.plOId = ObjectUtility.getNewObjectID36(); - plCommandParameter.plCommandOId = plTabButton.plOId; + plCommandParameter.plCommandOId = tabButtonOid; plCommandParameter.plKey = next.getKey(); plCommandParameter.plValue = next.getValue(); plCommandParameter.plCreateUser = sessionInfo.getUserId(); @@ -1460,7 +1475,6 @@ } } } - return true; } /** @@ -1469,7 +1483,7 @@ * @return */ @Override - public boolean deleteTapButton(PLTabButtonVO tabButtonVO) throws PLException { + public boolean deleteTabButton(PLTabButtonVO tabButtonVO) throws PLException { VciBaseUtil.alertNotNull(tabButtonVO,"鍒犻櫎鐨勬寜閽厤缃璞�"); boolean success = platformClientUtil.getUIService().deletePLTabButton(this.tabButtonVO2TabButton(new PLTabButton(),tabButtonVO)); if(success == false){ @@ -1485,7 +1499,7 @@ */ @Override public BaseResult joinBtn(PLTabButtonVO tabButtonVO) throws PLException { - VciBaseUtil.alertNotNull(tabButtonVO,"闇�璋冩暣涓轰笅绾ф寜閽�",tabButtonVO.getTableOId(),"褰撳墠鎸夐挳閰嶇疆鎵�鍦ㄧ殑椤甸潰涓婚敭"); + VciBaseUtil.alertNotNull(tabButtonVO,"闇�璋冩暣涓轰笅绾ф寜閽殑瀵硅薄",tabButtonVO.getTableOId(),"褰撳墠鎸夐挳閰嶇疆鎵�鍦ㄧ殑椤甸潰涓婚敭"); //鍚屼竴椤甸潰涓嬬殑鎸夐挳 List<PLTabButtonVO> plTabButtons = this.getTabButtons(tabButtonVO.getTableOId()); if(Func.isEmpty(plTabButtons)){ @@ -1697,7 +1711,7 @@ } BizType[] bizTypes=osBtmServiceI.getBizTypes(type); List<Tree> treeList=new ArrayList<>(); - Tree rootNode =new Tree("root","鍔熻兘妯″潡","root"); + Tree rootNode =new Tree("root","鍔熻兘妯″潡","root"); rootNode.setLevel(0); rootNode.setShowCheckbox(true); rootNode.setExpanded(true); @@ -2183,7 +2197,7 @@ * @param vo * @return */ - private RoleRightDTO roleRightVOO2DTO(RoleRightVO vo){ + private RoleRightDTO roleRightVOO2DTO(RoleRightVO vo){ RoleRightDTO dto=new RoleRightDTO(); dto.setId(vo.getId()); dto.setCreateTime(vo.getCreateTime()); @@ -2203,7 +2217,7 @@ * @param dto * @return */ - private RoleRightInfo roleRightDTOO2Info(RoleRightDTO dto) throws Exception { + private RoleRightInfo roleRightDTOO2Info(RoleRightDTO dto) throws Exception { RoleRightInfo info=new RoleRightInfo(); info.id=StringUtils.isBlank(dto.getId())?"":dto.getId(); info.createTime=StringUtils.isBlank(dto.getCreateTime())?new Date().getTime():VciDateUtil.getTime(VciDateUtil.str2Date(dto.getCreateTime(),"")); @@ -2388,6 +2402,50 @@ } /** + * 鏌ヨ閾炬帴绫诲瀷涓嬫媺 + * @param baseQueryObject + * @return + * @throws PLException + */ + public DataGrid<LinkType> getLinkDatasByPage(BaseQueryObject baseQueryObject) throws PLException{ + List<LinkType> list = new ArrayList<>(); + Map<String, LinkType> map = new HashMap<>(); + LinkType[] lts = platformClientUtil.getLinkTypeService().getLinkTypes(); + for (LinkType lt : lts) { + Map<String, String> conditionMap = baseQueryObject.getConditionMap(); + if(Func.isNotEmpty(conditionMap)){ + //閫夋嫨鐨勫璞$被鍨� + String selectBtmType = conditionMap.get("selectBtmType"); + if(selectBtmType != null){ + boolean existFrom = existInArray(selectBtmType, lt.btmItemsFrom); + boolean existTo = existInArray(selectBtmType, lt.btmItemsTo); + if(existFrom || existTo){ + if(!map.containsKey(lt.name)){ + map.put(lt.name, lt); + list.add(lt); + } + } + } + } + } + DataGrid<LinkType> res = new DataGrid<>(); + res.setData(list); + res.setTotal(list.size()); + return res; + } + + private boolean existInArray(String value, String[] values){ + boolean res = false; + for (String string : values) { + if(string.equals(value)){ + res = true; + break; + } + } + return res; + } + + /** * UI瀹氫箟涓嬫媺鏌ヨ锛坱emplateType涓篣I瀹氫箟鏃剁殑UI瀹氫箟涓嬫媺鏌ヨ锛� * @param baseQueryObject selectBtmType 閫夋嫨鐨勬簮瀵硅薄,甯﹀垎椤典俊鎭� * @return @@ -2551,6 +2609,205 @@ return res; } + /** + * 閫氳繃涓氬姟绫诲瀷鑾峰彇UI涓婁笅鏂囧寘鍚叾涓嬪叧鑱旂殑鍖哄煙瀹氫箟>椤甸潰瀹氫箟绛夋墍鏈夊叧鑱旀暟鎹紝褰掔撼鎴恡ree缁撴瀯 + * @param btmName 涓氬姟绫诲瀷鍚嶇О + * @param level 鏌ヨ鍒伴偅涓眰绾т负姝紙ui銆乼ab銆乸ageDef锛� + * @return + */ + public Tree getAllLevelTreeByBtm(String btmName,String level) throws PLException { + VciBaseUtil.alertNotNull(btmName,"涓氬姟绫诲瀷缂栧彿",level,"鏌ヨ灞傜骇"); + Tree resTree = new Tree(); + resTree.setText("UI涓婁笅鏂囬�夐」"); + resTree.setId("UILayout"); + resTree.setLeaf(false); + resTree.setLevel(1); + String level1Oid = ObjectUtility.getNewObjectID36(); + resTree.setOid(level1Oid); + + PLUILayout[] pluiLayouts = platformClientUtil.getUIService().getPLUILayoutsByRelatedType(btmName); + if(Func.isEmpty(pluiLayouts)){ + return resTree; + } + //鏍规嵁鏌ヨ鐨勫眰绾т笉鍚屽喅瀹氭槸鍚﹁繑鍥� + List<Tree> uiChildrenTree = new ArrayList<>(); + + Arrays.stream(pluiLayouts).forEach(item->{ + Tree uiTree = new Tree(); + uiTree.setLeaf(level.equals("ui")); + uiTree.setLevel(2); + uiTree.setId(item.plCode); + uiTree.setOid(item.plOId); + uiTree.setText(item.plCode + "(" + item.plName + ")"); + uiTree.setParentId(level1Oid); + List<Tree> tabChildren = null; + if(!level.equalsIgnoreCase("ui")){ + try { + tabChildren = this.getTabChildren(item.plOId, level); + } catch (PLException e) { + e.printStackTrace(); + String exceptionMessage = "鏌ヨ椤电鏃跺嚭鐜伴敊璇細"+VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + throw new VciBaseException(exceptionMessage); + } + uiTree.setChildren(tabChildren); + } + uiChildrenTree.add(uiTree); + }); + + resTree.setChildren(uiChildrenTree); + return resTree; + } + + /** + * 鍏嬮殕鎸夐挳锛堝瓨鍦ㄧ埗瀛愮粨鏋勫叧绯汇�佸叧鑱旀暟鎹寜閽弬鏁帮級 + * @param uiCloneVO + * @return + * @throws Throwable + */ + @Override + public BaseResult cloneTabButton(UICloneVO uiCloneVO) throws Throwable { + VciBaseUtil.alertNotNull(uiCloneVO,"鍏嬮殕瀵硅薄",uiCloneVO.getSourceOId(),"婧愬璞′富閿�"); + String fromOId = uiCloneVO.getSourceOId(); + String toOId = uiCloneVO.getToOId(); + //鍏堟煡璇㈡簮瀵硅薄 + //PLTabButton tabButton = platformClientUtil.getUIService().getPLTabButtonById(fromOId); + String sourceTableOId = uiCloneVO.getCloneParam().get("sourceTableOId"); + if(Func.isBlank(sourceTableOId)){ + return BaseResult.fail("鏈粠璇锋眰鍙傛暟涓幏鍙栧埌锛屾簮瀵硅薄鍏宠仈鐨勯〉闈㈠畾涔変富閿紒锛�"); + } + //鍒ゆ柇鏄惁鏈夌洰鏍囦富閿紝濡傛灉娌℃湁灏辫鏄庢槸鍏嬮殕鍒板綋鍓嶉〉闈笅 + if(Func.isBlank(toOId)){ + toOId = sourceTableOId; + } + //鍒ゆ柇鍓嶇鏄惁浼犱簡鍏嬮殕鍚嶈繃鏉ワ紙鎸夐挳杩欒竟涓嶉渶瑕佸悕绉般�佺紪鍙峰垽閲嶏紝鎵�浠ヨ繖涓�鍧楀効閫昏緫蹇界暐锛� + //鎸夐挳鍏锋湁鐖跺瓙绾у叧绯伙紝鎵�浠ヨ繕闇�瑕佸仛oid鍜宲arentOId澶勭悊 + List<PLTabButtonVO> tabButtons = this.getTabButtons(sourceTableOId); + PLTabButtonVO filterTabButton = tabButtons.stream() + .filter(item -> item.getOId().equals(fromOId)).findFirst().orElse(null); + if(Func.isEmpty(filterTabButton)){ + return BaseResult.fail("鏍规嵁婧愬璞′富閿湭鏌ヨ鍒版簮瀵硅薄锛岃鍒锋柊鍚庨噸璇曪紒锛�"); + } + if(Func.isEmpty(sessionInfo)){ + sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); + } + + //鏀瑰彉button瀵硅薄鐨刼id鍜宲arentOId + this.modifyButtonIdsAndCopy(filterTabButton,toOId,ObjectUtility.getNewObjectID36()); + + return BaseResult.success("鎸夐挳澶嶅埗鎴愬姛锛�"); + } + + /** + * 淇敼oId鍜宲arentOid锛屼笉鏀瑰彉鐖跺瓙绾э紙oid鍙樻崲parentOId涔熼渶瑕佽窡鐫�鍙樻崲锛夌粨鏋勶紝骞朵繚瀛樻寜閽拰鍏跺弬鏁� + * @param button + * @param newOId + */ + private void modifyButtonIdsAndCopy(PLTabButtonVO button,String toOId, String newOId) throws PLException { + if (button == null) { + return; + } + + // 淇敼褰撳墠鑺傜偣鐨刼Id + button.setOId(newOId); + //寮�濮嬩繚瀛樻寜閽拰鍙傛暟 + button.setCreateUser(sessionInfo.getUserId()); + button.setModifyUser(sessionInfo.getUserId()); + button.setTableOId(toOId); + PLTabButton plTabButton = this.tabButtonVO2TabButton(new PLTabButton(), button); + boolean res = platformClientUtil.getUIService().savePLTabButton(plTabButton); + if(!res){ + throw new PLException("500",new String[]{"鎸夐挳閰嶇疆澶嶅埗澶辫触锛�"}); + } + this.saveButtonParams(button.getButtonParams(),button.getOId()); + + // 閫掑綊閬嶅巻瀛愯妭鐐� + if (button.getChildren() != null) { + for (PLTabButtonVO child : button.getChildren()) { + + // 瀛愬璞$殑 parentOid 璁剧疆涓哄綋鍓嶈妭鐐圭殑鏂皁id + modifyButtonIdsAndCopy(child,toOId, ObjectUtility.getNewObjectID36()); + child.setParentOid(button.getOId()); // 纭繚瀛愬璞$殑parentOid鎸囧悜褰撳墠鐨刼id + } + } + } + + /** + * 鍏嬮殕椤电 + * @param uiCloneVO + * @return + * @throws Throwable + */ + @Override + public BaseResult clonetabPage(UICloneVO uiCloneVO) throws Throwable { + return null; + } + + /** + * 鍏嬮殕椤甸潰瀹氫箟 + * @param uiCloneVO + * @return + * @throws Throwable + */ + @Override + public BaseResult clonePageDef(UICloneVO uiCloneVO) throws Throwable { + return null; + } + + /** + * 鑾峰彇椤电杩欎竴灞傜殑鍏宠仈鏁版嵁 + * @return + */ + private List<Tree> getTabChildren(String uiLayoutOid,String level) throws PLException { + List<Tree> tabChildren = new ArrayList<>(); + if(Func.isNotBlank(uiLayoutOid)){ + PLTabPage[] tabPages = platformClientUtil.getUIService().getPLTabPagesByPageDefinationOId(uiLayoutOid); + Arrays.stream(tabPages).forEach(tabPage->{ + Tree tabTree = new Tree(); + tabTree.setLeaf(level.equals("tab")); + tabTree.setLevel(2); + tabTree.setId(tabPage.plCode); + tabTree.setOid(tabPage.plOId); + tabTree.setText(tabPage.plCode + "(" + tabPage.plName + ")"); + tabTree.setParentId(uiLayoutOid); + if(!level.equalsIgnoreCase("tab")){ + try { + tabTree.setChildren(this.getPageDefChildren(tabPage.plOId,level)); + } catch (PLException e) { + e.printStackTrace(); + String exceptionMessage = "鏌ヨ椤甸潰瀹氫箟鏃跺嚭鐜伴敊璇細"+VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + throw new VciBaseException(exceptionMessage); + } + } + tabChildren.add(tabTree); + }); + } + return tabChildren; + } + + /** + * 鑾峰彇椤甸潰瀹氫箟杩欎竴灞傜殑鍏宠仈鏁版嵁 + * @return + */ + private List<Tree> getPageDefChildren(String tabPageOid,String level) throws PLException { + List<Tree> pageDefChildren = new ArrayList<>(); + if(Func.isNotBlank(tabPageOid)){ + PLPageDefination[] pageDefs = platformClientUtil.getUIService().getPLPageDefinationsByPageContextOId(tabPageOid); + Arrays.stream(pageDefs).forEach(pageDef->{ + Tree tabTree = new Tree(); + tabTree.setLeaf(true); + tabTree.setLevel(2); + tabTree.setId(pageDef.name); + tabTree.setOid(pageDef.plOId); + tabTree.setText(pageDef.name + "(" + pageDef.desc + ")"); + tabTree.setParentId(tabPageOid); + pageDefChildren.add(tabTree); + }); + } + return pageDefChildren; + } + //鍩虹鍏叡妫�鏌ユ帴鍙� private abstract class BaseComptInter { -- Gitblit v1.9.3