feat: 服务中心类型筛选
This commit is contained in:
parent
0b8ea2cdf0
commit
49b47d2ac3
@ -66,6 +66,40 @@ public interface TxwGxzxGxxxbMapper extends BaseMapper<TxwGxzxGxxxbDO> {
|
|||||||
.orderByDesc(TxwGxzxGxxxbDO::getLrrq);
|
.orderByDesc(TxwGxzxGxxxbDO::getLrrq);
|
||||||
return selectPage(page,wrapper);
|
return selectPage(page,wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default List<TxwGxzxGxxxbDO> getQyuuidsByFwlxjh(List<String> fwlxjhCodes) {
|
||||||
|
if (GyUtils.isNull(fwlxjhCodes) || fwlxjhCodes.isEmpty()) return null;
|
||||||
|
QueryWrapper<TxwGxzxGxxxbDO> 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()
|
||||||
|
.eq(TxwGxzxGxxxbDO::getSjzt, "Y")
|
||||||
|
.eq(TxwGxzxGxxxbDO::getZt, "3");
|
||||||
|
return selectList(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
default List<TxwGxzxGxxxbDO> getGxuuidsByFwlxjh(List<String> qyuuids, List<String> fwlxjhCodes) {
|
||||||
|
QueryWrapper<TxwGxzxGxxxbDO> 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()
|
||||||
|
.in(!GyUtils.isNull(qyuuids) && qyuuids.size() > 0, TxwGxzxGxxxbDO::getQyuuid, qyuuids)
|
||||||
|
.eq(TxwGxzxGxxxbDO::getSjzt, "Y")
|
||||||
|
.eq(TxwGxzxGxxxbDO::getZt, "3");
|
||||||
|
return selectList(wrapper);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -62,9 +62,9 @@ public class TxwGxzxShqkbServiceImpl extends ServiceImpl<TxwGxzxShqkbMapper, Txw
|
|||||||
|
|
||||||
Set<String> gxuuids = new LinkedHashSet<>();
|
Set<String> gxuuids = new LinkedHashSet<>();
|
||||||
if (!GyUtils.isNull(reqVO.getFwlxjh())){
|
if (!GyUtils.isNull(reqVO.getFwlxjh())){
|
||||||
List<TxwGxzxGxbqbDO> list = gxbqbMapper.getGxuuids(reqVO.getQyuuids(),reqVO.getFwlxjh());
|
List<TxwGxzxGxxxbDO> list = gxxxbMapper.getGxuuidsByFwlxjh(reqVO.getQyuuids(), reqVO.getFwlxjh());
|
||||||
if (GyUtils.isNull(list)) return null;
|
if (GyUtils.isNull(list)) return null;
|
||||||
gxuuids = list.stream().map(TxwGxzxGxbqbDO::getGxUuid).collect(Collectors.toSet());
|
gxuuids = list.stream().map(TxwGxzxGxxxbDO::getGxUuid).collect(Collectors.toSet());
|
||||||
if (GyUtils.isNull(gxuuids)||gxuuids.size()<1) return null;
|
if (GyUtils.isNull(gxuuids)||gxuuids.size()<1) return null;
|
||||||
if (!GyUtils.isNull(reqVO.getScbz())&&"Y".equals(reqVO.getScbz())){
|
if (!GyUtils.isNull(reqVO.getScbz())&&"Y".equals(reqVO.getScbz())){
|
||||||
gxuuids.retainAll(scgxuuid);
|
gxuuids.retainAll(scgxuuid);
|
||||||
@ -135,9 +135,9 @@ public class TxwGxzxShqkbServiceImpl extends ServiceImpl<TxwGxzxShqkbMapper, Txw
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getQyuuidsByBq(GxxxReqVO reqVO) {
|
public List<String> getQyuuidsByBq(GxxxReqVO reqVO) {
|
||||||
List<TxwGxzxGxbqbDO> list = gxbqbMapper.getQyuuids(reqVO.getFwlxjh());
|
List<TxwGxzxGxxxbDO> list = gxxxbMapper.getQyuuidsByFwlxjh(reqVO.getFwlxjh());
|
||||||
if (GyUtils.isNull(list)) return null;
|
if (GyUtils.isNull(list)) return null;
|
||||||
return list.stream().map(TxwGxzxGxbqbDO::getQyuuid).collect(Collectors.toList());
|
return list.stream().map(TxwGxzxGxxxbDO::getQyuuid).distinct().collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
80
txw-mhzc/sql/fix_fwlxjh_20260611.sql
Normal file
80
txw-mhzc/sql/fix_fwlxjh_20260611.sql
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
-- ============================================
|
||||||
|
-- 修复 txw_gxzx_gxxxb 表 fwlxjh 字段缺失数据
|
||||||
|
-- 日期: 2026-06-11
|
||||||
|
-- 说明: 当前表内 38 条数据 fwlxjh 全部为 NULL,
|
||||||
|
-- 根据标题和描述内容分析后补充分类代码
|
||||||
|
-- ============================================
|
||||||
|
-- 服务类型代码对照:
|
||||||
|
-- FWLX001 碳核查服务
|
||||||
|
-- FWLX002 碳足迹核算
|
||||||
|
-- FWLX003 碳减排技术服务
|
||||||
|
-- FWLX004 碳资产管理服务
|
||||||
|
-- FWLX005 ESG报告编制
|
||||||
|
-- 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 申报平台
|
||||||
|
|
||||||
|
-- === 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 碳中和核查认证解决方案
|
||||||
|
|
||||||
|
-- === 上海建工四建(1条) ===
|
||||||
|
UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX001' WHERE gx_uuid = 'cda95df1442211f19b640242ac110003'; -- 基于医院建筑运行特征智能化碳评价
|
||||||
|
|
||||||
|
-- === 上海电气(1条) ===
|
||||||
|
UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003,FWLX004' WHERE gx_uuid = 'cdbb1c15442211f19b640242ac110003'; -- 能碳智慧管家解决方案
|
||||||
|
|
||||||
|
-- === 中国电气装备(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'; -- 虚拟电厂场景解决方案(调控侧)
|
||||||
|
|
||||||
|
-- === 必维认证(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 碳管理体系服务流程
|
||||||
|
|
||||||
|
-- === 时链科技(1条) ===
|
||||||
|
UPDATE txw_gxzx_gxxxb SET fwlxjh = 'FWLX003' WHERE gx_uuid = 'cd9a22ce442211f19b640242ac110003'; -- 建筑节能降碳服务解决方案
|
||||||
|
|
||||||
|
-- === 易碳数科(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
|
||||||
|
|
||||||
|
-- === 欧冶云商(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 工具
|
||||||
|
|
||||||
|
-- === 联合征信(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'; -- 中小企业环境信息披露
|
||||||
|
|
||||||
|
-- === 零数科技(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 碳资产开发平台解决方案
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 验证
|
||||||
|
-- ============================================
|
||||||
|
-- SELECT gx_uuid, qymc, bt_1, fwlxjh FROM txw_gxzx_gxxxb WHERE fwlxjh IS NOT NULL;
|
||||||
|
-- SELECT fwlxjh, COUNT(*) cnt FROM txw_gxzx_gxxxb GROUP BY fwlxjh ORDER BY cnt DESC;
|
||||||
@ -67,6 +67,40 @@ public interface TxwGxzxGxxxbMapper extends BaseMapper<TxwGxzxGxxxbDO> {
|
|||||||
.orderByDesc(TxwGxzxGxxxbDO::getLrrq);
|
.orderByDesc(TxwGxzxGxxxbDO::getLrrq);
|
||||||
return selectPage(page,wrapper);
|
return selectPage(page,wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default List<TxwGxzxGxxxbDO> getQyuuidsByFwlxjh(List<String> fwlxjhCodes) {
|
||||||
|
if (GyUtils.isNull(fwlxjhCodes) || fwlxjhCodes.isEmpty()) return null;
|
||||||
|
QueryWrapper<TxwGxzxGxxxbDO> 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()
|
||||||
|
.eq(TxwGxzxGxxxbDO::getSjzt, "Y")
|
||||||
|
.eq(TxwGxzxGxxxbDO::getZt, "3");
|
||||||
|
return selectList(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
default List<TxwGxzxGxxxbDO> getGxuuidsByFwlxjh(List<String> qyuuids, List<String> fwlxjhCodes) {
|
||||||
|
QueryWrapper<TxwGxzxGxxxbDO> 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()
|
||||||
|
.in(!GyUtils.isNull(qyuuids) && qyuuids.size() > 0, TxwGxzxGxxxbDO::getQyuuid, qyuuids)
|
||||||
|
.eq(TxwGxzxGxxxbDO::getSjzt, "Y")
|
||||||
|
.eq(TxwGxzxGxxxbDO::getZt, "3");
|
||||||
|
return selectList(wrapper);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -62,9 +62,9 @@ public class TxwGxzxShqkbServiceImpl extends ServiceImpl<TxwGxzxShqkbMapper, Txw
|
|||||||
|
|
||||||
Set<String> gxuuids = new LinkedHashSet<>();
|
Set<String> gxuuids = new LinkedHashSet<>();
|
||||||
if (!GyUtils.isNull(reqVO.getFwlxjh())){
|
if (!GyUtils.isNull(reqVO.getFwlxjh())){
|
||||||
List<TxwGxzxGxbqbDO> list = gxbqbMapper.getGxuuids(reqVO.getQyuuids(),reqVO.getFwlxjh());
|
List<TxwGxzxGxxxbDO> list = gxxxbMapper.getGxuuidsByFwlxjh(reqVO.getQyuuids(), reqVO.getFwlxjh());
|
||||||
if (GyUtils.isNull(list)) return null;
|
if (GyUtils.isNull(list)) return null;
|
||||||
gxuuids = list.stream().map(TxwGxzxGxbqbDO::getGxUuid).collect(Collectors.toSet());
|
gxuuids = list.stream().map(TxwGxzxGxxxbDO::getGxUuid).collect(Collectors.toSet());
|
||||||
if (GyUtils.isNull(gxuuids)||gxuuids.size()<1) return null;
|
if (GyUtils.isNull(gxuuids)||gxuuids.size()<1) return null;
|
||||||
if (!GyUtils.isNull(reqVO.getScbz())&&"Y".equals(reqVO.getScbz())){
|
if (!GyUtils.isNull(reqVO.getScbz())&&"Y".equals(reqVO.getScbz())){
|
||||||
gxuuids.retainAll(scgxuuid);
|
gxuuids.retainAll(scgxuuid);
|
||||||
@ -135,9 +135,9 @@ public class TxwGxzxShqkbServiceImpl extends ServiceImpl<TxwGxzxShqkbMapper, Txw
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getQyuuidsByBq(GxxxReqVO reqVO) {
|
public List<String> getQyuuidsByBq(GxxxReqVO reqVO) {
|
||||||
List<TxwGxzxGxbqbDO> list = gxbqbMapper.getQyuuids(reqVO.getFwlxjh());
|
List<TxwGxzxGxxxbDO> list = gxxxbMapper.getQyuuidsByFwlxjh(reqVO.getFwlxjh());
|
||||||
if (GyUtils.isNull(list)) return null;
|
if (GyUtils.isNull(list)) return null;
|
||||||
return list.stream().map(TxwGxzxGxbqbDO::getQyuuid).collect(Collectors.toList());
|
return list.stream().map(TxwGxzxGxxxbDO::getQyuuid).distinct().collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user