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){ 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); } }