<?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.spd.sw.dao.ReleaseCircleDao">

	<!-- 这里的id必须和IStatisticsMapper接口中的接口方法名相同，不然运行的时候也要报错 -->
	<select id="userList" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
    	select userID,avatarurl,uNickname as usernick,perAdage from t_user  where userID in 
		]]>
		<foreach item="item" index="index" collection="uuId" open="("
			separator="," close=")">
			#{item}
		</foreach>
	</select>

	<select id="findSingleList" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
    	SELECT
			t.id,
			t.UserID as userid,
			t.Lon  as lon,
			t.Lat as lat,
			t.locatePlace as locatePlace,
			t.Content as content,
			t.Weather as weather,
			t.ReleaseType as releaseType,
			t.Warnid as warnid,
			t.Foreastingid as foreastingid,
			t.Distasterid as distasterid,
			t.Ifrelieve as ifrelieve,
			t.ifgiveup as ifgiveup,
			t.cmentdata as cmentdata,
			t.CreateTime as createTime,
			t.giveupdata as giveupdata
		FROM `t_release_weather`  t
		where t.UserID like '%${userid}%' order by t.CreateTime desc
		]]>
	</select>
	<select id="findimageList" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
	    SELECT concat_ws("//",z.domain,z.fileName) as root from t_release_image z where z.ID_Release_weather = #{id} 
		]]>
	</select>
	<select id="findGiveupList" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
	    SELECT * from t_release_giveup t where t.releaseid = #{id}  and t.userid = #{userid} and t.datatype = #{datatype}
		]]>
	</select>
	<select id="findList" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
    	SELECT
			t.id,
			t.UserID as userid,
			t.Lon  as lon,
			t.Lat as lat,
			t.locatePlace as locatePlace,
			t.Content as content,
			t.Weather as weather,
			t.ReleaseType as releaseType,
			t.Warnid as warnid,
			t.Foreastingid as foreastingid,
			t.Distasterid as distasterid,
			t.Ifrelieve as ifrelieve,
			t.ifgiveup as ifgiveup,
			t.cmentdata as cmentdata,
			t.giveupdata as giveupdata,
			t.CreateTime as createTime,
			concat_ws("//",z.domain,z.fileName) as root
		FROM `t_release_weather`  t left join `t_release_image` z on z.ID_Release_weather=t.id
		where t.CreateTime>=#{starttime} 
		]]>
	</select>

	<select id="findHotsList" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
    	SELECT
			t.id,
			t.UserID as userid,
			t.Lon  as lon,
			t.Lat as lat,
			t.locatePlace as locatePlace,
			t.Content as content,
			t.Weather as weather,
			t.ReleaseType as releaseType,
			t.tranmitdata as tranmitdata,
			t.cmentdata as cmentdata,
			t.giveupdata as giveupdata,
			t.level as level,
			t.CreateTime as createTime,
			concat_ws("//",z.domain,z.fileName) as root
		FROM `t_hot_events`  t left join `t_release_image` z on z.ID_Release_weather=t.id
		where t.CreateTime>=#{starttime} 
		]]>
	</select>

	<select id="findListByPosition" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
    	SELECT
			t.id,
			t.UserID as userid,
			t.Lon  as lon,
			t.Lat as lat,
			t.locatePlace as locatePlace,
			t.Content as content,
			t.Weather as weather,
			t.ReleaseType as releaseType,
			t.Warnid as warnid,
			t.Foreastingid as foreastingid,
			t.Distasterid as distasterid,
			t.Ifrelieve as ifrelieve,
			t.cmentdata as cmentdata,
			t.giveupdata as giveupdata,
			t.CreateTime as createTime,
			concat_ws("//",z.domain,z.fileName) as root
		FROM `t_release_weather`  t left join `t_release_image` z on z.ID_Release_weather=t.id
		where t.CreateTime>=${starttime}   and (power(t.Lon-${Longitude},2)+power(t.Lat-${Latitude},2))<=50  order by t.CreateTime  desc
		]]>
	</select>
	<select id="findList_1" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
    	SELECT
			t_release_weather.id,
			t_release_weather.UserID as userid,
			t_release_weather.Lon  as lon,
			t_release_weather.Lat as lat,
			t_release_weather.Content as content,
			t_release_weather.Weather as weather,
			t_release_weather.ReleaseType as releaseType,
			t_release_weather.Warnid as warnid,
			t_release_weather.Foreastingid as foreastingid,
			t_release_weather.Distasterid as distasterid,
			t_release_weather.Ifrelieve as ifrelieve,
			t_release_weather.CreateTime as createTime
		FROM `t_release_weather` 
		where t_release_weather.CreateTime>=#{starttime} and  t_release_weather.UserID  like '%${userId}%'
		]]>
	</select>

	<select id="findReleaseListByuserid" resultType="java.util.HashMap"
		parameterType="map">
		SELECT
		t_release_weather.id,
		t_release_weather.UserID as
		userid,
		t_release_weather.Lon as lon,
		t_release_weather.Lat as lat,
		t_release_weather.Content as content,
		t_release_weather.Weather as
		weather,
		t_release_weather.ReleaseType as releaseType,
		t_release_weather.Warnid as warnid,
		t_release_weather.Foreastingid as
		foreastingid,
		t_release_weather.Distasterid as distasterid,
		t_release_weather.Ifrelieve as ifrelieve,
		t_release_weather.CreateTime
		as createTime
		FROM `t_release_weather`
		where t_release_weather.UserID
		like '%#{userId}%' and
		t_release_weather.CreateTime>=#{starttime}
		union
		SELECT
		t_release_weather.id,
		t_release_weather.UserID as userid,
		t_release_weather.Lon as lon,
		t_release_weather.Lat as lat,
		t_release_weather.Content as content,
		t_release_weather.Weather as
		weather,
		t_release_weather.ReleaseType as releaseType,
		t_release_weather.Warnid as warnid,
		t_release_weather.Foreastingid as
		foreastingid,
		t_release_weather.Distasterid as distasterid,
		t_release_weather.Ifrelieve as ifrelieve,
		t_release_weather.CreateTime
		as createTime
		FROM `t_release_weather`
		where t_release_weather.UserID in
		(select ID_Friend from t_friendships
		where ID_User=#{userid})
		ORDER BY
		CreateTime desc
	</select>


	<insert id="save" parameterType="map" useGeneratedKeys="true"
		keyProperty="id">
		insert into t_release_weather(UserID,Lon, Lat,locatePlace,
		Content, Weather
		,ReleaseType ,Warnid ,Foreastingid, Distasterid,
		Ifrelieve,CreateTime)
		values (
		#{userID}, #{lon}, #{lat},#{places},
		#{content},
		#{weather},#{releaseType},#{warnid},#{foreastingid},#{distasterid},#{ifrelieve},#{creattime}
		)
	</insert>

	<insert id="saveRelease" parameterType="map" useGeneratedKeys="true"
		keyProperty="id">
		insert into t_release_weather(UserID, Lon,
		Lat,locatePlace, Content, Weather
		,ReleaseType ,Warnid ,Foreastingid,
		Distasterid, Ifrelieve,CreateTime)
		values (
		#{userID},#{lon}, #{lat},
		#{places},#{content},
		#{weather},#{releaseType},#{warnid},#{foreastingid},#{distasterid},#{ifrelieve},#{creattime}
		)
	</insert>
	
	<insert id="saveDemand" parameterType="map" useGeneratedKeys="true"
		keyProperty="id">
		insert into t_release_demand(Username, Hangye, Price, Title,Content,Img,Type,CreateTime )
		values (
		#{Username},#{Hangye},#{Price},#{Title},#{Content},#{Img},#{Type},#{CreateTime}
		)
	</insert>

	<insert id="saveTyphoonZdyb" parameterType="map"
		useGeneratedKeys="true" keyProperty="id">
		insert into
		t_typhoon_forecast_path
		(tfid,lat,lng,movespeed,power,pressure,radius10,radius7,speed,strong,time,currentId,forecastAddress)
		values
		(#{thisid},#{Latitude},#{Longitude},#{gender},#{PowerValue},#{PreValues},#{rd10},#{rd7},#{threshold},#{datasource},#{starttime},#{warnid},'中大预报')

	</insert>
	
	<insert id="saveThuderUserList" parameterType="map"
		useGeneratedKeys="true" keyProperty="id">
		insert into earlywarn.t_userlist
		(username,lon,lat,phonenum,mail,region,other,ts12,ts30,ts60,autosend)
		values
		(#{userName},#{Longitude},#{Latitude},#{phoneNum},#{Mail},#{Region},#{Other},${Ts12},${Ts30},${Ts60},${AutoSend})

	</insert>
	
	<insert id="saveAddress" parameterType="map"
		useGeneratedKeys="true" keyProperty="id">
		insert into redumall.addresses 
		(user_id,address,tel,name,province,city,county)
		values
		(#{userid},#{address},#{tel},#{name},#{province},#{city},#{county})
	</insert>
	
	<insert id="insertSMMember" parameterType="map"
		useGeneratedKeys="true" keyProperty="id">
		INSERT INTO `cdsm`.`t_member` (`member_name`, `member_iffujian`, `member_com`, `member_address`, `member_qycode`,
 `member_qycontent`,`member_label`,`member_zzpic`,`member_sfzpic`,`member_phone`,`member_level`,`member_index`)
VALUES (#{member_name},#{member_iffujian},#{member_com},#{member_address},#{member_qycode},#{member_qycontent},
#{member_label},#{member_zzpic},#{member_sfzpic},#{member_phone},#{member_level},#{member_index});
	</insert>

	<insert id="saveHotevent" parameterType="map" useGeneratedKeys="true"
		keyProperty="id">
		insert into t_hot_events(UserID,Lon, Lat,locatePlace,
		Content, Weather
		,ReleaseType,level,CreateTime) values (
		#{userID},
		#{lon}, #{lat}, #{places},#{content},
		#{weather},#{releaseType},#{level},#{creattime}
		)
	</insert>

	<insert id="saveReleaseFile" parameterType="list">
		<foreach collection="fileList" item="item" separator=";">
			insert
			into t_release_image(ID_Release_weather,domain, root, fileName,
			CreateTime,description) values (
			#{item.releaseWeatherid},#{item.domain}, #{item.root},
			#{item.fileName}, #{item.createTime}, #{item.description}
			)
		</foreach>
	</insert>


	<delete id="delete" parameterType="java.lang.String">
		delete from t_interfaceInfo
		where recordId=#{id}
	</delete>

	<update id="update">
		update t_release_weather
		set UserID=#{userID},
		Usernick=#{usernick},Lon=#{lon}, Lat=#{lat},
		Content=#{content},
		Weather=#{weather}, ReleaseType=#{releaseType}, Warnid=#{warnid},
		Foreastingid=#{foreastingid}, Distasterid=#{distasterid},
		Ifrelieve=#{ifrelieve}
		where id=#{id}
	</update>

	<update id="updateTyphoonZdyb">
		update t_typhoon_forecast_path set lng=
		#{Longitude},lat= #{Latitude},
		speed=#{threshold},movespeed=#{gender},
		power=#{PowerValue},
		pressure=#{PreValues},radius10=#{rd10},radius7=#{rd7},strong=#{datasource}
		where tfid=#{thisid} and currentId=#{warnid} and time=#{starttime} and
		forecastAddress=#{loadType}
	</update>
	
	<update id="updateTDUserList">
		update earlywarn.t_userlist set lon=
		#{Longitude},lat= #{Latitude},
		username=#{userName},phonenum=#{phoneNum},
		mail=#{Mail},region=#{Region},other=#{Other},
		ts12=${Ts12},ts30=${Ts30},ts60=${Ts60},autosend=${AutoSend}
		where id=#{thisid} 
	</update>
	
	<update id="updateAddress">
		update redumall.addresses set address=
		#{address},name= #{name},
		tel=#{tel},province=#{province},
		city=#{city},
		county=#{county}
		where user_id=#{userid} and id=#{id}
	</update>

	<select id="getForZDTyphoon" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
    	SELECT *
		FROM `t_typhoon_forecast_path` 
		where tfid=#{thisid} and currentId=#{warnid} and time=#{starttime} and forecastAddress='中大预报'
		]]>
	</select>
	<insert id="saveFarmSuggest" parameterType="map"
		useGeneratedKeys="true" keyProperty="id">
		insert into
		t_farm_suggest(disasterTime,disasterType,farmSuggest)
		VALUES(#{starttime},#{datasource},#{content})
	</insert>
	<select id="getLastFarmSuggest" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
	    SELECT * from t_farm_suggest  order by id desc limit 1
		]]>
	</select>

	<select id="getFarmSuggestByID" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
	    SELECT * from t_farm_suggest  where id=#{thisid}
		]]>
	</select>

	<insert id="saveHB" parameterType="map" useGeneratedKeys="true"
		keyProperty="id">
		insert into
		dayiep.t_enterprise(unitName,lon,lat,province,region,county,
		city,street,legalRepresentative,contacts,tel,industryName1,enterpriseOperationStatus)
		values(#{systemname},#{Longitude},#{Latitude},#{province},#{region},#{county},#{city},#{country},#{userId},#{user_name},#{thisid},#{content},#{datasource})
	</insert>
	<select id="getLastHB" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
	    SELECT * from dayiep.t_enterprise 
		]]>
	</select>
	<update id="editHB" parameterType="map" useGeneratedKeys="true"
		keyProperty="id">
		update
		dayiep.t_enterprise
		set
		unitName=#{systemname},
		lon=#{Longitude},
		lat=#{Latitude},
		province=#{province},
		region=#{region},
		county=#{county},
		city=#{city},
		street=#{country},
		legalRepresentative=#{userId},
		contacts=#{user_name},
		tel=#{thisid},
		industryName1=#{registrationType},
		enterpriseOperationStatus=#{datasource}
		where id=#{id}
	</update>

	<insert id="saveHBUser" parameterType="map" useGeneratedKeys="true"
		keyProperty="id">
		insert into
		msuser.t_typhoon_user(UserName,PassWord,Country,Tel,EMail,UserLevel)
		values(#{UserName},#{PassWord},#{Country},#{Tel},#{EMail},#{UserLevel})
	</insert>

	<update id="editHBUser" parameterType="map" useGeneratedKeys="true"
		keyProperty="id">
		update
		msuser.t_typhoon_user
		set
		UserName=#{UserName},
		PassWord=#{PassWord},
		Country=#{Country},
		Tel=#{Tel},
		EMail=#{EMail},
		UserLevel=#{UserLevel}
		where id=#{id}
	</update>

	<insert id="saveHBAir" parameterType="map" useGeneratedKeys="true"
		keyProperty="id">
		insert into
		dayiep.t_air_station(LAT,LNG,STATIONCODE,STATIONNAME,STATIONTYPEID)
		values(#{lat},#{lon},#{stationcode},#{stationName},#{stationtypeid})
	</insert>

	<update id="editHBAir" parameterType="map" useGeneratedKeys="true"
		keyProperty="id">
		update
		dayiep.t_air_station
		set
		LAT=#{lat},
		LNG=#{lon},
		STATIONCODE=#{stationcode},
		STATIONNAME=#{stationName},
		STATIONTYPEID=#{stationtypeid}

		where id=#{id}
	</update>

	<insert id="saveWaterMonitor" parameterType="map"
		useGeneratedKeys="true" keyProperty="id">
		insert into
		dayiep.t_waterdischarge(outletType,outletNo,lon,lat,contaminants,
		emissionLimits,pollutionName,address,county,industryType,managementlevel,
		licenseNumber,datetime,issuingAuthority
		)
		values(#{outletType},#{outletNo},#{lon},#{lat},#{contaminants},
		#{emissionLimits},#{pollutionName},#{address},#{county},
		#{industryType},#{managementlevel},#{licenseNumber},#{datetime},
		#{issuingAuthority})
	</insert>

	<update id="editWaterMonitor" parameterType="map"
		useGeneratedKeys="true" keyProperty="id">
		update
		dayiep.t_waterdischarge
		set
		outletType=#{outletType},
		outletNo=#{outletNo},
		lon=#{lon},
		lat=#{lat},
		contaminants=#{contaminants},
		emissionLimits=#{emissionLimits},
		pollutionName=#{pollutionName},
		address=#{address},
		county=#{county},
		industryType=#{industryType},
		managementlevel=#{managementlevel},
		licenseNumber=#{licenseNumber},
		datetime=#{datetime},
		issuingAuthority=#{issuingAuthority}

		where id=#{id}
	</update>

<select id="getProductcapacity" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
    	select * from dayiep.t_productcapacity t where t.pollutionName like '${systemname}%'
		]]>
	</select>

<select id="getEnterprisename" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
    select id,province,region,county,city,street,legalRepresentative,contacts,tel,industryName1,enterpriseOperationStatus 
    from dayiep.t_enterprise  t where t.type=1 and t.unitName=#{systemname}
		]]>
	</select>

<select id="getEnteronlinemonitorname" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
   select * from dayiep.t_enteronlinemonitor where pollutionName=#{systemname}
		]]>
	</select>
	
	<select id="getRawmaterial" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
  select * from dayiep.t_rawmaterial t where t.pollutionName like '%${systemname}%'
		]]>
	</select>
	
		<select id="getWaterdischarge" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
select * from dayiep.t_waterdischarge t where t.pollutionName like '%${systemname}%'
		]]>
	</select>
	
	<update id="editOrganized" parameterType="map"
		useGeneratedKeys="true" keyProperty="id">
		update
		dayiep.t_organized_2
		set
		industryName=#{industryName},
		processFacilities=#{processFacilities},
		contaminantsName=#{contaminantsName},
		highestConcentration=#{highestConcentration},
		15mConcentration=#{Concentration15m},
		20mConcentration=#{Concentration20m},
		30mConcentration=#{Concentration30m},
		40mConcentration=#{Concentration40m},
		lowConcentration=#{lowConcentration}
		where id=#{id}
	</update>
	<insert id="saveOrganized" parameterType="map"
		useGeneratedKeys="true" keyProperty="id">
		insert into
		dayiep.t_organized_2(
industryName,
processFacilities,
contaminantsName,
highestConcentration,
15mConcentration,
20mConcentration,
30mConcentration,
40mConcentration,
lowConcentration

		)
		values(#{industryName},#{processFacilities},#{contaminantsName},#{highestConcentration},#{Concentration15m},
		#{Concentration20m},#{Concentration30m},#{Concentration40m},#{lowConcentration}
		)
	</insert>
	
	<insert id="saveNoorganizational" parameterType="map"
		useGeneratedKeys="true" keyProperty="id">
		insert into
		dayiep.t_noorganizational(
contaminantsName,
concentration)
		values(#{contaminantsName},#{concentration}
		)
	</insert>
	<update id="editNoorganizational" parameterType="map"
		useGeneratedKeys="true" keyProperty="id">
		update
		dayiep.t_noorganizational
		set
		contaminantsName=#{contaminantsName},
		concentration=#{concentration}
		
		where id=#{id}
	</update>
	
	 <select id="getDataGirdList" resultType="java.util.HashMap"  parameterType="map"> 
	    <![CDATA[
	     select * from msmap.${TableName} t where t.dTime=#{sTime}
		]]>
		<if test = "element != null and element != ''">
		and t.element like #{element}
		</if>
    </select>
    
    <select id="getDataWindGirdList" resultType="java.util.HashMap"  parameterType="map"> 
	    <![CDATA[
	     select * from msmap.${TableName} t where t.dTime=#{sTime}
		]]>
		<if test = "fTime != null and fTime != ''">
		and t.fTime = #{fTime}
		</if>
		<if test = "gDC != null and gDC != ''">
		and t.gdc = #{gDC}
		</if>
    </select>
    
 	<select id="getGridHourly" resultType="java.util.HashMap"  parameterType="map"> 
	    <![CDATA[
	    select t.dTime,SUBSTRING_INDEX(substring_index(t.datas,',',${Lindex}),',',-1) as dataresult,t.hourspan,t.cols,t.rows,t.top,t.bottom,t.`left`,t.`right` from msmap.${TableName} t where t.hourspan<=#{hours} and t.dTime = (select max(dTime) from msmap.${TableName} )  order by t.id
	    
		]]>
    </select>
    
     	<select id="getGridMinutely" resultType="java.util.HashMap"  parameterType="map"> 
	    <![CDATA[
	    select * from msmap.t_forcastminutegrid_pre t where t.dTime ='2023-12-15 06:16:02'
		]]>
    </select>
    
    <select id="getDataGirdForList" resultType="java.util.HashMap"  parameterType="map"> 
	    <![CDATA[
	select * from msmap.${TableName} t where t.hourspan<=${hours} and t.dTime = (select max(dTime) from msmap.${TableName} ) 
		]]>
    </select>
    
     <select id="getAirGirdList" resultType="java.util.HashMap"  parameterType="map"> 
	    <![CDATA[
	    select t.dTime,t.fTime,t.element,SUBSTRING_INDEX(substring_index(t.datas,',',${Lindex}),',',-1) as dataresult,t.cols,t.rows,t.top,t.bottom,t.`left`,t.`right` from msmap.t_grid_data_airline t where t.dtime='time'   order by element,fTime asc
		]]>
    </select>
    <select id="getPremiss" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
	   	select * from msmap.t_typhoon_permiss t where t.tfid=#{tfid} and t.dtime=#{time}
		]]>
	</select>
    <select id="getTyphonZDForData" resultType="java.util.HashMap"
		parameterType="map"> 
	    <![CDATA[
	select t.* from msmap.t_typhoon_forecast_path t where t.tfid=#{tfid} and (t.forecastAddress  = '中大预报'
or t.forecastAddress  ='中大测试' or t.forecastAddress  ='中大AI')
order by t.forecastAddress,t.currentId desc
		]]>
	</select>
</mapper> 