This commit is contained in:
2025-07-01 19:04:32 +08:00
parent 2ac33e8cec
commit 8328d6c06e
5 changed files with 55 additions and 41 deletions

View File

@@ -36,8 +36,8 @@ public class JwtRequestFilter extends OncePerRequestFilter {
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
throws ServletException, IOException { throws ServletException, IOException {
System.out.println("请求路径"+request.getRequestURI());
/* final String authorizationHeader = request.getHeader("Authorization"); final String authorizationHeader = request.getHeader("Authorization");
String username = null; String username = null;
String jwt = null; String jwt = null;
if (authorizationHeader != null && authorizationHeader.startsWith("Bearer ")) { if (authorizationHeader != null && authorizationHeader.startsWith("Bearer ")) {
@@ -65,7 +65,7 @@ public class JwtRequestFilter extends OncePerRequestFilter {
usernamePasswordAuthenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request)); usernamePasswordAuthenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
SecurityContextHolder.getContext().setAuthentication(usernamePasswordAuthenticationToken); SecurityContextHolder.getContext().setAuthentication(usernamePasswordAuthenticationToken);
} }
}*/ }
chain.doFilter(request, response); chain.doFilter(request, response);
} }

View File

@@ -40,7 +40,7 @@ public class PqsEventdetail {
private String describe; private String describe;
@TableField(value = "WAVETYPE") @TableField(value = "WAVETYPE")
private Short wavetype; private Integer wavetype;
@TableField(value = "PERSISTTIME") @TableField(value = "PERSISTTIME")
private Double persisttime; private Double persisttime;

View File

@@ -34,8 +34,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
protected void configure(HttpSecurity http) throws Exception { protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable() http.csrf().disable()
.authorizeRequests() .authorizeRequests()
// .antMatchers("/cn_authenticate","/ws/**").permitAll() // 允许访问认证接口 .antMatchers("/cn_authenticate","/ws/**").permitAll() // 允许访问认证接口
.antMatchers("/**").permitAll() // 允许访问认证接口 //.antMatchers("/**").permitAll() // 允许访问认证接口
.anyRequest().authenticated() .anyRequest().authenticated()
.and() .and()
.sessionManagement() .sessionManagement()

View File

@@ -84,16 +84,9 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
private final PqsUserService pqsUserService; private final PqsUserService pqsUserService;
private final PqLinedetailMapper pqLinedetailMapper; private final PqLinedetailMapper pqLinedetailMapper;
private List<String> WAVETYPE_LIST = new ArrayList<>();
@Value("${SYS_TYPE_ZT}") @Value("${SYS_TYPE_ZT}")
private String sysTypeZt; private String sysTypeZt;
@PostConstruct
public void init() {
MsgEventConfig one = msgEventConfigService.queryConfig();
this.WAVETYPE_LIST = one.getEventTypeList();
}
@Override @Override
public LedgerCountVO scaleStatistics(LargeScreenCountParam largeScreenCountParam) { public LedgerCountVO scaleStatistics(LargeScreenCountParam largeScreenCountParam) {
@@ -194,7 +187,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
for(List<Integer> itemIds : listIds){ for(List<Integer> itemIds : listIds){
List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery() List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery()
.between(PqsEventdetail::getTimeid,startTime, endTime) .between(PqsEventdetail::getTimeid,startTime, endTime)
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST) .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType())
.in(PqsEventdetail::getLineid,listIds) .in(PqsEventdetail::getLineid,listIds)
.orderByDesc(PqsEventdetail::getTimeid).list() .orderByDesc(PqsEventdetail::getTimeid).list()
; ;
@@ -203,7 +196,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
}else { }else {
List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery() List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery()
.between(PqsEventdetail::getTimeid, startTime, endTime) .between(PqsEventdetail::getTimeid, startTime, endTime)
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST) .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType())
.in(PqsEventdetail::getLineid,deptslineIds) .in(PqsEventdetail::getLineid,deptslineIds)
.orderByDesc(PqsEventdetail::getTimeid).list(); .orderByDesc(PqsEventdetail::getTimeid).list();
eventdetails.addAll(temp); eventdetails.addAll(temp);
@@ -302,7 +295,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
for(List<Integer> itemIds : listIds){ for(List<Integer> itemIds : listIds){
List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery() List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery()
.between(PqsEventdetail::getTimeid, startTime, endTime) .between(PqsEventdetail::getTimeid, startTime, endTime)
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST) .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType())
.in(PqsEventdetail::getLineid,listIds) .in(PqsEventdetail::getLineid,listIds)
.orderByDesc(PqsEventdetail::getTimeid).list(); .orderByDesc(PqsEventdetail::getTimeid).list();
eventdetails.addAll(temp); eventdetails.addAll(temp);
@@ -310,7 +303,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
}else { }else {
List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery() List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery()
.between(PqsEventdetail::getTimeid, startTime, endTime) .between(PqsEventdetail::getTimeid, startTime, endTime)
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST) .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType())
.in(PqsEventdetail::getLineid,deptslineIds) .in(PqsEventdetail::getLineid,deptslineIds)
.orderByDesc(PqsEventdetail::getTimeid).list(); .orderByDesc(PqsEventdetail::getTimeid).list();
eventdetails.addAll(temp); eventdetails.addAll(temp);
@@ -397,12 +390,11 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
QueryWrapper<PqsEventdetail> queryWrapper = new QueryWrapper<>(); QueryWrapper<PqsEventdetail> queryWrapper = new QueryWrapper<>();
if (deptslineIds.size()>1000) { if (deptslineIds.size()>1000) {
;
List<List<Integer>> idPartitions = CollUtil.split(deptslineIds,1000); List<List<Integer>> idPartitions = CollUtil.split(deptslineIds,1000);
queryWrapper.lambda() queryWrapper.lambda()
.between(PqsEventdetail::getTimeid, startTime, endTime) .between(PqsEventdetail::getTimeid, startTime, endTime)
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST) .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType())
.and(ew->{ .and(ew->{
for(List<Integer> pList: idPartitions){ for(List<Integer> pList: idPartitions){
ew.or(w->w.in(PqsEventdetail::getLineid, pList)); ew.or(w->w.in(PqsEventdetail::getLineid, pList));
@@ -414,7 +406,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
queryWrapper.lambda() queryWrapper.lambda()
.between(PqsEventdetail::getTimeid, startTime, endTime) .between(PqsEventdetail::getTimeid, startTime, endTime)
.in(PqsEventdetail::getLineid, deptslineIds) .in(PqsEventdetail::getLineid, deptslineIds)
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST) .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType())
.orderByDesc(PqsEventdetail::getTimeid); .orderByDesc(PqsEventdetail::getTimeid);
} }
//查询需要发送短息处理的部门反推监测点 //查询需要发送短息处理的部门反推监测点
@@ -485,31 +477,52 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
throw new BusinessException("统计类型有误类型"); throw new BusinessException("统计类型有误类型");
} }
//根据用户获取当前部门及子部门id //根据用户获取当前部门及子部门id
List<String> deptAndChildren = pqsDeptsService.findDeptAndChildren(largeScreenCountParam.getDeptId()); List<Integer> deptslineIds = commGeneralService.getLineIdsByDept(largeScreenCountParam);
//获取对应监测点id
List<PqsDeptsline> deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list();
List<Integer> deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).distinct().collect(Collectors.toList());
if (CollUtil.isEmpty(deptslineIds)) { if (CollUtil.isEmpty(deptslineIds)) {
return result; return result;
} }
List<PqsEventdetail> allList = new ArrayList<>();
LambdaQueryWrapper<PqsEventdetail> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PqsEventdetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.between(PqsEventdetail::getTimeid, startTime, endTime) if(deptslineIds.size()>1000){
.in(PqsEventdetail::getLineid, deptslineIds) List<List<Integer>> idList = CollUtil.split(deptslineIds,1000);
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST) for(List<Integer> ids:idList){
.and(wrapper -> wrapper.eq(PqsEventdetail::getLookFlag, 0).or().isNull(PqsEventdetail::getLookFlag)); lambdaQueryWrapper.clear();
if (Objects.nonNull(largeScreenCountParam.getEventDeep())) { lambdaQueryWrapper.between(PqsEventdetail::getTimeid, startTime, endTime)
if (largeScreenCountParam.getEventDeep() == 0) { .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType())
lambdaQueryWrapper.ge(PqsEventdetail::getEventvalue, 0.5).lt(PqsEventdetail::getEventtype, 0.9); .in(PqsEventdetail::getLineid, ids)
} else if (largeScreenCountParam.getEventDeep() == 1) { .and(wrapper -> wrapper.eq(PqsEventdetail::getLookFlag, 0).or().isNull(PqsEventdetail::getLookFlag));
lambdaQueryWrapper.lt(PqsEventdetail::getEventvalue, 0.5); if (Objects.nonNull(largeScreenCountParam.getEventDeep())) {
if (largeScreenCountParam.getEventDeep() == 0) {
lambdaQueryWrapper.ge(PqsEventdetail::getEventvalue, 0.5).lt(PqsEventdetail::getEventtype, 0.9);
} else if (largeScreenCountParam.getEventDeep() == 1) {
lambdaQueryWrapper.lt(PqsEventdetail::getEventvalue, 0.5);
}
}
List<PqsEventdetail> eventList = pqsEventdetailService.list(lambdaQueryWrapper);
allList.addAll(eventList);
} }
}else {
lambdaQueryWrapper.between(PqsEventdetail::getTimeid, startTime, endTime)
.in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType())
.in(PqsEventdetail::getLineid, deptslineIds)
.and(wrapper -> wrapper.eq(PqsEventdetail::getLookFlag, 0).or().isNull(PqsEventdetail::getLookFlag));
if (Objects.nonNull(largeScreenCountParam.getEventDeep())) {
if (largeScreenCountParam.getEventDeep() == 0) {
lambdaQueryWrapper.ge(PqsEventdetail::getEventvalue, 0.5).lt(PqsEventdetail::getEventtype, 0.9);
} else if (largeScreenCountParam.getEventDeep() == 1) {
lambdaQueryWrapper.lt(PqsEventdetail::getEventvalue, 0.5);
}
}
List<PqsEventdetail> eventList = pqsEventdetailService.list(lambdaQueryWrapper);
allList.addAll(eventList);
} }
List<PqsEventdetail> eventList = pqsEventdetailService.list(lambdaQueryWrapper);
if (CollUtil.isNotEmpty(eventList)) {
List<Integer> ids = eventList.stream().map(PqsEventdetail::getLineid).distinct().collect(Collectors.toList()); if (CollUtil.isNotEmpty(allList)) {
List<Integer> ids = allList.stream().map(PqsEventdetail::getLineid).distinct().collect(Collectors.toList());
List<LedgerBaseInfoDTO> pqLineList = pqLineMapper.getBaseLineInfo(ids); List<LedgerBaseInfoDTO> pqLineList = pqLineMapper.getBaseLineInfo(ids);
Map<Integer, LedgerBaseInfoDTO> ledgerBaseInfoDTOMap = pqLineList.stream().collect(Collectors.toMap(LedgerBaseInfoDTO::getLineId, Function.identity())); Map<Integer, LedgerBaseInfoDTO> ledgerBaseInfoDTOMap = pqLineList.stream().collect(Collectors.toMap(LedgerBaseInfoDTO::getLineId, Function.identity()));
eventList.forEach(it -> { for(PqsEventdetail it : allList){
EventDetailVO eventDetailVO = new EventDetailVO(); EventDetailVO eventDetailVO = new EventDetailVO();
eventDetailVO.setEventdetail_index(it.getEventdetailIndex()); eventDetailVO.setEventdetail_index(it.getEventdetailIndex());
eventDetailVO.setTimeid(it.getTimeid()); eventDetailVO.setTimeid(it.getTimeid());
@@ -524,8 +537,9 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
eventDetailVO.setBdname(ledgerBaseInfoDTO.getStationName()); eventDetailVO.setBdname(ledgerBaseInfoDTO.getStationName());
} }
result.add(eventDetailVO); result.add(eventDetailVO);
}); }
} }
result = result.stream().sorted(Comparator.comparing(EventDetailVO::getTimeid)).collect(Collectors.toList());
return result; return result;
} }
@@ -579,7 +593,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
List<Integer> deptslineIds = v.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); List<Integer> deptslineIds = v.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList());
List<PqsEventdetail> eventdetails = pqsEventdetailService.lambdaQuery() List<PqsEventdetail> eventdetails = pqsEventdetailService.lambdaQuery()
.between(PqsEventdetail::getTimeid, startTime, endTime) .between(PqsEventdetail::getTimeid, startTime, endTime)
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST) .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType())
.in(PqsEventdetail::getLineid, deptslineIds).list(); .in(PqsEventdetail::getLineid, deptslineIds).list();
mapCountVO.setEventCount(eventdetails.size()); mapCountVO.setEventCount(eventdetails.size());
List<EventDetailVO> change = change(eventdetails); List<EventDetailVO> change = change(eventdetails);

View File

@@ -36,7 +36,7 @@ public class MsgEventConfigServiceImpl extends ServiceImpl<MsgEventConfigMapper
public boolean eventConfig(MsgEventConfig msgEventConfig) { public boolean eventConfig(MsgEventConfig msgEventConfig) {
this.remove(new LambdaQueryWrapper<>()); this.remove(new LambdaQueryWrapper<>());
msgEventConfig.setId(IdUtil.simpleUUID()); msgEventConfig.setId(IdUtil.simpleUUID());
String tem = String.join(", ", msgEventConfig.getEventTypeList()); String tem = String.join(StrUtil.COMMA, msgEventConfig.getEventTypeList());
msgEventConfig.setEventType(tem); msgEventConfig.setEventType(tem);
this.save(msgEventConfig); this.save(msgEventConfig);
eventType = msgEventConfig.getEventTypeList(); eventType = msgEventConfig.getEventTypeList();
@@ -63,7 +63,7 @@ public class MsgEventConfigServiceImpl extends ServiceImpl<MsgEventConfigMapper
System.out.println(eventType); System.out.println(eventType);
} }
// 静态方法:全局访问点
@Override @Override
public List<String> getEventType() { public List<String> getEventType() {
return eventType; return eventType;