加载中 src/main/java/net/vtstar/zhongtong/avi/ledlamp/service/LedService.java +15 −15 原始行号 原始行 差异行号 差异行 加载中 @@ -54,8 +54,7 @@ public class LedService { //获得车辆区域进出车统计 //获得车辆区域进出车统计 List<CarStatisticsVO> sta = webStationCache.get("busSta", ArrayList.class); List<CarStatisticsVO> sta = webStationCache.get("busSta", ArrayList.class); /*if (CollectionUtils.isEmpty(sta)) if (!CollectionUtils.isEmpty(sta)) { return null; for (CarStatisticsVO carStatisticsVO : sta) { for (CarStatisticsVO carStatisticsVO : sta) { if (!carStatisticsVO.getAreaNo().equals(ledNo)) { if (!carStatisticsVO.getAreaNo().equals(ledNo)) { continue; continue; 加载中 @@ -69,7 +68,8 @@ public class LedService { if (carStatisticsVO.getBusType().equals(BusType.OUT)) { if (carStatisticsVO.getBusType().equals(BusType.OUT)) { vo.setBusOut(carStatisticsVO.getSize()); vo.setBusOut(carStatisticsVO.getSize()); } } }*/ } } if (ledNo.equals("1") || ledNo.equals("2") || ledNo.equals("3") || ledNo.equals("4")) { if (ledNo.equals("1") || ledNo.equals("2") || ledNo.equals("3") || ledNo.equals("4")) { vo.setRoomInfoList(new ArrayList<>()); vo.setRoomInfoList(new ArrayList<>()); 加载中 src/main/java/net/vtstar/zhongtong/avi/monitoring/job/AVIMonitorJob.java +11 −1 原始行号 原始行 差异行号 差异行 加载中 @@ -211,9 +211,12 @@ public class AVIMonitorJob extends GatherJob { if (null == ve) { if (null == ve) { ve = vehicleCache.get(veKey, Vehicle.class); ve = vehicleCache.get(veKey, Vehicle.class); } } if (ve.getState() == false){ vehicles.add(ve); vehicles.add(ve); } } } Map<String, List<Vehicle>> veMap = vehicles.stream().filter(a -> a.getState() != false).collect(Collectors.groupingBy(Vehicle::getLane)); Map<String, List<Vehicle>> veMap = vehicles.stream().filter(a -> a.getState() != false).collect(Collectors.groupingBy(Vehicle::getLane)); Map<String, List<PaintshopStation>> listMap = stations.stream().filter(a -> false != a.getTurnR() || false != a.getTurnF()). Map<String, List<PaintshopStation>> listMap = stations.stream().filter(a -> false != a.getTurnR() || false != a.getTurnF()). 加载中 加载中 @@ -255,6 +258,7 @@ public class AVIMonitorJob extends GatherJob { PaintshopStation station = collect.get(i); PaintshopStation station = collect.get(i); Skid skid = vehicle.getSkid(); Skid skid = vehicle.getSkid(); vehicle.setSkid(null); vehicle.setSkid(null); vehicle.setCurrentRfid(null); Long laneId = station.getLaneId(); Long laneId = station.getLaneId(); List<PaintshopStation> lands = new ArrayList<>(); List<PaintshopStation> lands = new ArrayList<>(); 加载中 @@ -275,6 +279,9 @@ public class AVIMonitorJob extends GatherJob { if (tem.getSkid() != null) { if (tem.getSkid() != null) { tem2.setSkid(tem.getSkid()); tem2.setSkid(tem.getSkid()); tem2.setState(StationState.USE); tem2.setState(StationState.USE); } else { tem2.setSkid(null); tem2.setState(StationState.FREE); } } } } start.setSkid(skid); start.setSkid(skid); 加载中 @@ -287,6 +294,9 @@ public class AVIMonitorJob extends GatherJob { if (null != tem2.getSkid()) { if (null != tem2.getSkid()) { tem.setState(StationState.USE); tem.setState(StationState.USE); tem.setSkid(tem2.getSkid()); tem.setSkid(tem2.getSkid()); } else { tem2.setSkid(null); tem2.setState(StationState.FREE); } } } } end.setState(StationState.USE); end.setState(StationState.USE); 加载中 src/main/java/net/vtstar/zhongtong/avi/monitoring/job/RedisToCacheJob.java +27 −20 原始行号 原始行 差异行号 差异行 加载中 @@ -5,12 +5,15 @@ import net.vtstar.scada.base.gather.job.GatherJob; import net.vtstar.zhongtong.avi.equipment.domain.PaintshopArea; import net.vtstar.zhongtong.avi.equipment.domain.PaintshopArea; import net.vtstar.zhongtong.avi.equipment.domain.PaintshopStation; import net.vtstar.zhongtong.avi.equipment.domain.PaintshopStation; import net.vtstar.zhongtong.avi.global.constant.Constant; import net.vtstar.zhongtong.avi.global.constant.Constant; import net.vtstar.zhongtong.avi.monitoring.domain.Skid; import net.vtstar.zhongtong.avi.monitoring.domain.Warning; import net.vtstar.zhongtong.avi.monitoring.domain.Warning; import net.vtstar.zhongtong.avi.monitoring.domain.enums.BusType; import net.vtstar.zhongtong.avi.monitoring.domain.enums.BusType; import net.vtstar.zhongtong.avi.monitoring.domain.enums.DateType; import net.vtstar.zhongtong.avi.monitoring.domain.enums.DateType; import net.vtstar.zhongtong.avi.monitoring.domain.enums.StationState; import net.vtstar.zhongtong.avi.monitoring.domain.vo.CarStatisticsVO; import net.vtstar.zhongtong.avi.monitoring.domain.vo.CarStatisticsVO; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.quartz.JobExecutionException; import org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Component; import org.springframework.stereotype.Component; 加载中 加载中 @@ -64,7 +67,7 @@ public class RedisToCacheJob extends GatherJob { warningCache.put(Constant.LED_PREFIX + key, warnings); warningCache.put(Constant.LED_PREFIX + key, warnings); } } //处理工位信息 //处理进出车信息 Set<String> keys = redisTemplate.keys(Constant.STATION_PREFIX + "*"); Set<String> keys = redisTemplate.keys(Constant.STATION_PREFIX + "*"); List<PaintshopStation> stations = new ArrayList<>(); List<PaintshopStation> stations = new ArrayList<>(); 加载中 @@ -83,11 +86,22 @@ public class RedisToCacheJob extends GatherJob { addStatistics(today, vos, "0", DateType.TODAY); addStatistics(today, vos, "0", DateType.TODAY); addStatistics(previous, vos, "0", DateType.YESTERDAY); addStatistics(previous, vos, "0", DateType.YESTERDAY); //处理工位信息 List<PaintshopArea> areas = webStationCache.get("stationList", ArrayList.class); List<PaintshopArea> areas = webStationCache.get("stationList", ArrayList.class); for (PaintshopArea area : areas) { for (PaintshopArea area : areas) { Long id = area.getId(); Long id = area.getId(); List<PaintshopStation> stationList = listMap.get(id); List<PaintshopStation> stationList = listMap.get(id); Map<String, PaintshopStation> collect = stationList.stream().collect(Collectors.toMap(PaintshopStation::getCode, sta -> sta, (key1, key2) -> key1)); Map<String, PaintshopStation> collect = stationList.stream().collect(Collectors.toMap(PaintshopStation::getCode, sta -> sta, (key1, key2) -> key1)); for (Map.Entry<String, PaintshopStation> entry : collect.entrySet()) { PaintshopStation value = entry.getValue(); Skid skid = value.getSkid(); if (null != skid){ value.setState(StationState.USE); value.setBusNo(skid.getBusNo()); value.setBusType(skid.getBusType()); } } area.setStationMap(collect); area.setStationMap(collect); addStatistics(today, vos, area.getCode(), DateType.TODAY); addStatistics(today, vos, area.getCode(), DateType.TODAY); } } 加载中 @@ -105,12 +119,12 @@ public class RedisToCacheJob extends GatherJob { Integer todaySize = (Integer) valueOperations.get(Constant.BUS_SIZE_IN + code + ":" + today); Integer todaySize = (Integer) valueOperations.get(Constant.BUS_SIZE_IN + code + ":" + today); vo.setDateType(dateType); vo.setDateType(dateType); if (null == todaySize) { if (null == todaySize) { if (code.equals("0")) { // if (code.equals("0")) { vo.setSize(BigDecimal.valueOf(40)); // vo.setSize(BigDecimal.valueOf(40)); } else { // } else { // vo.setSize(BigDecimal.ZERO); vo.setSize(BigDecimal.ZERO); vo.setSize(BigDecimal.valueOf(10).add(new BigDecimal(r.nextInt(20)))); // vo.setSize(BigDecimal.valueOf(10).add(new BigDecimal(r.nextInt(20)))); } // } } else { } else { vo.setSize(BigDecimal.valueOf(todaySize)); vo.setSize(BigDecimal.valueOf(todaySize)); } } 加载中 @@ -121,12 +135,12 @@ public class RedisToCacheJob extends GatherJob { Integer todayOut = (Integer) valueOperations.get(Constant.BUS_SIZE_OUT + code + ":" + today); Integer todayOut = (Integer) valueOperations.get(Constant.BUS_SIZE_OUT + code + ":" + today); out.setDateType(dateType); out.setDateType(dateType); if (null == todayOut) { if (null == todayOut) { if (code.equals("0")) { // if (code.equals("0")) { out.setSize(BigDecimal.valueOf(40)); // out.setSize(BigDecimal.valueOf(40)); } else { // } else { //out.setSize(BigDecimal.ZERO); out.setSize(BigDecimal.ZERO); out.setSize(BigDecimal.valueOf(10).add(new BigDecimal(r.nextInt(20)))); // out.setSize(BigDecimal.valueOf(10).add(new BigDecimal(r.nextInt(20)))); } // } } else { } else { out.setSize(BigDecimal.valueOf(todayOut)); out.setSize(BigDecimal.valueOf(todayOut)); } } 加载中 @@ -135,11 +149,4 @@ public class RedisToCacheJob extends GatherJob { vos.add(vo); vos.add(vo); vos.add(out); vos.add(out); } } public static void main(String[] args) { Random r = new Random(); int i = r.nextInt(20); System.out.println(i); } } } src/main/java/net/vtstar/zhongtong/avi/monitoring/runner/ReadDataToCacheRunner.java +8 −8 原始行号 原始行 差异行号 差异行 加载中 @@ -82,13 +82,13 @@ public class ReadDataToCacheRunner implements CommandLineRunner { warningCache.put(warning.getCode(), warning); warningCache.put(warning.getCode(), warning); } } List<WorkRoom> rooms = workRoomMapper.findList(new WhereFilter(), WorkRoom.class); // List<WorkRoom> rooms = workRoomMapper.findList(new WhereFilter(), WorkRoom.class); // // Map<String, List<WorkRoom>> listMap = rooms.stream().collect(Collectors.groupingBy(WorkRoom::getLedNo)); // Map<String, List<WorkRoom>> listMap = rooms.stream().collect(Collectors.groupingBy(WorkRoom::getLedNo)); for (Map.Entry<String, List<WorkRoom>> entry : listMap.entrySet()) { // for (Map.Entry<String, List<WorkRoom>> entry : listMap.entrySet()) { roomCache.put(Constant.LED_PREFIX + entry.getKey(), entry.getValue()); // roomCache.put(Constant.LED_PREFIX + entry.getKey(), entry.getValue()); } // } List<PaintshopStation> stations = stationMapper.findList(new WhereFilter() {{ List<PaintshopStation> stations = stationMapper.findList(new WhereFilter() {{ addJoin(PaintshopStation.class, "area_id", PaintshopArea.class, "id"); addJoin(PaintshopStation.class, "area_id", PaintshopArea.class, "id"); 加载中 加载中 @@ -127,7 +127,7 @@ public class ReadDataToCacheRunner implements CommandLineRunner { // valueOperations.set(Constant.STATION_PREFIX + station.getCode() ,station); // valueOperations.set(Constant.STATION_PREFIX + station.getCode() ,station); } } Map<Long, List<PaintshopStation>> stationMap = stations.stream().filter(sta -> sta.getLaneCode() != null).collect(Collectors.groupingBy(PaintshopStation::getLaneId)); Map<Long, List<PaintshopStation>> stationMap = stations.stream().filter(sta -> sta.getLaneId() != null).collect(Collectors.groupingBy(PaintshopStation::getLaneId)); for (Map.Entry<Long, List<PaintshopStation>> entry : stationMap.entrySet()) { for (Map.Entry<Long, List<PaintshopStation>> entry : stationMap.entrySet()) { laneStationCache.put(entry.getKey(), entry.getValue()); laneStationCache.put(entry.getKey(), entry.getValue()); } } 加载中 src/main/java/net/vtstar/zhongtong/avi/mqtt/handle/RfidMessageHandler.java +33 −15 原始行号 原始行 差异行号 差异行 加载中 @@ -125,7 +125,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { String key = Constant.BUS_SIZE_IN + "0:" + format; String key = Constant.BUS_SIZE_IN + "0:" + format; Integer size = (Integer) valueOperations.get(key); Integer size = (Integer) valueOperations.get(key); if (null == size) { if (null == size) { size = 0; size = 1; } } valueOperations.set(key, size); valueOperations.set(key, size); return; return; 加载中 @@ -144,28 +144,39 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { if (null != rfid && id.equals(rfid)) { if (null != rfid && id.equals(rfid)) { if (state == 1) { if (state == 1) { Date occurTime = vehicle.getOccurTime(); Date occurTime = vehicle.getOccurTime(); long l = occurTime.getTime() - date.getTime() / 1000; if (null != occurTime) { long l = (date.getTime() - occurTime.getTime()) / 1000; if (l < 60) { if (l < 60) { log.error("{} 平移车发生重发现象 ,滑撬id {}", vehicleCode, id); log.error("{} 平移车发生重发现象 ,滑撬id {}", vehicleCode, id); return; return; } } } } } } } vehicle.setState(0 == state ? false : true); vehicle.setOccurTime(date); vehicle.setCurrentRfid(id); vehicle.setSkid(skid); valueOperations.set(Constant.VEHICLE_PREFIX + vehicleCode, vehicle); if (state == 0) { if (state == 0) { vehicle.setState(false); valueOperations.set(Constant.VEHICLE_PREFIX + vehicleCode, vehicle); return; return; } } vehicle.setState(true); vehicle.setOccurTime(date); vehicle.setCurrentRfid(id); vehicle.setSkid(skid); // valueOperations.set(Constant.VEHICLE_PREFIX + vehicleCode, vehicle); List<PaintshopArea> areas = webStationCache.get("stationList", ArrayList.class); List<PaintshopArea> areas = webStationCache.get("stationList", ArrayList.class); for (PaintshopArea area : areas) { for (PaintshopArea area : areas) { Map<String, PaintshopStation> stationMap = area.getStationMap(); Map<String, PaintshopStation> stationMap = area.getStationMap(); for (Map.Entry<String, PaintshopStation> entry : stationMap.entrySet()) { for (Map.Entry<String, PaintshopStation> entry : stationMap.entrySet()) { PaintshopStation value = entry.getValue(); PaintshopStation value = entry.getValue(); if (!value.getVehicleLaneCode().equals(vehicle.getLane())) { continue; } if (value.getState().equals(StationState.FREE)) { if (value.getState().equals(StationState.FREE)) { continue; continue; } } 加载中 @@ -184,35 +195,42 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { if (start.getCode().equals(value.getCode())) { if (start.getCode().equals(value.getCode())) { vehicle.setSkid(start.getSkid()); vehicle.setSkid(start.getSkid()); vehicle.setCurrentRfid(start.getSkid().getRfid()); for (int j = 1; j < lands.size() - 2; j++) { for (int j = 1; j < lands.size() - 1; j++) { PaintshopStation tem = lands.get(j); PaintshopStation tem = lands.get(j); PaintshopStation tem2 = lands.get(j - 1); PaintshopStation tem2 = lands.get(j - 1); if (tem.getSkid() != null) { if (tem.getSkid() != null) { tem2.setSkid(tem.getSkid()); tem2.setSkid(tem.getSkid()); tem2.setState(StationState.USE); tem2.setState(StationState.USE); } else { tem2.setState(StationState.FREE); tem2.setSkid(null); } } } } } else if (end.getCode().equals(value.getCode())) { } else if (end.getCode().equals(value.getCode())) { vehicle.setSkid(end.getSkid()); vehicle.setSkid(end.getSkid()); vehicle.setCurrentRfid(start.getSkid().getRfid()); for (int j = lands.size() - 2; j > 0; j--) { for (int j = lands.size() - 2; j >= 0; j--) { PaintshopStation tem = lands.get(j); PaintshopStation tem = lands.get(j); PaintshopStation tem2 = lands.get(j + 1); PaintshopStation tem2 = lands.get(j + 1); if (tem.getSkid() != null) { if (tem.getSkid() != null) { tem2.setState(StationState.USE); tem2.setState(StationState.USE); tem2.setSkid(tem.getSkid()); tem2.setSkid(tem.getSkid()); } else { tem2.setState(StationState.FREE); tem2.setSkid(null); } } } } } } //记录过站信息 //记录过站信息 String areaCode = value.getAreaId().toString(); String areaCode = value.getAreaId().toString(); String areaKey = Constant.BUS_SIZE_IN + areaCode + ":" + today; String areaKey = Constant.BUS_SIZE_IN + areaCode + ":" + today; Integer size = (Integer) valueOperations.get(areaKey); Integer size = (Integer) valueOperations.get(areaKey); if (null == size) { if (null == size) { size = 0; size = 1; } else { } else { size++; size++; } } 加载中 加载中
src/main/java/net/vtstar/zhongtong/avi/ledlamp/service/LedService.java +15 −15 原始行号 原始行 差异行号 差异行 加载中 @@ -54,8 +54,7 @@ public class LedService { //获得车辆区域进出车统计 //获得车辆区域进出车统计 List<CarStatisticsVO> sta = webStationCache.get("busSta", ArrayList.class); List<CarStatisticsVO> sta = webStationCache.get("busSta", ArrayList.class); /*if (CollectionUtils.isEmpty(sta)) if (!CollectionUtils.isEmpty(sta)) { return null; for (CarStatisticsVO carStatisticsVO : sta) { for (CarStatisticsVO carStatisticsVO : sta) { if (!carStatisticsVO.getAreaNo().equals(ledNo)) { if (!carStatisticsVO.getAreaNo().equals(ledNo)) { continue; continue; 加载中 @@ -69,7 +68,8 @@ public class LedService { if (carStatisticsVO.getBusType().equals(BusType.OUT)) { if (carStatisticsVO.getBusType().equals(BusType.OUT)) { vo.setBusOut(carStatisticsVO.getSize()); vo.setBusOut(carStatisticsVO.getSize()); } } }*/ } } if (ledNo.equals("1") || ledNo.equals("2") || ledNo.equals("3") || ledNo.equals("4")) { if (ledNo.equals("1") || ledNo.equals("2") || ledNo.equals("3") || ledNo.equals("4")) { vo.setRoomInfoList(new ArrayList<>()); vo.setRoomInfoList(new ArrayList<>()); 加载中
src/main/java/net/vtstar/zhongtong/avi/monitoring/job/AVIMonitorJob.java +11 −1 原始行号 原始行 差异行号 差异行 加载中 @@ -211,9 +211,12 @@ public class AVIMonitorJob extends GatherJob { if (null == ve) { if (null == ve) { ve = vehicleCache.get(veKey, Vehicle.class); ve = vehicleCache.get(veKey, Vehicle.class); } } if (ve.getState() == false){ vehicles.add(ve); vehicles.add(ve); } } } Map<String, List<Vehicle>> veMap = vehicles.stream().filter(a -> a.getState() != false).collect(Collectors.groupingBy(Vehicle::getLane)); Map<String, List<Vehicle>> veMap = vehicles.stream().filter(a -> a.getState() != false).collect(Collectors.groupingBy(Vehicle::getLane)); Map<String, List<PaintshopStation>> listMap = stations.stream().filter(a -> false != a.getTurnR() || false != a.getTurnF()). Map<String, List<PaintshopStation>> listMap = stations.stream().filter(a -> false != a.getTurnR() || false != a.getTurnF()). 加载中 加载中 @@ -255,6 +258,7 @@ public class AVIMonitorJob extends GatherJob { PaintshopStation station = collect.get(i); PaintshopStation station = collect.get(i); Skid skid = vehicle.getSkid(); Skid skid = vehicle.getSkid(); vehicle.setSkid(null); vehicle.setSkid(null); vehicle.setCurrentRfid(null); Long laneId = station.getLaneId(); Long laneId = station.getLaneId(); List<PaintshopStation> lands = new ArrayList<>(); List<PaintshopStation> lands = new ArrayList<>(); 加载中 @@ -275,6 +279,9 @@ public class AVIMonitorJob extends GatherJob { if (tem.getSkid() != null) { if (tem.getSkid() != null) { tem2.setSkid(tem.getSkid()); tem2.setSkid(tem.getSkid()); tem2.setState(StationState.USE); tem2.setState(StationState.USE); } else { tem2.setSkid(null); tem2.setState(StationState.FREE); } } } } start.setSkid(skid); start.setSkid(skid); 加载中 @@ -287,6 +294,9 @@ public class AVIMonitorJob extends GatherJob { if (null != tem2.getSkid()) { if (null != tem2.getSkid()) { tem.setState(StationState.USE); tem.setState(StationState.USE); tem.setSkid(tem2.getSkid()); tem.setSkid(tem2.getSkid()); } else { tem2.setSkid(null); tem2.setState(StationState.FREE); } } } } end.setState(StationState.USE); end.setState(StationState.USE); 加载中
src/main/java/net/vtstar/zhongtong/avi/monitoring/job/RedisToCacheJob.java +27 −20 原始行号 原始行 差异行号 差异行 加载中 @@ -5,12 +5,15 @@ import net.vtstar.scada.base.gather.job.GatherJob; import net.vtstar.zhongtong.avi.equipment.domain.PaintshopArea; import net.vtstar.zhongtong.avi.equipment.domain.PaintshopArea; import net.vtstar.zhongtong.avi.equipment.domain.PaintshopStation; import net.vtstar.zhongtong.avi.equipment.domain.PaintshopStation; import net.vtstar.zhongtong.avi.global.constant.Constant; import net.vtstar.zhongtong.avi.global.constant.Constant; import net.vtstar.zhongtong.avi.monitoring.domain.Skid; import net.vtstar.zhongtong.avi.monitoring.domain.Warning; import net.vtstar.zhongtong.avi.monitoring.domain.Warning; import net.vtstar.zhongtong.avi.monitoring.domain.enums.BusType; import net.vtstar.zhongtong.avi.monitoring.domain.enums.BusType; import net.vtstar.zhongtong.avi.monitoring.domain.enums.DateType; import net.vtstar.zhongtong.avi.monitoring.domain.enums.DateType; import net.vtstar.zhongtong.avi.monitoring.domain.enums.StationState; import net.vtstar.zhongtong.avi.monitoring.domain.vo.CarStatisticsVO; import net.vtstar.zhongtong.avi.monitoring.domain.vo.CarStatisticsVO; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.quartz.JobExecutionException; import org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Component; import org.springframework.stereotype.Component; 加载中 加载中 @@ -64,7 +67,7 @@ public class RedisToCacheJob extends GatherJob { warningCache.put(Constant.LED_PREFIX + key, warnings); warningCache.put(Constant.LED_PREFIX + key, warnings); } } //处理工位信息 //处理进出车信息 Set<String> keys = redisTemplate.keys(Constant.STATION_PREFIX + "*"); Set<String> keys = redisTemplate.keys(Constant.STATION_PREFIX + "*"); List<PaintshopStation> stations = new ArrayList<>(); List<PaintshopStation> stations = new ArrayList<>(); 加载中 @@ -83,11 +86,22 @@ public class RedisToCacheJob extends GatherJob { addStatistics(today, vos, "0", DateType.TODAY); addStatistics(today, vos, "0", DateType.TODAY); addStatistics(previous, vos, "0", DateType.YESTERDAY); addStatistics(previous, vos, "0", DateType.YESTERDAY); //处理工位信息 List<PaintshopArea> areas = webStationCache.get("stationList", ArrayList.class); List<PaintshopArea> areas = webStationCache.get("stationList", ArrayList.class); for (PaintshopArea area : areas) { for (PaintshopArea area : areas) { Long id = area.getId(); Long id = area.getId(); List<PaintshopStation> stationList = listMap.get(id); List<PaintshopStation> stationList = listMap.get(id); Map<String, PaintshopStation> collect = stationList.stream().collect(Collectors.toMap(PaintshopStation::getCode, sta -> sta, (key1, key2) -> key1)); Map<String, PaintshopStation> collect = stationList.stream().collect(Collectors.toMap(PaintshopStation::getCode, sta -> sta, (key1, key2) -> key1)); for (Map.Entry<String, PaintshopStation> entry : collect.entrySet()) { PaintshopStation value = entry.getValue(); Skid skid = value.getSkid(); if (null != skid){ value.setState(StationState.USE); value.setBusNo(skid.getBusNo()); value.setBusType(skid.getBusType()); } } area.setStationMap(collect); area.setStationMap(collect); addStatistics(today, vos, area.getCode(), DateType.TODAY); addStatistics(today, vos, area.getCode(), DateType.TODAY); } } 加载中 @@ -105,12 +119,12 @@ public class RedisToCacheJob extends GatherJob { Integer todaySize = (Integer) valueOperations.get(Constant.BUS_SIZE_IN + code + ":" + today); Integer todaySize = (Integer) valueOperations.get(Constant.BUS_SIZE_IN + code + ":" + today); vo.setDateType(dateType); vo.setDateType(dateType); if (null == todaySize) { if (null == todaySize) { if (code.equals("0")) { // if (code.equals("0")) { vo.setSize(BigDecimal.valueOf(40)); // vo.setSize(BigDecimal.valueOf(40)); } else { // } else { // vo.setSize(BigDecimal.ZERO); vo.setSize(BigDecimal.ZERO); vo.setSize(BigDecimal.valueOf(10).add(new BigDecimal(r.nextInt(20)))); // vo.setSize(BigDecimal.valueOf(10).add(new BigDecimal(r.nextInt(20)))); } // } } else { } else { vo.setSize(BigDecimal.valueOf(todaySize)); vo.setSize(BigDecimal.valueOf(todaySize)); } } 加载中 @@ -121,12 +135,12 @@ public class RedisToCacheJob extends GatherJob { Integer todayOut = (Integer) valueOperations.get(Constant.BUS_SIZE_OUT + code + ":" + today); Integer todayOut = (Integer) valueOperations.get(Constant.BUS_SIZE_OUT + code + ":" + today); out.setDateType(dateType); out.setDateType(dateType); if (null == todayOut) { if (null == todayOut) { if (code.equals("0")) { // if (code.equals("0")) { out.setSize(BigDecimal.valueOf(40)); // out.setSize(BigDecimal.valueOf(40)); } else { // } else { //out.setSize(BigDecimal.ZERO); out.setSize(BigDecimal.ZERO); out.setSize(BigDecimal.valueOf(10).add(new BigDecimal(r.nextInt(20)))); // out.setSize(BigDecimal.valueOf(10).add(new BigDecimal(r.nextInt(20)))); } // } } else { } else { out.setSize(BigDecimal.valueOf(todayOut)); out.setSize(BigDecimal.valueOf(todayOut)); } } 加载中 @@ -135,11 +149,4 @@ public class RedisToCacheJob extends GatherJob { vos.add(vo); vos.add(vo); vos.add(out); vos.add(out); } } public static void main(String[] args) { Random r = new Random(); int i = r.nextInt(20); System.out.println(i); } } }
src/main/java/net/vtstar/zhongtong/avi/monitoring/runner/ReadDataToCacheRunner.java +8 −8 原始行号 原始行 差异行号 差异行 加载中 @@ -82,13 +82,13 @@ public class ReadDataToCacheRunner implements CommandLineRunner { warningCache.put(warning.getCode(), warning); warningCache.put(warning.getCode(), warning); } } List<WorkRoom> rooms = workRoomMapper.findList(new WhereFilter(), WorkRoom.class); // List<WorkRoom> rooms = workRoomMapper.findList(new WhereFilter(), WorkRoom.class); // // Map<String, List<WorkRoom>> listMap = rooms.stream().collect(Collectors.groupingBy(WorkRoom::getLedNo)); // Map<String, List<WorkRoom>> listMap = rooms.stream().collect(Collectors.groupingBy(WorkRoom::getLedNo)); for (Map.Entry<String, List<WorkRoom>> entry : listMap.entrySet()) { // for (Map.Entry<String, List<WorkRoom>> entry : listMap.entrySet()) { roomCache.put(Constant.LED_PREFIX + entry.getKey(), entry.getValue()); // roomCache.put(Constant.LED_PREFIX + entry.getKey(), entry.getValue()); } // } List<PaintshopStation> stations = stationMapper.findList(new WhereFilter() {{ List<PaintshopStation> stations = stationMapper.findList(new WhereFilter() {{ addJoin(PaintshopStation.class, "area_id", PaintshopArea.class, "id"); addJoin(PaintshopStation.class, "area_id", PaintshopArea.class, "id"); 加载中 加载中 @@ -127,7 +127,7 @@ public class ReadDataToCacheRunner implements CommandLineRunner { // valueOperations.set(Constant.STATION_PREFIX + station.getCode() ,station); // valueOperations.set(Constant.STATION_PREFIX + station.getCode() ,station); } } Map<Long, List<PaintshopStation>> stationMap = stations.stream().filter(sta -> sta.getLaneCode() != null).collect(Collectors.groupingBy(PaintshopStation::getLaneId)); Map<Long, List<PaintshopStation>> stationMap = stations.stream().filter(sta -> sta.getLaneId() != null).collect(Collectors.groupingBy(PaintshopStation::getLaneId)); for (Map.Entry<Long, List<PaintshopStation>> entry : stationMap.entrySet()) { for (Map.Entry<Long, List<PaintshopStation>> entry : stationMap.entrySet()) { laneStationCache.put(entry.getKey(), entry.getValue()); laneStationCache.put(entry.getKey(), entry.getValue()); } } 加载中
src/main/java/net/vtstar/zhongtong/avi/mqtt/handle/RfidMessageHandler.java +33 −15 原始行号 原始行 差异行号 差异行 加载中 @@ -125,7 +125,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { String key = Constant.BUS_SIZE_IN + "0:" + format; String key = Constant.BUS_SIZE_IN + "0:" + format; Integer size = (Integer) valueOperations.get(key); Integer size = (Integer) valueOperations.get(key); if (null == size) { if (null == size) { size = 0; size = 1; } } valueOperations.set(key, size); valueOperations.set(key, size); return; return; 加载中 @@ -144,28 +144,39 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { if (null != rfid && id.equals(rfid)) { if (null != rfid && id.equals(rfid)) { if (state == 1) { if (state == 1) { Date occurTime = vehicle.getOccurTime(); Date occurTime = vehicle.getOccurTime(); long l = occurTime.getTime() - date.getTime() / 1000; if (null != occurTime) { long l = (date.getTime() - occurTime.getTime()) / 1000; if (l < 60) { if (l < 60) { log.error("{} 平移车发生重发现象 ,滑撬id {}", vehicleCode, id); log.error("{} 平移车发生重发现象 ,滑撬id {}", vehicleCode, id); return; return; } } } } } } } vehicle.setState(0 == state ? false : true); vehicle.setOccurTime(date); vehicle.setCurrentRfid(id); vehicle.setSkid(skid); valueOperations.set(Constant.VEHICLE_PREFIX + vehicleCode, vehicle); if (state == 0) { if (state == 0) { vehicle.setState(false); valueOperations.set(Constant.VEHICLE_PREFIX + vehicleCode, vehicle); return; return; } } vehicle.setState(true); vehicle.setOccurTime(date); vehicle.setCurrentRfid(id); vehicle.setSkid(skid); // valueOperations.set(Constant.VEHICLE_PREFIX + vehicleCode, vehicle); List<PaintshopArea> areas = webStationCache.get("stationList", ArrayList.class); List<PaintshopArea> areas = webStationCache.get("stationList", ArrayList.class); for (PaintshopArea area : areas) { for (PaintshopArea area : areas) { Map<String, PaintshopStation> stationMap = area.getStationMap(); Map<String, PaintshopStation> stationMap = area.getStationMap(); for (Map.Entry<String, PaintshopStation> entry : stationMap.entrySet()) { for (Map.Entry<String, PaintshopStation> entry : stationMap.entrySet()) { PaintshopStation value = entry.getValue(); PaintshopStation value = entry.getValue(); if (!value.getVehicleLaneCode().equals(vehicle.getLane())) { continue; } if (value.getState().equals(StationState.FREE)) { if (value.getState().equals(StationState.FREE)) { continue; continue; } } 加载中 @@ -184,35 +195,42 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler { if (start.getCode().equals(value.getCode())) { if (start.getCode().equals(value.getCode())) { vehicle.setSkid(start.getSkid()); vehicle.setSkid(start.getSkid()); vehicle.setCurrentRfid(start.getSkid().getRfid()); for (int j = 1; j < lands.size() - 2; j++) { for (int j = 1; j < lands.size() - 1; j++) { PaintshopStation tem = lands.get(j); PaintshopStation tem = lands.get(j); PaintshopStation tem2 = lands.get(j - 1); PaintshopStation tem2 = lands.get(j - 1); if (tem.getSkid() != null) { if (tem.getSkid() != null) { tem2.setSkid(tem.getSkid()); tem2.setSkid(tem.getSkid()); tem2.setState(StationState.USE); tem2.setState(StationState.USE); } else { tem2.setState(StationState.FREE); tem2.setSkid(null); } } } } } else if (end.getCode().equals(value.getCode())) { } else if (end.getCode().equals(value.getCode())) { vehicle.setSkid(end.getSkid()); vehicle.setSkid(end.getSkid()); vehicle.setCurrentRfid(start.getSkid().getRfid()); for (int j = lands.size() - 2; j > 0; j--) { for (int j = lands.size() - 2; j >= 0; j--) { PaintshopStation tem = lands.get(j); PaintshopStation tem = lands.get(j); PaintshopStation tem2 = lands.get(j + 1); PaintshopStation tem2 = lands.get(j + 1); if (tem.getSkid() != null) { if (tem.getSkid() != null) { tem2.setState(StationState.USE); tem2.setState(StationState.USE); tem2.setSkid(tem.getSkid()); tem2.setSkid(tem.getSkid()); } else { tem2.setState(StationState.FREE); tem2.setSkid(null); } } } } } } //记录过站信息 //记录过站信息 String areaCode = value.getAreaId().toString(); String areaCode = value.getAreaId().toString(); String areaKey = Constant.BUS_SIZE_IN + areaCode + ":" + today; String areaKey = Constant.BUS_SIZE_IN + areaCode + ":" + today; Integer size = (Integer) valueOperations.get(areaKey); Integer size = (Integer) valueOperations.get(areaKey); if (null == size) { if (null == size) { size = 0; size = 1; } else { } else { size++; size++; } } 加载中