From 5f549c4d7bb36ff4dc012fed9ee1e049dbf899a8 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Tue, 08 May 2018 09:28:55 +0800 Subject: [PATCH] 运维app getEquInfoByMac api --- src/main/resources/mapper/DeviceMapper.xml | 573 +++++++++++++++++++------------------------------------- 1 files changed, 194 insertions(+), 379 deletions(-) diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index d9ff9bf..36ce410 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -1,12 +1,7 @@ -<?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"> <resultMap id="BaseResultMap" type="com.moral.entity.Device"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> <id column="id" jdbcType="INTEGER" property="id" /> <result column="name" jdbcType="VARCHAR" property="name" /> <result column="address" jdbcType="VARCHAR" property="address" /> @@ -15,387 +10,91 @@ <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_value" property="version" 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"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> - <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="Update_By_Example_Where_Clause"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> - <where> - <foreach collection="example.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="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"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> - id, name, address, longitude, latitude, mac, operate_user_id, state, create_time, + 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="selectByExample" parameterType="com.moral.entity.DeviceExample" resultMap="BaseResultMap"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> + <select id="countByTimes" resultType="java.util.Map"> + select DATE_FORMAT(create_time,#{format}) as time, COUNT(*) as count from device + where create_time >= #{start} + and create_time + <![CDATA[ + <= + ]]> #{end} + and is_delete <![CDATA[ + <> + ]]> 1 + GROUP BY DATE_FORMAT(create_time,#{format}) ; + </select> + <select id="selectWithRelationData" parameterType="tk.mybatis.mapper.entity.Example" resultMap="BaseResultMap"> select - <if test="distinct"> - distinct - </if> - <include refid="Base_Column_List" /> - from device - <if test="_parameter != null"> - <include refid="Example_Where_Clause" /> - </if> - <if test="orderByClause != null"> - order by ${orderByClause} - </if> + 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="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> - select - <include refid="Base_Column_List" /> - from device - where id = #{id,jdbcType=INTEGER} - </select> - <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> - delete from device - where id = #{id,jdbcType=INTEGER} - </delete> - <delete id="deleteByExample" parameterType="com.moral.entity.DeviceExample"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> - delete from device - <if test="_parameter != null"> - <include refid="Example_Where_Clause" /> - </if> - </delete> - <insert id="insert" parameterType="com.moral.entity.Device"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> - insert into device (id, name, address, - longitude, latitude, mac, - operate_user_id, state, create_time, - install_time, monitor_point_id, device_version_id - ) - values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, - #{longitude,jdbcType=REAL}, #{latitude,jdbcType=REAL}, #{mac,jdbcType=VARCHAR}, - #{operateUserId,jdbcType=INTEGER}, #{state,jdbcType=CHAR}, #{createTime,jdbcType=TIMESTAMP}, - #{installTime,jdbcType=TIMESTAMP}, #{monitorPointId,jdbcType=INTEGER}, #{deviceVersionId,jdbcType=INTEGER} - ) - </insert> - <insert id="insertSelective" parameterType="com.moral.entity.Device"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> - insert into device - <trim prefix="(" suffix=")" suffixOverrides=","> - <if test="id != null"> - id, - </if> - <if test="name != null"> - name, - </if> - <if test="address != null"> - address, - </if> - <if test="longitude != null"> - longitude, - </if> - <if test="latitude != null"> - latitude, - </if> - <if test="mac != null"> - mac, - </if> - <if test="operateUserId != null"> - operate_user_id, - </if> - <if test="state != null"> - state, - </if> - <if test="createTime != null"> - create_time, - </if> - <if test="installTime != null"> - install_time, - </if> - <if test="monitorPointId != null"> - monitor_point_id, - </if> - <if test="deviceVersionId != null"> - device_version_id, - </if> - </trim> - <trim prefix="values (" suffix=")" suffixOverrides=","> - <if test="id != null"> - #{id,jdbcType=INTEGER}, - </if> - <if test="name != null"> - #{name,jdbcType=VARCHAR}, - </if> - <if test="address != null"> - #{address,jdbcType=VARCHAR}, - </if> - <if test="longitude != null"> - #{longitude,jdbcType=REAL}, - </if> - <if test="latitude != null"> - #{latitude,jdbcType=REAL}, - </if> - <if test="mac != null"> - #{mac,jdbcType=VARCHAR}, - </if> - <if test="operateUserId != null"> - #{operateUserId,jdbcType=INTEGER}, - </if> - <if test="state != null"> - #{state,jdbcType=CHAR}, - </if> - <if test="createTime != null"> - #{createTime,jdbcType=TIMESTAMP}, - </if> - <if test="installTime != null"> - #{installTime,jdbcType=TIMESTAMP}, - </if> - <if test="monitorPointId != null"> - #{monitorPointId,jdbcType=INTEGER}, - </if> - <if test="deviceVersionId != null"> - #{deviceVersionId,jdbcType=INTEGER}, - </if> - </trim> - </insert> - <select id="countByExample" parameterType="com.moral.entity.DeviceExample" resultType="java.lang.Integer"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> - select count(*) from device - <if test="_parameter != null"> - <include refid="Example_Where_Clause" /> - </if> - </select> - <update id="updateByExampleSelective" parameterType="map"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> - update device - <set> - <if test="record.id != null"> - id = #{record.id,jdbcType=INTEGER}, - </if> - <if test="record.name != null"> - name = #{record.name,jdbcType=VARCHAR}, - </if> - <if test="record.address != null"> - address = #{record.address,jdbcType=VARCHAR}, - </if> - <if test="record.longitude != null"> - longitude = #{record.longitude,jdbcType=REAL}, - </if> - <if test="record.latitude != null"> - latitude = #{record.latitude,jdbcType=REAL}, - </if> - <if test="record.mac != null"> - mac = #{record.mac,jdbcType=VARCHAR}, - </if> - <if test="record.operateUserId != null"> - operate_user_id = #{record.operateUserId,jdbcType=INTEGER}, - </if> - <if test="record.state != null"> - state = #{record.state,jdbcType=CHAR}, - </if> - <if test="record.createTime != null"> - create_time = #{record.createTime,jdbcType=TIMESTAMP}, - </if> - <if test="record.installTime != null"> - install_time = #{record.installTime,jdbcType=TIMESTAMP}, - </if> - <if test="record.monitorPointId != null"> - monitor_point_id = #{record.monitorPointId,jdbcType=INTEGER}, - </if> - <if test="record.deviceVersionId != null"> - device_version_id = #{record.deviceVersionId,jdbcType=INTEGER}, - </if> - </set> - <if test="_parameter != null"> - <include refid="Update_By_Example_Where_Clause" /> - </if> - </update> - <update id="updateByExample" parameterType="map"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> - update device - set id = #{record.id,jdbcType=INTEGER}, - name = #{record.name,jdbcType=VARCHAR}, - address = #{record.address,jdbcType=VARCHAR}, - longitude = #{record.longitude,jdbcType=REAL}, - latitude = #{record.latitude,jdbcType=REAL}, - mac = #{record.mac,jdbcType=VARCHAR}, - operate_user_id = #{record.operateUserId,jdbcType=INTEGER}, - state = #{record.state,jdbcType=CHAR}, - create_time = #{record.createTime,jdbcType=TIMESTAMP}, - install_time = #{record.installTime,jdbcType=TIMESTAMP}, - monitor_point_id = #{record.monitorPointId,jdbcType=INTEGER}, - device_version_id = #{record.deviceVersionId,jdbcType=INTEGER} - <if test="_parameter != null"> - <include refid="Update_By_Example_Where_Clause" /> - </if> - </update> - <update id="updateByPrimaryKeySelective" parameterType="com.moral.entity.Device"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> - update device - <set> - <if test="name != null"> - name = #{name,jdbcType=VARCHAR}, - </if> - <if test="address != null"> - address = #{address,jdbcType=VARCHAR}, - </if> - <if test="longitude != null"> - longitude = #{longitude,jdbcType=REAL}, - </if> - <if test="latitude != null"> - latitude = #{latitude,jdbcType=REAL}, - </if> - <if test="mac != null"> - mac = #{mac,jdbcType=VARCHAR}, - </if> - <if test="operateUserId != null"> - operate_user_id = #{operateUserId,jdbcType=INTEGER}, - </if> - <if test="state != null"> - state = #{state,jdbcType=CHAR}, - </if> - <if test="createTime != null"> - create_time = #{createTime,jdbcType=TIMESTAMP}, - </if> - <if test="installTime != null"> - install_time = #{installTime,jdbcType=TIMESTAMP}, - </if> - <if test="monitorPointId != null"> - monitor_point_id = #{monitorPointId,jdbcType=INTEGER}, - </if> - <if test="deviceVersionId != null"> - device_version_id = #{deviceVersionId,jdbcType=INTEGER}, - </if> - </set> - where id = #{id,jdbcType=INTEGER} - </update> - <update id="updateByPrimaryKey" parameterType="com.moral.entity.Device"> - <!-- - WARNING - @mbggenerated - This element is automatically generated by MyBatis Generator, do not modify. - This element was generated on Wed Nov 29 16:17:59 CST 2017. - --> - update device - set name = #{name,jdbcType=VARCHAR}, - address = #{address,jdbcType=VARCHAR}, - longitude = #{longitude,jdbcType=REAL}, - latitude = #{latitude,jdbcType=REAL}, - mac = #{mac,jdbcType=VARCHAR}, - operate_user_id = #{operateUserId,jdbcType=INTEGER}, - state = #{state,jdbcType=CHAR}, - create_time = #{createTime,jdbcType=TIMESTAMP}, - install_time = #{installTime,jdbcType=TIMESTAMP}, - monitor_point_id = #{monitorPointId,jdbcType=INTEGER}, - device_version_id = #{deviceVersionId,jdbcType=INTEGER} - where id = #{id,jdbcType=INTEGER} - </update> - <select id="getDeviceStatesByAccount" resultType="map"> + <select id="getDeviceStatesByAccount" resultType="java.util.Map"> SELECT COUNT( d.state ) count, d.state @@ -412,7 +111,7 @@ </if> GROUP BY d.state </select> - <select id="getSensorsByDevice" resultType="map"> + <select id="getSensorsByDevice" resultType="java.util.Map"> SELECT s.`key`, s.`name` @@ -427,4 +126,120 @@ ORDER BY s.id </select> + <select id="getDeviceVersionIdByMonitorPoint" resultType="map"> + SELECT + device_version_id deviceVersionId + FROM + device + WHERE + monitor_point_id = #{monitorPoint} + GROUP BY + device_version_id + </select> + <select id="getDeviceVersionIdByAreaCode" resultType="int"> + SELECT DISTINCT + d.device_version_id + FROM + monitor_point mp, + device d + WHERE + mp.area_code = #{areaCode} + AND d.monitor_point_id = mp.id + <if test="orgIds != null and orgIds.size > 0"> + AND mp.organization_id IN + <foreach collection="orgIds" open="(" separator="," close=")" item="listItem"> + #{listItem} + </foreach> + </if> + </select> + <select id="getDeviceMacByMonitorPointAndDeviceVersion" resultType="string"> + SELECT + mac + FROM + device + WHERE + monitor_point_id = #{monitorPointId} + AND device_version_id = #{deviceVersionId} + </select> + <select id="selectByOrgIdAndDevName" resultMap="BaseResultMap"> + SELECT dev.*,dve.version as device_version_value from device dev + left join monitor_point mpt on dev.monitor_point_id = mpt.id + left join device_version dve on dev.device_version_id = dve.id + <where> + <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)"> + mpt.organization_id = #{orgId} + </if> + <if test="devName!=null and ''!=devName"> + and dev.name like CONCAT('%',#{devName},'%') + </if> + </where> + </select> + <select id="selectByOrgIdAndMpId" resultMap="BaseResultMap"> + SELECT dev.*,dve.version as device_version_value from device dev + left join monitor_point mpt on dev.monitor_point_id = mpt.id + left join device_version dve on dev.device_version_id = dve.id + <where> + <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)"> + mpt.organization_id = #{orgId} + </if> + and dev.monitor_point_id = #{mpId} + </where> + </select> + <select id="selectByMap" parameterType="java.util.Map" resultMap="BaseResultMap"> + SELECT dev.*,dve.version as device_version_value from device dev + left join monitor_point mpt on dev.monitor_point_id = mpt.id + left join device_version dve on dev.device_version_id = dve.id + <where> + <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)"> + mpt.organization_id = #{orgId,jdbcType=VARCHAR} + </if> + <![CDATA[ + AND dev.longitude < #{mapBounds.Ge,jdbcType=NUMERIC} + AND dev.longitude > #{mapBounds.Le,jdbcType=NUMERIC} + AND dev.latitude < #{mapBounds.Fe,jdbcType=NUMERIC} + AND dev.latitude > #{mapBounds.Ke,jdbcType=NUMERIC} + ]]> + </where> + </select> + <resultMap id="BaseResultWithOrgIdsMap" type="com.moral.entity.Device" extends="BaseResultMap"> + <collection property="organizationIds" column="id" select="selectOrganizationIds"></collection> + </resultMap> + <!-- resultMap������ --> + <select id="selectOrganizationIds" resultType="java.lang.Integer"> + call proc_organizationIds_GetByDeviceId(#{id,jdbcType=INTEGER}); + </select> + <select id="selectWithOrgIdsByMac" parameterType="java.lang.String" resultMap="BaseResultWithOrgIdsMap"> + select + dev.*, + mpt.name as monitor_point_name + from device dev + left join monitor_point mpt on dev.monitor_point_id = mpt.id + where dev.mac = #{mac,jdbcType=VARCHAR} + </select> + + <select id="getDeviceCountByRegion" resultType="java.lang.Integer"> + SELECT + COUNT( * ) + FROM + device d + WHERE + d.is_delete = 0 + AND d.monitor_point_id IN ( + SELECT + mp.id + FROM + monitor_point mp + WHERE + mp.is_delete = 0 + <if test="provinceCode != null"> + AND mp.province_code = #{provinceCode} + </if> + <if test="cityCode != null"> + AND mp.city_code = #{cityCode} + </if> + <if test="areaCode != null"> + AND mp.area_code = #{areaCode} + </if> + ) + </select> </mapper> \ No newline at end of file -- Gitblit v1.8.0