| | |
| | | package com.vci.ubcs.code.service; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.vci.ubcs.code.applyjtcodeservice.vo.BaseModelVO; |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO; |
| | | import com.vci.ubcs.code.dto.CodeBZApplyDTO; |
| | | import com.vci.ubcs.code.dto.CodeDeleteBatchDTO; |
| | | import com.vci.ubcs.code.dto.CodeOrderDTO; |
| | | import com.vci.ubcs.code.dto.datapush.BaseModelDTO; |
| | | import com.vci.ubcs.code.entity.CodeWupin; |
| | | import com.vci.ubcs.code.entity.CodeSynonym; |
| | | import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.*; |
| | | import com.vci.ubcs.flow.core.dto.FlowStatusDTO; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.revision.model.BaseModel; |
| | | import com.vci.ubcs.starter.revision.model.TreeQueryObject; |
| | | import com.vci.ubcs.starter.web.pagemodel.*; |
| | | import com.vci.ubcs.starter.web.util.VciQueryWrapperForDO; |
| | | import org.springblade.core.tool.api.R; |
| | | |
| | | import java.beans.IntrospectionException; |
| | | import java.lang.reflect.InvocationTargetException; |
| | | import java.sql.SQLException; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | * @author weidy |
| | | * @date 2022-2-21 |
| | | */ |
| | | public interface MdmEngineService extends IService<CodeWupin> { |
| | | public interface MdmEngineService { |
| | | /** |
| | | * 使用分类的主键获取可以使用的模板对象 |
| | | * @param codeClassifyOid 分类的主键 |
| | |
| | | * @return 返回编码的内容 |
| | | */ |
| | | String addSaveCode(CodeOrderDTO orderDTO) throws Exception; |
| | | /** |
| | | * 申请单一编码 |
| | | * @param orderDTO 申请的信息,需要包含属性的内容和码段相关的内容 |
| | | * @param authUser 是否模拟登录,true,不模拟,false是模拟 |
| | | * @return 返回编码的内容 |
| | | */ |
| | | String addSaveCodeNotauthUser(CodeOrderDTO orderDTO, boolean authUser) throws Exception; |
| | | |
| | | /** |
| | | * 判断编码的码段是否输入或者选择了码值 |
| | |
| | | * |
| | | * @param value 当前的值 |
| | | * @param keyRuleVO 关键属性的控制规则,可以为空 |
| | | * @param codeSynonymMaps 近义词查询规则 |
| | | * @param attrId 属性的编号 |
| | | * @param trim 是否去除空格 |
| | | * @param ignoreCase 是否不区分大小写 |
| | |
| | | * @param trimAll 是否忽略全部空格 |
| | | * @param conditionMap 查询条件 |
| | | */ |
| | | void wrapperKeyAttrConditionMap(String value, CodeKeyAttrRepeatVO keyRuleVO, String attrId, |
| | | boolean trim, boolean ignoreCase, boolean ignoreWidth, |
| | | boolean trimAll, Map<String, String> conditionMap); |
| | | void wrapperKeyAttrConditionMap(String value, CodeKeyAttrRepeatVO keyRuleVO, List<CodeSynonym> codeSynonymMaps, String attrId, |
| | | boolean trim, boolean ignoreCase, boolean ignoreWidth, |
| | | boolean trimAll, Map<String, String> conditionMap); |
| | | |
| | | /** |
| | | * 近义词查询规则转换 |
| | | * @param codeSynonymMaps |
| | | * @param value |
| | | * @return |
| | | */ |
| | | String getValueToSynony(/*近义词查询规则*/List<CodeSynonym> codeSynonymMaps,String value); |
| | | |
| | | /** |
| | | * 初始化业务类型 |
| | |
| | | * @param cboList 数据的内容 |
| | | */ |
| | | void batchSaveSelectChar(CodeClassifyTemplateVO templateVO, /*List<ClientBusinessObject> cboList*/ |
| | | List<String> cboList); |
| | | List<BaseModel> cboList); |
| | | |
| | | /** |
| | | * 封装开关的内容,常用于导出 |
| | | * @param dataMap 数据的内容 |
| | | * @param templateVO 模板的显示 |
| | | */ |
| | | void wrapperBoolean(List<Map<String, String>> dataMap, CodeClassifyTemplateVO templateVO); |
| | | |
| | | /** |
| | | * 使用模板的主键获取表单的信息 |
| | |
| | | * @param conditionMap 查询条件 |
| | | */ |
| | | void wrapperResembleConditionMap(String value, CodeResembleRuleVO resembleRuleVO, String attrId, Map<String, String> conditionMap); |
| | | |
| | | /** |
| | | * 获取使用的相似查询规则 |
| | | * |
| | |
| | | * @return 执行结果 |
| | | */ |
| | | R batchUpdateCode(List<CodeOrderDTO> orderDTOList); |
| | | |
| | | |
| | | /** |
| | | * 标记流程中业务数据是否通过 |
| | |
| | | MdmUIInfoVO getUIInfoByClassifyOid(String codeClassifyOid, String functionId); |
| | | |
| | | /** |
| | | * 使用分类主键,模板主键,阶段标识,流程模板kek获取流程审批中页面的内容,包含按钮 |
| | | * |
| | | * @param codeClassifyOid 主题库分类主键 |
| | | * @param functionId 功能的编号,默认5 |
| | | * @return UI相关的内容 |
| | | */ |
| | | MdmUIInfoVO getFlowUIInfoByClassifyOid(String codeClassifyOid, String functionId,String templateId,String taskId,String modelKey); |
| | | |
| | | /** |
| | | * 传入业务类型以及相关数据进行批量插入操作 |
| | | * |
| | | * @param btmType 业务类型 |
| | |
| | | * @return 处理成功数据条数 |
| | | */ |
| | | Integer insertBatchByType(String btmType, List<BaseModel> baseModels); |
| | | |
| | | /** |
| | | * 传入业务类型以及ID查询业务表数据是否重复 |
| | | * |
| | | * @param btmType 业务类型 |
| | | * @param ids 处理数据 |
| | | * @return 查询到数据的总数 |
| | | */ |
| | | Integer selectIdsCounts(String btmType, List<String> ids); |
| | | |
| | | /** |
| | | * 传入业务类型以及ID、OID查询业务表数据是否重复 |
| | | * |
| | | * @param btmType 业务类型 |
| | | * @param id 处理数据id |
| | | * @param oid 处理数据oid |
| | | * @return 查询到数据的总数 |
| | | */ |
| | | Integer selectIdAndOidCounts(String btmType, String id, String oid); |
| | | |
| | | /** |
| | | * 传入业务类型以及相oid集合查询数据进行返回 |
| | | * |
| | |
| | | * @param oids 需要查询的oid集合 逗号分开 |
| | | * @return 查询出的数据 |
| | | */ |
| | | List<BaseModel> selectByTypeAndOid(String btmType, String oids) ; |
| | | List<BaseModel> selectByTypeAndOid(String btmType, String oids); |
| | | |
| | | /** |
| | | * 传入业务类型以及相关数据进行批量更新操作 |
| | | * |
| | |
| | | */ |
| | | R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels); |
| | | |
| | | /** |
| | | * 更新业务数据同时对码值表数据操作接口 |
| | | * |
| | | * @param btmType 业务类型 |
| | | * @param baseModels 处理数据 |
| | | * @return 处理状态 |
| | | */ |
| | | R<Integer>updateBatchBtypeDatas(String btmType, List<BaseModel> baseModels); |
| | | |
| | | /** |
| | | * 默认列表 |
| | | * @param referConfigVO |
| | | * @return |
| | | */ |
| | | IPage<BaseModelVO> referDataGrid(UIFormReferVO referConfigVO, BaseQueryObject baseQueryObject) throws VciBaseException; |
| | | |
| | | /** |
| | | * 获取树形的参照 |
| | | * @param referConfigVO 参照的配置 |
| | | * @return 树形的数据 |
| | | */ |
| | | List<Tree> referTree(UIFormReferVO referConfigVO, TreeQueryObject queryObject); |
| | | |
| | | /** |
| | | * 是否为修改忽略的属性 |
| | | * @param attrName 属性的名字 |
| | | * @return true 表示应该忽略 |
| | | */ |
| | | default boolean checkUnAttrUnEdit(String attrName){ |
| | | return (VciQueryWrapperForDO.OID_FIELD.equalsIgnoreCase(attrName) |
| | | ||"ts".equalsIgnoreCase(attrName) |
| | | || "lastmodifier".equalsIgnoreCase(attrName) |
| | | || "lastmodifytime".equalsIgnoreCase(attrName) |
| | | || "createtime".equalsIgnoreCase(attrName) |
| | | || "checkintime".equalsIgnoreCase(attrName) |
| | | ||"checkouttime".equalsIgnoreCase(attrName)); |
| | | } |
| | | |
| | | /** |
| | | * 流程中变更状态值 |
| | | * @param flowDTO |
| | | * @return |
| | | */ |
| | | R processChangeStatus(FlowStatusDTO flowDTO); |
| | | |
| | | /** |
| | | * 校验关键属性 |
| | | * @param orderDTO 编码申请的相关的信息 |
| | | */ |
| | | List<Map> checkKeyAttrOnOrderFordatas(CodeOrderDTO orderDTO) ; |
| | | |
| | | /** |
| | | * 根据当前申请编码的分类,逐层往上校验是否符合属于配置的中的分类子节点的分 |
| | | * 类,如果符合,则该分类申请的编码为集团码返回true,反之则为企业编码返回false |
| | | * @param parameter 传入数据,classifyGroupCode:配置的中的分类顶节点,oid:选择节点的oid |
| | | */ |
| | | R checkGroupCode(Map<String, String> parameter); |
| | | |
| | | /** |
| | | * 标准申请和修订用 |
| | | * @param codeBZApplyDTO 编码申请相关的信息,需要有属性和码段相关的信息 |
| | | * @return 执行结果 |
| | | */ |
| | | String addSaveBZ(CodeBZApplyDTO codeBZApplyDTO) throws Exception; |
| | | /** |
| | | * 标准申请和修订用 |
| | | * @param codeBZApplyDTO 编码申请相关的信息,需要有属性和码段相关的信息 |
| | | * @param authUser 是否模拟登录,true,不模拟,false是模拟 |
| | | * @return 执行结果 |
| | | */ |
| | | String addSaveBZCodeNotauthUser(CodeBZApplyDTO codeBZApplyDTO, boolean authUser) throws Exception; |
| | | /** |
| | | * 获取统计分析数据 |
| | | * @param btmNames 业务类型 |
| | | * @return 数据集 |
| | | */ |
| | | R getStatisticAnalysis(String btmNames); |
| | | } |