MatchDictDAO.xml 2.79 KB
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhongzhi.dao.MatchDictDAO">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zhongzhi.model.MatchDictDO">
        <id column="id" property="id"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
        <result column="delete_time" property="deleteTime"/>
        <result column="match_name" property="matchName"/>
        <result column="match_date" property="matchDate"/>
        <result column="status" property="status"/>
        <result column="match_type" property="matchType"/>
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        create_time,
        update_time,
        delete_time,
        id, match_name, match_date, status, match_type
    </sql>

    <select id="getSeedTrackMatchPage" resultType="com.zhongzhi.vo.match.MatchDictVO">
        select
        *
        from match_dict
        where  delete_time is null
    </select>

    <select id="getList" resultType="com.zhongzhi.model.MatchDictDO">
        SELECT
           distinct p.*
        FROM project p
        LEFT JOIN student s ON s.id = p.proposer_id
        LEFT JOIN colleges_dict c ON c.`name` = s.college
        <where>
            AND p.project_status != '填写中'
            <if test="projectType != null and projectType != ''">
                AND p.project_type = #{projectType}
            </if>
            <if test="projectGroup != null and projectGroup != ''">
                AND p.project_group = #{projectGroup}
            </if>
            AND p.delete_time IS NULL
            AND s.delete_time IS NULL
            AND c.delete_time IS NULL
        </where>
    </select>

    <select id="projectSummary" resultType="com.zhongzhi.vo.match.ProjectSummaryVO">
        SELECT
        t2.xueyuan,
        count(distinct(t.id)) projectCnt,
        count(t3.id) studentCnt
        FROM
        project t
        LEFT JOIN student t2 ON t.proposer_id = t2.id
        LEFT JOIN project_member t3 ON t.id = t3.project_id
        AND t3.type != '指导教师'
        WHERE
        t.delete_time IS NULL
        AND t2.delete_time IS NULL
        and t3.delete_time is null
        AND t.project_status != '填写中'
        and t.match_id = #{matchId}
        <if test="startDate != null and startDate != ''">
            AND DATE_FORMAT( t.create_time, '%Y/%m/%d' ) >= DATE_FORMAT( #{startDate}, '%Y/%m/%d' )
        </if>
        <if test="endDate != null and endDate != ''">
            AND DATE_FORMAT(t.create_time, '%Y-%m-%d') &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
        </if>
        GROUP BY
        t2.xueyuan
    </select>

</mapper>