田源
2023-07-04 1d0042d823333554cc1b74b092496e5aff38d502
Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs
已修改8个文件
已添加4个文件
363 ■■■■ 文件已修改
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyTemplateAttrDTO.java 96 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeImprotParmaDatVO.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlDmMapper.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllDmMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllMapper.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlDmMapperProcessor.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessStrategy.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessorStrategy.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyTemplateAttrDTO.java
@@ -38,110 +38,110 @@
    /**
     * æ‰€å±žæ¨¡æ¿
     */
    private String classifytemplateoid;
    private String classifyTemplateOid;
    /**
     * æ‰€å±žæ¨¡æ¿æ˜¾ç¤ºæ–‡æœ¬
     */
    private String classifytemplateoidName;
    private String classifyTemplateOidName;
    /**
     * æ‰€å±žåˆ†ç±»ä¸­çš„属性主键
     */
    private String classifyattributeoid;
    private String classifyAttributeOid;
    /**
     * æ‰€å±žåˆ†ç±»ä¸­çš„属性主键显示文本
     */
    private String classifyattributeoidName;
    private String classifyAttributeOidName;
    /**
     * å±žæ€§çš„类型
     */
    private String attributedatatype;
    private String attributeDataType;
    /**
     * æ˜¯å¦å…³é”®å±žæ€§
     */
    private String keyattrflag;
    private String keyAttrFlag;
    /**
     * æ˜¯å¦å¿«é€ŸæŸ¥è¯¢å±žæ€§
     */
    private String queryattrflag;
    private String queryAttrFlag;
    /**
     * æ˜¯å¦é«˜çº§æŸ¥è¯¢å±žæ€§
     */
    private String seniorqueryattrflag;
    private String seniorQueryAttrFlag;
    /**
     * ç›¸ä¼¼æŸ¥é‡å±žæ€§
     */
    private String samerepeatattrflag;
    private String sameRepeatAttrFlag;
    /**
     * æ˜¯å¦æŽ’序
     */
    private String sortattrflag;
    private String sortAttrFlag;
    /**
     * æ˜¯å¦ç”ŸæˆäºŒç»´ç 
     */
    private String qrcodeflag;
    private String qrcodeFlag;
    /**
     * æ˜¯å¦ç”Ÿæˆä¸€ç»´ç 
     */
    private String barcodeflag;
    private String barcodeFlag;
    /**
     * ç»„合规则
     */
    private String componentrule;
    private String componentRule;
    /**
     * éªŒè¯è§„则
     */
    private String verifyrule;
    private String verifyRule;
    /**
     * åˆ†ç±»æ³¨å…¥å±‚级
     */
    private String classifyinvokelevel;
    private String classifyInvokeLevel;
    /**
     * åˆ†ç±»æ³¨å…¥çš„属性英文名称
     */
    private String classifyinvokeattr;
    private String classifyInvokeAttr;
    /**
     * åˆ†ç±»æ³¨å…¥çš„属性中文名称
     */
    private String classifyinvokeattrname;
    private String classifyInvokeAttrName;
    /**
     * åˆ†ç±»æ³¨å…¥æ˜¯å¦å¯ä»¥ç¼–辑
     */
    private String classifyinvokeeditflag;
    private String classifyInvokeEditFlag;
    /**
     * ç å€¼åºå·
     */
    private Integer ordernum;
    private Integer orderNum;
    /**
     * è¡¨å•里是否显示
     */
    private String formdisplayflag;
    private String formDisplayFlag;
    /**
     * åˆ—表里是否显示
     */
    private String tabledisplayflag;
    private String tableDisplayFlag;
    /**
     * æ‰€å±žå±žæ€§åˆ†ç»„
     */
    private String attributegroup;
    private String attributeGroup;
    /**
     * ä½¿ç”¨æžšä¸¾æ³¨å…¥çš„字符串格式
@@ -151,27 +151,27 @@
    /**
     * ä½¿ç”¨æžšä¸¾è‹±æ–‡ç¼–号
     */
    private String enumid;
    private String enumId;
    /**
     * ä½¿ç”¨æžšä¸¾ä¸­æ–‡åç§°
     */
    private String enumname;
    private String enumName;
    /**
     * æžšä¸¾æ˜¯å¦å¯ä»¥ç¼–辑
     */
    private String enumeditflag;
    private String enumEditFlag;
    /**
     * å‚照的业务类型英文名称
     */
    private String referbtmid;
    private String referBtmId;
    /**
     * å‚照的业务类型中文名称
     */
    private String referbtmname;
    private String referBtmName;
    /**
     * å‚照窗口配置
@@ -181,97 +181,97 @@
    /**
     * æ˜¯å¦å¿…输
     */
    private String requireflag;
    private String requireFlag;
    /**
     * æ˜¯å¦åªè¯»
     */
    private String readonlyflag;
    private String readOnlyFlag;
    /**
     * å±žæ€§æŽ§åˆ¶è¾“入的长度
     */
    private Integer controllength;
    private Integer controlLength;
    /**
     * è¡¨å•里显示的样式
     */
    private String formdisplaystyle;
    private String formDisplayStyle;
    /**
     * è¡¨æ ¼é‡Œæ˜¾ç¤ºçš„æ ·å¼
     */
    private String tabledisplaystyle;
    private String tableDisplayStyle;
    /**
     * è¡¨å•中超链接内容
     */
    private String formhref;
    private String formHref;
    /**
     * è¡¨æ ¼ä¸­è¶…链接内容
     */
    private String tablehref;
    private String tableHref;
    /**
     * å°æ•°ç²¾åº¦
     */
    private Integer precisionlength;
    private Integer precisionLength;
    /**
     * å°æ•°åˆ»åº¦
     */
    private Integer scalelength;
    private Integer scaleLength;
    /**
     * å–值范围
     */
    private String valuearea;
    private String valueArea;
    /**
     * æ—¶é—´æ ¼å¼
     */
    private String codedateformat;
    private String codeDateFormat;
    /**
     * è¡¨æ ¼é‡Œæ˜¾ç¤ºè°ƒç”¨çš„js
     */
    private String tabledisplayjs;
    private String tableDisplayJs;
    /**
     * æ˜¯å¦æ˜¾ç¤ºå¤šè¡Œæ–‡æœ¬
     */
    private String textareaflag;
    private String textAreaFlag;
    /**
     * é¢„览图
     */
    private String imageflag;
    private String imageFlag;
    /**
     * é»˜è®¤å€¼
     */
    private String defaultvalue;
    private String defaultValue;
    /**
     * å‰ç¼€
     */
    private String prefixvalue;
    private String prefixValue;
    /**
     * åŽç¼€
     */
    private String suffixvalue;
    private String suffixValue;
    /**
     * é€‰æ‹©æ•°æ®æ—¶è¿‡æ»¤çš„属性
     */
    private String filtersourceattr;
    private String filterSourceAttr;
    /**
     * é€‰æ‹©æ•°æ®æ—¶è¿‡æ»¤çš„属性名称
     */
    private String filtersourceattrname;
    private String filterSourceAttrName;
    /**
     * å±žæ€§åˆ—表中的宽度
@@ -306,5 +306,9 @@
     */
    //@Column(columnDefinition = "级联查询属性")
    private String parentQueryAttr;
    /**
     * è¾“入提示
     */
    private String inputTip;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeImprotParmaDatVO.java
@@ -5,7 +5,7 @@
public class CodeImprotParmaDatVO {
    private List<CodeImprotSaveDatVO> codeImprotSaveDatVOList;
    private String classifyAttr;
    private Boolean isImprot;
    private Boolean improt;
    public List<CodeImprotSaveDatVO> getCodeImprotSaveDatVOList() {
        return codeImprotSaveDatVOList;
@@ -24,18 +24,18 @@
    }
    public Boolean getImprot() {
        return isImprot;
        return this.improt;
    }
    public void setImprot(Boolean improt) {
        isImprot = improt;
        this.improt = improt;
    }
    @Override
    public String toString() {
        return "CodeImprotParmaDatVO{" +
                "codeImprotSaveDatVOList=" + codeImprotSaveDatVOList +
                ", isImprot=" + isImprot +
                ", isImprot=" + improt +
                '}';
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -36,7 +36,7 @@
import com.vci.ubcs.starter.web.util.VciDateUtil;
import com.vci.ubcs.system.entity.DictBiz;
import com.vci.ubcs.system.feign.IDictBizClient;
import org.springblade.core.log.exception.ServiceException;
import com.vci.ubcs.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
@@ -398,7 +398,7 @@
                throw new VciBaseException("{0}{1}属性的时间格式不符合要求",new String[]{codeClassifyTemplateAttrDO.getId(),codeClassifyTemplateAttrDO.getName()});
            }
            //如果是组合规则,里面使用的属性不能缺失,也都得显示
            String componentrule = codeClassifyTemplateAttrDTO.getComponentrule();
            String componentrule = codeClassifyTemplateAttrDTO.getComponentRule();
            boolean isContainsDynamicParameter = PatternUtil.isContainsDynamicParameter(componentrule);
            if(isContainsDynamicParameter){
                List<String> userdAttrList =  PatternUtil.getKeyListByContent(componentrule);//包含的所有${xxx}中的xxx
@@ -409,7 +409,7 @@
                    }
                    //要看看表单是否显示
                    String unFormDisplayAttr = userdAttrList.stream().filter(s -> !VciBaseUtil.getBoolean(attrDTOMap.getOrDefault(s.toLowerCase(Locale.ROOT),
                        new CodeClassifyTemplateAttrDTO()).getFormdisplayflag())).collect(Collectors.joining(","));
                        new CodeClassifyTemplateAttrDTO()).getFormDisplayFlag())).collect(Collectors.joining(","));
                    if(StringUtils.isNotBlank(unFormDisplayAttr)){
                        throw new VciBaseException("{0}属性是组合规则,但是规则里包含的属性[{1}]在当前模板中没有设置 è¡¨å•显示 ",new String[]{codeClassifyTemplateAttrDO.getName(),unFormDisplayAttr});
                    }
@@ -417,7 +417,7 @@
            }
            if(CLASSIFYTEMPLATEOID==null){
                CLASSIFYTEMPLATEOID = codeClassifyTemplateAttrDTO.getClassifytemplateoid();
                CLASSIFYTEMPLATEOID = codeClassifyTemplateAttrDTO.getClassifyTemplateOid();
            }
        }
@@ -439,7 +439,7 @@
        }
//        BatchCBO batchCBOTemplateDelete = new BatchCBO();
        if(!CollectionUtils.isEmpty(oids)){
            baseMapper.deleteBatchIds(oids);
            this.removeBatchByIds(oids);
        }
        //再新增
@@ -542,7 +542,7 @@
        }
        //判断传过来的参照配置是否是json格式
        if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getReferbtmid())&&!checkKVObj(codeClassifyTemplateAttrDTO.getReferbtmid())){
        if(StringUtils.isNotBlank(codeClassifyTemplateAttrDTO.getReferBtmId())&&!checkKVObj(codeClassifyTemplateAttrDTO.getReferBtmId())){
            throw new VciBaseException("枚举注入数据格式错误!");
        }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -54,6 +54,7 @@
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.RichTextString;
import org.apache.poi.ss.usermodel.Workbook;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.tool.api.R;
import org.springframework.beans.BeanUtils;
@@ -1379,8 +1380,7 @@
    public List<CodeImportTemplateVO> gridclassifys(String redisOid) {
        List<CodeImportTemplateVO> codeImportTemplateVOs=new ArrayList<>();
        VciBaseUtil.alertNotNull(redisOid,"分类",redisOid,"分类缓存主键");
        List<CodeImportTemplateVO> redisServiceCacheObjects=bladeRedis.lRange(redisOid,0,-1);
        List<CodeImportTemplateVO> redisServiceCacheObjects=bladeRedis.get(redisOid);
        if(redisServiceCacheObjects!=null){
            codeImportTemplateVOs=  redisServiceCacheObjects;
        }
@@ -1396,7 +1396,7 @@
    @Override
    public DataGrid<Map<String, String>> gridDatas(String codeClssifyOid, String redisOid) {
        VciBaseUtil.alertNotNull(redisOid,"导入相似数据",redisOid,"数据缓存主键");
        List<CodeImprotDataVO> codeImprotDataVOs = bladeRedis.lRange(redisOid+"-"+codeClssifyOid,0,-1);
        List<CodeImprotDataVO> codeImprotDataVOs = bladeRedis.get(redisOid+"-"+codeClssifyOid);
//        redisService.getCacheList(redisOid+"-"+codeClssifyOid);
        CodeImprotDataVO codeImprotDataVO=new CodeImprotDataVO();
        if(!CollectionUtils.isEmpty(codeImprotDataVOs)){
@@ -1430,7 +1430,7 @@
    @Override
    public DataGrid<Map<String,String>> gridRowResemble(String oid,String redisOid){
        VciBaseUtil.alertNotNull(redisOid,"导入相似数据",redisOid,"数据缓存主键");
        List<DataResembleVO> codeImprotDataVOs = bladeRedis.lRange(redisOid,0,-1);;
        List<DataResembleVO> codeImprotDataVOs = bladeRedis.get(redisOid);;
        DataGrid<Map<String, String>> dataGrid = new DataGrid<>();
        List<Map<String, String>> dataList = new ArrayList<>();
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DdlDmMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
package com.vci.ubcs.ddl.mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultType;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;
/**
 * è¾¾æ¢¦æ•°æ®åº“的操作执行器
 */
@Repository
public interface DdlDmMapper extends DdlMapper{
    /**
     * åˆ é™¤è¡¨æ ¼ä¸­çš„列
     * @param tableName è¡¨åç§°
     * @param columnName åˆ—名称
     * @return å—影响的行数
     */
    @Update("alter table ${tableName} DROP COLUMN ${columnName}")
    @Override
    int dropTableColumn(@Param("tableName")String tableName, @Param("columnName")String columnName);
    /**
     * åˆ é™¤è¡¨æ ¼
     * @param tableName è¡¨æ ¼åç§°
     * @return å½±å“çš„行数
     */
    @Update("drop table if exists ${tableName}")
    @ResultType(Integer.class)
    @Override
    int dropTable(@Param("tableName") String tableName);
    /**
     * æ‰¹é‡ä¿®æ”¹æ•°æ®åº“表的字段
     * @param tableName è¡¨æ ¼çš„名称
     * @param attributeSql ä¿®æ”¹çš„属性的sql
     * @return å½±å“çš„行数
     */
    @Update("alter table ${tableName} modify ( ${attributeSql} ) ")
    @ResultType(Integer.class)
    @Override
    int modifyTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    /**
     * å‘数据库表中批量添加字段
     * @param tableName è¡¨æ ¼çš„名称
     * @param attributeSql è¦æ·»åŠ çš„æ–°çš„sql
     * @return å½±å“çš„行数
     */
    @Update("alter table ${tableName} add ( ${attributeSql} )")
    @ResultType(Integer.class)
    @Override
    int addColumn2TableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllDmMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
package com.vci.ubcs.ddl.mapper;
import org.springframework.stereotype.Repository;
/**
 * è¾¾æ¢¦æ•°æ®åº“的操作执行器
 */
@Repository
public interface DllDmMapper extends DllMapper{
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/mapper/DllMapper.java
@@ -1,6 +1,11 @@
package com.vci.ubcs.ddl.mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultType;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
/**
 * Description:
 *
@@ -9,21 +14,31 @@
 */
public interface DllMapper {
    int createViewBySql(String viewCreateSql);
    @Update({"${viewCreateSql}"})
    int createViewBySql(@Param("viewCreateSql") String viewCreateSql);
    int createTableBySql(String tableName,String attributeSql);
    @Update({"create table ${tableName} ( ${attributeSql} )"})
    int createTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    int checkTableExist(String tableName);
    @Update({"COMMENT ON TABLE ${tableName}  IS '${comment}' "})
    int commentTable(@Param("tableName") String tableName, @Param("comment") String comment);
    int countAll(String tableName);
    @Update({"COMMENT ON column ${tableName}.${columnName} IS '${comment}' "})
    int commentColumnTable(@Param("tableName") String tableName, @Param("columnName") String columnName, @Param("comment") String comment);
    int commentTable(String tableName, String comment);
    @Update({"alter table ${tableName} modify ( ${attributeSql} ) "})
    int modifyTableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    int commentColumnTable(String tableName, String columnName, String comment);
    @Update({"alter table ${tableName} add ( ${attributeSql} )"})
    int addColumn2TableBySql(@Param("tableName") String tableName, @Param("attributeSql") String attributeSql);
    int modifyTableBySql(String tableName, String attributeSql);
    @Update({"drop table if exists ${tableName}"})
    int dropTable(@Param("tableName") String tableName);
    int addColumn2TableBySql(String tableName, String attributeSql);
    @Select({"select count(table_name) from user_tables where upper(table_name) = upper(#{tableName,jdbcType=VARCHAR})"})
    int checkTableExist(@Param("tableName") String tableName);
    int dropTable(String tableName);
    @Select({"select count(*) from ${tableName}"})
    @ResultType(Integer.class)
    int countAll(@Param("tableName") String tableName);
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlDmMapperProcessor.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
package com.vci.ubcs.ddl.processor.ddl;
import com.vci.ubcs.ddl.mapper.DdlDmMapper;
import com.vci.ubcs.ddl.mapper.DdlMapper;
import com.vci.ubcs.starter.util.VciSpringUtil;
import org.springframework.stereotype.Component;
/**
 * è¾¾æ¢¦æ•°æ®åº“执行表操作sql的处理器
 */
@Component
public class DdlDmMapperProcessor extends DdlMapperProcessor{
    private static final DdlMapper MAPPER = VciSpringUtil.getBean(DdlDmMapper.class);
    public DdlDmMapperProcessor() {
        super(MAPPER);
        System.out.println("-----------------");
        if (MAPPER != null){
            System.out.println("[success]::加载达梦数据库DDL操作服务成功");
        }else {
            System.out.println("[fail]::加载达梦数据库DDL操作服务失败");
        }
    }
    @Override
    public void modifyTableBySqlBase(String tableName, String attributeSql) {
        modifyTableBySql(tableName,attributeSql);
    }
    @Override
    boolean support(String url) {
        return "dm.jdbc.driver.DmDriver".equals(url);
    }
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/ddl/DdlMapperProcessStrategy.java
@@ -7,6 +7,8 @@
import com.vci.ubcs.starter.util.VciSpringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -18,10 +20,11 @@
 * @author LiHang
 * @date 2023/4/24
 */
@Component
public class DdlMapperProcessStrategy {
    @Value("${spring.datasource.driver-class-name}")
    private static final String DATABASE_DRIVER = "";
    private String DATABASE_DRIVER;
    private final static List<DdlMapperProcessor> PROCESSORS = Lists.newArrayList();
@@ -29,11 +32,15 @@
        PROCESSORS.add(VciSpringUtil.getBean(DdlOracleMapperProcessor.class));
        PROCESSORS.add(VciSpringUtil.getBean(DdlMySqlMapperProcessor.class));
        PROCESSORS.add(VciSpringUtil.getBean(DdlMsMapperProcessor.class));
        PROCESSORS.add(VciSpringUtil.getBean(DdlDmMapperProcessor.class));
    }
    public static DdlMapperProcessor getProcessor(){
    @Bean("ddlMapper")
    public  DdlMapperProcessor getProcessor(){
        for (DdlMapperProcessor processor : PROCESSORS) {
            if (processor.support(DATABASE_DRIVER)){
                System.out.println("===========================================");
                System.out.println("获取DDL操作类成功:" + processor.getClass().getName());
                return processor;
            }
        }
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
package com.vci.ubcs.ddl.processor.dll;
import com.vci.ubcs.ddl.bo.DdlFieldMappingAttrBO;
import com.vci.ubcs.ddl.mapper.DllDmMapper;
import com.vci.ubcs.ddl.mapper.DllMapper;
import com.vci.ubcs.starter.util.VciSpringUtil;
import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
import org.apache.commons.collections4.BidiMap;
import org.springframework.stereotype.Component;
import java.util.List;
/**
 * Description: åº”用于达梦数据,生成创建表操作sql的处理器
 *
 * @author LiHang
 * @date 2023/4/24
 */
@Component
public class DllDmMapperProcessor extends DllMapperProcessor{
    private static final DllMapper MAPPER = VciSpringUtil.getBean(DllDmMapper.class);
    private static final BidiMap<VciFieldTypeEnum, DdlFieldMappingAttrBO> FIELD_MAP = getMappingMapCopy();
    static {
        // éœ€è¦é‡æ–°æ˜ å°„的字段类型在这里写
        FIELD_MAP.put(VciFieldTypeEnum.VTDouble,new DdlFieldMappingAttrBO("DOUBLE",26,8,true,null));
        FIELD_MAP.put(VciFieldTypeEnum.VTInteger,new DdlFieldMappingAttrBO("NUMBER",22,null,true,null));
        FIELD_MAP.put(VciFieldTypeEnum.VTLong,new DdlFieldMappingAttrBO("BIGINT",22,null,true,null));
        FIELD_MAP.put(VciFieldTypeEnum.VTBoolean,new DdlFieldMappingAttrBO("VARCHAR",5,null,true,null));
        FIELD_MAP.put(VciFieldTypeEnum.VTDate,new DdlFieldMappingAttrBO("DATE",null,null,true,null));
        FIELD_MAP.put(VciFieldTypeEnum.VTDateTime,new DdlFieldMappingAttrBO("TIMESTAMP",null,null,true,null));
        FIELD_MAP.put(VciFieldTypeEnum.VTTime,new DdlFieldMappingAttrBO("TIME",null,null,true,null));
        FIELD_MAP.put(VciFieldTypeEnum.VTFilePath,new DdlFieldMappingAttrBO("TEXT",null,null,true,null));
        FIELD_MAP.put(VciFieldTypeEnum.VTClob,new DdlFieldMappingAttrBO("CLOB",100,null,true,null));
        FIELD_MAP.put(VciFieldTypeEnum.VTString,new DdlFieldMappingAttrBO("VARCHAR",255,null,true,null));
    }
    public DllDmMapperProcessor() {
        super(MAPPER);
        System.out.println("-----------------");
        if (MAPPER != null){
            System.out.println("[success]::加载达梦数据库DLL操作服务成功");
        }else {
            System.out.println("[fail]::加载达梦数据库DLL操作服务失败");
        }
    }
    @Override
    public boolean support(String url) {
        return "dm.jdbc.driver.DmDriver".equals(url);
    }
    @Override
    protected DdlFieldMappingAttrBO getMappingBO(VciFieldTypeEnum fieldTypeEnum) {
        return getMappingBOInMap(fieldTypeEnum,FIELD_MAP);
    }
    /**
     * æŒ‰æ•°æ®åº“字段类型列举所有的VCI字段类型
     *
     * @param columnStr æ•°æ®åº“字段类型
     * @return VCI字段类型
     */
    @Override
    public List<VciFieldTypeEnum> listFieldByColumnStr(String columnStr) {
        return listFieldInMapByColumnStr(columnStr,FIELD_MAP);
    }
    @Override
    public VciFieldTypeEnum getFieldTypeByColumnStr(String columnStr, Integer length) {
        return getFieldTypeBeColumnStrInMap(columnStr,length,FIELD_MAP);
    }
}
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMapperProcessorStrategy.java
@@ -5,9 +5,13 @@
import com.vci.ubcs.ddl.mapper.DllOracleMapper;
import com.vci.ubcs.ddl.mapper.DllSqlLiteMapper;
import com.vci.ubcs.starter.util.VciSpringUtil;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.List;
@@ -17,10 +21,11 @@
 * @author LiHang
 * @date 2023/4/24
 */
@Component
public class DllMapperProcessorStrategy {
    @Value("${spring.datasource.driver-class-name}")
    private static final String DATABASE_DRIVER = "";
    private String DATABASE_DRIVER;
    public static List<DllMapperProcessor> processors = Lists.newArrayList();
@@ -29,11 +34,15 @@
        processors.add(VciSpringUtil.getBean(DllSqlLiteMapperProcessor.class));
        processors.add(VciSpringUtil.getBean(DllMySqlMapperProcessor.class));
        processors.add(VciSpringUtil.getBean(DllOracleMapperProcessor.class));
        processors.add(VciSpringUtil.getBean(DllDmMapperProcessor.class));
    }
    public static DllMapperProcessor getProcessor(){
    @Bean("dllMapper")
    public DllMapperProcessor getProcessor(){
        for (DllMapperProcessor processor : processors) {
            if (processor.support(DATABASE_DRIVER)){
                System.out.println("===========================================");
                System.out.println("获取DLL操作类成功:" + processor.getClass().getName());
                return processor;
            }
        }
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
@@ -35,6 +35,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
@@ -64,13 +65,15 @@
    /**
     * ddl数据操作服务
     */
    private final DdlMapperProcessor ddlMapper = DdlMapperProcessStrategy.getProcessor();
    @Autowired
    private DdlMapperProcessor ddlMapper;
    /**
     * dll数据操作服务
     */
    private final DllMapperProcessor dllMapper = DllMapperProcessorStrategy.getProcessor();
    @Autowired
    private DllMapperProcessor dllMapper;
    private static final String YES = "Y";