From ff1d2ca1ad1553c09b3f805ebd4abd453e280f4c Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Thu, 18 Apr 2024 17:35:38 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/async/AsyncHikvision.java | 11 +++++-- .../com/zhgd/xmgl/call/HikvisionCall.java | 29 +++++++++++++------ .../service/impl/SystemUserServiceImpl.java | 12 ++++---- ...neeringTypeDescribeControlServiceImpl.java | 12 +++++--- .../service/impl/WorkerInfoServiceImpl.java | 5 ++-- .../zhgd/xmgl/security/WebSecurityConfig.java | 1 + .../com/zhgd/xmgl/util/HikvisionUtil.java | 2 +- 7 files changed, 47 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java index e9c6eb915..96cc78121 100644 --- a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java +++ b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zhgd.jeecg.common.execption.OpenPromptException; import com.zhgd.xmgl.call.HikvisionCall; import com.zhgd.xmgl.modules.basicdata.service.INoticeService; import com.zhgd.xmgl.modules.car.entity.CarInfo; @@ -77,6 +78,8 @@ public class AsyncHikvision { String msg; if (e instanceof java.net.ConnectException) { msg = "同步失败,人员名称:" + workerInfo.getWorkerName() + ",身份证号:" + workerInfo.getIdCard() + "。失败原因:网络超时"; + } else if (e instanceof OpenPromptException) { + msg = "同步失败,人员名称:" + workerInfo.getWorkerName() + ",身份证号:" + workerInfo.getIdCard() + "。失败原因:" + e.getMessage(); } else { msg = "同步失败,人员名称:" + workerInfo.getWorkerName() + ",身份证号:" + workerInfo.getIdCard() + "。失败原因:下发异常"; } @@ -294,7 +297,7 @@ public class AsyncHikvision { } } catch (Exception e) { if (e instanceof java.net.ConnectException) { - noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), "下发异常", "人员下发设备提醒", "1"); + noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), "网络异常", "人员下发设备提醒", "1"); } else { noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), e.getMessage(), "人员下发设备提醒", "1"); } @@ -342,7 +345,11 @@ public class AsyncHikvision { hikvisionCall.updatePersonAuth(workerInfo, ds, sucSb, failSb, 2); } } catch (Exception e) { - noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), e.getMessage(), "人员下发设备提醒", "1"); + if (e instanceof java.net.ConnectException) { + noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), "网络异常", "人员下发设备提醒", "1"); + } else { + noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), e.getMessage(), "人员下发设备提醒", "1"); + } return; } diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index 82d0c97e8..d2a948239 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -865,7 +865,13 @@ public class HikvisionCall { msg = "同步成功,人员名称:" + workerInfo.getWorkerName() + ",身份证号:" + workerInfo.getIdCard(); title += "成功"; } else { - msg = "同步失败,人员名称:" + workerInfo.getWorkerName() + ",身份证号:" + workerInfo.getIdCard() + "。失败原因:" + rs; + JSONObject jo = JSONObject.parseObject(rs); + String code = jo.getString("code"); + if (Objects.equals(code, "0x00072002")) { + msg = "同步失败,人员名称:" + workerInfo.getWorkerName() + ",身份证号:" + workerInfo.getIdCard() + "。失败原因:人脸照片校验失败"; + } else { + msg = "同步失败,人员名称:" + workerInfo.getWorkerName() + ",身份证号:" + workerInfo.getIdCard() + "。失败原因:" + rs; + } title += "失败"; } noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), msg, title, type); @@ -1933,14 +1939,14 @@ public class HikvisionCall { "}"; JSONObject rs = doorSearchV2ForHttp(project, JSONObject.parseObject(json)); if (HikvisionUtil.isFail(rs)) { - log.error(workerInfo.getWorkerName() + " " + dev.getDevName() + " fail:" + rs.toJSONString() + ","); - failSb.append(workerInfo.getWorkerName() + " " + dev.getDevName() + ";"); + log.error(workerInfo.getWorkerName() + "," + dev.getDevName() + " fail:" + rs.toJSONString() + ","); + failSb.append(workerInfo.getWorkerName() + "," + dev.getDevName() + ",下发异常;"); return; } JSONObject jo = HikvisionUtil.getJSONObjectData(rs); JSONArray listJa = jo.getJSONArray("list"); if (CollUtil.isEmpty(listJa)) { - failSb.append(workerInfo.getWorkerName() + " " + dev.getDevName() + " fail:isc不存在该设备,"); + failSb.append(workerInfo.getWorkerName() + "," + dev.getDevName() + ",失败信息:isc不存在该设备,"); return; } String channelNo = listJa.getJSONObject(0).getString("channelNo"); @@ -1958,17 +1964,22 @@ public class HikvisionCall { "}"; JSONObject sdRs = simpleDownload(project, sdStr); if (HikvisionUtil.isFail(sdRs)) { - log.error(workerInfo.getWorkerName() + " " + dev.getDevName() + " fail:" + sdRs.toJSONString() + ","); - failSb.append(workerInfo.getWorkerName() + " " + dev.getDevName() + ";"); + log.error(workerInfo.getWorkerName() + "," + dev.getDevName() + " fail:" + sdRs.toJSONString() + ","); + String code = sdRs.getString("code"); + if (Objects.equals(code, "0x15403007") || Objects.equals(code, "0x02401033")) { + failSb.append(workerInfo.getWorkerName() + "," + dev.getDevName() + ",失败原因:网络超时;"); + } else { + failSb.append(workerInfo.getWorkerName() + "," + dev.getDevName() + ",下发异常;"); + } return; } JSONObject sdRsJo = HikvisionUtil.getJSONObjectData(sdRs); Integer downloadResult = sdRsJo.getJSONObject("resourceDownloadResult").getInteger("downloadResult"); if (downloadResult == 0) { - sucSb.append(workerInfo.getWorkerName() + " " + dev.getDevName() + ";"); + sucSb.append(workerInfo.getWorkerName() + "," + dev.getDevName() + ";"); } else { - log.error(workerInfo.getWorkerName() + " " + dev.getDevName() + ";"); - failSb.append(workerInfo.getWorkerName() + " " + dev.getDevName() + ",fail:" + sdRsJo.toJSONString()); + log.error(workerInfo.getWorkerName() + "," + dev.getDevName() + ",fail:" + sdRsJo.toJSONString()); + failSb.append(workerInfo.getWorkerName() + "," + dev.getDevName() + ",下发异常;"); } } 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 bb0528d4e..b39e031f2 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 @@ -23,7 +23,6 @@ import com.zhgd.xmgl.modules.basicdata.service.IBaseMenuService; import com.zhgd.xmgl.modules.basicdata.service.ICompanyService; import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService; import com.zhgd.xmgl.modules.mechanicalequipmentposition.entity.MechanicalEquipmentPositionDev; -import com.zhgd.xmgl.modules.mechanicalequipmentposition.mapper.MechanicalEquipmentPositionDataMapper; import com.zhgd.xmgl.modules.mechanicalequipmentposition.mapper.MechanicalEquipmentPositionDevMapper; import com.zhgd.xmgl.modules.project.entity.Project; import com.zhgd.xmgl.modules.project.entity.ProjectExternalSystemService; @@ -1304,11 +1303,12 @@ public class SystemUserServiceImpl extends ServiceImpl devs =mechanicalEquipmentPositionDevMapper.selectDevListByIdCard(carNumber); - //if (CollUtil.isEmpty(devs)) { - // throw new OpenAlertException("该人员的安全帽设备不存在"); - //} - //result.put("devInfoList", devs); + MechanicalEquipmentPositionDev dev = mechanicalEquipmentPositionDevMapper.selectOne(new LambdaQueryWrapper() + .eq(MechanicalEquipmentPositionDev::getDevSn, carNumber)); + if (dev == null) { + throw new OpenAlertException("该机械设备定位设备不存在"); + } + result.put("devInfoList", Arrays.asList(dev)); } return result; } diff --git a/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/DangerousEngineeringTypeDescribeControlServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/DangerousEngineeringTypeDescribeControlServiceImpl.java index 303559648..c1f98fa11 100644 --- a/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/DangerousEngineeringTypeDescribeControlServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/DangerousEngineeringTypeDescribeControlServiceImpl.java @@ -1,8 +1,10 @@ package com.zhgd.xmgl.modules.dangerous.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.xmgl.modules.dangerous.entity.DangerousEngineeringTypeDescribeControl; import com.zhgd.xmgl.modules.dangerous.mapper.DangerousEngineeringTypeDescribeControlMapper; import com.zhgd.xmgl.modules.dangerous.service.IDangerousEngineeringTypeDescribeControlService; @@ -28,13 +30,15 @@ public class DangerousEngineeringTypeDescribeControlServiceImpl extends ServiceI @Override public void saveTypeDescribeControlData(Map map) { String describeId = MapUtils.getString(map, "describeId"); + if (StrUtil.isBlank(describeId)) { + throw new OpenAlertException("类别描述id不能为空"); + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(DangerousEngineeringTypeDescribeControl::getDescribeId, describeId); + dangerousEngineeringTypeDescribeControlMapper.delete(queryWrapper); String controlId = MapUtils.getString(map, "controlId"); if (StringUtils.isNotEmpty(controlId)) { for (String id : controlId.split(",")) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(DangerousEngineeringTypeDescribeControl::getControlId, id) - .eq(DangerousEngineeringTypeDescribeControl::getDescribeId, describeId); - dangerousEngineeringTypeDescribeControlMapper.delete(queryWrapper); DangerousEngineeringTypeDescribeControl typeDescribeControl = new DangerousEngineeringTypeDescribeControl(); typeDescribeControl.setControlId(Long.valueOf(id)); typeDescribeControl.setDescribeId(Long.valueOf(describeId)); diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java index a1063100b..ac7cccc88 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java @@ -303,6 +303,8 @@ public class WorkerInfoServiceImpl extends ServiceImpl