Commit 01e68c24 authored by duanruiming's avatar duanruiming

[add] 易华录异常优化;绿波诱导发布状态优化

parent 38a575a1
......@@ -13,17 +13,18 @@ import net.wanji.common.framework.rest.ValidationGroups;
import net.wanji.common.utils.tool.DateUtil;
import net.wanji.databus.dao.entity.GreenwaveInfoPO;
import net.wanji.databus.dao.mapper.GreenwaveInfoMapper;
import net.wanji.databus.po.CrossDataHistPO;
import net.wanji.opt.dao.mapper.induce.GreenwaveInducesHistMapper;
import net.wanji.opt.dto.induce.GreenwaveDirDTO;
import net.wanji.opt.dto.induce.GreenwaveInducesDTO;
import net.wanji.opt.dto.induce.InduceDTO;
import net.wanji.opt.entity.DeviceInduces;
import net.wanji.opt.entity.GreenwaveInduces;
import net.wanji.opt.entity.GreenwaveInducesHist;
import net.wanji.opt.entity.InduceHist;
import net.wanji.opt.service.DeviceInducesService;
import net.wanji.opt.service.induce.GreenwaveInducesHistService;
import net.wanji.opt.service.induce.GreenwaveInducesService;
import net.wanji.opt.service.induce.InduceHistService;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -32,12 +33,12 @@ import javax.validation.constraints.NotBlank;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import java.text.ParseException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
import static org.codehaus.groovy.runtime.DefaultGroovyMethods.collect;
/**
* <p>
* 绿波诱导下发状态信息
......@@ -64,6 +65,9 @@ public class GreenwaveInducesHistController {
@Resource
private DeviceInducesService deviceInducesService;
@Resource
private InduceHistService induceHistService;
/**
* 获取所有记录
*
......@@ -248,7 +252,10 @@ public class GreenwaveInducesHistController {
greenwaveInducesDTO.setEquipCount(equipCount.get());
greenwaveInfoList.add(greenwaveInducesDTO);
});
jsonView.success(greenwaveInfoList);
List<GreenwaveInducesDTO> list = setGreenStatus(greenwaveInfoList);
jsonView.success(list);
} catch (Exception e) {
jsonView.fail(I18nResourceBundle.getConstants("GET_FAILED_MSG"));
log.error("{} getByWhere error,jsonStr:{}", this.getClass().getSimpleName(), jsonStr, e);
......@@ -256,6 +263,50 @@ public class GreenwaveInducesHistController {
return jsonView;
}
/**
* 通过诱导屏上屏记录,修改绿波诱导发布状态
* @param greenwaveInfoList
* @return
*/
private List<GreenwaveInducesDTO> setGreenStatus(List<GreenwaveInducesDTO> greenwaveInfoList) {
LambdaQueryWrapper<InduceHist> queryWrapper = new LambdaQueryWrapper<>();
LocalDateTime date = LocalDate.now().atStartOfDay();
queryWrapper.ge(InduceHist::getCreateTime, date);
List<InduceHist> list = induceHistService.list(queryWrapper);
List<GreenwaveInducesDTO> results = new ArrayList<>();
if (!CollectionUtils.isEmpty(list)) {
Map<String, Integer> map = list.stream().collect(Collectors.toMap(InduceHist::getEquipCode, InduceHist::getGreenId,
(existing, replacement) -> existing));
for (GreenwaveInducesDTO greenwaveInducesDTO : greenwaveInfoList) {
Integer greenId = greenwaveInducesDTO.getGreenId();
if (!map.containsValue(greenId)) {
greenwaveInducesDTO.setStatus(0);
results.add(greenwaveInducesDTO);
} else {
List<GreenwaveDirDTO> greenwaveDirList = greenwaveInducesDTO.getGreenwaveDirList();
for (GreenwaveDirDTO greenwaveDirDTO : greenwaveDirList) {
List<InduceDTO> induceList = greenwaveDirDTO.getInduceList();
for (InduceDTO induceDTO : induceList) {
String equipCode = induceDTO.getEquipCode();
if (map.containsKey(equipCode)) {
greenwaveInducesDTO.setStatus(1);
results.add(greenwaveInducesDTO);
}
}
}
}
}
} else {
for (GreenwaveInducesDTO greenwaveInducesDTO : greenwaveInfoList) {
greenwaveInducesDTO.setStatus(0);
results.add(greenwaveInducesDTO);
}
}
List<GreenwaveInducesDTO> collect = results.stream().distinct().collect(Collectors.toList());
return collect;
}
/**
* 根据id查询记录
*
......
......@@ -81,7 +81,7 @@ public class SignalStatusController {
try {
signalStatusService.receiveLightStatus(hisenseLightStatusPojos);
} catch (Exception e) {
log.error("接收灯态异常:{}", e);
log.error("海信接收灯态异常:{}", e);
}
return jsonViewObject.success("海信灯态接收成功");
}
......@@ -94,8 +94,8 @@ public class SignalStatusController {
try {
signalStatusService.receiveLightStatusEhualu(ehualuLightStatusPojos);
} catch (Exception e) {
log.error("接收灯态异常:{}", e);
log.error("易华录接收灯态异常:{}", e);
}
return jsonViewObject.success("海信灯态接收成功");
return jsonViewObject.success("易华录灯态接收成功");
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment