diff --git a/src/main/java/com/zhgd/xmgl/modules/safetyhat/entity/SafetyHatDev.java b/src/main/java/com/zhgd/xmgl/modules/safetyhat/entity/SafetyHatDev.java index 361ec82cf..63c8f2169 100644 --- a/src/main/java/com/zhgd/xmgl/modules/safetyhat/entity/SafetyHatDev.java +++ b/src/main/java/com/zhgd/xmgl/modules/safetyhat/entity/SafetyHatDev.java @@ -101,6 +101,13 @@ public class SafetyHatDev implements Serializable { @Excel(name = "设备类型(1:安全帽;2:安全带)", width = 15) @ApiModelProperty(value = "设备类型(1:安全帽;2:安全带)") private java.lang.Integer type; + /** + * 获取润德安全帽数据时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "获取润德安全帽数据时间") + private java.util.Date rdDataTime; /** * 合作单位名称 */ diff --git a/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/impl/SafetyHatDataServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/impl/SafetyHatDataServiceImpl.java index cf202e5c6..591532d82 100644 --- a/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/impl/SafetyHatDataServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/impl/SafetyHatDataServiceImpl.java @@ -19,11 +19,16 @@ import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.xmgl.modules.location.entity.LocationData; import com.zhgd.xmgl.modules.project.entity.Project; import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; -import com.zhgd.xmgl.modules.safetyhat.entity.*; -import com.zhgd.xmgl.modules.safetyhat.entity.vo.WorkerListyByRegionVo; +import com.zhgd.xmgl.modules.safetyhat.entity.SafetyHatAlarm; +import com.zhgd.xmgl.modules.safetyhat.entity.SafetyHatData; +import com.zhgd.xmgl.modules.safetyhat.entity.SafetyHatDev; +import com.zhgd.xmgl.modules.safetyhat.entity.SafetyHatFence; import com.zhgd.xmgl.modules.safetyhat.entity.vo.WorkerNumAndRegionName; import com.zhgd.xmgl.modules.safetyhat.entity.vo.WorkerNumByRegionVo; -import com.zhgd.xmgl.modules.safetyhat.mapper.*; +import com.zhgd.xmgl.modules.safetyhat.mapper.SafetyHatAlarmMapper; +import com.zhgd.xmgl.modules.safetyhat.mapper.SafetyHatDataMapper; +import com.zhgd.xmgl.modules.safetyhat.mapper.SafetyHatDevMapper; +import com.zhgd.xmgl.modules.safetyhat.mapper.SafetyHatFenceMapper; import com.zhgd.xmgl.modules.safetyhat.service.ISafetyHatAlarmService; import com.zhgd.xmgl.modules.safetyhat.service.ISafetyHatDataService; import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; @@ -211,6 +216,9 @@ public class SafetyHatDataServiceImpl extends ServiceImpl projectList = projectService.list(Wrappers.lambdaQuery().ne(Project::getHelmetUser, "").ne(Project::getHelmetPassword, "")); + String before7Date = DateUtil.formatDateTime(DateUtil.offsetDay(new Date(), -7)); if (CollUtil.isNotEmpty(projectList)) { log.info("定时2分钟获取安全帽数据任务开始"); for (Project project : projectList) { List devList = safetyHatDevMapper.selectList(new LambdaQueryWrapper() - .eq(SafetyHatDev::getProjectSn, project.getProjectSn())); + .eq(SafetyHatDev::getProjectSn, project.getProjectSn()) + .isNotNull(SafetyHatDev::getExtUserId) + .ge(SafetyHatDev::getHeartbeatTime, before7Date) + .orderByAsc(SafetyHatDev::getRdDataTime) + .last("limit 120") + ); for (SafetyHatDev dev : devList) { - if (StrUtil.isBlank(dev.getExtUserId())) { - log.info("定时2分钟获取安全帽数据任务,安全帽外部user_id没有设置,devSn:{}", dev.getDevSn()); - continue; - } SafetyHatData lastData = safetyHatDataMapper.selectOne(new LambdaQueryWrapper() .eq(SafetyHatData::getDevSn, dev.getDevSn()).orderByDesc(SafetyHatData::getUploadTime).last("limit 1")); String start; @@ -161,12 +162,21 @@ public class SafetyHatTask { pJo.put("start", start); pJo.put("end", end); String json = pJo.toJSONString(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } log.info("定时2分钟获取安全帽数据任务开始,devSn:{},url:{},json:{}", dev.getDevSn(), url, json); String rs = HttpRequest.post(url) .body(json) .timeout(20000)//超时,毫秒 .execute().body(); log.info("定时2分钟获取安全帽数据任务开始rs,devSn:{},rs:{}", dev.getDevSn(), rs); + safetyHatDevService.update(null, new LambdaUpdateWrapper() + .set(SafetyHatDev::getRdDataTime, DateUtil.now()) + .eq(SafetyHatDev::getId, dev.getId()) + ); JSONObject rsJo = JSON.parseObject(rs); if (rsJo.getBoolean("status")) { JSONArray dataJa = rsJo.getJSONArray("data");