From f33cfe86447c16df8ca665e2e1a5f3333ff57792 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期三, 27 八月 2025 17:02:27 +0800
Subject: [PATCH] 版本改造

---
 expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml |  101 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 91 insertions(+), 10 deletions(-)

diff --git a/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml b/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml
index fa80caa..af90f18 100644
--- a/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml
@@ -44,7 +44,9 @@
         <result property="projectName"    column="project_name"    />
         <result property="deptName"    column="dept_name"    />
         <result property="projectCode"    column="project_code"    />
-        <collection  property="projectExpertExportResps"   javaType="java.util.List"  resultMap="ExpertExport" />
+        <result property="id"    column="id"    />
+        <collection  property="projectExpertExportResps"  ofType="com.gkhy.system.domain.vo.response.ProjectExpertExportResp"  javaType="java.util.List"  select="projectExpertExportDataList"
+                     column="id"/>
     </resultMap>
     <resultMap id="ExpertExport" type="com.gkhy.system.domain.vo.response.ProjectExpertExportResp">
         <result property="name"      column="name"       />
@@ -259,19 +261,27 @@
     <select id="projectExpertEvaluationList" parameterType="Long" resultType="com.gkhy.system.domain.vo.response.ProjectExpertEvaluationResp">
         select b.id ,b.expert_id expertId ,c.name,c.sex,c.id_card idCard,c.domain,c.rating_level ratingLevel,
                b.selection_mode selectionMode,b.team_leader teamLeader,b.score,b.evaluation_state evaluationState,
-               d.classify_name bigClassifyName
+               d.classify_name bigClassifyName,1 as expertType
         from  project_expert b
                  left join sys_expert_info c on b.expert_id = c.id
         left join sys_expert_classify d on c.big_classify = d.id
         where b.del_flag = 0 and  b.project_id = #{projectId}
-        order by b.team_leader asc , b.selection_mode asc, b.create_time desc
+         union all
+        select b.id ,b.id expertId ,b.name,b.sex,b.id_card idCard,b.domain,b.rating_level ratingLevel,
+               b.selection_mode selectionMode,b.team_leader teamLeader,b.score,b.evaluation_state evaluationState,
+               "空" bigClassifyName,2 as expertType
+        from  out_project_expert b
+        where b.del_flag = 0 and  b.project_id = #{projectId}
+
+        order by teamLeader asc , selectionMode asc
+
     </select>
 
 
     <select id="projectExpertEvaList" parameterType="com.gkhy.system.domain.vo.request.SysProjectExpertReq" resultType="com.gkhy.system.domain.vo.response.ProjectExpertResp">
         select a.id projectId, a.project_name projectName,
                b.id projectExpertId,b.expert_id  expertId,c.name,c.id_card idCard,c.domain,b.selection_mode selectionMode,
-               b.team_leader teamLeader,b.update_time updateTime,b.score
+               b.team_leader teamLeader,b.update_time updateTime,b.score,1 as expertType
         from project_management a
                  left join project_expert b on a.id = b.project_id and b.del_flag = 0
                  left join sys_expert_info c on b.expert_id = c.id
@@ -293,20 +303,91 @@
         <if test="endTime != null "><!-- 结束时间检索 -->
             and date_format(b.update_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
         </if>
+        union all
+
+        select a.id projectId, a.project_name projectName,
+        b.id projectExpertId,b.id  expertId,b.name,b.id_card idCard,b.domain,b.selection_mode selectionMode,
+        b.team_leader teamLeader,b.update_time updateTime,b.score,2 as expertType
+        from project_management a
+        left join out_project_expert b on a.id = b.project_id and b.del_flag = 0
+        where 1=1 and b.evaluation_state = 1
+        <if test="deptId != null "> and a.dept_id = #{deptId}</if>
+        <if test="projectName != null  and projectName != ''"> and a.project_name like concat('%', #{projectName}, '%')</if>
+        <if test="name != null and name != ''">
+            and b.name like concat('%', #{name}, '%')
+        </if>
+        <if test="idCard != null and idCard != ''">
+            and b.id_card like concat('%', #{idCard}, '%')
+        </if>
+        <if test="domain != null and domain != ''">
+            and b.domain like concat('%', #{domain}, '%')
+        </if>
+        <if test="startTime != null "><!-- 开始时间检索 -->
+            and date_format(b.update_time,'%y%m%d') &gt;= date_format(#{startTime},'%y%m%d')
+        </if>
+        <if test="endTime != null "><!-- 结束时间检索 -->
+            and date_format(b.update_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
+        </if>
+
+        order by updateTime desc
+    </select>
+
+
+    <select id="projectExpertEvaOutList" parameterType="com.gkhy.system.domain.vo.request.SysProjectExpertReq" resultType="com.gkhy.system.domain.vo.response.ProjectExpertResp">
+        select a.id projectId, a.project_name projectName,
+        b.id projectExpertId,b.expert_id  expertId,b.name,b.id_card idCard,b.domain,b.selection_mode selectionMode,
+        b.team_leader teamLeader,b.update_time updateTime,b.score
+        from project_management a
+        left join out_project_expert b on a.id = b.project_id and b.del_flag = 0
+        where 1=1 and b.evaluation_state = 1
+        <if test="deptId != null "> and a.dept_id = #{deptId}</if>
+        <if test="projectName != null  and projectName != ''"> and a.project_name like concat('%', #{projectName}, '%')</if>
+        <if test="name != null and name != ''">
+            and b.name like concat('%', #{name}, '%')
+        </if>
+        <if test="idCard != null and idCard != ''">
+            and b.id_card like concat('%', #{idCard}, '%')
+        </if>
+        <if test="domain != null and domain != ''">
+            and b.domain like concat('%', #{domain}, '%')
+        </if>
+        <if test="startTime != null "><!-- 开始时间检索 -->
+            and date_format(b.update_time,'%y%m%d') &gt;= date_format(#{startTime},'%y%m%d')
+        </if>
+        <if test="endTime != null "><!-- 结束时间检索 -->
+            and date_format(b.update_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
+        </if>
         order by b.update_time desc
     </select>
 
 
+
     <select id="projectExpertExportList" parameterType="Long" resultMap="ProjectExpertExportInfoResult">
-        select  a.project_name ,a.dept_name,a.project_code
-       ,c.name,c.id_card,c.name,c.job,c.title,c.company_name,b.freight_basis,b.billing_instructions,
-        b.billing_duration, b.after_tax_amount, b.open_bank, b.bank_card,b.taxable_income,b.income_tax_payable,b.tax_expert_fee,b.travel_expenses,b.accommodation_fee
+        select  a.project_name ,a.dept_name,a.project_code,a.id
         from project_management a
-        left join project_expert b on a.id = b.project_id and b.del_flag = 0
-        left join sys_expert_info c on b.expert_id = c.id
         where a.id  = #{projectId}
-        order by b.team_leader asc , b.create_time desc
+
+
     </select>
 
+    <select id="projectExpertExportDataList" parameterType="Long" resultMap="ExpertExport">
+        select  c.name,c.id_card,c.job,c.title,c.company_name,b.freight_basis,b.billing_instructions,
+            b.billing_duration, b.after_tax_amount, b.open_bank, b.bank_card,b.taxable_income,b.income_tax_payable,b.tax_expert_fee,b.travel_expenses,b.accommodation_fee
+             ,b.team_leader,b.create_time
+        from project_expert b
+                 left join sys_expert_info c on b.expert_id = c.id
+        where b.project_id  = #{id} and b.del_flag = 0
+        union all
+        select  b.name,b.id_card,'' as job, b.title,b.company_name,b.freight_basis,b.billing_instructions,
+            b.billing_duration, b.after_tax_amount, b.open_bank, b.bank_card,b.taxable_income,b.income_tax_payable,b.tax_expert_fee,b.travel_expenses,b.accommodation_fee
+             ,b.team_leader,b.create_time
+        from  out_project_expert b
+        where b.project_id  = #{id} and b.del_flag = 0
+
+        order by team_leader asc , create_time desc
+
+    </select>
+
+
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.2