二次版本提交
This commit is contained in:
@@ -252,4 +252,14 @@ public class LargeScreenCountController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(operateType= OperateType.UPDATE)
|
||||
@PostMapping("/userEventList")
|
||||
@ApiOperation("查询暂降事件")
|
||||
@ApiImplicitParam(name = "eventIds", value = "暂降事件id", required = true)
|
||||
public HttpResult<Page<EventDetailVO>> userEventList(@RequestBody LargeScreenCountParam largeScreenCountParam) {
|
||||
String methodDescribe = getMethodDescribe("userEventList");
|
||||
Page<EventDetailVO> result = largeScreenCountService.userEventList(largeScreenCountParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
@@ -41,4 +42,6 @@ public class LargeScreenCountParam extends BaseParam {
|
||||
private String bigObjType;
|
||||
@ApiModelProperty(value = "字典树 对象大小")
|
||||
private String smallObjType;
|
||||
|
||||
private List<String> eventIds;
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@ public class UserLedgerStatisticVO {
|
||||
private String code;
|
||||
|
||||
private Integer count;
|
||||
private List<String> eventList;
|
||||
|
||||
private List<Inner> children;
|
||||
}
|
||||
|
||||
@@ -60,4 +60,6 @@ public interface LargeScreenCountService {
|
||||
Page<EventDetailVO> eventPage(LargeScreenCountParam largeScreenCountParam);
|
||||
|
||||
Page<DeviceDTO> devicePage(LargeScreenCountParam largeScreenCountParam);
|
||||
|
||||
Page<EventDetailVO> userEventList(LargeScreenCountParam largeScreenCountParam);
|
||||
}
|
||||
|
||||
@@ -263,8 +263,9 @@ public class EventRightServiceImpl implements EventRightService {
|
||||
inner.setCustomId(item.getId());
|
||||
inner.setName(item.getCustomerName());
|
||||
List<Integer> LIds = assMap.get(item.getId());
|
||||
long count = eventList.stream().filter(it->LIds.contains(it.getLineid())).count();
|
||||
inner.setCount((int)count);
|
||||
List<String> eventIds = eventList.stream().filter(it -> LIds.contains(it.getLineid())).map(PqsEventdetail::getEventdetailIndex).collect(Collectors.toList());
|
||||
inner.setEventList(eventIds);
|
||||
inner.setCount(eventIds.size());
|
||||
result.add(inner);
|
||||
});
|
||||
return result;
|
||||
|
||||
@@ -1104,9 +1104,67 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return pqsEventdetailPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<EventDetailVO> userEventList(LargeScreenCountParam largeScreenCountParam) {
|
||||
Page<PqsEventdetail> pqsEventdetailPage = new Page<>(largeScreenCountParam.getPageNum(), largeScreenCountParam.getPageSize());
|
||||
|
||||
List<String> eventIds = largeScreenCountParam.getEventIds();
|
||||
if (CollectionUtils.isEmpty(eventIds)){
|
||||
return new Page<>();
|
||||
}
|
||||
|
||||
|
||||
QueryWrapper<PqsEventdetail> queryWrapper = new QueryWrapper<>();
|
||||
if (eventIds.size()>1000) {
|
||||
List<List<String>> idPartitions = CollUtil.split(eventIds,1000);
|
||||
|
||||
queryWrapper.lambda()
|
||||
.and(ew->{
|
||||
for(List<String> pList: idPartitions){
|
||||
ew.or(w->w.in(PqsEventdetail::getEventdetailIndex, pList));
|
||||
}
|
||||
}).orderByDesc(PqsEventdetail::getTimeid);
|
||||
|
||||
|
||||
} else {
|
||||
queryWrapper.lambda()
|
||||
.in(PqsEventdetail::getEventdetailIndex, eventIds)
|
||||
.orderByDesc(PqsEventdetail::getTimeid);
|
||||
}
|
||||
IPage<PqsEventdetail> list = pqsEventdetailService.getBaseMapper().selectPage(pqsEventdetailPage,queryWrapper);
|
||||
List<Integer> indexIds = list.getRecords().stream().map(PqsEventdetail::getLineid).collect(Collectors.toList());
|
||||
List<LedgerBaseInfoDTO> pqLineList = pqLineService.getBaseLineInfo(indexIds);
|
||||
Map<Integer,LedgerBaseInfoDTO> ledgerBaseInfoDTOMap = pqLineList.stream().collect(Collectors.toMap(LedgerBaseInfoDTO::getLineId, Function.identity()));
|
||||
|
||||
List<EventDetailVO> collect = list.getRecords().stream().map(temp -> {
|
||||
EventDetailVO eventDetailVO = new EventDetailVO();
|
||||
eventDetailVO.setEventdetail_index(temp.getEventdetailIndex());
|
||||
eventDetailVO.setTimeid(temp.getTimeid());
|
||||
eventDetailVO.setMs(temp.getMs());
|
||||
eventDetailVO.setWavetype(temp.getWavetype().toString());
|
||||
eventDetailVO.setPersisttime(BigDecimal.valueOf(temp.getPersisttime() / 1000).setScale(3, RoundingMode.HALF_UP).toString());
|
||||
eventDetailVO.setEventvalue(temp.getEventvalue());
|
||||
eventDetailVO.setLookFlag(temp.getLookFlag());
|
||||
eventDetailVO.setNoticeFlag(temp.getNoticeFlag());
|
||||
if(ledgerBaseInfoDTOMap.containsKey(temp.getLineid())){
|
||||
LedgerBaseInfoDTO ledgerBaseInfoDTO = ledgerBaseInfoDTOMap.get(temp.getLineid());
|
||||
eventDetailVO.setLineid(ledgerBaseInfoDTO.getLineId());
|
||||
eventDetailVO.setPointname(ledgerBaseInfoDTO.getLineName());
|
||||
eventDetailVO.setBdname(ledgerBaseInfoDTO.getStationName());
|
||||
eventDetailVO.setObjName(ledgerBaseInfoDTO.getObjName());
|
||||
}
|
||||
return eventDetailVO;
|
||||
}).collect(Collectors.toList());
|
||||
Page<EventDetailVO> returnpage = new Page<>(largeScreenCountParam.getPageNum(), largeScreenCountParam.getPageSize());
|
||||
returnpage.setRecords(collect);
|
||||
returnpage.setTotal(list.getTotal());
|
||||
return returnpage;
|
||||
}
|
||||
|
||||
private List<EventDetailVO> change(List<PqsEventdetail> list,List<MsgEventInfo> handleMsg){
|
||||
List<EventDetailVO> result = new ArrayList<>();
|
||||
if(CollectionUtils.isEmpty(list)){
|
||||
|
||||
Reference in New Issue
Block a user