package com.vci.ubcs.code.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.code.dto.CodeClassifyProcessTempDTO; import com.vci.ubcs.code.entity.CodeClassifyProcessTemp; import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyProcessTempVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.PageHelper; import com.vci.ubcs.starter.web.wrapper.VciQueryWrapperForDO; import org.springblade.core.tool.api.R; import java.util.Collection; import java.util.List; import java.util.Map; /** * 分类使用的流程模板服务接口 * * @author ludc * @date 2023/5/5 */ public interface ICodeClassifyProcessTempService extends IService { /** * 查询所有的分类使用的流程模板 * @param conditionMap 查询条件 * @param pageHelper 分页和排序 * @return 执行结果 * @throws VciBaseException 查询条件和分页出错的时候会抛出异常 */ IPage gridCodeClassifyProcessTemp(Map conditionMap, PageHelper pageHelper) throws VciBaseException; /** * 批量数据对象转换为显示对象 * @param codeClassifyProcessTempDOs 数据对象列表 * @return 显示对象 * @throws VciBaseException 参数为空或者不存在的时候会抛出异常 */ List codeClassifyProcessTempDO2VOs(Collection codeClassifyProcessTempDOs) throws VciBaseException; /** * 数据对象转换为显示对象 * @param codeClassifyProcessTempDO 数据对象 * @return 显示对象 * @throws VciBaseException 拷贝属性出错的时候会抛出异常 */ CodeClassifyProcessTempVO codeClassifyProcessTempDO2VO(CodeClassifyProcessTemp codeClassifyProcessTempDO) throws VciBaseException; /** * 增加分类使用的流程模板 * @param codeClassifyProcessTempDTO 分类使用的流程模板数据传输对象 * @return 执行结果 * @throws VciBaseException 参数为空,唯一项,必输项不通过时会抛出异常 */ CodeClassifyProcessTempVO addSave(CodeClassifyProcessTempDTO codeClassifyProcessTempDTO) throws VciBaseException; /** * 修改分类使用的流程模板 * @param codeClassifyProcessTempDTO 分类使用的流程模板数据传输对象 * @return 执行结果 * @throws VciBaseException 参数为空,唯一项,必输项不通过时会抛出异常 */ CodeClassifyProcessTempVO editSave(CodeClassifyProcessTempDTO codeClassifyProcessTempDTO) throws VciBaseException; /** * 删除分类使用的流程模板 * @param codeClassifyProcessTempDTO 分类使用的流程模板数据传输对象,oid和ts需要传输 * @return 删除结果反馈::success:成功,fail:失败 * @throws VciBaseException 参数为空,被引用时抛出异常 */ R deleteCodeClassifyProcessTemp(CodeClassifyProcessTempDTO codeClassifyProcessTempDTO) throws VciBaseException; /** * 主键获取分类使用的流程模板 * @param oid 主键 * @return 分类使用的流程模板显示对象 * @throws VciBaseException 参数为空,数据不存在时会抛出异常 */ CodeClassifyProcessTempVO getObjectByOid(String oid) throws VciBaseException; /** * 主键批量获取分类使用的流程模板 * @param oidCollections 主键集合,但是受性能影响,建议一次查询不超过10000个 * @return 分类使用的流程模板显示对象 * @throws VciBaseException 查询出现异常时会抛出 */ Collection listCodeClassifyProcessTempByOids(Collection oidCollections) throws VciBaseException; /** * 参照分类使用的流程模板列表 * @param conditionMap 查询条件 * @param pageHelper 分页和排序 * @return 分类使用的流程模板显示对象列表,生效的内容 * @throws VciBaseException 查询条件和分页出错的时候会抛出异常 */ IPage refDataGridCodeClassifyProcessTemp(Map conditionMap, PageHelper pageHelper) throws VciBaseException; /** * 获取流程的模板的信息 * @param codeTemplateOid 模板的主键 * @param processUse 用途 * @return 模板的信息 */ List listProcessTemplate(String codeTemplateOid, String processUse); /** * 使用查询封装器来查询 * @param queryWrapper 查询封装器 * @return 数据对象 */ List selectByWrapper(LambdaQueryWrapper queryWrapper); }