From e31c2d72f186602747e38e3ed54eba774a3aeeb2 Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期二, 05 十二月 2023 17:42:30 +0800 Subject: [PATCH] 1、数据更改的升版方法进行添加修改码值表的创建数据oid为最新数据的oid。 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 36 +++++++++++++----------------------- 1 files changed, 13 insertions(+), 23 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 0090df0..9ec2f60 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 @@ -6,13 +6,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.google.protobuf.ServiceException; -import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreAttrMapping; import com.vci.ubcs.code.applyjtcodeservice.feign.IMdmInterJtClient; import com.vci.ubcs.code.applyjtcodeservice.vo.DockingPreAttrMappingVO; import com.vci.ubcs.code.bo.AttributeValue; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO; -import com.vci.ubcs.code.constant.MdmEngineConstant; import com.vci.ubcs.code.dto.*; import com.vci.ubcs.code.entity.CodeAllCode; import com.vci.ubcs.code.enumpack.CodeDefaultLC; @@ -71,6 +69,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; @@ -88,7 +87,6 @@ import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArraySet; import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; import static com.alibaba.druid.util.FnvHash.Constants.LIMIT; @@ -382,7 +380,7 @@ CodeClassifyVO codeClassifyVO = classifyService.getObjectByOid(codeClassifyOid); //鑾峰彇鐮佹瀹藉害 - String secWidth = getCodeSegmentWidth(codeClassifyVO.getOid()); + //String secWidth = getCodeSegmentWidth(codeClassifyVO.getOid()); if(isHistory){ templateVOList= templateService.childTemplates(codeClassifyOid); @@ -1284,6 +1282,7 @@ * @param file excel鏂囦欢鐨勪俊鎭� * @return 鏈夐敊璇俊鎭殑excel */ + @Transactional @Override public CodeImProtRusultVO batchImportEdit(String codeClassifyOid, String classifyAttr,File file) throws Throwable{ VciBaseUtil.alertNotNull(codeClassifyOid,"鍒嗙被鐨勪富閿�"); @@ -1330,7 +1329,7 @@ titleRowData.remove(titleRowData.size()-1); templateVO= templateVOList.get(0); }catch (Throwable e){ - throw new VciBaseException(e.getMessage()); + throw new ServiceException(e.getMessage()); } CodeClassifyTemplateVO finalTemplateVO = templateVO; @@ -1357,23 +1356,13 @@ //鎴戜滑浣跨敤鍜屼笟鍔$被鍨嬬殑鏉ユ煡璇� List<Map> cbosB = commonsMapper.selectBySql(sqlBO.getSqlUnPage()); if(cbosB.size() == 0){ - throw new ServiceException("缂栫爜锛�"+ sheetRowData.getData().get(0) + ",鏈兘鏌ヨ鍒扮浉鍏虫暟鎹��"); + throw new ServiceException("缂栫爜锛�"+ sheetRowData.getData().get(0) + ",鏈兘鏌ヨ鍒扮浉鍏虫暟鎹��"); } excelToCboEdit(fieldIndexMap, sheetRowData, orderDTO, cbosB.get(0)); orderDTO.setCopyFromVersion(orderDTO.getOid()); orderDTO.setOid(null); try { mdmEngineService.upSaveCode(orderDTO); - List<Map> newCbos = commonsMapper.selectBySql(sqlBO.getSqlUnPage()); - //瀵圭爜鍊艰〃杩涜澶勭悊鏇挎崲鍒涘缓鏁版嵁鐨刼id - QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>(); - wrapper.eq("CREATECODEOID",orderDTO.getCopyFromVersion()); - List<CodeAllCode> codeAllCodes = codeAllCodeService.selectByWrapper(wrapper); - codeAllCodes.get(0).setCreateCodeOid(newCbos.get(0).get("OID").toString()); - codeAllCodes.get(0).setLastModifyTime(new Date()); - codeAllCodes.get(0).setTs(new Date()); - codeAllCodes.get(0).setLastModifier(AuthUtil.getUser().getUserName()); - codeAllCodeService.updateBatchById(codeAllCodes); } catch (Throwable e) { log.error("鎵归噺浜х敓缂栫爜鐨勬椂鍊欏嚭閿欎簡", e); errorMap.put(sheetRowData.getRowIndex(), ";绯荤粺閿欒锛屽瓨鍌ㄦ暟鎹殑鏃跺�欏嚭閿欎簡:"+e.getMessage()); @@ -2120,7 +2109,8 @@ }).collect(Collectors.toList()); List<ClientBusinessObject> finalNeedSaveCboList = needSaveCboList; Map<String, CodeRuleVO> finalRuleVOMap = ruleVOMap; - ruleRowIndexMap.keySet().parallelStream().forEach(ruleOid -> { + // TODO锛� 澶氱嚎绋嬫祦濂楀绾跨▼娴侊紝鏈夊潙锛屾垜鎶婅繖鍎挎敼浜� + ruleRowIndexMap.keySet().stream().forEach(ruleOid -> { List <BaseModel>dataCBOList=new CopyOnWriteArrayList<>(); List<String> rowIndexList = ruleRowIndexMap.get(ruleOid); List<ClientBusinessObject> thisCbos = needSaveCboList.stream().filter(cbo -> rowIndexList.contains(cbo.getAttributeValue(IMPORT_ROW_INDEX)) && !errorMap.containsKey(cbo.getAttributeValue(IMPORT_ROW_INDEX))).collect(Collectors.toList()); @@ -2502,7 +2492,6 @@ resultDataObjectDetailDO.setErrorid("0"); } resultDataObjectDetailDO.setId(sourceOid); - resultDataObjectDetailDO.setMsg(msg); resultDataObjectDetailDOs.add(resultDataObjectDetailDO); //澶勭悊浼犻�佺殑鏁版嵁涓叧閿睘鎬ч噸澶嶇殑锛岀洿鎺ユ嬁鍒板凡缁忕敵璇峰埌缂栫爜鐨勬暟鎹紪鐮佺洿鎺ュ皢璧嬬粰鍏抽敭灞炴�ч噸澶嶇殑鏁版嵁 @@ -3348,7 +3337,7 @@ String oid=rowData.getOid(); String rowNumber=rowData.getRowIndex(); ClientBusinessObject cbo = new ClientBusinessObject(); - DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId()); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId(),null); rowData.getData().forEach((index,value)->{ String field = fieldIndexMap.get(index); if(StringUtils.isBlank(field)){ @@ -3454,7 +3443,7 @@ String fullPath = getFullPath(classifyFullInfo); codeImprotDataVO.getDatas().stream().forEach(rowData -> { ClientBusinessObject cbo=new ClientBusinessObject(); - DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId()); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId(),null); rowData.forEach((field,value)->{ try { cbo.setAttributeValueWithNoCheck(field,value); @@ -3508,7 +3497,7 @@ String fullPath,boolean newCode){ rowDataList.stream().forEach(rowData -> { ClientBusinessObject cbo=new ClientBusinessObject(); - DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId()); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId(),null); rowData.getData().forEach((index,value)->{ String field = fieldIndexMap.get(index); if (StringUtils.isBlank(field)) { @@ -4271,6 +4260,7 @@ Map<String,List<BaseModel>> indexTODataMap=new ConcurrentHashMap<>(); // 鏌ヨ涓嶉渶瑕佸弬涓庡叧閿睘鎬ф牎楠岀殑闄よ嚜宸变互澶栫殑鎵�鏈夊垎绫籵id final String isParticipateCheckOids = classifyService.selectLeafByParentClassifyOid(classifyFullInfo.getTopClassifyVO().getOid(), classifyFullInfo.getCurrentClassifyVO().getOid()); + final HttpServletRequest request = org.springblade.core.tool.utils.WebUtil.getRequest(); List<ClientBusinessObject> repeatDataMap = cboList.parallelStream().filter(cbo -> { //姣忚閮藉緱鏌ヨ.濡傛灉鍏朵腑鍑虹幇浜嗛敊璇紝鎴戜滑灏辩洿鎺ユ姏鍑哄紓甯革紝鍏朵綑鐨勬樉绀� //VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); @@ -4296,7 +4286,7 @@ List<BaseModel> newCboList = new ArrayList<>(); newDataList.stream().forEach(stringStringMap -> { BaseModel baseModel=new BaseModel(); - DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(stringStringMap,baseModel); + DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(stringStringMap,baseModel,request); baseModel.setData(stringStringMap); newCboList.add(baseModel); }); @@ -4522,7 +4512,7 @@ List<ClientBusinessObject> clientBusinessObjectList=new ArrayList<>(); oldDataMap.stream().forEach(dataMap->{ ClientBusinessObject clientBusinessObject=new ClientBusinessObject(); - DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject); + DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject,null); for (String key:dataMap.keySet()){ Object value= dataMap.getOrDefault(key,""); clientBusinessObject.setAttributeValue(key.toLowerCase(Locale.ROOT),value==null?"":value.toString()); -- Gitblit v1.9.3