Newer
Older
casic-metering-eqpt-xichang / casic-metering-dao / src / main / resources / mapper / status / EquipmentStatusApprovalMapper.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.status.EquipmentStatusApprovalMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.casic.missiles.model.status.EquipmentStatusApproval">
        <id column="id" property="id" />
        <result column="approval_no" property="approvalNo" />
        <result column="approval_name" property="approvalName" />
        <result column="approval_type" property="approvalType" />
        <result column="approval_status" property="approvalStatus" />
        <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" />
        <result column="equipment_id" property="equipmentId" />
        <result column="perform_status" property="performStatus" />
        <result column="approval_reason" property="approvalReason" />
        <result column="approval_address" property="approvalAddress" />
        <result column="approval_time" property="approvalTime" />
        <result column="equipment_status" property="equipmentStatus" />
        <result column="delay_time" property="delayTime" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, approval_no, approval_name, approval_type, approval_status, create_user_id, create_user_name, create_time, update_time, equipment_id, perform_status, approval_reason, approval_address, approval_time, equipment_status, delay_time
    </sql>

    <sql id="listCommon">
        select
            approval.id as id,
            approval.approval_no as approvalNo,
            approval.approval_name as approvalName,
            approval.approval_type as approvalType,
            approval.approval_status as approvalStatus,
            approval.create_user_id as createUserId,
            approval.create_user_name as createUserName,
            approval.create_time as createTime,
            approval.approval_reason as approvalReason,
            approval.approval_time as approvalTime,
            approval.delay_time as delayTime,
            info.equipment_no as equipmentNo,
            info.equipment_name as equipmentName,
            info.model as model,
            info.manufacture_no as manufactureNo,
            info.manufacturer as manufacturer,
            info.company_id as companyId,
            info.dept_id as deptId,
            info.use_position_id as usePositionId,
            info.use_position as usePosition,
            approval.process_id as processId,
            (case when approval.approval_type = '5'
                then (select count(equipment_id) from eqpt_equipment_status_relation where approval_id = approval.id)
                else null end) as equipmentCount
        from eqpt_equipment_status_approval approval
        left join eqpt_equipment_info_view info on approval.equipment_id = info.id
    </sql>

    <select id="listPage" resultType="com.casic.missiles.model.status.EquipmentStatusApproval">
        <include refid="listCommon"/>
        <where>
            <if test="ew != null">
                ${ew.sqlSegment}
            </if>
        </where>
    </select>

    <select id="listScopePage" resultType="com.casic.missiles.model.status.EquipmentStatusApproval">
        <include refid="listCommon"/>
        <where>
            <if test="ew != null">
                ${ew.sqlSegment}
            </if>
        </where>
    </select>

</mapper>