Newer
Older
casic-metering-biz-xichang / casic-metering-dao / src / main / resources / mapper / equipment / BizEquipmentLendMapper.xml
wangpeng on 8 Sep 2023 4 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.casic.missiles.mapper.equipment.BizEquipmentLendMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.casic.missiles.model.equipment.BizEquipmentLend">
        <id column="id" property="id" />
        <result column="register_no" property="registerNo" />
        <result column="register_name" property="registerName" />
        <result column="lab_code" property="labCode" />
        <result column="group_code" property="groupCode" />
        <result column="create_user_id" property="createUserId" />
        <result column="create_user_name" property="createUserName" />
        <result column="equipment_id" property="equipmentId" />
        <result column="borrower" property="borrower" />
        <result column="borrow_company" property="borrowCompany" />
        <result column="borrow_date" property="borrowDate" />
        <result column="borrow_deadline" property="borrowDeadline" />
        <result column="equipment_performance_status" property="equipmentPerformanceStatus" />
        <result column="approval_status" property="approvalStatus" />
        <result column="process_id" property="processId" />
        <result column="return_date" property="returnDate" />
        <result column="return_user" property="returnUser" />
        <result column="receive_date" property="receiveDate" />
        <result column="receiver" property="receiver" />
        <result column="return_equipment_performance_status" property="returnEquipmentPerformanceStatus" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, register_no, register_name, lab_code, group_code, create_user_id, create_user_name, borrower,
        borrow_company, borrow_date, borrow_deadline, equipment_performance_status, approval_status, process_id,
        return_date, return_user, receive_date, receiver, return_equipment_performance_status, create_time, update_time
    </sql>

    <select id="selectBatchForApprovalList" resultMap="BaseResultMap">
        SELECT bel.*, bei.equipment_no, bei.equipment_name, bei.model, bei.manufacturer, bei.manufacture_no
        FROM biz_equipment_lend bel
        JOIN biz_equipment_info bei ON bel.equipment_id = bei.id
        WHERE 1=1
        <if test="request != null and request.approvalStatus != null and request.approvalStatus !=''">
            and bel.approval_status = #{request.approvalStatus}
        </if>
        <if test="request != null and request.createUserId != null and request.createUserId !=''">
            and bel.create_user_id = #{request.createUserId}
        </if>
        <if test="request != null and request.registerNo != null and request.registerNo !=''">
            and bel.register_no like concat('%',#{request.registerNo},'%')
        </if>
        <if test="request != null and request.equipmentName != null and request.equipmentName !=''">
            and bei.equipment_name like concat('%',#{request.equipmentName},'%')
        </if>
        <if test="request != null and request.borrower != null and request.borrower !=''">
            and bel.borrower like concat('%',#{request.borrower},'%')
        </if>
        <if test="request.borrowDateStart != null and request.borrowDateStart !=''">
            and bel.borrow_date &gt;= #{request.borrowDateStart}
        </if>
        <if test="request.borrowDateEnd != null and request.borrowDateEnd !=''">
            and bel.borrow_date &lt;= #{request.borrowDateEnd}
        </if>
        <if test="businessKeys != null">
            and bel.id in
            <foreach collection="businessKeys" item="id" index="index" open="(" close=")" separator=",">
                #{id}
            </foreach>
        </if>
        ORDER BY bel.create_time DESC
    </select>

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

    <select id="selectDetailById" resultMap="BaseResultMap">
        SELECT bel.*, bei.equipment_no, bei.equipment_name, bei.model, bei.manufacturer, bei.manufacture_no
        FROM biz_equipment_lend bel
        JOIN biz_equipment_info bei ON bel.equipment_id = bei.id
        WHERE bel.id = #{id}
    </select>
</mapper>