From ec56ff8b46aef27067550fdf49dddfbc50b57507 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 11 Jul 2024 16:08:26 +0800 Subject: [PATCH] =?UTF-8?q?DM=E6=95=B0=E6=8D=AE=E5=BA=93=EF=BC=8C=E5=B2=97?= =?UTF-8?q?=E4=BD=8D=E6=95=B0=E6=8D=AE=E4=B8=8D=E5=B1=95=E7=A4=BABUG?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/common/IgnoreCaseMap.java | 25 +++++++++++++++++++ .../service/impl/ExtServiceImpl.java | 10 ++++++-- 2 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 src/com/engine/organization/common/IgnoreCaseMap.java diff --git a/src/com/engine/organization/common/IgnoreCaseMap.java b/src/com/engine/organization/common/IgnoreCaseMap.java new file mode 100644 index 00000000..c4cb91f8 --- /dev/null +++ b/src/com/engine/organization/common/IgnoreCaseMap.java @@ -0,0 +1,25 @@ +package com.engine.organization.common; + +import java.util.HashMap; + +/** + * @author:dxfeng + * @createTime: 2024/07/11 + * @version: 1.0 + */ +public class IgnoreCaseMap extends HashMap { + @Override + public V get(Object key) { + if (key instanceof String) { + // 将键转为小写形式再进行查找 + return super.get(((String) key).toLowerCase()); + } + return null; + } + + @Override + public V put(String key, V value) { + // 将键转为小写形式后作为真正的键 + return super.put(key.toLowerCase(), value); + } +} diff --git a/src/com/engine/organization/service/impl/ExtServiceImpl.java b/src/com/engine/organization/service/impl/ExtServiceImpl.java index cc52d564..2d2ee92e 100644 --- a/src/com/engine/organization/service/impl/ExtServiceImpl.java +++ b/src/com/engine/organization/service/impl/ExtServiceImpl.java @@ -4,6 +4,7 @@ import com.api.browser.bean.SearchConditionItem; import com.engine.common.service.HrmCommonService; import com.engine.common.service.impl.HrmCommonServiceImpl; import com.engine.core.impl.Service; +import com.engine.organization.common.IgnoreCaseMap; import com.engine.organization.entity.TopTab; import com.engine.organization.entity.codesetting.po.CodeRulePO; import com.engine.organization.entity.extend.ExtendInfoOperateType; @@ -19,7 +20,6 @@ import com.engine.organization.mapper.extend.*; import com.engine.organization.mapper.personnelcard.CardButtonMapper; import com.engine.organization.service.ExtService; import com.engine.organization.util.OrganizationAssert; -import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -85,9 +85,15 @@ public class ExtServiceImpl extends Service implements ExtService { ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName(tableName).fields(fields).params(null).id(id).build(); Map compExtMap = getExtMapper().listExt(infoParams); + IgnoreCaseMap ignoreCaseMap = new IgnoreCaseMap<>(); + if (null != compExtMap) { + for (Map.Entry entry : compExtMap.entrySet()) { + ignoreCaseMap.put(entry.getKey(), entry.getValue()); + } + } // 组装拓展页内容 for (ExtendInfoPO extendInfoPO : infoPOList) { - SearchConditionItem item = ExtendInfoBO.getSearchConditionItem(user, viewAttr, extendInfoPO, null == compExtMap ? null : compExtMap.get(DBType.isOracle() ? extendInfoPO.getFieldName().toUpperCase() : extendInfoPO.getFieldName())); + SearchConditionItem item = ExtendInfoBO.getSearchConditionItem(user, viewAttr, extendInfoPO, ignoreCaseMap.get(extendInfoPO.getFieldName())); item.setFieldcol(16); if (2 == viewAttr) { if (CollectionUtils.isNotEmpty(readOnlyFieldList) && readOnlyFieldList.contains(extendInfoPO.getFieldName())) {