From 11106d9e169c919f8ceedf5621c7ac59f195ca7f Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Tue, 07 Apr 2026 19:26:07 +0800
Subject: [PATCH] opt: 人大金仓数据库改造
---
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.xml | 43 ++++++++++++++++++++++---------------------
1 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.xml b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.xml
index 477565a..fd8cec2 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.xml
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseSceneManageMapper.xml
@@ -116,31 +116,32 @@
dsm.*,
ds.scene_name as defense_scene_name
from ja_fw_defense_scene_manage dsm
- left join ja_fw_defense_scene ds on ds.id::VARCHAR = dsm.defense_scene_id::VARCHAR and ds.is_deleted = 0
- left join ja_fw_area_divide ad on ad.id = ANY(string_to_array(ds.area_divide_ids, ',')::bigint[]) and ad.is_deleted = 0
+ left join ja_fw_defense_scene ds on ds.id::text = dsm.defense_scene_id::text and ds.is_deleted = 0
+ left join ja_fw_area_divide ad on ad.id::text = ANY(string_to_array(replace(ds.area_divide_ids, ' ', ''), ',')) and ad.is_deleted = 0
inner join (
- SELECT
- d.id
- FROM
- ja_fw_device d
- WHERE
- d.is_deleted = 0
- AND d.is_enabled = 1
- AND d.final_outbound_area IS NOT NULL
+ SELECT
+ d.id
+ FROM
+ ja_fw_device d
+ WHERE
+ d.is_deleted = 0
+ AND d.is_enabled = 1
+ AND d.final_outbound_area IS NOT NULL
<if test="fwBaseInfo.regionCode != null and fwBaseInfo.regionCode != ''">
and ( d.final_outbound_area_code like concat(#{fwBaseInfo.regionCode},'%')
<if test="fwBaseInfo.currentDeptId != null and fwBaseInfo.currentDeptId != '' ">
- or d.id in (
- SELECT device_id FROM ja_fw_device_per_share
- WHERE loan_to_dept_id = #{fwBaseInfo.currentDeptId}
- AND is_deleted = 0
- )
- </if>
- )
- </if>
- GROUP BY
- d.id
- ) dd ON dd.id::text = ANY(string_to_array(replace(ad.device_ids, ' ', ''), ','))
+ or d.id in (
+ SELECT device_id FROM ja_fw_device_per_share
+ WHERE
+ loan_to_dept_id = #{fwBaseInfo.currentDeptId}::bigint
+ AND is_deleted = 0
+ )
+ </if>
+ )
+ </if>
+ GROUP BY
+ d.id
+ ) dd ON dd.id::text = ANY(string_to_array(replace(ad.device_ids, ' ', ''), ','))
<where>
dsm.is_deleted = 0
<if test="time != null">
--
Gitblit v1.9.3