xiejun
2023-10-13 815c6be8d063ca1ec89079722d265585f7d3602c
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -1,25 +1,24 @@
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.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.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;
@@ -29,7 +28,7 @@
 * @author weidy
 * @date 2022-2-21
 */
public interface MdmEngineService extends IService<CodeWupin> {
public interface MdmEngineService {
   /**
    * 使用分类的主键获取可以使用的模板对象
    * @param codeClassifyOid 分类的主键
@@ -104,6 +103,13 @@
    */
   void batchSaveSelectChar(CodeClassifyTemplateVO templateVO, /*List<ClientBusinessObject> cboList*/
                      List<BaseModel> cboList);
   /**
    * 封装开关的内容,常用于导出
    * @param dataMap 数据的内容
    * @param templateVO 模板的显示
    */
   void wrapperBoolean(List<Map<String, String>> dataMap, CodeClassifyTemplateVO templateVO);
   /**
    * 使用模板的主键获取表单的信息
@@ -373,6 +379,15 @@
   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 业务类型
@@ -380,6 +395,25 @@
    * @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集合查询数据进行返回
    *
@@ -398,13 +432,20 @@
   R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels);
   /**
    * 更新业务数据同时对码值表数据操作接口
    *
    * @param btmType 业务类型
    * @param baseModels      处理数据
    * @return 处理状态
    */
   public R<Integer>updateBatchBtypeDatas(String btmType, List<BaseModel> baseModels);
   /**
    * 默认列表
    * @param referConfigVO
    * @param pageHelper
    * @return
    */
   DataGrid referDataGrid(UIFormReferVO referConfigVO, PageHelper pageHelper);
   IPage<BaseModelVO> referDataGrid(UIFormReferVO referConfigVO, BaseQueryObject baseQueryObject) throws VciBaseException;
   /**
    * 获取树形的参照
@@ -412,7 +453,6 @@
    * @return 树形的数据
    */
   List<Tree> referTree(UIFormReferVO referConfigVO, TreeQueryObject queryObject);
   /**
    * 是否为修改忽略的属性
@@ -429,4 +469,23 @@
         ||"checkouttime".equalsIgnoreCase(attrName));
   }
   /**
    * 流程中变更状态值
    * @param flowDTO
    * @return
    */
    R processChangeStatus(FlowStatusDTO flowDTO);
   /**
    * 校验关键属性
    * @param orderDTO         编码申请的相关的信息
    */
   public List<Map>  checkKeyAttrOnOrderFordatas(CodeOrderDTO orderDTO) ;
   /**
    * 根据当前申请编码的分类,逐层往上校验是否符合属于配置的中的分类子节点的分
    * 类,如果符合,则该分类申请的编码为集团码返回true,反之则为企业编码返回false
    * @param parameter 传入数据,classifyGroupCode:配置的中的分类顶节点,oid:选择节点的oid
    */
   R checkGroupCode(Map<String, String> parameter);
}