Browse Source

Merge branch 'develop' of http://39.106.31.193:9211/mengff/jihe-dc into develop

develop
xiepufeng 11 months ago
parent
commit
3efb8067c9
  1. 97
      zc-business/src/main/java/com/zc/business/controller/StatusController.java
  2. 1
      zc-business/src/main/java/com/zc/business/mapper/DcDeviceMapper.java
  3. 2
      zc-business/src/main/java/com/zc/business/service/IDcDeviceService.java
  4. 5
      zc-business/src/main/java/com/zc/business/service/impl/DcDeviceServiceImpl.java
  5. 3
      zc-business/src/main/resources/mapper/business/StatusMapper.xml

97
zc-business/src/main/java/com/zc/business/controller/StatusController.java

@ -129,9 +129,93 @@ public class StatusController extends BaseController {
@GetMapping ("/type")
public AjaxResult getTypeList()
{
DcDevice dcDevice = new DcDevice();
dcDevice.setUseState(1);
List<DcDevice> dcDeviceList = dcDeviceService.numberOfDevicesByType(dcDevice);
//DcDevice dcDevice = new DcDevice();
//dcDevice.setUseState(1);
//List<DcDevice> dcDeviceList = dcDeviceService.numberOfDevicesByType(dcDevice);
//HashMap<String, String> itemTypeMap = new HashMap<>();
//itemTypeMap.put("1-1", "高清网络枪型固定摄像机");
//itemTypeMap.put("1-2", "高清网络球形摄像机");
//itemTypeMap.put("1-3", "桥下高清网络球形摄像机");
//itemTypeMap.put("1-4", "360°全景摄像机");
//itemTypeMap.put("1-5", "180°全景摄像机");
//itemTypeMap.put("2-1", "门架式可变信息标志");
//itemTypeMap.put("2-3", "雨棚可变信息标志");
//itemTypeMap.put("2-4", "站前悬臂式可变信息标志");
//itemTypeMap.put("3", "气象检测器");
//itemTypeMap.put("5", "路段语音广播系统");
//itemTypeMap.put("6", "护栏碰撞预警系统");
//itemTypeMap.put("7", "毫米波雷达");
//itemTypeMap.put("8", "合流区预警系统");
//itemTypeMap.put("10", "激光疲劳唤醒");
//itemTypeMap.put("11", "一类交通量调查站");
//itemTypeMap.put("12", "智能行车诱导系统");
//itemTypeMap.put("13", "智能设备箱");
//LocalDateTime todayStart = LocalDateTime.now().truncatedTo(ChronoUnit.DAYS);
//LocalDateTime currentTime = LocalDateTime.now();
//Status status = new Status();
//status.setStartTime(todayStart);
//status.setTime(currentTime);
//List<Status> listStatus = statusService.list(status);
////根据时间分组
//Map<Integer, List<Status>> map = listStatus.stream()
// .collect(Collectors.groupingBy(Status -> Status.getTime().getHour()));
//if(StringUtils.isEmpty(map)){
// return AjaxResult.success("暂无数据");
//}
//Map<Integer, List<Status>> ipMap = new TreeMap<>(map);
//Integer lastKey = Collections.max(ipMap.keySet());
//List<Status> lastEntry = ipMap.get(lastKey);
//Map<String, List<Status>> typeMap = lastEntry.stream().filter(iteam -> iteam.getType() != null).collect(Collectors.groupingBy(Status::getType));
//Map<String,Map<String,String>> subMap=new HashMap<>();
//Long sumUseState = 0L;
//for (Map.Entry<String, List<Status>> entrys : typeMap.entrySet()) {
// Map<String, String> maps=new HashMap<>();
// List<Status> groupItems = entrys.getValue();
// double lostRate = groupItems.stream()
// .mapToDouble(Status -> Double.parseDouble(Status.getLostRate().replace("%", ""))) // 去掉%,并转换为double
// .average().getAsDouble();
// double sucessRate = groupItems.stream()
// .mapToDouble(Status -> Double.parseDouble(Status.getSuccessRate().replace("%", ""))) // 去掉%,并转换为double
// .average().getAsDouble();
// String failRate=String.format("%.2f", (100-sucessRate))+"%";
// //丢包率
// maps.put("lostRate",String.format("%.2f", lostRate)+"%");
// //在线率
// maps.put("sucessRate",String.format("%.2f", sucessRate)+"%");
// //离线率
// maps.put("failRate",failRate);
// //已使用数量
// List<String> collect = dcDeviceList.stream().filter(item -> Objects.equals(item.getDeviceType(), entrys.getKey())).map(DcDevice::getSumAll).collect(Collectors.toList());
// String useStateNum = collect.size() > 0 ? String.valueOf(collect.get(0)) : "0";
// sumUseState += Long.valueOf(useStateNum);
// maps.put("sumUseState",useStateNum);
// //总数
// maps.put("sum",String.valueOf(groupItems.size()));
// if(itemTypeMap.get(entrys.getKey())!=null) {
// subMap.put(itemTypeMap.get(entrys.getKey()), maps);
// }
//}
//Map<String, String> maps=new HashMap<>();
//double lostRate = lastEntry.stream()
// .mapToDouble(Status -> Double.parseDouble(Status.getLostRate().replace("%", ""))) // 去掉%,并转换为double
// .average().getAsDouble();
//double sucessRate = lastEntry.stream()
// .mapToDouble(Status -> Double.parseDouble(Status.getSuccessRate().replace("%", ""))) // 去掉%,并转换为double
// .average().getAsDouble();
//String failRate=String.format("%.2f", (100-sucessRate))+"%";
////丢包率
//maps.put("lostRate",String.format("%.2f", lostRate)+"%");
////在线率
//maps.put("sucessRate",String.format("%.2f", sucessRate)+"%");
////离线率
//maps.put("failRate",failRate);
////已使用数量
//maps.put("sumUseState", String.valueOf(sumUseState));
////总数
//maps.put("sum",String.valueOf(lastEntry.size()));
//subMap.put("全部设备",maps);
List<DcDevice> dcDeviceList = dcDeviceService.numberOfDevicesByType();
HashMap<String, String> itemTypeMap = new HashMap<>();
itemTypeMap.put("1-1", "高清网络枪型固定摄像机");
itemTypeMap.put("1-2", "高清网络球形摄像机");
@ -155,6 +239,7 @@ public class StatusController extends BaseController {
Status status = new Status();
status.setStartTime(todayStart);
status.setTime(currentTime);
status.setUseState(1);
List<Status> listStatus = statusService.list(status);
//根据时间分组
Map<Integer, List<Status>> map = listStatus.stream()
@ -185,9 +270,9 @@ public class StatusController extends BaseController {
//离线率
maps.put("failRate",failRate);
//已使用数量
maps.put("sum",String.valueOf(groupItems.size()));
maps.put("sumUseState",String.valueOf(groupItems.size()));
//总数
maps.put("sumUseState", String.valueOf(dcDeviceList.stream().filter(item -> Objects.equals(item.getDeviceType(), entrys.getKey())).map(DcDevice::getSumAll).collect(Collectors.toList()).get(0)));
maps.put("sum", String.valueOf(dcDeviceList.stream().filter(item -> Objects.equals(item.getDeviceType(), entrys.getKey())).map(DcDevice::getSumAll).collect(Collectors.toList()).get(0)));
if(itemTypeMap.get(entrys.getKey())!=null) {
subMap.put(itemTypeMap.get(entrys.getKey()), maps);
}
@ -206,8 +291,8 @@ public class StatusController extends BaseController {
maps.put("sucessRate",String.format("%.2f", sucessRate)+"%");
//离线率
maps.put("failRate",failRate);
//已使用数量
List<DcDevice> list = dcDeviceService.list();
//已使用数量
maps.put("sumUseState",String.valueOf(lastEntry.size()));
//总数
maps.put("sum",String.valueOf(list.size()));

1
zc-business/src/main/java/com/zc/business/mapper/DcDeviceMapper.java

@ -16,6 +16,7 @@ public interface DcDeviceMapper extends BaseMapper<DcDevice> {
List<DcDevice> selectDcDeviceList(DcDevice dcDevice);
List<DcDevice> numberOfDevicesByType(DcDevice dcDevice);
List<DcDevice> numberOfDevicesByType();
}

2
zc-business/src/main/java/com/zc/business/service/IDcDeviceService.java

@ -79,4 +79,6 @@ public interface IDcDeviceService extends IService<DcDevice> {
List<DcDevice> devicePileNumberQueryDevice(Map<String,Object> parameter);
List<DcDevice> numberOfDevicesByType(DcDevice dcDevice);
List<DcDevice> numberOfDevicesByType();
}

5
zc-business/src/main/java/com/zc/business/service/impl/DcDeviceServiceImpl.java

@ -452,6 +452,11 @@ public class DcDeviceServiceImpl extends ServiceImpl<DcDeviceMapper, DcDevice> i
return dcDeviceMapper.numberOfDevicesByType(dcDevice);
}
@Override
public List<DcDevice> numberOfDevicesByType() {
return dcDeviceMapper.numberOfDevicesByType();
}
public static <T> List<T> castList(Object obj, Class<T> clazz) {
List<T> result = new ArrayList<T>();
if (obj instanceof List<?>) {

3
zc-business/src/main/resources/mapper/business/StatusMapper.xml

@ -103,6 +103,9 @@
<if test="status.deviceId != null">
AND s.device_id = #{status.deviceId}
</if>
<if test="status.useState != null and status.useState != 0">
AND d.use_state = #{status.useState}
</if>
</where>
</select>

Loading…
Cancel
Save