Newer
Older
casic-metering-biz-xichang / casic-metering-dao / src / main / resources / mapper / equipment / BizEquipmentTraceChainChangeMapper.xml
<?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.casic.missiles.mapper.equipment.BizEquipmentTraceChainChangeMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.casic.missiles.model.equipment.BizEquipmentTraceChainChange">
        <id column="id" property="id" />
        <result column="apply_no" property="applyNo" />
        <result column="apply_name" property="applyName" />
        <result column="create_user_id" property="createUserId" />
        <result column="create_user_name" property="createUserName" />
        <result column="standard_id" property="standardId" />
        <result column="change_trace_company" property="changeTraceCompany" />
        <result column="change_trace_illustrate" property="changeTraceIllustrate" />
        <result column="change_reason" property="changeReason" />
        <result column="relation_file" property="relationFile" />
        <result column="approval_status" property="approvalStatus" />
        <result column="process_id" property="processId" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, apply_no, apply_name, create_user_id, create_user_name, standard_id, change_trace_company, change_trace_illustrate, change_reason, relation_file, create_time, update_time
    </sql>

    <select id="selectBatchForApprovalList" resultMap="BaseResultMap">
        SELECT betcc.*, besi.standard_no, besi.standard_name, besi.dept_id, besi.dept_name, besi.director_id, besi.director_name,
        besi.manage_status, besc.certificate_date, besc.certificate_expire_date
        FROM biz_equipment_trace_chain_change betcc
        JOIN biz_equipment_standard_info besi ON betcc.standard_id = besi.id
        LEFT JOIN biz_equipment_standard_certificate besc ON besc.id = (
            SELECT esc.id FROM biz_equipment_standard_certificate esc WHERE esc.standard_id = besi.id
            ORDER BY esc.certificate_expire_date DESC LIMIT 1
        )
        WHERE 1=1
        <if test="request != null and request.approvalStatus != null and request.approvalStatus !=''">
            and betcc.approval_status = #{request.approvalStatus}
        </if>
        <if test="request != null and request.createUserId != null and request.createUserId !=''">
            and betcc.create_user_id = #{request.createUserId}
        </if>
        <if test="request != null and request.applyNo != null and request.applyNo !=''">
            and betcc.apply_no like concat('%',#{request.applyNo},'%')
        </if>
        <if test="request != null and request.createUserName != null and request.createUserName !=''">
            and betcc.create_user_name like concat('%',#{request.createUserName},'%')
        </if>
        <if test="request != null and request.standardNo != null and request.standardNo !=''">
            and besi.standard_no like concat('%',#{request.standardNo},'%')
        </if>
        <if test="request != null and request.standardName != null and request.standardName !=''">
            and besi.standard_name like concat('%',#{request.standardName},'%')
        </if>
        <if test="request.createTimeStart != null and request.createTimeStart !=''">
            and betcc.create_time &gt;= #{request.createTimeStart}
        </if>
        <if test="request.createTimeEnd != null and request.createTimeEnd !=''">
            and betcc.create_time &lt;= #{request.createTimeEnd}
        </if>
        <if test="businessKeys != null">
            and betcc.id in
            <foreach collection="businessKeys" item="id" index="index" open="(" close=")" separator=",">
                #{id}
            </foreach>
        </if>
        ORDER BY betcc.create_time DESC
    </select>

    <select id="selectMaxNo" resultType="java.lang.Long">
        SELECT IFNULL(max(RIGHT(apply_no, 12)), 0) from biz_equipment_trace_chain_change
    </select>

    <select id="selectDetailById" resultMap="BaseResultMap">
        SELECT betcc.*, besi.standard_no, besi.standard_name, besi.dept_id, besi.dept_name, besi.director_id, besi.director_name,
        besi.manage_status, besc.certificate_date, besc.certificate_expire_date
        FROM biz_equipment_trace_chain_change betcc
        JOIN biz_equipment_standard_info besi ON betcc.standard_id = besi.id
        LEFT JOIN biz_equipment_standard_certificate besc ON besc.id = (
            SELECT esc.id FROM biz_equipment_standard_certificate esc WHERE esc.standard_id = besi.id
            ORDER BY esc.certificate_expire_date DESC LIMIT 1
        )
        WHERE betcc.id = #{id}
    </select>
</mapper>