From b4cabe178f1a36433270c79048beecfab0edc487 Mon Sep 17 00:00:00 2001 From: 沈斌 <bluelazysb@hotmail.com> Date: Tue, 30 Jan 2018 17:20:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/resources/mapper/DeviceMapper.xml | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 101 insertions(+), 15 deletions(-) diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index 03f9da8..dd91d71 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -1,7 +1,87 @@ -<?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"> +<?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.moral.mapper.DeviceMapper"> - <select id="getDeviceStatesByAccount" resultType="map"> + <resultMap id="BaseResultMap" type="com.moral.entity.Device"> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="name" jdbcType="VARCHAR" property="name" /> + <result column="address" jdbcType="VARCHAR" property="address" /> + <result column="longitude" jdbcType="REAL" property="longitude" /> + <result column="latitude" jdbcType="REAL" property="latitude" /> + <result column="mac" jdbcType="VARCHAR" property="mac" /> + <result column="operate_user_id" jdbcType="INTEGER" property="operateUserId" /> + <result column="state" jdbcType="CHAR" property="state" /> + <result column="is_delete" jdbcType="CHAR" property="isDelete" /> + <result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> + <result column="install_time" jdbcType="TIMESTAMP" property="installTime" /> + <result column="monitor_point_id" jdbcType="INTEGER" property="monitorPointId" /> + <result column="device_version_id" jdbcType="INTEGER" property="deviceVersionId" /> + <association property="operateUser" javaType="com.moral.entity.OperateUser"> + <result column="operate_user_id" property="id" jdbcType="INTEGER" /> + <result column="operate_user_name" property="name" jdbcType="VARCHAR" /> + </association> + <association property="deviceVersion" javaType="com.moral.entity.DeviceVersion"> + <result column="device_version_id" property="id" jdbcType="INTEGER" /> + <result column="device_version_name" property="name" jdbcType="VARCHAR" /> + </association> + <association property="monitorPoint" javaType="com.moral.entity.MonitorPoint"> + <result column="monitor_point_id" property="id" jdbcType="INTEGER" /> + <result column="monitor_point_name" property="name" jdbcType="VARCHAR" /> + </association> + </resultMap> + <sql id="Example_Where_Clause"> + <where> + <foreach collection="oredCriteria" item="criteria" separator="or"> + <if test="criteria.valid"> + <trim prefix="(" prefixOverrides="and" suffix=")"> + <foreach collection="criteria.criteria" item="criterion"> + <choose> + <when test="criterion.noValue"> + and ${criterion.condition} + </when> + <when test="criterion.singleValue"> + and ${criterion.condition} #{criterion.value} + </when> + <when test="criterion.betweenValue"> + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + </when> + <when test="criterion.listValue"> + and ${criterion.condition} + <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> + #{listItem} + </foreach> + </when> + </choose> + </foreach> + </trim> + </if> + </foreach> + </where> + </sql> + <sql id="Base_Column_List"> + id, name, address, longitude, latitude, mac, operate_user_id, state, is_delete, create_time, + install_time, monitor_point_id, device_version_id + </sql> + <select id="selectWithRelationData" parameterType="tk.mybatis.mapper.entity.Example" resultMap="BaseResultMap"> + select + dev.*, + ouser.name as operate_user_name, + dvn.name as device_version_name, + mpt.name as monitor_point_name + from device dev + left join operate_user ouser on dev.operate_user_id = ouser.id + left join device_version dvn on dev.device_version_id = dvn.id + left join monitor_point mpt on dev.monitor_point_id = mpt.id + where dev.id in ( + select id from device + <if test="_parameter != null"> + <include refid="Example_Where_Clause" /> + </if> + <if test="orderByClause != null"> + order by ${orderByClause} + </if> + ) + </select> + <select id="getDeviceStatesByAccount" resultType="map"> SELECT COUNT( d.state ) count, d.state @@ -18,20 +98,26 @@ </if> GROUP BY d.state </select> - - <select id="getSensorsByDevice" resultType="map"> + + <select id="getDeviceVersionIdByMonitorPoint" resultType="map"> SELECT - s.`key`, - s.`name` + device_version_id deviceVersionId FROM - sensor s, - device d, - device_version_sensor dvs + device WHERE - d.mac = #{mac} - AND d.device_version_id = dvs.version_id - AND dvs.sensor_id = s.id - ORDER BY - s.id + monitor_point_id = #{monitorPoint} + GROUP BY + device_version_id </select> + + <select id="getDeviceMacByMonitorPointAndDeviceVersion" resultType="string"> + SELECT + mac + FROM + device + WHERE + monitor_point_id = #{monitorPointId} + AND device_version_id = #{deviceVersionId} + </select> + </mapper> \ No newline at end of file -- Gitblit v1.8.0