<?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.sandu.ximon.dao.mapper.PoleMapper">
|
|
<resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.Pole">
|
<id property="id" column="id" jdbcType="BIGINT"/>
|
<result property="poleCode" column="pole_code" jdbcType="BIGINT"/>
|
<result property="poleName" column="pole_name" jdbcType="VARCHAR"/>
|
<result property="deviceType" column="device_type" jdbcType="INTEGER"/>
|
<result property="userId" column="user_id" jdbcType="BIGINT"/>
|
<result property="clientId" column="client_id" jdbcType="BIGINT"/>
|
<result property="province" column="province" jdbcType="VARCHAR"/>
|
<result property="city" column="city" jdbcType="VARCHAR"/>
|
<result property="region" column="region" jdbcType="VARCHAR"/>
|
<result property="address" column="address" jdbcType="VARCHAR"/>
|
<result property="lon" column="lon" jdbcType="DECIMAL"/>
|
<result property="lat" column="lat" jdbcType="DECIMAL"/>
|
<result property="deviceCode" column="device_code" jdbcType="VARCHAR"/>
|
<result property="onLineState" column="on_line_state" jdbcType="VARCHAR"/>
|
<result property="bindingCount" column="binding_count" jdbcType="INTEGER"/>
|
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
</resultMap>
|
|
<sql id="Base_Column_List">
|
id
|
,pole_code,pole_name,
|
device_type,user_id,client_id,
|
province,city,region,
|
address,lon,lat,
|
device_code,on_line_state,binding_count,
|
create_time,update_time
|
</sql>
|
<update id="updateDeviceCode" parameterType="java.lang.Long">
|
UPDATE pole
|
SET device_code=null
|
WHERE id = #{id}
|
</update>
|
<select id="queryPoleOnLineStatesList" resultType="com.sandu.ximon.dao.domain.Pole">
|
SELECT
|
t1.*
|
FROM
|
pole t1
|
LEFT JOIN pole_group_relation t2 ON t1.id = t2.pole_id
|
LEFT JOIN pole_group t3 ON t3.group_id = t2.pole_group_id
|
<where>
|
<if test="userid != null">
|
AND (t1.user_id = #{userid} OR t1.client_id = #{userid})
|
</if>
|
<if test="keyword != null and keyword != ''">
|
AND ( t1.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
|
OR t1.device_code LIKE CONCAT(CONCAT('%', #{keyword}), '%'))
|
</if>
|
<if test="isTrue != null and isTrue == 1">
|
AND t1.device_type = -1
|
</if>
|
<if test="isTrue != null and isTrue == 0">
|
AND t1.device_type != -1
|
</if>
|
<if test="groupid != null">
|
AND t3.group_id = #{groupid}
|
</if>
|
<if test="bingStates != null and bingStates == 0 ">
|
AND t1.user_id != -1
|
</if>
|
<if test="bingStates != null and bingStates == 1 ">
|
AND t1.user_id = -1
|
</if>
|
</where>
|
GROUP BY t1.id
|
<if test="orderBy != null">
|
ORDER BY ${orderBy}
|
</if>
|
</select>
|
</mapper>
|