From a79582f0c67ddc681d2804669455ae13c64de8f9 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 26 十二月 2023 20:20:22 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 60 ++++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 42 insertions(+), 18 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 6b4bca3..6f47399 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 @@ -2506,10 +2506,10 @@ if (!CollectionUtils.isEmpty(newCboList)) { //澶勭悊鍏抽敭灞炴�ф煡鍑哄鏉$殑璇濓紝鏍规嵁闆嗘垚璋冪敤鐨勫綋鍓嶅垎绫讳唬鍙峰彇褰撳墠鍒嗙被鐨勭爜鍊笺�� Map<String/**缂栫爜**/, BaseModel/**閲嶅缂栫爜鏁版嵁**/> classOidTOBaseModelMap = new HashMap<>(); - newCboList.stream().forEach(baseModel->{ - String codeclsfid=baseModel.getData().get(CODE_CLASSIFY_OID_FIELD.toUpperCase(Locale.ROOT)); - classOidTOBaseModelMap.put(codeclsfid,baseModel); - }); + newCboList.stream().forEach(baseModel->{ + String codeclsfid=baseModel.getData().get(CODE_CLASSIFY_OID_FIELD.toLowerCase(Locale.ROOT)); + classOidTOBaseModelMap.put(codeclsfid,baseModel); + }); String codeclsfid= classifyFullInfo.getCurrentClassifyVO().getOid(); if(classOidTOBaseModelMap.containsKey(codeclsfid)){ BaseModel newCbo= classOidTOBaseModelMap.get(codeclsfid); @@ -2546,7 +2546,7 @@ } } }); - //鍏抽敭鐔熸倝鏇存敼 + //鍏抽敭灞炴�ф洿鏀� if (!CollectionUtils.isEmpty(editBoList)) { engineService.updateBatchByBaseModel(classifyFullInfo.getTopClassifyVO().getBtmTypeId(),editBoList);//淇濆瓨鏁版嵁 } @@ -2740,7 +2740,7 @@ //cboOidMap.put("id", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(codeDataMap.keySet().toArray(new String[0])) + ")"); String tableName =""; try { - R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId()); + R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(codeClassifyVO.getBtmTypeId()); if(!r.isSuccess()) { throw new Throwable(r.getMsg()); } @@ -2782,6 +2782,7 @@ } List<Map<String,String>> dataMapList=commonsMapper.queryByOnlySqlForMap(sb.toString()); + DefaultAttrAssimtUtil.mapToLowerCase(dataMapList,true); List<ClientBusinessObject> cboList= ChangeMapTOClientBusinessObjects(dataMapList); Map<String, ClientBusinessObject> codeSystemObjectMap = cboList.stream().filter(systeDataObject -> systeDataObject != null && StringUtils.isNotBlank(systeDataObject.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId(), t -> t)); Map<String, String> errorMap = new HashMap<>(); @@ -2837,7 +2838,17 @@ cbo.setDescription(StringUtils.isBlank(orderDTO.getDescription())?"":orderDTO.getDescription()); cbo.setName(orderDTO.getName()); try { - cbo.setAttributeValueWithNoCheck("description", orderDTO.getDescription()); + //涓昏澶勭悊澶у皬鍐欓棶棰橈紝灏哾ata閲岄潰鐨勬暟鎹殑key閮借浆涓哄皬鍐� + HashMap<String,String> lowerData = new HashMap<>(); + Iterator<Map.Entry<String, String>> iterator = cbo.getData().entrySet().iterator(); + while (iterator.hasNext()){ + Map.Entry<String, String> next = iterator.next(); + lowerData.put(next.getKey().toLowerCase(Locale.ROOT),next.getValue()); + } + cbo.getData().clear(); + cbo.getData().putAll(lowerData); + cbo.setAttributeValueWithNoCheck("description", (StringUtil.isNotBlank(orderDTO.getData() + .get("description")) ? orderDTO.getData().get("description") : orderDTO.getDescription() )); // cbo.setAttributeValue("name", orderDTO.getName()); // if(finalIsProcess){//鍦ㄦ祦绋嬩腑涓嶅厑璁告洿鏀� // errorMap.put(code,errorMap.getOrDefault(code, errorMap.getOrDefault(code,"")+";鏁版嵁"+code+"鍦ㄦ祦绋嬩腑锛屼笉鍏佽鏇存敼!")); @@ -2900,7 +2911,7 @@ List<CodeAllCode>newCodeAllCodeList= codeAllCodeService.selectByWrapper(Wrappers.<CodeAllCode>query().lambda().eq(CodeAllCode::getCreateCodeOid, cbo.getOid())); if (!CollectionUtils.isEmpty(newCodeAllCodeList)) { - CodeAllCode codeCbo = codeAllCodeList.get(0); + CodeAllCode codeCbo = newCodeAllCodeList.get(0); log.info("codeCbos code:" + codeCbo.getId()); codeCbo.setLcStatus(status); codeAllCodeList.add(codeCbo); @@ -2938,7 +2949,7 @@ engineService.updateBatchByBaseModel(classifyFullInfo.getTopClassifyVO().getBtmTypeId(),updateList); codeAllCodeService.saveOrUpdateBatch(codeAllCodeList); if(deleteList.size()>0) { - commonsMapper.deleteByTaleAndOid(tableName, VciBaseUtil.array2String(deleteList.toArray(new String[]{}))); + commonsMapper.deleteByTaleAndOid(tableName, VciBaseUtil.toInSql(deleteList.toArray(new String[]{}))); } //鏄惁璋冪敤闆嗗洟鎺ュ彛鐢宠鎺ュ彛 if(isCodeOrGroupCode){ @@ -3613,6 +3624,11 @@ rowDataList.stream().forEach(rowData -> { ClientBusinessObject cbo=new ClientBusinessObject(); DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId()); + R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(classifyFullInfo.getTopClassifyVO().getBtmTypeId())); + if(!listR.isSuccess() || listR.getData().size() == 0){ + throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒"); + } + cbo.setRevisionRule("".equals(listR.getData().get(0).getVersionRule())?"1":listR.getData().get(0).getVersionRule()); rowData.getData().forEach((index,value)->{ String field = fieldIndexMap.get(index); if (StringUtils.isBlank(field)) { @@ -3959,7 +3975,8 @@ String sql = "select " + valueField + "," + showText.toLowerCase(Locale.ROOT) +" from " + table + " where " + showText + " in (%s)"; valueCollections.stream().forEach(values->{ List<Map<String,String>> dataMapList = commonsMapper.queryByOnlySqlForMap(String.format(sql, VciBaseUtil.toInSql(values.toArray(new String[0])))); - List<ClientBusinessObject> cbos= ChangeMapTOClientBusinessObjects(dataMapList); + DefaultAttrAssimtUtil.mapToLowerCase(dataMapList,true); + List<ClientBusinessObject> cbos=ChangeMapTOClientBusinessObjects(dataMapList); if(!CollectionUtils.isEmpty(cbos)){ valueOidTextMap.putAll(cbos.stream().collect(Collectors.toMap(s->s.getAttributeValue(valueField),t->t.getAttributeValue(showText)))); } @@ -4328,7 +4345,7 @@ } else { Map<String, String> classifyDataMap = VciBaseUtil.objectToMapString(classifyVO); String value = classifyDataMap.getOrDefault(attrVO.getClassifyInvokeAttr(), ""); - log.error("================================褰撳墠鍒嗙被娉ㄥ叆鐨剉alue鍊间负锛�==========================",value); +// log.error("================================褰撳墠鍒嗙被娉ㄥ叆鐨剉alue鍊间负锛�==========================",value); cbo.setAttributeValue(attrId, value); } } catch (Throwable e) { @@ -4376,7 +4393,9 @@ // 鏌ヨ涓嶉渶瑕佸弬涓庡叧閿睘鎬ф牎楠岀殑闄よ嚜宸变互澶栫殑鎵�鏈夊垎绫籵id final String isParticipateCheckOids = classifyService.selectLeafByParentClassifyOid(classifyFullInfo.getTopClassifyVO().getOid(), classifyFullInfo.getCurrentClassifyVO().getOid()); final BladeUser user = AuthUtil.getUser(); - List<ClientBusinessObject> repeatDataMap = cboList.parallelStream().filter(cbo -> { + //cboList = new CopyOnWriteArrayList<>(cboList); + // TODO:Thread limit exceeded replacing blocked 寮傚父鏄繖閮ㄥ垎浠g爜鎶涘嚭鐨�,鎵�浠ユ殏鏃跺皢parallelStream鏀规垚浜唖tream + List<ClientBusinessObject> repeatDataMap = cboList.stream().filter(cbo -> { //姣忚閮藉緱鏌ヨ.濡傛灉鍏朵腑鍑虹幇浜嗛敊璇紝鎴戜滑灏辩洿鎺ユ姏鍑哄紓甯革紝鍏朵綑鐨勬樉绀� //VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); Map<String, String> conditionMap = new HashMap<>(); @@ -4403,11 +4422,12 @@ List<String> repeatData = commonsMapper.selectList(sqlBO.getSqlId()); if(!repeatData.isEmpty()){ final List<Map<String,String>> newDataList = commonsMapper.queryByOnlySqlForMap(sqlBO.getSqlUnPage()); + DefaultAttrAssimtUtil.mapToLowerCase(newDataList,true); //List<ClientBusinessObject> newCboList=ChangeMapTOClientBusinessObjects(newDataList); 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); }); @@ -4631,9 +4651,11 @@ } private List<ClientBusinessObject> ChangeMapTOClientBusinessObjects(List<Map<String,String>> oldDataMap){ List<ClientBusinessObject> clientBusinessObjectList=new ArrayList<>(); + DefaultAttrAssimtUtil.mapToLowerCase(oldDataMap,true); + final BladeUser user = AuthUtil.getUser(); oldDataMap.stream().forEach(dataMap->{ ClientBusinessObject clientBusinessObject=new ClientBusinessObject(); - DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject,true); + DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject,false,user); for (String key:dataMap.keySet()){ Object value= dataMap.getOrDefault(key,""); clientBusinessObject.setAttributeValue(key.toLowerCase(Locale.ROOT),value==null?"":value.toString()); @@ -4924,6 +4946,7 @@ pageHelper.addDefaultDesc("id"); CodeTemplateAttrSqlBO sqlBO = engineService.getSqlByTemplateVO(btmtypeid, templateVO, conditionMap, pageHelper); List<Map<String,String>> dataMapList=commonsMapper.queryByOnlySqlForMap(sqlBO.getSqlUnPage()); + DefaultAttrAssimtUtil.mapToLowerCase(dataMapList,true); List<ClientBusinessObject> resembleCboList= ChangeMapTOClientBusinessObjects(dataMapList); if(!CollectionUtils.isEmpty(resembleCboList)) { List<Map<String, String>> finalDataMap = dataMap; @@ -5289,10 +5312,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,false,user); newCbos.add(newBaseModel); }); // 鎻掑叆鏂扮殑鏁版嵁 @@ -5324,19 +5347,20 @@ 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); List<Map<String,String>>dataList=new ArrayList<>(); List<String> fieldList= execGroupCodePortDataDTO.getFieldList(); getDatas(classifyFullInfo,templateVO,execGroupCodePortDataDTO.getFieldList(),dataList,Arrays.asList(code)); + DefaultAttrAssimtUtil.mapToLowerCase(dataList,true); if(!CollectionUtils.isEmpty(dataList)){ Map<String,String> newDataMap=new HashMap<>();//灏嗘柊瀵硅薄灞炴�ф殏鏃跺瓨鍌ㄥ湪Map<> newDataMap.putAll(clientBusinessObject.getData()); 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); -- Gitblit v1.9.3