ludc
2023-07-11 0aa0bbdfde221a46019f90a245e40d6b57fd251b
编码规则bug修复
已修改10个文件
143 ■■■■ 文件已修改
Source/UBCS-WEB/src/const/code/mdmrule.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/code/code.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/vue.config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRule.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeBasicSecService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleService.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/controller/UserController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/const/code/mdmrule.js
@@ -42,6 +42,18 @@
      }]
    },
    {
      label: "依据",
      prop: "accordingTo",
      search: false,
      span: 24,
      type: "input",
      rules: [{
        required: true,
        message: "请输入依据",
        trigger: "blur"
      }]
    },
    {
      label: "描述",
      prop: "description",
      search: true,
Source/UBCS-WEB/src/views/code/code.vue
@@ -99,6 +99,13 @@
              @click="clearAllCodeSec">
              清空码值
          </el-button>
          <el-button
              size="small"
              icon="el-icon-guide"
              plain
              @click="escapeOwner">
              转移所有者
          </el-button>
        </template>
      </avue-crud>
    </basic-container>
Source/UBCS-WEB/vue.config.js
@@ -26,10 +26,10 @@
    proxy: {
      '/api': {
        //本地服务接口地址
        // target: 'http://localhost:37000',
        target: 'http://localhost:37000',
        // target: 'http://192.168.1.51:37000',
        // target: 'http://192.168.1.46:37000',
        target: 'http://dev.vci-tech.com:37000',
        // target: 'http://dev.vci-tech.com:37000',
        // target: 'http://192.168.1.51:37000/',
        // target: 'http://192.168.1.104:37000',
        // target: 'http://192.168.1.63:37000',
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRule.java
@@ -60,4 +60,10 @@
     */
    private String description;
    /**
     * 依据
     */
    @NotBlank(message = "规则依据不能为空")
    private String accordingTo;
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleController.java
@@ -214,4 +214,17 @@
        return codeRuleService.clearAllCode(oid);
    }
    /**
     * 检查相似编码规则
     * @param oid
     * @return 执行结果
     */
    @GetMapping("/checkLikeCodeRule")
    @ApiOperationSupport(order = 15)
    @ApiOperation(value = "检查相似编码规则", notes = "传入oid")
    public R checkLikeCodeRule(String oid){
        return codeRuleService.checkLikeCodeRule(oid);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeBasicSecService.java
@@ -148,10 +148,10 @@
    /**
     * 使用规则的主键获取对应的码段内容
     * @param oid 规则的内容
     * @param conditionMap 规则的内容
     * @return 码段的内容
     */
    List<CodeBasicSecVO> listCodeBasicSecByRuleOid(String oid);
    List<CodeBasicSecVO> listCodeBasicSecByRuleOid(Map<String,Object> conditionMap);
    /**
     * 批量数据对象转换为显示对象
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleService.java
@@ -24,7 +24,6 @@
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
@@ -50,10 +49,10 @@
    /**
     * 检查id编号是否重复
     * @param id 当前编号
     * @param codeRuleDTO 当前判断是否重复的对象
     * @return 返回false表示未重复
     */
    boolean checkCodeRuleRepeat(String id);
    boolean checkCodeRuleRepeat(CodeRuleDTO codeRuleDTO);
    /**
     * 校验编码规则的状态是否可以编辑或删除
@@ -160,4 +159,13 @@
     * @return 规则的显示对象
     */
    CodeRuleVO getObjectHasSecByOid(String codeRuleOid) throws VciBaseException;
    /**
     * 检查相似编码规则,并返回对应的结果
     * @param oid 主键
     * @return 执行结果
     */
    R checkLikeCodeRule(String oid) throws VciBaseException;
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
@@ -38,6 +38,7 @@
import com.vci.ubcs.system.entity.DictBiz;
import com.vci.ubcs.system.feign.IDictBizClient;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
@@ -754,21 +755,16 @@
    /**
     * 使用规则的主键获取对应的码段内容
     *
     * @param ruleOid 规则的内容
     * @param conditionMap 规则的内容
     * @return 码段的内容
     */
    @Override
    public List<CodeBasicSecVO> listCodeBasicSecByRuleOid(String ruleOid)throws ServiceException {
        if(StringUtils.isBlank(ruleOid)){
    public List<CodeBasicSecVO> listCodeBasicSecByRuleOid(Map<String,Object> conditionMap)throws ServiceException {
        if(Func.isBlank(conditionMap.getOrDefault("pkCodeRule","").toString())){
            return new ArrayList<>();
        }
//        Map<String,String> conditionMap = new HashMap<>();
//        conditionMap.put("pkCodeRule",ruleOid);
//        PageHelper pageHelper = new PageHelper(-1);
//        pageHelper.addDefaultAsc("ordernum");
        QueryWrapper<CodeBasicSec> wrapper = new QueryWrapper<>();
        wrapper.eq("pkCodeRule",ruleOid);
        wrapper.orderByAsc("ordernum");
        QueryWrapper<CodeBasicSec> wrapper = UBCSCondition.getQueryWrapper(conditionMap, CodeBasicSec.class);
        wrapper.orderByAsc("orderNum");
        List<CodeBasicSec> secDOList = baseMapper.selectList(wrapper);//.selectByCondition(conditionMap, pageHelper);
        return codeBasicSecDO2VOs(secDOList,true);
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
@@ -17,15 +17,10 @@
package com.vci.ubcs.code.service.impl;
import com.alibaba.cloud.commons.lang.StringUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
import com.vci.ubcs.code.dto.CodeBasicSecDTO;
import com.vci.ubcs.code.dto.CodeRuleDTO;
@@ -44,8 +39,6 @@
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import com.vci.ubcs.code.wrapper.CodeClassifyWrapper;
import com.vci.ubcs.code.wrapper.CodeRuleWrapper;
import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.enums.EnumEnum;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
@@ -54,10 +47,8 @@
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.starter.web.util.WebUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
@@ -133,7 +124,7 @@
    @Override
    public R addSave(CodeRuleDTO codeRuleDTO) throws VciBaseException {
        VciBaseUtil.alertNotNull(codeRuleDTO, "需要添加的数据对象");
        if(checkCodeRuleRepeat(codeRuleDTO.getId())){
        if(checkCodeRuleRepeat(codeRuleDTO)){
            return R.fail("规则编号已存在!");
        }
        // 将DTO转换为DO
@@ -147,14 +138,21 @@
    /**
     * 检查id编号是否重复
     * @param id 当前编号
     * @param codeRuleDTO 当前判断是否重复的对象
     * @return 返回false表示未重复
     */
    @Override
    public boolean checkCodeRuleRepeat(String id){
        Long count = this.codeRuleMapper.selectCount(Wrappers.<CodeRule>query().lambda().eq(CodeRule::getId, id));
        if(count>0){
            return true;
    public boolean checkCodeRuleRepeat(CodeRuleDTO codeRuleDTO){
        List<CodeRule> codeRulesList = this.codeRuleMapper.selectList(Wrappers.<CodeRule>query().lambda().eq(CodeRule::getId, codeRuleDTO.getId()));
        if(!codeRulesList.isEmpty()){
            return codeRulesList.parallelStream().anyMatch(codeRule -> {
                if(StringUtils.isNotBlank(codeRuleDTO.getOid())){
                    // 代表是修改
                    return !codeRule.getOid().equals(codeRuleDTO.getOid());
                }else {
                    return true;
                }
            });
        }
        return false;
    }
@@ -166,7 +164,7 @@
     * @return true表示可以编辑或删除,false表示不可以
     */
    @Override
    public boolean checkEditDelStatus(String lcStatus) {
    public boolean checkEditDelStatus(String lcStatus) throws VciBaseException {
        if (CodeRuleLC.RELEASED.getValue().equals(lcStatus) || CodeRuleLC.DISABLED.getValue().equals(lcStatus)) {
            return false;
        }
@@ -183,7 +181,7 @@
    @Override
    public R editSave(CodeRuleDTO codeRuleDTO) throws VciBaseException{
        VciBaseUtil.alertNotNull(codeRuleDTO, "数据对象", codeRuleDTO.getOid(), "主数据编码规则主键");
        if(checkCodeRuleRepeat(codeRuleDTO.getId())){
        if(checkCodeRuleRepeat(codeRuleDTO)){
            return R.fail("规则编号已存在!");
        }
        if (!checkEditDelStatus(codeRuleDTO.getLcStatus())) {
@@ -478,6 +476,34 @@
    }
    /**
     * 检查相似编码规则,并返回对应的结果
     * @param oid 主键
     * @return 执行结果
     */
    @Override
    public R checkLikeCodeRule(String oid) throws VciBaseException {
        CodeRuleVO codeRuleVO = getObjectByOid(oid);
        // 1、去掉流水码段,计算出其他码段值长度,在已发布的规则中比对出长度一致的编码规则
        HashMap<String, Object> condtionMap = new HashMap<>();
        condtionMap.put("pkCodeRule_equal",codeRuleVO.getOid());
        condtionMap.put("secType_notequal", CodeSecTypeEnum.CODE_SERIAL_SEC);
        codeRuleVO.setSecVOList(codeBasicSecService.listCodeBasicSecByRuleOid(condtionMap));
        // TODO 待完善
        // 2、在1、的基础上再比对码段类型的顺序一致的编码跪着
        // 3、在2、的基础上比较码段码值长度,对比出长度相同的编码规则
        // 4、在3、的基础上比较码值是否相同
        // 最后将结果进行返回
        return null;
    }
    /**
     * 批量数据对象转换为显示对象
     *
     * @param codeRules 数据对象列表
@@ -513,7 +539,9 @@
            //如果有lcstatus的类的话
            vo.setLcStatusText(CodeRuleLC.getTextByValue(vo.getLcStatus()));
            if (hasSec) {
                List<CodeBasicSecVO> codeBasicSecVOS = codeBasicSecService.listCodeBasicSecByRuleOid(vo.getOid());
                Map<String, Object> condtionMap = new HashMap<>();
                condtionMap.put("pkCodeRule_equal",vo.getOid());
                List<CodeBasicSecVO> codeBasicSecVOS = codeBasicSecService.listCodeBasicSecByRuleOid(condtionMap);
                //查询码段
                vo.setSecVOList(codeBasicSecVOS);
            }
Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/controller/UserController.java
@@ -316,7 +316,6 @@
        return R.data(userService.platformDetail(user));
    }
    /**
     * 用户列表查询
     */
@@ -361,4 +360,6 @@
        return R.data(res);
    }
}