From 7db864d691fdc62cda52c11b4c740cdc25dfeaa9 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期一, 11 十二月 2023 18:14:09 +0800 Subject: [PATCH] 代码覆盖,合并copy方法 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 173 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 143 insertions(+), 30 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java index 3f5a955..06872ec 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java @@ -13,9 +13,7 @@ import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO; import com.vci.ubcs.code.dto.*; import com.vci.ubcs.code.entity.CodeAllCode; -import com.vci.ubcs.code.enumpack.CodeDefaultLC; -import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; -import com.vci.ubcs.code.enumpack.sysIntegrationPushTypeEnum; +import com.vci.ubcs.code.enumpack.*; import com.vci.ubcs.code.lifecycle.CodeAllCodeLC; import com.vci.ubcs.code.mapper.CommonsMapper; import com.vci.ubcs.code.service.*; @@ -383,7 +381,7 @@ CodeClassifyVO codeClassifyVO = classifyService.getObjectByOid(codeClassifyOid); //鑾峰彇鐮佹瀹藉害 - //String secWidth = getCodeSegmentWidth(codeClassifyVO.getOid()); + String secWidth = getCodeSegmentWidth(codeClassifyVO.getOid()); if(isHistory){ templateVOList= templateService.childTemplates(codeClassifyOid); @@ -434,6 +432,8 @@ excelDataList.add(new WriteExcelData(0,0,"鍒嗙被璺緞","")); excelDataList.add(new WriteExcelData(0,1,"鐮佹瀹藉害","")); excelDataList.add(new WriteExcelData(0,2,!CollectionUtils.isEmpty(idAttrVOList)?idAttrVOList.get(0).getName():"浼佷笟缂栫爜",idAttrVOList.get(0).getId())); + // 濉厖鐮佹 + excelDataList.add(new WriteExcelData(1,1,secWidth)); } for (int i = 0; i < templateAttrVOS.size(); i++) { CodeClassifyTemplateAttrVO attrVO = templateAttrVOS.get(i); @@ -620,22 +620,121 @@ * @return */ private String getCodeSegmentWidth(String codeClassifyOid){ - CodeClassifyVO codeClassifyVO = classifyService.getObjectByOid(codeClassifyOid); + CodeClassifyFullInfoBO classifyFullInfoBO = classifyService.getClassifyFullInfo(codeClassifyOid); // 瑕佽幏鍙栫爜娈靛搴︼紝鍏堣鑾峰彇瑙勫垯锛屽綋鍓嶆病鏈夊線涓婃壘 CodeRuleVO codeRuleByClassifyFullInfo = mdmEngineService.getCodeRuleByClassifyFullInfo(classifyService.getClassifyFullInfo(codeClassifyOid)); List<CodeBasicSecVO> secVOList = codeRuleByClassifyFullInfo.getSecVOList(); if(secVOList.isEmpty()){ return ""; } - StringBuffer secWidth = new StringBuffer(""); - - for (int j = 0; j < secVOList.size(); j++) { - CodeBasicSecVO secVO = secVOList.get(j); - int width = VciBaseUtil.getInt(secVO.getCodeSecLength()) + ((secVO.getPrefixCode() + secVO.getSuffixCode()).length()); - secWidth.append(width).append("#"); - } + secVOList.stream().forEach(item->{ + switch (item.getSecType().toLowerCase(Locale.ROOT)){ + case "codeclassifysec": + case "codevariablesec": + case "coderefersec": + case "codefixedsec": + case "codeattrsec": + case "codeserialsec": + countSecWith(item,secWidth); + break; + case "codelevelsec": + //灞傜骇鐮佹锛岄渶瑕佷粠鍒嗙被涓婅幏鍙栫浉搴旂殑淇℃伅 + String secValue = ""; + if (CodeLevelTypeEnum.MIN.getValue().equalsIgnoreCase(item.getCodeLevelType())) { + //鏈�灏忓眰锛屽洜涓烘垜浠彧鑳藉湪鍙跺瓙鑺傜偣涓婄敵璇风紪鐮侊紝鎵�浠ヨ繖涓氨鏄綋鍓嶅垎绫荤殑 + if (CodeGetValueTypeEnum.CURRENT.getValue().equalsIgnoreCase(item.getCodeGetValueType()) || CollectionUtils.isEmpty(classifyFullInfoBO.getParentClassifyVOs())) { + //灏辨槸褰撳墠鍒嗙被鐨� + secValue = classifyFullInfoBO.getCurrentClassifyVO().getId(); + } else { + //鎴戜滑闇�瑕佷粠椤跺眰寮�濮嬫壘鍒板綋鍓嶅垎绫讳负姝� + secValue = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> -o1.getDataLevel().compareTo(o2.getDataLevel()))).map(CodeClassifyVO::getId).collect(Collectors.joining()) + classifyFullInfoBO.getCurrentClassifyVO().getId(); + } + } else { + //鎸囧畾灞傦紝鎴戜滑闇�瑕侀�氳繃涓婄骇鐨勬潵鑾峰彇 + if (CollectionUtils.isEmpty(classifyFullInfoBO.getParentClassifyVOs())) { + //璇存槑褰撳墠宸茬粡鏄渶楂樼殑浜� + secValue = classifyFullInfoBO.getCurrentClassifyVO().getId(); + } else { + //杩欎釜鎴戜滑闇�瑕佺湅鐪�,灞傜骇鏄笉鏄ぇ浜庝簡鏈�澶у眰绾х殑鏁� + List<CodeClassifyVO> parentClassifyVOList = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> -o1.getDataLevel().compareTo(o2.getDataLevel()))).collect(Collectors.toList()); + if (item.getCodeLevelValue() > (parentClassifyVOList.size() + 1)) { + //鎸囧畾鐨勫眰绾ф瘮褰撳墠鐨勫眰绾ц繕澶т簡锛屾墍浠ュ彧鑳借幏鍙栧綋鍓嶅眰绾т簡 + if (CodeGetValueTypeEnum.CURRENT.getValue().equalsIgnoreCase(item.getCodeGetValueType())) { + secValue = classifyFullInfoBO.getCurrentClassifyVO().getId(); + } else { + secValue = parentClassifyVOList.stream().map(CodeClassifyVO::getId).collect(Collectors.joining()) + classifyFullInfoBO.getCurrentClassifyVO().getId(); + } + } else { + //鎴戜滑鑾峰彇鍏朵腑鎸囧畾灞傜殑鍐呭 + if (CodeGetValueTypeEnum.CURRENT.getValue().equalsIgnoreCase(item.getCodeGetValueType())) { + CodeClassifyVO classifyVO = parentClassifyVOList.stream().filter(s -> s.getDataLevel().intValue() == item.getCodeLevelValue().intValue()).findFirst().orElseGet(() -> null); + if (classifyVO != null) { + secValue = classifyVO.getId(); + } + } else { + //灏忎簬绛変簬鐨勫叏閮ㄦ嬁鍑烘潵 + secValue = parentClassifyVOList.stream().filter(s -> s.getDataLevel().intValue() <= item.getCodeLevelValue().intValue()).sorted(((o1, o2) -> -o1.getDataLevel().compareTo(o2.getDataLevel()))).map(CodeClassifyVO::getId).collect(Collectors.joining()); + } + } + } + } + //鐪嬬湅闀垮害鏄惁闇�瑕佹埅鏂� + if (!CodeCutTypeEnum.NONE.getValue().equalsIgnoreCase(item.getValueCutType()) && + item.getValueCutLength() != null && item.getValueCutLength() > 0 && secValue.length() > item.getValueCutLength()) { + if (CodeCutTypeEnum.RIGHT.getValue().equalsIgnoreCase(item.getValueCutType())) { + //宸︽埅鍙栨槸浠庡乏杈瑰壀鎺夛紝鍙虫埅鍙栨槸浠庡彸杈瑰壀鎺�--淇濈暀宸﹁竟 + secValue = secValue.substring(0, item.getValueCutLength()); + } else { + secValue = secValue.substring(secValue.length() - item.getValueCutLength()); + } + } + secValue = productCodeService.joinPreffixAndSuffix(item,secValue); + secWidth.append(secValue.length()).append("#"); + break; + case "codedatesec": + String dateFormatStr = item.getCodeDateFormatStr(); + if(Func.isNotEmpty(dateFormatStr)) { + // 鑾峰彇褰撳墠鏃堕棿 + Date currentDate = new Date(); + // 鎸囧畾鏃ユ湡鏍煎紡 + SimpleDateFormat dateFormat = new SimpleDateFormat(dateFormatStr); + // 灏嗗綋鍓嶆椂闂磋浆鎹负鎸囧畾鏃ユ湡鏍煎紡 + // 浣跨敤姝e垯琛ㄨ揪寮忓幓鎺夐櫎鏁板瓧浠ュ鐨勬墍鏈夊瓧绗︿覆 + String cleanedDate = dateFormat.format(currentDate).replaceAll("[^0-9]", ""); + int width = cleanedDate.length(); + if (Func.isNotEmpty(item.getPrefixCode())) { + width += item.getPrefixCode().length(); + } + if (Func.isNotEmpty(item.getSuffixCode())) { + width += item.getSuffixCode().length(); + } + secWidth.append(width).append("#"); + } + break; + } + }); return secWidth.toString().substring(0, secWidth.length() - 1); + } + + /** + * 璁$畻鐮佹闀垮害鍔犲墠鍚庣紑鐨勯暱搴� + * @param codeBasicSecVO + * @param secWidth + */ + private void countSecWith(CodeBasicSecVO codeBasicSecVO,StringBuffer secWidth){ + if(Func.isNotEmpty(codeBasicSecVO.getCodeSecLength())){ + int width = VciBaseUtil.getInt(codeBasicSecVO.getCodeSecLength()); + if(Func.isNotEmpty(codeBasicSecVO.getPrefixCode())){ + width += codeBasicSecVO.getPrefixCode().length(); + } + if(Func.isNotEmpty(codeBasicSecVO.getSuffixCode())){ + width += codeBasicSecVO.getSuffixCode().length(); + } + secWidth.append(width).append("#"); + }else { + secWidth.append(0).append("#"); + } } /** @@ -774,7 +873,8 @@ //闄ゅ幓榛樿鐨勫睘鎬�.杩樻湁鍙湁琛ㄥ崟鏄剧ず鐨勫瓧娈垫墠瀵煎叆 List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> - !DEFAULT_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag()) + !DEFAULT_ATTR_LIST.contains(s.getId()) && + ((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) ).collect(Collectors.toList()); Map<String/**妯℃澘灞炴�у瓧娈祇id**/, String /**妯℃澘灞炴�у閮ㄥ悕绉�**/> fieldNameMap =attrVOS.stream().collect(Collectors.toMap(CodeClassifyTemplateAttrVO::getId,s->s.getName())); @@ -1586,7 +1686,8 @@ //闄ゅ幓榛樿鐨勫睘鎬�.杩樻湁鍙湁琛ㄥ崟鏄剧ず鐨勫瓧娈垫墠瀵煎叆 List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> - !DEFAULT_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag()) + !DEFAULT_ATTR_LIST.contains(s.getId()) && + ((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) ).collect(Collectors.toList()); Map<Integer/**鍒楀彿**/,String/**瀛楁鐨勫悕绉�**/> fieldIndexMap = new HashMap<>(); List<String> titleRowData = dataSet.getColName(); @@ -1831,24 +1932,27 @@ tableName = VciBaseUtil.getTableName(btmTypeId); } - String countSql = "select count(*) from (select * FROM " + tableName +" where 1=1" + + String countSql = "select count(*) from " + tableName +" where 1=1" + " and lastr = '1'" + " and lastv='1'" + - " and codeclsfpath like '%" + exportAttrDTO.getCodeClassifyOid() + "%' {}"; - + " and codeclsfpath like '%" + exportAttrDTO.getCodeClassifyOid() + "%'"; //鍏堟煡璇㈡�绘暟 int total = 0; if(exportAttrDTO.getEndPage()!=null && exportAttrDTO.getEndPage()>0 &&exportAttrDTO.getPage() !=null && exportAttrDTO.getPage() >0 &&exportAttrDTO.getEndPage()>exportAttrDTO.getPage()){ //浠庡灏戦〉鍒板灏戦〉鐨勬煡璇㈡柟寮忥紝 + String countPageSql = "select count(*) from (select * FROM " + tableName +" where 1=1" + + " and lastr = '1'" + + " and lastv='1'" + + " and codeclsfpath like '%" + exportAttrDTO.getCodeClassifyOid() + "%' {}"; for(int i = exportAttrDTO.getPage() ;i <= exportAttrDTO.getEndPage();i++){ PageHelper thisPage = new PageHelper(exportAttrDTO.getLimit()==null?-1:exportAttrDTO.getLimit()); thisPage.setPage(exportAttrDTO.getPage()==null?1:exportAttrDTO.getPage()); thisPage.setSort(exportAttrDTO.getSort()); thisPage.setOrder(exportAttrDTO.getOrder()); thisPage.addDefaultDesc("createTime"); - total += commonsMapper.queryCountBySql(StringUtil.format(countSql," limit " + exportAttrDTO.getLimit() +" offset "+ i +")subquery;")); + total += commonsMapper.queryCountBySql(StringUtil.format(countPageSql," limit " + exportAttrDTO.getLimit() +" offset "+ i +")subquery;")); } }else{ total = commonsMapper.queryCountBySql(countSql); @@ -2046,7 +2150,8 @@ CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo); //闄ゅ幓榛樿鐨勫睘鎬�.杩樻湁鍙湁琛ㄥ崟鏄剧ず鐨勫瓧娈垫墠瀵煎叆 List<CodeClassifyTemplateAttrVO> attrVOS = codeClassifyTemplateVO.getAttributes().stream().filter(s -> - !DEFAULT_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag()) + !DEFAULT_ATTR_LIST.contains(s.getId()) && + ((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) ).collect(Collectors.toList()); String fullPath = getFullPath(classifyFullInfo); excelToCbo(classifyFullInfo,fieldIndexMap,rowDataList, codeClassifyTemplateVO,cboList,fullPath,!isImprot); @@ -2251,8 +2356,10 @@ //鏍¢獙妯℃澘鏄笉鏄渶鏂扮殑 //checkTemplateSync(sheetDataSetList,templateVO); - //闄ゅ幓榛樿鐨勫睘鎬�.杩樻湁鍙湁琛ㄥ崟鏄剧ず鐨勫瓧娈垫墠瀵煎叆 - List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s ->!DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag()) + //闄ゅ幓榛樿鐨勫睘鎬�.杩樻湁鍙湁鍏锋湁鍒嗙被娉ㄥ叆鐨勬墠杩囨护鍑烘潵 + List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter( + s ->!DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && + ((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) ).collect(Collectors.toList()); Map<Integer/**鍒楀彿**/,String/**瀛楁鐨勫悕绉�**/> fieldIndexMap = new HashMap<>(); List<String> titleRowData = dataObjectVO.getColName(); @@ -2622,7 +2729,8 @@ //鏍¢獙妯℃澘鏄笉鏄渶鏂扮殑 //checkTemplateSync(sheetDataSetList,templateVO); //闄ゅ幓榛樿鐨勫睘鎬�.杩樻湁鍙湁琛ㄥ崟鏄剧ず鐨勫瓧娈垫墠瀵煎叆 - List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag()) + List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && + ((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) ).collect(Collectors.toList()); Map<Integer/**鍒楀彿**/, String/**瀛楁鐨勫悕绉�**/> fieldIndexMap = new HashMap<>(); List<String> titleRowData = dataObjectVO.getColName(); @@ -4299,7 +4407,7 @@ List<BaseModel> newCboList = new ArrayList<>(); newDataList.stream().forEach(stringStringMap -> { BaseModel baseModel=new BaseModel(); - DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(stringStringMap,baseModel,false); + DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(stringStringMap,baseModel,false,user); baseModel.setData(stringStringMap); newCboList.add(baseModel); }); @@ -4523,9 +4631,10 @@ } private List<ClientBusinessObject> ChangeMapTOClientBusinessObjects(List<Map<String,String>> oldDataMap){ List<ClientBusinessObject> clientBusinessObjectList=new ArrayList<>(); + final BladeUser user = AuthUtil.getUser(); oldDataMap.stream().forEach(dataMap->{ ClientBusinessObject clientBusinessObject=new ClientBusinessObject(); - DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject,true); + DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject,true,user); for (String key:dataMap.keySet()){ Object value= dataMap.getOrDefault(key,""); clientBusinessObject.setAttributeValue(key.toLowerCase(Locale.ROOT),value==null?"":value.toString()); @@ -4620,7 +4729,8 @@ private void createExeclClassData(List<String> titleRowData, CodeClassifyTemplateVO newTemplateVO, Map<Integer, String> execlData, CodeImprotDataVO codeImprotDataVO){ //闄ゅ幓榛樿鐨勫睘鎬�.杩樻湁鍙湁琛ㄥ崟鏄剧ず鐨勫瓧娈垫墠瀵煎叆 List<CodeClassifyTemplateAttrVO> attrVOS = newTemplateVO.getAttributes().stream().filter(s -> - !DEFAULT_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag()) + !DEFAULT_ATTR_LIST.contains(s.getId()) && + ((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) ).collect(Collectors.toList()); Map<String/**涓枃鍚嶇О**/, String/**鑻辨枃鍚嶇О**/> attrNameIdMap = attrVOS.stream().collect(Collectors.toMap(s -> s.getName(), t -> t.getId())); List<String> fields=new ArrayList<>(); @@ -5101,7 +5211,8 @@ CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyOid); //鑾峰彇鏈�鏂扮殑妯℃澘 CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid); //闄ゅ幓榛樿鐨勫睘鎬�.杩樻湁鍙湁琛ㄥ崟鏄剧ず鐨勫瓧娈垫墠瀵煎叆 - List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s ->!DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag()) + List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s ->!DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && + ((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) ).collect(Collectors.toList()); ExecGroupCodePortDataDTO execGroupCodePortDataDTO=new ExecGroupCodePortDataDTO(); createExportGroupCodeMapConfig(templateVO,execGroupCodePortDataDTO);//缁勭粐鏁版嵁 @@ -5179,10 +5290,10 @@ // 淇敼鐗堟鍙� engineService.updateBatchByBaseModel(btmTypeId,oldCbos); List<CodeAllCode> codeAllCodeList=new ArrayList<>(); - + final BladeUser user = AuthUtil.getUser(); cboList.stream().forEach(clientBusinessObject -> { BaseModel newBaseModel=new BaseModel(); - DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(clientBusinessObject.getData(),newBaseModel,true); + DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(clientBusinessObject.getData(),newBaseModel,true,user); newCbos.add(newBaseModel); }); // 鎻掑叆鏂扮殑鏁版嵁 @@ -5214,6 +5325,7 @@ public void batchSwitchCheckExist(Map<String,String> errorMap,List<ClientBusinessObject> cboList,CodeClassifyFullInfoBO classifyFullInfo,CodeClassifyTemplateVO templateVO,ExecGroupCodePortDataDTO execGroupCodePortDataDTO,Map<Integer/**鍒楀彿**/,String/**瀛楁鐨勫悕绉�**/> fieldIndexMap){ List<BaseModel> oldBaseModelList=new ArrayList<>(); List<CodeAllCode> codeAllCodeList=new ArrayList<>(); + final BladeUser user = AuthUtil.getUser(); cboList.stream().forEach(clientBusinessObject -> { String code=clientBusinessObject.getId(); String rowIndex=clientBusinessObject.getAttributeValue(IMPORT_ROW_INDEX); @@ -5226,7 +5338,7 @@ Map<String,String> dataMap=dataList.get(0); BaseModel oldBaseModel=new BaseModel(); - DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,oldBaseModel,false); + DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,oldBaseModel,false,user); String oldOid=oldBaseModel.getOid(); clientBusinessObject.setCopyFromVersion(oldOid); @@ -5311,7 +5423,8 @@ errorMap.put(rowIndex,"绗�"+rowIndex+"琛岋紝鍦ㄧ郴缁熶腑鏈煡璇㈠埌鐩稿簲鐨勭爜鍊兼暟鎹�"); } //闄ゅ幓榛樿鐨勫睘鎬�.杩樻湁鍙湁琛ㄥ崟鏄剧ず鐨勫瓧娈垫墠瀵煎叆 - List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s ->!fieldIndexMap.containsValue(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag()) + List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s ->!fieldIndexMap.containsValue(s.getId()) && + ((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) ).collect(Collectors.toList()); attrVOS.stream().forEach(codeClassifyTemplateAttrVO -> {//灏嗕笉闇�瑕佹洿鏀圭殑榛樿瀛楁鎴栬�呬笉鏇存敼鐨勫睘鎬у鍒跺埌鏂扮殑鐗堟湰涓� String arrtibuteKey=codeClassifyTemplateAttrVO.getId(); -- Gitblit v1.9.3