From 2886ae7e0be2a4bb71deb5c430db3c59cd895df4 Mon Sep 17 00:00:00 2001 From: zhuxinru Date: Wed, 10 Dec 2025 09:50:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=AD=97=E5=85=B8=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SimulationSystemConfigController.java | 4 ++-- .../com/sdm/system/dao/SimulationSystemMapper.java | 3 +++ .../service/ISimulationSystemConfigService.java | 2 +- .../impl/SimulationSystemConfigServiceImpl.java | 12 ++++++++++-- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/system/src/main/java/com/sdm/system/controller/SimulationSystemConfigController.java b/system/src/main/java/com/sdm/system/controller/SimulationSystemConfigController.java index 87ea7c35..e12b2b0b 100644 --- a/system/src/main/java/com/sdm/system/controller/SimulationSystemConfigController.java +++ b/system/src/main/java/com/sdm/system/controller/SimulationSystemConfigController.java @@ -93,9 +93,9 @@ public class SimulationSystemConfigController implements ISysConfigFeignClient { @GetMapping(value = "/getDictionaryClass") @ResponseBody - SdmResponse getDictionaryDefineClass(@RequestParam(required = false) String titleName,@RequestParam(required = false) String className,int current,int size) + SdmResponse getDictionaryDefineClass(@RequestParam(required = false) String titleName,@RequestParam(required = false) String className,@RequestParam(required = false) String dictName,int current,int size) { - return service.queryDictionaryDefineClass(titleName,className,current,size); + return service.queryDictionaryDefineClass(titleName,className,dictName,current,size); } @GetMapping(value = "/getDictionaryClassDetail") diff --git a/system/src/main/java/com/sdm/system/dao/SimulationSystemMapper.java b/system/src/main/java/com/sdm/system/dao/SimulationSystemMapper.java index 184f1bc0..fea17a20 100644 --- a/system/src/main/java/com/sdm/system/dao/SimulationSystemMapper.java +++ b/system/src/main/java/com/sdm/system/dao/SimulationSystemMapper.java @@ -20,6 +20,9 @@ public interface SimulationSystemMapper { @Select("SELECT * FROM simulation_data_dictionary WHERE tenantId=#{tenantId}") List getAllDictionaryData(@Param("tenantId") long tenantId); + @Select("SELECT * FROM simulation_data_dictionary WHERE tenantId = #{tenantId} AND dictName like CONCAT('%',#{dictName},'%')") + List queryDictionaryClassByDictName(@Param("dictName") String dictName, @Param("tenantId") long tenantId); + @Delete("DELETE FROM simulation_data_dictionary WHERE dictClass=#{dictClass} AND tenantId=#{tenantId}") int deleteDictionaryClassItems(@Param("dictClass")String dictClass,@Param("tenantId") long tenantId); diff --git a/system/src/main/java/com/sdm/system/service/ISimulationSystemConfigService.java b/system/src/main/java/com/sdm/system/service/ISimulationSystemConfigService.java index 3d917a2c..fa27f4b1 100644 --- a/system/src/main/java/com/sdm/system/service/ISimulationSystemConfigService.java +++ b/system/src/main/java/com/sdm/system/service/ISimulationSystemConfigService.java @@ -31,7 +31,7 @@ public interface ISimulationSystemConfigService { SdmResponse deleteDictionaryDefineClass(String uuid); - SdmResponse queryDictionaryDefineClass(String titleName, String className, int current, int size); + SdmResponse queryDictionaryDefineClass(String titleName, String className, String dictName, int current, int size); SdmResponse queryDictinaryClassDetail(String uuid); diff --git a/system/src/main/java/com/sdm/system/service/impl/SimulationSystemConfigServiceImpl.java b/system/src/main/java/com/sdm/system/service/impl/SimulationSystemConfigServiceImpl.java index f1d0f09c..768021b3 100644 --- a/system/src/main/java/com/sdm/system/service/impl/SimulationSystemConfigServiceImpl.java +++ b/system/src/main/java/com/sdm/system/service/impl/SimulationSystemConfigServiceImpl.java @@ -187,8 +187,9 @@ public class SimulationSystemConfigServiceImpl extends BaseService implements IS * 查询所有定义的字典分类 * @return */ - public SdmResponse queryDictionaryDefineClass(String titleName,String className,int pageNo,int size) + public SdmResponse queryDictionaryDefineClass(String titleName,String className,String dictName,int pageNo,int size) { + long tenantId = ThreadLocalContext.getTenantId(); SdmResponse response = SdmResponse.success(); String condition = " 1"; if(bStringNotBlank(titleName)) @@ -199,7 +200,14 @@ public class SimulationSystemConfigServiceImpl extends BaseService implements IS { condition += " AND className LIKE '%"+className+"%'"; } - long tenantId = ThreadLocalContext.getTenantId(); + if(bStringNotBlank(dictName)) + { + List dictionaries = mapper.queryDictionaryClassByDictName(dictName, tenantId); + if (CollectionUtils.isNotEmpty(dictionaries)) { + String dictClass = dictionaries.stream().map(DataDictionary::getDictClass).collect(Collectors.joining("','")); + condition += " AND className IN ('" + dictClass + "')"; + } + } int count = mapper.queryDictionaryClassTotal(condition,tenantId); int pos = (pageNo-1)*size; List classes = mapper.queryAllDictionaryClass(condition,pos,size,tenantId);