From 1e4ee844712e4bd39a5d9e6f3f5368d97912fe48 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Wed, 12 Nov 2025 11:28:17 +0800 Subject: [PATCH 1/7] =?UTF-8?q?CarPassRecord=E7=9A=84DataScope=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=AD=A3=E7=A1=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/modules/car/mapper/CarPassRecordMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/car/mapper/CarPassRecordMapper.java b/src/main/java/com/zhgd/xmgl/modules/car/mapper/CarPassRecordMapper.java index dc24e935d..433ba7ce9 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/mapper/CarPassRecordMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/car/mapper/CarPassRecordMapper.java @@ -20,7 +20,7 @@ import java.util.Map; * @version: V1.0 */ @Mapper -@DataScope(includeTable = "car_info") +@DataScope(includeTable = "car_pass_record") public interface CarPassRecordMapper extends BaseMapper { /** * 车辆通行记录统计 From 3808817e5b90bcbdafd6f2b6ca621895b9d519df Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Mon, 17 Nov 2025 18:18:11 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9C=80=E8=BF=9110?= =?UTF-8?q?=E5=A4=A9=E5=92=8C=E5=90=8410=E6=9D=A1AI=E5=88=86=E6=9E=90?= =?UTF-8?q?=E7=A1=AC=E4=BB=B6=E8=AE=BE=E5=A4=87=E6=8A=A5=E8=AD=A6=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...iAnalyseHardWareAlarmRecordController.java | 13 ++++ .../video/entity/bo/Recent10DayRecordsBo.java | 15 ++++ .../video/entity/vo/Recent10DayRecordsVo.java | 17 +++++ .../AiAnalyseHardWareAlarmRecordMapper.java | 3 + .../AiAnalyseHardWareAlarmRecordMapper.xml | 69 +++++++++++++++++++ .../video/mapper/xml/VideoItemMapper.xml | 4 +- .../IAiAnalyseHardWareAlarmRecordService.java | 2 + 7 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/zhgd/xmgl/modules/video/entity/bo/Recent10DayRecordsBo.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/video/entity/vo/Recent10DayRecordsVo.java diff --git a/src/main/java/com/zhgd/xmgl/modules/video/controller/AiAnalyseHardWareAlarmRecordController.java b/src/main/java/com/zhgd/xmgl/modules/video/controller/AiAnalyseHardWareAlarmRecordController.java index df663fe7e..434202200 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/controller/AiAnalyseHardWareAlarmRecordController.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/controller/AiAnalyseHardWareAlarmRecordController.java @@ -13,6 +13,7 @@ import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService; import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord; import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTotalVo; import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTrendVo; +import com.zhgd.xmgl.modules.video.entity.vo.Recent10DayRecordsVo; import com.zhgd.xmgl.modules.video.service.IAiAnalyseHardWareAlarmRecordService; import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; import io.swagger.annotations.Api; @@ -317,6 +318,18 @@ public class AiAnalyseHardWareAlarmRecordController { } + @ApiOperation(value = "查询最近10天和各10条AI分析硬件设备报警记录", notes = "查询最近10天和各10条AI分析硬件设备报警记录", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = false, dataType = "String"), + @ApiImplicitParam(name = "location", value = "位置", paramType = "body", dataType = "long"), + @ApiImplicitParam(name = "alarmType", value = "类型(字典)", paramType = "body", required = false, dataType = "String"), + @ApiImplicitParam(name = "startTime", value = "开始时间,格式2020-08-16 00:00:00", dataType = "String", paramType = "body", required = false), + @ApiImplicitParam(name = "endTime", value = "结束时间,格式2020-08-16 23:59:59", dataType = "String", paramType = "body", required = false), + }) + @PostMapping(value = "/getRecent10DayRecords") + public Result> getRecent10DayRecords(@RequestBody Map param) { + return Result.success(aiAnalyseHardWareAlarmRecordService.getRecent10DayRecords(param)); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/video/entity/bo/Recent10DayRecordsBo.java b/src/main/java/com/zhgd/xmgl/modules/video/entity/bo/Recent10DayRecordsBo.java new file mode 100644 index 000000000..c1415cc19 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/video/entity/bo/Recent10DayRecordsBo.java @@ -0,0 +1,15 @@ +package com.zhgd.xmgl.modules.video.entity.bo; + +import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class Recent10DayRecordsBo extends AiAnalyseHardWareAlarmRecord { + /** + * 日期 + */ + @ApiModelProperty("日期") + private String date; + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/video/entity/vo/Recent10DayRecordsVo.java b/src/main/java/com/zhgd/xmgl/modules/video/entity/vo/Recent10DayRecordsVo.java new file mode 100644 index 000000000..a56c84ae6 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/video/entity/vo/Recent10DayRecordsVo.java @@ -0,0 +1,17 @@ +package com.zhgd.xmgl.modules.video.entity.vo; + +import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class Recent10DayRecordsVo { + /** + * 日期 + */ + @ApiModelProperty("日期") + private String date; + private List records; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/video/mapper/AiAnalyseHardWareAlarmRecordMapper.java b/src/main/java/com/zhgd/xmgl/modules/video/mapper/AiAnalyseHardWareAlarmRecordMapper.java index 3abbe36d3..baeca90be 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/mapper/AiAnalyseHardWareAlarmRecordMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/mapper/AiAnalyseHardWareAlarmRecordMapper.java @@ -6,6 +6,7 @@ import com.zhgd.annotation.DataScope; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.base.entity.vo.SectorOneVo; import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord; +import com.zhgd.xmgl.modules.video.entity.bo.Recent10DayRecordsBo; import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmRecordVo; import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTotalVo; import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; @@ -173,4 +174,6 @@ public interface AiAnalyseHardWareAlarmRecordMapper extends BaseMapper map); + + List getRecent10DayRecords(Map param); } diff --git a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml index 3c3179841..c953b21a5 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml @@ -576,4 +576,73 @@ order by a.create_time desc limit 1 + + diff --git a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/VideoItemMapper.xml b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/VideoItemMapper.xml index 90b8ea699..8e77e3094 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/VideoItemMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/VideoItemMapper.xml @@ -172,7 +172,9 @@ FROM video_item t1 INNER JOIN project_video_config t2 ON t2.id = t1.video_id WHERE t2.is_enable = 1 - and t2.project_sn = #{projectSn} + + and t2.project_sn = #{projectSn} + order by t1.sort_num and t1.device_state = #{deviceState} diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/IAiAnalyseHardWareAlarmRecordService.java b/src/main/java/com/zhgd/xmgl/modules/video/service/IAiAnalyseHardWareAlarmRecordService.java index 194f9ee9d..50f7b8feb 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/IAiAnalyseHardWareAlarmRecordService.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/IAiAnalyseHardWareAlarmRecordService.java @@ -8,6 +8,7 @@ import com.zhgd.xmgl.base.entity.vo.SectorVo; import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord; import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTotalVo; import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTrendVo; +import com.zhgd.xmgl.modules.video.entity.vo.Recent10DayRecordsVo; import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; import java.math.BigDecimal; @@ -174,4 +175,5 @@ public interface IAiAnalyseHardWareAlarmRecordService extends IService getRecent10DayRecords(Map param); } From c1b30555d3143501308e9fc8b036f7b1a921afc4 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Mon, 17 Nov 2025 18:21:47 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xmgl/modules/project/entity/Project.java | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/project/entity/Project.java b/src/main/java/com/zhgd/xmgl/modules/project/entity/Project.java index 53563758b..d54f22f8b 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/entity/Project.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/entity/Project.java @@ -363,7 +363,31 @@ public class Project implements Serializable { @Excel(name = "桥梁长度(m)", width = 15) @ApiModelProperty(value = "桥梁长度(m)") private java.lang.String bridgeLength; - + /** + * 项目/场站负责人 + */ + @ApiModelProperty(value = "项目/场站负责人") + private java.lang.String projectSiteManager; + /** + * 新能源类型 + */ + @ApiModelProperty(value = "新能源类型") + private java.lang.String renewableEnergyType; + /** + * 装机容量(万kW) + */ + @ApiModelProperty(value = "装机容量(万kW)") + private java.lang.String installedCapacity; + /** + * 是否配储1是0否 + */ + @ApiModelProperty(value = "是否配储1是0否") + private java.lang.Integer storageRequired; + /** + * 容量 + */ + @ApiModelProperty(value = "容量") + private java.lang.String capacity; /** * runde平台token */ From 9e922f7de43609f025cd813313c8c70b99bf373d Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Mon, 17 Nov 2025 18:27:29 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=A5=A8=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=87=8D=E6=96=B0=E5=BC=80=E5=A7=8B=EF=BC=8C=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=E8=A2=AB=E5=8D=A0=E7=94=A8=E7=9A=84=E6=89=A7=E6=B3=95?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E4=BB=AA=E7=9A=84=E5=B7=A5=E4=BD=9C=E7=A5=A8?= =?UTF-8?q?=E7=9A=84=E7=BC=96=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/WorkTicketCameraRelMapper.java | 3 +++ .../mapper/xml/WorkTicketCameraRelMapper.xml | 8 ++++++++ .../service/IWorkTicketCameraRelService.java | 10 +++++++++- .../impl/WorkTicketCameraRelServiceImpl.java | 6 ++++++ .../service/impl/WorkTicketServiceImpl.java | 16 ++++++++++++++++ 5 files changed, 42 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/WorkTicketCameraRelMapper.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/WorkTicketCameraRelMapper.java index 4f6fb299b..d1d3dcbd6 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/WorkTicketCameraRelMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/WorkTicketCameraRelMapper.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketCameraRel; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * @Description: 工作票与执法记录仪关联关系表 * @author: pds @@ -12,4 +14,5 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface WorkTicketCameraRelMapper extends BaseMapper { + List findOccupiedTicketNumbers(Long ticketId); } diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/xml/WorkTicketCameraRelMapper.xml b/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/xml/WorkTicketCameraRelMapper.xml index 73a041f5b..f8eef482b 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/xml/WorkTicketCameraRelMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/xml/WorkTicketCameraRelMapper.xml @@ -1,4 +1,12 @@ + + diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/IWorkTicketCameraRelService.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/IWorkTicketCameraRelService.java index 2298d7217..fc0776c14 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/IWorkTicketCameraRelService.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/IWorkTicketCameraRelService.java @@ -3,6 +3,8 @@ package com.zhgd.xmgl.modules.policecamera.service; import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketCameraRel; +import java.util.List; + /** * @Description: 工作票与执法记录仪关联关系表 * @author: pds @@ -10,5 +12,11 @@ import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketCameraRel; * @version: V1.0 */ public interface IWorkTicketCameraRelService extends IService { - + /** + * 查询被占用的执法记录仪的工作票的编号 + * + * @param ticketId + * @return + */ + List findOccupiedTicketNumbers(Long ticketId); } diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketCameraRelServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketCameraRelServiceImpl.java index 2f0cce462..5ac0e7c26 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketCameraRelServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketCameraRelServiceImpl.java @@ -6,6 +6,8 @@ import com.zhgd.xmgl.modules.policecamera.mapper.WorkTicketCameraRelMapper; import com.zhgd.xmgl.modules.policecamera.service.IWorkTicketCameraRelService; import org.springframework.stereotype.Service; +import java.util.List; + /** * @Description: 工作票与执法记录仪关联关系表 * @author: pds @@ -15,4 +17,8 @@ import org.springframework.stereotype.Service; @Service public class WorkTicketCameraRelServiceImpl extends ServiceImpl implements IWorkTicketCameraRelService { + @Override + public List findOccupiedTicketNumbers(Long ticketId) { + return baseMapper.findOccupiedTicketNumbers(ticketId); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketServiceImpl.java index 41d43cee3..55be9f36a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketServiceImpl.java @@ -281,6 +281,7 @@ public class WorkTicketServiceImpl extends ServiceImpl workTicketNumbers = workTicketCameraRelService.findOccupiedTicketNumbers(workTicketDto.getId()); + if (CollUtil.isNotEmpty(workTicketNumbers)) { + throw new OpenPromptException(StrUtil.format("此工作票绑定的监控设备已被{}占用,无法恢复到施工中状态,请解绑后重试", StrUtil.join(",", workTicketNumbers))); + } + } + } + @Override public CountWorkTicketVo countWorkTicket(HashMap map) { return baseMapper.countWorkTicket(map); From b112cb9f7599975372959cdad84026ee6164e11b Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Mon, 17 Nov 2025 18:40:31 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E8=A7=84=E5=88=99=E6=8A=A5=E8=AD=A6bug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/bo/CompanyUsersByProjectSnBo.java | 29 ++++++++ .../basicdata/mapper/SystemUserMapper.java | 3 + .../basicdata/mapper/xml/SystemUserMapper.xml | 14 ++++ .../basicdata/service/ISystemUserService.java | 2 + .../service/impl/SystemUserServiceImpl.java | 20 ++++++ .../service/IEnableMessageDevRuleService.java | 3 +- .../impl/EnableMessageDevRuleServiceImpl.java | 19 ++++-- ...AnalyseHardWareAlarmRecordServiceImpl.java | 68 ++++++++++++++----- src/main/resources/application.properties | 2 +- 9 files changed, 136 insertions(+), 24 deletions(-) create mode 100644 src/main/java/com/zhgd/xmgl/modules/basicdata/entity/bo/CompanyUsersByProjectSnBo.java diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/bo/CompanyUsersByProjectSnBo.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/bo/CompanyUsersByProjectSnBo.java new file mode 100644 index 000000000..c098a69cf --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/bo/CompanyUsersByProjectSnBo.java @@ -0,0 +1,29 @@ +package com.zhgd.xmgl.modules.basicdata.entity.bo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class CompanyUsersByProjectSnBo { + /** + *总企业用户ids(多个,分割) + */ + @ApiModelProperty("总企业用户ids(多个,分割)") + private String uids0; + /** + *一级企业用户ids(多个,分割) + */ + @ApiModelProperty("一级企业用户ids(多个,分割)") + private String uids1; + /** + *二级企业用户ids(多个,分割) + */ + @ApiModelProperty("二级企业用户ids(多个,分割)") + private String uids2; + /** + *三级企业用户ids(多个,分割) + */ + @ApiModelProperty("三级企业用户ids(多个,分割)") + private String uids3; + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/SystemUserMapper.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/SystemUserMapper.java index 9879ad3ce..bb155681b 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/SystemUserMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/SystemUserMapper.java @@ -8,6 +8,7 @@ import com.wflow.bean.do_.UserDeptDo; import com.wflow.bean.vo.OrgTreeVo; import com.zhgd.annotation.DataScope; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; +import com.zhgd.xmgl.modules.basicdata.entity.bo.CompanyUsersByProjectSnBo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -272,4 +273,6 @@ public interface SystemUserMapper extends BaseMapper { */ @DataScope(includeTable = {"system_user"}) void updateRealNameFromWorker(@Param("workerId") Long workerId, @Param("workerName") String workerName); + + CompanyUsersByProjectSnBo getCompanyUsersByProjectSn(String projectSn); } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml index 4fa3b1559..d8dda0451 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml @@ -388,4 +388,18 @@ update system_user set real_name=#{workerName} where worker_id = #{workerId} + + diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java index 26522d05a..35531ac80 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java @@ -388,4 +388,6 @@ public interface ISystemUserService extends IService { * @return */ Map verifyLogin(Map map); + + List getCompanyUserIdsByProjectSn(String projectSn); } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java index e9dba96e6..be7194383 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java @@ -1,6 +1,7 @@ package com.zhgd.xmgl.modules.basicdata.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.date.*; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; @@ -27,6 +28,7 @@ import com.zhgd.redis.lock.RedisRepository; import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.entity.sj.JwtPayloadUserInfo; import com.zhgd.xmgl.modules.basicdata.entity.*; +import com.zhgd.xmgl.modules.basicdata.entity.bo.CompanyUsersByProjectSnBo; import com.zhgd.xmgl.modules.basicdata.entity.dto.LoginInfoByTokenDto; import com.zhgd.xmgl.modules.basicdata.enums.SystemUserAccountTypeEnum; import com.zhgd.xmgl.modules.basicdata.mapper.*; @@ -1956,4 +1958,22 @@ public class SystemUserServiceImpl extends ServiceImpl getCompanyUserIdsByProjectSn(String projectSn) { + CompanyUsersByProjectSnBo bo = baseMapper.getCompanyUsersByProjectSn(projectSn); + ArrayList list = new ArrayList<>(); + addAllCompanyUserIds(list, bo.getUids0()); + addAllCompanyUserIds(list, bo.getUids1()); + addAllCompanyUserIds(list, bo.getUids2()); + addAllCompanyUserIds(list, bo.getUids3()); + return list; + } + + private void addAllCompanyUserIds(ArrayList list, String uids0) { + if (StrUtil.isNotBlank(uids0)) { + List ids = StrUtil.split(uids0, ",").stream().map(Convert::toLong).collect(Collectors.toList()); + list.addAll(ids); + } + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/project/service/IEnableMessageDevRuleService.java b/src/main/java/com/zhgd/xmgl/modules/project/service/IEnableMessageDevRuleService.java index 2785f6dc5..c73779f64 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/service/IEnableMessageDevRuleService.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/service/IEnableMessageDevRuleService.java @@ -94,8 +94,7 @@ public interface IEnableMessageDevRuleService extends IService companyUsers = systemUserService.getCompanyUserIdsByProjectSn(rule.getProjectSn()); + if (CollUtil.isNotEmpty(companyUsers)) { + ids.addAll(companyUsers); + } + List systemUsers = systemUserService.getSystemUsersBySn(new MapBuilder().put(Cts.SN, rule.getProjectSn()).put(Cts.QUERY_TYPE, Cts.PROJECT_LEVEL).build()); + if (CollUtil.isNotEmpty(systemUsers)) { + List userIdSet = systemUsers.stream().map(SystemUser::getUserId).collect(Collectors.toList()); + ids.addAll(userIdSet); + } for (Long id : ids) { - noticeService.addUserNoticeAndApp(id, "设备报警通知", rule.getMessageTemplateContent(), type, tone); + noticeService.addUserNoticeAndApp(id, title, msg, type, tone); } } } diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java index 44c272667..1d456178e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java @@ -38,18 +38,18 @@ import com.zhgd.xmgl.modules.project.entity.ProjectJqmDev; import com.zhgd.xmgl.modules.project.entity.vo.ProjectInfoExtVo; import com.zhgd.xmgl.modules.project.service.IProjectService; import com.zhgd.xmgl.modules.project.service.ProjectJqmDevService; -import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord; -import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareRecord; -import com.zhgd.xmgl.modules.video.entity.VideoItem; -import com.zhgd.xmgl.modules.video.entity.WorkerInfoToAiAnalyseHardWareAlarmRecord; +import com.zhgd.xmgl.modules.video.entity.*; import com.zhgd.xmgl.modules.video.entity.bo.AiAnalyseHardWareAlarmRecordNoticeBo; +import com.zhgd.xmgl.modules.video.entity.bo.Recent10DayRecordsBo; import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTotalVo; import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTrendVo; +import com.zhgd.xmgl.modules.video.entity.vo.Recent10DayRecordsVo; import com.zhgd.xmgl.modules.video.enums.AiAnalyseHardWareAlarmRecordHandleResultEnum; import com.zhgd.xmgl.modules.video.mapper.AiAnalyseHardWareAlarmRecordMapper; import com.zhgd.xmgl.modules.video.mapper.AiAnalyseHardWareRecordMapper; import com.zhgd.xmgl.modules.video.mapper.WorkerInfoToAiAnalyseHardWareAlarmRecordMapper; import com.zhgd.xmgl.modules.video.service.IAiAnalyseHardWareAlarmRecordService; +import com.zhgd.xmgl.modules.video.service.IVideoGroupService; import com.zhgd.xmgl.modules.video.service.IVideoItemService; import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper; @@ -142,6 +142,10 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl queryAiAnalyseHardWareAlarmPageList(Map map) { int pageNo = Integer.parseInt(map.getOrDefault("pageNo", 1).toString()); @@ -201,28 +205,36 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(AiAnalyseHardWareRecord::getHardwareId, body.getString("hardwareId")); - AiAnalyseHardWareRecord aiAnalyseHardWareRecord = aiAnalyseHardWareRecordMapper.selectOne(queryWrapper); - if (aiAnalyseHardWareRecord == null) { - throw new OpenAlertException(MessageUtil.get("EquipmentNumIncorrectErr")); - } + String projectSn = null; AiAnalyseHardWareAlarmRecord aiAnalyseHardWareAlarmRecord = new AiAnalyseHardWareAlarmRecord(); - aiAnalyseHardWareAlarmRecord.setCreateTime(body.getString("datetime")); - aiAnalyseHardWareAlarmRecord.setAlarmType(body.getInteger("type")); - aiAnalyseHardWareAlarmRecord.setHardwareId(aiAnalyseHardWareRecord.getHardwareId()); - aiAnalyseHardWareAlarmRecord.setHardwareName(aiAnalyseHardWareRecord.getHardwareName()); - aiAnalyseHardWareAlarmRecord.setLocation(body.getString("location")); try { if(StringUtils.isNotBlank(body.getString("remark"))) { VideoItem videoItem = videoItemService.getOne(Wrappers.lambdaQuery() .eq(VideoItem::getSerialNumber, body.getString("remark"))); if (videoItem != null) { aiAnalyseHardWareAlarmRecord.setLocation(videoItem.getVideoName()); + VideoGroup videoGroup = videoGroupService.getById(videoItem.getGroupId()); + projectSn = videoGroup == null ? null : videoGroup.getProjectSn(); + aiAnalyseHardWareAlarmRecord.setProjectSn(projectSn); } } } catch (Exception e) {} - aiAnalyseHardWareAlarmRecord.setProjectSn(aiAnalyseHardWareRecord.getProjectSn()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (projectSn != null) { + queryWrapper.lambda().eq(AiAnalyseHardWareRecord::getProjectSn, projectSn); + } + queryWrapper.lambda().eq(AiAnalyseHardWareRecord::getHardwareId, body.getString("hardwareId")); + AiAnalyseHardWareRecord aiAnalyseHardWareRecord = aiAnalyseHardWareRecordMapper.selectOne(queryWrapper); + if (aiAnalyseHardWareRecord == null) { + throw new OpenAlertException(MessageUtil.get("EquipmentNumIncorrectErr")); + } + aiAnalyseHardWareAlarmRecord.setCreateTime(body.getString("datetime")); + aiAnalyseHardWareAlarmRecord.setAlarmType(body.getInteger("type")); + aiAnalyseHardWareAlarmRecord.setHardwareId(aiAnalyseHardWareRecord.getHardwareId()); + aiAnalyseHardWareAlarmRecord.setHardwareName(aiAnalyseHardWareRecord.getHardwareName()); + aiAnalyseHardWareAlarmRecord.setLocation(body.getString("location")); + +// aiAnalyseHardWareAlarmRecord.setProjectSn(aiAnalyseHardWareRecord.getProjectSn()); aiAnalyseHardWareAlarmRecord.setStatus(1); if (StringUtils.isNotEmpty(body.getString(IMAGE))) { String base64data = ""; @@ -755,6 +767,30 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl getRecent10DayRecords(Map param) { + List records = baseMapper.getRecent10DayRecords(param); + // 按日期分组 + Map> groupedRecords = records.stream() + .collect(Collectors.groupingBy( + Recent10DayRecordsBo::getDate, + LinkedHashMap::new, // 保持日期顺序 + Collectors.mapping(bo -> { + return BeanUtil.toBean(bo, AiAnalyseHardWareAlarmRecord.class); + }, Collectors.toList()) + )); + + // 转换为 Vo 对象 + return groupedRecords.entrySet().stream() + .map(entry -> { + Recent10DayRecordsVo vo = new Recent10DayRecordsVo(); + vo.setDate(entry.getKey()); + vo.setRecords(entry.getValue()); + return vo; + }) + .collect(Collectors.toList()); + } + private Integer getAlarmType(Integer algorithmId) { /* 4 行人闯入 diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index cbe5d37ec..37d027373 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -66,7 +66,7 @@ mqtt.username=admin mqtt.password=public #mqtt.url=tcp://139.159.226.224:1883 #mqtt.url=ws://139.159.226.224:8083/mqtt -mqtt.url=tcp://jxj.zhgdyun.com:1883 +mqtt.url=wss://gszhdz.crpower.com.cn:8084/mqtt # 消费者和提供者对应的客户端id以及默认topic mqtt.producer.clientId=mqttProd0729 mqtt.producer.defaultTopic=topic1 From 9cdc8edcbec99aac4198ebd25b017a85970d1c17 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Mon, 17 Nov 2025 18:40:50 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=9C=A8=E7=BA=BF=E7=A6=BB=E7=BA=BF=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CompanyController.java | 1 + .../service/impl/CompanyServiceImpl.java | 39 ++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/CompanyController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/CompanyController.java index 6063017c9..272632827 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/CompanyController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/CompanyController.java @@ -235,6 +235,7 @@ public class CompanyController { @ApiImplicitParam(name = "videoType", value = "查询类型,0无视频,1有视频", paramType = "body", required = true, dataType = "String"), @ApiImplicitParam(name = "standardType", value = "是否查询标养室,0否,1是", paramType = "body", required = true, dataType = "String"), @ApiImplicitParam(name = "projectType", value = "是否展示,0否,1是", paramType = "body", required = true, dataType = "String"), + @ApiImplicitParam(name = "showVideoNum", value = "是否展示(在线)监控数量,0否,1是", paramType = "body", required = false, dataType = "String"), }) @PostMapping("/getComapnyStatisticsList") @PreAuthorize("@perm.hasSnAccess(#map['sn'])") diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java index 4909c0b24..a5edcb917 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java @@ -2,6 +2,7 @@ package com.zhgd.xmgl.modules.basicdata.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; @@ -357,6 +358,7 @@ public class CompanyServiceImpl extends ServiceImpl impl secondComapnyList = getGroupStatisticsCompany(secondComapnyList, childComapnyList); fistComapnyList = getGroupStatisticsCompany(fistComapnyList, secondComapnyList); fistComapnyList = filterCompanyByProject(fistComapnyList, map); + addVideoTotalAndOnlineNum(fistComapnyList, type); data.put("companyList", fistComapnyList); addSnForTree(data); } else if (Objects.equals(tempCompany.getCompanyType(), CompanyTypeEnum.REGIONS.getValue())) { @@ -373,6 +375,7 @@ public class CompanyServiceImpl extends ServiceImpl impl } fistComapnyList = getGroupStatisticsCompany(fistComapnyList, companyList); fistComapnyList = filterCompanyByProject(fistComapnyList, map); + addVideoTotalAndOnlineNum(fistComapnyList, type); data.put("companyList", fistComapnyList); } else if (Objects.equals(tempCompany.getCompanyType(), CompanyTypeEnum.CITIES.getValue())) { Company parentCompany = companyMapper.selectById(tempCompany.getParentId()); @@ -387,6 +390,7 @@ public class CompanyServiceImpl extends ServiceImpl impl } } companyList = filterCompanyByProject(companyList, map); + addVideoTotalAndOnlineNum(companyList, type); data.put("companyList", companyList); } else { Company parentCompany = companyMapper.selectById(tempCompany.getParentId()); @@ -396,6 +400,7 @@ public class CompanyServiceImpl extends ServiceImpl impl data.put("firstCompany", firstCompany); map.put("companyType", "5"); List projectList = getProjectEntityMaps(map, type, standardType); + addVideoTotalAndOnlineNum(projectList, type); data.put("projectList", projectList); } @@ -410,6 +415,24 @@ public class CompanyServiceImpl extends ServiceImpl impl return data; } + /** + * 添加在线离线数量 + * + * @param fistComapnyList + * @param type + */ + private void addVideoTotalAndOnlineNum(List fistComapnyList, Integer type) { + if (type == 1) { + for (int i = 0; i < fistComapnyList.size(); i++) { + EntityMap entityMap = fistComapnyList.get(i); + String childName = "list"; + JSONObject jsonObject = BeanUtil.toBean(entityMap, JSONObject.class); + Map integerMap = VideoItemServiceImpl.getTotalAndOnlineNum(jsonObject, childName); + entityMap.putAll(integerMap); + } + } + } + private List getChildCompanyStatisticsList(Map map, Integer type, Integer standardType, List childComapnyList) { List projectList = getProjectEntityMaps(map, type, standardType); childComapnyList = getGroupStatisticsProject(childComapnyList, projectList); @@ -430,6 +453,20 @@ public class CompanyServiceImpl extends ServiceImpl impl List> standardList = standardDevMapper.selectProjecDevAlarmCount(map); projectList = addProjectStandardData(projectList, standardList); } + if (Objects.equals(MapUtils.getInteger(map, "showVideoNum"), 1)) { + List videoList = projectMapper.selectVideoList(map); + Map> projectSn2VideosMap = videoList.stream().collect(Collectors.groupingBy(entityMap -> Convert.toStr(entityMap.get("projectSn")))); + for (EntityMap projectMap : projectList) { + List mapList = projectSn2VideosMap.get(projectMap.get("projectSn")); + Integer videoNum = Optional.ofNullable(mapList).map(m -> m.size()).orElse(0); + Long onlineVideoNum = 0L; + if (mapList != null) { + onlineVideoNum = mapList.stream().filter(entityMap -> Objects.equals(entityMap.get("deviceState"), 1)).count(); + } + projectMap.put("video_num", videoNum); + projectMap.put("online_video_num", onlineVideoNum); + } + } return projectList; } @@ -458,8 +495,6 @@ public class CompanyServiceImpl extends ServiceImpl impl if (CollUtil.isNotEmpty(videoJa)) { for (int i = 0; i < videoJa.size(); i++) { JSONObject jsonObject = videoJa.getJSONObject(i); - Map integerMap = VideoItemServiceImpl.getTotalAndOnlineNum(jsonObject, childName); - jsonObject.putAll(integerMap); rtList.add(BeanUtil.toBean(jsonObject, EntityMapV2.class)); } } From fa4076b2385ae9ea1b3f99a5800ebfed1b36dbf7 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Mon, 17 Nov 2025 18:42:17 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E6=89=A7=E6=B3=95=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E4=BB=AA=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WorkTicketController.java | 12 +++++++++-- .../policecamera/entity/PoliceCameraItem.java | 6 +++++- .../policecamera/entity/WorkTicket.java | 5 +++++ .../entity/vo/CountWorkTicketVo.java | 4 ++++ .../entity/vo/PoliceCameraItemVo.java | 20 +++++++++++++++++++ .../mapper/xml/WorkTicketMapper.xml | 1 + .../impl/PoliceCameraItemServiceImpl.java | 14 +++++++++++++ .../service/impl/WorkTicketServiceImpl.java | 1 + 8 files changed, 60 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/controller/WorkTicketController.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/controller/WorkTicketController.java index a2778e40e..ede9736d4 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/controller/WorkTicketController.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/controller/WorkTicketController.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.zhgd.annotation.OperLog; import com.zhgd.jeecg.common.api.vo.Result; +import com.zhgd.jeecg.common.execption.OpenPromptException; import com.zhgd.xmgl.modules.policecamera.entity.WorkTicket; import com.zhgd.xmgl.modules.policecamera.entity.dto.OperateWorkTicketDto; import com.zhgd.xmgl.modules.policecamera.entity.dto.WorkTicketDto; @@ -130,8 +131,15 @@ public class WorkTicketController { @OperLog(operModul = "工作票管理", operType = "", operDesc = "开始、暂停、继续、结束工作票") @ApiOperation(value = "开始、暂停、继续、结束工作票", notes = "开始、暂停、继续、结束工作票", httpMethod = "POST") @PostMapping(value = "/operateWorkTicket") - public Result operateWorkTicket(@RequestBody OperateWorkTicketDto workTicketDto) { - workTicketService.operateWorkTicket(workTicketDto); + public Result operateWorkTicket(@RequestBody OperateWorkTicketDto workTicketDto) { + try { + workTicketService.operateWorkTicket(workTicketDto); + } catch (OpenPromptException e) { + Result data = new Result<>(); + data.setCode(1); + data.setMessage(e.getMessage()); + return Result.success(data); + } return Result.ok(); } diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/PoliceCameraItem.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/PoliceCameraItem.java index d3010d17d..d3ee2fd07 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/PoliceCameraItem.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/PoliceCameraItem.java @@ -153,5 +153,9 @@ public class PoliceCameraItem implements Serializable { */ @ApiModelProperty(value = "默认码流类型:1、子码流,2、主码流,默认子码流") private Integer defaultStreamType; - + /** + * 封面路径 + */ + @ApiModelProperty(value = "封面路径") + private java.lang.String coverUrl; } diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/WorkTicket.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/WorkTicket.java index be65ec9f1..2bdaa5df0 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/WorkTicket.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/WorkTicket.java @@ -130,4 +130,9 @@ public class WorkTicket implements Serializable { */ @ApiModelProperty(value = "班组ids") private java.lang.String teamIds; + /** + * 风险类型:1:一般风险;2:高风险; + */ + @ApiModelProperty(value = "风险类型:1:一般风险;2:高风险;") + private java.lang.Integer riskType; } diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/CountWorkTicketVo.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/CountWorkTicketVo.java index 3e54e5e9e..13a517c6a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/CountWorkTicketVo.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/CountWorkTicketVo.java @@ -17,4 +17,8 @@ public class CountWorkTicketVo { //暂停中 @ApiModelProperty("暂停中") private Integer pause; + //施工中高风险数量 + @ApiModelProperty("施工中高风险数量") + private Integer highRikeIngNum; + } diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/PoliceCameraItemVo.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/PoliceCameraItemVo.java index d0f916803..50c44da6e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/PoliceCameraItemVo.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/entity/vo/PoliceCameraItemVo.java @@ -28,4 +28,24 @@ public class PoliceCameraItemVo extends PoliceCameraItem { */ @ApiModelProperty(value = "分组名称") private String groupName; + /** + * 未结束的工作票id + */ + @ApiModelProperty(value = "未结束的工作票id") + private java.lang.Long workTicketId; + /** + * 未结束的工作票编号 + */ + @ApiModelProperty(value = "未结束的工作票编号") + private java.lang.String workTicketNumber; + /** + * 未结束的施工场站s(多个,分割) + */ + @ApiModelProperty(value = "未结束的施工场站s(多个,分割)") + private java.lang.String constructionAreas; + /** + * 施工区域名称s(多个,分割) + */ + @ApiModelProperty(value = "施工区域名称s(多个,分割)") + private java.lang.String constructionAreaNames; } diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/xml/WorkTicketMapper.xml b/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/xml/WorkTicketMapper.xml index f893e4ff6..9b918cf25 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/xml/WorkTicketMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/mapper/xml/WorkTicketMapper.xml @@ -29,6 +29,7 @@ ,ifnull(sum(if(t.status=2,1,0)),0) as ing ,ifnull(sum(if(t.status=3,1,0)),0) as pause ,ifnull(sum(if(t.status=4,1,0)),0) as done + ,ifnull(sum(if(t.risk_type=2 and t.status=2,1,0)),0) as highRikeIngNum from work_ticket t where 1=1 diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/PoliceCameraItemServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/PoliceCameraItemServiceImpl.java index c37e8a486..ceaef1b3f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/PoliceCameraItemServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/PoliceCameraItemServiceImpl.java @@ -36,6 +36,8 @@ import com.zhgd.xmgl.modules.policecamera.service.IPoliceCameraGroupService; import com.zhgd.xmgl.modules.policecamera.service.IPoliceCameraItemService; import com.zhgd.xmgl.modules.policecamera.service.IPoliceCameraVideoConfigService; import com.zhgd.xmgl.modules.policecamera.service.IWorkTicketCameraRelService; +import com.zhgd.xmgl.modules.quality.entity.QualityRegion; +import com.zhgd.xmgl.modules.quality.service.IQualityRegionService; import com.zhgd.xmgl.modules.video.mapper.AiAnalyseHardWareAlarmRecordMapper; import com.zhgd.xmgl.modules.video.mapper.ProjectVideoHkVqdMapper; import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; @@ -94,6 +96,9 @@ public class PoliceCameraItemServiceImpl extends ServiceImpl queryPageList(HashMap param) { @@ -131,9 +136,18 @@ public class PoliceCameraItemServiceImpl extends ServiceImpl o1)); Map userMap = systemUserService.list(new LambdaQueryWrapper() .eq(SystemUser::getSn, projectSn)).stream().collect(Collectors.toMap(SystemUser::getUserId, Function.identity(), (o1, o2) -> o1)); + Map regionMap = qualityRegionService.list(new LambdaQueryWrapper() + .select(QualityRegion::getId, QualityRegion::getRegionName, QualityRegion::getProjectSn)) + .stream().collect(Collectors.toMap(QualityRegion::getId, Function.identity(), (o1, o2) -> o1)); for (PoliceCameraItemVo itemVo : list) { itemVo.setPusherNames(StringUtils.isNotEmpty(itemVo.getPushers()) ? StrUtil.split(itemVo.getPushers(), ",").stream().map(id -> userMap.get(Convert.toLong(id))).filter(Objects::nonNull).map(SystemUser::getRealName).collect(Collectors.joining(",")) : ""); itemVo.setUserNames(StringUtils.isNotEmpty(itemVo.getUsers()) ? StrUtil.split(itemVo.getUsers(), ",").stream().map(id -> workerInfoMap.get(Convert.toLong(id))).filter(Objects::nonNull).map(WorkerInfo::getWorkerName).collect(Collectors.joining(",")) : ""); + // 设置施工区域名称 + itemVo.setConstructionAreaNames(EntityUtils.convertIdsToNames( + itemVo.getConstructionAreas(), + regionMap, + QualityRegion::getRegionName + )); } } return list; diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketServiceImpl.java index 55be9f36a..7f5f833cd 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketServiceImpl.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhgd.jeecg.common.execption.OpenAlertException; +import com.zhgd.jeecg.common.execption.OpenPromptException; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.xmgl.call.api.PoliceCameraManufacturer; import com.zhgd.xmgl.call.factory.PoliceCameraManufacturerFactory;