From e50b37ea73d82149cd52646464389bf6010b1d22 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 12 十二月 2023 10:49:19 +0800 Subject: [PATCH] map对象大小写导致code返回为空问题 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 4 +++- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 23 ++++++++++++++--------- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java | 24 ++++++++++++++++++++---- 3 files changed, 37 insertions(+), 14 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java index 83d0d13..59caa32 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java @@ -9,9 +9,7 @@ import org.springblade.core.tool.utils.Func; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; +import java.util.*; /** * 鏂板鏃堕粯璁ゅ�煎睘鎬ц祴鍊� @@ -221,7 +219,7 @@ baseModel.setRevisionOid(dataMap.getOrDefault(isCase?"REVISIONOID":"revisionoid","")); baseModel.setRevisionValue(dataMap.getOrDefault(isCase?"REVISIONVALUE":"revisionvalue","")); - baseModel.setLastModifier(AuthUtil.getUser().getAccount()); + baseModel.setLastModifier(Func.isNotEmpty(user) ? user.getAccount():AuthUtil.getUser().getAccount()); baseModel.setLcStatus(dataMap.getOrDefault(isCase?"LCSTATUS":"lcstatus","")); baseModel.setName(dataMap.getOrDefault(isCase?"NAME":"name","")); baseModel.setTenantId(dataMap.getOrDefault(isCase?"TENANT_ID":"tenant_id","")); @@ -259,4 +257,22 @@ return date; } + /** + * map瀵硅薄杞崲涓哄皬鍐� + * @param dataMapList + * @param isLowerCase + */ + public static void mapToLowerCase(List<Map<String,String>> dataMapList, boolean isLowerCase){ + // 閬嶅巻List涓殑姣忎釜Map + for (Map<String, String> map : dataMapList) { + Map<String, String> newMap = new HashMap<>(); + // 閬嶅巻姣忎釜Map涓殑key锛屽苟灏嗗叾杞崲涓哄皬鍐� + for (String key : map.keySet()) { + newMap.put(isLowerCase ? key.toLowerCase():key.toLowerCase(Locale.ROOT), map.get(key)); + } + // 鐢ㄦ柊鐨凪ap鏇挎崲鏃х殑Map + dataMapList.set(dataMapList.indexOf(map), newMap); + } + } + } 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 06872ec..b8482cd 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);//淇濆瓨鏁版嵁 } @@ -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<>(); @@ -3959,7 +3960,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)))); } @@ -4403,6 +4405,7 @@ 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 -> { @@ -4631,10 +4634,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,user); + 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()); @@ -4925,6 +4929,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; @@ -5293,7 +5298,7 @@ final BladeUser user = AuthUtil.getUser(); cboList.stream().forEach(clientBusinessObject -> { BaseModel newBaseModel=new BaseModel(); - DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(clientBusinessObject.getData(),newBaseModel,true,user); + DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(clientBusinessObject.getData(),newBaseModel,false,user); newCbos.add(newBaseModel); }); // 鎻掑叆鏂扮殑鏁版嵁 @@ -5332,12 +5337,12 @@ 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,user); String oldOid=oldBaseModel.getOid(); diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java index b9ad0fa..7c8b17a 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java @@ -568,6 +568,7 @@ sb.append(VciBaseUtil.toInSql(codeList.toArray(new String[0]))); sb.append(")"); List<Map<String,String>> dataMapList=commonsMapper.queryByOnlySqlForMap(sb.toString()); + List<ClientBusinessObject> cboList= ChangeMapTOClientBusinessObjects(dataMapList); ApplyDatasVO applyDatasVO=new ApplyDatasVO(); ApplyDatasVO editDatasVO=new ApplyDatasVO(); @@ -2306,10 +2307,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,user); + 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()); -- Gitblit v1.9.3