| | |
| | | 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.*; |
| | |
| | | private final String IMPORTUIKEY = "importUIKey:"; |
| | | |
| | | /** |
| | | * å½åç»å½ç¨æ·çä¿¡æ¯ |
| | | */ |
| | | private SessionInfo sessionInfo = null; |
| | | |
| | | /** |
| | | * æåºæ¯è¾å¨ |
| | | */ |
| | | private Comparator<PLUILayout> pageLayoutComparator = new Comparator<PLUILayout>() { |
| | |
| | | } |
| | | |
| | | /** |
| | | * tonéè¿ä¸å¡ç±»åååç§°æ¥è¯¢ |
| | | * éè¿ä¸å¡ç±»åååç§°æ¥è¯¢ |
| | | * @param btemName |
| | | * @param context |
| | | * @return |
| | |
| | | pdVO.getShowType(), |
| | | pdVO.getLinkType(), |
| | | pdVO.getQueryTemplateName(), |
| | | pdVO.getShowExpressionRoot(), |
| | | pdVO.getShowExpression(), |
| | | pdVO.getRefTreeSet(), |
| | | pdVO.getRootContent(), |
| | | pdVO.getShowAbs(), |
| | | pdVO.getShowLinkAbs(), |
| | | pdVO.getSeparator(), |
| | | pdVO.getExpandMode() |
| | | ); |
| | |
| | | case "6": |
| | | UILayoutComptCheckInput ulci = new UILayoutComptCheckInput( |
| | | pdVO.getSearchTarger(), |
| | | pdVO.getShowType(), |
| | | pdVO.getUiLayout(), |
| | | pdVO.getSubUIObjType(), |
| | | pdVO.getSubUILayout(), |
| | | pdVO.getQueryTemplateName(), |
| | | pdVO.getQryType() |
| | | ); |
| | |
| | | pdVO.getShowType(), |
| | | pdVO.getLinkType(), |
| | | pdVO.getQueryTemplateName(), |
| | | pdVO.getShowExpressionRoot(), |
| | | pdVO.getShowExpression(), |
| | | pdVO.getRefTreeSet(), |
| | | pdVO.getRootContent(), |
| | | pdVO.getShowAbs(), |
| | | pdVO.getShowLinkAbs(), |
| | | pdVO.getSeparator(), |
| | | pdVO.getExpandMode() |
| | | ); |
| | |
| | | case "6": |
| | | UILayoutComptCheckInput ulci = new UILayoutComptCheckInput( |
| | | pdVO.getSearchTarger(), |
| | | pdVO.getShowType(), |
| | | pdVO.getUiLayout(), |
| | | pdVO.getSubUIObjType(), |
| | | pdVO.getSubUILayout(), |
| | | pdVO.getQueryTemplateName(), |
| | | pdVO.getQryType() |
| | | ); |
| | |
| | | } |
| | | 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); |
| | |
| | | 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(); |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public BaseResult addTapButton(PLTabButtonVO tabButtonVO) { |
| | | public BaseResult addTabButton(PLTabButtonVO tabButtonVO) { |
| | | boolean res = this.saveOrUpdateTapButton(tabButtonVO, true); |
| | | return res ? BaseResult.success("æé®é
ç½®æ·»å æåï¼"):BaseResult.success("æé®é
置添å 失败ï¼"); |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public BaseResult updateTapButton(PLTabButtonVO tabButtonVO) { |
| | | public BaseResult updateTabButton(PLTabButtonVO tabButtonVO) { |
| | | boolean res = this.saveOrUpdateTapButton(tabButtonVO, false); |
| | | return res ? BaseResult.success("æé®é
ç½®ä¿®æ¹æåï¼"):BaseResult.success("æé®é
置修æ¹å¤±è´¥ï¼"); |
| | | } |
| | |
| | | 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()){ |
| | |
| | | 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(); |
| | |
| | | } |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @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){ |
| | |
| | | */ |
| | | @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)){ |
| | |
| | | } |
| | | 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); |
| | |
| | | * @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()); |
| | |
| | | * @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(),"")); |
| | |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢é¾æ¥ç±»å䏿 |
| | | * @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å®ä¹ä¸ææ¥è¯¢ï¼templateType为UIå®ä¹æ¶çUIå®ä¹ä¸ææ¥è¯¢ï¼ |
| | | * @param baseQueryObject selectBtmType éæ©çæºå¯¹è±¡,带åé¡µä¿¡æ¯ |
| | | * @return |
| | |
| | | return res; |
| | | } |
| | | |
| | | /** |
| | | * éè¿ä¸å¡ç±»åè·åUIä¸ä¸æå
å«å
¶ä¸å
³èçåºåå®ä¹>页é¢å®ä¹çææå
³èæ°æ®ï¼å½çº³ætreeç»æ |
| | | * @param btmName ä¸å¡ç±»ååç§° |
| | | * @param level æ¥è¯¢å°é£ä¸ªå±çº§ä¸ºæ¢ï¼uiãtabãpageDefï¼ |
| | | * @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åparentOIdå¤ç |
| | | 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对象çoidåparentOId |
| | | this.modifyButtonIdsAndCopy(filterTabButton,toOId,ObjectUtility.getNewObjectID36()); |
| | | |
| | | return BaseResult.success("æé®å¤å¶æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹oIdåparentOidï¼ä¸æ¹åç¶å级ï¼oid忢parentOIdä¹éè¦è·ç忢ï¼ç»æï¼å¹¶ä¿åæé®åå
¶åæ° |
| | | * @param button |
| | | * @param newOId |
| | | */ |
| | | private void modifyButtonIdsAndCopy(PLTabButtonVO button,String toOId, String newOId) throws PLException { |
| | | if (button == null) { |
| | | return; |
| | | } |
| | | |
| | | // ä¿®æ¹å½åèç¹çoId |
| | | 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 设置为å½åèç¹çæ°oid |
| | | modifyButtonIdsAndCopy(child,toOId, ObjectUtility.getNewObjectID36()); |
| | | child.setParentOid(button.getOId()); // ç¡®ä¿å对象çparentOidæåå½åçoid |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * å
éé¡µç¾ |
| | | * @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 { |
| | | |