|
@@ -28,6 +28,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.iotZHBD.DeviceZHBDDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotdeviceperson.IotDevicePersonDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotdeviceperson.IotDevicePersonDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodel.IotModelDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodel.IotModelDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodeltemplateattrs.IotModelTemplateAttrsDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodeltemplateattrs.IotModelTemplateAttrsDO;
|
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.tdparams.IotTdParamsDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotDeviceMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotDeviceMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotInfoClassifyMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotInfoClassifyMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotTreeMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotTreeMapper;
|
|
@@ -35,6 +36,7 @@ import cn.iocoder.yudao.module.pms.dal.mysql.TDDeviceMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotdevicerunlog.IotDeviceRunLogMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotdevicerunlog.IotDeviceRunLogMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotmodel.IotModelMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotmodel.IotModelMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotopeationfill.IotOpeationFillMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotopeationfill.IotOpeationFillMapper;
|
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.tdparams.IotTdParamsMapper;
|
|
|
import cn.iocoder.yudao.module.pms.service.iotbom.IotBomService;
|
|
import cn.iocoder.yudao.module.pms.service.iotbom.IotBomService;
|
|
|
import cn.iocoder.yudao.module.pms.service.iotdevicebom.IotDeviceBomService;
|
|
import cn.iocoder.yudao.module.pms.service.iotdevicebom.IotDeviceBomService;
|
|
|
import cn.iocoder.yudao.module.pms.service.iotdevicematerial.IotDeviceMaterialService;
|
|
import cn.iocoder.yudao.module.pms.service.iotdevicematerial.IotDeviceMaterialService;
|
|
@@ -72,6 +74,7 @@ import org.springframework.web.client.RestTemplate;
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
+import java.util.concurrent.CompletableFuture;
|
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
import java.util.regex.Pattern;
|
|
@@ -136,6 +139,8 @@ public class IotDeviceServiceImpl implements IotDeviceService {
|
|
|
private final static String parameter = "lng~~经度,lat~~纬度,today_distance~~当日里程,distance~~总里程,todayoil~~当日油量,totaloil~~总油量,online~~是否在线,oil1~~1路油量,oil2~~2路油量,oil3~~3路油量,oil4~~4路油量,vehicle_name~~车牌号码";
|
|
private final static String parameter = "lng~~经度,lat~~纬度,today_distance~~当日里程,distance~~总里程,todayoil~~当日油量,totaloil~~总油量,online~~是否在线,oil1~~1路油量,oil2~~2路油量,oil3~~3路油量,oil4~~4路油量,vehicle_name~~车牌号码";
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private DeptApi deptApi;
|
|
private DeptApi deptApi;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IotTdParamsMapper iotTdParamsMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -334,8 +339,25 @@ public class IotDeviceServiceImpl implements IotDeviceService {
|
|
|
|
|
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- return rows.stream().filter(e ->!"lac".equals(e.getIdentifier())&&!"cell_id".equals(e.getIdentifier())&&!"mcc_mnc".equals(e.getIdentifier())).sorted(Comparator.comparing(ThingsModelDTO::getIdentifier)).collect(Collectors.toList());
|
|
|
|
|
|
|
+ List<ThingsModelDTO> collect = rows.stream().filter(e -> !"lac".equals(e.getIdentifier()) && !"cell_id".equals(e.getIdentifier()) && !"mcc_mnc".equals(e.getIdentifier())).sorted(Comparator.comparing(ThingsModelDTO::getIdentifier)).collect(Collectors.toList());
|
|
|
|
|
+ CompletableFuture.runAsync(()->{
|
|
|
|
|
+ collect.forEach(thingsModelDTO -> {
|
|
|
|
|
+ List<IotTdParamsDO> paramsDOS = iotTdParamsMapper.selectByMap(ImmutableMap.of("device_id", iotDeviceDO.getId(), "identifier", thingsModelDTO.getIdentifier()));
|
|
|
|
|
+ if (CollUtil.isEmpty(paramsDOS)) {
|
|
|
|
|
+ IotTdParamsDO iotTdParamsDO = new IotTdParamsDO();
|
|
|
|
|
+ iotTdParamsDO.setDeviceId(iotDeviceDO.getId());
|
|
|
|
|
+ iotTdParamsDO.setDeviceCode(iotDeviceDO.getDeviceCode());
|
|
|
|
|
+ iotTdParamsDO.setDeviceName(iotDeviceDO.getDeviceName());
|
|
|
|
|
+ iotTdParamsDO.setYfCode(iotDeviceDO.getYfDeviceCode());
|
|
|
|
|
+ iotTdParamsDO.setIdentifier(thingsModelDTO.getIdentifier());
|
|
|
|
|
+ iotTdParamsDO.setModelName(thingsModelDTO.getModelName());
|
|
|
|
|
+ iotTdParamsDO.setModelOrder(Long.valueOf(thingsModelDTO.getModelOrder()));
|
|
|
|
|
+ iotTdParamsDO.setDeleted(false);
|
|
|
|
|
+ iotTdParamsMapper.insert(iotTdParamsDO);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
+ return collect;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|