Newer
Older
sensorhub-plus / casic-iot-dao / src / main / resources / mapper / DeviceUpgradeTaskMapper.xml
tanyue on 2 Jan 3 KB 20250102 代码优化
<?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.DeviceUpgradeTaskMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.casic.missiles.model.DeviceUpgradeTask">
        <id column="id" property="id"/>
        <result column="version_id" property="versionId"/>
        <result column="device_id" property="deviceId"/>
        <result column="status" property="status"/>
        <result column="task_name" property="taskName" />
        <result column="upgrade_version_name" property="upgradeVersionName" />
        <result column="create_time" property="createTime"/>
        <result column="create_user_id" property="createUserId"/>
        <result column="version_desc" property="versionDesc"/>
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, version_id, device_id, task_name, upgrade_version_name, status, create_time, create_user_id, version_desc
    </sql>

    <sql id="char_toDate" databaseId="mysql">
        ${paramStr}
    </sql>

    <sql id="char_toDate" databaseId="pgsql">
       TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone
    </sql>

    <sql id="char_toDate" databaseId="oracle">
        TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi')
    </sql>


    <select id="listPage" resultType="com.casic.missiles.dto.upgrade.UpgradeTaskListVO">
        SELECT  dv.id,
                dv.task_name AS "taskName",
                d.product_name AS "productName",
                dv.upgrade_version_name AS "upgradeVersionName",
                deptid,
                dv.create_time AS "createTime",
                dv.create_user_id AS "createUserId",
                dv.version,
                dv.version_descn AS "versionDscn",
                dv.status
        FROM (
            SELECT *
            FROM device_upgrade_task
            WHERE 1=1
            <if test="request.taskName!='' and request.taskName != null">
                AND task_name =#{request.taskName}
            </if>
            <if test="request.upgradeVersionName!='' and request.upgradeVersionName != null">
                AND upgrade_version_name =#{request.upgradeVersionName}
            </if>
            <if test="request.productId!='' and request.productId != null">
                AND product_id =#{request.productId}
            </if>
            <if test="request.status!='' and request.status != null">
                AND status =#{request.status}
            </if>
        )dv
        JOIN (
            SELECT id,group_id,produce_name
            FROM product_info
        )d ON d.id=dv.product_id
        JOIN (
            SELECT deptid,id,group_name
            FROM device_group
            WHERE valid=1
        ) dg ON dg.id=d.group_id
        order by dv.create_time desc
    </select>

    <select id="findUpgradeTaskListToBeSend" resultType="com.casic.missiles.model.DeviceUpgradeTask">
        SELECT
            <include refid="Base_Column_List"></include>
        FROM
            device_upgrade_task dut
        WHERE
            (dut.status = 0 OR dut.status = 3) AND dut.device_id = #{deviceId}
        ORDER BY dut.create_time DESC
    </select>

</mapper>