package com.vci.web.service; import com.vci.corba.common.PLException; import com.vci.corba.omd.ltm.LinkType; import com.vci.corba.omd.qtm.QTD; import com.vci.corba.omd.qtm.QTInfo; import com.vci.dto.QTInfoDTO; import com.vci.pagemodel.OsBtmTypeAttributeVO; import com.vci.pagemodel.OsLinkTypeAttributeVO; import com.vci.pagemodel.OsLinkTypeVO; import com.vci.starter.web.pagemodel.BaseQueryObject; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; import org.dom4j.DocumentException; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 查询模板服务 * @author yuxc * @date 2024-8-1 */ public interface OsQuereyTemplateServiceI{ /** * 查询模板的列表 * @param btmName 类型 * @param linkFlag 是否链接类型 :true 链接类型 ,false 业务类型 * @return 查询模板的列表 */ BaseResult queryTemplateList(String btmName, Boolean linkFlag) throws PLException; /** * 保存查询模板 * @param qtd 查询模板实体类 * @return 保存结果 */ BaseResult saveTemplate(QTD qtd) throws PLException; /** * 修改查询模板 * @param qtd 查询模板实体类 * @return 保存结果 */ BaseResult updateTemplate(QTD qtd) throws PLException; /** * 删除查询模板 * @param name 查询模板名 * @return 保存结果 */ BaseResult deleteTemplate(String name) throws PLException; /** * @param qtInfoDTO 传输的数据对象: * linkTypeName 链接类型、 * rdPositive 方向,true正向,false反向 * btmName 业务类型名称 * combRelaType 业务类型选择值 * versionValue 版本班次值 * isQueryIsLeaf 是否选择下级 * level 子节点层数 * @return 查询结果 */ BaseResult getCriteria(QTInfoDTO qtInfoDTO) throws PLException; /** * 查询模板列表 * @param btName 类型名称 * @return 查询结果 */ BaseResult getObjTypeQTs(String btName) throws PLException, DocumentException; /** * 检查查询模板名字是否存在 * @param name 查询模板名字 * @return 查询结果 */ BaseResult isExistsQT(String name) throws PLException; /** * 链接类型查询模板保存 * @param qtInfoDTO 保存传输对象 * @return 保存结果 */ BaseResult linkSave(QTInfoDTO qtInfoDTO) throws PLException; /** * 链接类型查询模板树查询,用于界面的导出功能 * @return 查询结果 */ BaseResult getLinkTree() throws PLException ; /** * 导出链接类型查询模板 * names 查询模板名 * @return */ void expLinkTemplate(List names, HttpServletResponse response) throws PLException, IOException ; /** * 导入链接类型查询模板 * @param file 上传的文件 * @return 导入结果 */ BaseResult impLinkTemplate(MultipartFile file) throws IOException, ClassNotFoundException; /** * 查询方案删除 * @param names 查询方案名 * @return 操作结果 */ BaseResult deleteLinkTemplate(String names) throws PLException; /** * 查询条件下的查询按钮 * @param qtInfoDTO * @return * @throws PLException */ BaseResult getCriteriaBtm(QTInfoDTO qtInfoDTO) throws PLException; /** * 业务类型查询模板保存 * @param qtInfoDTO 保存传输对象 * @return 保存结果 */ BaseResult btmSave(QTInfoDTO qtInfoDTO) throws PLException; /** * 更新数据库结构 * @return 保存结果 */ BaseResult updateDBStructure() throws PLException; /** * 业务类型查询模板树查询,用于界面的导出功能 * @return 查询结果 */ BaseResult getBtmQtTree() throws PLException; /** * 导出业务类型查询模板 * names 查询模板名 * @return */ void expBtmQTTemplate(List names, HttpServletResponse response) throws PLException,IOException ; /** * 查询条件下的选择查询模板对话框(查询全部模板和所对应的业务类型或链接类型名) * @return */ BaseResult getAllQTs() throws PLException; /** * 导入业务类型查询模板 * @param file 上传的文件 * @return 导入结果 */ BaseResult impBtmTemplate(MultipartFile file) throws IOException, ClassNotFoundException; /** * 查询模板的列表添加了字段的相关属性 * @param btmName 类型 * @param linkFlag 是否链接类型 :true 链接类型 ,false 业务类型 * @param direction 正反方向 * @return 查询模板的列表 */ BaseResult queryTemplateListByAttr(String btmName, Boolean linkFlag, String direction) throws PLException; }