From 03dc0bda693feaeb2fa684b70db52feea8ea65a7 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期二, 06 五月 2025 13:37:01 +0800
Subject: [PATCH] 增加专家导出字段

---
 expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml |  242 ++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 222 insertions(+), 20 deletions(-)

diff --git a/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml b/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml
index 3d07764..2ff51f7 100644
--- a/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml
@@ -3,13 +3,13 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.gkhy.system.mapper.ProjectExpertMapper">
-    
+
     <resultMap type="ProjectExpert" id="ProjectExpertResult">
         <result property="id"    column="id"    />
         <result property="projectId"    column="project_id"    />
         <result property="expertId"    column="expert_id"    />
         <result property="score"    column="score"    />
-        <result property="envaluationState"    column="envaluation_state"    />
+        <result property="evaluationState"    column="evaluation_state"    />
         <result property="selectionMode"    column="selection_mode"    />
         <result property="teamLeader"    column="team_leader"    />
         <result property="delFlag"    column="del_flag"    />
@@ -17,21 +17,82 @@
         <result property="createTime"    column="create_time"    />
         <result property="updateBy"    column="update_by"    />
         <result property="updateTime"    column="update_time"    />
+        <result property="professionalEthics"    column="professional_ethics"    />
+        <result property="impartialHonest"    column="impartial_honest"    />
+        <result property="comprehensiveCoordination"    column="comprehensive_coordination"    />
+        <result property="professionalAbility"    column="professional_ability"    />
+        <result property="expressingOpinions"    column="expressing_opinions"    />
+        <result property="others"    column="others"    />
+        <result property="comprehensiveEvaluation"    column="comprehensive_evaluation"    />
+        <result property="majorDangers"    column="major_dangers"    />
+        <result property="generalHazards"    column="general_hazards"    />
+        <result property="content"    column="content"    />
+        <result property="freightBasis"    column="freight_basis"    />
+        <result property="billingDuration"    column="billing_duration"    />
+        <result property="afterTaxAmount"    column="after_tax_amount"    />
+        <result property="openBank"    column="open_bank"    />
+        <result property="bankCard"    column="bank_card"    />
+        <result property="taxableIncome"    column="taxable_income"    />
+        <result property="incomeTaxPayable"    column="income_tax_payable"    />
+        <result property="taxExpertFee"    column="tax_expert_fee"    />
+        <result property="billingInstructions"    column="billing_instructions"    />
     </resultMap>
 
-    <sql id="selectProjectExpertVo">
-        select id, project_id, expert_id, score, envaluation_state, selection_mode, team_leader, del_flag, create_by, create_time, update_by, update_time from project_expert
-    </sql>
+    <resultMap type="com.gkhy.system.domain.vo.response.ProjectExpertExportInfoRes" id="ProjectExpertExportInfoResult">
+        <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" />
+    </resultMap>
+    <resultMap id="ExpertExport" type="com.gkhy.system.domain.vo.response.ProjectExpertExportResp">
+        <result property="name"      column="name"       />
+        <result property="idCard"    column="id_card"     />
+        <result property="companyName"       column="company_name"    />
+        <result property="job"       column="job"    />
+        <result property="title"       column="title"    />
+        <result property="freightBasis"    column="freight_basis"    />
+        <result property="billingDuration"    column="billing_duration"    />
+        <result property="afterTaxAmount"    column="after_tax_amount"    />
+        <result property="openBank"    column="open_bank"    />
+        <result property="bankCard"    column="bank_card"    />
+        <result property="taxableIncome"    column="taxable_income"    />
+        <result property="incomeTaxPayable"    column="income_tax_payable"    />
+        <result property="taxExpertFee"    column="tax_expert_fee"    />
+        <result property="billingInstructions"    column="billing_instructions"    />
 
+    </resultMap>
+
+
+
+    <sql id="selectProjectExpertVo">
+        select id, project_id, expert_id, score, evaluation_state, selection_mode, team_leader, del_flag, create_by, create_time, update_by, update_time, professional_ethics, impartial_honest, comprehensive_coordination, professional_ability, expressing_opinions, others, comprehensive_evaluation, major_dangers, general_hazards, content,
+               freight_basis, billing_duration, after_tax_amount, open_bank, bank_card,taxable_income,income_tax_payable,tax_expert_fee,billing_instructions from project_expert
+    </sql>
     <select id="selectProjectExpertList" parameterType="ProjectExpert" resultMap="ProjectExpertResult">
         <include refid="selectProjectExpertVo"/>
-        <where>  
+        <where>
+            and del_flag = 0
             <if test="projectId != null "> and project_id = #{projectId}</if>
             <if test="expertId != null "> and expert_id = #{expertId}</if>
             <if test="score != null "> and score = #{score}</if>
-            <if test="envaluationState != null "> and envaluation_state = #{envaluationState}</if>
+            <if test="evaluationState != null "> and evaluation_state = #{evaluationState}</if>
             <if test="selectionMode != null "> and selection_mode = #{selectionMode}</if>
             <if test="teamLeader != null "> and team_leader = #{teamLeader}</if>
+            <if test="professionalEthics != null "> and professional_ethics = #{professionalEthics}</if>
+            <if test="impartialHonest != null "> and impartial_honest = #{impartialHonest}</if>
+            <if test="comprehensiveCoordination != null "> and comprehensive_coordination = #{comprehensiveCoordination}</if>
+            <if test="professionalAbility != null "> and professional_ability = #{professionalAbility}</if>
+            <if test="expressingOpinions != null "> and expressing_opinions = #{expressingOpinions}</if>
+            <if test="others != null  and others != ''"> and others = #{others}</if>
+            <if test="comprehensiveEvaluation != null "> and comprehensive_evaluation = #{comprehensiveEvaluation}</if>
+            <if test="majorDangers != null "> and major_dangers = #{majorDangers}</if>
+            <if test="generalHazards != null "> and general_hazards = #{generalHazards}</if>
+            <if test="content != null  and content != ''"> and content = #{content}</if>
+            <if test="freightBasis != null  and freightBasis != ''"> and freight_basis = #{freightBasis}</if>
+            <if test="billingDuration != null "> and billing_duration = #{billingDuration}</if>
+            <if test="afterTaxAmount != null "> and after_tax_amount = #{afterTaxAmount}</if>
+            <if test="openBank != null  and openBank != ''"> and open_bank = #{openBank}</if>
+            <if test="bankCard != null  and bankCard != ''"> and bank_card = #{bankCard}</if>
         </where>
     </select>
     
@@ -46,7 +107,7 @@
             <if test="projectId != null">project_id,</if>
             <if test="expertId != null">expert_id,</if>
             <if test="score != null">score,</if>
-            <if test="envaluationState != null">envaluation_state,</if>
+            <if test="evaluationState != null">evaluation_state,</if>
             <if test="selectionMode != null">selection_mode,</if>
             <if test="teamLeader != null">team_leader,</if>
             <if test="delFlag != null">del_flag,</if>
@@ -54,12 +115,30 @@
             <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
             <if test="updateTime != null">update_time,</if>
-         </trim>
+            <if test="professionalEthics != null">professional_ethics,</if>
+            <if test="impartialHonest != null">impartial_honest,</if>
+            <if test="comprehensiveCoordination != null">comprehensive_coordination,</if>
+            <if test="professionalAbility != null">professional_ability,</if>
+            <if test="expressingOpinions != null">expressing_opinions,</if>
+            <if test="others != null">others,</if>
+            <if test="comprehensiveEvaluation != null">comprehensive_evaluation,</if>
+            <if test="majorDangers != null">major_dangers,</if>
+            <if test="generalHazards != null">general_hazards,</if>
+            <if test="content != null">content,</if>
+            <if test="freightBasis != null">freight_basis,</if>
+            <if test="billingDuration != null">billing_duration,</if>
+            <if test="afterTaxAmount != null">after_tax_amount,</if>
+            <if test="openBank != null">open_bank,</if>
+            <if test="bankCard != null">bank_card,</if>
+            <if test="taxableIncome != null">taxable_income,</if>
+            <if test="incomeTaxPayable != null">income_tax_payable,</if>
+            <if test="taxExpertFee != null">tax_expert_fee,</if>
+        </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="projectId != null">#{projectId},</if>
             <if test="expertId != null">#{expertId},</if>
             <if test="score != null">#{score},</if>
-            <if test="envaluationState != null">#{envaluationState},</if>
+            <if test="evaluationState != null">#{evaluationState},</if>
             <if test="selectionMode != null">#{selectionMode},</if>
             <if test="teamLeader != null">#{teamLeader},</if>
             <if test="delFlag != null">#{delFlag},</if>
@@ -67,8 +146,35 @@
             <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
-         </trim>
+            <if test="professionalEthics != null">#{professionalEthics},</if>
+            <if test="impartialHonest != null">#{impartialHonest},</if>
+            <if test="comprehensiveCoordination != null">#{comprehensiveCoordination},</if>
+            <if test="professionalAbility != null">#{professionalAbility},</if>
+            <if test="expressingOpinions != null">#{expressingOpinions},</if>
+            <if test="others != null">#{others},</if>
+            <if test="comprehensiveEvaluation != null">#{comprehensiveEvaluation},</if>
+            <if test="majorDangers != null">#{majorDangers},</if>
+            <if test="generalHazards != null">#{generalHazards},</if>
+            <if test="content != null">#{content},</if>
+            <if test="freightBasis != null">#{freightBasis},</if>
+            <if test="billingDuration != null">#{billingDuration},</if>
+            <if test="afterTaxAmount != null">#{afterTaxAmount},</if>
+            <if test="openBank != null">#{openBank},</if>
+            <if test="bankCard != null">#{bankCard},</if>
+            <if test="taxableIncome != null"> #{taxableIncome},</if>
+            <if test="incomeTaxPayable != null">#{incomeTaxPayable},</if>
+            <if test="taxExpertFee != null">#{taxExpertFee},</if>
+        </trim>
     </insert>
+
+    <insert id="batchInsertProjectExpert" parameterType="java.util.List" >
+        insert into project_expert (project_id,expert_id,selection_mode,team_leader,create_by)
+        values
+        <foreach collection="list" item="item" separator=",">
+            (#{item.projectId},#{item.expertId},#{item.selectionMode},#{item.teamLeader},#{item.createBy})
+        </foreach>
+    </insert>
+
 
     <update id="updateProjectExpert" parameterType="ProjectExpert">
         update project_expert
@@ -76,26 +182,122 @@
             <if test="projectId != null">project_id = #{projectId},</if>
             <if test="expertId != null">expert_id = #{expertId},</if>
             <if test="score != null">score = #{score},</if>
-            <if test="envaluationState != null">envaluation_state = #{envaluationState},</if>
+            <if test="evaluationState != null">evaluation_state = #{evaluationState},</if>
             <if test="selectionMode != null">selection_mode = #{selectionMode},</if>
             <if test="teamLeader != null">team_leader = #{teamLeader},</if>
             <if test="delFlag != null">del_flag = #{delFlag},</if>
-            <if test="createBy != null">create_by = #{createBy},</if>
-            <if test="createTime != null">create_time = #{createTime},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="professionalEthics != null">professional_ethics = #{professionalEthics},</if>
+            <if test="impartialHonest != null">impartial_honest = #{impartialHonest},</if>
+            <if test="comprehensiveCoordination != null">comprehensive_coordination = #{comprehensiveCoordination},</if>
+            <if test="professionalAbility != null">professional_ability = #{professionalAbility},</if>
+            <if test="expressingOpinions != null">expressing_opinions = #{expressingOpinions},</if>
+            <if test="others != null">others = #{others},</if>
+            <if test="comprehensiveEvaluation != null">comprehensive_evaluation = #{comprehensiveEvaluation},</if>
+            <if test="majorDangers != null">major_dangers = #{majorDangers},</if>
+            <if test="generalHazards != null">general_hazards = #{generalHazards},</if>
+            <if test="content != null">content = #{content},</if>
+            <if test="freightBasis != null">freight_basis = #{freightBasis},</if>
+            <if test="billingDuration != null">billing_duration = #{billingDuration},</if>
+            <if test="afterTaxAmount != null">after_tax_amount = #{afterTaxAmount},</if>
+            <if test="openBank != null">open_bank = #{openBank},</if>
+            <if test="bankCard != null">bank_card = #{bankCard},</if>
+            <if test="taxableIncome != null">taxable_income = #{taxableIncome},</if>
+            <if test="incomeTaxPayable != null">income_tax_payable = #{incomeTaxPayable},</if>
+            <if test="taxExpertFee != null">tax_expert_fee = #{taxExpertFee},</if>
+            <if test="billingInstructions  != null" > billing_instructions = #{billingInstructions},</if>
+
         </trim>
         where id = #{id}
     </update>
 
-    <delete id="deleteProjectExpertById" parameterType="Long">
-        delete from project_expert where id = #{id}
-    </delete>
+    <update id="batchUpdateProjectExpert" parameterType="java.util.List">
+        <foreach collection="list" item="item" separator=";">
+            update project_expert
+            <set>
+                <if test="item.projectId != null">project_id = #{item.projectId},</if>
+                <if test="item.expertId != null">expert_id = #{item.expertId},</if>
+                <if test="item.score != null">score = #{item.score},</if>
+                <if test="item.evaluationState != null">evaluation_state = #{item.evaluationState},</if>
+                <if test="item.selectionMode != null">selection_mode = #{item.selectionMode},</if>
+                <if test="item.teamLeader != null">team_leader = #{item.teamLeader},</if>
+                <if test="item.updateBy != null">update_by = #{item.updateBy}</if>
+            </set>
+            where id = #{item.id}
+        </foreach>
+    </update>
 
-    <delete id="deleteProjectExpertByIds" parameterType="String">
-        delete from project_expert where id in 
+    <update id="deleteProjectExpertById" parameterType="Long">
+        update project_expert set del_flag= 1 where id = #{id}
+    </update>
+
+    <update id="deleteProjectExpertByProjectId" parameterType="Long">
+        update project_expert set del_flag= 1 where project_id = #{id}
+    </update>
+
+    <update id="deleteProjectExpertByIds" parameterType="String">
+        update project_expert set del_flag= 1 where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>
-    </delete>
+    </update>
+
+    <select id="getUnEva" resultType="int" parameterType="Long">
+        select count(id) from  project_expert where project_id = #{id} and del_flag = 0 and evaluation_state = 0
+    </select>
+
+    <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
+        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
+    </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
+        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 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 c.name like concat('%', #{name}, '%')
+        </if>
+        <if test="idCard != null and idCard != ''">
+            and c.id_card like concat('%', #{idCard}, '%')
+        </if>
+        <if test="domain != null and domain != ''">
+            and c.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
+        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>
+
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.2