From d79ba1d249da7e4a347107b06be2a2add00fad6e Mon Sep 17 00:00:00 2001 From: ludc Date: 星期五, 13 九月 2024 10:59:49 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java | 457 ++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 326 insertions(+), 131 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 d85f3ef..f80538a 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 @@ -1,8 +1,10 @@ package com.vci.web.service.impl; +import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSON; import com.vci.common.utility.ObjectUtility; import com.vci.corba.common.PLException; +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.portal.PortalService; @@ -39,6 +41,7 @@ import javax.annotation.Resource; import java.io.File; import java.util.*; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import java.util.regex.Pattern; @@ -57,6 +60,11 @@ @Resource private PlatformClientUtil platformClientUtil; + /** + * 瑙掕壊 + */ + @Resource + private SmRoleQueryServiceI smRoleQueryServiceI; /*** * 鏄惁鏄鐞嗗憳 */ @@ -136,7 +144,7 @@ public List<PLUILayout> getUIContextDataByBtName(String btemName,String context) throws PLException { VciBaseUtil.alertNotNull(btemName,"涓氬姟绫诲瀷"); List<PLUILayout> pluiLayoutList=new ArrayList<>(); - List<String> contextList= VciBaseUtil.str2List(context); + List<String> contextList= new ArrayList<>(); if(StringUtils.isNotBlank(context)){ contextList=VciBaseUtil.str2List(context); }else{ @@ -372,11 +380,11 @@ //鐣岄潰娌′紶鍚嶇О锛屼娇鐢ㄩ粯璁ゅ鍑哄悕绉� String exportFileName = "UI涓婁笅鏂囧鍑篲" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss"); //璁剧疆鍒楀悕 - List<String> columns = Arrays.asList( + /*List<String> columns = Arrays.asList( "鎵�灞炰笟鍔$被鍨�","鍚嶇О", "UI涓婁笅鏂�", "瀵艰埅鍖�", "鎺у埗鍖�","鎿嶄綔鍖�", "椤电搴忓彿","鍖哄煙缂栫爜","鍖哄煙鍚嶇О","鏄惁鍚敤","鏄剧ず琛ㄨ揪寮�", "UI瑙f瀽绫�", "鎵╁睍灞炴��", "鎻忚堪","椤甸潰璁捐淇℃伅","椤甸潰涓嬮厤缃殑鎸夐挳" - ); + );*/ //鍐檈xcel String excelPath = LocalFileUtil.getDefaultTempFolder() + File.separator + exportFileName + ".xls"; @@ -386,58 +394,114 @@ throw new VciBaseException(LangBaseUtil.getErrorMsg(e), new String[]{excelPath}, e); } //璁剧疆鍒� - List<WriteExcelData> excelDataList = new ArrayList<>(); + List<WriteExcelData> pldDataList = new ArrayList<>(); + List<WriteExcelData> tpDataList = new ArrayList<>(); + List<WriteExcelData> pdDataList = new ArrayList<>(); + List<WriteExcelData> tbDataList = new ArrayList<>(); + List<WriteExcelData> cpDataList = new ArrayList<>(); //璁剧疆鍒楀ご - for (int index = 0; index < columns.size(); index++) { + /*for (int index = 0; index < columns.size(); index++) { excelDataList.add(new WriteExcelData(0,index, columns.get(index))); - } - AtomicInteger row = new AtomicInteger(1); + }*/ + AtomicInteger pldRow = new AtomicInteger(0); + AtomicInteger tpRow = new AtomicInteger(0); + AtomicInteger pdRow = new AtomicInteger(0); + AtomicInteger tbRow = new AtomicInteger(0); + AtomicInteger cpRow = new AtomicInteger(0); + expConditionMap.entrySet().stream().forEach(item->{ //key瀛樻斁鐨剈i涓婁笅鏂囩殑id try { PLUILayout pluiLayout = platformClientUtil.getUIService().getPLUILayoutById(item.getKey()); + pldDataList.add(new WriteExcelData(pldRow.get(),0, pluiLayout.plOId)); + pldDataList.add(new WriteExcelData(pldRow.get(),1, pluiLayout.plCode)); + pldDataList.add(new WriteExcelData(pldRow.get(),2, pluiLayout.plName)); + pldDataList.add(new WriteExcelData(pldRow.get(),3, pluiLayout.plRelatedType)); + pldDataList.add(new WriteExcelData(pldRow.get(),4, pluiLayout.plIsShowForm)); + pldDataList.add(new WriteExcelData(pldRow.get(),5, pluiLayout.plIsShowNavigator)); + pldDataList.add(new WriteExcelData(pldRow.get(),6, pluiLayout.plIsShowTab)); + pldRow.getAndIncrement(); + //value涓瓨鏀剧殑澶氫釜浠ラ�楀彿闂撮殧鐨勯〉绛緄d,閫氳繃杩欎釜id鏌ヨ鍑哄叾涓嬬殑椤甸潰璁捐鍜屾寜閽厤缃� List<String> plTabPageOIds = Arrays.asList(item.getValue().split(",")); if(Func.isNotEmpty(pluiLayout) && Func.isNotBlank(pluiLayout.plOId) && Func.isNotEmpty(plTabPageOIds)){ PLTabPage[] plTabPages = platformClientUtil.getUIService().getPLTabPagesByPageDefinationOId(pluiLayout.plOId); List<PLTabPage> filterTabPages = Arrays.stream(plTabPages).filter(plTabPage -> plTabPageOIds.contains(plTabPage.plOId)).collect(Collectors.toList()); filterTabPages.stream().forEach(tabPage->{ - excelDataList.add(new WriteExcelData(row.get(),0, pluiLayout.plRelatedType)); - excelDataList.add(new WriteExcelData(row.get(),1, pluiLayout.plName)); - excelDataList.add(new WriteExcelData(row.get(),2, pluiLayout.plCode)); - excelDataList.add(new WriteExcelData(row.get(),3, pluiLayout.plIsShowForm)); - excelDataList.add(new WriteExcelData(row.get(),4, pluiLayout.plIsShowNavigator)); - excelDataList.add(new WriteExcelData(row.get(),5, pluiLayout.plIsShowTab)); - excelDataList.add(new WriteExcelData(row.get(),6, tabPage.plSeq)); - excelDataList.add(new WriteExcelData(row.get(),7, tabPage.plLabel)); - excelDataList.add(new WriteExcelData(row.get(),8, tabPage.plName)); - excelDataList.add(new WriteExcelData(row.get(),9, tabPage.plIsOpen)); - excelDataList.add(new WriteExcelData(row.get(),10, tabPage.plOpenExpression)); - excelDataList.add(new WriteExcelData(row.get(),11, tabPage.plUIParser)); - excelDataList.add(new WriteExcelData(row.get(),12, tabPage.plExtAttr)); - excelDataList.add(new WriteExcelData(row.get(),13, tabPage.plDesc)); + //鍖哄煙瀹氫箟 + tpDataList.add(new WriteExcelData(tpRow.get(),0, tabPage.plOId)); + tpDataList.add(new WriteExcelData(tpRow.get(),1, tabPage.plSeq)); + tpDataList.add(new WriteExcelData(tpRow.get(),2, tabPage.plLabel)); + tpDataList.add(new WriteExcelData(tpRow.get(),3, tabPage.plName)); + tpDataList.add(new WriteExcelData(tpRow.get(),4, tabPage.plContextOId)); + tpDataList.add(new WriteExcelData(tpRow.get(),5, tabPage.plIsOpen)); + tpDataList.add(new WriteExcelData(tpRow.get(),6, tabPage.plOpenExpression)); + tpDataList.add(new WriteExcelData(tpRow.get(),7, tabPage.plUIParser)); + tpDataList.add(new WriteExcelData(tpRow.get(),8, tabPage.plExtAttr)); + tpDataList.add(new WriteExcelData(tpRow.get(),9, tabPage.plDesc)); + tpRow.getAndIncrement(); try { PLPageDefination[] plPageDefinations = platformClientUtil.getUIService().getPLPageDefinationsByPageContextOId(tabPage.plOId); if(Func.isNotEmpty(plPageDefinations)){ - excelDataList.add(new WriteExcelData(row.get(),14, JSON.toJSONString(plPageDefinations))); - List<PLTabButtonVO> tabButtonsTotal = new ArrayList<>(); + //List<PLTabButtonVO> tabButtonsTotal = new ArrayList<>(); Arrays.stream(plPageDefinations).forEach(plPageDefination->{ - List<PLTabButtonVO> tabButtons = this.getTabButtons(plPageDefination.plOId); - tabButtonsTotal.addAll(tabButtons); + pdDataList.add(new WriteExcelData(pdRow.get(),0, plPageDefination.plOId)); + pdDataList.add(new WriteExcelData(pdRow.get(),1, plPageDefination.plTabPageOId)); + pdDataList.add(new WriteExcelData(pdRow.get(),2, plPageDefination.plType)); + pdDataList.add(new WriteExcelData(pdRow.get(),3, plPageDefination.name)); + pdDataList.add(new WriteExcelData(pdRow.get(),4, plPageDefination.desc)); + pdDataList.add(new WriteExcelData(pdRow.get(),5, plPageDefination.seq)); + pdDataList.add(new WriteExcelData(pdRow.get(),6, plPageDefination.plDefination)); + pdRow.getAndIncrement(); + //鏌ヨ鎸夐挳 + try { + PLTabButton[] tabButtons = platformClientUtil.getUIService().getPLTabButtonsByTableOId(plPageDefination.plOId); + for (PLTabButton tabButton:tabButtons){ + tbDataList.add(new WriteExcelData(tbRow.get(),0, tabButton.plOId)); + tbDataList.add(new WriteExcelData(tbRow.get(),1, tabButton.plTableOId)); + tbDataList.add(new WriteExcelData(tbRow.get(),2, tabButton.plPageOId)); + tbDataList.add(new WriteExcelData(tbRow.get(),3, tabButton.plActionOId)); + tbDataList.add(new WriteExcelData(tbRow.get(),4, tabButton.plLabel)); + tbDataList.add(new WriteExcelData(tbRow.get(),5, tabButton.plAreaType)); + tbDataList.add(new WriteExcelData(tbRow.get(),6, tabButton.plDesc)); + tbDataList.add(new WriteExcelData(tbRow.get(),7, tabButton.plSeq)); + tbDataList.add(new WriteExcelData(tbRow.get(),8, tabButton.plParentOid)); + tbDataList.add(new WriteExcelData(tbRow.get(),9, tabButton.displayMode)); + tbDataList.add(new WriteExcelData(tbRow.get(),10, tabButton.iconPath)); + tbDataList.add(new WriteExcelData(tbRow.get(),11, tabButton.authorization)); + tbDataList.add(new WriteExcelData(tbRow.get(),12, tabButton.show)); + tbRow.getAndIncrement(); + PLCommandParameter[] parameters = platformClientUtil.getUIService().getPLCommandParametersByCommandOId(tabButton.plOId); + if(Func.isNotEmpty(parameters)){ + Arrays.stream(parameters).forEach(param->{ + cpDataList.add(new WriteExcelData(cpRow.get(),0, param.plOId)); + cpDataList.add(new WriteExcelData(cpRow.get(),1, param.plCommandOId)); + cpDataList.add(new WriteExcelData(cpRow.get(),2, param.plKey)); + cpDataList.add(new WriteExcelData(cpRow.get(),3, param.plValue)); + cpRow.getAndIncrement(); + }); + } + } + } catch (PLException e) { + e.printStackTrace(); + } }); - excelDataList.add(new WriteExcelData(row.get(),15, JSON.toJSONString(tabButtonsTotal))); } } catch (PLException e) { e.printStackTrace(); } - row.getAndIncrement(); }); } } catch (PLException e) { e.printStackTrace(); } }); - WriteExcelOption excelOption = new WriteExcelOption(excelDataList); + WriteExcelOption excelOption = new WriteExcelOption(); + excelOption.addSheetDataList("PlpageLayoutDefnation",pldDataList); + excelOption.addSheetDataList("Pltabpage",tpDataList); + excelOption.addSheetDataList("Plpagedefination",pdDataList); + excelOption.addSheetDataList("Pltabbutton",tbDataList); + excelOption.addSheetDataList("PlcommondParam",cpDataList); ExcelUtil.writeDataToFile(excelPath, excelOption); return excelPath; } @@ -1298,7 +1362,7 @@ String userName= WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); RoleRightInfo[] rightInfos= platformClientUtil.getFrameworkService().getRoleRightList(roleId,userName); List<RoleRightVO> roleRightVOList=roleRightDOO2VOS(Arrays.asList(rightInfos)); - roleRightVOMap=roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVO)); + roleRightVOMap=roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVO,(oldValue,newOldValue)->oldValue)); } BizType[] bizTypes=osBtmServiceI.getBizTypes(type); List<Tree> treeList=new ArrayList<>(); @@ -1316,12 +1380,10 @@ bizTypeTree.setShowCheckbox(true); bizTypeTree.setParentBtmName(bizTypes[i].name); childList.add(bizTypeTree); - if(roleRightVOMap.containsKey(bizTypes[i].oid)){ - List<PLUILayout>contextList=getUIContextDataByBtName(bizTypes[i].name,context); - List<Tree> btmChildList=new ArrayList<>(); - btmChildList.add(bizTypeTree); - setChildNode(btmChildList,contextList,roleRightVOMap,showCheckBox); - } + List<PLUILayout>contextList=getUIContextDataByBtName(bizTypes[i].name,context); + List<Tree> btmChildList=new ArrayList<>(); + btmChildList.add(bizTypeTree); + setChildNode(btmChildList,contextList,roleRightVOMap,showCheckBox); } rootNode.setChildren(childList); treeList.add(rootNode); @@ -1349,48 +1411,96 @@ treeQueryObject.setConditionMap(conditionMap); List<Tree> treeList=this.getUIAuthor(treeQueryObject); HashMap<String,Tree> allTreeMap=new HashMap<>(); - Map<String,RoleRightVO> roleRightVOMap=new HashMap<>(); + Map<String,RoleRightDTO> roleRightVOMap=new HashMap<>(); if(!CollectionUtil.isEmpty(treeList)){ if(StringUtils.isNotBlank(uiAuthorDTO.getRoleId())){ String userName= WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); RoleRightInfo[] rightInfos= platformClientUtil.getFrameworkService().getRoleRightList(uiAuthorDTO.getRoleId(),userName); List<RoleRightVO> roleRightVOList=roleRightDOO2VOS(Arrays.asList(rightInfos)); - roleRightVOMap=roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVO)); + roleRightVOMap=roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVOO2DTO(roleRightVO),(oldValue,newValue)->oldValue)); } convertTreeDOO2Map(treeList,allTreeMap); List<RoleRightDTO> roleRightDTOList=new ArrayList<>(); List<Tree> selectTreeList= uiAuthorDTO.getSelectTreeList(); - getSelectedRoleRightObjs(uiAuthorDTO.getRoleId(),selectTreeList,allTreeMap,roleRightDTOList); + getSelectedRoleRightObjs(uiAuthorDTO.getRoleId(),selectTreeList,allTreeMap,roleRightVOMap,roleRightDTOList); + SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); + String currentUserName = sessionInfo.getUserId(); + boolean isDeveloper= rightControlUtil.isDeveloper(currentUserName); + List<RoleRightInfo> roleRightInfoList= roleRightDTOO2InfoS(roleRightDTOList); + UserEntityInfo info=new UserEntityInfo(); + info.modules="UI鎺堟潈"; + info.userName=currentUserName; + try { + res= platformClientUtil.getFrameworkService().saveRoleRight(roleRightInfoList.toArray(new RoleRightInfo[]{}),uiAuthorDTO.getRoleId(),currentUserName,info); + }catch (PLException e){ + throw new Exception("淇濆瓨澶辫触锛�"+e.getMessage()); + } } return res; } /** - * + *鏍规嵁鏉冮檺璁$畻涓婁笅鏉冮檺 * @param roleOid * @param selectTreeList * @param allTreeMap * @param roleRightDTOList */ - private void getSelectedRoleRightObjs(String roleOid,List<Tree> selectTreeList,HashMap<String,Tree> allTreeMap, List<RoleRightDTO> roleRightDTOList){ + private void getSelectedRoleRightObjs(String roleOid,List<Tree> selectTreeList,HashMap<String,Tree> allTreeMap,Map<String,RoleRightDTO> allRoleRightDTOMap, List<RoleRightDTO> roleRightDTOList){ Date date=new Date(); Map<String,RoleRightDTO> roleRightDTOMap=new HashMap<>(); - selectTreeList.stream().forEach(tree -> { - RoleRightDTO roleRightDTO=new RoleRightDTO(); - String id=ObjectUtility.getNewObjectID36(); - Object data= tree.getData(); - if(data instanceof String){ - getRightValue(roleOid,tree,allTreeMap,false,roleRightDTOMap);//鍚戜笅鑾峰彇鎵�鏈夋ā鍧楃殑鏉冮檺鍊� - }else if (!(data instanceof PLTabButton)) {//涓氬姟绫诲瀷 - getRightValue(roleOid,tree,allTreeMap,true,roleRightDTOMap);//鍚戜笂澶勭悊 - getRightValue(roleOid,tree,allTreeMap,false,roleRightDTOMap);//鍚戜笅澶勭悊锛堝寘鍚綋鍓嶈妭鐐癸級 - }else if (data instanceof PLTabButton) {//鎸夐挳 + if(!CollectionUtil.isEmpty(selectTreeList)){ + selectTreeList.stream().forEach(tree -> { + String oid=tree.getOid(); + if(allTreeMap.containsKey(oid)){ + tree= allTreeMap.get(oid); + Object data= tree.getData(); + if (data instanceof String) { + getRightValue(roleOid, tree, allTreeMap, false, roleRightDTOMap);//鍚戜笅鑾峰彇鎵�鏈夋ā鍧楃殑鏉冮檺鍊� + } else if (!(data instanceof PLTabButton)) {//涓氬姟绫诲瀷 + getRightValue(roleOid, tree, allTreeMap, true, roleRightDTOMap);//鍚戜笂澶勭悊 + getRightValue(roleOid, tree, allTreeMap, false, roleRightDTOMap);//鍚戜笅澶勭悊锛堝寘鍚綋鍓嶈妭鐐癸級 + } else if (data instanceof PLTabButton) {//鎸夐挳 + String parrentId=tree.getParentId(); + if(allTreeMap.containsKey(parrentId)){ + SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); + String currentUserName = sessionInfo.getUserId(); + boolean isDeveloper= rightControlUtil.isDeveloper(currentUserName); + Tree parentNode= allTreeMap.get(parrentId); + String funcId = parentNode.getOid(); + getRightValue(roleOid,tree, allTreeMap, true, roleRightDTOMap);//鍚戜笂澶勭悊璇ユ搷浣滅埗绾х殑涓婄骇妯″潡鏉冮檺(涓嶅寘鍚埗鑺傜偣) + if(!roleRightDTOMap.containsKey(funcId)){ + RoleRightDTO roleRightDTO = new RoleRightDTO(); + roleRightDTO.setId(ObjectUtility.getNewObjectID36());//涓婚敭 + roleRightDTO.setFuncId(funcId); + if(isDeveloper) { + roleRightDTO.setRightType((short) 1);//鏉冮檺绫诲瀷 鏉冮檺绫诲瀷锛岃秴绾х鐞嗗憳缁欑鐞嗗憳鎺堟潈涓�1锛岀鐞嗗憳缁欐櫘閫氱敤鎴锋巿鏉冧负2 + }else{ + roleRightDTO.setRightType((short) 2); + } + roleRightDTO.setRightValue(1);// 鏉冮檺鍊硷紝娌℃湁鎿嶄綔鐨勬ā鍧楁潈闄愬�煎瓨鍌ㄤ负0 + roleRightDTO.setRoleId(roleOid);//瑙掕壊ID + roleRightDTO.setCreateUser(currentUserName);//鍒涘缓鑰� + roleRightDTO.setCreateTime(VciDateUtil.date2Str(new Date(),""));//鍒涘缓鏃堕棿 + roleRightDTO.setModifyUser(currentUserName);//淇敼鑰� + roleRightDTO.setModifyTime(VciDateUtil.date2Str(new Date(),""));//淇敼鏃堕棿 + roleRightDTO.setLicensor(""); + if(!roleRightDTOMap.containsKey(funcId)){ + roleRightDTOMap.put(funcId, roleRightDTO); + } + roleRightDTOMap.put(funcId, roleRightDTO); + } + } - } - }); + } - - + } + }); + /* allRoleRightDTOMap.putAll(roleRightDTOMap.entrySet().stream() + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry:: getValue)));*/ + List<RoleRightDTO> newRoleRightDTOList=Optional.ofNullable(roleRightDTOMap).orElseGet(()->new HashMap<String,RoleRightDTO>()).values().stream().collect(Collectors.toList()); + roleRightDTOList.addAll(newRoleRightDTOList); + } } /** @@ -1401,28 +1511,28 @@ SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); String currentUserName = sessionInfo.getUserId(); boolean isDeveloper= rightControlUtil.isDeveloper(currentUserName); - String parentOid=node.getParentId(); - if(allTreeMap.containsKey(parentOid)){ - String id=ObjectUtility.getNewObjectID36(); - Tree parentNode =allTreeMap.get(parentOid); - Object parentData= parentNode.getData(); - if(isUp) {//鍚戜笂鑾峰彇锛屽瓨鍌ㄦ瘡涓笂绾фā鍧楃殑鏉冮檺鍊� - while (!"root".equals(parentNode.getData())){ + String id=ObjectUtility.getNewObjectID36(); + Object data=node.getData(); + if(isUp) {//鍚戜笂鑾峰彇锛屽瓨鍌ㄦ瘡涓笂绾фā鍧楃殑鏉冮檺鍊� + while (!"root".equals(node.getData())){ + data=node.getData(); + String oid=node.getOid(); + if(allTreeMap.containsKey(oid)){ String funcId = ""; - if (parentData instanceof BizType) { - BizType bizType = (BizType) parentData; + if (data instanceof BizType) { + BizType bizType = (BizType) data; funcId = bizType.name; - } else if (parentData instanceof PLUILayout) { - PLUILayout context = (PLUILayout)parentData; + } else if (data instanceof PLUILayout) { + PLUILayout context = (PLUILayout)data; funcId = context.plOId; - } else if (parentData instanceof PLTabPage) { - PLTabPage tab = (PLTabPage) parentData; + } else if (data instanceof PLTabPage) { + PLTabPage tab = (PLTabPage) data; funcId = tab.plOId; - } else if (parentData instanceof PLPageDefination){ - PLPageDefination pageDef = (PLPageDefination) parentData; + } else if (data instanceof PLPageDefination){ + PLPageDefination pageDef = (PLPageDefination) data; funcId = pageDef.plOId; - } else if (parentData instanceof PLTabButton) { - PLTabButton but = (PLTabButton)parentData; + } else if (data instanceof PLTabButton) { + PLTabButton but = (PLTabButton)data; funcId = but.plOId; } RoleRightDTO roleRightDTO = new RoleRightDTO(); @@ -1436,74 +1546,77 @@ roleRightDTO.setRightValue(1);// 鏉冮檺鍊硷紝娌℃湁鎿嶄綔鐨勬ā鍧楁潈闄愬�煎瓨鍌ㄤ负0 roleRightDTO.setRoleId(roleId);//瑙掕壊ID roleRightDTO.setCreateUser(currentUserName);//鍒涘缓鑰� - roleRightDTO.setCreateTime(new Date());//鍒涘缓鏃堕棿 + roleRightDTO.setCreateTime(VciDateUtil.date2Str(new Date(),""));//鍒涘缓鏃堕棿 roleRightDTO.setModifyUser(currentUserName);//淇敼鑰� - roleRightDTO.setModifyTime(new Date());//淇敼鏃堕棿 + roleRightDTO.setModifyTime(VciDateUtil.date2Str(new Date(),""));//淇敼鏃堕棿 roleRightDTO.setLicensor(""); if(!rightMap.containsKey(funcId)){ rightMap.put(funcId, roleRightDTO); } - } - }else{ - String funcId = ""; - if(parentData instanceof String){ - funcId = (String)parentData; - } else if (parentData instanceof BizType) { - BizType bizType = (BizType)parentData; - funcId = bizType.name; - } else if (parentData instanceof PLUILayout) { - PLUILayout context = (PLUILayout)parentData; - funcId = context.plOId; - } else if (parentData instanceof PLTabPage) { - PLTabPage tab = (PLTabPage) parentData; - funcId = tab.plOId; - } else if (parentData instanceof PLPageDefination){ - PLPageDefination pageDef = (PLPageDefination) parentData; - funcId = pageDef.plOId; - } else if (parentData instanceof PLTabButton) { - PLTabButton but = (PLTabButton)parentData; - funcId = but.plOId; - } - if(!(parentData instanceof PLPageDefination)) {//瀛愯妭鐐逛笉鏄搷浣� - if(!rightMap.containsKey(funcId)&&!funcId.equals("root")){ - RoleRightDTO roleRightDTO = new RoleRightDTO(); - roleRightDTO.setFuncId(funcId); - if(isDeveloper) { - roleRightDTO.setRightType((short) 1);//鏉冮檺绫诲瀷 鏉冮檺绫诲瀷锛岃秴绾х鐞嗗憳缁欑鐞嗗憳鎺堟潈涓�1锛岀鐞嗗憳缁欐櫘閫氱敤鎴锋巿鏉冧负2 - }else{ - roleRightDTO.setRightType((short) 2); - } - roleRightDTO.setRightValue(0);//娌℃湁鎿嶄綔鐨勬ā鍧楁潈闄愬�煎瓨鍌ㄤ负0 - roleRightDTO.setRoleId(roleId); - roleRightDTO.setCreateUser(currentUserName); - roleRightDTO.setCreateTime(new Date()); - roleRightDTO.setModifyUser(currentUserName); - roleRightDTO.setModifyTime(new Date()); - roleRightDTO.setLicensor(""); - rightMap.put(funcId, roleRightDTO); - } - for(int i = 0;i < parentNode.getChildren().size();i++){ - //瀵规瘡涓瓙鍚戜笅閫掑綊閬嶅巻 - getRightValue(roleId,parentNode.getChildren().get(i),allTreeMap,false,rightMap); - } - }else { - if(!rightMap.containsKey(funcId)){ - RoleRightDTO roleRightDTO = new RoleRightDTO(); - roleRightDTO.setFuncId(funcId); - roleRightDTO.setRightType((short)2); // 璁剧疆UI鏉冮檺 - roleRightDTO.setRightValue(countRightValue(parentNode,true));//娌℃湁鎿嶄綔鐨勬ā鍧楁潈闄愬�煎瓨鍌ㄤ负0 - roleRightDTO.setRoleId(roleId); - - roleRightDTO.setCreateUser(currentUserName); - roleRightDTO.setCreateTime(new Date()); - roleRightDTO.setModifyUser(currentUserName); - roleRightDTO.setModifyTime(new Date()); - roleRightDTO.setLicensor(""); - rightMap.put(funcId, roleRightDTO); + oid= node.getParentId(); + if(allTreeMap.containsKey(oid)) { + node=allTreeMap.get(oid); } } } + }else { + String funcId = ""; + if (data instanceof String) { + funcId = (String) data; + } else if (data instanceof BizType) { + BizType bizType = (BizType) data; + funcId = bizType.name; + } else if (data instanceof PLUILayout) { + PLUILayout context = (PLUILayout) data; + funcId = context.plOId; + } else if (data instanceof PLTabPage) { + PLTabPage tab = (PLTabPage) data; + funcId = tab.plOId; + } else if (data instanceof PLPageDefination) { + PLPageDefination pageDef = (PLPageDefination) data; + funcId = pageDef.plOId; + } else if (data instanceof PLTabButton) { + PLTabButton but = (PLTabButton) data; + funcId = but.plOId; + } + if (!(data instanceof PLPageDefination)) {//瀛愯妭鐐逛笉鏄搷浣� + if (!rightMap.containsKey(funcId) && !funcId.equals("root")) { + RoleRightDTO roleRightDTO = new RoleRightDTO(); + roleRightDTO.setFuncId(funcId); + if (isDeveloper) { + roleRightDTO.setRightType((short) 1);//鏉冮檺绫诲瀷 鏉冮檺绫诲瀷锛岃秴绾х鐞嗗憳缁欑鐞嗗憳鎺堟潈涓�1锛岀鐞嗗憳缁欐櫘閫氱敤鎴锋巿鏉冧负2 + } else { + roleRightDTO.setRightType((short) 2); + } + roleRightDTO.setRightValue(0);//娌℃湁鎿嶄綔鐨勬ā鍧楁潈闄愬�煎瓨鍌ㄤ负0 + roleRightDTO.setRoleId(roleId); + roleRightDTO.setCreateUser(currentUserName); + roleRightDTO.setCreateTime(VciDateUtil.date2Str(new Date(),"")); + roleRightDTO.setModifyUser(currentUserName); + roleRightDTO.setModifyTime(VciDateUtil.date2Str(new Date(),"")); + roleRightDTO.setLicensor(""); + rightMap.put(funcId, roleRightDTO); + } + for (int i = 0; i < node.getChildren().size(); i++) { + //瀵规瘡涓瓙鍚戜笅閫掑綊閬嶅巻 + getRightValue(roleId, node.getChildren().get(i), allTreeMap, false, rightMap); + } + } else { + if (!rightMap.containsKey(funcId)) { + RoleRightDTO roleRightDTO = new RoleRightDTO(); + roleRightDTO.setFuncId(funcId); + roleRightDTO.setRightType((short) 2); // 璁剧疆UI鏉冮檺 + roleRightDTO.setRightValue(countRightValue(node, true));//娌℃湁鎿嶄綔鐨勬ā鍧楁潈闄愬�煎瓨鍌ㄤ负0 + roleRightDTO.setRoleId(roleId); + roleRightDTO.setCreateUser(currentUserName); + roleRightDTO.setCreateTime(VciDateUtil.date2Str(new Date(),"")); + roleRightDTO.setModifyUser(currentUserName); + roleRightDTO.setModifyTime(VciDateUtil.date2Str(new Date(),"")); + roleRightDTO.setLicensor(""); + rightMap.put(funcId, roleRightDTO); + } + } } } @@ -1540,6 +1653,13 @@ }); } + /*** + * 閬嶅巻瀛愯妭鐐� + * @param parentTree + * @param contextList + * @param roleRightVOMap + * @param isShowCheckBox + */ private void setChildNode(List<Tree> parentTree, List<PLUILayout>contextList,Map<String,RoleRightVO> roleRightVOMap,boolean isShowCheckBox){ Optional.ofNullable(parentTree).orElseGet(()->new ArrayList<Tree>()).stream().forEach(pTree -> { Object funcObj= pTree.getData(); @@ -1657,6 +1777,24 @@ }); } + + /** + * UI瑙掕壊瀵硅薄杞崲 + * @param vos + * @return + */ + private List<RoleRightDTO> roleRightVOO2DTOS(List<RoleRightVO> vos){ + List<RoleRightDTO> roleRightVOS=new ArrayList<>(); + Optional.ofNullable(vos).orElseGet(()->new ArrayList<>()).stream().forEach(vo -> { + RoleRightDTO dto=roleRightVOO2DTO(vo); + roleRightVOS.add(dto); + }); + + return roleRightVOS; + } + + + /** * UI瑙掕壊瀵硅薄杞崲 * @param infos @@ -1671,7 +1809,25 @@ return roleRightVOS; } + /** + * UI瑙掕壊瀵硅薄杞崲 + * @param dtos + * @return + */ + private List<RoleRightInfo> roleRightDTOO2InfoS(List<RoleRightDTO> dtos){ + List<RoleRightInfo> roleRightInfoList=new ArrayList<>(); + Optional.ofNullable(dtos).orElseGet(()->new ArrayList<>()).stream().forEach(dto -> { + RoleRightInfo info= null; + try { + info = roleRightDTOO2Info(dto); + } catch (Exception e) { + e.printStackTrace(); + } + roleRightInfoList.add(info); + }); + return roleRightInfoList; + } /** * UI瑙掕壊瀵硅薄杞崲 * @param info @@ -1690,6 +1846,45 @@ vo.setModifyTime(VciDateUtil.date2Str(VciDateUtil.long2Date(info.modifyTime),"")); vo.setModifyUser(info.modifyUser); return vo; + } + /** + * UI瑙掕壊瀵硅薄杞崲 + * @param vo + * @return + */ + private RoleRightDTO roleRightVOO2DTO(RoleRightVO vo){ + RoleRightDTO dto=new RoleRightDTO(); + dto.setId(vo.getId()); + dto.setCreateTime(vo.getCreateTime()); + dto.setCreateUser(vo.getCreateUser()); + dto.setRoleId(vo.getRoleId()); + dto.setRightType(vo.getRightType()); + dto.setLicensor(vo.getLicensor()); + dto.setRightValue(vo.getRightValue()); + dto.setFuncId(vo.getFuncId()); + dto.setModifyTime(vo.getModifyTime()); + dto.setModifyUser(vo.getModifyUser()); + return dto; + } + + /** + * UI瑙掕壊瀵硅薄杞崲 + * @param dto + * @return + */ + 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(),"")); + info.createUser=StringUtils.isBlank(dto.getCreateUser())?"":dto.getCreateUser(); + info.roleId=StringUtils.isBlank(dto.getRoleId())?"":dto.getRoleId(); + info.rightType=dto.getRightType(); + info.licensor =StringUtils.isBlank(dto.getLicensor())?"":dto.getLicensor(); + info.rightValue=dto.getRightValue(); + info.funcId=StringUtils.isBlank(dto.getFuncId())?"":dto.getFuncId(); + info.modifyTime=StringUtils.isBlank(dto.getModifyTime())? new Date().getTime() :VciDateUtil.getTime(VciDateUtil.str2Date(dto.getModifyTime(),"")); + info.modifyUser=StringUtils.isBlank(dto.getModifyUser())?"":dto.getModifyUser(); + return info; } /** @@ -2393,7 +2588,7 @@ } } else { // 閾炬帴绫诲瀷涓虹┖鏃讹紝鍙渶瑕佹鏌ヤ笟鍔$被鍨嬩笅鐨勬煡璇㈡ā鏉挎槸鍚︽湁鏁� - if(!(super.checkQTNameTxtIsOk("鏌ヨ妯℃澘", queryTemplateName, btmType,true))){ + if(!(super.checkQTNameTxtIsOk("鏌ヨ妯℃澘", queryTemplateName, btmType))){ res = false; return res; } -- Gitblit v1.9.3