<?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="org.springblade.modules.dp.mapper.MilitaryLocalCoordinationMapper">
|
|
<select id="gerSurroundingDeptList" resultType="java.util.HashMap">
|
SELECT id,dept_name,lon,lat,
|
round(6378.138 * 2 * asin(sqrt(pow( sin(( lat * pi() / 180 - #{lat} * pi() / 180 ) / 2 ), 2 ) + cos( lat * pi() / 180 ) * cos( #{lat} * pi() / 180 ) * pow( sin(( lon * pi() / 180 - #{lon} * pi() / 180 ) / 2 ), 2 ))) * 1000) distance
|
FROM `blade_dept`
|
WHERE is_deleted = 0
|
AND round(6378.138 * 2 * asin(sqrt(pow( sin(( lat * pi() / 180 - #{lat} * pi() / 180 ) / 2 ), 2 ) + cos( lat * pi() / 180 ) * cos( #{lat} * pi() / 180 ) * pow( sin(( lon * pi() / 180 - #{lon} * pi() / 180 ) / 2 ), 2 ))) * 1000) <= #{distance}
|
</select>
|
|
<select id="gerSurroundingDeviceList" resultType="java.util.HashMap">
|
SELECT id,name,lon,lat,
|
round(6378.138 * 2 * asin(sqrt(pow( sin(( lat * pi() / 180 - #{lat} * pi() / 180 ) / 2 ), 2 ) + cos( lat * pi() / 180 ) * cos( #{lat} * pi() / 180 ) * pow( sin(( lon * pi() / 180 - #{lon} * pi() / 180 ) / 2 ), 2 ))) * 1000) distance
|
FROM sys_device
|
WHERE is_deleted = 0
|
AND round(6378.138 * 2 * asin(sqrt(pow( sin(( lat * pi() / 180 - #{lat} * pi() / 180 ) / 2 ), 2 ) + cos( lat * pi() / 180 ) * cos( #{lat} * pi() / 180 ) * pow( sin(( lon * pi() / 180 - #{lon} * pi() / 180 ) / 2 ), 2 ))) * 1000) <= #{distance}
|
</select>
|
|
<select id="gerSurroundingVehicleList" resultType="java.util.HashMap">
|
SELECT id,license_plate,lon,lat,
|
round(6378.138 * 2 * asin(sqrt(pow( sin(( lat * pi() / 180 - #{lat} * pi() / 180 ) / 2 ), 2 ) + cos( lat * pi() / 180 ) * cos( #{lat} * pi() / 180 ) * pow( sin(( lon * pi() / 180 - #{lon} * pi() / 180 ) / 2 ), 2 ))) * 1000) distance
|
FROM sys_vehicle
|
WHERE is_deleted = 0
|
AND round(6378.138 * 2 * asin(sqrt(pow( sin(( lat * pi() / 180 - #{lat} * pi() / 180 ) / 2 ), 2 ) + cos( lat * pi() / 180 ) * cos( #{lat} * pi() / 180 ) * pow( sin(( lon * pi() / 180 - #{lon} * pi() / 180 ) / 2 ), 2 ))) * 1000) <= #{distance}
|
</select>
|
|
<resultMap id="fireAllDetail" type="org.springblade.fire.vo.FireSupplementVO">
|
<result column="id" property="id"/>
|
<result column="fire_id" property="fireId"/>
|
<result column="lon" property="lon"/>
|
<result column="lat" property="lat"/>
|
<result column="alarm_time" property="alarmTime"/>
|
<result column="province_name" property="province"/>
|
<result column="city_name" property="city"/>
|
<result column="district_name" property="district"/>
|
<result column="sumInjuryPerson" property="sumInjuryPerson"/>
|
<result column="fire_reason" property="fireReason"/>
|
<result column="tree_species" property="treeSpecies"/>
|
<result column="extinguishing_time" property="extinguishingTime"/>
|
<result column="perpetrator" property="perpetrator"/>
|
<result column="sum_person" property="sumPerson"/>
|
<result column="punish_person" property="punishPerson"/>
|
<result column="situation" property="situation"/>
|
<result column="minor_injury_person" property="minorInjuryPerson"/>
|
<result column="serious_injury_person" property="seriousInjuryPerson"/>
|
<result column="death_person" property="deathPerson"/>
|
<result column="economic_loss" property="economicLoss" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
<result column="damage_area" property="damageArea" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
<result column="police_resources" property="policeResources" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
</resultMap>
|
|
<select id="getFireAllDetail" resultMap="fireAllDetail">
|
SELECT
|
sup.id,
|
sup.fire_id,
|
fire.location,
|
fire.lon,
|
fire.lat,
|
fire.alarm_time,
|
|
region.province_name,
|
region.city_name,
|
region.district_name,
|
|
sup.extinguishing_time,
|
sup.tree_species,
|
sup.fire_reason,
|
sup.perpetrator,
|
sup.damage_area,
|
sup.economic_loss,
|
(sup.minor_injury_person+sup.serious_injury_person+sup.death_person) as sumInjuryPerson,
|
sup.minor_injury_person,
|
sup.serious_injury_person,
|
sup.death_person,
|
sup.police_resources,
|
sup.situation,
|
sup.sum_person,
|
sup.punish_person
|
FROM
|
sys_fire fire
|
LEFT JOIN sys_fire_supplement sup ON sup.fire_id = fire.id
|
LEFT JOIN
|
(
|
SELECT
|
id,
|
SUBSTRING_INDEX(SUBSTRING_INDEX(REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(location,'[',-1),']',1),'"',''),',',1),',',-1) provinceCode,
|
SUBSTRING_INDEX(SUBSTRING_INDEX(REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(location,'[',-1),']',1),'"',''),',',2),',',-1) cityCode,
|
SUBSTRING_INDEX(SUBSTRING_INDEX(REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(location,'[',-1),']',1),'"',''),',',3),',',-1) districtCode
|
FROM sys_fire WHERE is_deleted = 0 AND id = #{fireId}
|
) r ON fire.id = r.id
|
LEFT JOIN blade_region region ON region.code = r.districtCode
|
WHERE
|
fire.id = #{fireId}
|
</select>
|
</mapper>
|