临时提交

This commit is contained in:
lin
2025-10-09 20:25:43 +08:00
parent bdf7ae5771
commit ca04df1fec
5 changed files with 49 additions and 16 deletions

View File

@@ -618,5 +618,5 @@ public interface CommonGBChannelMapper {
List<CameraChannel> queryListByDeviceIds(List<String> deviceIds);
@SelectProvider(type = ChannelProvider.class, method = "queryListWithChildForSy")
List<CameraChannel> queryListWithChildForSy(@Param("query") String query, @Param("sortName") String sortName, @Param("order") String order, @Param("groupList") List<CameraGroup> groupList, @Param("status") Boolean status);
List<CameraChannel> queryListWithChildForSy(@Param("query") String query, @Param("sortName") String sortName, @Param("order") Boolean order, @Param("groupList") List<CameraGroup> groupList, @Param("online") Boolean online);
}

View File

@@ -123,6 +123,7 @@ public interface GroupMapper {
List<Group> queryByBusinessGroup(@Param("businessGroup") String businessGroup);
@Select("SELECT * from wvp_common_group WHERE business_group = #{businessGroup} ")
@MapKey("id")
Map<Integer, CameraGroup> queryByBusinessGroupForMap(@Param("businessGroup") String businessGroup);
@Delete("DELETE FROM wvp_common_group WHERE business_group = #{businessGroup}")

View File

@@ -553,8 +553,7 @@ public class ChannelProvider {
StringBuilder sqlBuild = new StringBuilder();
sqlBuild.append(BASE_SQL_FOR_CAMERA_DEVICE);
sqlBuild.append(" where wdc.channel_type = 0 AND (wdc.gb_ptz_type is null || wdc.gb_ptz_type != 99) " +
"AND coalesce(gb_parent_id, parent_id) = #{groupDeviceId} " +
"AND coalesce(gb_parent_id, parent_id) in (");
" AND coalesce(wdc.gb_parent_id, wdc.parent_id) in (");
sqlBuild.append(" ");
List<CameraGroup> groupList = (List<CameraGroup>)params.get("groupList");
@@ -563,7 +562,7 @@ public class ChannelProvider {
if (!first) {
sqlBuild.append(",");
}
sqlBuild.append(group.getId());
sqlBuild.append("'" + group.getDeviceId() + "'");
first = false;
}
sqlBuild.append(" )");
@@ -575,22 +574,52 @@ public class ChannelProvider {
}
if (params.get("online") != null && (Boolean)params.get("online")) {
sqlBuild.append(" AND coalesce(gb_status, status) = 'ON'");
sqlBuild.append(" AND coalesce(wdc.gb_status, status) = 'ON'");
}
if (params.get("online") != null && !(Boolean)params.get("online")) {
sqlBuild.append(" AND coalesce(gb_status, status) = 'OFF'");
sqlBuild.append(" AND coalesce(wdc.gb_status, status) = 'OFF'");
}
if (params.get("sortName") != null) {
if (params.get("order") == null) {
sqlBuild.append(" order by #{sortName} ");
}else {
sqlBuild.append(" order by #{sortName} #{order}");
StringBuilder sqlBuildForSort = new StringBuilder();
sqlBuildForSort.append("select * from ( ");
sqlBuildForSort.append(sqlBuild);
sqlBuildForSort.append(" ) as temp");
String sortName = (String)params.get("sortName");
switch (sortName) {
case "gbId":
sqlBuildForSort.append(" order by gb_id ");
break;
case "gbDeviceId":
sqlBuildForSort.append(" order by gb_device_id ");
break;
case "gbName":
sqlBuildForSort.append(" order by gb_name ");
break;
case "gbStatus":
sqlBuildForSort.append(" order by gb_status ");
break;
case "createTime":
sqlBuildForSort.append(" order by create_time ");
break;
case "updateTime":
sqlBuildForSort.append(" order by update_time ");
break;
case "deviceCode":
sqlBuildForSort.append(" order by deviceCode ");
break;
}
if (params.get("order") != null && (Boolean)params.get("order")) {
sqlBuildForSort.append(" ASC");
}
if (params.get("order") != null && !(Boolean)params.get("order")) {
sqlBuildForSort.append(" DESC");
}
return sqlBuildForSort.toString();
}else {
return sqlBuild.toString();
}
return sqlBuild.toString();
}
public String queryGbChannelByChannelDeviceIdAndGbDeviceId(Map<String, Object> params ){

View File

@@ -65,7 +65,7 @@ public class CameraChannelController {
@Parameter(name = "count", description = "每页查询数量")
@Parameter(name = "query", description = "查询内容")
@Parameter(name = "sortName", description = "排序字段名")
@Parameter(name = "order", description = "排序方式(升序 asc 或降序 desc ")
@Parameter(name = "order", description = "排序方式(true: 升序 或 false: 降序 ")
@Parameter(name = "groupAlias", description = "分组别名")
@Parameter(name = "geoCoordSys", description = "坐标系类型WGS84,GCJ02、BD09")
@Parameter(name = "status", description = "摄像头状态")
@@ -73,7 +73,7 @@ public class CameraChannelController {
@RequestParam(required = false, value = "page", defaultValue = "100")Integer count,
@RequestParam(required = false) String query,
@RequestParam(required = false) String sortName,
@RequestParam(required = false) String order,
@RequestParam(required = false) Boolean order,
String groupAlias,
@RequestParam(required = false) String geoCoordSys,
@RequestParam(required = false) Boolean status){

View File

@@ -22,6 +22,7 @@ import com.genersoft.iot.vmp.web.custom.bean.CameraGroup;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.xiaoymin.knife4j.core.util.Assert;
import com.google.common.base.CaseFormat;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
@@ -84,7 +85,7 @@ public class CameraChannelService implements CommandLineRunner {
return groupPageInfo;
}
public PageInfo<CameraChannel> queryListWithChild(Integer page, Integer count, String query, String sortName, String order, String groupAlias, Boolean status, String geoCoordSys) {
public PageInfo<CameraChannel> queryListWithChild(Integer page, Integer count, String query, String sortName, Boolean order, String groupAlias, Boolean status, String geoCoordSys) {
// 构建组织结构信息
CameraGroup group = groupMapper.queryGroupByAlias(groupAlias);
Assert.notNull(group, "获取组织结构失败");
@@ -99,7 +100,9 @@ public class CameraChannelService implements CommandLineRunner {
.replaceAll("%", "/%")
.replaceAll("_", "/_");
}
if (order == null) {
order = true;
}
List<CameraChannel> all = channelMapper.queryListWithChildForSy(query, sortName, order, groupList, status);
PageInfo<CameraChannel> groupPageInfo = new PageInfo<>(all);
List<CameraChannel> list = addIconPathAndPositionForCameraChannelList(groupPageInfo.getList(), geoCoordSys);