diff --git a/src/main/java/com/zhgd/jeecg/common/util/pass/HttpUtils.java b/src/main/java/com/zhgd/jeecg/common/util/pass/HttpUtils.java index ae96e360d..21c9dcaa6 100644 --- a/src/main/java/com/zhgd/jeecg/common/util/pass/HttpUtils.java +++ b/src/main/java/com/zhgd/jeecg/common/util/pass/HttpUtils.java @@ -5,6 +5,8 @@ import cn.hutool.http.HttpUtil; import com.gexin.fastjson.JSON; import lombok.extern.slf4j.Slf4j; +import java.net.SocketTimeoutException; + /** * http 工具类,打印日志 * @@ -40,5 +42,14 @@ public class HttpUtils { return rs; } + /** + * 是否网络异常 + * + * @param e + * @return + */ + public static boolean isTimeOut(Exception e) { + return e instanceof java.net.ConnectException || e instanceof SocketTimeoutException; + } } diff --git a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java index 96cc78121..89ba0b815 100644 --- a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java +++ b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java @@ -6,6 +6,7 @@ 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.jeecg.common.util.pass.HttpUtils; import com.zhgd.xmgl.call.HikvisionCall; import com.zhgd.xmgl.modules.basicdata.service.INoticeService; import com.zhgd.xmgl.modules.car.entity.CarInfo; @@ -27,6 +28,7 @@ import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; +import java.net.SocketTimeoutException; import java.util.ArrayList; import java.util.List; @@ -76,8 +78,8 @@ public class AsyncHikvision { String title = action + "人员到海康isc失败"; String type = "23"; String msg; - if (e instanceof java.net.ConnectException) { - msg = "同步失败,人员名称:" + workerInfo.getWorkerName() + ",身份证号:" + workerInfo.getIdCard() + "。失败原因:网络超时"; + if (HttpUtils.isTimeOut(e)) { + msg = "同步失败,人员名称:" + workerInfo.getWorkerName() + ",身份证号:" + workerInfo.getIdCard() + "。失败原因:网络异常"; } else if (e instanceof OpenPromptException) { msg = "同步失败,人员名称:" + workerInfo.getWorkerName() + ",身份证号:" + workerInfo.getIdCard() + "。失败原因:" + e.getMessage(); } else { @@ -296,7 +298,7 @@ public class AsyncHikvision { hikvisionCall.updatePersonAuth(workerInfo, ds, sucSb, failSb, 0); } } catch (Exception e) { - if (e instanceof java.net.ConnectException) { + if (HttpUtils.isTimeOut(e)) { noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), "网络异常", "人员下发设备提醒", "1"); } else { noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), e.getMessage(), "人员下发设备提醒", "1"); @@ -345,7 +347,7 @@ public class AsyncHikvision { hikvisionCall.updatePersonAuth(workerInfo, ds, sucSb, failSb, 2); } } catch (Exception e) { - if (e instanceof java.net.ConnectException) { + if (HttpUtils.isTimeOut(e)) { noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), "网络异常", "人员下发设备提醒", "1"); } else { noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), e.getMessage(), "人员下发设备提醒", "1"); diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index d2a948239..fd111295d 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -989,7 +989,7 @@ public class HikvisionCall { jo.put("paramValue", Arrays.asList(String.valueOf(workerInfo.getId()))); String rs = HikvisionUtil.doPost(host, path, jo.toJSONString(), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); if (rs == null) { - throw new OpenAlertException("海康查询人员网络超时,名称:" + workerInfo.getWorkerName()); + throw new OpenAlertException("海康查询人员网络异常,名称:" + workerInfo.getWorkerName()); } JSONObject joData = HikvisionUtil.getJSONObjectData(rs); if (joData != null) { @@ -1588,7 +1588,7 @@ public class HikvisionCall { String body = jo.toJSONString(); String rs = HikvisionUtil.doPost(host, path, body, null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); if (StringUtils.isBlank(rs)) { - throw new OpenAlertException("海康网络超时"); + throw new OpenAlertException("海康网络异常"); } return rs; } @@ -1967,7 +1967,7 @@ public class HikvisionCall { 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() + ",失败原因:网络超时;"); + failSb.append(workerInfo.getWorkerName() + "," + dev.getDevName() + ",失败原因:网络异常;"); } else { failSb.append(workerInfo.getWorkerName() + "," + dev.getDevName() + ",下发异常;"); } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyFileServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyFileServiceImpl.java index 99d388e6a..46c927147 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyFileServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyFileServiceImpl.java @@ -46,22 +46,23 @@ public class CompanyFileServiceImpl extends ServiceImpl page = new Page<>(pageNo, pageSize); + //查父级企业sn + Set inSnList = new HashSet<>(); if (StrUtil.isNotBlank(projectSn)) { Company c = companyMapper.getCompanyForProjectByProjectSn(projectSn); if (c == null) { throw new OpenAlertException("企业不存在"); } map.put("sn", c.getCompanySn()); + inSnList.add(c.getCompanySn()); } else { map.put("sn", companySn); + inSnList.add(companySn); } - //查父级企业sn - Set inSnList = new HashSet<>(); - inSnList.add(companySn); Company c1 = null; do { c1 = companyMapper.getParentCompanySn(map); - if (c1 != null) { + if (c1 != null && StrUtil.isNotBlank(c1.getCompanySn())) { inSnList.add(c1.getCompanySn()); map.put("sn", c1.getCompanySn()); inSnList.add(c1.getHeadquartersSn()); 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 ac7cccc88..a6b7951f4 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 @@ -365,6 +365,9 @@ public class WorkerInfoServiceImpl extends ServiceImpl