ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java
@@ -1,6 +1,7 @@ package com.ycl.platform.domain.entity; import annotation.Excel; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.system.entity.BaseEntity; @@ -141,15 +142,8 @@ @Excel(name = "类型编码 : [131.摄像机编码;132.网络摄像机编码;]") private Long lxbm; @Excel(name = "异常原因") private String reason; @Excel(name ="异常恢复标识") private Long recovery; @Excel(name = "异常恢复时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date recoveryTime; @TableField(exist = false) private Integer recovery; private Long deptId; @@ -169,31 +163,13 @@ return installedTime; } public Date getRecoveryTime() { return recoveryTime; } public void setRecoveryTime(Date recoveryTime) { this.recoveryTime = recoveryTime; } public Long getRecovery() { public Integer getRecovery() { return recovery; } public void setRecovery(Long recovery) { public void setRecovery(Integer recovery) { this.recovery = recovery; } public String getReason() { return reason; } public void setReason(String reason) { this.reason = reason; } public void setId(Long id) { @@ -501,9 +477,6 @@ ", cameraDept='" + cameraDept + '\'' + ", hybm='" + hybm + '\'' + ", lxbm=" + lxbm + ", reason='" + reason + '\'' + ", recovery=" + recovery + ", recoveryTime=" + recoveryTime + ", deptId=" + deptId + '}'; } ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
@@ -3,13 +3,15 @@ import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.time.LocalDateTime; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.platform.base.AbsEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import java.time.LocalDateTime; import java.util.Date; /** * 运维点位 @@ -60,5 +62,14 @@ @TableField("point_tag") private String pointTag; @TableField("reason") private String reason; @TableField("recovery") private Integer recovery; @TableField("recovery_time") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date recoveryTime; } ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
@@ -85,4 +85,13 @@ * @return */ Result select(String keyword); /** * 批量同步状态 * * @param pointIds 点位id * @param recovery 状态 * @return 数量 */ boolean updateRecovery(List<Integer> pointIds, int recovery); } ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
@@ -52,7 +52,7 @@ public List<TMonitorVO> selectTMonitorList(TMonitor tMonitor) { List<TMonitorVO> monitors = tMonitorMapper.selectTMonitorList(tMonitor); if (Objects.equals(tMonitor.getRecovery(), 1L)) { if (Objects.equals(tMonitor.getRecovery(), 1)) { String time = configService.selectConfigByKey("abnormal.equipment.continuous.attention.time"); if (StringUtils.isBlank(time)) { throw new RuntimeException("请配置异常设备连续关注时间"); ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -17,6 +17,7 @@ import com.ycl.platform.service.NotifyService; import com.ycl.platform.service.WorkOrderAuditingRecordService; import com.ycl.platform.service.WorkOrderService; import com.ycl.platform.service.YwPointService; import com.ycl.system.Result; import com.ycl.system.model.LoginUser; import com.ycl.system.page.PageUtil; @@ -38,9 +39,7 @@ import java.time.LocalDateTime; import java.time.ZoneId; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.*; import java.util.stream.Collectors; /** @@ -54,8 +53,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService { private final WorkOrderMapper workOrderMapper; private final YwUnitMapper ywUnitMapper; private final YwPeopleMapper ywPeopleMapper; private final YwPointService ywPointService; private final WorkOrderAuditingRecordMapper workOrderAuditingRecordMapper; private final WorkOrderAuditingRecordService workOrderAuditingRecordService; private final WorkOrderYwConditionRecordMapper workOrderYwConditionRecordMapper; @@ -125,6 +123,10 @@ UrgentLevelEnum.WARNING, workOrder.getWorkOrderNo()); notifyService.save(notify); // 同步点位状态 if (form.getAuditingResult() == WorkOrderStatusEnum.AUDITING_SUCCESS) { ywPointService.updateRecovery(Collections.singletonList(workOrder.getPointId()), 0); } return Result.ok("操作成功"); } @@ -268,6 +270,7 @@ } @Override @Transactional public Result distributeFast(DistributeWorkOrderVO data) { // 获取当前时间 LocalDateTime now = LocalDateTime.now(ZoneId.systemDefault()); @@ -308,6 +311,8 @@ .in(WorkOrder::getId, ids) .update(); addDistributeRecord(ids, WorkOrderDistributeWayEnum.FAST_DISTRIBUTE); // 同步点位状态 ywPointService.updateRecovery(pointIds, 1); return Result.ok("成功下发" + ids.size() + "条工单"); } catch (Exception e) { return Result.error("操作失败"); @@ -317,6 +322,7 @@ } @Override @Transactional public Result selectedIdsDistribute(DistributeWorkOrderQuery query) { WorkOrderDistributeWayEnum distributeWayEnum = WorkOrderDistributeWayEnum.SELECTED_DISTRIBUTE; if (!getDistributeLock()) { return Result.error("此刻有人下发中,为避免冲突,请稍后重试"); } @@ -338,6 +344,9 @@ .in(WorkOrder::getId, query.getIds()) .update(); addDistributeRecord(query.getIds(), distributeWayEnum); // 同步点位状态 List<Integer> pointIds = new LambdaQueryChainWrapper<>(baseMapper).select(WorkOrder::getPointId).in(WorkOrder::getId, query.getIds()).list().stream().map(WorkOrder::getPointId).toList(); ywPointService.updateRecovery(pointIds, 1); return Result.ok("成功下发" + query.getIds().size() + "条工单"); } catch (Exception e) { return Result.error("操作失败"); ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -1,43 +1,35 @@ package com.ycl.platform.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.platform.base.BaseSelect; import com.ycl.platform.domain.entity.Region; import com.ycl.platform.domain.entity.YwPeople; import com.ycl.platform.domain.entity.YwPoint; import com.ycl.platform.domain.entity.YwUnit; import com.ycl.platform.domain.form.BatchEditPointForm; import com.ycl.platform.mapper.RegionMapper; import com.ycl.platform.domain.form.YwPointForm; import com.ycl.platform.domain.query.YwPointQuery; import com.ycl.platform.domain.vo.YwPointVO; import com.ycl.platform.mapper.YwPeopleMapper; import com.ycl.platform.mapper.YwPointMapper; import com.ycl.platform.mapper.YwUnitMapper; import com.ycl.platform.service.YwPointService; import com.ycl.platform.service.YwUnitService; import com.ycl.system.Result; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.platform.domain.form.YwPointForm; import com.ycl.platform.domain.vo.YwPointVO; import com.ycl.platform.domain.query.YwPointQuery; import java.util.List; import com.ycl.system.entity.SysUser; import com.ycl.system.mapper.SysDeptMapper; import com.ycl.system.service.ISysDeptService; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.system.page.PageUtil; import com.ycl.utils.DateUtils; import com.ycl.utils.SecurityUtils; import enumeration.general.RegionLevelEnum; import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import java.util.ArrayList; import org.springframework.util.StringUtils; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import lombok.RequiredArgsConstructor; import org.springframework.util.StringUtils; /** * 运维点位 服务实现类 @@ -214,4 +206,13 @@ }).collect(Collectors.toList()); return Result.ok().data(data); } @Override public boolean updateRecovery(List<Integer> pointIds, int recovery) { return new LambdaUpdateChainWrapper<>(baseMapper) .in(YwPoint::getId, pointIds) .set(YwPoint::getRecovery, recovery) .set(recovery == 0, YwPoint::getRecoveryTime, DateUtils.getNowDate()) .update(); } }