From 69f6865e4744094d657a538e9c013cb9d97df01a Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 09 十月 2024 17:03:01 +0800 Subject: [PATCH] 在线用户统计报错修改,UI上下文三个克隆接口测试完成上传 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java | 367 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 296 insertions(+), 71 deletions(-) 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 1ffa2b2..dd92d2d 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 @@ -44,6 +44,7 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import java.util.regex.Pattern; +import java.util.stream.Stream; /** * UI瀹氫箟鏈嶅姟鐣岄潰鐩稿叧鎺ュ彛 @@ -1230,15 +1231,17 @@ PLTabButton[] plTabButtons = platformClientUtil.getUIService().getPLTabButtonsByTableOId(pageDefinationOid); buttonList = Arrays.asList(plTabButtons); List<PLTabButtonVO> plTabButtonVOList = this.tabButton2TabButtonVOS(buttonList); + List<PLTabButtonVO> returnButtonVOList = new ArrayList<>(); PLTabButtonVO plTabButtonVO = new PLTabButtonVO(); for(int i = 0; i < plTabButtonVOList.size(); i++){ plTabButtonVO = plTabButtonVOList.get(i); if(plTabButtonVO.getParentOid().equals("")){ plTabButtonVO.setChildren(plTabButtonVO2Children(plTabButtonVOList,plTabButtonVO.getOId())); + returnButtonVOList.add(plTabButtonVO); } } - return plTabButtonVOList; + return returnButtonVOList; } catch (Exception e) { e.printStackTrace(); throw new VciBaseException("鍔犺浇椤电鍖哄煙鎸夐挳閰嶇疆淇℃伅寮傚父锛�" + e.getMessage()); @@ -1329,7 +1332,7 @@ continue; } if(plTabButtonVO.getParentOid().equals(plOid)){ - plTabButtonVO.setChildren(plTabButtonVO2Children(plTabButtonVOList,plOid)); + plTabButtonVO.setChildren(plTabButtonVO2Children(plTabButtonVOList,plTabButtonVO.getOId())); plTabButtonVOS.add(plTabButtonVO); } } @@ -1524,7 +1527,7 @@ if(success == false) { return BaseResult.fail("淇敼澶辫触锛�"); } - return BaseResult.fail("淇敼鎴愬姛锛�"); + return BaseResult.success("淇敼鎴愬姛锛�"); } /** @@ -2359,9 +2362,13 @@ */ public DataGrid<BizType> getBtmDatasByPage(BaseQueryObject baseQueryObject) throws PLException{ BizType[] btmNames = null; - int start = baseQueryObject.getPage() <= 1 ? 1 : (baseQueryObject.getPage() - 1) * baseQueryObject.getLimit() + 1; - int end = baseQueryObject.getPage() <= 1 ? baseQueryObject.getLimit() : (baseQueryObject.getPage() * baseQueryObject.getLimit()); - + int start = baseQueryObject.getPage(); + int end = baseQueryObject.getLimit(); + //鍏ㄦ煡鐨勬儏鍐� + /*if(limit != -1){ + start = baseQueryObject.getPage() <= 1 ? 1 : (page - 1) * limit + 1; + end = baseQueryObject.getPage() <= 1 ? limit : (page * limit); + }*/ String where = " 1=1 "; String text = ""; @@ -2376,11 +2383,17 @@ String fromWhere = String.format(" from plbtmtype bt where %s ", where); String fromWhereOrderBy = String.format(" %s order by bt.name", fromWhere); - String sql = String.format("select * from(" + - " select row_.*,rownum rownum_ from( " + - " select bt.name, bt.label %s" + - " ) row_ " + - ") where rownum_ >= %d and rownum_ <= %d ", fromWhereOrderBy, start, end); + String sql = ""; + if(end != -1){ + sql = sql+String.format("select * from(" + + " select row_.*,rownum rownum_ from( " + + " select bt.name, bt.label %s" + + " ) row_ " + + ") where rownum_ >= %d and rownum_ <= %d ", fromWhereOrderBy, start, end); + }else{ + sql = sql+String.format( + "select bt.name, bt.label %s", fromWhereOrderBy); + } List<BizType> list = new LinkedList<BizType>(); String[][] kvss = platformClientUtil.getQueryService().queryBySqlWithoutKey(sql); for(String[] kvs : kvss){ @@ -2453,11 +2466,12 @@ */ public DataGrid<PLUILayout> getUILayoutDatasByPage(BaseQueryObject baseQueryObject) throws PLException{ PLUILayout[] datas = null; - int start = baseQueryObject.getPage() <= 1 ? 1 : (baseQueryObject.getPage() - 1) * baseQueryObject.getLimit() + 1; - int end = baseQueryObject.getPage() <= 1 ? baseQueryObject.getLimit() : (baseQueryObject.getPage() * baseQueryObject.getLimit()); + int start = baseQueryObject.getPage(); + int end = baseQueryObject.getLimit(); + /*int start = baseQueryObject.getPage() <= 1 ? 1 : (baseQueryObject.getPage() - 1) * baseQueryObject.getLimit() + 1; + int end = baseQueryObject.getPage() <= 1 ? baseQueryObject.getLimit() : (baseQueryObject.getPage() * baseQueryObject.getLimit());*/ String where = " 1=1 "; - Map<String, String> conditionMap = baseQueryObject.getConditionMap(); if(Func.isNotEmpty(conditionMap)){ //閫夋嫨鐨勫璞$被鍨� @@ -2473,11 +2487,16 @@ } String fromWhere = String.format(" from PLUILAYOUT ui where %s ", where); String fromWhereOrderBy = String.format(" %s order by ui.plname", fromWhere); - String sql = String.format("select * from(" + - " select row_.*,rownum rownum_ from( " + - " select ui.plname, ui.plcode %s" + - " ) row_ " + - ") where rownum_ >= %d and rownum_ <= %d ", fromWhereOrderBy, start, end); + String sql = ""; + if(end != -1){ + sql = String.format("select * from(" + + " select row_.*,rownum rownum_ from( " + + " select ui.plname, ui.plcode %s" + + " ) row_ " + + ") where rownum_ >= %d and rownum_ <= %d ", fromWhereOrderBy, start, end); + }else{ + sql = String.format("select ui.plname, ui.plcode %s", fromWhereOrderBy); + } List<PLUILayout> list = new LinkedList<PLUILayout>(); String[][] kvss = platformClientUtil.getQueryService().queryBySqlWithoutKey(sql); for(String[] kvs : kvss){ @@ -2506,8 +2525,11 @@ */ public DataGrid<PortalVI> getPortalVIDatasByPage(BaseQueryObject baseQueryObject) throws PLException{ PortalVI[] datas = null; - int start = baseQueryObject.getPage() <= 1 ? 1 : (baseQueryObject.getPage() - 1) * baseQueryObject.getLimit() + 1; - int end = baseQueryObject.getPage() <= 1 ? baseQueryObject.getLimit() : (baseQueryObject.getPage() * baseQueryObject.getLimit()); + + int start = baseQueryObject.getPage(); + int end = baseQueryObject.getLimit(); + /*int start = baseQueryObject.getPage() <= 1 ? 1 : (baseQueryObject.getPage() - 1) * baseQueryObject.getLimit() + 1; + int end = baseQueryObject.getPage() <= 1 ? baseQueryObject.getLimit() : (baseQueryObject.getPage() * baseQueryObject.getLimit());*/ String where = " 1=1 "; @@ -2530,11 +2552,16 @@ String fromWhere = String.format(" from plportalvi vi where %s ", where); String fromWhereOrderBy = String.format(" %s order by vi.viname", fromWhere); - String sql = String.format("select * from(" + - " select row_.*,rownum rownum_ from( " + - " select vi.viname,vi.vitype %s" + - " ) row_ " + - ") where rownum_ >= %d and rownum_ <= %d ", fromWhereOrderBy, start, end); + String sql = ""; + if(end != -1){ + sql = String.format("select * from(" + + " select row_.*,rownum rownum_ from( " + + " select vi.viname,vi.vitype %s" + + " ) row_ " + + ") where rownum_ >= %d and rownum_ <= %d ", fromWhereOrderBy, start, end); + }else{ + sql = String.format("select vi.viname,vi.vitype %s", fromWhereOrderBy); + } List<PortalVI> list = new LinkedList<>(); String[][] kvss = platformClientUtil.getQueryService().queryBySqlWithoutKey(sql); for(String[] kvs : kvss){ @@ -2563,8 +2590,11 @@ */ public DataGrid<QTInfo> getQTInfoDatasByPage(BaseQueryObject baseQueryObject) throws PLException{ QTInfo[] datas = null; - int start = baseQueryObject.getPage() <= 1 ? 1 : (baseQueryObject.getPage() - 1) * baseQueryObject.getLimit() + 1; - int end = baseQueryObject.getPage() <= 1 ? baseQueryObject.getLimit() : (baseQueryObject.getPage() * baseQueryObject.getLimit()); + + int start = baseQueryObject.getPage(); + int end = baseQueryObject.getLimit(); + /*int start = baseQueryObject.getPage() <= 1 ? 1 : (baseQueryObject.getPage() - 1) * baseQueryObject.getLimit() + 1; + int end = baseQueryObject.getPage() <= 1 ? baseQueryObject.getLimit() : (baseQueryObject.getPage() * baseQueryObject.getLimit());*/ String where = " 1=1 "; @@ -2584,11 +2614,16 @@ String fromWhere = String.format(" from PL_QTEMPLATE qt where %s ", where); String fromWhereOrderBy = String.format(" %s order by qt.qtname ", fromWhere); - String sql = String.format("select * from(" + - " select row_.*,rownum rownum_ from( " + - " select qt.qtname,qt.btmname %s" + - " ) row_ " + - ") where rownum_ >= %d and rownum_ <= %d ", fromWhereOrderBy, start, end); + String sql = ""; + if(end != -1){ + sql = String.format("select * from(" + + " select row_.*,rownum rownum_ from( " + + " select qt.qtname,qt.btmname %s" + + " ) row_ " + + ") where rownum_ >= %d and rownum_ <= %d ", fromWhereOrderBy, start, end); + }else{ + sql = String.format("select qt.qtname,qt.btmname %s", fromWhereOrderBy); + } List<QTInfo> list = new LinkedList<QTInfo>(); String[][] kvss = platformClientUtil.getQueryService().queryBySqlWithoutKey(sql); for(String[] kvs : kvss){ @@ -2660,6 +2695,217 @@ } /** + * 鍏嬮殕椤电 + * @param uiCloneVO + * @return + * @throws Throwable + */ + @Override + public BaseResult clonetabPage(UICloneVO uiCloneVO) throws Throwable { + VciBaseUtil.alertNotNull(uiCloneVO,"鍏嬮殕瀵硅薄",uiCloneVO.getFromOId(),"婧愬叧鑱旂殑UI瀹氫箟瀵硅薄鐨勪富閿�"); + //婧愬叧鑱斿璞$殑涓婚敭(UI瀹氫箟鐨勪富閿�) + String fromOId = uiCloneVO.getFromOId(); + //鍏嬮殕鍒伴偅涓猆I瀹氫箟涓� + String toOId = uiCloneVO.getToOId(); + //琚厠闅嗙殑瀵硅薄涓婚敭 + Map<String, String> cloneParamMap = uiCloneVO.getCloneParam(); + String sourceOId = cloneParamMap.get("sourceOId"); + if(Func.isBlank(sourceOId)){ + return BaseResult.fail("鏈粠璇锋眰鍙傛暟涓幏鍙栧埌锛屾簮瀵硅薄涓婚敭锛侊紒"); + } + //鍒ゆ柇鏄惁鏈夌洰鏍囦富閿紝濡傛灉娌℃湁灏辫鏄庢槸鍏嬮殕鍒板綋鍓嶉〉绛句笅 + if(Func.isBlank(toOId)){ + toOId = fromOId; + } + //鏌ヨ琚厠闅嗙殑椤电瀹氫箟 + PLTabPage tabPage = this.platformClientUtil.getUIService().getPLTabPageById(sourceOId); + if(Func.isEmpty(tabPage) || Func.isBlank(tabPage.plOId)){ + return BaseResult.fail("鏍规嵁婧愬璞′富閿湭鏌ヨ鍒版簮瀵硅薄锛岃鍒锋柊鍚庨噸璇曪紒锛�"); + } + //鍦ㄥ厠闅嗙殑鐩爣UI瀹氫箟涓嬪悓涓�鍖哄煙杩涜椤电鍚嶇О銆佺紪鍙枫�佸簭鍙锋煡閲嶅鐞� + String copyObjName = tabPage.plName;//鍚嶇О + String copyObjCode = tabPage.plCode;//缂栧彿 + String copyObjSeq = String.valueOf(tabPage.plSeq);//搴忓彿 + PLTabPage[] tabPages = platformClientUtil.getUIService().getTabPagesByContextIdAndType(toOId, tabPage.plAreaType);//鍚屼竴鍖哄煙涓嬬殑 + if (Func.isNotEmpty(tabPages)) { + Map<String, Short> toTabPageDefMap = Arrays.stream(tabPages).collect(Collectors.toMap(item -> item.plName, item -> item.plSeq)); + //while寰幆鍑簍oPageDefMap涓嶅瓨鍦ㄧ殑澶嶅埗瀵硅薄鍚� + int i = 1; + int i1 = 1; + String name = tabPage.plName; + while(true){ + copyObjName = name + "_copy(" + i++ + ")"; + if (!toTabPageDefMap.containsValue(copyObjName)) { + break; + } + } + Set<String> tabPageCodes = Arrays.stream(tabPages).map(item -> item.plCode).collect(Collectors.toSet()); + String code = tabPage.plCode; + while(true){ + copyObjCode = code + "_copy(" + i1++ + ")"; + if (!tabPageCodes.contains(copyObjCode)) { + break; + } + } + //鑾峰彇鍒皏alues鐨勬渶澶у�� + Short currentSeq = toTabPageDefMap.values().stream().max(Comparator.naturalOrder()).get(); + copyObjSeq = String.valueOf(currentSeq+1); + } + //淇敼鍏宠仈鐨刄I瀹氫箟涓婚敭銆佸悕绉般�佺紪鍙枫�佸簭鍙� + tabPage.plContextOId = toOId; + //鏂扮殑鍏嬮殕瀵硅薄涓婚敭 + String newOId = ObjectUtility.getNewObjectID36(); + tabPage.plOId = newOId; + tabPage.plName = copyObjName; + tabPage.plCode = copyObjCode; + tabPage.plSeq = Short.parseShort(copyObjSeq); + if(Func.isEmpty(sessionInfo)){ + sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); + } + tabPage.plCreateUser = sessionInfo.getUserId(); + tabPage.plModifyUser = sessionInfo.getUserId(); + long currentTimeMillis = System.currentTimeMillis(); + tabPage.plCreateTime = currentTimeMillis; + tabPage.plModifyTime = currentTimeMillis; + boolean resTabPage = this.platformClientUtil.getUIService().savePLTabPage(tabPage); + if(!resTabPage){ + return BaseResult.fail("椤甸潰瀹氫箟淇濆瓨澶辫触锛侊紒"); + } + //淇濆瓨鎴愬姛闇�瑕佽�冭檻鍒颁箣鍓嶄笉瀛樺湪鐨勫尯鍩燂紝鍏嬮殕涔嬪悗瀛樺湪浜嗗氨闇�瑕佹敼鍙樺搴斿尯鍩熺殑鏍囪瘑 + PLUILayout pluiLayout = this.platformClientUtil.getUIService().getPLUILayoutById(toOId); + if(Func.isNotEmpty(pluiLayout)){ + if(tabPage.plAreaType == 1){ + //瀵艰埅鍖� + pluiLayout.plIsShowNavigator = 1; + }else if(tabPage.plAreaType == 2){ + //鎺у埗鍖� + pluiLayout.plIsShowForm = 1; + }else { + //鎿嶄綔鍖� + pluiLayout.plIsShowTab = 1; + } + } + this.platformClientUtil.getUIService().updatePLUILayout(pluiLayout); + + //鏌ヨ椤甸潰瀹氫箟 + PLPageDefination[] pageDefinations = platformClientUtil.getUIService().getPLPageDefinationsByPageContextOId(sourceOId); + if (Func.isEmpty(pageDefinations)) { + return BaseResult.success("椤电瀹氫箟鍏嬮殕鎴愬姛锛侊紒"); + } + String oldPageDefOId = ""; + boolean resPageDef = false; + for (int i = 0; i < pageDefinations.length; i++) { + PLPageDefination pageDef = pageDefinations[i]; + pageDef.plTabPageOId = newOId; + String newPageDefOId = ObjectUtility.getNewObjectID36(); + oldPageDefOId = pageDef.plOId;//璁板綍涓嬫棫鐨勪富閿� + pageDef.plOId = newPageDefOId; + resPageDef = platformClientUtil.getUIService().savePLPageDefination(pageDef); + if(!resPageDef){ + return BaseResult.success("鍏嬮殕椤甸潰瀹氫箟鍑洪敊锛侊紒"); + } + //鏌ヨ鎸夐挳杩涜淇濆瓨 + List<PLTabButtonVO> tabButtons = this.getTabButtons(oldPageDefOId); + if(Func.isNotEmpty(tabButtons)){ + tabButtons.stream().forEach(buttonVO->{ + try { + this.modifyButtonOIdsAndCopy(buttonVO,newPageDefOId,ObjectUtility.getNewObjectID36()); + } catch (PLException e) { + e.printStackTrace(); + String exceptionMessage = "鍏嬮殕鎸夐挳閰嶇疆鏃跺嚭鐜伴敊璇紝鍘熷洜锛�"+VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + throw new VciBaseException(exceptionMessage); + } + }); + } + } + return BaseResult.success("椤电瀹氫箟鍏嬮殕鎴愬姛锛侊紒"); + } + + /** + * 鍏嬮殕椤甸潰瀹氫箟 + * @param uiCloneVO + * @return + * @throws Throwable + */ + @Override + public BaseResult clonePageDef(UICloneVO uiCloneVO) throws Throwable { + VciBaseUtil.alertNotNull(uiCloneVO,"鍏嬮殕瀵硅薄",uiCloneVO.getFromOId(),"婧愬叧鑱斿璞$殑涓婚敭"); + //婧愬叧鑱斿璞$殑涓婚敭 + String fromOId = uiCloneVO.getFromOId(); + //鍏嬮殕鍒伴偅涓〉绛句笅锛歵abOid + String toOId = uiCloneVO.getToOId(); + //琚厠闅嗙殑瀵硅薄涓婚敭 + Map<String, String> cloneParamMap = uiCloneVO.getCloneParam(); + String sourceOId = cloneParamMap.get("sourceOId"); + if(Func.isBlank(sourceOId)){ + return BaseResult.fail("鏈粠璇锋眰鍙傛暟涓幏鍙栧埌锛屾簮瀵硅薄涓婚敭锛侊紒"); + } + //鍒ゆ柇鏄惁鏈夌洰鏍囦富閿紝濡傛灉娌℃湁灏辫鏄庢槸鍏嬮殕鍒板綋鍓嶉〉绛句笅 + if(Func.isBlank(toOId)){ + toOId = fromOId; + } + //鏌ヨ琚厠闅嗙殑椤甸潰瀹氫箟瀵硅薄 + PLPageDefination pageDefination = this.platformClientUtil.getUIService().getPLPageDefinationById(sourceOId); + if(Func.isEmpty(pageDefination) || Func.isBlank(pageDefination.plOId)){ + return BaseResult.fail("鏍规嵁婧愬璞′富閿湭鏌ヨ鍒版簮瀵硅薄锛岃鍒锋柊鍚庨噸璇曪紒锛�"); + } + + String copyObjName = "";//鍚嶇О + String copyObjSeq = "";//缂栧彿 + //鍏嬮殕涔嬪墠鏌ラ噸鐩爣鍏宠仈瀵硅薄涓嬬殑瀵硅薄鍚嶇О鍜岀紪鍙峰垽閲嶅鐞� + PLPageDefination[] pageDefinations = this.platformClientUtil.getUIService().getPLPageDefinationsByPageContextOId(toOId); + if (Func.isNotEmpty(pageDefinations)) { + Map<String, Short> toPageDefMap = Arrays.stream(pageDefinations).collect(Collectors.toMap(item -> item.name, item -> item.seq)); + //while寰幆鍑簍oPageDefMap涓嶅瓨鍦ㄧ殑澶嶅埗瀵硅薄鍚� + int i = 1; + String name = pageDefination.name; + while(true){ + copyObjName = name + "_copy(" + i++ + ")"; + if (!toPageDefMap.containsValue(copyObjName)) { + break; + } + } + + //鑾峰彇鍒皏alues鐨勬渶澶у�� + Short currentSeq = toPageDefMap.values().stream().max(Comparator.naturalOrder()).get(); + copyObjSeq = String.valueOf(currentSeq+1); + } + //淇敼鍏宠仈鐨勯〉绛句富閿拰鍚嶇О缂栧彿 + pageDefination.plTabPageOId = toOId; + String newOId = ObjectUtility.getNewObjectID36(); + pageDefination.plOId = newOId; + pageDefination.name = copyObjName; + pageDefination.seq = Short.parseShort(copyObjSeq); + //淇濆瓨椤甸潰瀹氫箟 + boolean resPageDef = platformClientUtil.getUIService().savePLPageDefination(pageDefination); + if(!resPageDef){ + return BaseResult.fail("椤电瀹氫箟淇濆瓨澶辫触锛侊紒"); + } + //鏌ヨ椤甸潰涓嬬殑鎸夐挳 + List<PLTabButtonVO> tabButtonVOS = this.getTabButtons(sourceOId); + if(Func.isEmpty(tabButtonVOS)){ + return BaseResult.success("椤甸潰瀹氫箟鍏嬮殕鎴愬姛锛侊紒"); + } + //鍒濆鍖杝essionInfo灞炴�� + if(Func.isEmpty(sessionInfo)){ + sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); + } + //寰幆鍏嬮殕鎸夐挳锛堝悓鏃朵細瀵规寜閽殑鐖跺瓙绾у叧绯诲拰鎸夐挳涓嬬殑鍙傛暟杩涜淇濆瓨锛� + tabButtonVOS.stream().forEach(buttonVO->{ + try { + this.modifyButtonOIdsAndCopy(buttonVO,newOId,ObjectUtility.getNewObjectID36()); + } catch (PLException e) { + e.printStackTrace(); + String exceptionMessage = "鍏嬮殕鎸夐挳閰嶇疆鏃跺嚭鐜伴敊璇紝鍘熷洜锛�"+VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + throw new VciBaseException(exceptionMessage); + } + }); + return BaseResult.success("椤甸潰瀹氫箟鍏嬮殕鎴愬姛锛侊紒"); + } + + /** * 鍏嬮殕鎸夐挳锛堝瓨鍦ㄧ埗瀛愮粨鏋勫叧绯汇�佸叧鑱旀暟鎹寜閽弬鏁帮級 * @param uiCloneVO * @return @@ -2667,24 +2913,24 @@ */ @Override public BaseResult cloneTabButton(UICloneVO uiCloneVO) throws Throwable { - VciBaseUtil.alertNotNull(uiCloneVO,"鍏嬮殕瀵硅薄",uiCloneVO.getSourceOId(),"婧愬璞′富閿�"); - String fromOId = uiCloneVO.getSourceOId(); + VciBaseUtil.alertNotNull(uiCloneVO,"鍏嬮殕瀵硅薄",uiCloneVO.getFromOId(),"婧愬叧鑱斿璞′富閿�"); + String fromOId = uiCloneVO.getFromOId(); String toOId = uiCloneVO.getToOId(); //鍏堟煡璇㈡簮瀵硅薄 //PLTabButton tabButton = platformClientUtil.getUIService().getPLTabButtonById(fromOId); - String sourceTableOId = uiCloneVO.getCloneParam().get("sourceTableOId"); - if(Func.isBlank(sourceTableOId)){ - return BaseResult.fail("鏈粠璇锋眰鍙傛暟涓幏鍙栧埌锛屾簮瀵硅薄鍏宠仈鐨勯〉闈㈠畾涔変富閿紒锛�"); + String sourceOId = uiCloneVO.getCloneParam().get("sourceOId"); + if(Func.isBlank(sourceOId)){ + return BaseResult.fail("鏈粠璇锋眰鍙傛暟涓幏鍙栧埌锛屾簮瀵硅薄涓婚敭锛侊紒"); } //鍒ゆ柇鏄惁鏈夌洰鏍囦富閿紝濡傛灉娌℃湁灏辫鏄庢槸鍏嬮殕鍒板綋鍓嶉〉闈笅 if(Func.isBlank(toOId)){ - toOId = sourceTableOId; + toOId = fromOId; } //鍒ゆ柇鍓嶇鏄惁浼犱簡鍏嬮殕鍚嶈繃鏉ワ紙鎸夐挳杩欒竟涓嶉渶瑕佸悕绉般�佺紪鍙峰垽閲嶏紝鎵�浠ヨ繖涓�鍧楀効閫昏緫蹇界暐锛� //鎸夐挳鍏锋湁鐖跺瓙绾у叧绯伙紝鎵�浠ヨ繕闇�瑕佸仛oid鍜宲arentOId澶勭悊 - List<PLTabButtonVO> tabButtons = this.getTabButtons(sourceTableOId); + List<PLTabButtonVO> tabButtons = this.getTabButtons(fromOId);//TODO:杩欏効娑夊強鍒拌浆VO鎿嶄綔鍜屽瓙鎸夐挳鏌ヨ鐨勬搷浣滄墍浠ュ緢鎱� PLTabButtonVO filterTabButton = tabButtons.stream() - .filter(item -> item.getOId().equals(fromOId)).findFirst().orElse(null); + .filter(item -> item.getOId().equals(sourceOId)).findFirst().orElse(null); if(Func.isEmpty(filterTabButton)){ return BaseResult.fail("鏍规嵁婧愬璞′富閿湭鏌ヨ鍒版簮瀵硅薄锛岃鍒锋柊鍚庨噸璇曪紒锛�"); } @@ -2693,17 +2939,19 @@ } //鏀瑰彉button瀵硅薄鐨刼id鍜宲arentOId - this.modifyButtonIdsAndCopy(filterTabButton,toOId,ObjectUtility.getNewObjectID36()); + this.modifyButtonOIdsAndCopy(filterTabButton,toOId,ObjectUtility.getNewObjectID36()); return BaseResult.success("鎸夐挳澶嶅埗鎴愬姛锛�"); } /** * 淇敼oId鍜宲arentOid锛屼笉鏀瑰彉鐖跺瓙绾э紙oid鍙樻崲parentOId涔熼渶瑕佽窡鐫�鍙樻崲锛夌粨鏋勶紝骞朵繚瀛樻寜閽拰鍏跺弬鏁� - * @param button - * @param newOId + * @param button 闇�瑕佷慨鏀逛富閿繚瀛樼殑鎸夐挳瀵硅薄 + * @param toOId 鎸夐挳鍏宠仈鐨勯〉闈㈠畾涔塷id + * @param newOId 鏂扮殑鎸夐挳瀵硅薄涓婚敭 + * @throws PLException */ - private void modifyButtonIdsAndCopy(PLTabButtonVO button,String toOId, String newOId) throws PLException { + private void modifyButtonOIdsAndCopy(PLTabButtonVO button,String toOId, String newOId) throws PLException { if (button == null) { return; } @@ -2724,34 +2972,11 @@ // 閫掑綊閬嶅巻瀛愯妭鐐� if (button.getChildren() != null) { for (PLTabButtonVO child : button.getChildren()) { - // 瀛愬璞$殑 parentOid 璁剧疆涓哄綋鍓嶈妭鐐圭殑鏂皁id - modifyButtonIdsAndCopy(child,toOId, ObjectUtility.getNewObjectID36()); child.setParentOid(button.getOId()); // 纭繚瀛愬璞$殑parentOid鎸囧悜褰撳墠鐨刼id + modifyButtonOIdsAndCopy(child,toOId, ObjectUtility.getNewObjectID36()); } } - } - - /** - * 鍏嬮殕椤电 - * @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; } /** @@ -2772,7 +2997,7 @@ tabTree.setParentId(uiLayoutOid); if(!level.equalsIgnoreCase("tab")){ try { - tabTree.setChildren(this.getPageDefChildren(tabPage.plOId,level)); + tabTree.setChildren(this.getPageDefChildren(tabPage.plOId)); } catch (PLException e) { e.printStackTrace(); String exceptionMessage = "鏌ヨ椤甸潰瀹氫箟鏃跺嚭鐜伴敊璇細"+VciBaseUtil.getExceptionMessage(e); @@ -2790,7 +3015,7 @@ * 鑾峰彇椤甸潰瀹氫箟杩欎竴灞傜殑鍏宠仈鏁版嵁 * @return */ - private List<Tree> getPageDefChildren(String tabPageOid,String level) throws PLException { + private List<Tree> getPageDefChildren(String tabPageOid) throws PLException { List<Tree> pageDefChildren = new ArrayList<>(); if(Func.isNotBlank(tabPageOid)){ PLPageDefination[] pageDefs = platformClientUtil.getUIService().getPLPageDefinationsByPageContextOId(tabPageOid); -- Gitblit v1.9.3