package com.vci.web.service; import com.vci.corba.common.PLException; import com.vci.corba.portal.data.PLUILayout; import com.vci.corba.portal.data.PLPageDefination; import com.vci.corba.portal.data.PLTabPage; import com.vci.pagemodel.PLUILayoutCloneVO; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseQueryObject; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.dto.RoleRightDTO; import com.vci.dto.UIAuthorDTO; import com.vci.starter.web.pagemodel.Tree; import com.vci.model.PLDefination; import com.vci.pagemodel.PLDefinationVO; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; /** * @author ludc * @date 2024/8/28 17:05 */ public interface UIManagerServiceI { /** * 通过业务类型name查询ui上下文,支持分页 * @param baseQueryObject * @return * @throws PLException */ DataGrid gridUIContextData(BaseQueryObject baseQueryObject) throws PLException; /** * 给业务类型下添加ui上下文 * @param pluiLayout * @return * @throws PLException */ boolean saveUIContextData(PLUILayout pluiLayout) throws PLException; /** * 修改业务类型下添加ui上下文 * @param pluiLayout * @return * @throws PLException */ boolean updateUIContextData(PLUILayout pluiLayout) throws PLException; /** * 根据主键和业务类型oid删除ui上下文数据 * @return */ boolean delUIContextData(String[] oids,String plRelatedType) throws PLException; /** * 克隆ui上下文 * @param pluiLayoutCloneVO * @return */ boolean cloneUIContextData(PLUILayoutCloneVO pluiLayoutCloneVO) throws PLException; /** * 导出ui上下文(勾选的要导出的控制区的数据) * oids * @return */ void expUIContextData(String[] oids, HttpServletResponse response) throws PLException, IOException; /** * 导入UI上下文 * @param file * @return */ BaseResult impUIContextData(MultipartFile file); //区域相关查询、添加、删除、修改等接口 /** * 根据上下文ID和区域类型,按顺序获取当前区域的tab页 */ List getTabByContextIdAndType(String contextId, int areaType) throws PLException; /** * 添加区域数据 * @param plTabPage * @return */ boolean addTabData(PLTabPage plTabPage) throws PLException; /** * 修改区域数据 * @param plTabPage * @return */ boolean updateTabData(PLTabPage plTabPage) throws PLException; /** * 删除区域数据 * @param oids * @return */ boolean deleteTabData(String[] oids) throws PLException; /** * 检查扩展属性数据格式是否合规,并给出提示 * @param extAttr * @return */ BaseResult checkTabPageExtAttrIsOk(String extAttr); //页面设计相关接口 /** * 查询页面设计定义 * @param plPageContextOId * @return */ List getPLPageDefinations(String plPageContextOId); /** * 添加页面定义 * @param pd * @return */ boolean addPageDefination(PLDefinationVO pd) throws Throwable; /** * 修改页面定义 * @param pd * @return */ boolean updatePageDefination(PLDefinationVO pd) throws Throwable; /** * 删除页面定义 * @param oids * @return */ boolean delPageDefination(String[] oids) throws PLException; //配置按钮相关接口 /** * 获取UI权限树 * @param baseQueryObject * @return * @throws VciBaseException */ List getUIAuthor(BaseQueryObject baseQueryObject)throws Exception; /*** * UI授权 * @param uiAuthorDTO * @return * @throws Exception */ public boolean authorizedUI(UIAuthorDTO uiAuthorDTO)throws Exception; }