Source/UBCS-WEB/src/views/code/code.vue
@@ -1394,6 +1394,11 @@ }); }else { this.codeClassifyForm.oid = this.selectedFixedOrCodeclassifyValue.attributes.oid; // 分类码段,子分类和父分类之间不能相互更改 if(this.checkClassUpdate(this.codefixedsecOrCodeclassifysecOid,this.codeClassifyForm.codeClassifySecOid)){ return; } this.$delete(this.codeClassifyForm,"parentClassifyValueOid"); editCodeClassifyValue(this.codeClassifyForm).then(() => { this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid}) this.$message({ @@ -1430,6 +1435,9 @@ }); }); }else{ if(this.checkClassUpdate(this.codefixedsecOrCodeclassifysecOid,this.codeClassifyForm.codeClassifySecOid)){ return; } //分类码段码值删除 this.$confirm("是否删除这条数据?如果被引用将不能被删除!", { confirmButtonText: "确定", @@ -1450,7 +1458,6 @@ }); }); } }, //对固定码值表进行:上移、下移、移除操作 codeFixedValueOpetion(condition,row){ @@ -1490,10 +1497,13 @@ }, //对分类码值表进行:上移、下移、移除操作 codeClassifyValueOpetion(condition){ if(this.checkClassUpdate(this.codefixedsecOrCodeclassifysecOid,this.codeClassifyForm.codeClassifySecOid)){ return; } //此处涉及到深浅拷贝问题,但是执行上下移保存操作之后会重新加载treedata,所以影响不大 let currentTreeList = this.getCodeClassifyValueTreeData(); let saveData = []; console.log(currentTreeList.treeList); // console.log(currentTreeList.treeList); if(condition == 'up'){ if(currentTreeList.index-1>=0){ // 调整顺序 @@ -1513,8 +1523,6 @@ this.saveCodeFixedOrClassifyValueOption('classifyValue',saveData); } } console.log(saveData); console.log(this.classifyValueTreeData); }, //选中被调整顺序的两个树的节点 getCodeClassifyValueTreeData(){ @@ -1553,7 +1561,7 @@ } }, //上移下移等操作的保存 saveCodeFixedOrClassifyValueOption(condition,editOrderNumdata){ async saveCodeFixedOrClassifyValueOption(condition,editOrderNumdata){ //保存对固定码段码值的上移下移移出等操作 if(condition == "fixedValue"){ let data = { @@ -1572,7 +1580,7 @@ }); }else { //保存对分类码值码段码值的上移下移移出等操作 saveCodeClassifyValueOrder({ await saveCodeClassifyValueOrder({ "codeClassifySecOid": this.codefixedsecOrCodeclassifysecOid, "dtoList": JSON.stringify(editOrderNumdata), }).then(() => { @@ -1612,6 +1620,20 @@ this.codeClassifyForm.name = node.attributes.name; this.codeClassifyForm.parentClassifyValueOid = node.attributes.oid; //console.log(this.codeClassifyForm); }, /** * 分类码段码值,修改、删除、上下移之前,检查是否为子分类和父分类之间相互更改 * @currentRowClassOid 当前选中行oid * @updateClassOid 要修改的分类码值oid */ checkClassUpdate(currentRowClassOid,updateClassOid){ if(currentRowClassOid!=updateClassOid){ this.$message({ type: "error", message: "操作失败【子分类与父分类之间不能相互修改码值】!" }); } return currentRowClassOid!=updateClassOid; }, @@ -1982,7 +2004,7 @@ this.sendGridCodeBasicSec({"pkCodeRule":this.selectionList[this.selectionList.length-1].oid},false); }, // 上移下移基础码段 upOrderNum(row){ async upOrderNum(row){ if(!this.tipsMessage(this.selectionList)){ return; } @@ -1994,7 +2016,7 @@ this.$message.warning("未获取到必填参数!"); return; } upOrderNum(row.oid).then(() => { await upOrderNum(row.oid).then(() => { this.loadBasic(this.selectionList[0]); this.$message({ type: "success", Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
@@ -82,8 +82,6 @@ return (T)baseModel; } /** * 新增时填充默认值 * @param object 继承了BaseModel的实体对象 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyValueController.java
@@ -131,12 +131,12 @@ CodeClassifyValueDTO codeFixedValueDTO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(json.get(i))), CodeClassifyValueDTO.class); dtoList.add(codeFixedValueDTO); } String codeclassifysecoid = (String) param.get("codeclassifysecoid"); String codeClassifySecOid = (String) param.get("codeClassifySecOid"); VciBaseUtil.alertNotNull(dtoList,"码值集合"); if (CollectionUtils.isEmpty(dtoList)){ return R.success(""); } return codeClassifyValueService.batchSave4Order(dtoList,codeclassifysecoid); return codeClassifyValueService.batchSave4Order(dtoList,codeClassifySecOid); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleController.java
@@ -95,7 +95,7 @@ @ApiOperationSupport(order = 4) @ApiOperation(value = "新增", notes = "传入CodeRule") public R save(@Valid @RequestBody CodeRuleDTO codeRuleDTO) { return R.status(codeRuleService.addSave(codeRuleDTO)); return codeRuleService.addSave(codeRuleDTO); } /** @@ -107,7 +107,7 @@ @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入CodeRule") public R update(@Valid @RequestBody CodeRuleDTO codeRuleDTO) { return R.status(codeRuleService.editSave(codeRuleDTO)); return codeRuleService.editSave(codeRuleDTO); } /** Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyValueService.java
@@ -112,7 +112,7 @@ * @param codeclassifysecoid 分类码段的主键 * @return 执行结果 */ R batchSave4Order(List<CodeClassifyValueDTO> dtoList, String codeclassifysecoid); R batchSave4Order(List<CodeClassifyValueDTO> dtoList, String codeclassifysecoid)throws VciBaseException; /** * 使用码段的主键获取分类的码值内容 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleService.java
@@ -49,6 +49,13 @@ IPage<CodeRuleVO> gridCodeRule(Query query, Map<String,Object> condtionMap) throws VciBaseException; /** * 检查id编号是否重复 * @param id 当前编号 * @return 返回false表示未重复 */ boolean checkCodeRuleRepeat(String id); /** * 校验编码规则的状态是否可以编辑或删除 * @param lcStatus 编码规则 * @return true表示可以编辑或删除,false表示不可以 @@ -60,14 +67,14 @@ * @param codeRuleDTO 主数据编码规则数据传输对象 * @return 执行结果 */ boolean addSave(CodeRuleDTO codeRuleDTO) throws VciBaseException; R addSave(CodeRuleDTO codeRuleDTO) throws VciBaseException; /** * 修改主数据编码规则 * @param codeRuleDTO 主数据编码规则数据传输对象 * @return 执行结果 */ boolean editSave(CodeRuleDTO codeRuleDTO) throws VciBaseException; R editSave(CodeRuleDTO codeRuleDTO) throws VciBaseException; /** * 删除主数据编码规则 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -724,16 +724,16 @@ condition.put("CLASSIFYTEMPLATEOID",templateAttrOid); List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = baseMapper.selectByMap(condition); List<String> btmOids = new ArrayList<String>(); List<String> btmIds = new ArrayList<String>(); for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDOList){ btmOids.add(codeClassifyTemplateAttrDO.getId()); btmIds.add(codeClassifyTemplateAttrDO.getId()); } //过滤掉已经存在的属性 List<BtmTypeAttributeVO> boAttrss = new ArrayList<BtmTypeAttributeVO>(); for (BtmTypeAttributeVO osBtmTypeAttributeVO:btmTypeVOR.getData().getAttributes()){ if(!btmOids.contains(osBtmTypeAttributeVO.getId())){ if(!btmIds.contains(osBtmTypeAttributeVO.getId())){ //看看是不是有模糊查询 boolean inSearch = true; if(StringUtils.isNotBlank(name) && !osBtmTypeAttributeVO.getName().contains(name.replace("*",""))){ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
@@ -27,6 +27,7 @@ import org.springblade.core.tool.api.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -284,7 +285,7 @@ */ @Override @Transactional(rollbackFor = Exception.class) public R batchSave4Order(List<CodeClassifyValueDTO> dtoList, String codeclassifysecoid) { public R batchSave4Order(List<CodeClassifyValueDTO> dtoList, String codeclassifysecoid) throws VciBaseException{ VciBaseUtil.alertNotNull(codeclassifysecoid,"分类码段主键"); List<CodeClassifyValue> valueDOList = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query() .lambda().eq(CodeClassifyValue::getCodeClassifySecOid,codeclassifysecoid) @@ -304,6 +305,9 @@ }); } }); if(updateList.isEmpty()){ return R.fail("该操作有误【待操作集合为空】。"); } boolean resBoolean = this.updateBatchById(updateList); return R.status(resBoolean); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
@@ -60,6 +60,7 @@ 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; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -130,15 +131,32 @@ * @throws VciBaseException 参数为空,唯一项,必输项不通过时会抛出异常 */ @Override public boolean addSave(CodeRuleDTO codeRuleDTO) throws VciBaseException { public R addSave(CodeRuleDTO codeRuleDTO) throws VciBaseException { VciBaseUtil.alertNotNull(codeRuleDTO, "需要添加的数据对象"); if(checkCodeRuleRepeat(codeRuleDTO.getId())){ return R.fail("规则编号已存在!"); } // 将DTO转换为DO CodeRule codeRule = Objects.requireNonNull(BeanUtil.copy(codeRuleDTO, CodeRule.class)); // 填充默认值 DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeRule, MdmBtmTypeConstant.CODE_RULE); codeRule.setLctid(CODE_RULE_LC); codeRule.setLcStatus(FRAMEWORK_RELEASE_EDITING); return codeRuleMapper.insert(codeRule)>0; return R.status(codeRuleMapper.insert(codeRule)>0); } /** * 检查id编号是否重复 * @param id 当前编号 * @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; } return false; } /** @@ -163,8 +181,11 @@ * @throws VciBaseException 参数为空,唯一项,必输项不通过时会抛出异常 */ @Override public boolean editSave(CodeRuleDTO codeRuleDTO) throws VciBaseException{ public R editSave(CodeRuleDTO codeRuleDTO) throws VciBaseException{ VciBaseUtil.alertNotNull(codeRuleDTO, "数据对象", codeRuleDTO.getOid(), "主数据编码规则主键"); if(checkCodeRuleRepeat(codeRuleDTO.getId())){ return R.fail("规则编号已存在!"); } if (!checkEditDelStatus(codeRuleDTO.getLcStatus())) { throw new VciBaseException("编码规则已发布,不允许编辑或删除"); } @@ -172,7 +193,7 @@ CodeRule codeRule = selectByOid(codeRuleDTO.getOid()); revisionModelUtil.copyFromDTOIgnore(codeRuleDTO, codeRule); DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeRule); return codeRuleMapper.updateById(codeRule)>0; return R.status(codeRuleMapper.updateById(codeRule)>0); } /**