opt:优化秒级接口查询;
This commit is contained in:
@@ -501,38 +501,52 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
return item;
|
||||
};
|
||||
// AGV
|
||||
JSONArray agvInfos = (JSONArray) redisUtils.get("AGV1");
|
||||
int agvFaultNum = (int) agvInfos.stream()
|
||||
.map(object -> (JSONObject) object)
|
||||
.filter(jsonObject -> AcsDefineEnum.AGV_STATUS.code("故障中").equals(jsonObject.getString("device_status")))
|
||||
.count();
|
||||
int agvNormalNum = agvInfos.size() - agvFaultNum;
|
||||
JSONArray agvInfos = (JSONArray) redisUtils.get("agv");
|
||||
int agvFaultNum = 0;
|
||||
int agvNormalNum = 0;
|
||||
if (ObjectUtil.isNotEmpty(agvInfos)) {
|
||||
agvFaultNum = (int) agvInfos.stream()
|
||||
.map(object -> (JSONObject) object)
|
||||
.filter(jsonObject -> AcsDefineEnum.AGV_STATUS.code("故障中").equals(jsonObject.getString("device_status")))
|
||||
.count();
|
||||
agvNormalNum = agvInfos.size() - agvFaultNum;
|
||||
}
|
||||
List<Map<String, Object>> agv_info = Arrays.asList(
|
||||
createItem.apply("0").apply(agvNormalNum),
|
||||
createItem.apply("1").apply(agvFaultNum)
|
||||
);
|
||||
// RGV
|
||||
JSONArray rgvInfos = (JSONArray) redisUtils.get("RGV1");
|
||||
int rgvFaultNum = (int) rgvInfos.stream()
|
||||
.map(object -> (JSONObject) object)
|
||||
.filter(jsonObject -> StringUtils.isNotBlank(jsonObject.getString("Error")))
|
||||
.count();
|
||||
int rgvNormalNum = rgvInfos.size() - rgvFaultNum;
|
||||
int rgvFaultNum = 0;
|
||||
int rgvNormalNum = 0;
|
||||
JSONArray rgvInfos = (JSONArray) redisUtils.get("rgv");
|
||||
if (ObjectUtil.isNotEmpty(rgvInfos)) {
|
||||
rgvFaultNum = (int) rgvInfos.stream()
|
||||
.map(object -> (JSONObject) object)
|
||||
.filter(jsonObject -> StringUtils.isNotBlank(jsonObject.getString("Error")))
|
||||
.count();
|
||||
rgvNormalNum = rgvInfos.size() - rgvFaultNum;
|
||||
}
|
||||
List<Map<String, Object>> rgv_info = Arrays.asList(
|
||||
createItem.apply("0").apply(rgvNormalNum),
|
||||
createItem.apply("1").apply(rgvFaultNum)
|
||||
);
|
||||
// 输送线
|
||||
JSONArray conveyorInfos = (JSONArray) redisUtils.get("site1");
|
||||
int ptConveyorNum = (int) conveyorInfos.stream()
|
||||
.map(object -> (JSONObject) object)
|
||||
.filter(jsonObject -> AcsDefineEnum.VEHICLE_TYPE.code("普涂").equals(jsonObject.getString("pallet_type")))
|
||||
.count();
|
||||
int ltConveyorNum = (int) conveyorInfos.stream()
|
||||
.map(object -> (JSONObject) object)
|
||||
.filter(jsonObject -> AcsDefineEnum.VEHICLE_TYPE.code("连涂").equals(jsonObject.getString("pallet_type")))
|
||||
.count();
|
||||
int emptyConveyorNum = conveyorInfos.size() - ptConveyorNum - ltConveyorNum;
|
||||
int ptConveyorNum = 0;
|
||||
int ltConveyorNum = 0;
|
||||
int emptyConveyorNum = 0;
|
||||
|
||||
JSONArray conveyorInfos = (JSONArray) redisUtils.get("site");
|
||||
if (ObjectUtil.isNotEmpty(conveyorInfos)) {
|
||||
ptConveyorNum = (int) conveyorInfos.stream()
|
||||
.map(object -> (JSONObject) object)
|
||||
.filter(jsonObject -> AcsDefineEnum.VEHICLE_TYPE.code("普涂").equals(jsonObject.getString("pallet_type")))
|
||||
.count();
|
||||
ltConveyorNum = (int) conveyorInfos.stream()
|
||||
.map(object -> (JSONObject) object)
|
||||
.filter(jsonObject -> AcsDefineEnum.VEHICLE_TYPE.code("连涂").equals(jsonObject.getString("pallet_type")))
|
||||
.count();
|
||||
emptyConveyorNum = conveyorInfos.size() - ptConveyorNum - ltConveyorNum;
|
||||
}
|
||||
List<Map<String, Object>> conveyor_info = Arrays.asList(
|
||||
createItem.apply("2").apply(ltConveyorNum),
|
||||
createItem.apply("3").apply(ptConveyorNum),
|
||||
@@ -543,7 +557,7 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
device_status.put("conveyor_info", conveyor_info);
|
||||
//实时故障告警
|
||||
List<Map<String, Object>> fault_alarm = cockpitMapper.faultAlarm();
|
||||
faultAlarmDefault(fault_alarm, "AGV08");
|
||||
//faultAlarmDefault(fault_alarm, "AGV08");
|
||||
//近30日故障统计
|
||||
JSONArray monthly_fault_statistics = cockpitMapper.monthlyFaultStatistics();
|
||||
//测试数据,上线后删除
|
||||
@@ -576,7 +590,7 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
switch (type) {
|
||||
case RegionCodeConstant.COATED_PLATE_LINE_AREA:
|
||||
// 涂板线区域,涂板线是作为一整台设备显示,point:设备点
|
||||
JSONArray baoshijian = (JSONArray) redisUtils.get("baoshijian1");
|
||||
JSONArray baoshijian = (JSONArray) redisUtils.get("baoshijian");
|
||||
points = pointService.getSubSites(deviceCode);
|
||||
res.put("device_code", deviceCode);
|
||||
//todo 运行状态,信号缺失
|
||||
@@ -653,7 +667,7 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
case RegionCodeConstant.CURING_ZONE:
|
||||
//固化室,需要显示整个设备+内部位置明细
|
||||
points = pointService.getSubSites(deviceCode); // 小固化位置以及进出口(入口是不管的)
|
||||
JSONArray guhuashi = (JSONArray) redisUtils.get("guhuashi1");
|
||||
JSONArray guhuashi = (JSONArray) redisUtils.get("guhuashi");
|
||||
for (Object object : guhuashi) {
|
||||
res.put("device_code", deviceCode);
|
||||
res.put("device_name", point.getPoint_name());
|
||||
@@ -707,7 +721,7 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
res.put("device_name", point.getPoint_name());
|
||||
res.put("material_type", ObjectUtil.isNotEmpty(point.getVehicle_type()) ? point.getVehicle_type() : "-");
|
||||
res.put("end_time", "-");
|
||||
JSONArray ssxInfos = (JSONArray) redisUtils.get("site1");
|
||||
JSONArray ssxInfos = (JSONArray) redisUtils.get("site");
|
||||
JSONArray ssxArray = new JSONArray();
|
||||
for (int i = 0; i < points.size(); i++) {
|
||||
SchBasePoint pointObj = points.get(i);
|
||||
@@ -748,8 +762,11 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
}
|
||||
break;
|
||||
case RegionCodeConstant.VEHICLEINFO:
|
||||
JSONArray agvInfos = (JSONArray) redisUtils.get("AGV1");
|
||||
JSONArray rgvInfos = (JSONArray) redisUtils.get("RGV1");
|
||||
JSONArray agvInfos = (JSONArray) redisUtils.get("agv");
|
||||
JSONArray rgvInfos = (JSONArray) redisUtils.get("rgv");
|
||||
if (ObjectUtil.isEmpty(agvInfos)) {
|
||||
return res;
|
||||
}
|
||||
JSONObject vehicleInfo = agvInfos.stream()
|
||||
.map(object -> (JSONObject) object)
|
||||
.filter(jsonObject -> deviceCode.equals(jsonObject.getString("device_code")))
|
||||
@@ -758,6 +775,9 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
if (ObjectUtil.isNotEmpty(vehicleInfo)) {
|
||||
vehicleInfo.put("type", "AGV");
|
||||
} else {
|
||||
if (ObjectUtil.isEmpty(rgvInfos)) {
|
||||
return res;
|
||||
}
|
||||
vehicleInfo = rgvInfos.stream()
|
||||
.map(object -> (JSONObject) object)
|
||||
.filter(jsonObject -> deviceCode.equals(jsonObject.getString("vehicle")))
|
||||
@@ -893,8 +913,10 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
if (ObjectUtil.isNotEmpty(result)) {
|
||||
JSONObject ghsDetailInfo = new JSONObject();
|
||||
JSONArray ghsDetails = new JSONArray();
|
||||
JSONArray guHuaShi = (JSONArray) redisUtils.get("guhuashi1");
|
||||
array.add(guHuaShi);
|
||||
JSONArray guHuaShi = (JSONArray) redisUtils.get("guhuashi");
|
||||
if(ObjectUtil.isNotEmpty(guHuaShi)) {
|
||||
array.add(guHuaShi);
|
||||
}
|
||||
// for (Object object : result) {
|
||||
// //设备状态 按照lms点位管理来 1-无货;2-有货;3-进料;4固化;5出料,6故障
|
||||
// JSONObject d = (JSONObject) object;
|
||||
@@ -917,13 +939,17 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
});
|
||||
//查询保湿间信息
|
||||
CompletableFuture<List<Map<String, Object>>> task2 = CompletableFuture.supplyAsync(() -> {
|
||||
JSONArray baoShiJian = (JSONArray) redisUtils.get("baoshijian1");
|
||||
JSONArray baoShiJian = (JSONArray) redisUtils.get("baoshijian");
|
||||
//todo 设备状态待补充信号逻辑
|
||||
for (Object object : baoShiJian) {
|
||||
JSONObject jsonObject = (JSONObject) object;
|
||||
if (StringUtils.isBlank(jsonObject.getString("device_status"))) {
|
||||
jsonObject.put("device_status", "1");
|
||||
if (ObjectUtil.isNotEmpty(baoShiJian)) {
|
||||
for (Object object : baoShiJian) {
|
||||
JSONObject jsonObject = (JSONObject) object;
|
||||
if (StringUtils.isBlank(jsonObject.getString("device_status"))) {
|
||||
jsonObject.put("device_status", "1");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
array.add(new JSONArray());
|
||||
}
|
||||
array.add(baoShiJian);
|
||||
return null;
|
||||
@@ -934,14 +960,18 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
});
|
||||
//查询检测站点数据
|
||||
CompletableFuture<List<Map<String, Object>>> task3 = CompletableFuture.supplyAsync(() -> {
|
||||
JSONArray site = (JSONArray) redisUtils.get("site1");
|
||||
JSONArray site = (JSONArray) redisUtils.get("site");
|
||||
//todo 待补充信号逻辑
|
||||
for (Object object : site) {
|
||||
JSONObject jsonObject = (JSONObject) object;
|
||||
if (StringUtils.isBlank(jsonObject.getString("device_status"))) {
|
||||
//0故障1正常
|
||||
jsonObject.put("device_status", "1");
|
||||
if (ObjectUtil.isNotEmpty(site)) {
|
||||
for (Object object : site) {
|
||||
JSONObject jsonObject = (JSONObject) object;
|
||||
if (StringUtils.isBlank(jsonObject.getString("device_status"))) {
|
||||
//0故障1正常
|
||||
jsonObject.put("device_status", "1");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
array.add(new JSONArray());
|
||||
}
|
||||
array.add(site);
|
||||
return null;
|
||||
@@ -952,19 +982,23 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
});
|
||||
//查询AGV数据
|
||||
CompletableFuture<List<Map<String, Object>>> task4 = CompletableFuture.supplyAsync(() -> {
|
||||
JSONArray agv = (JSONArray) redisUtils.get("AGV1");
|
||||
//todo 待补充信号逻辑
|
||||
for (Object object : agv) {
|
||||
JSONObject jsonObject = (JSONObject) object;
|
||||
if (StringUtils.isBlank(jsonObject.getString("move"))) {
|
||||
jsonObject.put("move", "0");
|
||||
}
|
||||
if (StringUtils.isBlank(jsonObject.getString("full"))) {
|
||||
jsonObject.put("full", "0");
|
||||
}
|
||||
if (StringUtils.isBlank(jsonObject.getString("vehicle_type"))) {
|
||||
jsonObject.put("vehicle_type", "0");
|
||||
JSONArray agv = (JSONArray) redisUtils.get("agv");
|
||||
if (ObjectUtil.isNotEmpty(agv)) {
|
||||
//todo 待补充信号逻辑
|
||||
for (Object object : agv) {
|
||||
JSONObject jsonObject = (JSONObject) object;
|
||||
if (StringUtils.isBlank(jsonObject.getString("move"))) {
|
||||
jsonObject.put("move", "0");
|
||||
}
|
||||
if (StringUtils.isBlank(jsonObject.getString("full"))) {
|
||||
jsonObject.put("full", "0");
|
||||
}
|
||||
if (StringUtils.isBlank(jsonObject.getString("vehicle_type"))) {
|
||||
jsonObject.put("vehicle_type", "0");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
agv = new JSONArray();
|
||||
}
|
||||
array.add(agv);
|
||||
return null;
|
||||
@@ -975,22 +1009,26 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
});
|
||||
//查询RGV设备信息
|
||||
CompletableFuture<List<Map<String, Object>>> task5 = CompletableFuture.supplyAsync(() -> {
|
||||
JSONArray rgv = (JSONArray) redisUtils.get("RGV1");
|
||||
//todo 待补充信号逻辑
|
||||
for (Object object : rgv) {
|
||||
JSONObject jsonObject = (JSONObject) object;
|
||||
//todo 正式环境可以去除,在ACS端处理运行状态
|
||||
String device_status = StringUtils.isNotBlank(jsonObject.getString("status")) ? AcsDefineEnum.RGV_STATUS.check1(jsonObject.getString("status")) : "4";
|
||||
jsonObject.put("device_status", device_status);
|
||||
if (StringUtils.isBlank(jsonObject.getString("move"))) {
|
||||
jsonObject.put("move", "0");
|
||||
}
|
||||
if (StringUtils.isBlank(jsonObject.getString("full"))) {
|
||||
jsonObject.put("full", "0");
|
||||
}
|
||||
if (StringUtils.isBlank(jsonObject.getString("vehicle_type"))) {
|
||||
jsonObject.put("vehicle_type", "0");
|
||||
JSONArray rgv = (JSONArray) redisUtils.get("rgv");
|
||||
if (ObjectUtil.isNotEmpty(rgv)) {
|
||||
//todo 待补充信号逻辑
|
||||
for (Object object : rgv) {
|
||||
JSONObject jsonObject = (JSONObject) object;
|
||||
//todo 正式环境可以去除,在ACS端处理运行状态
|
||||
String device_status = StringUtils.isNotBlank(jsonObject.getString("status")) ? AcsDefineEnum.RGV_STATUS.check1(jsonObject.getString("status")) : "4";
|
||||
jsonObject.put("device_status", device_status);
|
||||
if (StringUtils.isBlank(jsonObject.getString("move"))) {
|
||||
jsonObject.put("move", "0");
|
||||
}
|
||||
if (StringUtils.isBlank(jsonObject.getString("full"))) {
|
||||
jsonObject.put("full", "0");
|
||||
}
|
||||
if (StringUtils.isBlank(jsonObject.getString("vehicle_type"))) {
|
||||
jsonObject.put("vehicle_type", "0");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
rgv = new JSONArray();
|
||||
}
|
||||
array.add(rgv);
|
||||
return null;
|
||||
|
||||
@@ -6,7 +6,7 @@ spring:
|
||||
druid:
|
||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3307}/${DB_NAME:lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
username: ${DB_USER:root}
|
||||
password: ${DB_PWD:123456}
|
||||
@@ -55,7 +55,8 @@ spring:
|
||||
redis:
|
||||
#数据库索引
|
||||
database: ${REDIS_DB:2}
|
||||
host: ${REDIS_HOST:127.0.0.1}
|
||||
# host: ${REDIS_HOST:10.44.101.112}
|
||||
host: ${REDIS_HOST:10.44.101.19}
|
||||
port: ${REDIS_PORT:6379}
|
||||
password: ${REDIS_PWD:}
|
||||
|
||||
@@ -152,9 +153,9 @@ sa-token:
|
||||
token-session-check-login: false
|
||||
alone-redis:
|
||||
# Redis数据库索引(默认为0)
|
||||
database: 2
|
||||
database: 5
|
||||
# Redis服务器地址
|
||||
host: 127.0.0.1
|
||||
host: 10.44.101.19
|
||||
# Redis服务器连接端口
|
||||
port: 6379
|
||||
# Redis服务器连接密码(默认为空)
|
||||
|
||||
@@ -112,6 +112,6 @@ mybatis-plus:
|
||||
id-type: INPUT
|
||||
lucene:
|
||||
index:
|
||||
path: C:\lucene\index
|
||||
path: D:\lucene\index
|
||||
tlog:
|
||||
enable-invoke-time-print: true
|
||||
enable-invoke-time-print: true
|
||||
|
||||
Reference in New Issue
Block a user