package com.vci.web.service; import com.vci.corba.common.PLException; import com.vci.corba.portal.data.PLAction; import com.vci.corba.portal.data.PLTabButton; import com.vci.corba.portal.data.PLUILayout; import com.vci.corba.portal.data.PortalVI; import com.vci.pagemodel.*; import java.util.Collection; import java.util.List; import java.util.Map; /** * UI上下文服务 * @author weidy * @date 2021-2-15 */ public interface UIEngineServiceI extends OsBaseServiceI{ /** * 检查无效的xml */ void checkInvalidXmlVI(); /** * 查询所有的表单定义 * @return 显示对象 */ List selectAllForm(); /** * 查询所有的表单定义的映射 * @return key是表单英文名称 */ Map selectAllFormMap(); /** * 表单数据对象转换为显示对象 * @param prms 数据对象 * @return 显示对象 */ List formDO2VOs(Collection prms); /** * 表单数据对象转换为显示对象 * @param prm 数据对象 * @return 显示对象 */ UIFormDefineVO formDO2VO(PortalVI prm); /** * 使用表单的英文名称获取表单 * @param id 表单的英文名称 * @param btmId 业务类型 * @return 表单的定义 */ UIFormDefineVO getFormById(String btmId,String id); /** * 使用表单的英文名称获取表单 * @param ids 表单的英文名称 * @param btmId 业务类型编号 * @return 表单的定义 */ List listFormByIds(String btmId,Collection ids); /** * 查询所有的表格 * @return 表格的定义 */ List selectAllTable(); /** * 查询所有的表格 * @return 表格的定义,key是表格的英文名称 */ Map selectAllTableMap(); /** * 表格数据对象转换为显示对象 * @param prms 数据对象 * @param queryDetail 查询明细 * @return 显示对象 */ List tableDO2VOs(Collection prms,boolean queryDetail); /** * 表格的数据对象转换为显示对象 * @param prm 数据对象 * @param queryDetail 查询明细 * @return 显示对象 */ UITableDefineVO tableDO2VO(PortalVI prm, boolean queryDetail, Map attributeVOMap) throws PLException; /** * 使用表格的英文名称获取表单 * @param id 表格的英文名称 * @param btmId 业务类型 * @return 表单的定义 */ UITableDefineVO getTableById(String btmId,String id) throws PLException; /** * 使用表格的英文名称获取表单 * @param ids 表格的英文名称 * @param btmId 业务类型编号 * @return 表单的定义 */ List listTableByIds(String btmId,Collection ids); /** *查询所有的action * @return 显示对象 */ List selectAllAction(); /** *查询所有的action * @return 显示对象,key是action的英文编号 */ Map selectAllActionMap(); /** * action数据对象转换为显示对象 * @param actions 数据对象 * @return 显示对象 */ List actionDO2VOs(Collection actions); /** * action数据对象转换为显示对象 * @param action 数据对象 * @return 显示对象 */ UIActionVO actionDO2VO(PLAction action); /** * 查询所有的UI上下文 * @return 显示对象 */ List selectAllUIContent(); /** * 查询所有的UI上下文的映射 * @return 显示对象,key业务类型+${uiContent}+上下文的Id */ Map selectAllUIContentMap(); /** * 查询所有的上下文的区域 * @return 区域的显示对象 */ List selectAllUILayout(); /** * 查询所有的上下文的区域的映射 * @return 区域的显示对象 ,key是所属UI上下文的主键 */ Map> selectAllUILayoutMap(); /** * 查询所有的组件 * @return UI组件 */ List selectAllUIComponent(); /** * 使用主键获取 * @param componentOid 组件的主键 * @return 主键的显示对象 */ UIComponentVO getComponentByOid(String componentOid, Map attributeVOMap); /** * 获取某个组件的按钮 * @param pkComponent 组件的主键 * @return 按钮的信息 */ List listButtonByComponent(String pkComponent, Map> roleRightMap); /** * 按钮的数据对象转换为显示对象 * @param buttons 按钮的数据对象 * @return 显示对象 */ List buttonDO2VOs(Collection buttons); /** * 按钮的数据对象转换为显示对象 * @param button 按钮的数据对象 * @return 显示对象 */ UIButtonDefineVO buttonDO2VO(PLTabButton button,Map actionVOMap) ; /** * 查询所有的组件 * @return key是所属的区域, */ Map> selectAllUIComponentMap(); /** * 使用业务类型或者链接类型,已经UI上下文的编号,获取相应的信息 * @param btmType 业务类型 * @param id 主键 * @return UI上下文的信息 */ UIContentVO getUIContentByBtmTypeAndId(String btmType, String id) throws PLException; // UIContentVO UIContentDO2VO(PLPageLayoutDefination pageLayoutDefination, boolean queryDetail); UIContentVO UIContentDO2VO(PLUILayout pageLayoutDefination, boolean queryDetail,Map> roleRightMap); }