优化收到目录时的分组信息处理
This commit is contained in:
@@ -238,7 +238,7 @@ public interface CommonGBChannelMapper {
|
||||
" coalesce(wdc.gb_manufacturer, wdc.manufacturer) as gb_manufacturer,\n" +
|
||||
" coalesce(wdc.gb_model, wdc.model) as gb_model,\n" +
|
||||
" coalesce(wdc.gb_owner, wdc.owner) as gb_owner,\n" +
|
||||
" wdc.gb_civil_code,\n" +
|
||||
" coalesce(wdc.gb_civil_code, wdc.civil_code) as gb_civil_code,\n" +
|
||||
" coalesce(wdc.gb_block, wdc.block) as gb_block,\n" +
|
||||
" coalesce(wdc.gb_address, wdc.address) as gb_address,\n" +
|
||||
" coalesce(wpgc.parental, wdc.gb_parental, wdc.parental) as gb_parental,\n" +
|
||||
@@ -317,7 +317,7 @@ public interface CommonGBChannelMapper {
|
||||
" 1 as type, " +
|
||||
" true as is_leaf " +
|
||||
" from wvp_device_channel " +
|
||||
" where gb_civil_code = #{parent} " +
|
||||
" where coalesce(gb_civil_code, civil_code) = #{parent} " +
|
||||
" <if test='query != null'> AND (coalesce(gb_device_id, device_id) LIKE concat('%',#{query},'%') " +
|
||||
" OR coalesce(gb_name, name) LIKE concat('%',#{query},'%'))</if> " +
|
||||
" </script>")
|
||||
@@ -325,7 +325,7 @@ public interface CommonGBChannelMapper {
|
||||
|
||||
@Update(value = {" <script>" +
|
||||
" UPDATE wvp_device_channel " +
|
||||
" SET gb_civil_code = null" +
|
||||
" SET gb_civil_code = null, civil_code = null" +
|
||||
" WHERE gb_civil_code in "+
|
||||
" <foreach collection='allChildren' item='item' open='(' separator=',' close=')' > #{item.deviceId}</foreach>" +
|
||||
" </script>"})
|
||||
@@ -345,7 +345,7 @@ public interface CommonGBChannelMapper {
|
||||
|
||||
@Update(value = {" <script>" +
|
||||
" UPDATE wvp_device_channel " +
|
||||
" SET gb_civil_code = null" +
|
||||
" SET gb_civil_code = null, civil_code = null" +
|
||||
" WHERE id in "+
|
||||
" <foreach collection='channelList' item='item' open='(' separator=',' close=')' > #{item.gbId}</foreach>" +
|
||||
" </script>"})
|
||||
@@ -362,7 +362,7 @@ public interface CommonGBChannelMapper {
|
||||
|
||||
@Update(value = {" <script>" +
|
||||
" UPDATE wvp_device_channel " +
|
||||
" SET gb_parent_id = null, gb_business_group_id = null" +
|
||||
" SET gb_parent_id = null, gb_business_group_id = null, parent_id = null, business_group_id = null" +
|
||||
" WHERE id in "+
|
||||
" <foreach collection='channelList' item='item' open='(' separator=',' close=')' > #{item.gbId}</foreach>" +
|
||||
" </script>"})
|
||||
@@ -390,6 +390,22 @@ public interface CommonGBChannelMapper {
|
||||
" </script>"})
|
||||
int updateParentIdByChannelList(@Param("parentId") String parentId, List<CommonGBChannel> channelList);
|
||||
|
||||
@Select("<script>" +
|
||||
" select " +
|
||||
" coalesce(gb_device_id, device_id) as id," +
|
||||
" coalesce(gb_name, name) as label, " +
|
||||
" coalesce(gb_parent_id, parent_id) as parent_device_id, " +
|
||||
" coalesce(gb_business_group_id, business_group_id) as business_group, " +
|
||||
" id as db_id, " +
|
||||
" 1 as type, " +
|
||||
" true as is_leaf " +
|
||||
" from wvp_device_channel " +
|
||||
" where coalesce(gb_parent_id, parent_id) = #{parent} " +
|
||||
" <if test='query != null'> AND (coalesce(gb_device_id, device_id) LIKE concat('%',#{query},'%') " +
|
||||
" OR coalesce(gb_name, name) LIKE concat('%',#{query},'%'))</if> " +
|
||||
" </script>")
|
||||
List<GroupTree> queryForGroupTreeByParentId(@Param("query") String query, @Param("parent") String parent);
|
||||
|
||||
@Update(value = {" <script>" +
|
||||
" UPDATE wvp_device_channel " +
|
||||
" SET gb_parent_id = #{parentId}, gb_business_group_id = #{businessGroup}" +
|
||||
@@ -398,20 +414,4 @@ public interface CommonGBChannelMapper {
|
||||
" </script>"})
|
||||
int updateGroup(@Param("parentId") String parentId, @Param("businessGroup") String businessGroup,
|
||||
List<CommonGBChannel> channelList);
|
||||
|
||||
@Select("<script>" +
|
||||
" select " +
|
||||
" coalesce(gb_device_id, device_id) as id," +
|
||||
" coalesce(gb_name, name) as label, " +
|
||||
" id as db_id, " +
|
||||
" gb_parent_id as parent_device_id," +
|
||||
" gb_business_group_id as business_group," +
|
||||
" 1 as type, " +
|
||||
" true as is_leaf " +
|
||||
" from wvp_device_channel " +
|
||||
" where gb_parent_id = #{parent} " +
|
||||
" <if test='query != null'> AND (coalesce(gb_device_id, device_id) LIKE concat('%',#{query},'%') " +
|
||||
" OR coalesce(gb_name, name) LIKE concat('%',#{query},'%'))</if> " +
|
||||
" </script>")
|
||||
List<GroupTree> queryForGroupTreeByParentId(@Param("query") String query, @Param("parent") String parent);
|
||||
}
|
||||
|
||||
@@ -16,12 +16,12 @@ import java.util.List;
|
||||
@Repository
|
||||
public interface DeviceChannelMapper {
|
||||
|
||||
@Insert("INSERT INTO wvp_device_channel (device_id, device_db_id, name, manufacturer, model, owner, civil_code, gb_civil_code, block, " +
|
||||
@Insert("INSERT INTO wvp_device_channel (device_id, device_db_id, name, manufacturer, model, owner, civil_code, block, " +
|
||||
"address, parental, parent_id, safety_way, register_way, cert_num, certifiable, err_code, end_time, secrecy, " +
|
||||
"ip_address, port, password, status, longitude, latitude, ptz_type, position_type, room_type, use_type, " +
|
||||
"supply_light_type, direction_type, resolution, business_group_id, download_speed, svc_space_support_mod, " +
|
||||
"svc_time_support_mode, create_time, update_time, sub_count,stream_id, has_audio, gps_time, stream_identification) " +
|
||||
"VALUES (#{deviceId}, #{deviceDbId}, #{name}, #{manufacturer}, #{model}, #{owner}, #{civilCode}, #{civilCode}, #{block}," +
|
||||
"VALUES (#{deviceId}, #{deviceDbId}, #{name}, #{manufacturer}, #{model}, #{owner}, #{civilCode}, #{block}," +
|
||||
"#{address}, #{parental}, #{parentId}, #{safetyWay}, #{registerWay}, #{certNum}, #{certifiable}, #{errCode}, #{endTime}, #{secrecy}, " +
|
||||
"#{ipAddress}, #{port}, #{password}, #{status}, #{longitude}, #{latitude}, #{ptzType}, #{positionType}, #{roomType}, #{useType}, " +
|
||||
"#{supplyLightType}, #{directionType}, #{resolution}, #{businessGroupId}, #{downloadSpeed}, #{svcSpaceSupportMod}," +
|
||||
@@ -132,7 +132,7 @@ public interface DeviceChannelMapper {
|
||||
" coalesce(dc.gb_manufacturer, dc.manufacturer) as manufacturer,\n" +
|
||||
" coalesce(dc.gb_model, dc.model) as model,\n" +
|
||||
" coalesce(dc.gb_owner, dc.owner) as owner,\n" +
|
||||
" gb_civil_code as civil_code,\n" +
|
||||
" coalesce(dc.gb_civil_code, dc.civil_code) as civil_code,\n" +
|
||||
" coalesce(dc.gb_block, dc.block) as block,\n" +
|
||||
" coalesce(dc.gb_address, dc.address) as address,\n" +
|
||||
" coalesce(dc.gb_parental, dc.parental) as parental,\n" +
|
||||
@@ -169,7 +169,7 @@ public interface DeviceChannelMapper {
|
||||
"coalesce(dc.gb_device_id, dc.device_id) LIKE concat('%',#{query},'%') " +
|
||||
"OR coalesce(dc.gb_name, dc.name) LIKE concat('%',#{query},'%') " +
|
||||
")</if> " +
|
||||
" <if test='parentChannelId != null'> AND (dc.parent_id=#{parentChannelId} OR dc.gb_civil_code = #{parentChannelId}) </if> " +
|
||||
" <if test='parentChannelId != null'> AND (dc.parent_id=#{parentChannelId} OR coalesce(dc.gb_civil_code, dc.civil_code) = #{parentChannelId}) </if> " +
|
||||
" <if test='online == true' > AND dc.status= true</if>" +
|
||||
" <if test='online == false' > AND dc.status= false</if>" +
|
||||
" <if test='hasSubChannel == true' > AND dc.sub_count > 0 </if>" +
|
||||
@@ -197,7 +197,7 @@ public interface DeviceChannelMapper {
|
||||
" coalesce(gb_manufacturer, manufacturer) as manufacturer,\n" +
|
||||
" coalesce(gb_model, model) as model,\n" +
|
||||
" coalesce(gb_owner, owner) as owner,\n" +
|
||||
" gb_civil_code as civil_code,\n" +
|
||||
" coalesce(gb_civil_code, civil_code) as civil_code,\n" +
|
||||
" coalesce(gb_block, block) as block,\n" +
|
||||
" coalesce(gb_address, address) as address,\n" +
|
||||
" coalesce(gb_parental, parental) as parental,\n" +
|
||||
@@ -269,7 +269,7 @@ public interface DeviceChannelMapper {
|
||||
" coalesce(dc.gb_manufacturer, dc.manufacturer) as manufacturer,\n" +
|
||||
" coalesce(dc.gb_model, dc.model) as model,\n" +
|
||||
" coalesce(dc.gb_owner, dc.owner) as owner,\n" +
|
||||
" dc.gb_civil_code as civil_code,\n" +
|
||||
" coalesce(dc.gb_civil_code, dc.civil_code) as civil_code,\n" +
|
||||
" coalesce(dc.gb_block, dc.block) as block,\n" +
|
||||
" coalesce(dc.gb_address, dc.address) as address,\n" +
|
||||
" coalesce(dc.gb_parental, dc.parental) as parental,\n" +
|
||||
@@ -359,7 +359,7 @@ public interface DeviceChannelMapper {
|
||||
" coalesce(gb_manufacturer, manufacturer) as manufacturer,\n" +
|
||||
" coalesce(gb_model, model) as model,\n" +
|
||||
" coalesce(gb_owner, owner) as owner,\n" +
|
||||
" gb_civil_code as civil_code,\n" +
|
||||
" coalesce(gb_civil_code, civil_code) as civil_code,\n" +
|
||||
" coalesce(gb_block, block) as block,\n" +
|
||||
" coalesce(gb_address, address) as address,\n" +
|
||||
" coalesce(gb_parental, parental) as parental,\n" +
|
||||
@@ -396,14 +396,14 @@ public interface DeviceChannelMapper {
|
||||
|
||||
@Insert("<script> " +
|
||||
"insert into wvp_device_channel " +
|
||||
"(device_id, device_db_id, name, manufacturer, model, owner, civil_code, gb_civil_code, block, " +
|
||||
"(device_id, device_db_id, name, manufacturer, model, owner, civil_code, block, " +
|
||||
"address, parental, parent_id, safety_way, register_way, cert_num, certifiable, err_code, end_time, secrecy, " +
|
||||
"ip_address, port, password, status, longitude, latitude, ptz_type, position_type, room_type, use_type, " +
|
||||
"supply_light_type, direction_type, resolution, business_group_id, download_speed, svc_space_support_mod, " +
|
||||
"svc_time_support_mode, create_time, update_time, sub_count, stream_id, has_audio, gps_time, stream_identification) " +
|
||||
"values " +
|
||||
"<foreach collection='addChannels' index='index' item='item' separator=','> " +
|
||||
"(#{item.deviceId}, #{item.deviceDbId}, #{item.name}, #{item.manufacturer}, #{item.model}, #{item.owner}, #{item.civilCode}, #{item.gbCivilCode}, #{item.block}, " +
|
||||
"(#{item.deviceId}, #{item.deviceDbId}, #{item.name}, #{item.manufacturer}, #{item.model}, #{item.owner}, #{item.civilCode}, #{item.block}, " +
|
||||
"#{item.address}, #{item.parental}, #{item.parentId}, #{item.safetyWay}, #{item.registerWay}, #{item.certNum}, #{item.certifiable}, #{item.errCode}, #{item.endTime}, #{item.secrecy}, " +
|
||||
"#{item.ipAddress}, #{item.port}, #{item.password}, #{item.status}, #{item.longitude}, #{item.latitude}, #{item.ptzType}, #{item.positionType}, #{item.roomType}, #{item.useType}, " +
|
||||
"#{item.supplyLightType}, #{item.directionType}, #{item.resolution}, #{item.businessGroupId}, #{item.downloadSpeed}, #{item.svcSpaceSupportMod}," +
|
||||
@@ -499,7 +499,7 @@ public interface DeviceChannelMapper {
|
||||
" coalesce(gb_manufacturer, manufacturer) as manufacturer,\n" +
|
||||
" coalesce(gb_model, model) as model,\n" +
|
||||
" coalesce(gb_owner, owner) as owner,\n" +
|
||||
" gb_civil_code as civil_code,\n" +
|
||||
" coalesce(gb_civil_code, civil_code) as civil_code,\n" +
|
||||
" coalesce(gb_block, block) as block,\n" +
|
||||
" coalesce(gb_address, address) as address,\n" +
|
||||
" coalesce(gb_parental, parental) as parental,\n" +
|
||||
@@ -579,7 +579,7 @@ public interface DeviceChannelMapper {
|
||||
" coalesce(gb_manufacturer, manufacturer) as manufacturer,\n" +
|
||||
" coalesce(gb_model, model) as model,\n" +
|
||||
" coalesce(gb_owner, owner) as owner,\n" +
|
||||
" gb_civil_code as civil_code,\n" +
|
||||
" coalesce(gb_civil_code, civil_code) as civil_code,\n" +
|
||||
" coalesce(gb_block, block) as block,\n" +
|
||||
" coalesce(gb_address, address) as address,\n" +
|
||||
" coalesce(gb_parental, parental) as parental,\n" +
|
||||
@@ -652,7 +652,7 @@ public interface DeviceChannelMapper {
|
||||
" coalesce(gb_manufacturer, manufacturer) as manufacturer,\n" +
|
||||
" coalesce(gb_model, model) as model,\n" +
|
||||
" coalesce(gb_owner, owner) as owner,\n" +
|
||||
" gb_civil_code as civil_code,\n" +
|
||||
" coalesce(gb_civil_code, civil_code) as civil_code,\n" +
|
||||
" coalesce(gb_block, block) as block,\n" +
|
||||
" coalesce(gb_address, address) as address,\n" +
|
||||
" coalesce(gb_parental, parental) as parental,\n" +
|
||||
@@ -702,7 +702,7 @@ public interface DeviceChannelMapper {
|
||||
" coalesce(gb_manufacturer, manufacturer) as manufacturer,\n" +
|
||||
" coalesce(gb_model, model) as model,\n" +
|
||||
" coalesce(gb_owner, owner) as owner,\n" +
|
||||
" gb_civil_code as civil_code,\n" +
|
||||
" coalesce(gb_civil_code, civil_code) as civil_code,\n" +
|
||||
" coalesce(gb_block, block) as block,\n" +
|
||||
" coalesce(gb_address, address) as address,\n" +
|
||||
" coalesce(gb_parental, parental) as parental,\n" +
|
||||
|
||||
@@ -22,11 +22,11 @@ public class ChannelProvider {
|
||||
" coalesce(gb_manufacturer, manufacturer) as gb_manufacturer,\n" +
|
||||
" coalesce(gb_model, model) as gb_model,\n" +
|
||||
" coalesce(gb_owner, owner) as gb_owner,\n" +
|
||||
" gb_civil_code,\n" +
|
||||
" coalesce(gb_civil_code, civil_code),\n" +
|
||||
" coalesce(gb_block, block) as gb_block,\n" +
|
||||
" coalesce(gb_address, address) as gb_address,\n" +
|
||||
" coalesce(gb_parental, parental) as gb_parental,\n" +
|
||||
" gb_parent_id,\n" +
|
||||
" coalesce(gb_parent_id, parent_id) as gb_parent_id,\n" +
|
||||
" coalesce(gb_safety_way, safety_way) as gb_safety_way,\n" +
|
||||
" coalesce(gb_register_way, register_way) as gb_register_way,\n" +
|
||||
" coalesce(gb_cert_num, cert_num) as gb_cert_num,\n" +
|
||||
@@ -47,7 +47,7 @@ public class ChannelProvider {
|
||||
" coalesce(gb_supply_light_type, supply_light_type) as gb_supply_light_type,\n" +
|
||||
" coalesce(gb_direction_type, direction_type) as gb_direction_type,\n" +
|
||||
" coalesce(gb_resolution, resolution) as gb_resolution,\n" +
|
||||
" gb_business_group_id,\n" +
|
||||
" coalesce(gb_business_group_id, business_group_id) as gb_business_group_id,\n" +
|
||||
" coalesce(gb_download_speed, download_speed) as gb_download_speed,\n" +
|
||||
" coalesce(gb_svc_space_support_mod, svc_space_support_mod) as gb_svc_space_support_mod,\n" +
|
||||
" coalesce(gb_svc_time_support_mode,svc_time_support_mode) as gb_svc_time_support_mode\n" +
|
||||
@@ -89,16 +89,16 @@ public class ChannelProvider {
|
||||
sqlBuild.append(" AND coalesce(gb_status, status) = 'OFF'");
|
||||
}
|
||||
if (params.get("hasCivilCode") != null && (Boolean)params.get("hasCivilCode")) {
|
||||
sqlBuild.append(" AND gb_civil_code is not null");
|
||||
sqlBuild.append(" AND coalesce(gb_civil_code, civil_code) is not null");
|
||||
}
|
||||
if (params.get("hasCivilCode") != null && !(Boolean)params.get("hasCivilCode")) {
|
||||
sqlBuild.append(" AND gb_civil_code is null");
|
||||
sqlBuild.append(" AND coalesce(gb_civil_code, civil_code) is null");
|
||||
}
|
||||
if (params.get("hasGroup") != null && (Boolean)params.get("hasGroup")) {
|
||||
sqlBuild.append(" AND gb_business_group_id is not null");
|
||||
sqlBuild.append(" AND coalesce(gb_business_group_id, business_group_id) is not null");
|
||||
}
|
||||
if (params.get("hasGroup") != null && !(Boolean)params.get("hasGroup")) {
|
||||
sqlBuild.append(" AND gb_business_group_id is null");
|
||||
sqlBuild.append(" AND coalesce(gb_business_group_id, business_group_id) is null");
|
||||
}
|
||||
return sqlBuild.toString();
|
||||
}
|
||||
@@ -162,7 +162,7 @@ public class ChannelProvider {
|
||||
sqlBuild.append(getBaseSelectSql());
|
||||
sqlBuild.append("where ");
|
||||
if (params.get("civilCode") != null) {
|
||||
sqlBuild.append(" gb_civil_code = #{civilCode} ");
|
||||
sqlBuild.append(" coalesce(gb_civil_code, civil_code) = #{civilCode} ");
|
||||
if (params.get("ids") != null) {
|
||||
sqlBuild.append(" OR ");
|
||||
}
|
||||
@@ -186,14 +186,14 @@ public class ChannelProvider {
|
||||
public String queryByCivilCode(Map<String, Object> params ){
|
||||
StringBuilder sqlBuild = new StringBuilder();
|
||||
sqlBuild.append(getBaseSelectSql());
|
||||
sqlBuild.append("where gb_civil_code = #{civilCode} ");
|
||||
return sqlBuild.toString() ;
|
||||
sqlBuild.append("where coalesce(gb_civil_code, civil_code) = #{civilCode} ");
|
||||
return sqlBuild.toString();
|
||||
}
|
||||
|
||||
public String queryByBusinessGroup(Map<String, Object> params ){
|
||||
StringBuilder sqlBuild = new StringBuilder();
|
||||
sqlBuild.append(getBaseSelectSql());
|
||||
sqlBuild.append("where gb_business_group_id = #{businessGroup} ");
|
||||
sqlBuild.append("where coalesce(gb_business_group_id, business_group_id) = #{businessGroup} ");
|
||||
return sqlBuild.toString() ;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user