fix (farm): 设备中心, 农事记录

- 获取image,imageList
- 农事记录新增bug
This commit is contained in:
达富斌
2025-09-21 22:27:00 +08:00
parent 63b9c8f4f1
commit 844383c84c
5 changed files with 38 additions and 9 deletions

View File

@@ -6,6 +6,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.util.List;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -72,6 +73,7 @@ public class DeviceInfoPageReqVO extends PageParam {
@Schema(description = "设备图片")
private String image;
private List<String> imageList;
@Schema(description = "告警状态图片")
private String alarmImage;

View File

@@ -14,7 +14,7 @@ import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DeviceInfoPageV2ReqVO extends PageParam {
public class DeviceInfoPageV2ReqVO {
@Schema(description = "基地ID")
private String baseId;

View File

@@ -4,6 +4,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* @description: 分页查询
* @author: binda
@@ -37,6 +39,9 @@ public class DeviceInfoPageV2RespVO extends PageParam {
@Schema(description = "设备坐标")
private String point;
private String image;
private List<String> imageList;
@Schema(description = "基地iD")
private String baseId;
@Schema(description = "基地坐标")

View File

@@ -5,6 +5,12 @@ import cn.hutool.core.util.IdUtil;
import cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo.DeviceInfoPageReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo.DeviceInfoSaveReqVO;
import cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo.v2.DeviceStatisticsRespVO;
import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.deviceclassify.DeviceClassifyDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO;
import cn.iocoder.yudao.module.farm.dal.mysql.baseinfo.BaseInfoMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.deviceclassify.DeviceClassifyMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.plotinfo.PlotInfoMapper;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@@ -37,6 +43,12 @@ public class DeviceInfoServiceImpl implements DeviceInfoService {
@Resource
private DeviceInfoMapper deviceInfoMapper;
@Resource
private DeviceClassifyMapper deviceClassifyMapper;
@Resource
private BaseInfoMapper baseInfoMapper;
@Resource
private PlotInfoMapper plotInfoMapper;
@Override
public String createDeviceInfo(DeviceInfoSaveReqVO createReqVO) {
@@ -45,6 +57,12 @@ public class DeviceInfoServiceImpl implements DeviceInfoService {
DeviceInfoDO deviceInfo = BeanUtils.toBean(createReqVO, DeviceInfoDO.class);
deviceInfo.setId(IdUtil.fastUUID());
deviceInfo.setTenantId(String.valueOf(user.getTenantId()));
BaseInfoDO baseInfoDO = baseInfoMapper.selectOne(BaseInfoDO::getId, createReqVO.getBaseId());
deviceInfo.setBaseName(baseInfoDO.getName());
PlotInfoDO plotInfoDO = plotInfoMapper.selectOne(PlotInfoDO::getId, deviceInfo.getPlotId());
deviceInfo.setPlotName(plotInfoDO.getPlotName());
deviceInfoMapper.insert(deviceInfo);
// 返回
@@ -97,13 +115,14 @@ private void validateDeviceInfoExists(String id) {
PageResult<DeviceInfoDO> pageResult = deviceInfoMapper.selectPage(pageReqVO);
if (pageResult.getList() != null) {
// 触发图片集合转换,确保分页结果中的每个DO对象都包含转换后的图片集合
pageResult.getList().forEach(deviceInfo -> {
if (deviceInfo != null) {
deviceInfo.getImageList();
deviceInfo.getAlarmImageList();
deviceInfo.getOfflineImageList();
for (DeviceInfoDO d : pageResult.getList()) {
if (d == null) {
continue;
}
DeviceClassifyDO dc = deviceClassifyMapper.selectOne(DeviceClassifyDO::getId, d.getDeviceType());
d.setImage(dc.getImage());
d.setImageList(dc.getImageList());
}
});
}
return pageResult;
}

View File

@@ -137,8 +137,11 @@ public class FarmingRecordServiceImpl implements FarmingRecordService {
// 触发任务时间和执行人集合转换,确保返回格式一致
farmingRecord.getTaskTimeList();
farmingRecord.getExecutorList();
FarmingNameMaintenanceDO farmingNameMaintenanceDO = farmingNameMaintenanceMapper.selectOne(FarmingNameMaintenanceDO::getFarmingCode, farmingRecord.getTaskType());
farmingRecord.setTaskType(farmingNameMaintenanceDO.getFarmingName());
FarmingTypeMaintenanceDO farmingTypeMaintenanceDO = farmingTypeMaintenanceMapper.selectOne(FarmingTypeMaintenanceDO::getId, farmingRecord.getTaskType());
farmingRecord.setTaskType(farmingTypeMaintenanceDO.getFarmingName());
FarmingNameMaintenanceDO farmingNameMaintenanceDO = farmingNameMaintenanceMapper.selectOne(FarmingNameMaintenanceDO::getId, farmingRecord.getTaskName());
farmingRecord.setTaskName(farmingNameMaintenanceDO.getFarmingName());
// 查询并填充投入品列表
List<FarmingRecordInputDO> inputs = farmingRecordInputMapper.selectList(
new LambdaQueryWrapperX<FarmingRecordInputDO>()