From 0fc9e691981dd34cfb34ecd0a32ca563af008a13 Mon Sep 17 00:00:00 2001 From: liulujian Date: Thu, 11 Jun 2026 23:11:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E7=A9=BA=E6=8C=87=E9=92=88=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../txw/gxzx/mapper/TxwGxzxGxxxbMapper.java | 42 +++---- txw-mhzc/sql/fix_fwlxjh_20260611.sql | 107 +++++++++--------- .../txw/mhzc/mapper/TxwGxzxGxxxbMapper.java | 42 +++---- 3 files changed, 98 insertions(+), 93 deletions(-) diff --git a/txw-gxzx/txw-gxzx-service-biz/src/main/java/com/css/txw/gxzx/mapper/TxwGxzxGxxxbMapper.java b/txw-gxzx/txw-gxzx-service-biz/src/main/java/com/css/txw/gxzx/mapper/TxwGxzxGxxxbMapper.java index a67104f..c4bd188 100644 --- a/txw-gxzx/txw-gxzx-service-biz/src/main/java/com/css/txw/gxzx/mapper/TxwGxzxGxxxbMapper.java +++ b/txw-gxzx/txw-gxzx-service-biz/src/main/java/com/css/txw/gxzx/mapper/TxwGxzxGxxxbMapper.java @@ -69,32 +69,34 @@ public interface TxwGxzxGxxxbMapper extends BaseMapper { default List getQyuuidsByFwlxjh(List fwlxjhCodes) { if (GyUtils.isNull(fwlxjhCodes) || fwlxjhCodes.isEmpty()) return null; - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("DISTINCT qyuuid"); - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < fwlxjhCodes.size(); i++) { - if (i > 0) sb.append(" OR "); - sb.append("FIND_IN_SET({").append(i).append("}, fwlxjh) > 0"); - } - wrapper.apply(sb.toString(), fwlxjhCodes.toArray()); - wrapper.lambda() + QueryWrapperX wrapper = new QueryWrapperX<>(); + wrapper.select("DISTINCT qyuuid").lambda() + .and(w -> { + for (int i = 0; i < fwlxjhCodes.size(); i++) { + if (i == 0) { + w.apply("FIND_IN_SET({0}, fwlxjh) > 0", fwlxjhCodes.get(i)); + } else { + w.or().apply("FIND_IN_SET({0}, fwlxjh) > 0", fwlxjhCodes.get(i)); + } + } + }) .eq(TxwGxzxGxxxbDO::getSjzt, "Y") .eq(TxwGxzxGxxxbDO::getZt, "3"); return selectList(wrapper); } default List getGxuuidsByFwlxjh(List qyuuids, List fwlxjhCodes) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("DISTINCT gx_uuid"); - if (!GyUtils.isNull(fwlxjhCodes) && fwlxjhCodes.size() > 0) { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < fwlxjhCodes.size(); i++) { - if (i > 0) sb.append(" OR "); - sb.append("FIND_IN_SET({").append(i).append("}, fwlxjh) > 0"); - } - wrapper.apply(sb.toString(), fwlxjhCodes.toArray()); - } - wrapper.lambda() + QueryWrapperX wrapper = new QueryWrapperX<>(); + wrapper.select("DISTINCT gx_uuid").lambda() + .and(!GyUtils.isNull(fwlxjhCodes) && fwlxjhCodes.size() > 0, w -> { + for (int i = 0; i < fwlxjhCodes.size(); i++) { + if (i == 0) { + w.apply("FIND_IN_SET({0}, fwlxjh) > 0", fwlxjhCodes.get(i)); + } else { + w.or().apply("FIND_IN_SET({0}, fwlxjh) > 0", fwlxjhCodes.get(i)); + } + } + }) .in(!GyUtils.isNull(qyuuids) && qyuuids.size() > 0, TxwGxzxGxxxbDO::getQyuuid, qyuuids) .eq(TxwGxzxGxxxbDO::getSjzt, "Y") .eq(TxwGxzxGxxxbDO::getZt, "3"); diff --git a/txw-mhzc/sql/fix_fwlxjh_20260611.sql b/txw-mhzc/sql/fix_fwlxjh_20260611.sql index 566f17e..afef35a 100644 --- a/txw-mhzc/sql/fix_fwlxjh_20260611.sql +++ b/txw-mhzc/sql/fix_fwlxjh_20260611.sql @@ -1,9 +1,10 @@ -- ============================================ -- 修复 txw_gxzx_gxxxb 表 fwlxjh 字段缺失数据 -- 日期: 2026-06-11 --- 说明: 当前表内 38 条数据 fwlxjh 全部为 NULL, --- 根据标题和描述内容分析后补充分类代码 +-- 说明: 使用 qymc + bt_1 定位记录,跨环境通用 -- ============================================ +SET NAMES utf8mb4; +SET CHARACTER SET utf8mb4; -- 服务类型代码对照: -- FWLX001 碳核查服务 -- FWLX002 碳足迹核算 @@ -13,68 +14,68 @@ -- FWLX006 碳交易咨询 -- ============================================ --- === AMT 企源(8条) === -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003' WHERE gx_uuid = 'ce317b37442211f19b640242ac110003'; -- 零碳园区解决方案 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX004,FWLX001' WHERE gx_uuid = 'ce3808c7442211f19b640242ac110003'; -- 基于区块链技术的组织碳管理平台 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX003' WHERE gx_uuid = 'ce4096cc442211f19b640242ac110003'; -- 可持续供应链溯源解决方案 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX004' WHERE gx_uuid = 'ce49d66c442211f19b640242ac110003'; -- 基于区块链技术的能碳双控解决方案 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX001' WHERE gx_uuid = 'ce52cb4d442211f19b640242ac110003'; -- 区块链驱动的全生命周期碳足迹溯源 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX002' WHERE gx_uuid = 'ce605a5c442211f19b640242ac110003'; -- 绿色产品生态设计平台 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX005' WHERE gx_uuid = 'ce6bce7f442211f19b640242ac110003'; -- ESG 综合服务平台 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002' WHERE gx_uuid = 'ce74b530442211f19b640242ac110003'; -- CBAM 申报平台 +-- === AMT 企源 === +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003' WHERE qymc = 'AMT 企源' AND bt_1 = '零碳园区解决方案'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX004,FWLX001' WHERE qymc = 'AMT 企源' AND bt_1 = '基于区块链技术的组织碳管理平台'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX003' WHERE qymc = 'AMT 企源' AND bt_1 = '可持续供应链溯源解决方案'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX004' WHERE qymc = 'AMT 企源' AND bt_1 = '基于区块链技术的能碳双控解决方案'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX001' WHERE qymc = 'AMT 企源' AND bt_1 = '区块链驱动的全生命周期碳足迹溯源'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX002' WHERE qymc = 'AMT 企源' AND bt_1 = '绿色产品生态设计平台'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX005' WHERE qymc = 'AMT 企源' AND bt_1 = 'ESG 综合服务平台'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002' WHERE qymc = 'AMT 企源' AND bt_1 = 'CBAM 申报平台'; --- === TUV 北德(3条) === -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001' WHERE gx_uuid = 'cdc41541442211f19b640242ac110003'; -- ISO 14064-1 温室气体核查认证解决方案 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX001' WHERE gx_uuid = 'cdcd6807442211f19b640242ac110003'; -- ISO 14067 产品碳足迹核查认证解决方案 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001,FWLX003' WHERE gx_uuid = 'cdd4a5fa442211f19b640242ac110003'; -- ISO 14068-1 碳中和核查认证解决方案 +-- === TUV 北德 === +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001' WHERE qymc = 'TUV 北德' AND bt_1 = 'ISO 14064-1 温室气体核查认证解决方案'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX001' WHERE qymc = 'TUV 北德' AND bt_1 = 'ISO 14067 产品碳足迹核查认证解决方案'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001,FWLX003' WHERE qymc = 'TUV 北德' AND bt_1 = 'ISO 14068-1 碳中和核查认证解决方案'; --- === 上海建工四建(1条) === -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX001' WHERE gx_uuid = 'cda95df1442211f19b640242ac110003'; -- 基于医院建筑运行特征智能化碳评价 +-- === 上海建工四建 === +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX001' WHERE qymc = '上海建工四建' AND bt_1 = '基于医院建筑运行特征智能化碳评价'; --- === 上海电气(1条) === -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX004' WHERE gx_uuid = 'cdbb1c15442211f19b640242ac110003'; -- 能碳智慧管家解决方案 +-- === 上海电气 === +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX004' WHERE qymc = '上海电气' AND bt_1 = '能碳智慧管家解决方案'; --- === 中国电气装备(6条) === -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX002' WHERE gx_uuid = 'ce7b6ce5442211f19b640242ac110003'; -- 可再生能源溯源解决方案(源侧) -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003' WHERE gx_uuid = 'ce81830d442211f19b640242ac110003'; -- 智能微电网自洽系统解决方案(网侧) -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003' WHERE gx_uuid = 'ce8a637f442211f19b640242ac110003'; -- 零碳园区解决方案(荷侧) -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX004' WHERE gx_uuid = 'ce90c900442211f19b640242ac110003'; -- 电化学储能解决方案(储侧) -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX004,FWLX002' WHERE gx_uuid = 'ce99a70c442211f19b640242ac110003'; -- 碳数据库解决方案(装备侧) -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX006' WHERE gx_uuid = 'ce9fdedf442211f19b640242ac110003'; -- 虚拟电厂场景解决方案(调控侧) +-- === 中国电气装备 === +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX002' WHERE qymc = '中国电气装备' AND bt_1 = '可再生能源溯源解决方案(源侧)'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003' WHERE qymc = '中国电气装备' AND bt_1 = '智能微电网自洽系统解决方案(网侧)'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003' WHERE qymc = '中国电气装备' AND bt_1 = '零碳园区解决方案(荷侧)'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX004' WHERE qymc = '中国电气装备' AND bt_1 = '电化学储能解决方案(储侧)'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX004,FWLX002' WHERE qymc = '中国电气装备' AND bt_1 = '碳数据库解决方案(装备侧)'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX006' WHERE qymc = '中国电气装备' AND bt_1 = '虚拟电厂场景解决方案(调控侧)'; --- === 必维认证(5条) === -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX001' WHERE gx_uuid = 'ce03b3ff442211f19b640242ac110003'; -- CBAM 填报 & 核验服务流程 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001' WHERE gx_uuid = 'cdddffa7442211f19b640242ac110003'; -- ISO 14064 盘查 & 核查服务流程 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX001' WHERE gx_uuid = 'cdea38f3442211f19b640242ac110003'; -- ISO 14067 产品碳足迹服务流程 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001,FWLX003' WHERE gx_uuid = 'cdf3b4c0442211f19b640242ac110003'; -- ISO 14068 碳中和服务流程 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001,FWLX005' WHERE gx_uuid = 'cdfc4d29442211f19b640242ac110003'; -- PAS 2080 碳管理体系服务流程 +-- === 必维认证 === +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX001' WHERE qymc = '必维认证' AND bt_1 = 'CBAM 填报 & 核验服务流程'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001' WHERE qymc = '必维认证' AND bt_1 = 'ISO 14064 盘查 & 核查服务流程'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX001' WHERE qymc = '必维认证' AND bt_1 = 'ISO 14067 产品碳足迹服务流程'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001,FWLX003' WHERE qymc = '必维认证' AND bt_1 = 'ISO 14068 碳中和服务流程'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001,FWLX005' WHERE qymc = '必维认证' AND bt_1 = 'PAS 2080 碳管理体系服务流程'; --- === 时链科技(1条) === -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003' WHERE gx_uuid = 'cd9a22ce442211f19b640242ac110003'; -- 建筑节能降碳服务解决方案 +-- === 时链科技 === +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003' WHERE qymc = '时链科技' AND bt_1 = '建筑节能降碳服务解决方案'; --- === 易碳数科(4条) === -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX004' WHERE gx_uuid = 'ce0dc26c442211f19b640242ac110003'; -- HiQLCD 数据库 + HiQEditor -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX004' WHERE gx_uuid = 'ce169633442211f19b640242ac110003'; -- 积木 LCA 云 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX004,FWLX002' WHERE gx_uuid = 'ce1ff51d442211f19b640242ac110003'; -- 积木碳云 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX001' WHERE gx_uuid = 'ce288963442211f19b640242ac110003'; -- 碳边境调节机制计算工具 CBAM TOOL +-- === 易碳数科 === +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX004' WHERE qymc = '易碳数科' AND bt_1 = 'HiQLCD 数据库 + HiQEditor'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX004' WHERE qymc = '易碳数科' AND bt_1 = '积木 LCA 云'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX004,FWLX002' WHERE qymc = '易碳数科' AND bt_1 = '积木碳云'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX001' WHERE qymc = '易碳数科' AND bt_1 = '碳边境调节机制计算工具 CBAM TOOL'; --- === 欧冶云商(3条) === -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX001' WHERE gx_uuid = 'cd56cf72442211f19b640242ac110003'; -- CBAM 辅助核算系统 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX001' WHERE gx_uuid = 'cd6eda65442211f19b640242ac110003'; -- 钢铁全产业链 EPD 平台 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002' WHERE gx_uuid = 'cd87231d442211f19b640242ac110003'; -- OYLCA 工具 +-- === 欧冶云商 === +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX001' WHERE qymc = '欧冶云商' AND bt_1 = 'CBAM 辅助核算系统'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002,FWLX001' WHERE qymc = '欧冶云商' AND bt_1 = '钢铁全产业链 EPD 平台'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX002' WHERE qymc = '欧冶云商' AND bt_1 = 'OYLCA 工具'; --- === 联合征信(3条) === -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001,FWLX005' WHERE gx_uuid = 'cd20589c442211f19b640242ac110003'; -- 绿色企业认定 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001,FWLX003' WHERE gx_uuid = 'cd2d00a6442211f19b640242ac110003'; -- 绿色项目认定 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001,FWLX005' WHERE gx_uuid = 'cd36f2ac442211f19b640242ac110003'; -- 中小企业环境信息披露 +-- === 联合征信 === +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001,FWLX005' WHERE qymc = '联合征信' AND bt_1 = '绿色企业认定'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001,FWLX003' WHERE qymc = '联合征信' AND bt_1 = '绿色项目认定'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX001,FWLX005' WHERE qymc = '联合征信' AND bt_1 = '中小企业环境信息披露'; --- === 零数科技(3条) === -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX004,FWLX006' WHERE gx_uuid = 'cd3fd389442211f19b640242ac110003'; -- 碳资产管理平台解决方案 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX006,FWLX004' WHERE gx_uuid = 'cd48aee1442211f19b640242ac110003'; -- 碳交易最优策略模拟平台解决方案 -UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX004,FWLX003' WHERE gx_uuid = 'cd4f0827442211f19b640242ac110003'; -- CCER 碳资产开发平台解决方案 +-- === 零数科技 === +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX004,FWLX006' WHERE qymc = '零数科技' AND bt_1 = '碳资产管理平台解决方案'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX006,FWLX004' WHERE qymc = '零数科技' AND bt_1 = '碳交易最优策略模拟平台解决方案'; +UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX004,FWLX003' WHERE qymc = '零数科技' AND bt_1 = 'CCER 碳资产开发平台解决方案'; -- ============================================ --- 验证 +-- 验证(确保每条语句都命中且仅命中1条) -- ============================================ --- SELECT gx_uuid, qymc, bt_1, fwlxjh FROM txw_gxzx_gxxxb WHERE fwlxjh IS NOT NULL; +-- SELECT qymc, bt_1, fwlxjh FROM txw_gxzx_gxxxb ORDER BY qymc, bt_1; -- SELECT fwlxjh, COUNT(*) cnt FROM txw_gxzx_gxxxb GROUP BY fwlxjh ORDER BY cnt DESC; diff --git a/txw-mhzc/txw-mhzc-service-biz/src/main/java/com/css/txw/mhzc/mapper/TxwGxzxGxxxbMapper.java b/txw-mhzc/txw-mhzc-service-biz/src/main/java/com/css/txw/mhzc/mapper/TxwGxzxGxxxbMapper.java index 66dda84..479b7cf 100644 --- a/txw-mhzc/txw-mhzc-service-biz/src/main/java/com/css/txw/mhzc/mapper/TxwGxzxGxxxbMapper.java +++ b/txw-mhzc/txw-mhzc-service-biz/src/main/java/com/css/txw/mhzc/mapper/TxwGxzxGxxxbMapper.java @@ -70,32 +70,34 @@ public interface TxwGxzxGxxxbMapper extends BaseMapper { default List getQyuuidsByFwlxjh(List fwlxjhCodes) { if (GyUtils.isNull(fwlxjhCodes) || fwlxjhCodes.isEmpty()) return null; - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("DISTINCT qyuuid"); - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < fwlxjhCodes.size(); i++) { - if (i > 0) sb.append(" OR "); - sb.append("FIND_IN_SET({").append(i).append("}, fwlxjh) > 0"); - } - wrapper.apply(sb.toString(), fwlxjhCodes.toArray()); - wrapper.lambda() + QueryWrapperX wrapper = new QueryWrapperX<>(); + wrapper.select("DISTINCT qyuuid").lambda() + .and(w -> { + for (int i = 0; i < fwlxjhCodes.size(); i++) { + if (i == 0) { + w.apply("FIND_IN_SET({0}, fwlxjh) > 0", fwlxjhCodes.get(i)); + } else { + w.or().apply("FIND_IN_SET({0}, fwlxjh) > 0", fwlxjhCodes.get(i)); + } + } + }) .eq(TxwGxzxGxxxbDO::getSjzt, "Y") .eq(TxwGxzxGxxxbDO::getZt, "3"); return selectList(wrapper); } default List getGxuuidsByFwlxjh(List qyuuids, List fwlxjhCodes) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("DISTINCT gx_uuid"); - if (!GyUtils.isNull(fwlxjhCodes) && fwlxjhCodes.size() > 0) { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < fwlxjhCodes.size(); i++) { - if (i > 0) sb.append(" OR "); - sb.append("FIND_IN_SET({").append(i).append("}, fwlxjh) > 0"); - } - wrapper.apply(sb.toString(), fwlxjhCodes.toArray()); - } - wrapper.lambda() + QueryWrapperX wrapper = new QueryWrapperX<>(); + wrapper.select("DISTINCT gx_uuid").lambda() + .and(!GyUtils.isNull(fwlxjhCodes) && fwlxjhCodes.size() > 0, w -> { + for (int i = 0; i < fwlxjhCodes.size(); i++) { + if (i == 0) { + w.apply("FIND_IN_SET({0}, fwlxjh) > 0", fwlxjhCodes.get(i)); + } else { + w.or().apply("FIND_IN_SET({0}, fwlxjh) > 0", fwlxjhCodes.get(i)); + } + } + }) .in(!GyUtils.isNull(qyuuids) && qyuuids.size() > 0, TxwGxzxGxxxbDO::getQyuuid, qyuuids) .eq(TxwGxzxGxxxbDO::getSjzt, "Y") .eq(TxwGxzxGxxxbDO::getZt, "3");