<?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.yeejoin.amos.fas.business.dao.mapper.RiskSourceMapper">
	<!--统计-->
	<select id="countPageData" resultType="long">
		SELECT
		    COUNT(1) AS total_num
		FROM
		    f_risk_source rs
		LEFT JOIN f_risk_level rl ON rl.id = rs.risk_level_id
		<trim prefix="WHERE" prefixOverrides="AND ">
			<if test="name!=null"> and rs.name like concat(concat("%",#{name}),"%")</if>
		</trim>
	</select>

	<!--分页查询 -->
	<select id="queryRiskSourceByPage" resultType="java.util.HashMap">
		SELECT
            rs.*, rl.`name` riskLevelName
        FROM
            f_risk_source rs
        LEFT JOIN f_risk_level rl ON rl.id = rs.risk_level_id
        <trim prefix="WHERE" prefixOverrides="AND ">
            <if test="name!=null"> and rs.name like concat(concat("%",#{name}),"%")</if>
        </trim>
		order by rs.id desc
		<choose>
	     <when test="pageSize==-1"></when>
	     <when test="pageSize!=-1">limit #{offset},#{pageSize}</when>
	    </choose>
	</select>

	<select id="queryForRegion" resultType="java.util.Map">
		SELECT
			rs.id,
			rs.`code`,
			rs.`name`,
		(select rl.color from f_risk_level rl where rl.id = rs.risk_level_id) color,
		(select rl.`level` from f_risk_level rl where rl.id = rs.risk_level_id) level,
			rs.parent_id parentId
		FROM
			f_risk_source rs
		where rs.is_region = 'TRUE';
	</select>


	<select id="queryRPNReport" resultType="java.util.Map">
		<!-- SELECT
		    rs.`code`,
		    rs.id,
		    rs.`name`,
		    IFNULL(rs.rpn, 0) rpn,
		    IFNULL(
		        (
		            SELECT
		                sum(ff.rpni)
		            FROM
		                f_fmea ff
		            WHERE
		                ff.risk_source_id = rs.id
		            GROUP BY
		                ff.risk_source_id
		        ),
		        0
		    ) rpni
		FROM
		    f_risk_source rs
		WHERE
            rs.parent_id &gt; 0
		ORDER BY rpni DESC
		LIMIT 10 -->
		SELECT
		    rs.`code`,
		    rs.id,
		    rs.`name`,
		    IFNULL(rs.rpn, 0) rpn,
		    IFNULL(rs.rpni, 0) rpni
		FROM
		    f_risk_source rs
		WHERE
		    rs.parent_id &gt; 0
		ORDER BY
		    rpni DESC, rpn DESC
		LIMIT 10
	</select>


	<select id="queryForRiseUp" resultType="java.util.Map">
		select
		d.countOfType0,
		d.countOfSource,
		CONCAT(ROUND(IFNULL(d.countOfType0/d.countOfSource,0)*100,2),'%')type0Rate
		 from
		(SELECT
			count(DISTINCT cl.risk_source_id) countOfType0,
			(select count(1) from f_risk_source rs )countOfSource
		FROM
			f_rpn_change_log cl
		WHERE
			cl.type = 0
			and cl.create_date  BETWEEN '${startTime}'  and  '${endTime}'
		)d
	</select>


	<select id="queryForMatrix" resultType="java.util.Map">

		<!-- SELECT
		    ff1.risk_source_id riskSourceId,
		    ff1.evaluation_oid evaluationOid,
		    ff1.evaluation_sid evaluationSid,
		    d.mutiby,
		    rs.`name`
		FROM
		    f_fmea ff1
		JOIN (
		    SELECT
		        ff.risk_source_id sourceId,
		        MAX(
		            ff.evaluation_oid * ff.evaluation_sid
		        ) mutiby
		    FROM
		        f_fmea ff
		    GROUP BY
		        ff.risk_source_id
		    LIMIT 20
		) d ON (
		    ff1.risk_source_id = d.sourceId
		    AND ff1.evaluation_oid * ff1.evaluation_sid
		)
		LEFT JOIN f_risk_source rs ON rs.id = ff1.risk_source_id
		GROUP BY ff1.risk_source_id -->
		SELECT
		    ff1.risk_source_id riskSourceId,
		    d.ovalue evaluationOid,
		    d.svalue evaluationSid,
		    d.mutiby,
		    rs.`name`
		FROM
		    f_fmea ff1
		JOIN (
		    SELECT
		        o.risk_source_id sourceId,
		        o.ovalue,
		        s.svalue,
		        MAX(o.ovalue * s.svalue) mutiby
		    FROM
		        (
		            SELECT
		                ff.risk_source_id,
		                fem.coefficient ovalue
		            FROM
		                f_fmea ff
		            LEFT JOIN f_evaluation_model fem ON fem.id = ff.evaluation_oid
		        ) o
		    LEFT JOIN (
		        SELECT
		            ff.risk_source_id,
		            fem.coefficient svalue
		        FROM
		            f_fmea ff
		        LEFT JOIN f_evaluation_model fem ON fem.id = ff.evaluation_sid
		    ) s ON s.risk_source_id = o.risk_source_id
		    GROUP BY
		        o.risk_source_id
		    LIMIT 20
		) d ON (
		    ff1.risk_source_id = d.sourceId
		)
		LEFT JOIN f_risk_source rs ON rs.id = ff1.risk_source_id
		GROUP BY
		    ff1.risk_source_id;
	</select>

	 <resultMap id="riskSourceMap" type="com.yeejoin.amos.fas.core.common.response.RiskSourceTreeResponse">
       <result property="id" column="id" />
       <result property="parentId" column="parent_id" />
       <result property="code" column="code" />
       <result property="name" column="name" />
       <result property="level" column="level" />
       <result property="riskLevelId" column="risk_level_id" />
       <result property="rpn" column="rpn" />
       <result property="rpni" column="rpni" />
       <result property="isRegion" column="is_region" />
       <result property="isIndoor" column="is_indoor" />
       <result property="status" column="status" />
       <result property="count" column="ccount" />
       <result property="qualified" column="qualified" />
       <result property="unqualified" column="unqualified" />
       <result property="omission" column="omission" />
       <result property="unplan" column="unplan" />
    </resultMap>

    <select id="getRiskSources" resultMap="riskSourceMap">
			SELECT
				rs.id,
				rs.`code`,
				rs.parent_id,
				rs.`name`,
				rl.`level`,
				rs.risk_level_id,
				rs.rpn,
				rs.rpni,
				rs.is_region,
				rs.position3d,
				rs.floor3d,
				rs.status,
				rs.is_indoor,
				rs.source_id as sourceId
			FROM
				`f_risk_source` rs
			LEFT JOIN f_risk_level rl ON rl.id  = rs.risk_level_id
			where rs.org_code = #{compCode}
			ORDER BY rs.sort_num,rs.id  ASC
	</select>

	<select id="getRiskSourcesEquipment" resultMap="riskSourceMap">

		SELECT
			sum(a.cc) ccount,
			a.`name`,
			a.position3d,
			a.parent_id,
			min(a.level) level,
			a.id
		FROM
			(
				SELECT
				IF (E.ID, 1, 0) cc,
				s.`name`,
				s.position3d,
				s.parent_id,
				s.risk_level_id level,
				s.id
			FROM
				f_equipment e
			RIGHT JOIN f_risk_source s ON s.id = e.risk_source_id
			) a
		GROUP BY
			a.`name`,
			a.position3d,
			a.parent_id,
			a.id
	</select>


	<select id="getCheckPointRiskSource" resultMap="riskSourceMap">
		SELECT
			sum(a.cc) ccount,
			a.`name`,
			a.position3d,
			a.parent_id,
			min(a.level) level,
			sum(a.qualified) qualified,
			sum(a.unqualified) unqualified,
			sum(a.omission) omission,
			sum(a.unplan) unplan,
			a.id
		FROM
			(
				SELECT
				IF (E.ID, 1, 0) cc,
				s.`name`,
				s.position3d,
				s.parent_id,
				IFNULL(e.`level`,0) level,
				IF (E.`status` = '1', 1, 0) qualified,
				IF (E.`status` = '2', 1, 0) unqualified,
				IF (E.`status` = '3', 1, 0) omission,
				IF (E.`status` = '0', 1, 0) unplan,
				e.`status`,
				s.id
			FROM
				p_point e
			RIGHT JOIN f_risk_source s ON s.id = e.risk_source_id and e.is_delete = 0
			) a
		GROUP BY
			a.`name`,
			a.position3d,
			a.parent_id,
			a.id
	</select>



	<select  id="getRiskSourcesFireEquipmentByType" resultMap="riskSourceMap">
		SELECT
			sum(a.cc) ccount,
			a.`name`,
			a.position3d,
			a.parent_id,
			min(a.level) level,
			a.id
		FROM
			(
				SELECT
				IF (E.ID, 1, 0) cc,
				s.`name`,
				s.position3d,
				s.parent_id,
				s.risk_level_id level,
				s.id
			FROM
				f_fire_equipment e
			RIGHT JOIN f_risk_source s ON s.id = e.risk_source_id
			where e.equip_classify in
			<foreach collection="type" open="(" separator="," close=")" item="classify">
	            #{classify}
	        </foreach>
			) a
		GROUP BY
			a.`name`,
			a.position3d,
			a.parent_id,
			a.id
	</select>

<!--	<select id="getRiskSourcePointCount" resultType="long">-->
<!--		SELECT-->
<!--			count(DISTINCT(pp.id))-->
<!--		FROM-->
<!--			`f_risk_source_point_inputitem` rspi-->
<!--		LEFT JOIN p_point pp ON pp.id = rspi.point_id-->
<!--		WHERE-->
<!--			1 = 1-->
<!--		AND rspi.risk_source_id = #{riskSourceId}-->
<!--	</select>-->

<!--	<select id="getRiskSourcePoints" resultType="java.util.HashMap">-->
<!--		SELECT-->
<!--			rspi.risk_source_id riskId,-->
<!--			pp.id pointId,-->
<!--			pp.point_no pointNo,-->
<!--			pp.`name` pointName,-->
<!--			pp.charge_person_id userId,-->
<!--			pp.charge_dept_id deptId,-->
<!--		GROUP_CONCAT(pii.`name`) inputItems-->
<!--		FROM-->
<!--			`f_risk_source_point_inputitem` rspi-->
<!--		LEFT JOIN p_point pp ON pp.id = rspi.point_id-->
<!--		LEFT JOIN p_input_item pii ON pii.id = rspi.point_inputitem_id-->
<!--		WHERE  pii.`name` is not NULL-->
<!--		 AND rspi.risk_source_id = #{riskSourceId}-->
<!--		GROUP BY riskId,pointId,pointNo,pointName,depName,username,telephone-->
<!--		<choose>-->
<!--	     <when test="pageSize==-1"></when>-->
<!--	     <when test="pageSize!=-1">limit #{offset},#{pageSize}</when>-->
<!--	    </choose>-->
<!--	</select>-->


<!--	<select id="queryByFireEqument" resultType="com.yeejoin.amos.fas.dao.entity.RiskSource">-->
<!--		SELECT-->
<!--			*-->
<!--		FROM-->
<!--			f_risk_source rs-->
<!--		WHERE-->
<!--			EXISTS (-->
<!--				SELECT-->
<!--					1-->
<!--				FROM-->
<!--					f_risk_source_equipment se-->
<!--				WHERE-->
<!--					se.fire_equipment_id = ${fireEquipmentId}-->
<!--				AND se.risk_source_id = rs.id-->
<!--			)-->
<!--	</select>-->


<!--	<select id="queryByPoint" resultType="com.yeejoin.amos.fas.dao.entity.RiskSource">-->
<!--		SELECT-->
<!--			*-->
<!--		FROM-->
<!--			f_risk_source rs-->
<!--		WHERE-->
<!--			id in (-->
<!--				SELECT-->
<!--					pi.risk_source_id-->
<!--				FROM-->
<!--					f_risk_source_point_inputitem pi-->
<!--				WHERE-->
<!--					pi.point_id = ${pointId}-->
<!--				AND rs.id = pi.risk_source_id-->
<!--			)-->
<!--	</select>-->
	<select id="findRiskSourceDetatil" resultMap="riskSourceMap">
			SELECT
				rs.id,
				rs.`code`,
				rs.parent_id,
				rs.`name`,
				rl.`name` as level,
				rs.risk_level_id,
				rs.rpni,
				rs.rpn,
				rs.is_region,
				rs.floor3d,
				rs.is_indoor,
				rs.position3d
			FROM
				`f_risk_source` rs
			LEFT JOIN f_risk_level rl ON rl.id  = rs.risk_level_id
			where rs.id = #{id}
	</select>


	<select id="statistics3dCount" resultType="map">
			SELECT
			(
			SELECT
			f.rpn
			FROM
			f_risk_source f
			WHERE
			f.parent_id = 0
			) factoryRpn,
			(
			SELECT
			CASE
			WHEN f.increment &gt; 0 THEN
			'UP'
			WHEN f.increment = 0 THEN
			'NOCHANGE'
			WHEN f.increment &lt; 0 THEN
			'DOWN'
			END
			FROM
			f_risk_source f
			WHERE
			f.parent_id = 0
			) rpnUpOrDown,
			(
			SELECT
			count(1)
			FROM
			f_equipment
			) equipmentCount,
			(
			SELECT
			count(1)
			FROM
			f_risk_source
			) riskSourceCount,
			(SELECT count(1) FROM p_point p) pointCount;

			SELECT
			f.rpn
			FROM
			f_risk_source f
			WHERE
			f.parent_id = 0;
	</select>

	<select id="statisticsEquipClassify" resultType="map">
		SELECT
			fe.equip_classify,
			count(1) classifyCount
		FROM
			f_fire_equipment fe
		GROUP BY
			fe.equip_classify
	</select>

	<select id="statisticsRiskLevel" resultType="map">
		SELECT
			IFNULL(d.riskLevel,'') riskLevel,
			IFNULL(count(1),0) levelRiskCount
		FROM
			(
				SELECT
					rs.id,
					(
						SELECT
							fl.`level`
						FROM
							f_risk_level fl
						WHERE
							fl.id = rs.risk_level_id
					) riskLevel
				FROM
					f_risk_source rs
			) d
		GROUP BY
			d.riskLevel;
	</select>


	<select id="statisticsPointStatus" resultType="map">
		SELECT
		sum(
			CASE
			WHEN p.`status` = 1 THEN
				1
			ELSE
				0
			END
		) qualifiedCount,
		sum(
			CASE
			WHEN p.`status` = 2 THEN
				1
			ELSE
				0
			END
		) unqualifiedCount,
		sum(
			CASE
			WHEN p.`status` = 3 THEN
				1
			ELSE
				0
			END
		) omitCount
	FROM
		p_point p;
	</select>



	<select id="queryForRiskSourceLevel" resultType="map">
		SELECT
			rs.`code`,
			rs.`name`,
			(select rl.`name` from f_risk_level rl where rl.id = rs.risk_level_id)level
		FROM
			f_risk_source rs
		WHERE
			rs.id = ${riskSourceId};
	</select>

	<select id="queryForRiskSourceRpni" resultType="map">
		SELECT
			rs.`rpni` rpni
		FROM
			f_risk_source rs
		WHERE
			rs.parent_id = ${parentId};
	</select>

	<select id="queryForUnqualified" resultType="map">

		SELECT
			(
				SELECT
					i.`name`
				FROM
					p_input_item i
				WHERE
					i.id = ppi.input_item_id
			) inputItemName,
			(
				SELECT
					p.`name`
				FROM
					p_point p
				WHERE
					p.id = ppi.point_id
			) pointName
		FROM
			f_fmea_point_inputitem pi
		LEFT JOIN p_point_inputitem ppi ON ppi.id = pi.point_inputitem_id
		LEFT JOIN f_fmea fm ON fm.id = pi.fmea_id
		WHERE
			pi.`state` = 1
		AND fm.risk_source_id = #{riskSourceId};
	</select>

	<select id="queryForFmeaEquipAlarm" resultType="map">

		SELECT
			ed.`name` as 'fireEquipmentName',
			ei.`name` as 'name'
		FROM
			`f_fmea_equipment_point` AS fmep
		LEFT JOIN wl_equipment_specific_index fep ON fep.id = fmep.equipment_point_id
		LEFT JOIN wl_equipment_index ei ON ei.id = fep.equipment_index_id
		LEFT JOIN wl_equipment_specific fe ON fe.id = fep.equipment_specific_id
		LEFT JOIN wl_equipment_detail ed ON ed.id = fe.equipment_detail_id
		LEFT JOIN f_fmea fm ON fm.id = fmep.fmea_id
		WHERE
			fmep.state = 1
		AND fm.risk_source_id = #{riskSourceId}
		GROUP BY fireEquipmentName,name
	</select>

	<select id="queryRiskAreaRpn"  resultType="java.util.HashMap">
		SELECT
            rs.id,
            rs.name,
            rs.rpn,
            rs.rpni,
            rs.risk_level_id as riskLevelId,
            rl.`name` as riskLevelName,
            rl.level,
            rl.color
        FROM
            f_risk_source rs
        LEFT JOIN f_risk_level rl ON rl.id = rs.risk_level_id
        WHERE rs.parent_id &gt; 0
        order by rs.sort_num,rs.id
	</select>

	<select id="queryRiskSourceSecondLevel"  resultType="java.util.HashMap">
		SELECT
			rs.id,
            rs.name,
            rs.rpn,
            rs.rpni,
            rs.risk_level_id as riskLevelId,
            rl.`name` as riskLevelName,
            rl.level,
            rl.color
		FROM
			`f_risk_source` rs
		LEFT JOIN f_risk_level rl ON rl.id = rs.risk_level_id
		WHERE
			rs.parent_id = (
				SELECT
					id
				FROM
					f_risk_source
				WHERE
					parent_id = 0 and org_code = #{compCode}
			)
		ORDER BY sort_num,id
	</select>
	<select id="queryByFactor"  resultType="com.yeejoin.amos.fas.dao.entity.RiskSource">
		SELECT
			*
		FROM
			f_risk_source rs
		WHERE
			rs.id IN (
				SELECT
					ff.risk_source_id
				FROM
					f_fmea ff
				JOIN f_risk_factor rf ON ff.risk_factors_id = rf.id
				WHERE
					rf.id = ${factorId}
			)
	</select>
	<select id="queryContingencyWater"  resultType="java.util.HashMap">
		SELECT
			*
		FROM
			(
				SELECT
					MAX(
						CASE
						WHEN a.field_name = 'name' THEN
							a.field_value
						END
					) AS name,
					MAX(
						CASE
						WHEN a.field_name = 'code' THEN
							a.field_value
						END
					) AS code,
					MAX(
						CASE
						WHEN a.field_name = 'height' THEN
							a.field_value
						END
					) AS max_level,
					MAX(
						CASE
						WHEN a.field_name = 'lowWaterHeight' THEN
							a.field_value
						END
					) AS alarm_level,
					MAX(
						CASE
						WHEN a.field_name = 'bottomArea' THEN
							a.field_value
						END
					) AS area,
					3.6 AS value
				FROM
					`wl_form_instance` a
				WHERE
					a.group_code IN ('pool', 'r_pool')
				GROUP BY
					a.instance_id
			) s
		GROUP BY
			s.alarm_level,
			s.max_level,
			s.area,
			s.`name`
	</select>
	<select id="queryFmeaByPointId" resultType="java.util.HashMap">
		SELECT
			frf.`name` riskFactors,
			fem1.influence level,
			fem2.influence faultFrequency,
			fem3.influence detectivity,
			ff.engineering,
			ff.management,
			ff.train,
			ff.protection,
			ff.disposal
		FROM
			f_fmea ff
			LEFT JOIN f_risk_source frs ON frs.id = ff.risk_source_id
			LEFT JOIN f_risk_factor frf ON frf.id = ff.risk_factors_id
			LEFT JOIN f_evaluation_model fem1 ON fem1.id = ff.evaluation_sid
			LEFT JOIN f_evaluation_model fem2 ON fem2.id = ff.evaluation_oid
			LEFT JOIN f_evaluation_model fem3 ON fem3.id = ff.evaluation_did
#			LEFT JOIN F_FMEA_POINT_INPUTITEM ffpi ON ffpi.fmea_id = ff.id
#			INNER JOIN P_POINT_INPUTITEM ppi ON ppi.ID = ffpi.POINT_INPUTITEM_ID
			LEFT JOIN
			(select DISTINCT ffpi.fmea_id ,ppi.point_id from
		  	F_FMEA_POINT_INPUTITEM ffpi
			INNER JOIN P_POINT_INPUTITEM ppi ON ppi.ID = ffpi.POINT_INPUTITEM_ID) ffpi
			ON ffpi.fmea_id = ff.id
		WHERE
			ffpi.point_id = ${pointId}
# 			EXISTS ( SELECT 1 FROM f_risk_source_point_inputitem frspi WHERE frspi.risk_source_id = frs.id AND frspi.point_id = ${pointId} )
# 			EXISTS ( SELECT
# 						 1
# 					 FROM
# 						 f_fmea_point_inputitem fpi
# 							 LEFT JOIN f_fmea f on f.id = fpi.fmea_id
# 							 LEFT JOIN p_point_inputitem ppi on ppi.id = fpi.point_inputitem_id
# 					 WHERE
# 						 f.risk_source_id = frs.id
# 					   AND ppi.point_id = ${pointId}
# 			    )
	</select>

	<select id="countByParentIdAndIsRegion" resultType="long">
		select
			count(1)
		from
			f_risk_source
		where
			is_region = #{isRegion}
		and
			parent_id = #{riskSourceId}
	</select>

	<update id="updateRpnForNull">
		update f_risk_source
			set
				rpn = null,
				rpni = null,
				risk_level_id = null,
				flicker_frequency = null
		where id = #{id}
	</update>
	<update id="updateRpn">
		update f_risk_source
		<set>
			<if test="rpn != null">
				rpn = #{rpn},
			</if>
			<if test="rpni != null">
				rpni = #{rpni},
			</if>
			<if test="riskLevelId != null">
				risk_level_id = #{riskLevelId},
			</if>
			<if test="flickerFrequency != null">
				flicker_frequency = #{flickerFrequency}
			</if>
		</set>
		where id = #{id}
	</update>

	<select id="getRegionList" parameterType="string" resultType="com.yeejoin.amos.fas.core.common.response.RegionTreeResponse">
		select
			rs.id,rs.name,rs.code,rs.parent_id,rs.ue4_location,rs.ue4_rotation,rs.ue4_extent,
			<choose>
				<when test="channelType == '3dpage'">
					IF(ISNULL(rs.route_path) || LENGTH(trim(rs.route_path)) <![CDATA[ <]]> 1,0,1) as is_bind,
				</when>
				<otherwise>
					IF(ISNULL(IF(replace(trim(rs.ue4_rotation),'[]','')='',NULL,rs.ue4_rotation))
					AND ISNULL(IF(replace(trim(rs.ue4_location),'[]','')='',NULL,rs.ue4_location)),0,1) as is_bind,
				</otherwise>
			</choose>
			IF(rs.is_region = 'TRUE',1,0) as is_region,
			rs.route_path,
			rl.level,
			CONCAT('level_',rl.level) as level_str,
			'riskSource' as type
		from f_risk_source rs
		left join f_risk_level rl ON rs.risk_level_id = rl.id
		where is_region = 'TRUE' AND (rs.org_code = #{orgCode} OR rs.org_code like CONCAT(#{orgCode},'-%'))
	</select>

	<select id="findRegionById" resultType="java.util.HashMap">
		select
			id,name,code,parent_id as parentId,ue4_location as ue4Location,ue4_rotation as ue4Rotation,ue4_extent as ue4Extent,route_path as routePath,
			<choose>
				<when test="channelType == '3dpage'">
					IF(ISNULL(route_path) || LENGTH(trim(route_path)) <![CDATA[ <]]> 1,0,1) as isBind,
				</when>
				<otherwise>
					IF(ISNULL(IF(replace(trim(ue4_rotation),'[]','')='',NULL,ue4_rotation))
					AND ISNULL(IF(replace(trim(ue4_location),'[]','')='',NULL,ue4_location)),0,1) as isBind,
				</otherwise>
			</choose>
			IF(is_region = 'TRUE',1,0) as isRegion,
			(select name from f_risk_level where level = r.risk_level_id) as riskLevel
		from f_risk_source r
		where id=#{id} AND (org_code = #{orgCode} OR org_code like CONCAT(#{orgCode},'-%'))
	</select>

	<update id="batchSaveRegionUe4" parameterType="java.util.List">
		<foreach collection="list" item="item" index="index" open="" close="" separator=";">
            update f_risk_source
            <set >
                <if test="item.ue4Location != null" >
                    ue4_location = #{item.ue4Location,jdbcType=VARCHAR},
                </if>
                <if test="item.ue4Rotation != null" >
                    ue4_rotation = #{item.ue4Rotation,jdbcType=VARCHAR},
                </if>
                <if test="item.ue4Extent != null" >
                    ue4_extent = #{item.ue4Extent,jdbcType=VARCHAR},
                </if>
                <if test="item.routePath != null" >
                    route_path = #{item.routePath,jdbcType=VARCHAR},
                </if>
            </set>
            where id = #{item.riskSourceId,jdbcType=BIGINT}
        </foreach>
	</update>

</mapper>