金林湾-项目监管大屏的安全问题修改成实时的

This commit is contained in:
Administrator 2023-04-17 17:56:32 +08:00
parent 9a80cf9a74
commit c963a88be3
5 changed files with 66 additions and 70 deletions

View File

@ -9,7 +9,6 @@ import com.zhgd.xmgl.modules.dangerous.entity.vo.AllTodayDataHdirVO;
import com.zhgd.xmgl.modules.dangerous.entity.vo.AllWeekDataHdirVO; import com.zhgd.xmgl.modules.dangerous.entity.vo.AllWeekDataHdirVO;
import com.zhgd.xmgl.modules.dangerous.entity.vo.TotalAndWeekHiddenDanger; import com.zhgd.xmgl.modules.dangerous.entity.vo.TotalAndWeekHiddenDanger;
import com.zhgd.xmgl.modules.dangerous.service.IHiddenDangerInspectRecordService; import com.zhgd.xmgl.modules.dangerous.service.IHiddenDangerInspectRecordService;
import com.zhgd.xmgl.util.MessageUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
@ -150,19 +149,7 @@ public class HiddenDangerInspectRecordController {
@ApiOperation(value = "编辑隐患检查记录信息", notes = "编辑隐患检查记录信息", httpMethod = "POST") @ApiOperation(value = "编辑隐患检查记录信息", notes = "编辑隐患检查记录信息", httpMethod = "POST")
@PostMapping(value = "/edit") @PostMapping(value = "/edit")
public Result<HiddenDangerInspectRecord> edit(@RequestBody HiddenDangerInspectRecord hiddenDangerInspectRecord) { public Result<HiddenDangerInspectRecord> edit(@RequestBody HiddenDangerInspectRecord hiddenDangerInspectRecord) {
Result<HiddenDangerInspectRecord> result = new Result<HiddenDangerInspectRecord>(); return hiddenDangerInspectRecordService.edit(hiddenDangerInspectRecord);
HiddenDangerInspectRecord hiddenDangerInspectRecordEntity = hiddenDangerInspectRecordService.getById(hiddenDangerInspectRecord.getId());
if (hiddenDangerInspectRecordEntity == null) {
result.error500(MessageUtil.get("notFindErr"));
} else {
boolean ok = hiddenDangerInspectRecordService.updateById(hiddenDangerInspectRecord);
//TODO 返回false说明什么
if (ok) {
result.successMsg(MessageUtil.get("editSucess"));
}
}
return result;
} }
/** /**

View File

@ -5,14 +5,16 @@
<select id="selectHiddenDangerStateTrendByWeek" <select id="selectHiddenDangerStateTrendByWeek"
resultType="com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectionStatistics"> resultType="com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectionStatistics">
SELECT SELECT
hd.id, hd.id,
date_sub(hd.create_time,interval dayofweek(hd.create_time)-2 day) create_time, date_sub(hd.create_time,INTERVAL WEEKDAY(hd.create_time) + 0 DAY) create_time,
sum(hd.increase_num) increase_num, sum( hd.increase_num ) increase_num,
sum(hd.solve_num) solve_num, sum( hd.solve_num ) solve_num,
sum(hd.un_resolve_num) un_resolve_num, sum( hd.un_resolve_num ) un_resolve_num,
hd.project_sn hd.project_sn
FROM `hidden_danger_inspection_statistics` hd FROM
GROUP BY YEARWEEK(hd.create_time) `hidden_danger_inspection_statistics` hd
GROUP BY
YEARWEEK(hd.create_time,1)
HAVING hd.project_sn = #{projectSn} HAVING hd.project_sn = #{projectSn}
ORDER BY hd.create_time DESC LIMIT #{offsetWeek} ORDER BY hd.create_time DESC LIMIT #{offsetWeek}
</select> </select>

View File

@ -2,6 +2,7 @@ package com.zhgd.xmgl.modules.dangerous.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectRecord; import com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectRecord;
import com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectionStatistics; import com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectionStatistics;
@ -72,4 +73,7 @@ public interface IHiddenDangerInspectRecordService extends IService<HiddenDanger
List<HiddenDangerInspectionStatistics> selectHiddenDangerStateTrend(Map<String, Object> map); List<HiddenDangerInspectionStatistics> selectHiddenDangerStateTrend(Map<String, Object> map);
List<HiddenDangerInspectionStatistics> selectHiddenDangerStateTrendByWeek(Map<String, Object> map); List<HiddenDangerInspectionStatistics> selectHiddenDangerStateTrendByWeek(Map<String, Object> map);
Result<HiddenDangerInspectRecord> edit(HiddenDangerInspectRecord hiddenDangerInspectRecord);
} }

View File

@ -1,14 +1,17 @@
package com.zhgd.xmgl.modules.dangerous.service.impl; package com.zhgd.xmgl.modules.dangerous.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.call.SanjiangDataCall; import com.zhgd.xmgl.call.SanjiangDataCall;
import com.zhgd.xmgl.modules.basicdata.service.INoticeService; import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
@ -25,11 +28,12 @@ import com.zhgd.xmgl.modules.dangerous.mapper.HiddenDangerInspectRecordMapper;
import com.zhgd.xmgl.modules.dangerous.mapper.HiddenDangerInspectionStatisticsMapper; import com.zhgd.xmgl.modules.dangerous.mapper.HiddenDangerInspectionStatisticsMapper;
import com.zhgd.xmgl.modules.dangerous.mapper.HiddenDangerRectifyRecordMapper; import com.zhgd.xmgl.modules.dangerous.mapper.HiddenDangerRectifyRecordMapper;
import com.zhgd.xmgl.modules.dangerous.service.IHiddenDangerInspectRecordService; import com.zhgd.xmgl.modules.dangerous.service.IHiddenDangerInspectRecordService;
import com.zhgd.xmgl.modules.dangerous.service.IHiddenDangerInspectionStatisticsService;
import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
import com.zhgd.xmgl.modules.quality.service.impl.QualityInspectionRecordServiceImpl; import com.zhgd.xmgl.modules.quality.service.impl.QualityInspectionRecordServiceImpl;
import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper; import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper;
import com.zhgd.xmgl.util.JxlExcelUtils; import com.zhgd.xmgl.util.JxlExcelUtils;
import org.apache.commons.collections.CollectionUtils; import com.zhgd.xmgl.util.MessageUtil;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -49,6 +53,8 @@ import java.util.*;
@Service @Service
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl<HiddenDangerInspectRecordMapper, HiddenDangerInspectRecord> implements IHiddenDangerInspectRecordService { public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl<HiddenDangerInspectRecordMapper, HiddenDangerInspectRecord> implements IHiddenDangerInspectRecordService {
@Autowired
IHiddenDangerInspectionStatisticsService hiddenDangerInspectionStatisticsService;
@Autowired @Autowired
private HiddenDangerInspectRecordMapper hiddenDangerInspectRecordMapper; private HiddenDangerInspectRecordMapper hiddenDangerInspectRecordMapper;
@Autowired @Autowired
@ -70,6 +76,7 @@ public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl<HiddenDang
@Override @Override
public void deleteHiddenDangerInspectRecord(Long id) { public void deleteHiddenDangerInspectRecord(Long id) {
HiddenDangerInspectRecord hiddenDangerInspectRecord = hiddenDangerInspectRecordMapper.selectById(id);
hiddenDangerInspectRecordMapper.deleteById(id); hiddenDangerInspectRecordMapper.deleteById(id);
QueryWrapper<HiddenDangerRectifyRecord> qu = new QueryWrapper<>(); QueryWrapper<HiddenDangerRectifyRecord> qu = new QueryWrapper<>();
qu.lambda().eq(HiddenDangerRectifyRecord::getInspectId, id); qu.lambda().eq(HiddenDangerRectifyRecord::getInspectId, id);
@ -79,6 +86,7 @@ public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl<HiddenDang
dangerInspectionAcceptanceTableResultMapper.delete(queryWrapper); dangerInspectionAcceptanceTableResultMapper.delete(queryWrapper);
sanjiangDataCall.sendDeleteHiddenDangerInspectRecord(id); sanjiangDataCall.sendDeleteHiddenDangerInspectRecord(id);
saveHiddenDangerInspectionStatistics(hiddenDangerInspectRecord);
} }
@Override @Override
@ -143,6 +151,22 @@ public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl<HiddenDang
} }
sanjiangDataCall.sendAddHiddenDangerInspectionRecord(hiddenDangerInspectRecord); sanjiangDataCall.sendAddHiddenDangerInspectionRecord(hiddenDangerInspectRecord);
saveHiddenDangerInspectionStatistics(hiddenDangerInspectRecord);
}
private void saveHiddenDangerInspectionStatistics(HiddenDangerInspectRecord hdir) {
Date createTime = new Date();
DateTime startTime = DateUtil.beginOfDay(createTime);
DateTime endTime = DateUtil.endOfDay(createTime);
String projectSn = hdir.getProjectSn();
HiddenDangerInspectionStatistics statistics = hiddenDangerInspectRecordMapper.statisticsByStatue(startTime, endTime, projectSn);
statistics.setProjectSn(projectSn);
statistics.setCreateTime(createTime);
//删除原来
hiddenDangerInspectionStatisticsService.remove(new LambdaQueryWrapper<HiddenDangerInspectionStatistics>()
.eq(HiddenDangerInspectionStatistics::getProjectSn, projectSn)
.eq(HiddenDangerInspectionStatistics::getCreateTime, DateUtil.formatDate(createTime)));
hiddenDangerInspectionStatisticsService.save(statistics);
} }
@Override @Override
@ -448,53 +472,29 @@ public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl<HiddenDang
Integer offsetWeek = MapUtils.getInteger(map, "offsetWeek"); Integer offsetWeek = MapUtils.getInteger(map, "offsetWeek");
String projectSn = MapUtils.getString(map, "projectSn"); String projectSn = MapUtils.getString(map, "projectSn");
int defaultOffsetWeek = 5;
if (offsetWeek == null || offsetWeek <= 0) { if (offsetWeek == null || offsetWeek <= 0) {
offsetWeek = defaultOffsetWeek; map.put("offsetWeek", 5);
} }
map.put("offsetWeek", offsetWeek + 1);
List<HiddenDangerInspectionStatistics> statisticsList = hiddenDangerInspectionStatisticsMapper.selectHiddenDangerStateTrendByWeek(map); List<HiddenDangerInspectionStatistics> statisticsList = hiddenDangerInspectionStatisticsMapper.selectHiddenDangerStateTrendByWeek(map);
Date thisMonday = getThisMonday();
if (CollectionUtils.isNotEmpty(statisticsList)) {
HiddenDangerInspectionStatistics statistics = statisticsList.get(0);
if (statistics != null) {
//删除最新的没有完全统计的一周的数据一条数据
statisticsList.remove(0);
}
}
//数据不够时补充前面的为0
if (statisticsList.size() < defaultOffsetWeek) {
Date d = null;
int size = statisticsList.size();
if (CollectionUtils.isNotEmpty(statisticsList)) {
d = statisticsList.get(size - 1).getCreateTime();
} else {
d = thisMonday;
}
d = DateUtil.offsetDay(d, -7);
for (int i = 0; i < defaultOffsetWeek - size; i++) {
HiddenDangerInspectionStatistics e = new HiddenDangerInspectionStatistics();
e.setCreateTime(d);
e.setIncreaseNum(0);
e.setSolveNum(0);
e.setUnResolveNum(0);
e.setProjectSn(projectSn);
d = DateUtil.offsetDay(d, -7);
statisticsList.add(e);
}
}
Collections.sort(statisticsList, (o1, o2) -> o1.getCreateTime().compareTo(o2.getCreateTime())); Collections.sort(statisticsList, (o1, o2) -> o1.getCreateTime().compareTo(o2.getCreateTime()));
statisticsList.stream().forEach(o -> o.setCreateTime(DateUtil.offsetDay(o.getCreateTime(), 7)));
return statisticsList; return statisticsList;
} }
public Date getThisMonday() { @Override
Calendar cal = Calendar.getInstance(); public Result<HiddenDangerInspectRecord> edit(HiddenDangerInspectRecord hiddenDangerInspectRecord) {
// 设置周一为第一天 Result<HiddenDangerInspectRecord> result = new Result<HiddenDangerInspectRecord>();
cal.setFirstDayOfWeek(Calendar.MONDAY); HiddenDangerInspectRecord hiddenDangerInspectRecordEntity = getById(hiddenDangerInspectRecord.getId());
// 时间设置到周一此时时间为周一的日期 if (hiddenDangerInspectRecordEntity == null) {
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); result.error500(MessageUtil.get("notFindErr"));
return cal.getTime(); } else {
boolean ok = updateById(hiddenDangerInspectRecord);
saveHiddenDangerInspectionStatistics(hiddenDangerInspectRecord);
if (ok) {
result.successMsg(MessageUtil.get("editSucess"));
}
}
return result;
} }
/** /**

View File

@ -6,13 +6,11 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.text.CharSequenceUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zhgd.xmgl.config.RundeWSClient; import com.zhgd.xmgl.config.RundeWSClient;
import com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectRecord;
import com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectionStatistics; import com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerInspectionStatistics;
import com.zhgd.xmgl.modules.dangerous.entity.HiddenDangerRectifyRecord;
import com.zhgd.xmgl.modules.dangerous.mapper.HiddenDangerInspectRecordMapper; import com.zhgd.xmgl.modules.dangerous.mapper.HiddenDangerInspectRecordMapper;
import com.zhgd.xmgl.modules.dangerous.service.IHiddenDangerInspectRecordService;
import com.zhgd.xmgl.modules.dangerous.service.IHiddenDangerInspectionStatisticsService; import com.zhgd.xmgl.modules.dangerous.service.IHiddenDangerInspectionStatisticsService;
import com.zhgd.xmgl.modules.helmet.entity.RundeGroup; import com.zhgd.xmgl.modules.helmet.entity.RundeGroup;
import com.zhgd.xmgl.modules.helmet.service.RundeGroupService; import com.zhgd.xmgl.modules.helmet.service.RundeGroupService;
@ -115,15 +113,20 @@ public class RundeTask {
*/ */
@Scheduled(cron = "0 0 0 * * ?") @Scheduled(cron = "0 0 0 * * ?")
public void hiddenDangerStatistics() { public void hiddenDangerStatistics() {
DateTime startTime = DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), -1)); DateTime createTime = DateUtil.offsetDay(new Date(), -1);
DateTime endTime = DateUtil.endOfDay(DateUtil.offsetDay(new Date(), -1)); DateTime startTime = DateUtil.beginOfDay(createTime);
DateTime endTime = DateUtil.endOfDay(createTime);
List<String> projectSns = hiddenDangerInspectRecordMapper.getGroupByProjectSn(); List<String> projectSns = hiddenDangerInspectRecordMapper.getGroupByProjectSn();
List<HiddenDangerInspectionStatistics> list = new ArrayList<>(); List<HiddenDangerInspectionStatistics> list = new ArrayList<>();
for (String projectSn : projectSns) { for (String projectSn : projectSns) {
HiddenDangerInspectionStatistics statistics = hiddenDangerInspectRecordMapper.statisticsByStatue(startTime, endTime, projectSn); HiddenDangerInspectionStatistics statistics = hiddenDangerInspectRecordMapper.statisticsByStatue(startTime, endTime, projectSn);
statistics.setProjectSn(projectSn); statistics.setProjectSn(projectSn);
statistics.setCreateTime(DateUtil.offsetDay(new Date(), -1)); statistics.setCreateTime(createTime);
list.add(statistics); list.add(statistics);
//删除原来
hiddenDangerInspectionStatisticsService.remove(new LambdaQueryWrapper<HiddenDangerInspectionStatistics>()
.eq(HiddenDangerInspectionStatistics::getProjectSn, projectSn)
.eq(HiddenDangerInspectionStatistics::getCreateTime, DateUtil.formatDate(createTime)));
} }
hiddenDangerInspectionStatisticsService.saveBatch(list); hiddenDangerInspectionStatisticsService.saveBatch(list);
} }