heheng
2024-11-20 2d27b24029adafdbfc5703b38a519d65beda6a68
expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml
@@ -9,7 +9,7 @@
        <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"    />
@@ -20,16 +20,17 @@
    </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
        select id, project_id, expert_id, score, evaluation_state, selection_mode, team_leader, del_flag, create_by, create_time, update_by, update_time 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>
        </where>
@@ -46,7 +47,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>
@@ -59,7 +60,7 @@
            <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>
@@ -70,13 +71,22 @@
         </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
        <trim prefix="SET" suffixOverrides=",">
            <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>
@@ -88,14 +98,72 @@
        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="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
        from  project_expert b
                 left join sys_expert_info c on b.expert_id = c.id
        where 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
        <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.team_leader asc , b.create_time desc
    </select>
</mapper>