| | |
| | | import com.ycl.platform.mapper.YwThresholdMapper; |
| | | import com.ycl.platform.service.IYwThresholdService; |
| | | import com.ycl.platform.service.WorkOrderService; |
| | | import com.ycl.utils.ip.PingUtil; |
| | | import constant.YwThreadConstants; |
| | | import enumeration.CompareType; |
| | | import enumeration.general.BusinessTypeEnum; |
| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | import utils.DateUtils; |
| | | |
| | | import java.util.*; |
| | |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void errorTypeCheckUY(List list) { |
| | | // 平台离线故障检测 |
| | | if (CollectionUtils.isEmpty(list)) { |
| | | Boolean ping = PingUtil.ping("", 5); |
| | | if (! ping) { |
| | | |
| | | } |
| | | } |
| | | // 设备离线故障检测 |
| | | |
| | | // 信号缺失故障检测 |
| | | |
| | | // 画面偏色故障检测 |
| | | |
| | | // 雪花干扰故障检测 |
| | | |
| | | // 条纹干扰故障检测 |
| | | |
| | | // 画面遮挡故障检测 |
| | | |
| | | // 清晰度异常检测 |
| | | |
| | | // 亮度异常故障检测 |
| | | } |
| | | |
| | | /** |
| | | * 判断人脸阈值是否满足下发条件 |
| | | * |
| | |
| | | check(YwThreadConstants.Face_FailPercent, failPercent, result.getExternalIndexCode(), thresholdMap, distributeList, workOrderList, CompareType.LESS_THAN_EQ,""); |
| | | } |
| | | /** 添加工单 */ |
| | | workOrderService.innerAdd(workOrderList); |
| | | workOrderService.innerAdd(distributeList); |
| | | workOrderService.innerAddWorkOrder(workOrderList); |
| | | workOrderService.innerAddWorkOrder(distributeList); |
| | | } |
| | | |
| | | /** |
| | |
| | | check(YwThreadConstants.Car_NoIntegrityCount, noIntegrityCountResult, result.getExternalIndexCode(), thresholdMap, distributeList, workOrderList, CompareType.MORE_THAN_EQ,""); |
| | | } |
| | | /** 添加工单 */ |
| | | workOrderService.innerAdd(workOrderList); |
| | | workOrderService.innerAdd(distributeList); |
| | | workOrderService.innerAddWorkOrder(workOrderList); |
| | | workOrderService.innerAddWorkOrder(distributeList); |
| | | } |
| | | |
| | | //封装阈值为map |
| | | /** |
| | | * 把阈值条件查出来,转成map |
| | | * |
| | | * @param name |
| | | * @return |
| | | */ |
| | | private Map<String, YwThreshold> getYwThresholdMap(String name) { |
| | | return ywThresholdMapper.selectList( |
| | | new QueryWrapper<YwThreshold>().eq("monitor_type", name) |
| | |
| | | )); |
| | | } |
| | | |
| | | //检查阈值 |
| | | /** |
| | | * 检查阈值 |
| | | * |
| | | * @param key 某阈值标识 |
| | | * @param value 接口获取到的值 |
| | | * @param serialNumber 国标码 |
| | | * @param thresholds 阈值条件map |
| | | * @param distributeList 要下发的工单容器 |
| | | * @param workOrderList 待下发的工单容器 |
| | | * @param compareType 比较方式:>= <= |
| | | * @param errorType 故障类型 |
| | | * @param <T> |
| | | */ |
| | | private <T extends Comparable<T>> void check(String key, T value, String serialNumber, Map<String, YwThreshold> thresholds, List distributeList, List workOrderList, CompareType compareType,String errorType) { |
| | | Optional.ofNullable(value).ifPresentOrElse( |
| | | v -> { |