|
@@ -1327,4 +1327,1197 @@
|
|
where natural_id = #{item.naturalId,jdbcType=VARCHAR}
|
|
where natural_id = #{item.naturalId,jdbcType=VARCHAR}
|
|
</foreach>
|
|
</foreach>
|
|
</update>
|
|
</update>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ <select id="querySceneNaturalListByQx" parameterType="api.common.pojo.param.scene.SceneNaturalParam"
|
|
|
|
+ resultType="api.common.pojo.po.scene.SceneNaturalPO">
|
|
|
|
+ select
|
|
|
|
+ natural_id,natural_name,weather,backlight,light_change,road_type,
|
|
|
|
+ road_matrrial,driveway_num,driveway_type,road_flatness,road_curvature,
|
|
|
|
+ ramp,intersection_type,plane_intersection,bridge,tunnel,speed_limit,
|
|
|
|
+ min_speed_limit,no_entry,no_stopping,left_lane_line,right_lane_line,
|
|
|
|
+ conductor_marking,pedestrian_crossing,traffic_light,deceleration_marking,
|
|
|
|
+ pavement_condition,natural_disaster,road_safety_signs,safety_warning_board,
|
|
|
|
+ traffic_accident,patency,special_vehicle_yield,violation,double_flashing_car,
|
|
|
|
+ self_behavior,target_behavior,create_user_id,create_time,modify_user_id,
|
|
|
|
+ modify_time,is_deleted,share,video_address,osgb_address,
|
|
|
|
+ xodr_address,xosc_address,json_address,video_preview,max_time
|
|
|
|
+ from (select zr.* from( select s.scene_name
|
|
|
|
+ FROM system_scene_package p
|
|
|
|
+ JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
|
|
|
|
+ JOIN system_scene_package_sublist s on p.id = s.scene_and_package
|
|
|
|
+ where scene_type='1' and s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join scene_natural zr on qx.scene_name=zr.natural_name) dd
|
|
|
|
+ <where>
|
|
|
|
+ is_deleted = '0'
|
|
|
|
+ <if test="naturalName != null and naturalName != ''">
|
|
|
|
+ and natural_name like CONCAT('%',#{naturalName,jdbcType=VARCHAR},'%')
|
|
|
|
+ </if>
|
|
|
|
+ <if test="weather != null and weather.size()>0 ">
|
|
|
|
+ and weather in
|
|
|
|
+ <foreach collection="weather" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="backlight != null and backlight.size()>0">
|
|
|
|
+ and backlight in
|
|
|
|
+ <foreach collection="backlight" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="lightChange != null and lightChange.size()>0">
|
|
|
|
+ and light_change in
|
|
|
|
+ <foreach collection="lightChange" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="roadType != null and roadType.size()>0">
|
|
|
|
+ and road_type in
|
|
|
|
+ <foreach collection="roadType" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="roadMatrrial != null and roadMatrrial.size()>0">
|
|
|
|
+ and road_matrrial in
|
|
|
|
+ <foreach collection="roadMatrrial" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="drivewayNum != null and drivewayNum.size()>0">
|
|
|
|
+ and driveway_num in
|
|
|
|
+ <foreach collection="drivewayNum" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="drivewayType != null and drivewayType.size()>0">
|
|
|
|
+ and driveway_type in
|
|
|
|
+ <foreach collection="drivewayType" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="roadFlatness != null and roadFlatness.size()>0">
|
|
|
|
+ and road_flatness in
|
|
|
|
+ <foreach collection="roadFlatness" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="roadCurvature != null and roadCurvature.size()>0">
|
|
|
|
+ and road_curvature in
|
|
|
|
+ <foreach collection="roadCurvature" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="ramp != null and ramp.size()>0">
|
|
|
|
+ and ramp in
|
|
|
|
+ <foreach collection="ramp" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="intersectionType != null and intersectionType.size()>0">
|
|
|
|
+ and intersection_type in
|
|
|
|
+ <foreach collection="intersectionType" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="planeIntersection != null and planeIntersection.size()>0">
|
|
|
|
+ and plane_intersection in
|
|
|
|
+ <foreach collection="planeIntersection" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="bridge != null and bridge.size()>0">
|
|
|
|
+ and bridge in
|
|
|
|
+ <foreach collection="bridge" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="tunnel != null and tunnel.size()>0">
|
|
|
|
+ and tunnel in
|
|
|
|
+ <foreach collection="tunnel" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="speedLimit != null and speedLimit.size()>0">
|
|
|
|
+ and speed_limit in
|
|
|
|
+ <foreach collection="speedLimit" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="minSpeedLimit != null and minSpeedLimit.size()>0">
|
|
|
|
+ and min_speed_limit in
|
|
|
|
+ <foreach collection="minSpeedLimit" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="noEntry != null and noEntry.size()>0">
|
|
|
|
+ and no_entry in
|
|
|
|
+ <foreach collection="noEntry" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="noStopping != null and noStopping.size()>0">
|
|
|
|
+ and no_stopping in
|
|
|
|
+ <foreach collection="noStopping" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="leftLaneLine != null and leftLaneLine.size()>0">
|
|
|
|
+ and left_lane_line in
|
|
|
|
+ <foreach collection="leftLaneLine" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="rightLaneLine != null and rightLaneLine.size()>0">
|
|
|
|
+ and right_lane_line in
|
|
|
|
+ <foreach collection="rightLaneLine" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="conductorMarking != null and conductorMarking.size()>0">
|
|
|
|
+ and conductor_marking in
|
|
|
|
+ <foreach collection="conductorMarking" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="pedestrianCrossing != null and pedestrianCrossing.size()>0">
|
|
|
|
+ and pedestrian_crossing in
|
|
|
|
+ <foreach collection="pedestrianCrossing" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="trafficLight != null and trafficLight.size()>0">
|
|
|
|
+ and traffic_light in
|
|
|
|
+ <foreach collection="trafficLight" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="decelerationMarking != null and decelerationMarking.size()>0">
|
|
|
|
+ and deceleration_marking in
|
|
|
|
+ <foreach collection="decelerationMarking" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="pavementCondition != null and pavementCondition.size()>0">
|
|
|
|
+ and pavement_condition in
|
|
|
|
+ <foreach collection="pavementCondition" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="naturalDisaster != null and naturalDisaster.size()>0">
|
|
|
|
+ and natural_disaster in
|
|
|
|
+ <foreach collection="naturalDisaster" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="roadSafetySigns != null and roadSafetySigns.size()>0">
|
|
|
|
+ and road_safety_signs in
|
|
|
|
+ <foreach collection="roadSafetySigns" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="safetyWarningBoard != null and safetyWarningBoard.size()>0">
|
|
|
|
+ and safety_warning_board in
|
|
|
|
+ <foreach collection="safetyWarningBoard" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="trafficAccident != null and trafficAccident.size()>0">
|
|
|
|
+ and traffic_accident in
|
|
|
|
+ <foreach collection="trafficAccident" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="patency != null and patency.size()>0">
|
|
|
|
+ and patency in
|
|
|
|
+ <foreach collection="patency" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="specialVehicleYield != null and specialVehicleYield.size()>0">
|
|
|
|
+ and special_vehicle_yield in
|
|
|
|
+ <foreach collection="specialVehicleYield" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="violation != null and violation.size()>0">
|
|
|
|
+ and violation in
|
|
|
|
+ <foreach collection="violation" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="doubleFlashingCar != null and doubleFlashingCar.size()>0">
|
|
|
|
+ and double_flashing_car in
|
|
|
|
+ <foreach collection="doubleFlashingCar" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="selfBehavior != null and selfBehavior.size()>0">
|
|
|
|
+ and
|
|
|
|
+ <foreach collection="selfBehavior" item="item" index="index"
|
|
|
|
+ separator=" or " open="(" close=")">
|
|
|
|
+ self_behavior like CONCAT('%,',#{item},',%')
|
|
|
|
+ or self_behavior like CONCAT('%,',#{item}) or
|
|
|
|
+ self_behavior like CONCAT(#{item},',%') or
|
|
|
|
+ self_behavior=#{item}
|
|
|
|
+ </foreach>
|
|
|
|
+
|
|
|
|
+ </if>
|
|
|
|
+ <if test="targetBehavior != null and targetBehavior.size()>0">
|
|
|
|
+ and
|
|
|
|
+ <foreach collection="targetBehavior" item="item" index="index"
|
|
|
|
+ separator=" or " open="(" close=")">
|
|
|
|
+ target_behavior like CONCAT('%,',#{item},',%')
|
|
|
|
+ or target_behavior like CONCAT('%,',#{item}) or
|
|
|
|
+ target_behavior like CONCAT(#{item},',%') or
|
|
|
|
+ target_behavior=#{item}
|
|
|
|
+ </foreach>
|
|
|
|
+
|
|
|
|
+ </if>
|
|
|
|
+ <if test="ids != null and ids.length>0">
|
|
|
|
+ and natural_id in
|
|
|
|
+ <foreach collection="ids" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="AllIds != null and AllIds.size()>0">
|
|
|
|
+ and natural_id in
|
|
|
|
+ <foreach collection="AllIds" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ order by modify_time desc
|
|
|
|
+ </where>
|
|
|
|
+ </select>
|
|
|
|
+
|
|
|
|
+ <select id="querySceneNaturalListByBqAndXlkAndQx" parameterType="api.common.pojo.param.scene.SceneNaturalParam"
|
|
|
|
+ resultType="api.common.pojo.po.scene.SceneNaturalPO">
|
|
|
|
+ select
|
|
|
|
+ natural_id,natural_name,weather,backlight,light_change,road_type,
|
|
|
|
+ road_matrrial,driveway_num,driveway_type,road_flatness,road_curvature,
|
|
|
|
+ ramp,intersection_type,plane_intersection,bridge,tunnel,speed_limit,
|
|
|
|
+ min_speed_limit,no_entry,no_stopping,left_lane_line,right_lane_line,
|
|
|
|
+ conductor_marking,pedestrian_crossing,traffic_light,deceleration_marking,
|
|
|
|
+ pavement_condition,natural_disaster,road_safety_signs,safety_warning_board,
|
|
|
|
+ traffic_accident,patency,special_vehicle_yield,violation,double_flashing_car,
|
|
|
|
+ self_behavior,target_behavior,create_user_id,create_time,modify_user_id,
|
|
|
|
+ modify_time,is_deleted,share,video_address,osgb_address,
|
|
|
|
+ xodr_address,xosc_address,json_address,video_preview,max_time
|
|
|
|
+ from (
|
|
|
|
+ select
|
|
|
|
+ natural_id,natural_name,weather,backlight,light_change,road_type,
|
|
|
|
+ road_matrrial,driveway_num,driveway_type,road_flatness,road_curvature,
|
|
|
|
+ ramp,intersection_type,plane_intersection,bridge,tunnel,speed_limit,
|
|
|
|
+ min_speed_limit,no_entry,no_stopping,left_lane_line,right_lane_line,
|
|
|
|
+ conductor_marking,pedestrian_crossing,traffic_light,deceleration_marking,
|
|
|
|
+ pavement_condition,natural_disaster,road_safety_signs,safety_warning_board,
|
|
|
|
+ traffic_accident,patency,special_vehicle_yield,violation,double_flashing_car,
|
|
|
|
+ self_behavior,target_behavior,create_user_id,create_time,modify_user_id,
|
|
|
|
+ modify_time,is_deleted,share,video_address,osgb_address,
|
|
|
|
+ xodr_address,xosc_address,json_address,video_preview,max_time
|
|
|
|
+ from (select zr.* from( select s.scene_name
|
|
|
|
+ FROM system_scene_package p
|
|
|
|
+ JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
|
|
|
|
+ JOIN system_scene_package_sublist s on p.id = s.scene_and_package
|
|
|
|
+ where scene_type='1' and s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join scene_natural zr on qx.scene_name=zr.natural_name) dd
|
|
|
|
+ <where>
|
|
|
|
+ <if test="po.naturalName != null and po.naturalName != ''">
|
|
|
|
+ natural_name like CONCAT('%',#{po.naturalName,jdbcType=VARCHAR},'%')
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.weather != null and po.weather.size()>0 ">
|
|
|
|
+ and weather in
|
|
|
|
+ <foreach collection="po.weather" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.backlight != null and po.backlight.size()>0">
|
|
|
|
+ and backlight in
|
|
|
|
+ <foreach collection="po.backlight" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.lightChange != null and po.lightChange.size()>0">
|
|
|
|
+ and light_change in
|
|
|
|
+ <foreach collection="po.lightChange" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.roadType != null and po.roadType.size()>0">
|
|
|
|
+ and road_type in
|
|
|
|
+ <foreach collection="po.roadType" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.roadMatrrial != null and po.roadMatrrial.size()>0">
|
|
|
|
+ and road_matrrial in
|
|
|
|
+ <foreach collection="po.roadMatrrial" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.drivewayNum != null and po.drivewayNum.size()>0">
|
|
|
|
+ and driveway_num in
|
|
|
|
+ <foreach collection="po.drivewayNum" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.drivewayType != null and po.drivewayType.size()>0">
|
|
|
|
+ and driveway_type in
|
|
|
|
+ <foreach collection="po.drivewayType" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.roadFlatness != null and po.roadFlatness.size()>0">
|
|
|
|
+ and road_flatness in
|
|
|
|
+ <foreach collection="po.roadFlatness" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.roadCurvature != null and po.roadCurvature.size()>0">
|
|
|
|
+ and road_curvature in
|
|
|
|
+ <foreach collection="po.roadCurvature" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.ramp != null and po.ramp.size()>0">
|
|
|
|
+ and ramp in
|
|
|
|
+ <foreach collection="po.ramp" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.intersectionType != null and po.intersectionType.size()>0">
|
|
|
|
+ and intersection_type in
|
|
|
|
+ <foreach collection="po.intersectionType" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.planeIntersection != null and po.planeIntersection.size()>0">
|
|
|
|
+ and plane_intersection in
|
|
|
|
+ <foreach collection="po.planeIntersection" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.bridge != null and po.bridge.size()>0">
|
|
|
|
+ and bridge in
|
|
|
|
+ <foreach collection="po.bridge" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.tunnel != null and po.tunnel.size()>0">
|
|
|
|
+ and tunnel in
|
|
|
|
+ <foreach collection="po.tunnel" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.speedLimit != null and po.speedLimit.size()>0">
|
|
|
|
+ and speed_limit in
|
|
|
|
+ <foreach collection="po.speedLimit" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.minSpeedLimit != null and po.minSpeedLimit.size()>0">
|
|
|
|
+ and min_speed_limit in
|
|
|
|
+ <foreach collection="po.minSpeedLimit" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.noEntry != null and po.noEntry.size()>0">
|
|
|
|
+ and no_entry in
|
|
|
|
+ <foreach collection="po.noEntry" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.noStopping != null and po.noStopping.size()>0">
|
|
|
|
+ and no_stopping in
|
|
|
|
+ <foreach collection="po.noStopping" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.leftLaneLine != null and po.leftLaneLine.size()>0">
|
|
|
|
+ and left_lane_line in
|
|
|
|
+ <foreach collection="po.leftLaneLine" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.rightLaneLine != null and po.rightLaneLine.size()>0">
|
|
|
|
+ and right_lane_line in
|
|
|
|
+ <foreach collection="po.rightLaneLine" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.conductorMarking != null and po.conductorMarking.size()>0">
|
|
|
|
+ and conductor_marking in
|
|
|
|
+ <foreach collection="po.conductorMarking" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.pedestrianCrossing != null and po.pedestrianCrossing.size()>0">
|
|
|
|
+ and pedestrian_crossing in
|
|
|
|
+ <foreach collection="po.pedestrianCrossing" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.trafficLight != null and po.trafficLight.size()>0">
|
|
|
|
+ and traffic_light in
|
|
|
|
+ <foreach collection="po.trafficLight" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.decelerationMarking != null and po.decelerationMarking.size()>0">
|
|
|
|
+ and deceleration_marking in
|
|
|
|
+ <foreach collection="po.decelerationMarking" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.pavementCondition != null and po.pavementCondition.size()>0">
|
|
|
|
+ and pavement_condition in
|
|
|
|
+ <foreach collection="po.pavementCondition" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.naturalDisaster != null and po.naturalDisaster.size()>0">
|
|
|
|
+ and natural_disaster in
|
|
|
|
+ <foreach collection="po.naturalDisaster" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.roadSafetySigns != null and po.roadSafetySigns.size()>0">
|
|
|
|
+ and road_safety_signs in
|
|
|
|
+ <foreach collection="po.roadSafetySigns" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.safetyWarningBoard != null and po.safetyWarningBoard.size()>0">
|
|
|
|
+ and safety_warning_board in
|
|
|
|
+ <foreach collection="po.safetyWarningBoard" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.trafficAccident != null and po.trafficAccident.size()>0">
|
|
|
|
+ and traffic_accident in
|
|
|
|
+ <foreach collection="po.trafficAccident" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.patency != null and po.patency.size()>0">
|
|
|
|
+ and patency in
|
|
|
|
+ <foreach collection="po.patency" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.specialVehicleYield != null and po.specialVehicleYield.size()>0">
|
|
|
|
+ and special_vehicle_yield in
|
|
|
|
+ <foreach collection="po.specialVehicleYield" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.violation != null and po.violation.size()>0">
|
|
|
|
+ and violation in
|
|
|
|
+ <foreach collection="po.violation" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.doubleFlashingCar != null and po.doubleFlashingCar.size()>0">
|
|
|
|
+ and double_flashing_car in
|
|
|
|
+ <foreach collection="po.doubleFlashingCar" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.selfBehavior != null and po.selfBehavior.size()>0">
|
|
|
|
+ and
|
|
|
|
+ <foreach collection="po.selfBehavior" item="item" index="index"
|
|
|
|
+ separator=" or " open="(" close=")">
|
|
|
|
+ self_behavior like CONCAT('%,',#{item},',%')
|
|
|
|
+ or self_behavior like CONCAT('%,',#{item}) or
|
|
|
|
+ self_behavior like CONCAT(#{item},',%') or
|
|
|
|
+ self_behavior=#{item}
|
|
|
|
+ </foreach>
|
|
|
|
+
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.targetBehavior != null and po.targetBehavior.size()>0">
|
|
|
|
+ and
|
|
|
|
+ <foreach collection="po.targetBehavior" item="item" index="index"
|
|
|
|
+ separator=" or " open="(" close=")">
|
|
|
|
+ target_behavior like CONCAT('%,',#{item},',%')
|
|
|
|
+ or target_behavior like CONCAT('%,',#{item}) or
|
|
|
|
+ target_behavior like CONCAT(#{item},',%') or
|
|
|
|
+ target_behavior=#{item}
|
|
|
|
+ </foreach>
|
|
|
|
+
|
|
|
|
+ </if>
|
|
|
|
+ <if test="po.ids != null and po.ids.length>0">
|
|
|
|
+ and natural_id in
|
|
|
|
+ <foreach collection="po.ids" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ </where>
|
|
|
|
+ union
|
|
|
|
+ select
|
|
|
|
+ natural_id,natural_name,weather,backlight,light_change,road_type,
|
|
|
|
+ road_matrrial,driveway_num,driveway_type,road_flatness,road_curvature,
|
|
|
|
+ ramp,intersection_type,plane_intersection,bridge,tunnel,speed_limit,
|
|
|
|
+ min_speed_limit,no_entry,no_stopping,left_lane_line,right_lane_line,
|
|
|
|
+ conductor_marking,pedestrian_crossing,traffic_light,deceleration_marking,
|
|
|
|
+ pavement_condition,natural_disaster,road_safety_signs,safety_warning_board,
|
|
|
|
+ traffic_accident,patency,special_vehicle_yield,violation,double_flashing_car,
|
|
|
|
+ self_behavior,target_behavior,create_user_id,create_time,modify_user_id,
|
|
|
|
+ modify_time,is_deleted,share,video_address,osgb_address,
|
|
|
|
+ xodr_address,xosc_address,json_address,video_preview,max_time
|
|
|
|
+ from (select zr.* from( select s.scene_name
|
|
|
|
+ FROM system_scene_package p
|
|
|
|
+ JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
|
|
|
|
+ JOIN system_scene_package_sublist s on p.id = s.scene_and_package
|
|
|
|
+ where scene_type='1' and s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join scene_natural zr on qx.scene_name=zr.natural_name) ee
|
|
|
|
+ <where>
|
|
|
|
+ <if test="poBq.naturalName != null and poBq.naturalName != ''">
|
|
|
|
+ or natural_name like CONCAT('%',#{poBq.naturalName,jdbcType=VARCHAR},'%')
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.weather != null and poBq.weather.size()>0 ">
|
|
|
|
+ or weather in
|
|
|
|
+ <foreach collection="poBq.weather" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.backlight != null and poBq.backlight.size()>0">
|
|
|
|
+ or backlight in
|
|
|
|
+ <foreach collection="poBq.backlight" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.lightChange != null and poBq.lightChange.size()>0">
|
|
|
|
+ or light_change in
|
|
|
|
+ <foreach collection="poBq.lightChange" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.roadType != null and poBq.roadType.size()>0">
|
|
|
|
+ or road_type in
|
|
|
|
+ <foreach collection="poBq.roadType" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.roadMatrrial != null and poBq.roadMatrrial.size()>0">
|
|
|
|
+ or road_matrrial in
|
|
|
|
+ <foreach collection="poBq.roadMatrrial" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.drivewayNum != null and poBq.drivewayNum.size()>0">
|
|
|
|
+ or driveway_num in
|
|
|
|
+ <foreach collection="poBq.drivewayNum" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.drivewayType != null and poBq.drivewayType.size()>0">
|
|
|
|
+ or driveway_type in
|
|
|
|
+ <foreach collection="poBq.drivewayType" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.roadFlatness != null and poBq.roadFlatness.size()>0">
|
|
|
|
+ or road_flatness in
|
|
|
|
+ <foreach collection="poBq.roadFlatness" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.roadCurvature != null and poBq.roadCurvature.size()>0">
|
|
|
|
+ or road_curvature in
|
|
|
|
+ <foreach collection="poBq.roadCurvature" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.ramp != null and poBq.ramp.size()>0">
|
|
|
|
+ or ramp in
|
|
|
|
+ <foreach collection="poBq.ramp" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.intersectionType != null and poBq.intersectionType.size()>0">
|
|
|
|
+ or intersection_type in
|
|
|
|
+ <foreach collection="poBq.intersectionType" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.planeIntersection != null and poBq.planeIntersection.size()>0">
|
|
|
|
+ or plane_intersection in
|
|
|
|
+ <foreach collection="poBq.planeIntersection" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.bridge != null and poBq.bridge.size()>0">
|
|
|
|
+ or bridge in
|
|
|
|
+ <foreach collection="poBq.bridge" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.tunnel != null and poBq.tunnel.size()>0">
|
|
|
|
+ or tunnel in
|
|
|
|
+ <foreach collection="poBq.tunnel" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.speedLimit != null and poBq.speedLimit.size()>0">
|
|
|
|
+ or speed_limit in
|
|
|
|
+ <foreach collection="poBq.speedLimit" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.minSpeedLimit != null and poBq.minSpeedLimit.size()>0">
|
|
|
|
+ or min_speed_limit in
|
|
|
|
+ <foreach collection="poBq.minSpeedLimit" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.noEntry != null and poBq.noEntry.size()>0">
|
|
|
|
+ or no_entry in
|
|
|
|
+ <foreach collection="poBq.noEntry" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.noStopping != null and poBq.noStopping.size()>0">
|
|
|
|
+ or no_stopping in
|
|
|
|
+ <foreach collection="poBq.noStopping" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.leftLaneLine != null and poBq.leftLaneLine.size()>0">
|
|
|
|
+ or left_lane_line in
|
|
|
|
+ <foreach collection="poBq.leftLaneLine" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.rightLaneLine != null and poBq.rightLaneLine.size()>0">
|
|
|
|
+ or right_lane_line in
|
|
|
|
+ <foreach collection="poBq.rightLaneLine" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.conductorMarking != null and poBq.conductorMarking.size()>0">
|
|
|
|
+ or conductor_marking in
|
|
|
|
+ <foreach collection="poBq.conductorMarking" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.pedestrianCrossing != null and poBq.pedestrianCrossing.size()>0">
|
|
|
|
+ or pedestrian_crossing in
|
|
|
|
+ <foreach collection="poBq.pedestrianCrossing" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.trafficLight != null and poBq.trafficLight.size()>0">
|
|
|
|
+ or traffic_light in
|
|
|
|
+ <foreach collection="poBq.trafficLight" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.decelerationMarking != null and poBq.decelerationMarking.size()>0">
|
|
|
|
+ or deceleration_marking in
|
|
|
|
+ <foreach collection="poBq.decelerationMarking" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.pavementCondition != null and poBq.pavementCondition.size()>0">
|
|
|
|
+ or pavement_condition in
|
|
|
|
+ <foreach collection="poBq.pavementCondition" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.naturalDisaster != null and poBq.naturalDisaster.size()>0">
|
|
|
|
+ or natural_disaster in
|
|
|
|
+ <foreach collection="poBq.naturalDisaster" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.roadSafetySigns != null and poBq.roadSafetySigns.size()>0">
|
|
|
|
+ or road_safety_signs in
|
|
|
|
+ <foreach collection="poBq.roadSafetySigns" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.safetyWarningBoard != null and poBq.safetyWarningBoard.size()>0">
|
|
|
|
+ or safety_warning_board in
|
|
|
|
+ <foreach collection="poBq.safetyWarningBoard" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.trafficAccident != null and poBq.trafficAccident.size()>0">
|
|
|
|
+ or traffic_accident in
|
|
|
|
+ <foreach collection="poBq.trafficAccident" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.patency != null and poBq.patency.size()>0">
|
|
|
|
+ or patency in
|
|
|
|
+ <foreach collection="poBq.patency" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.specialVehicleYield != null and poBq.specialVehicleYield.size()>0">
|
|
|
|
+ or special_vehicle_yield in
|
|
|
|
+ <foreach collection="poBq.specialVehicleYield" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.violation != null and poBq.violation.size()>0">
|
|
|
|
+ or violation in
|
|
|
|
+ <foreach collection="poBq.violation" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.doubleFlashingCar != null and poBq.doubleFlashingCar.size()>0">
|
|
|
|
+ or double_flashing_car in
|
|
|
|
+ <foreach collection="poBq.doubleFlashingCar" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.selfBehavior != null and poBq.selfBehavior.size()>0">
|
|
|
|
+ or
|
|
|
|
+ <foreach collection="poBq.selfBehavior" item="item" index="index"
|
|
|
|
+ separator=" or " open="(" close=")">
|
|
|
|
+ self_behavior like CONCAT('%,',#{item},',%')
|
|
|
|
+ or self_behavior like CONCAT('%,',#{item}) or
|
|
|
|
+ self_behavior like CONCAT(#{item},',%') or
|
|
|
|
+ self_behavior=#{item}
|
|
|
|
+ </foreach>
|
|
|
|
+
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.targetBehavior != null and poBq.targetBehavior.size()>0">
|
|
|
|
+ or
|
|
|
|
+ <foreach collection="poBq.targetBehavior" item="item" index="index"
|
|
|
|
+ separator=" or " open="(" close=")">
|
|
|
|
+ target_behavior like CONCAT('%,',#{item},',%')
|
|
|
|
+ or target_behavior like CONCAT('%,',#{item}) or
|
|
|
|
+ target_behavior like CONCAT(#{item},',%') or
|
|
|
|
+ target_behavior=#{item}
|
|
|
|
+ </foreach>
|
|
|
|
+
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.ids != null and poBq.ids.length>0">
|
|
|
|
+ or natural_id in
|
|
|
|
+ <foreach collection="poBq.ids" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ </where>
|
|
|
|
+ )a where
|
|
|
|
+ a.is_deleted = '0'
|
|
|
|
+ <if test="poBq.AllIds != null and poBq.AllIds.size()>0">
|
|
|
|
+ and a.natural_id in
|
|
|
|
+ <foreach collection="poBq.AllIds" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ order by a.modify_time desc
|
|
|
|
+
|
|
|
|
+ </select>
|
|
|
|
+ <select id="querySceneNaturalListByBqAndQx" parameterType="java.util.Map"
|
|
|
|
+ resultType="api.common.pojo.po.scene.SceneNaturalPO">
|
|
|
|
+ select
|
|
|
|
+ natural_id,natural_name,weather,backlight,light_change,road_type,
|
|
|
|
+ road_matrrial,driveway_num,driveway_type,road_flatness,road_curvature,
|
|
|
|
+ ramp,intersection_type,plane_intersection,bridge,tunnel,speed_limit,
|
|
|
|
+ min_speed_limit,no_entry,no_stopping,left_lane_line,right_lane_line,
|
|
|
|
+ conductor_marking,pedestrian_crossing,traffic_light,deceleration_marking,
|
|
|
|
+ pavement_condition,natural_disaster,road_safety_signs,safety_warning_board,
|
|
|
|
+ traffic_accident,patency,special_vehicle_yield,violation,double_flashing_car,
|
|
|
|
+ self_behavior,target_behavior,create_user_id,create_time,modify_user_id,
|
|
|
|
+ modify_time,is_deleted,share,video_address,osgb_address,
|
|
|
|
+ xodr_address,xosc_address,json_address,video_preview,max_time from (
|
|
|
|
+ select
|
|
|
|
+ natural_id,natural_name,weather,backlight,light_change,road_type,
|
|
|
|
+ road_matrrial,driveway_num,driveway_type,road_flatness,road_curvature,
|
|
|
|
+ ramp,intersection_type,plane_intersection,bridge,tunnel,speed_limit,
|
|
|
|
+ min_speed_limit,no_entry,no_stopping,left_lane_line,right_lane_line,
|
|
|
|
+ conductor_marking,pedestrian_crossing,traffic_light,deceleration_marking,
|
|
|
|
+ pavement_condition,natural_disaster,road_safety_signs,safety_warning_board,
|
|
|
|
+ traffic_accident,patency,special_vehicle_yield,violation,double_flashing_car,
|
|
|
|
+ self_behavior,target_behavior,create_user_id,create_time,modify_user_id,
|
|
|
|
+ modify_time,is_deleted,share,video_address,osgb_address,
|
|
|
|
+ xodr_address,xosc_address,json_address,video_preview,max_time
|
|
|
|
+ from (select zr.* from( select s.scene_name
|
|
|
|
+ FROM system_scene_package p
|
|
|
|
+ JOIN system_user_scene u on p.id = u.package_id and u.is_deleted = '0' and p.is_deleted = '0'
|
|
|
|
+ JOIN system_scene_package_sublist s on p.id = s.scene_and_package
|
|
|
|
+ where scene_type='1' and s.is_deleted = '0' and user_id=#{userId} group by s.scene_name)qx join scene_natural zr on qx.scene_name=zr.natural_name) dd
|
|
|
|
+ <where>
|
|
|
|
+ <if test="poBq.naturalName != null and poBq.naturalName != ''">
|
|
|
|
+ natural_name like CONCAT('%',#{poBq.naturalName,jdbcType=VARCHAR},'%')
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.weather != null and poBq.weather.size()>0 ">
|
|
|
|
+ or weather in
|
|
|
|
+ <foreach collection="poBq.weather" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.backlight != null and poBq.backlight.size()>0">
|
|
|
|
+ or backlight in
|
|
|
|
+ <foreach collection="poBq.backlight" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.lightChange != null and poBq.lightChange.size()>0">
|
|
|
|
+ or light_change in
|
|
|
|
+ <foreach collection="poBq.lightChange" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.roadType != null and poBq.roadType.size()>0">
|
|
|
|
+ or road_type in
|
|
|
|
+ <foreach collection="poBq.roadType" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.roadMatrrial != null and poBq.roadMatrrial.size()>0">
|
|
|
|
+ or road_matrrial in
|
|
|
|
+ <foreach collection="poBq.roadMatrrial" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.drivewayNum != null and poBq.drivewayNum.size()>0">
|
|
|
|
+ or driveway_num in
|
|
|
|
+ <foreach collection="poBq.drivewayNum" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.drivewayType != null and poBq.drivewayType.size()>0">
|
|
|
|
+ or driveway_type in
|
|
|
|
+ <foreach collection="poBq.drivewayType" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.roadFlatness != null and poBq.roadFlatness.size()>0">
|
|
|
|
+ or road_flatness in
|
|
|
|
+ <foreach collection="poBq.roadFlatness" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.roadCurvature != null and poBq.roadCurvature.size()>0">
|
|
|
|
+ or road_curvature in
|
|
|
|
+ <foreach collection="poBq.roadCurvature" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.ramp != null and poBq.ramp.size()>0">
|
|
|
|
+ or ramp in
|
|
|
|
+ <foreach collection="poBq.ramp" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.intersectionType != null and poBq.intersectionType.size()>0">
|
|
|
|
+ or intersection_type in
|
|
|
|
+ <foreach collection="poBq.intersectionType" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.planeIntersection != null and poBq.planeIntersection.size()>0">
|
|
|
|
+ or plane_intersection in
|
|
|
|
+ <foreach collection="poBq.planeIntersection" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.bridge != null and poBq.bridge.size()>0">
|
|
|
|
+ or bridge in
|
|
|
|
+ <foreach collection="poBq.bridge" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.tunnel != null and poBq.tunnel.size()>0">
|
|
|
|
+ or tunnel in
|
|
|
|
+ <foreach collection="poBq.tunnel" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.speedLimit != null and poBq.speedLimit.size()>0">
|
|
|
|
+ or speed_limit in
|
|
|
|
+ <foreach collection="poBq.speedLimit" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.minSpeedLimit != null and poBq.minSpeedLimit.size()>0">
|
|
|
|
+ or min_speed_limit in
|
|
|
|
+ <foreach collection="poBq.minSpeedLimit" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.noEntry != null and poBq.noEntry.size()>0">
|
|
|
|
+ or no_entry in
|
|
|
|
+ <foreach collection="poBq.noEntry" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.noStopping != null and poBq.noStopping.size()>0">
|
|
|
|
+ or no_stopping in
|
|
|
|
+ <foreach collection="poBq.noStopping" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.leftLaneLine != null and poBq.leftLaneLine.size()>0">
|
|
|
|
+ or left_lane_line in
|
|
|
|
+ <foreach collection="poBq.leftLaneLine" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.rightLaneLine != null and poBq.rightLaneLine.size()>0">
|
|
|
|
+ or right_lane_line in
|
|
|
|
+ <foreach collection="poBq.rightLaneLine" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.conductorMarking != null and poBq.conductorMarking.size()>0">
|
|
|
|
+ or conductor_marking in
|
|
|
|
+ <foreach collection="poBq.conductorMarking" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.pedestrianCrossing != null and poBq.pedestrianCrossing.size()>0">
|
|
|
|
+ or pedestrian_crossing in
|
|
|
|
+ <foreach collection="poBq.pedestrianCrossing" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.trafficLight != null and poBq.trafficLight.size()>0">
|
|
|
|
+ or traffic_light in
|
|
|
|
+ <foreach collection="poBq.trafficLight" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.decelerationMarking != null and poBq.decelerationMarking.size()>0">
|
|
|
|
+ or deceleration_marking in
|
|
|
|
+ <foreach collection="poBq.decelerationMarking" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.pavementCondition != null and poBq.pavementCondition.size()>0">
|
|
|
|
+ or pavement_condition in
|
|
|
|
+ <foreach collection="poBq.pavementCondition" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.naturalDisaster != null and poBq.naturalDisaster.size()>0">
|
|
|
|
+ or natural_disaster in
|
|
|
|
+ <foreach collection="poBq.naturalDisaster" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.roadSafetySigns != null and poBq.roadSafetySigns.size()>0">
|
|
|
|
+ or road_safety_signs in
|
|
|
|
+ <foreach collection="poBq.roadSafetySigns" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.safetyWarningBoard != null and poBq.safetyWarningBoard.size()>0">
|
|
|
|
+ or safety_warning_board in
|
|
|
|
+ <foreach collection="poBq.safetyWarningBoard" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.trafficAccident != null and poBq.trafficAccident.size()>0">
|
|
|
|
+ or traffic_accident in
|
|
|
|
+ <foreach collection="poBq.trafficAccident" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.patency != null and poBq.patency.size()>0">
|
|
|
|
+ or patency in
|
|
|
|
+ <foreach collection="poBq.patency" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.specialVehicleYield != null and poBq.specialVehicleYield.size()>0">
|
|
|
|
+ or special_vehicle_yield in
|
|
|
|
+ <foreach collection="poBq.specialVehicleYield" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.violation != null and poBq.violation.size()>0">
|
|
|
|
+ or violation in
|
|
|
|
+ <foreach collection="poBq.violation" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.doubleFlashingCar != null and poBq.doubleFlashingCar.size()>0">
|
|
|
|
+ or double_flashing_car in
|
|
|
|
+ <foreach collection="poBq.doubleFlashingCar" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.selfBehavior != null and poBq.selfBehavior.size()>0">
|
|
|
|
+ or
|
|
|
|
+ <foreach collection="poBq.selfBehavior" item="item" index="index"
|
|
|
|
+ separator=" or " open="(" close=")">
|
|
|
|
+ self_behavior like CONCAT('%,',#{item},',%')
|
|
|
|
+ or self_behavior like CONCAT('%,',#{item}) or
|
|
|
|
+ self_behavior like CONCAT(#{item},',%') or
|
|
|
|
+ self_behavior=#{item}
|
|
|
|
+ </foreach>
|
|
|
|
+
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.targetBehavior != null and poBq.targetBehavior.size()>0">
|
|
|
|
+ or
|
|
|
|
+ <foreach collection="poBq.targetBehavior" item="item" index="index"
|
|
|
|
+ separator=" or " open="(" close=")">
|
|
|
|
+ target_behavior like CONCAT('%,',#{item},',%')
|
|
|
|
+ or target_behavior like CONCAT('%,',#{item}) or
|
|
|
|
+ target_behavior like CONCAT(#{item},',%') or
|
|
|
|
+ target_behavior=#{item}
|
|
|
|
+ </foreach>
|
|
|
|
+
|
|
|
|
+ </if>
|
|
|
|
+ <if test="poBq.ids != null and poBq.ids.length>0">
|
|
|
|
+ or natural_id in
|
|
|
|
+ <foreach collection="poBq.ids" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+
|
|
|
|
+ ) a
|
|
|
|
+ where
|
|
|
|
+ a.is_deleted = '0'
|
|
|
|
+ <if test="po.AllIds != null and po.AllIds.size()>0">
|
|
|
|
+ and a.natural_id in
|
|
|
|
+ <foreach collection="po.AllIds" item="item" index="index"
|
|
|
|
+ separator="," open="(" close=")">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </if>
|
|
|
|
+ order by a.modify_time desc
|
|
|
|
+ </where>
|
|
|
|
+ </select>
|
|
|
|
+
|
|
</mapper>
|
|
</mapper>
|