|
@@ -18,10 +18,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.mysql.cj.x.protobuf.MysqlxDatatypes;
|
|
import com.mysql.cj.x.protobuf.MysqlxDatatypes;
|
|
import com.usky.backend.client.DataQueryClient;
|
|
import com.usky.backend.client.DataQueryClient;
|
|
import com.usky.backend.client.DeviceDataClient;
|
|
import com.usky.backend.client.DeviceDataClient;
|
|
-import com.usky.backend.domain.DataAverageExportVO;
|
|
|
|
-import com.usky.backend.domain.DataAverageRequestVO;
|
|
|
|
-import com.usky.backend.domain.DataAverageResponseVO;
|
|
|
|
-import com.usky.backend.domain.DataTotalRequestVO;
|
|
|
|
|
|
+import com.usky.backend.domain.*;
|
|
import com.usky.backend.domain.response.DataRealTimeResponseVO;
|
|
import com.usky.backend.domain.response.DataRealTimeResponseVO;
|
|
import com.usky.common.core.bean.CommonPage;
|
|
import com.usky.common.core.bean.CommonPage;
|
|
import com.usky.common.core.exception.BusinessException;
|
|
import com.usky.common.core.exception.BusinessException;
|
|
@@ -34,12 +31,14 @@ import com.usky.iot.mapper.DmpDeviceInfoMapper;
|
|
import com.usky.iot.service.BaseFacilityDeviceService;
|
|
import com.usky.iot.service.BaseFacilityDeviceService;
|
|
import com.usky.iot.service.DmpDeviceInfoService;
|
|
import com.usky.iot.service.DmpDeviceInfoService;
|
|
import com.usky.iot.service.DmpDeviceStatusService;
|
|
import com.usky.iot.service.DmpDeviceStatusService;
|
|
|
|
+import com.usky.iot.service.DmpProductAttributeService;
|
|
import com.usky.iot.service.vo.*;
|
|
import com.usky.iot.service.vo.*;
|
|
import org.apache.poi.ss.usermodel.Workbook;
|
|
import org.apache.poi.ss.usermodel.Workbook;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
+import sun.net.dns.ResolverConfiguration;
|
|
|
|
|
|
import javax.servlet.ServletOutputStream;
|
|
import javax.servlet.ServletOutputStream;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
@@ -62,6 +61,9 @@ public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoM
|
|
@Autowired
|
|
@Autowired
|
|
private DmpDeviceStatusService dmpDeviceStatusService;
|
|
private DmpDeviceStatusService dmpDeviceStatusService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private DmpProductAttributeService dmpProductAttributeService;
|
|
|
|
+
|
|
@Autowired
|
|
@Autowired
|
|
private BaseFacilityDeviceService baseFacilityDeviceService;
|
|
private BaseFacilityDeviceService baseFacilityDeviceService;
|
|
|
|
|
|
@@ -571,6 +573,77 @@ public class DmpDeviceInfoServiceImpl extends AbstractCrudService<DmpDeviceInfoM
|
|
return new CommonPage<>(objectList,total,pageNum,pageSize);
|
|
return new CommonPage<>(objectList,total,pageNum,pageSize);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public CommonPage<DataTVResponseVO> dataTVList(DataTVRequestVO requestVO){
|
|
|
|
+ List<DataTVResponseVO> list = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ IPage<DmpDeviceInfo> page = new Page<>(requestVO.getCurrent(), requestVO.getSize());
|
|
|
|
+ LambdaQueryWrapper<DmpDeviceInfo> queryWrapper = Wrappers.lambdaQuery();
|
|
|
|
+ queryWrapper.select(DmpDeviceInfo::getDeviceId,DmpDeviceInfo::getDeviceName,DmpDeviceInfo::getDeviceType,DmpDeviceInfo::getInstallAddress)
|
|
|
|
+ .eq(DmpDeviceInfo::getTenantId,SecurityUtils.getTenantId())
|
|
|
|
+ .eq(requestVO.getDeviceType() != null,DmpDeviceInfo::getDeviceType,requestVO.getDeviceType())
|
|
|
|
+ .orderByDesc(DmpDeviceInfo::getId);
|
|
|
|
+ page = this.page(page,queryWrapper);
|
|
|
|
+ if(page.getSize() <=0){
|
|
|
|
+ return new CommonPage<>(list,0,requestVO.getSize(),requestVO.getCurrent());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(page.getRecords().size() > 0){
|
|
|
|
+ List<String> deviceIdList = new ArrayList<>();
|
|
|
|
+ for(int i=0;i<page.getRecords().size();i++){
|
|
|
|
+ deviceIdList.add(page.getRecords().get(i).getDeviceId());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ QueryWrapper<DmpProductAttribute> query = new QueryWrapper<>();
|
|
|
|
+ query.select("DISTINCT attribute_code,attribute_name,attribute_unit");
|
|
|
|
+ List<DmpProductAttribute> attributeVOList = dmpProductAttributeService.list(query);
|
|
|
|
+
|
|
|
|
+ if(deviceIdList.size() > 0){
|
|
|
|
+ List<DataRealTimeResponseVO> dataRealList = deviceDataClient.data(null,deviceIdList);
|
|
|
|
+ for(int i=0;i<page.getRecords().size();i++){
|
|
|
|
+ DataTVResponseVO dataTVResponseVO = new DataTVResponseVO();
|
|
|
|
+ dataTVResponseVO.setDeviceId(page.getRecords().get(i).getDeviceId());
|
|
|
|
+ dataTVResponseVO.setDeviceName(page.getRecords().get(i).getDeviceName());
|
|
|
|
+ dataTVResponseVO.setDeviceType(page.getRecords().get(i).getDeviceType());
|
|
|
|
+ dataTVResponseVO.setInstallAddress(page.getRecords().get(i).getInstallAddress());
|
|
|
|
+ List<DeviceAttributeVO> list1 = new ArrayList<>();
|
|
|
|
+ if(dataRealList.size() > 0){
|
|
|
|
+ for (int j = 0; j < dataRealList.size(); j++) {
|
|
|
|
+ if(page.getRecords().get(i).getDeviceId().equals(dataRealList.get(j).getDeviceId())){
|
|
|
|
+ DeviceAttributeVO attributeVO = new DeviceAttributeVO();
|
|
|
|
+ attributeVO.setCode(dataRealList.get(j).getAttributeName());
|
|
|
|
+ attributeVO.setValue(dataRealList.get(j).getAttributeData());
|
|
|
|
+ attributeVO.setTime(""+dataRealList.get(j).getDataTime());
|
|
|
|
+ if((attributeVOList.size() >0)){
|
|
|
|
+ for (int k = 0; k < attributeVOList.size(); k++) {
|
|
|
|
+ if(dataRealList.get(j).getAttributeName().equals(attributeVOList.get(k).getAttributeCode())){
|
|
|
|
+ if(Objects.nonNull(attributeVOList.get(k).getAttributeName())){
|
|
|
|
+ attributeVO.setName(attributeVOList.get(k).getAttributeName());
|
|
|
|
+ }
|
|
|
|
+ if(Objects.nonNull(attributeVOList.get(k).getAttributeUnit())){
|
|
|
|
+ attributeVO.setUnit(attributeVOList.get(k).getAttributeUnit());
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ list1.add(attributeVO);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ dataTVResponseVO.setDp(list1);
|
|
|
|
+ list.add(dataTVResponseVO);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ return new CommonPage<>(list,page.getTotal(),page.getSize(),page.getCurrent());
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public List<Map<String,Object>> deviceDataTotal(DataTotalRequestVO requestVO){
|
|
public List<Map<String,Object>> deviceDataTotal(DataTotalRequestVO requestVO){
|
|
List<Map<String,Object>> list = dataQueryClient.deviceDataTotal(requestVO);
|
|
List<Map<String,Object>> list = dataQueryClient.deviceDataTotal(requestVO);
|