Source/UBCS-WEB/src/components/BatchImport/index.vue
@@ -182,7 +182,7 @@ tipList: [ "1.标题带五角星的表示关键属性,带星号表示必输项", "2.企业编码,集团码和状态都需要导入", "3.每次仅能最多导入10000条数据,如果出错会返回错误的数据和原因,但是正确的数据会保存", "3.每次仅能最多导入5000条数据(可通过nacos进行配置,推荐5000/次导入),如果出错会返回错误的数据和原因,但是正确数据可以继续保存", "4.分类的路径需要用#分隔。仅填写当前选的分类树上的下级分类的路径,如果当前分类已经是叶子节点,则不填写", ], action: "/api/ubcs-code/mdmEngineController/batchImportHistoryData", @@ -290,12 +290,12 @@ }, onError(err) { this.pageLoading.close(); console.log('onError') //console.log('onError') }, uploadChange(file) { if (file.status === "success" || file.status === "error") { this.pageLoading.close(); console.log('uploadChange') //console.log('uploadChange') } }, }, Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
@@ -112,7 +112,7 @@ }, value: { handler(newval, oldval) { console.log('value', newval) //console.log('value', newval) } } }, Source/UBCS-WEB/src/views/code/code.vue
@@ -2522,8 +2522,7 @@ this.releadDisabled = false; }); } }) .catch((error) => { }).catch((error) => { this.releadDisabled = false; }); this.releadDisabled = false; Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyDTO.java
@@ -69,6 +69,11 @@ */ private String codeResembleRuleOidName; /** * 是否参与校验,0:参与;1:不参与 */ private String isParticipateCheck; public boolean getAblechildren() { return ablechildren; } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassify.java
@@ -89,6 +89,11 @@ private String codeResembleRuleOid; /** * 是否参与校验,0:参与;1:不参与 */ private String isParticipateCheck; /** * 相似项查询规则名称 */ @Transient(referColumn = "codeResembleRuleOid.name") Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyVO.java
@@ -63,6 +63,11 @@ private Integer dataLevel; /** * 是否参与校验,0:参与;1:不参与 */ private String isParticipateCheck; /** * 层级的路径 */ private String path; Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java
@@ -53,6 +53,7 @@ private String firstV; private String creator; @DateTimeFormat( pattern = "yyyy-MM-dd HH:mm:ss" ) @@ -62,6 +63,7 @@ private Date createTime; private String lastModifier; @DateTimeFormat( pattern = "yyyy-MM-dd HH:mm:ss" ) Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
@@ -51,6 +51,7 @@ baseModel.setLastR("1"); baseModel.setLastV("1"); baseModel.setRevisionSeq(1); // TODO:目前只有编码规则中有用到,后期需要去掉这段代码的话,就把他加在编码规则新增中去 if(Func.isBlank(baseModel.getOwner())){ // 设置所有者 baseModel.setOwner(AuthUtil.getUserId().toString()); Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/WebUtil.java
@@ -724,6 +724,7 @@ } return listHasList; } /** * 是否默认的属性 * @param fieldNames 属性的名字 @@ -736,6 +737,5 @@ } return false; } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/constant/MdmEngineConstant.java
@@ -48,38 +48,162 @@ * 密级的字段 */ public static final String SECRET_FIELD = "secretgrade"; /** * 创建者字段 */ public static final String CODE_CREATOR = "creator"; /** * 更改者字段 */ public static final String CODE_EDITOR = "lastmodifier"; /** * 修改时间 */ public static final String CODE_EDITOR_TIME = "lastmodifytime"; /** * 版本规则 */ public static final String CODE_REVISION_RULE = "revisionrule"; /** * 版本步长 */ public static final String CODE_REVISION_SEQ = "revisionseq"; /** * 版本规则 */ public static final String CODE_VISION_RULE = "versionrule"; public static final String CODE_VISION_SEQ = "versionseq"; public static final String CODE_VISION_VLUE = "versionvalue"; public static final String CODE_LASTR = "lastr"; public static final String CODE_FIRSTR = "firstr"; public static final String CODE_LASTV = "lastv"; public static final String CODE_FIRSTV = "firstv"; /** * 版本规则oid */ public static final String CODE_REVISION_OID = "revisionoid"; /** * 租户 */ public static final String CODE_TENANTID = "tenantid"; /** * nameoid */ public static final String CODE_NAME_OID = "nameOid"; /** * 业务类型名称 */ public static final String CODE_BTMNAME = "btmname"; /** * 创建时间 */ public static final String CODE_CREATE_TIME = "createtime"; /** * 时间戳 */ public static final String CODE_TS = "ts"; /** * 所有者 */ public static final String CODE_OWNER = "owner"; /** * 升版 */ public static final String CODE_COPYFORMVERSION = "copyfromversion"; /** * 主键 */ public static final String CODE_OID = "oid"; /** * 默认的属性列表 */ public static final List DEFAULT_ATTR_LIST = new ArrayList(){{ add(CODE_FIELD); add(CODE_STATUS_FILED); add(CODE_GROUP_FIELD); add(CODE_CLASSIFY_OID_FIELD); add(CODE_STATUS_FILED); add(CODE_GROUP_FIELD); add(CODE_CLASSIFY_OID_FIELD); add(CODE_TEMPLATE_OID_FIELD); add(CODE_FULL_PATH_FILED); add(SECRET_FIELD); add(CODE_CREATOR); add(CODE_EDITOR); add(CODE_EDITOR_TIME); add(CODE_REVISION_RULE); add(CODE_REVISION_SEQ); add(CODE_REVISION_RULE); add(CODE_VISION_RULE); add(CODE_VISION_SEQ); add(CODE_LASTR); add(CODE_FIRSTR); add(CODE_LASTV); add(CODE_FIRSTV); add(CODE_REVISION_OID); add(CODE_TENANTID); add(CODE_NAME_OID); add(CODE_BTMNAME); add(CODE_CREATE_TIME); add(CODE_TS); add(CODE_OWNER); add(CODE_COPYFORMVERSION); add(CODE_OID); add(CODE_VISION_VLUE); }}; /** * 默认的属性列表 */ public static final List DEFAULT_SYNC_ATTR_LIST = new ArrayList(){{ add(CODE_FIELD); add(CODE_STATUS_FILED); add(CODE_GROUP_FIELD); add(CODE_CLASSIFY_OID_FIELD); add(CODE_TEMPLATE_OID_FIELD); add(CODE_FULL_PATH_FILED); add(CODE_EDITOR); add(CODE_CREATOR); add(CODE_FIELD); add(CODE_STATUS_FILED); add(CODE_GROUP_FIELD); add(CODE_CLASSIFY_OID_FIELD); add(CODE_TEMPLATE_OID_FIELD); add(CODE_FULL_PATH_FILED); add(SECRET_FIELD); add(CODE_CREATOR); add(CODE_EDITOR); add(CODE_EDITOR_TIME); add(CODE_REVISION_RULE); add(CODE_REVISION_SEQ); add(CODE_REVISION_RULE); add(CODE_VISION_RULE); add(CODE_VISION_SEQ); add(CODE_LASTR); add(CODE_FIRSTR); add(CODE_LASTV); add(CODE_FIRSTV); add(CODE_REVISION_OID); add(CODE_TENANTID); add(CODE_NAME_OID); add(CODE_BTMNAME); add(CODE_CREATE_TIME); add(CODE_TS); add(CODE_OWNER); add(CODE_COPYFORMVERSION); add(CODE_OID); add(CODE_VISION_VLUE); }}; /** Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeKeyAttrRepeatController.java
@@ -49,7 +49,7 @@ @Api(value = "关键属性查重规则", tags = "关键属性查重规则接口") public class CodeKeyAttrRepeatController extends BladeController { private final ICodeKeyAttrRepeatService plCodeKeyattrrepeatService; private final ICodeKeyAttrRepeatService codeKeyattrrepeatService; CodeKeyAttrRepeatMapper codeKeyattrrepeatMapper; @@ -59,73 +59,47 @@ @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入plCodeKeyattrrepeat") public R<CodeKeyAttrRepeatVO> detail(CodeKeyAttrRepeat plCodeKeyattrrepeat) { CodeKeyAttrRepeat detail = codeKeyattrrepeatMapper.selectOne(Condition.getQueryWrapper(plCodeKeyattrrepeat)); public R<CodeKeyAttrRepeatVO> detail(CodeKeyAttrRepeat codeKeyattrrepeat) { CodeKeyAttrRepeat detail = codeKeyattrrepeatMapper.selectOne(Condition.getQueryWrapper(codeKeyattrrepeat)); return R.data(CodeKeyAttrRepeatWrapper.build().entityVO(detail)); } /** * 关键属性查重规则 分页 */ @GetMapping("/list") @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入plCodeKeyattrrepeat") public R<IPage<CodeKeyAttrRepeatVO>> list(CodeKeyAttrRepeat plCodeKeyattrrepeat, Query query) { IPage<CodeKeyAttrRepeat> pages = codeKeyattrrepeatMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(plCodeKeyattrrepeat)); public R<IPage<CodeKeyAttrRepeatVO>> list(CodeKeyAttrRepeat codeKeyAttrRepeat, Query query) { IPage<CodeKeyAttrRepeat> pages = codeKeyattrrepeatMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(codeKeyAttrRepeat)); return R.data(CodeKeyAttrRepeatWrapper.build().pageVO(pages)); } /** * 关键属性查重规则 自定义分页 */ @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入plCodeKeyattrrepeat") public R<IPage<CodeKeyAttrRepeatVO>> page(CodeKeyAttrRepeatVO plCodeKeyattrrepeat, Query query) { IPage<CodeKeyAttrRepeatVO> pages = plCodeKeyattrrepeatService.selectPlCodeKeyattrrepeatPage(Condition.getPage(query), plCodeKeyattrrepeat); return R.data(pages); } /** * 关键属性查重规则 新增 */ @PostMapping("/save") @ApiOperationSupport(order = 4) @ApiOperation(value = "新增", notes = "传入plCodeKeyattrrepeat") public R save(@Valid @RequestBody CodeKeyAttrRepeat plCodeKeyattrrepeat) { return R.status(SqlHelper.retBool(codeKeyattrrepeatMapper.insert(plCodeKeyattrrepeat))); } /** * 关键属性查重规则 修改 */ @PostMapping("/update") @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入plCodeKeyattrrepeat") public R update(@Valid @RequestBody CodeKeyAttrRepeat plCodeKeyattrrepeat) { return R.status(SqlHelper.retBool(codeKeyattrrepeatMapper.updateById(plCodeKeyattrrepeat))); } /** * 关键属性查重规则 新增或修改 * @param codeKeyAttrRepeat * @return */ @PostMapping("/submit") @ApiOperationSupport(order = 6) @ApiOperation(value = "新增或修改", notes = "传入plCodeKeyattrrepeat") public R submit(@Valid @RequestBody CodeKeyAttrRepeat plCodeKeyattrrepeat) { if(plCodeKeyattrrepeat.getOid() != null){ return R.status(SqlHelper.retBool(codeKeyattrrepeatMapper.updateById(plCodeKeyattrrepeat))); @ApiOperation(value = "新增或修改", notes = "传入codeKeyattrrepeat") public R submit(@Valid @RequestBody CodeKeyAttrRepeat codeKeyAttrRepeat) { if(codeKeyAttrRepeat.getOid() != null){ return R.status(codeKeyattrrepeatService.update(codeKeyAttrRepeat)); } return R.status(SqlHelper.retBool(codeKeyattrrepeatMapper.insert(plCodeKeyattrrepeat))); return R.status(codeKeyattrrepeatService.addSave(codeKeyAttrRepeat)); } /** * 关键属性查重规则 删除 * @param ids * @return */ @PostMapping("/remove") @ApiOperationSupport(order = 7) @ApiOperation(value = "逻辑删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { return R.status(SqlHelper.retBool(codeKeyattrrepeatMapper.deleteBatchIds(Func.toLongList(ids)))); return R.status(codeKeyattrrepeatService.deleteByOids(ids)); } /** @@ -139,6 +113,5 @@ public R listCodeKeyAttrRepeatRuleByOids(@ApiParam(value = "主键集合", required = true) @RequestParam String oids) { return R.data(codeKeyattrrepeatMapper.selectBatchIds(Func.toLongList(oids))); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
@@ -35,6 +35,7 @@ import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.rmi.ServerException; import java.util.*; @RestController @@ -297,7 +298,6 @@ return R.success("操作成功!"); } /** * 申请编码保存 * @param orderDTO 编码申请相关的信息,需要有属性和码段相关的信息 @@ -308,7 +308,6 @@ public R addSaveCode(@RequestBody CodeOrderDTO orderDTO) throws Exception { return R.success(engineService.addSaveCode(orderDTO)); } /** * 使用模板的主键获取表单的定义 @@ -390,7 +389,6 @@ //TODO后续可以定义查询模板来查询 return engineService.gridTableDataByClassifyOid(codeClassifyOid,templateOid,queryObject.getConditionMap(),queryObject.getPageHelper()); } /*** * 获取分类对象 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
@@ -90,8 +90,7 @@ * @param oid 分类的主键 * @return 数据集合 */ List<CodeClassify> selectAllLevelChildHasPath(@Param("oid") String oid,@Param("fieldInPath")String fieldInPath); List<CodeClassify> selectAllLevelChildHasPath(@Param("oid") String oid,@Param("fieldInPath")String fieldInPath,@Param("tenantId")String tenantId); @MapKey("OID") List<Map<String,Object>> selectAllLevelParentByOid(@Param("oid") String oid); @@ -99,10 +98,8 @@ @MapKey("OID") List<Map<String,Object>> selectAllLevelParents(@Param("oid") String oid); @MapKey("OID") List<Map<String,Object>> selectByFieldPath(@Param("fieldPath") String fieldPath); /** * 查根据id层级获取对象 @@ -114,7 +111,6 @@ List<CodeClassify> selectByFieldNamePath(@Param("fieldPath") String fieldPath,@Param("fieldName") String fieldName); public List<CodeClassify> getIdPathToNamePathByParentId(@Param("parentId")String parentId); CodeClassify selectByIdRel(@Param("oid") String oid); /** @@ -133,10 +129,12 @@ * @return */ List<CodeClassify> getRMLibByName(List<String> libNames,@Param("lcstatus")String lcstatus,@Param("tenantId") String tenantId); /*** * 根据分类描述备注和库节点查询分类信息 * @param desc * @param codeLibName * @param lcstatus * @param tenantId * @return */ List<CodeClassify> getRMTypeByDesc(@Param("desc")String desc,@Param("lcstatus")String lcstatus,@Param("tenantId") String tenantId); @@ -175,5 +173,5 @@ * @param oid * @return */ List<CodeClassify> selectAllClassifyByOid(@Param("oid") String oid,@Param("tenantId") String tenantId); List<CodeClassify> selectAllClassifyByOid(@Param("oid") String oid,@Param("fieldInPath")String fieldInPath,@Param("tenantId") String tenantId); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -291,8 +291,9 @@ /** * 根据分类描述备注和库节点查询分类信息 * @param oid * @param fieldInPath * @return */ List<CodeClassifyVO> selectAllClassifyByOid(String oid); List<CodeClassifyVO> selectAllClassifyByOid(String oid, String fieldInPath); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeKeyAttrRepeatService.java
@@ -77,4 +77,26 @@ * @return 关键数据查重规则显示对象 */ CodeKeyAttrRepeatRuleVO getObjectByOid(String oid); /** * 修改关键属性查重规则 * @param codeKeyattrrepeat * @return */ boolean addSave(CodeKeyAttrRepeat codeKeyattrrepeat); /** * 新增关键属性查重规则 * @param codeKeyattrrepeat * @return */ boolean update(CodeKeyAttrRepeat codeKeyattrrepeat); /** * 删除关键属性查重规则 * @param oids * @return */ boolean deleteByOids(String oids); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -639,12 +639,13 @@ * @param oid * @return */ public List<CodeClassifyVO> selectAllClassifyByOid(String oid){ List<CodeClassify> codeClassifyList=codeClassifyMapper.selectAllClassifyByOid(oid,AuthUtil.getTenantId()); public List<CodeClassifyVO> selectAllClassifyByOid(String oid, String fieldInPath){ List<CodeClassify> codeClassifyList=codeClassifyMapper.selectAllClassifyByOid(oid,AuthUtil.getTenantId(),fieldInPath); List<CodeClassifyVO> voList = codeClassifyDO2VOs(codeClassifyList); return voList; } /*** * 根据分类描述备注和库节点查询分类信息 * @param desc @@ -807,9 +808,8 @@ @Override public List<CodeClassifyVO> listChildrenClassify(String codeClassifyOid, boolean allLevel, String fieldInPath, boolean enable) { if(allLevel){ List<CodeClassify> classifyDOS = codeClassifyMapper.selectAllLevelChildHasPath(codeClassifyOid,fieldInPath); List<CodeClassify> classifyDOS = codeClassifyMapper.selectAllLevelChildHasPath(codeClassifyOid,fieldInPath,AuthUtil.getTenantId()); if(!CollectionUtils.isEmpty(classifyDOS)){ // 这儿用stream有点慢 classifyDOS = classifyDOS.parallelStream().filter(s->FRAMEWORK_DATA_ENABLED.equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList()); } return codeClassifyDO2VOs(classifyDOS); @@ -928,7 +928,7 @@ Map<String/**路径**/,String/**主键**/> oidPathMap = new HashMap<>(); //我们需要查询所有已经存在的分类,主要是路径,用来判断分类的数据 List<CodeClassify> existClassifyDOs = codeClassifyMapper.selectAllLevelChildHasPath("",null); List<CodeClassify> existClassifyDOs = codeClassifyMapper.selectAllLevelChildHasPath("",null,AuthUtil.getTenantId()); Map<String/**路径**/, CodeClassify/**已经存在的数据**/> pathDOMap = Optional.ofNullable(existClassifyDOs).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> { String path = s.getPath(); if(StringUtils.isNotBlank(path) && path.startsWith("#")){ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeKeyAttrRepeatServiceImpl.java
@@ -17,6 +17,7 @@ package com.vci.ubcs.code.service.impl; import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.entity.CodeKeyAttrRepeat; import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus; @@ -26,16 +27,22 @@ import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.CodeKeyAttrRepeatRuleVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; import com.vci.ubcs.starter.util.MdmBtmTypeConstant; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.Func; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -50,12 +57,12 @@ @Service public class CodeKeyAttrRepeatServiceImpl implements ICodeKeyAttrRepeatService { @Autowired CodeKeyAttrRepeatMapper codeKeyattrrepeatMapper; @Resource CodeKeyAttrRepeatMapper codeKeyAttrRepeatMapper; @Override public IPage<CodeKeyAttrRepeatVO> selectPlCodeKeyattrrepeatPage(IPage<CodeKeyAttrRepeatVO> page, CodeKeyAttrRepeatVO plCodeKeyattrrepeat) { return page.setRecords(codeKeyattrrepeatMapper.selectPlCodeKeyattrrepeatPage(page, plCodeKeyattrrepeat)); return page.setRecords(codeKeyAttrRepeatMapper.selectPlCodeKeyattrrepeatPage(page, plCodeKeyattrrepeat)); } /** @@ -100,7 +107,7 @@ if(!CollectionUtils.isEmpty(oidCollections)){ Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); for(Collection<String> oids: oidCollectionsList){ List<CodeKeyAttrRepeat> tempDOList = codeKeyattrrepeatMapper.selectBatchIds(oids); List<CodeKeyAttrRepeat> tempDOList = codeKeyAttrRepeatMapper.selectBatchIds(oids); if(!CollectionUtils.isEmpty(tempDOList)){ codeKeyAttrRepeatRuleDOList.addAll(tempDOList); } @@ -173,6 +180,58 @@ BeanUtils.copyProperties(codeKeyAttrRepeatRuleVO,codeKeyattrrepeatVO); return codeKeyAttrRepeatRuleVO; } /** * 修改关键属性查重规则 * @param codeKeyattrrepeat * @return */ @Override public boolean addSave(CodeKeyAttrRepeat codeKeyattrrepeat) { // 设置默认值 codeKeyattrrepeat.setCreator(AuthUtil.getUserAccount()); codeKeyattrrepeat.setCreatetime(new Date()); codeKeyattrrepeat.setLastmodifier(AuthUtil.getUserAccount()); codeKeyattrrepeat.setLastmodifytime(new Date()); codeKeyattrrepeat.setBtmname(MdmBtmTypeConstant.CODE_KEY_ATTR_REPEAT_RULE); codeKeyattrrepeat.setFirstr("1"); codeKeyattrrepeat.setFirstv("1"); codeKeyattrrepeat.setLastr("1"); codeKeyattrrepeat.setLastv("1"); codeKeyattrrepeat.setLcstatus("Enabled"); codeKeyattrrepeat.setRevisionseq(1); codeKeyattrrepeat.setRevisionoid(VciBaseUtil.getPk()); codeKeyattrrepeat.setRevisionvalue("1"); codeKeyattrrepeat.setRevisionrule("1"); codeKeyattrrepeat.setVersionseq(1); codeKeyattrrepeat.setVersionrule("0"); codeKeyattrrepeat.setVersionvalue("1"); return SqlHelper.retBool(codeKeyAttrRepeatMapper.insert(codeKeyattrrepeat)); } /** * 新增关键属性查重规则 * @param codeKeyattrrepeat * @return */ @Override public boolean update(CodeKeyAttrRepeat codeKeyattrrepeat) { // 设置默认值 codeKeyattrrepeat.setLastmodifier(AuthUtil.getUserAccount()); codeKeyattrrepeat.setLastmodifytime(new Date()); return SqlHelper.retBool(codeKeyAttrRepeatMapper.updateById(codeKeyattrrepeat)); } /** * 删除关键属性查重规则 * @param oids * @return */ @Override public boolean deleteByOids(String oids) { return SqlHelper.retBool(codeKeyAttrRepeatMapper.deleteById(oids)); } /** * 主键查询数据对象 * @param oid 主键 @@ -182,11 +241,12 @@ private CodeKeyAttrRepeat selectByOid(String oid) { VciBaseUtil.alertNotNull(oid,"主键"); CodeKeyAttrRepeat codeKeyAttrRepeatRuleDO = codeKeyattrrepeatMapper.selectById(oid.trim()); CodeKeyAttrRepeat codeKeyAttrRepeatRuleDO = codeKeyAttrRepeatMapper.selectById(oid.trim()); // .selectByPrimaryKey(oid.trim()); if(codeKeyAttrRepeatRuleDO == null || StringUtils.isBlank(codeKeyAttrRepeatRuleDO.getOid())){ throw new VciBaseException(DATA_OID_NOT_EXIST); } return codeKeyAttrRepeatRuleDO; } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -995,7 +995,6 @@ } } /** * 初始化业务类型 * --创建人默认为当前用户,如果需要修改,可以在获取后自行处理 @@ -2774,6 +2773,7 @@ cbo.setName(orderDTO.getName()); //数据的时候,编码是不变的 cbo.setCreateTime(cbo.getCreateTime()); cbo.setCreator(cbo.getCreator()); cbo.setLastModifyTime(cbo.getLastModifyTime()); cbo.setTenantId(AuthUtil.getTenantId()); oldCbo.setLastV("0"); @@ -4188,7 +4188,7 @@ toBo.setLastV(String.valueOf(1)); // 数据升版不需要重新设置创建人,只对最后修改人做更新就可以了 //toBo.setCreator(String.valueOf(AuthUtil.getUser().getUserId())); toBo.setCreateTime(new Date()); toBo.setCreateTime(fromBo.getCreateTime()); // toBo.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); toBo.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount())); toBo.setLastModifyTime(new Date()); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -942,7 +942,7 @@ if (CollectionUtils.isEmpty(ruleOidMap.values())) { throw new VciBaseException("导入的数据所选择的分类都没有设置编码规则"); } // TODO: 改用oid查询规则的,别用id // TODO: 该用oid查询规则的,别用id Map<String, CodeRuleVO> ruleVOMap = ruleService.listCodeRuleByOids(ruleOidMap.values()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); //校验编码规则和码段是否正确 Map<String, List<String>> ruleRowIndexMap = new ConcurrentHashMap<>(); @@ -1538,7 +1538,6 @@ total += commonsMapper.queryCountBySql(countSql); } }else{ total = commonsMapper.queryCountBySql(countSql); } List<String> selectFieldList = new ArrayList<>(); @@ -1966,7 +1965,6 @@ //都转换完了。需要批量检查 //如果出错了,我们依然执行有效的数据,无效的数据写回到excel中 Map<String,String> errorKeyMap=new HashMap<>(); //1.分类注入 @@ -3149,6 +3147,7 @@ }); } /** * excel转换为cbo的对象 * @param classifyFullInfo 分类的全部信息 @@ -3166,7 +3165,7 @@ ClientBusinessObject cbo=new ClientBusinessObject(); DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId()); rowData.getData().forEach((index,value)->{ String field = fieldIndexMap.get(index); String field = fieldIndexMap.get(index); if (StringUtils.isBlank(field)) { throw new VciBaseException("第" + (index + 1) + "列的标题在系统中不存在"); } @@ -3523,6 +3522,7 @@ }); } } /*** * 校验分类对应的模板信息 * @param titleRowData @@ -3606,6 +3606,7 @@ } return codeClassifyTemplateVOList ; } /** * 从属性上获取参照的内容 * @param attrVO 属性的信息 @@ -3874,7 +3875,7 @@ if(StringUtils.isBlank(classifyPath)){ classifyPath = "#current#"; } if ( !pathMap.containsKey(classifyPath)) { if (!pathMap.containsKey(classifyPath)) { String row_index = cbo.getAttributeValue(IMPORT_ROW_INDEX); errorMap.put(row_index,errorMap.getOrDefault(row_index,"") + ";分类路径不存在"); } else { @@ -4054,6 +4055,7 @@ } } } private List<ClientBusinessObject> ChangeMapTOClientBusinessObjects(List<Map<String,String>> oldDataMap){ List<ClientBusinessObject> clientBusinessObjectList=new ArrayList<>(); oldDataMap.stream().forEach(dataMap->{ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -1381,7 +1381,7 @@ TreeQueryObject treeQueryObject=new TreeQueryObject(); treeQueryObject.setParentOid(oid); treeQueryObject.setQueryAllLevel(true); dataCodeClassifyVOList=classifyService.selectAllClassifyByOid(oid);//.selectCodeClassifyDOByTree(treeQueryObject); dataCodeClassifyVOList=classifyService.selectAllClassifyByOid(oid,"oid");//.selectCodeClassifyDOByTree(treeQueryObject); //dataCodeClassifyVOList.add(CodeClassifyWrapper.build().entityVO(currentCodeClassify[0])); Map<String, CodeClassifyVO> oidCodeclassifyDOMap = dataCodeClassifyVOList.stream().filter(systeDataObject -> systeDataObject != null && StringUtils.isNotBlank(systeDataObject.getOid())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -111,6 +111,7 @@ order by lastmodifytime asc </select> <!--codeclassify0.parentCodeClassifyOid = '${oid}'--> <select id="selectAllLevelChildHasPath" resultMap="plCodeClassifyResultMap"> select codeclassify0.OWNER as owner, codeclassify0.BTMTYPEID as btmtypeid, @@ -155,10 +156,13 @@ on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid START WITH <if test="oid != null "> codeclassify0.parentCodeClassifyOid = '${oid}' codeclassify0.parentCodeClassifyOid = #{oid} </if> <if test="oid == null "> codeclassify0.parentCodeClassifyOid is null </if> <if test="tenantId != null and tenantId != ''"> and codeclassify0.tenant_id = #{tenantId} </if> CONNECT BY PRIOR codeclassify0.OID = codeclassify0.parentCodeClassifyOid </select> @@ -461,9 +465,10 @@ </if> order by id asc </select> <!--获取所有下级节点,不要动这个方法sql--> <select id="selectAllClassifyByOid" resultMap="plCodeClassifyResultMap"> select codeclassify0.OWNER as owner, select codeclassify0.OWNER as owner, codeclassify0.BTMTYPEID as btmtypeid, codeclassify0.CREATOR as creator, codeclassify0.CREATETIME as createtime,