From 8585b431e9257333413358eb37c30ae58f74db76 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 13 Aug 2026 15:46:10 +0800
Subject: [PATCH] refactor(database): 优化数据库查询中的字段映射
---
drone-service/drone-gd/src/main/java/org/sxkj/gd/orderdata/mapper/GdSupplyDemandMapper.xml | 35 +++++++++++++++++++----------------
1 files changed, 19 insertions(+), 16 deletions(-)
diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/orderdata/mapper/GdSupplyDemandMapper.xml b/drone-service/drone-gd/src/main/java/org/sxkj/gd/orderdata/mapper/GdSupplyDemandMapper.xml
index a5ed39f..fdc8dd8 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/orderdata/mapper/GdSupplyDemandMapper.xml
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/orderdata/mapper/GdSupplyDemandMapper.xml
@@ -29,6 +29,8 @@
<result column="is_deleted" property="isDeleted"/>
</resultMap>
+ <resultMap id="gdSupplyDemandVOResultMap" type="org.sxkj.gd.orderdata.vo.GdSupplyDemandVO" extends="gdSupplyDemandResultMap"/>
+
<sql id="gdSupplyDemandCondition">
<if test="param.id != null">
AND id = #{param.id}
@@ -113,21 +115,22 @@
<include refid="gdSupplyDemandCondition"/>
<if test="deptIdList != null and deptIdList.size > 0">
AND (
- create_dept IN
- <foreach collection="deptIdList" item="deptId" open="(" separator="," close=")">
- #{deptId}
- </foreach>
- OR apply_target_dept_id IN
- <foreach collection="deptIdList" item="deptId" open="(" separator="," close=")">
- #{deptId}
- </foreach>
+ create_dept::text IN
+ <foreach collection="deptIdList" item="deptId" open="(" separator="," close=")">
+ #{deptId}::text
+ </foreach>
+ OR
+ apply_target_dept_id::text IN
+ <foreach collection="deptIdList" item="deptId" open="(" separator="," close=")">
+ #{deptId}::text
+ </foreach>
)
</if>
</where>
limit 1
</select>
- <select id="selectGdSupplyDemandPage" resultMap="gdSupplyDemandResultMap">
+ <select id="selectGdSupplyDemandPage" resultMap="gdSupplyDemandVOResultMap">
select * from ja_gd_supply_demand
<where>
is_deleted = 0
@@ -137,15 +140,15 @@
<if test="param.demandStatus != null and param.demandStatus != ''">
AND demand_status = #{param.demandStatus}
</if>
- <if test="deptIdList != null and deptIdList.size > 0">
+ <if test="param.deptList != null and param.deptList.size > 0">
AND (
- create_dept IN
- <foreach collection="deptIdList" item="deptId" open="(" separator="," close=")">
- #{deptId}
+ create_dept::text IN
+ <foreach collection="param.deptList" item="deptId" open="(" separator="," close=")">
+ #{deptId}::text
</foreach>
- OR apply_target_dept_id IN
- <foreach collection="deptIdList" item="deptId" open="(" separator="," close=")">
- #{deptId}
+ OR apply_target_dept_id::text IN
+ <foreach collection="param.deptList" item="deptId" open="(" separator="," close=")">
+ #{deptId}::text
</foreach>
)
</if>
--
Gitblit v1.9.3