Merge branch 'dev_visual_page' into dev
# Conflicts: # web-infrastructure/src/main/resources/mapper/KeyProjectMapper.xmldev
commit
a78067edaf
|
|
@ -151,6 +151,12 @@ public class KeyProjectController {
|
|||
return keyProjectService.largeScreenPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("可视化大屏-重点工程固定摄像头视频列表")
|
||||
@PostMapping("/largeScreenVideoPage")
|
||||
public PageResponse<KeyProjectLargeScreenVideoCO> largeScreenVideoPage(@RequestBody KeyProjectLargeScreenVideoPageQry qry) {
|
||||
return keyProjectService.largeScreenVideoPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("可视化大屏-重点工程统计")
|
||||
@PostMapping("/largeScreenProjectStatistics")
|
||||
public SingleResponse<KeyProjectLargeScreenProjectStatisticsCO> largeScreenProjectStatistics(@RequestBody KeyProjectLargeScreenProjectStatisticsQry qry) {
|
||||
|
|
|
|||
|
|
@ -313,6 +313,28 @@ public class KeyProjectQueryExe {
|
|||
return PageResponse.of(result, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
public PageResponse<KeyProjectLargeScreenVideoCO> largeScreenVideoPage(KeyProjectLargeScreenVideoPageQry qry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||
params.put("corpinfoId", AuthContext.getTenantId());
|
||||
params.put("cameraType", KeyProjectCameraTypeEnum.FIXED_CAMERA.getCode());
|
||||
PageResponse<KeyProjectLargeScreenVideoDO> pageResponse = keyProjectRepository.largeScreenVideoPage(params);
|
||||
List<KeyProjectLargeScreenVideoCO> result = pageResponse.getData().stream().map(data -> {
|
||||
KeyProjectLargeScreenVideoCO item = new KeyProjectLargeScreenVideoCO();
|
||||
item.setKeyProjectId(data.getKeyProjectId());
|
||||
item.setProjectName(data.getProjectName());
|
||||
item.setCameraId(data.getCameraId());
|
||||
item.setCameraName(data.getCameraName());
|
||||
item.setCameraType(data.getCameraType());
|
||||
item.setVideoAddress(data.getVideoAddress());
|
||||
item.setCameraNumber(data.getCameraNumber());
|
||||
item.setDeviceGbNumber(data.getDeviceGbNumber());
|
||||
item.setDeviceModel(data.getDeviceModel());
|
||||
item.setIsOnline(data.getIsOnline());
|
||||
return item;
|
||||
}).collect(Collectors.toList());
|
||||
return PageResponse.of(result, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
public KeyProjectLargeScreenProjectStatisticsCO largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry) {
|
||||
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||
|
|
|
|||
|
|
@ -119,6 +119,11 @@ public class KeyProjectServiceImpl implements KeyProjectServiceI {
|
|||
return keyProjectQueryExe.largeScreenPage(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<KeyProjectLargeScreenVideoCO> largeScreenVideoPage(KeyProjectLargeScreenVideoPageQry qry) {
|
||||
return keyProjectQueryExe.largeScreenVideoPage(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<KeyProjectLargeScreenProjectStatisticsCO> largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry) {
|
||||
return SingleResponse.of(keyProjectQueryExe.largeScreenProjectStatistics(qry));
|
||||
|
|
|
|||
|
|
@ -50,6 +50,8 @@ public interface KeyProjectServiceI {
|
|||
|
||||
PageResponse<KeyProjectLargeScreenCO> largeScreenPage(KeyProjectLargeScreenPageQry qry);
|
||||
|
||||
PageResponse<KeyProjectLargeScreenVideoCO> largeScreenVideoPage(KeyProjectLargeScreenVideoPageQry qry);
|
||||
|
||||
SingleResponse<KeyProjectLargeScreenProjectStatisticsCO> largeScreenProjectStatistics(KeyProjectLargeScreenProjectStatisticsQry qry);
|
||||
|
||||
List<KeyProjectLargeScreenDepartmentStatisticsCO> largeScreenDepartmentStatistics(KeyProjectLargeScreenDepartmentStatisticsQry qry);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,48 @@
|
|||
package com.zcloud.key.project.dto.clientobject.project;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 可视化大屏固定摄像头视频信息
|
||||
*
|
||||
* @Author zhaokai
|
||||
* @Date 2026-08-07
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("可视化大屏固定摄像头视频信息")
|
||||
public class KeyProjectLargeScreenVideoCO implements Serializable {
|
||||
|
||||
@ApiModelProperty("重点工程编号")
|
||||
private String keyProjectId;
|
||||
|
||||
@ApiModelProperty("重点工程名称")
|
||||
private String projectName;
|
||||
|
||||
@ApiModelProperty("摄像头编号")
|
||||
private String cameraId;
|
||||
|
||||
@ApiModelProperty("摄像头名称")
|
||||
private String cameraName;
|
||||
|
||||
@ApiModelProperty("摄像头类型,1:固定摄像头")
|
||||
private Integer cameraType;
|
||||
|
||||
@ApiModelProperty("视频地址")
|
||||
private String videoAddress;
|
||||
|
||||
@ApiModelProperty("摄像头编码")
|
||||
private String cameraNumber;
|
||||
|
||||
@ApiModelProperty("设备国标编号")
|
||||
private String deviceGbNumber;
|
||||
|
||||
@ApiModelProperty("设备型号")
|
||||
private String deviceModel;
|
||||
|
||||
@ApiModelProperty("在线状态,0:离线,1:在线")
|
||||
private Integer isOnline;
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.zcloud.key.project.dto.project;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 可视化大屏固定摄像头视频分页请求
|
||||
*
|
||||
* @Author zhaokai
|
||||
* @Date 2026-08-07
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("可视化大屏固定摄像头视频分页请求")
|
||||
public class KeyProjectLargeScreenVideoPageQry extends PageQuery {
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ import lombok.Data;
|
|||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 可视化大屏项目进行情况数据
|
||||
|
|
@ -25,4 +26,6 @@ public class KeyProjectLargeScreenProjectProgressDO implements Serializable {
|
|||
private Integer hiddenCount;
|
||||
|
||||
private BigDecimal penaltyAmount;
|
||||
|
||||
private LocalDateTime sortTime;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
package com.zcloud.key.project.persistence.dataobject.project;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 可视化大屏固定摄像头视频数据
|
||||
*
|
||||
* @Author zhaokai
|
||||
* @Date 2026-08-07
|
||||
*/
|
||||
@Data
|
||||
public class KeyProjectLargeScreenVideoDO implements Serializable {
|
||||
|
||||
private String keyProjectId;
|
||||
|
||||
private String projectName;
|
||||
|
||||
private String cameraId;
|
||||
|
||||
private String cameraName;
|
||||
|
||||
private Integer cameraType;
|
||||
|
||||
private String videoAddress;
|
||||
|
||||
private String cameraNumber;
|
||||
|
||||
private String deviceGbNumber;
|
||||
|
||||
private String deviceModel;
|
||||
|
||||
private Integer isOnline;
|
||||
}
|
||||
|
|
@ -45,6 +45,8 @@ public interface KeyProjectMapper extends BaseMapper<KeyProjectDO> {
|
|||
|
||||
IPage<KeyProjectLargeScreenDO> largeScreenPage(IPage<KeyProjectLargeScreenDO> iPage, Map<String, Object> params);
|
||||
|
||||
IPage<KeyProjectLargeScreenVideoDO> largeScreenVideoPage(IPage<KeyProjectLargeScreenVideoDO> iPage, Map<String, Object> params);
|
||||
|
||||
KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params);
|
||||
|
||||
List<KeyProjectLargeScreenDepartmentStatisticsDO> largeScreenDepartmentStatistics(Map<String, Object> params);
|
||||
|
|
|
|||
|
|
@ -105,6 +105,13 @@ public class KeyProjectRepositoryImpl extends BaseRepositoryImpl<KeyProjectMappe
|
|||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<KeyProjectLargeScreenVideoDO> largeScreenVideoPage(Map<String, Object> params) {
|
||||
IPage<KeyProjectLargeScreenVideoDO> iPage = new Query<KeyProjectLargeScreenVideoDO>().getPage(params);
|
||||
IPage<KeyProjectLargeScreenVideoDO> result = keyProjectMapper.largeScreenVideoPage(iPage, params);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params) {
|
||||
return keyProjectMapper.largeScreenProjectStatistics(params);
|
||||
|
|
|
|||
|
|
@ -36,6 +36,8 @@ public interface KeyProjectRepository extends BaseRepository<KeyProjectDO> {
|
|||
|
||||
PageResponse<KeyProjectLargeScreenDO> largeScreenPage(Map<String, Object> params);
|
||||
|
||||
PageResponse<KeyProjectLargeScreenVideoDO> largeScreenVideoPage(Map<String, Object> params);
|
||||
|
||||
KeyProjectLargeScreenProjectStatisticsDO largeScreenProjectStatistics(Map<String, Object> params);
|
||||
|
||||
List<KeyProjectLargeScreenDepartmentStatisticsDO> largeScreenDepartmentStatistics(Map<String, Object> params);
|
||||
|
|
|
|||
|
|
@ -663,6 +663,30 @@
|
|||
ORDER BY kp.apply_status ASC, kp.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="largeScreenVideoPage" resultType="com.zcloud.key.project.persistence.dataobject.project.KeyProjectLargeScreenVideoDO">
|
||||
SELECT
|
||||
kp.key_project_id AS keyProjectId,
|
||||
kp.project_name AS projectName,
|
||||
kpc.camera_id AS cameraId,
|
||||
fc.video_name AS cameraName,
|
||||
kpc.camera_type AS cameraType,
|
||||
fc.video_address AS videoAddress,
|
||||
fc.camera_number AS cameraNumber,
|
||||
fc.device_gb_number AS deviceGbNumber,
|
||||
fc.device_model AS deviceModel,
|
||||
fc.is_online AS isOnline
|
||||
FROM key_project kp
|
||||
INNER JOIN key_project_camera kpc ON kp.key_project_id = kpc.key_project_id
|
||||
AND kpc.delete_enum = 'FALSE'
|
||||
AND kpc.camera_type = #{params.cameraType}
|
||||
INNER JOIN fixed_camera fc ON kpc.camera_id = fc.fixed_camera_id
|
||||
AND fc.delete_enum = 'FALSE'
|
||||
WHERE kp.delete_enum = 'FALSE'
|
||||
AND kp.apply_status IN (2, 4, 5)
|
||||
AND kp.jurisdiction_corpinfo_id = #{params.corpinfoId}
|
||||
ORDER BY kp.apply_status ASC, kp.create_time DESC, kpc.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="largeScreenProjectStatistics" resultType="com.zcloud.key.project.persistence.dataobject.project.KeyProjectLargeScreenProjectStatisticsDO">
|
||||
SELECT
|
||||
COUNT(DISTINCT CASE WHEN kp.apply_status IN (0, 1, 2, 4, 5, 6)
|
||||
|
|
@ -711,14 +735,6 @@
|
|||
</select>
|
||||
|
||||
<select id="largeScreenProjectProgress" resultType="com.zcloud.key.project.persistence.dataobject.project.KeyProjectLargeScreenProjectProgressDO">
|
||||
SELECT
|
||||
progress.projectId,
|
||||
progress.projectName,
|
||||
progress.corpinfoName,
|
||||
progress.inspectCount,
|
||||
progress.hiddenCount,
|
||||
progress.penaltyAmount
|
||||
FROM (
|
||||
SELECT
|
||||
p.id AS projectId,
|
||||
p.project_name AS projectName,
|
||||
|
|
@ -834,8 +850,7 @@
|
|||
AND cp.port_area = #{portArea}
|
||||
</if>
|
||||
GROUP BY kp.key_project_id
|
||||
) progress
|
||||
ORDER BY progress.sortTime DESC
|
||||
ORDER BY sortTime DESC
|
||||
</select>
|
||||
|
||||
<select id="largeScreenXgfStatistics" resultType="com.zcloud.key.project.persistence.dataobject.project.KeyProjectLargeScreenXgfStatisticsDO">
|
||||
|
|
|
|||
Loading…
Reference in New Issue