diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/adapter/FrameWorkAdapter.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/adapter/FrameWorkAdapter.java index 9039e64..f9ff384 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/adapter/FrameWorkAdapter.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/adapter/FrameWorkAdapter.java @@ -353,6 +353,13 @@ public class FrameWorkAdapter implements IlideeYunjiAdapter { return dataList; } + //获取所有设备类型名称列表 + @TenantIgnore + @Override + public List> getAllSblxNameList() { + return adapterMapper.getAllSblxNameList(); + } + //获取用户分页列表 @Override public Object getUserPage(Integer pageNo, Integer pageSize, lideeYunJiUserParam param) { diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/config/btncommand/filter/FormatCriteriaList.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/config/btncommand/filter/FormatCriteriaList.java index 309a8e4..05bc0b8 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/config/btncommand/filter/FormatCriteriaList.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/config/btncommand/filter/FormatCriteriaList.java @@ -37,6 +37,7 @@ public class FormatCriteriaList implements CriteriaList{ List userKeyList = fieldWebMapper.getUserControlTypeFieldCodeList(dbformId);//那些字段是用户控件 List deptKeyList = fieldWebMapper.getDeptControlTypeFieldCodeList(dbformId);//那些字段是部门控件 List areaKeyList = fieldWebMapper.getAreaControlTypeFieldCodeList(dbformId);//那些字段是区域控件 + List sblxKeyList = fieldWebMapper.getSblxControlTypeFieldCodeList(dbformId);//那些字段是设备类型控件 //用户 Map nickNameMap = new HashMap<>(); @@ -58,6 +59,16 @@ public class FormatCriteriaList implements CriteriaList{ map -> Func.getMap2Str(map, "name"), (existing, replacement) -> existing)); // 处理重复key的情况,保留第一个值 } + //设备类型 + Map sblxNameMap = new HashMap<>(); + if (FuncBase.isNotEmpty(sblxKeyList)) { + List> sblxNameMapList = adapterMapper.getAllSblxNameList(); + sblxNameMap = sblxNameMapList.stream() + .collect(Collectors.toMap( + map -> Func.getMap2Long(map, "id"), + map -> Func.getMap2Str(map, "industry_name"), + (existing, replacement) -> existing)); // 处理重复key的情况,保留第一个值 + } //字典集合 @@ -75,6 +86,7 @@ public class FormatCriteriaList implements CriteriaList{ //数据里面会存在id,或者字典等,如:1=男,需要转为文字 Map finalNickNameMap = nickNameMap; Map finalDeptNameMap = deptNameMap; + Map finalSblxNameMap = sblxNameMap; dataMapList.forEach(dataMap -> { //处理字典 for (String key : dictKeyList) { @@ -161,6 +173,34 @@ public class FormatCriteriaList implements CriteriaList{ } dataMap.put(key, deptnames); } + //处理设备类型 + for(String key : sblxKeyList){ + String valStr = lideeYunJiUtils.getMap2Str(dataMap, key); + if (FuncBase.isEmpty(valStr)) { + continue; + } + String sblxnames=""; + //有可能是多选 + List sblxIdList = Func.toStrList(valStr); + for (String sblxId : sblxIdList) {//有可能是多选的情况下111,222,333 + //获取名称 + String sblxName = finalSblxNameMap.get(Func.toLong(sblxId)); + + if (Func.isEmpty(sblxName)) { + continue; + } + if (Func.isEmpty(sblxnames)) { + sblxnames = sblxName; + } else { + sblxnames += "、" + sblxName; + } + } + + if (FuncBase.isEmpty(sblxnames)) { + continue; + } + dataMap.put(key, sblxnames); + } //处理区域 for(String key : areaKeyList){ String valStr = lideeYunJiUtils.getMap2Str(dataMap, key); diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/AdapterMapper.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/AdapterMapper.java index c082830..dd3c9eb 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/AdapterMapper.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/AdapterMapper.java @@ -36,6 +36,10 @@ public interface AdapterMapper { //获取所有部门名称 List> getAllDeptNameList(); + //获取所有设备类型名称列表 + @TenantIgnore + List> getAllSblxNameList(); + @TenantIgnore @lideeYunjiCache(cacheNames = "'"+ lideeRedisConstants.REDIS_ADAPTER+":getUserIdByNikeName:' + #tenantId+'_' + #nikeName", reflexClass = Long.class) List getUserIdByNikeName(Long tenantId,String nikeName); @@ -70,8 +74,8 @@ public interface AdapterMapper { IPage getUserPageByRoleId(Long tenantId, IPage page, Long roleId, List deptIdList, @Param("params") Map params); /** - * 根据表单id获取表单的字段对应的字典 - * @param dbFormId + * 根据字典编码获取字典数据 + * @param dictCode 字典编码 * @return */ @lideeYunjiCache(cacheNames = "'"+ lideeRedisConstants.REDIS_ADAPTER+":getDictMap:' + #dictCode", reflexClass = Map.class,nullIsSave = true) diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/FormFieldWebMapper.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/FormFieldWebMapper.java index 087e5a8..2f1ee3a 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/FormFieldWebMapper.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/FormFieldWebMapper.java @@ -96,4 +96,18 @@ public interface FormFieldWebMapper extends BaseMapper { return this.selectList(webWrapper); } + //获取设备类型控件字段 + default List getSblxControlTypeFieldCodeList(Long dbFormId){ + LambdaQueryWrapper webWrapper=new LambdaQueryWrapper<>(); + webWrapper.eq(FormFieldWebEntity::getDbformId,dbFormId); + webWrapper.eq(FormFieldWebEntity::getControlType,"sblxSelect"); + webWrapper.select(FormFieldWebEntity::getFieldCode); + List webEntityList = this.selectList(webWrapper); + //遍历返回list + List fieldCodeList = webEntityList.stream() + .map(FormFieldWebEntity::getFieldCode) + .collect(Collectors.toList()); + return fieldCodeList; + } + } diff --git a/lidee-core/src/main/resources/mapper/framework/AdapterMapper.xml b/lidee-core/src/main/resources/mapper/framework/AdapterMapper.xml index 6d4c819..d3fea48 100644 --- a/lidee-core/src/main/resources/mapper/framework/AdapterMapper.xml +++ b/lidee-core/src/main/resources/mapper/framework/AdapterMapper.xml @@ -21,6 +21,10 @@ select id,name from system_dept + + + + + diff --git a/lidee-tool/tool-spring-boot-starter-yunji/src/main/java/com/lideeyunji/tool/framework/yunji/adapter/IlideeYunjiAdapter.java b/lidee-tool/tool-spring-boot-starter-yunji/src/main/java/com/lideeyunji/tool/framework/yunji/adapter/IlideeYunjiAdapter.java index 1fd9717..0fba137 100644 --- a/lidee-tool/tool-spring-boot-starter-yunji/src/main/java/com/lideeyunji/tool/framework/yunji/adapter/IlideeYunjiAdapter.java +++ b/lidee-tool/tool-spring-boot-starter-yunji/src/main/java/com/lideeyunji/tool/framework/yunji/adapter/IlideeYunjiAdapter.java @@ -63,6 +63,9 @@ public interface IlideeYunjiAdapter { //设备类型 List> getSblxViewList(List sblxIdList); + //获取所有设备类型名称列表 + List> getAllSblxNameList(); + //获取用户分页列表 Object getUserPage(Integer pageNo, Integer pageSize, lideeYunJiUserParam param);