package com.ruoyi.web.controller.fuzhou;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.exception.ServiceException;
|
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.fuzhou.domain.*;
|
import com.ruoyi.fuzhou.domain.vo.ReceiveValueListVo;
|
import com.ruoyi.fuzhou.enums.DataTypeEnum;
|
import com.ruoyi.fuzhou.service.*;
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import jakarta.annotation.Resource;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 数据接收信息 前端控制器
|
* </p>
|
*
|
* @author zhangyy
|
* @since 2025-03-10
|
*/
|
@Tag(name = "设备数据管理")
|
@RestController
|
@RequestMapping("/dp/receiveInfo")
|
public class ReceiveInfoController {
|
|
@Resource
|
private EquipmentService equipmentService;
|
|
@Resource
|
private ReceiveOilValueService receiveOilValueService;
|
|
@Resource
|
private ReceiveWaterValueService receiveWaterValueService;
|
|
@Resource
|
private ReceiveWaterInfoService receiveWaterInfoService;
|
|
@Resource
|
private ReceiveOilInfoService receiveOilInfoService;
|
|
@Resource
|
private ReceiveElectricityInfoService receiveElectricityInfoService;
|
@Resource
|
private ReceiveWeatherInfoService receiveWeatherInfoService;
|
@Resource
|
private ReceiveWeatherValueService receiveWeatherValueService;
|
|
@Resource
|
private ReceiveSlmInfoService receiveSlmInfoService;
|
|
@Resource
|
private ReceiveSlmValueService receiveSlmValueService;
|
|
@Resource
|
private ReceiveElectricityValueService receiveElectricityValueService;
|
|
@Resource
|
private ReceiveCarRuleService receiveCarRuleService;
|
|
@Resource
|
private ReceiveCarValueService receiveCarValueService;
|
|
@Operation(summary = "设备列表列表")
|
@GetMapping("/list")
|
public R<List<DpEquipment>> list(@RequestParam(value = "deviceType", required = false) Integer deviceType) {
|
return R.ok(equipmentService.list(new LambdaQueryWrapper<DpEquipment>() {{
|
or().eq(DpEquipment::getEquipmentTypeId, deviceType);
|
}}));
|
}
|
|
@Operation(summary = "获取设备数据")
|
@PostMapping("/dataList")
|
public R<List> dataList(@Validated @RequestBody ReceiveValueListVo vo) {
|
DpEquipment receiveInfo = equipmentService.getById(vo.getId());
|
if (receiveInfo == null) {
|
throw new ServiceException("设备不存在!");
|
}
|
if (DataTypeEnum.LIJIUOIL.getCode().equals(receiveInfo.getEquipmentTypeId()) || DataTypeEnum.OIL.getCode().equals(receiveInfo.getEquipmentTypeId()) ||
|
DataTypeEnum.LIJIUJUN.getCode().equals(receiveInfo.getEquipmentTypeId()) || DataTypeEnum.NIGDETUIYOU.getCode().equals(receiveInfo.getEquipmentTypeId())) {
|
return R.ok(receiveOilValueService.list(new LambdaQueryWrapper<ReceiveOilValue>() {{
|
or().eq(ReceiveOilValue::getDeviceName, String.valueOf(receiveInfo.getId()))
|
.ge(vo.getStartTime() != null, ReceiveOilValue::getCreateTime, vo.getStartTime())
|
.lt(vo.getEndTime() != null, ReceiveOilValue::getCreateTime, vo.getEndTime())
|
.orderByDesc(ReceiveOilValue::getCreateTime);
|
}}));
|
} else if (DataTypeEnum.WATER_FLOW.getCode().equals(receiveInfo.getEquipmentTypeId()) || DataTypeEnum.WATER_YA.getCode().equals(receiveInfo.getEquipmentTypeId())
|
|| DataTypeEnum.WATER_DEPT.getCode().equals(receiveInfo.getEquipmentTypeId())) {
|
return R.ok(receiveWaterValueService.list(new LambdaQueryWrapper<ReceiveWaterValue>() {{
|
or().eq(ReceiveWaterValue::getDeviceName, String.valueOf(receiveInfo.getId()))
|
.ge(vo.getStartTime() != null, ReceiveWaterValue::getCreateTime, vo.getStartTime())
|
.lt(vo.getEndTime() != null, ReceiveWaterValue::getCreateTime, vo.getEndTime())
|
.orderByDesc(ReceiveWaterValue::getCreateTime);
|
}}));
|
} else if (DataTypeEnum.ELECTRICITY.getCode().equals(receiveInfo.getEquipmentTypeId())) {
|
return R.ok(receiveElectricityValueService.list(new LambdaQueryWrapper<ReceiveElectricityValue>() {{
|
or().eq(ReceiveElectricityValue::getDeviceName, String.valueOf(receiveInfo.getId()))
|
.ge(vo.getStartTime() != null, ReceiveElectricityValue::getCreateTime, vo.getStartTime())
|
.lt(vo.getEndTime() != null, ReceiveElectricityValue::getCreateTime, vo.getEndTime())
|
.orderByDesc(ReceiveElectricityValue::getCreateTime);
|
}}));
|
} else if (DataTypeEnum.GONGKUANG.getCode().equals(receiveInfo.getEquipmentTypeId())) {
|
return R.ok(receiveCarValueService.list(new LambdaQueryWrapper<ReceiveCarValue>() {{
|
or().eq(ReceiveCarValue::getVin, receiveInfo.getEquCode())
|
.ge(vo.getStartTime() != null, ReceiveCarValue::getCreateTime, vo.getStartTime())
|
.lt(vo.getEndTime() != null, ReceiveCarValue::getCreateTime, vo.getEndTime())
|
.orderByDesc(ReceiveCarValue::getCreateTime);
|
}}));
|
}else if (DataTypeEnum.WEATHER.getCode().equals(receiveInfo.getEquipmentTypeId())) {
|
return R.ok(receiveWeatherValueService.list(new LambdaQueryWrapper<ReceiveWeatherValue>() {{
|
or().eq(ReceiveWeatherValue::getDeviceName, receiveInfo.getId())
|
.ge(vo.getStartTime() != null, ReceiveWeatherValue::getCreateTime, vo.getStartTime())
|
.lt(vo.getEndTime() != null, ReceiveWeatherValue::getCreateTime, vo.getEndTime())
|
.orderByDesc(ReceiveWeatherValue::getCreateTime);
|
}}));
|
}else if (DataTypeEnum.SLM.getCode().equals(receiveInfo.getEquipmentTypeId())) {
|
return R.ok(receiveSlmValueService.list(new LambdaQueryWrapper<ReceiveSlmValue>() {{
|
or().eq(ReceiveSlmValue::getDeviceName, receiveInfo.getId())
|
.ge(vo.getStartTime() != null, ReceiveSlmValue::getCreateTime, vo.getStartTime())
|
.lt(vo.getEndTime() != null, ReceiveSlmValue::getCreateTime, vo.getEndTime())
|
.orderByDesc(ReceiveSlmValue::getCreateTime);
|
}}));
|
}
|
return R.ok(new ArrayList());
|
}
|
|
@Operation(summary = "获取设备数据表头")
|
@GetMapping("/tableList")
|
public R<List> tableList(@RequestParam("id") Long id) {
|
DpEquipment receiveInfo = equipmentService.getById(id);
|
if (receiveInfo == null) {
|
throw new ServiceException("设备不存在!");
|
}
|
if (DataTypeEnum.LIJIUOIL.getCode().equals(receiveInfo.getEquipmentTypeId()) || DataTypeEnum.OIL.getCode().equals(receiveInfo.getEquipmentTypeId()) ||
|
DataTypeEnum.LIJIUJUN.getCode().equals(receiveInfo.getEquipmentTypeId()) || DataTypeEnum.NIGDETUIYOU.getCode().equals(receiveInfo.getEquipmentTypeId())) {
|
return R.ok(receiveOilInfoService.list(new LambdaQueryWrapper<ReceiveOilInfo>() {{
|
or().select(ReceiveOilInfo::getParam, ReceiveOilInfo::getParamCode, ReceiveOilInfo::getUnit).eq(ReceiveOilInfo::getDeviceName, String.valueOf(receiveInfo.getId()));
|
}}));
|
} else if (DataTypeEnum.WATER_FLOW.getCode().equals(receiveInfo.getEquipmentTypeId()) || DataTypeEnum.WATER_YA.getCode().equals(receiveInfo.getEquipmentTypeId())
|
|| DataTypeEnum.WATER_DEPT.getCode().equals(receiveInfo.getEquipmentTypeId())) {
|
return R.ok(receiveWaterInfoService.list(new LambdaQueryWrapper<ReceiveWaterInfo>() {{
|
or().select(ReceiveWaterInfo::getParam, ReceiveWaterInfo::getParamCode, ReceiveWaterInfo::getUnit).eq(ReceiveWaterInfo::getDeviceName, String.valueOf(receiveInfo.getId()));
|
}}));
|
} else if (DataTypeEnum.ELECTRICITY.getCode().equals(receiveInfo.getEquipmentTypeId())) {
|
return R.ok(receiveElectricityInfoService.list(new LambdaQueryWrapper<ReceiveElectricityInfo>() {{
|
or().select(ReceiveElectricityInfo::getParam, ReceiveElectricityInfo::getParamCode, ReceiveElectricityInfo::getUnit).eq(ReceiveElectricityInfo::getDeviceName, String.valueOf(receiveInfo.getId()));
|
}}));
|
} else if (DataTypeEnum.GONGKUANG.getCode().equals(receiveInfo.getEquipmentTypeId())) {
|
List<ReceiveElectricityInfo> receiveElectricityInfos = new ArrayList<>();
|
List<ReceiveCarRule> list = receiveCarRuleService.list();
|
ReceiveElectricityInfo electricityInfo;
|
for (ReceiveCarRule rule : list
|
) {
|
electricityInfo = new ReceiveElectricityInfo();
|
electricityInfo.setUnit(rule.getUnit());
|
electricityInfo.setParamCode(rule.getCarCode());
|
electricityInfo.setParam(rule.getDataName());
|
receiveElectricityInfos.add(electricityInfo);
|
}
|
return R.ok(receiveElectricityInfos);
|
} else if (DataTypeEnum.WEATHER.getCode().equals(receiveInfo.getEquipmentTypeId())) {
|
return R.ok(receiveWeatherInfoService.list(new LambdaQueryWrapper<ReceiveWeatherInfo>() {{
|
or().select(ReceiveWeatherInfo::getParam, ReceiveWeatherInfo::getParamCode, ReceiveWeatherInfo::getUnit).eq(ReceiveWeatherInfo::getDeviceName, String.valueOf(receiveInfo.getId()));
|
}}));
|
} else if (DataTypeEnum.SLM.getCode().equals(receiveInfo.getEquipmentTypeId())) {
|
return R.ok(receiveSlmInfoService.list(new LambdaQueryWrapper<ReceiveSlmInfo>() {{
|
or().select(ReceiveSlmInfo::getParam, ReceiveSlmInfo::getParamCode, ReceiveSlmInfo::getUnit).eq(ReceiveSlmInfo::getDeviceName, String.valueOf(receiveInfo.getId()));
|
}}));
|
}
|
return R.ok(new ArrayList());
|
}
|
|
|
}
|