1:修改视频点的所属区域信息

2:将过五分数据改为整点数据展示
3:隐患点文件上传groupId改为和日常养护记录一样
master
yangzhe123 2025-11-04 10:05:15 +08:00
parent b0112145c4
commit de5eb202ae
6 changed files with 38 additions and 32 deletions

View File

@ -106,7 +106,8 @@ public class AttCctvBaseController {
@Operation(summary = "列表")
@PostMapping("/list")
public R<List<AttCctvBase>> list() {
return R.ok(service.lambdaQuery().list());
List<AttCctvBase> res = service.queryList();
return R.ok(res);
}
@Operation(summary = "分页")

View File

@ -50,7 +50,7 @@ public class MentenceFarmerRecordController extends AbstractCommonFileControlle
if(result){
fileService.saveFile(dto.getFiles(),getGroupId(),dto.getId().toString());
for (HiddenInfo detail : dto.getDetails()) {
hiddenInfoService.saveFile(detail.getFiles(),detail.getId().toString());
fileService.saveFile(detail.getFiles(), getGroupId(),detail.getId().toString());
}
}
return R.ok(result ? dto : null);
@ -64,7 +64,7 @@ public class MentenceFarmerRecordController extends AbstractCommonFileControlle
if (flag) {
fileService.saveFile(dto.getFiles(), getGroupId(), dto.getId().toString());
for (HiddenInfo detail : dto.getDetails()) {
hiddenInfoService.saveFile(detail.getFiles(),detail.getId().toString());
fileService.saveFile(detail.getFiles(), getGroupId(),detail.getId().toString());
}
}
return R.ok(flag ? dto : null);
@ -77,7 +77,7 @@ public class MentenceFarmerRecordController extends AbstractCommonFileControlle
if(res != null){
fileService.deleteFile(getGroupId(),id.toString());
for (Long cid : res) {
hiddenInfoService.deleteFile(String.valueOf(cid));
fileService.deleteFile(getGroupId(),cid.toString());
}
}
return R.ok(true);
@ -96,7 +96,7 @@ public class MentenceFarmerRecordController extends AbstractCommonFileControlle
List<HiddenInfo> details = o.getDetails();
details.forEach(detail -> {
detail.setFiles(hiddenInfoService.getFiles(detail.getId().toString()));
detail.setFiles(fileService.getFiles(getGroupId(),detail.getId().toString()));
});
});
}

View File

@ -3,6 +3,9 @@ package com.gunshi.project.hsz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gunshi.project.hsz.model.AttCctvBase;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* :
@ -12,4 +15,14 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface AttCctvBaseMapper extends BaseMapper<AttCctvBase> {
@Select("""
select t1.*,t2.name as menuName
from att_cctv_base t1
left join cctv_b_menu t2 on t1.menu_id = t2.id
order by t2.order_index asc
""")
List<AttCctvBase> queryList();
}

View File

@ -73,7 +73,8 @@ public interface AttResBaseMapper extends BaseMapper<AttResBase> {
@Select("""
<script>
select t.stcd,t.tm,t.rz from public.st_rsvr_r t
select t.stcd,(t.tm - INTERVAL '5 minutes') as tm,
t.rz from public.st_rsvr_r t
where t.stcd = #{obj.stcd}
<if test="obj.stm != null ">
and t.tm <![CDATA[>=]]> to_timestamp(#{obj.stm},'YYYY-MM-DD HH24:MI:SS')
@ -81,7 +82,7 @@ public interface AttResBaseMapper extends BaseMapper<AttResBase> {
<if test="obj.etm != null ">
and t.tm <![CDATA[<=]]> to_timestamp(#{obj.etm},'YYYY-MM-DD HH24:MI:SS')
</if>
and TRIM(TO_CHAR(t.tm, 'MI:SS')) = '00:00'
and TRIM(TO_CHAR(t.tm, 'MI:SS')) = '05:00'
order by t.tm desc
</script>
""")

View File

@ -7,6 +7,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* :
* author: xusan
@ -18,6 +20,9 @@ import org.springframework.transaction.annotation.Transactional;
public class AttCctvBaseService extends ServiceImpl<AttCctvBaseMapper, AttCctvBase>
{
public List<AttCctvBase> queryList() {
return this.baseMapper.queryList();
}
}

View File

@ -36,6 +36,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Comparator;
@ -169,28 +171,6 @@ public class ForecastResultsService extends ServiceImpl<ForecastResultsMapper, F
List<StPptnR> pptnRFutureList = new ArrayList<>();
QueryWrapper<StPptnR> qwExisted = new QueryWrapper<>();
Boolean isHaveFuturePPtn = true;
// 檀树岗修改实测降雨查询表数据预测降雨使用geom参数。最后按时间算数平均
// for(StStbprpB b : stbs){
// String stcd = b.getStcd();
// // 如果结束时间在当前时间之前,降雨序列从历史降雨表获取
// if (endTime.compareTo(nowHourTime) <= 0) {
// qwExisted = new QueryWrapper<StPptnR>().eq("stcd", stcd).ge("tm", startTime).le("tm", endTime).orderBy(true, true, "tm");
// } else {
// qwExisted = new QueryWrapper<StPptnR>().eq("stcd", stcd).ge("tm", startTime).le("tm", nowHourTime).orderBy(true, true, "tm");
// try {
// // 获取预报数据
// pptnRFutureList = getForecastDrpData(nowHourTime, stcd);
// } catch (IllegalArgumentException e) {
// if(stcd.equals(attResBase.getStcd())){
// isHaveFuturePPtn = false;
// }
// log.error("该时间无预报数据");
// }
// }
// List<StPptnR> pptnRExistedList = stPptnRService.list(qwExisted);
// pptnRAllList.addAll(pptnRExistedList);
// pptnRAllList.addAll(pptnRFutureList);
// }
if (endTime.compareTo(nowHourTime) <= 0) {
qwExisted = new QueryWrapper<StPptnR>().in("stcd", stbs.stream().map(StStbprpB::getStcd).toArray(String[]::new)).ge("tm", startTime).le("tm", endTime).orderBy(true, true, "tm");
} else {
@ -272,6 +252,12 @@ public class ForecastResultsService extends ServiceImpl<ForecastResultsMapper, F
List<StZvarlB> zvarlBS = stZvarlBService.list(new QueryWrapper<StZvarlB>().eq("stcd", attResBase.getStcd()).orderBy(true, true, "rz"));
// 水位历史数据
List<StRsvrR> rsvrRRealList = stRsvrRService.list(new QueryWrapper<StRsvrR>().eq("stcd", attResBase.getStcd()).ge("tm", startTime).le("tm", endTime));
//TODO 将过五分数据转为整点数据
rsvrRRealList.stream().forEach(o->{
// 转换为 Instant 操作后再转回 Date
Instant instant = o.getTm().toInstant().minus(5, ChronoUnit.MINUTES);
o.setTm(Date.from(instant));
});
List<StRsvrR> resultList = reorganizeRsvrRData(rsvrRRealList, dt);
List<Date[]> periods = splitByDay8To8(startTime, endTime);
// v累计降雨
@ -515,7 +501,7 @@ public class ForecastResultsService extends ServiceImpl<ForecastResultsMapper, F
//TODO 只保留整小时的数据(这里得看监测时间来分析檀树岗是整点记录目前我观测到的黑石咀的是每小时过5分钟记录一次 比如08:05:00 ~ 09:05:00
rsvrRRealList = rsvrRRealList.stream().filter(entity -> {
Date date = entity.getTm();
return date.getMinutes() ==5 && date.getSeconds() == 0;
return date.getMinutes() ==0 && date.getSeconds() == 0;
}).collect(Collectors.toMap(
e -> e.getStcd() + "_" + e.getTm(), // 使用属性组合作为键
Function.identity(),
@ -674,7 +660,7 @@ public class ForecastResultsService extends ServiceImpl<ForecastResultsMapper, F
// startDate晚于或等于当天8点但我们需要到第二天的8点作为结束
cal.add(Calendar.DAY_OF_MONTH, 1); // 跳到下一天
cal.set(Calendar.HOUR_OF_DAY, 8);
cal.set(Calendar.MINUTE, 5);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
Date endOfDay = cal.getTime();
@ -712,7 +698,7 @@ public class ForecastResultsService extends ServiceImpl<ForecastResultsMapper, F
// 先设置当前时间
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, 8);
calendar.set(Calendar.MINUTE, 5);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
return date.before(calendar.getTime());