From 334ae6d3ba9992f5f081c6800af486a19c019c38 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期四, 21 八月 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') &gt;= date_format(#{projectDateStart},'%Y%m%d')</if>
+            <if test="projectDateEnd != null "> and date_format(project_date_end,'%Y%m%d') &lt;= 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') &gt;= date_format(#{projectDateStart},'%Y%m%d')</if>
+        <if test="projectDateEnd != null "> and date_format(a.project_date_end,'%Y%m%d') &lt;= 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