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

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.casic.missiles.model.equipment.BizEquipmentTraceResultCompleteSituation">
        <id column="id" property="id" />
        <result column="form_no" property="formNo" />
        <result column="form_name" property="formName" />
        <result column="lab_code" property="labCode" />
        <result column="group_code" property="groupCode" />
        <result column="form_year" property="formYear" />
        <result column="form_group" property="formGroup" />
        <result column="approval_status" property="approvalStatus" />
        <result column="process_id" property="processId" />
        <result column="create_user_id" property="createUserId" />
        <result column="create_user_name" property="createUserName" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
    </resultMap>

    <resultMap id="BaseDetailResultMap" type="com.casic.missiles.model.equipment.BizEquipmentTraceResultCompleteSituation">
        <id column="id" property="id" />
        <result column="form_no" property="formNo" />
        <result column="form_name" property="formName" />
        <result column="lab_code" property="labCode" />
        <result column="group_code" property="groupCode" />
        <result column="form_year" property="formYear" />
        <result column="form_group" property="formGroup" />
        <result column="approval_status" property="approvalStatus" />
        <result column="process_id" property="processId" />
        <result column="create_user_id" property="createUserId" />
        <result column="create_user_name" property="createUserName" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <collection ofType="com.casic.missiles.dto.equipment.TraceResultConfirmEquipmentDTO" property="confirmEquipmentList">
            <result column="confirm_id" property="confirmId"/>
            <result column="confirm_no" property="confirmNo"/>
            <result column="confirm_name" property="confirmName"/>
            <result column="meter_identify" property="meterIdentify"/>
            <result column="trace_company" property="traceCompany"/>
            <result column="trace_date" property="traceDate"/>
            <result column="conclusion" property="conclusion"/>
            <result column="valid_date" property="validDate"/>
            <result column="limit_scope" property="limitScope"/>
            <result column="remark" property="remark"/>
            <result column="equipment_id" property="equipmentId"/>
            <result column="equipment_no" property="equipmentNo"/>
            <result column="equipment_name" property="equipmentName"/>
            <result column="model" property="model"/>
        </collection>
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, form_no, form_name, lab_code, group_code, form_year, form_group, approval_status, process_id, create_user_id, create_user_name, create_time, update_time
    </sql>

    <select id="selectBatchForApprovalList" resultMap="BaseResultMap">
        SELECT *
        FROM biz_equipment_trace_result_complete_situation
        WHERE 1=1
        <if test="request != null and request.approvalStatus != null and request.approvalStatus !=''">
            and approval_status = #{request.approvalStatus}
        </if>
        <if test="request != null and request.createUserId != null and request.createUserId !=''">
            and create_user_id = #{request.createUserId}
        </if>
        <if test="request != null and request.formNo != null and request.formNo !=''">
            and form_no like concat('%',#{request.formNo},'%')
        </if>
        <if test="request != null and request.formName != null and request.formName !=''">
            and form_name like concat('%',#{request.formName},'%')
        </if>
        <if test="request != null and request.createUserName != null and request.createUserName !=''">
            and create_user_name like concat('%',#{request.createUserName},'%')
        </if>
        <if test="request.createTimeStart != null and request.createTimeStart !=''">
            and create_time &gt;= #{request.createTimeStart}
        </if>
        <if test="request.createTimeEnd != null and request.createTimeEnd !=''">
            and create_time &lt;= #{request.createTimeEnd}
        </if>
        <if test="businessKeys != null">
            and id in
            <foreach collection="businessKeys" item="id" index="index" open="(" close=")" separator=",">
                #{id}
            </foreach>
        </if>
        ORDER BY create_time DESC
    </select>

    <select id="selectMaxNo" resultType="java.lang.Long">
        SELECT IFNULL(max(RIGHT(form_no, 3)), 0) from biz_equipment_trace_result_complete_situation
    </select>

    <select id="selectDetailById" resultMap="BaseDetailResultMap">
        SELECT betrcs.*, betrcsr.confirm_id, betrc.confirm_no, betrc.confirm_name, betrc.trace_company, betrc.trace_date,
        betrc.meter_identify, betrc.conclusion, betrc.valid_date, betrc.limit_scope, betrc.remark, betrc.equipment_id,
        bei.equipment_no, bei.equipment_name, bei.model
        FROM biz_equipment_trace_result_complete_situation betrcs
        JOIN biz_equipment_trace_result_complete_situation_relation betrcsr ON betrcsr.situation_id = betrcs.id
        JOIN biz_equipment_trace_result_confirm betrc ON betrc.id = betrcsr.confirm_id
        JOIN biz_equipment_info bei ON bei.id = betrc.equipment_id
        WHERE betrcs.id = #{id}
    </select>
</mapper>