1、MDM服务发布、停用、回收、启用等功能测试修改。
2、对相应联调进行修改。
已修改6个文件
240 ■■■■■ 文件已修改
Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/feign/IDictBizClient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/feign/IDictBizClient.java
@@ -34,7 +34,7 @@
 * @author Chill
 */
@FeignClient(
    value = AppConstant.APPLICATION_NAME_OMD,
    value = AppConstant.APPLICATION_SYSTEM_NAME,
    fallback = IDictBizClientFallback.class
)
public interface IDictBizClient {
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
@@ -31,7 +31,8 @@
     * @param mapList 需要插入的所有记录
     * @return 插入成功的条数
     */
    Integer insertByBaseModel(String tableName,Map<String,String> columnMap,List<Map<String,String>> mapList);/**
    Integer insertByBaseModel(String tableName,Map<String,String> columnMap,List<Map<String,String>> mapList);
    /**
     * 传入表名,map,list<map>完成批量更新操作
     * @param tableName 表名
     * @param mapList 需要更新的所有记录
@@ -40,4 +41,12 @@
    @InterceptorIgnore(tenantLine = "true")
    Integer updateBatchByBaseModel(String tableName,List<Map<String,String>> mapList);
    /**
     * 传入表名,map,oids完成批量删除操作
     * @param tableName 表名
     * @param oids 需要删除的所有记录
     * @return 删除成功的条数
     */
    Integer deleteByTaleAndOid(String tableName,String oids);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -377,7 +377,7 @@
     * @param baseModels      处理数据
     * @return 处理成功数据条数
     */
    Integer insertBatchByType(String btmType, List<BaseModel> baseModels) throws Exception;
    Integer insertBatchByType(String btmType, List<BaseModel> baseModels);
    /**
     * 传入业务类型以及相oid集合查询数据进行返回
     *
@@ -385,7 +385,7 @@
     * @param oids      需要查询的oid集合 逗号分开
     * @return 查询出的数据
     */
    List<BaseModel> selectByTypeAndOid(String btmType, String oids) throws IllegalAccessException, NoSuchFieldException, InstantiationException, InvocationTargetException, IntrospectionException, SQLException;
    List<BaseModel> selectByTypeAndOid(String btmType, String oids) ;
    /**
     * 传入业务类型以及相关数据进行批量更新操作
     *
@@ -393,6 +393,6 @@
     * @param baseModels      处理数据
     * @return 处理状态
     */
    R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels) throws Exception;
    R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -89,7 +89,7 @@
    private CodeClassifyTemplateButtonServiceImpl codeTempbuttonServiceImpl;
    @Autowired(required = false)
    private ICodeClassifyProcessTempService codeClsflowtempServiceImpl;
//    @Autowired(required = false)
    //    @Autowired(required = false)
//    private CodeClsflowtempMapper codeClsflowtempMapper;
    @Autowired(required = false)
    private CodeTemplatePhaseMapper codeTempphaseMapper;
@@ -493,34 +493,34 @@
//            ClientBusinessObject clientBusinessObject_template_insert = null;
//        try {
//            clientBusinessObject_template_insert = clientBusinessObjectOperation.reviseBusinessObject(clientBusinessObject_template, "");
            codeCls_template_insert.setOid(VciBaseUtil.getPk());
            codeCls_template_insert.setRevisionOid(VciBaseUtil.getPk());
            codeCls_template_insert.setNameOid(codeCls_template.getNameOid());
            codeCls_template_insert.setBtmname(codeCls_template.getBtmname());
            codeCls_template_insert.setLastR(String.valueOf(1));
            codeCls_template_insert.setFirstR(String.valueOf(0));
            codeCls_template_insert.setFirstV(String.valueOf(1));
            codeCls_template_insert.setLastV(String.valueOf(1));
            codeCls_template_insert.setCreator(AuthUtil.getUser().getUserName());
            codeCls_template_insert.setCreateTime(new Date());
            codeCls_template_insert.setLastModifier(AuthUtil.getUser().getUserName());
            codeCls_template_insert.setLastModifyTime(new Date());
            codeCls_template_insert.setRevisionRule(codeCls_template.getRevisionRule());
            codeCls_template_insert.setVersionRule(codeCls_template.getVersionRule());
            Map rvObj = baseMapper.getNextRevision(codeCls_template.getNameOid());
            codeCls_template_insert.setRevisionSeq(Integer.parseInt(rvObj.get("REVISIONSEQ").toString()));
            codeCls_template_insert.setRevisionValue(rvObj.get("REVISIONVAL").toString());
        codeCls_template_insert.setOid(VciBaseUtil.getPk());
        codeCls_template_insert.setRevisionOid(VciBaseUtil.getPk());
        codeCls_template_insert.setNameOid(codeCls_template.getNameOid());
        codeCls_template_insert.setBtmname(codeCls_template.getBtmname());
        codeCls_template_insert.setLastR(String.valueOf(1));
        codeCls_template_insert.setFirstR(String.valueOf(0));
        codeCls_template_insert.setFirstV(String.valueOf(1));
        codeCls_template_insert.setLastV(String.valueOf(1));
        codeCls_template_insert.setCreator(AuthUtil.getUser().getUserName());
        codeCls_template_insert.setCreateTime(new Date());
        codeCls_template_insert.setLastModifier(AuthUtil.getUser().getUserName());
        codeCls_template_insert.setLastModifyTime(new Date());
        codeCls_template_insert.setRevisionRule(codeCls_template.getRevisionRule());
        codeCls_template_insert.setVersionRule(codeCls_template.getVersionRule());
        Map rvObj = baseMapper.getNextRevision(codeCls_template.getNameOid());
        codeCls_template_insert.setRevisionSeq(Integer.parseInt(rvObj.get("REVISIONSEQ").toString()));
        codeCls_template_insert.setRevisionValue(rvObj.get("REVISIONVAL").toString());
//            VersionValueObject versionObj = this.getVersionValue(item.verRuleName);
            codeCls_template_insert.setVersionSeq(Integer.parseInt(rvObj.get("VERSIONSEQ").toString()));
            codeCls_template_insert.setVersionValue(rvObj.get("VERSIONVAL").toString());
            codeCls_template_insert.setLctid(codeCls_template.getLctid());
            codeCls_template_insert.setLcStatus("Editing");
            codeCls_template_insert.setId(codeCls_template.getId());
            codeCls_template_insert.setName(codeCls_template.getName());
            codeCls_template_insert.setDescription(codeCls_template.getDescription());
            codeCls_template_insert.setOwner(AuthUtil.getUser().getUserName());
        codeCls_template_insert.setVersionSeq(Integer.parseInt(rvObj.get("VERSIONSEQ").toString()));
        codeCls_template_insert.setVersionValue(rvObj.get("VERSIONVAL").toString());
        codeCls_template_insert.setLctid(codeCls_template.getLctid());
        codeCls_template_insert.setLcStatus("Editing");
        codeCls_template_insert.setId(codeCls_template.getId());
        codeCls_template_insert.setName(codeCls_template.getName());
        codeCls_template_insert.setDescription(codeCls_template.getDescription());
        codeCls_template_insert.setOwner(AuthUtil.getUser().getUserName());
//            codeCls_template_insert.setCheckinBy(userName);
            codeCls_template_insert.setCopyFromVersion(codeCls_template.getOid());
        codeCls_template_insert.setCopyFromVersion(codeCls_template.getOid());
//        }catch (VCIError e){
//            e.printStackTrace();
//            logger.error("===============>分类模板-升版复制出错oid: "+templateOldOid+",mes"+e.error_message);
@@ -919,6 +919,13 @@
    @Override
    public R<CodeClassifyTemplateVO> addSave(CodeClassifyTemplateDTO codeClassifyTemplateDTO) throws VciBaseException{
        VciBaseUtil.alertNotNull(codeClassifyTemplateDTO,"需要添加的数据对象");
        QueryWrapper<CodeClassifyTemplate> wrapper = new QueryWrapper<>();
        wrapper.eq("CODECLASSIFYOID",codeClassifyTemplateDTO.getCodeclassifyoid());
        Long aLong = baseMapper.selectCount(wrapper);
        if(aLong > 0){
            return R.fail("该分类下已有子模版,无法新增,仅能进行升版操作!");
        }
        //将DTO转换为DO
        CodeClassifyTemplate codeClassifyTemplateDO = new CodeClassifyTemplate();
        BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateDTO,codeClassifyTemplateDO);
@@ -937,7 +944,7 @@
        codeClassifyTemplateDO.setBtmTypeName(codeClassifyDO.getBtmTypeName());
        codeClassifyTemplateDO.setLcStatus(FRAMEWORK_RELEASE_EDITING);
        codeClassifyTemplateDO.setTs(new Date());
        codeClassifyTemplateDO.setOwner(AuthUtil.getUser().getUserName());
        codeClassifyTemplateDO.setOwner(String.valueOf(AuthUtil.getUser().getUserId()));
        codeClassifyTemplateDO.setLctid("codeClsTempLc");
        codeClassifyTemplateDO.setVersionValue("1");
        codeClassifyTemplateDO.setVersionSeq(1);
@@ -946,8 +953,8 @@
        codeClassifyTemplateDO.setVersionRule("0");
        codeClassifyTemplateDO.setRevisionRule("numberversionrule");
        codeClassifyTemplateDO.setLastModifyTime(new Date());
        codeClassifyTemplateDO.setLastModifier(AuthUtil.getUser().getUserName());
        codeClassifyTemplateDO.setCreator(AuthUtil.getUser().getUserName());
        codeClassifyTemplateDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
        codeClassifyTemplateDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
        codeClassifyTemplateDO.setCreateTime(new Date());
        codeClassifyTemplateDO.setLastV("1");
        codeClassifyTemplateDO.setLastR("1");
@@ -1043,7 +1050,7 @@
//            condition.put("ts",codeClassifyTemplateDOCopyFromDTO.getTs());
            CodeClassifyTemplate detail = baseMapper
                .selectById(codeClassifyTemplateDOCopyFromDTO.getOid());
    //        boolean tsBoolean = boService.checkTs(codeClassifyTemplateAttrDOListemplateDOCopyFromDTO);
            //        boolean tsBoolean = boService.checkTs(codeClassifyTemplateAttrDOListemplateDOCopyFromDTO);
            if(detail.getTs().compareTo(codeClassifyTemplateDOCopyFromDTO.getTs()) != 0){//不是最新的不让改
                return R.fail("当前数据不是最新,请刷新后再修改!");
            }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -57,6 +57,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.Cache;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
@@ -326,15 +327,19 @@
     *
     * @param baseModelDTO 数据传输对象
     */
    @Transactional
    @Override
    public void changeStatus(BaseModelDTO baseModelDTO) {
        VciBaseUtil.alertNotNull(baseModelDTO, "数据信息", baseModelDTO.getOid(), "主键", baseModelDTO.getBtmname(), "业务类型", baseModelDTO.getLcStatus(), "目标状态");
        List<String> oids = VciBaseUtil.str2List(baseModelDTO.getOid());
//        List<ClientBusinessObject> cboList = boService.selectCBOByOidCollection(oids, baseModelDTO.getBtmname());
        //插个点 业务类型完成后需要修改
        QueryWrapper<BtmTypeVO> wrapper = new QueryWrapper<>();
        wrapper.eq("BTMNAME",baseModelDTO.getBtmname());
        wrapper.in("OID",oids);
//        QueryWrapper<BtmTypeVO> wrapper = new QueryWrapper<>();
        List<BaseModel> baseModels = new ArrayList<>();
        baseModels = selectByTypeAndOid(baseModelDTO.getBtmname(), baseModelDTO.getOid());
        if(baseModels.size() == 0){
            throw new VciBaseException("未查询到相关数据。");
        }
        // 待完善
        List<BtmTypeVO> cboList =  null;  // btmTypeClient.selectList(wrapper);
        //还需要修改allCode的生命周期
@@ -348,16 +353,23 @@
//        List<ClientBusinessObject> codeCbos = boService.queryCBO(MdmBtmTypeConstant.CODE_ALL_CODE, conditionMap);
        // 回收需要业务数据删除
        if (CodeDefaultLC.TASK_BACK.getValue().equals(baseModelDTO.getLcStatus())) {
            R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(baseModelDTO.getBtmname()));
//            String referTable = listR.getData().get(0).getTableName();
            commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(),VciBaseUtil.toInSql(baseModelDTO.getOid()));
            // BatchCBO batchCBO = new BatchCBO();
            // batchCBO.getDeleteCbos().addAll(cboList);
            // 待完善
            //btmTypeClient.deleteBatchIds(cboList);
            //boService.persistenceBatch(batchCBO);
        } else {
            for (BaseModel baseModel : baseModels) {
                baseModel.setLcStatus(baseModelDTO.getLcStatus());
            }
            updateBatchByBaseModel(baseModelDTO.getBtmname(),baseModels);
            // lifeCycleService.transCboStatus(cboList, baseModelDTO.getLcStatus());
        }
        for (CodeAllCode codeCbo : codeCbos) {
            codeCbo.setLcStatus(baseModelDTO.getLcStatus());
        }
        codeAllCodeService.updateBatchById(codeCbos);
        // lifeCycleService.transCboStatus(codeCbos, baseModelDTO.getLcStatus());
    }
@@ -1407,31 +1419,45 @@
        DataGrid<Map<String, String>> dataGrid = new DataGrid<>();
        List<Map<String, String>> dataList = new ArrayList<>();
//        if (!CollectionUtils.isEmpty(maps)) {
//            maps.stream().forEach(map -> {
//                Map<String, String> data = new HashMap<>();
//                map.forEach((key, value) -> {
//                    data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value));
//                });
//                dataList.add(data);
//            });
//        }
//        dataGrid.setData(dataList);
        if (!CollectionUtils.isEmpty(maps)) {
            wrapperData(maps, templateVO, sqlBO.getSelectFieldList(), false);
            maps.stream().forEach(map -> {
                Map<String, String> data = new HashMap<>();
                for (String s : map.keySet()) {
                    data.put(s.toLowerCase(Locale.ROOT), String.valueOf(map.get(s)));
                }
//                map.forEach((key, value) -> {
//                    data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value));
//                });
                for (String s : map.keySet()) {
                    data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s)));
                }
                dataList.add(data);
            });
            dataGrid.setData(dataList);
            dataGrid.setTotal(Long.parseLong(commonsMapper.selectBySql(sqlBO.getSqlCount()).get(0).values().toArray()[0].toString()));
            wrapperData(dataList, templateVO, sqlBO.getSelectFieldList(), false);
//            maps.stream().forEach(map -> {
//                Map<String, String> data = new HashMap<>();
////                map.forEach((key, value) -> {
////                    data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value));
////                });
//                for (String s : map.keySet()) {
//                    data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s)));
//                }
//                dataList.add(data);
//            });
        }
//        dataGrid.setData(dataList);
//        if (!CollectionUtils.isEmpty(maps)) {
//            wrapperData(maps, templateVO, sqlBO.getSelectFieldList(), false);
//            maps.stream().forEach(map -> {
//                Map<String, String> data = new HashMap<>();
////                map.forEach((key, value) -> {
////                    data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value));
////                });
//                for (String s : map.keySet()) {
//                    data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s)));
//                }
//                dataList.add(data);
//            });
        dataGrid.setData(dataList);
        dataGrid.setTotal(Long.parseLong(commonsMapper.selectBySql(sqlBO.getSqlCount()).get(0).values().toArray()[0].toString()));
//        }
        return dataGrid;
    }
@@ -2157,15 +2183,15 @@
        //pageHelper.addDefaultDesc("createTime");
        pageHelper.addDefaultDesc("id");
        if (!classifyService.checkHasChild(codeClassifyOid)) {
            conditionMap.put(CODE_CLASSIFY_OID_FIELD, codeClassifyOid);
            conditionMap.put("t."+CODE_CLASSIFY_OID_FIELD, codeClassifyOid);
        } else {
            //表需要改
//            conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from " + VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_CLASSIFY)
            conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from pl_code_classify where lcstatus='" + FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED +
            conditionMap.put("t."+CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from pl_code_classify where lcstatus='" + FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED +
                "' start with parentCodeClassifyOid = '" + codeClassifyOid + "' CONNECT BY PRIOR OID = parentCodeClassifyOid )");
        }
        conditionMap.put("lastr", "1");
        conditionMap.put("lastv", "1");
        conditionMap.put("t.lastr", "1");
        conditionMap.put("t.lastv", "1");
        return queryGrid(btmTypeId, templateVO, conditionMap, pageHelper);
//        List<String> selectFieldList = templateVO.getAttributes().stream().map(CodeClassifyTemplateAttrVO::getId).collect(Collectors.toList());
//        //参照让平台直接查询就行
@@ -3001,7 +3027,7 @@
     * @return 处理成功数据条数
     */
    @Override
    public Integer insertBatchByType(String btmType, List<BaseModel> baseModels) throws Exception {
    public Integer insertBatchByType(String btmType, List<BaseModel> baseModels) {
        //使用传入的业务类型查询表
        R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
        if(listR.getData().size() == 0){
@@ -3027,7 +3053,7 @@
     * @return 查询出的数据
     */
    @Override
    public List<BaseModel> selectByTypeAndOid(String btmType, String oids) throws IllegalAccessException, NoSuchFieldException, InstantiationException, InvocationTargetException, IntrospectionException, SQLException {
    public List<BaseModel> selectByTypeAndOid(String btmType, String oids)  {
        //使用传入的业务类型查询表
        R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
@@ -3040,38 +3066,42 @@
        List<BaseModel> baseModels = new ArrayList<>();
        //将查询到的数据转换为basemodel,使用的反射方式来进行创建的
        for (Map map : maps) {
            Object obj = BaseModel.class.newInstance();
            BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
            PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
            for (PropertyDescriptor property : propertyDescriptors) {
                Method setter = property.getWriteMethod();
                if (setter != null) {
                    //oracle的时间为TIMESTAMP的,需要进行转换成data,否则将报错
                    if(map.get(property.getName().toUpperCase()) instanceof TIMESTAMP){
                        LocalDateTime localDateTime = ((TIMESTAMP) map.get(property.getName().toUpperCase())).toLocalDateTime();
                        ZoneId zoneId = ZoneId.systemDefault();
                        ZonedDateTime zdt = localDateTime.atZone(zoneId);
                        Date date = Date.from(zdt.toInstant());
                        setter.invoke(obj,date);
                        map.remove(property.getName().toUpperCase());
                    } //oracle的数字为BigDecimal的,需要进行转换成Integer,否则将报错
                    else if (map.get(property.getName().toUpperCase()) instanceof BigDecimal
                        && ("Integer").equals(setter.getParameterTypes()[0].getSimpleName())){
                        setter.invoke(obj, ((BigDecimal)map.get(property.getName().toUpperCase())).intValue());
                        map.remove(property.getName().toUpperCase());
                    }else if(map.get(property.getName().toUpperCase()) != null){
                        setter.invoke(obj, map.get(property.getName().toUpperCase()));
                        map.remove(property.getName().toUpperCase());
        try{
            for (Map map : maps) {
                Object obj = BaseModel.class.newInstance();
                BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
                PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
                for (PropertyDescriptor property : propertyDescriptors) {
                    Method setter = property.getWriteMethod();
                    if (setter != null) {
                        //oracle的时间为TIMESTAMP的,需要进行转换成data,否则将报错
                        if(map.get(property.getName().toUpperCase()) instanceof TIMESTAMP){
                            LocalDateTime localDateTime = ((TIMESTAMP) map.get(property.getName().toUpperCase())).toLocalDateTime();
                            ZoneId zoneId = ZoneId.systemDefault();
                            ZonedDateTime zdt = localDateTime.atZone(zoneId);
                            Date date = Date.from(zdt.toInstant());
                            setter.invoke(obj,date);
                            map.remove(property.getName().toUpperCase());
                        } //oracle的数字为BigDecimal的,需要进行转换成Integer,否则将报错
                        else if (map.get(property.getName().toUpperCase()) instanceof BigDecimal
                            && ("Integer").equals(setter.getParameterTypes()[0].getSimpleName())){
                            setter.invoke(obj, ((BigDecimal)map.get(property.getName().toUpperCase())).intValue());
                            map.remove(property.getName().toUpperCase());
                        }else if(map.get(property.getName().toUpperCase()) != null){
                            setter.invoke(obj, map.get(property.getName().toUpperCase()));
                            map.remove(property.getName().toUpperCase());
                        }
                    }
                }
            }
            for (Object key : map.keySet()) {
                map.put(key,String.valueOf(map.get(key)));
            }
                for (Object key : map.keySet()) {
                    map.put(key,String.valueOf(map.get(key)));
                }
            ((BaseModel) obj).setData(map);
            baseModels.add((BaseModel) obj);
                ((BaseModel) obj).setData(map);
                baseModels.add((BaseModel) obj);
            }
        }catch (Exception e){
            throw new VciBaseException("查询失败:" + e.getMessage());
        }
        return baseModels;
    }
@@ -3147,7 +3177,7 @@
     * @return 处理状态
     */
    @Override
    public R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels) throws Exception {
    public R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels) {
        //使用传入的业务类型查询表
        R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
        if(listR.getData().size() == 0){
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
@@ -41,6 +41,10 @@
        </foreach>
    </insert>
    <insert id="deleteByTaleAndOid" >
        delete from ${tableName} where oid in (${oids})
    </insert>
    <update  id="updateBatchByBaseModel"  parameterType="java.util.List" >
        BEGIN
        <foreach collection="mapList" item="columnMap" index="index" separator=";">