package com.vci.web.service; import com.vci.corba.common.PLException; import com.vci.corba.portal.data.PLTabButton; 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.PLTabButtonVO; 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.UIAuthorDTO; import com.vci.starter.web.pagemodel.Tree; 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页 */ DataGrid 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 pageContextOId * @return */ DataGrid getPLPageDefinations(String pageContextOId) throws PLException; /** * 添加页面定义 * @param pdVO * @return */ boolean addPageDefination(PLDefinationVO pdVO) throws Throwable; /** * 修改页面定义 * @param pdVO * @return */ boolean updatePageDefination(PLDefinationVO pdVO) throws Throwable; /** * 删除页面定义 * @param oids * @return */ boolean delPageDefination(String[] oids) throws PLException; //页面设计下配置按钮相关接口 /** * 获取页签区域按钮配置信息 * @param pageDefinationOid * @return */ List getTabButtons(String pageDefinationOid); /** * 添加按钮配置信息 * @param tabButtonVO * @return */ BaseResult addTapButton(PLTabButtonVO tabButtonVO); /** * 修改按钮配置信息 * @param tabButtonVO * @return */ BaseResult updateTapButton(PLTabButtonVO tabButtonVO); /** * 保存或修改按钮配置信息 * @param tabButtonVO * @return */ boolean saveOrUpdateTapButton(PLTabButtonVO tabButtonVO,boolean isAdd); /** * 删除单个按钮配置 * @param tabButton * @return */ boolean deleteTapButton(PLTabButton tabButton) throws PLException; /** * 调整为下级按钮 * @param plTabButton * @return */ BaseResult joinBtn(PLTabButton plTabButton) throws PLException; /** * 调整为上级按钮 * @param plTabButton * @return */ BaseResult exitBtn(PLTabButton plTabButton) throws PLException; /** * 获取UI权限树 * @param baseQueryObject * @return * @throws VciBaseException */ List getUIAuthor(BaseQueryObject baseQueryObject)throws Exception; /** * UI授权 * @param uiAuthorDTO * @return * @throws Exception */ boolean authorizedUI(UIAuthorDTO uiAuthorDTO)throws Exception; }