From 334ae6d3ba9992f5f081c6800af486a19c019c38 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: Thu, 21 Aug 2025 16:38:19 +0800
Subject: [PATCH] 查询统计优化
---
expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml | 32 ++++++++++++++++++++++++++++++--
1 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml b/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml
index 8b98a56..7795254 100644
--- a/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml
@@ -83,6 +83,12 @@
<if test="projectName != null and projectName != ''"> and project_name like concat('%', #{projectName}, '%')</if>
<if test="projectCode != null and projectCode != ''"> and project_code like concat('%', #{projectCode}, '%')</if>
<if test="deptId != null "> and dept_id = #{deptId}</if>
+ <if test="deptIds != null and deptIds.size() > 0">
+ AND dept_id IN
+ <foreach item="deptId" collection="deptIds" open="(" separator="," close=")">
+ #{deptId}
+ </foreach>
+ </if>
<if test="deptName != null and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if>
<if test="jobCategory != null and jobCategory != ''"> and job_category like concat('%', #{jobCategory}, '%')</if>
<if test="projectAddress != null and projectAddress != ''"> and project_address = #{projectAddress}</if>
@@ -90,14 +96,36 @@
<if test="version != null "> and version = #{version}</if>
<if test="state != null "> and state = #{state}</if>
<if test="step!= null "> and step = #{step}</if>
- <if test="projectDateStart != null "> and project_date_start = #{projectDateStart}</if>
- <if test="projectDateEnd != null "> and project_date_end = #{projectDateEnd}</if>
+ <if test="projectDateStart != null "> and date_format(project_date_start,'%Y%m%d') >= date_format(#{projectDateStart},'%Y%m%d')</if>
+ <if test="projectDateEnd != null "> and date_format(project_date_end,'%Y%m%d') <= date_format(#{projectDateEnd},'%Y%m%d')</if>
<if test="expertCertificate != null and expertCertificate != ''"> and expert_certificate = #{expertCertificate}</if>
<if test="evaluationState != null "> and evaluation_state = #{evaluationState}</if>
<if test="expertNum != null "> and expert_num = #{expertNum}</if>
</where>
order by create_time desc
</select>
+
+ <select id="selectProjectData" parameterType="ProjectManagement" resultType="com.gkhy.system.domain.vo.response.ProjectDataResp">
+ select a.dept_name deptName,c.name expertName,b.tax_expert_fee expertFee,a.create_time createTime,a.project_name projectName,
+ b.major_dangers majorDangers,b.general_hazards generalHazards,b.travel_expenses travelExpenses,b.accommodation_fee accommodationFee
+ from project_management a
+ left join project_expert b on a.id = b.project_id and b.del_flag = 0 and b.evaluation_state = 1
+ left join sys_expert_info c on b.expert_id = c.id
+ where a.del_flag = 0 and a.state = 4 and a.evaluation_state = 1
+ <if test="projectName != null and projectName != ''"> and a.project_name like concat('%', #{projectName}, '%')</if>
+ <if test="projectCode != null and projectCode != ''"> and a.project_code like concat('%', #{projectCode}, '%')</if>
+ <if test="deptId != null "> and a.dept_id = #{deptId}</if>
+ <if test="deptIds != null and deptIds.size() > 0">
+ AND a.dept_id IN
+ <foreach item="deptId" collection="deptIds" open="(" separator="," close=")">
+ #{deptId}
+ </foreach>
+ </if>
+ <if test="projectDateStart != null "> and date_format(a.project_date_start,'%Y%m%d') >= date_format(#{projectDateStart},'%Y%m%d')</if>
+ <if test="projectDateEnd != null "> and date_format(a.project_date_end,'%Y%m%d') <= date_format(#{projectDateEnd},'%Y%m%d')</if>
+ order BY a.dept_name asc ,c.`name` desc
+ </select>
+
<select id="selectProjectManagementById" parameterType="Long" resultMap="ProjectManagementResult">
<include refid="selectProjectManagementVo"/>
--
Gitblit v1.9.2