diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/DeviceInfoPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/DeviceInfoPageReqVO.java index 8e54f527..63664124 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/DeviceInfoPageReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/DeviceInfoPageReqVO.java @@ -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 imageList; @Schema(description = "告警状态图片") private String alarmImage; diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/v2/DeviceInfoPageV2ReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/v2/DeviceInfoPageV2ReqVO.java index cf5cc2a4..72461fab 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/v2/DeviceInfoPageV2ReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/v2/DeviceInfoPageV2ReqVO.java @@ -14,7 +14,7 @@ import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor -public class DeviceInfoPageV2ReqVO extends PageParam { +public class DeviceInfoPageV2ReqVO { @Schema(description = "基地ID") private String baseId; diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/v2/DeviceInfoPageV2RespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/v2/DeviceInfoPageV2RespVO.java index 7818c279..8d3d001c 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/v2/DeviceInfoPageV2RespVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/v2/DeviceInfoPageV2RespVO.java @@ -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 imageList; + @Schema(description = "基地iD") private String baseId; @Schema(description = "基地坐标") diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceinfo/DeviceInfoServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceinfo/DeviceInfoServiceImpl.java index 48facd86..959dc277 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceinfo/DeviceInfoServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceinfo/DeviceInfoServiceImpl.java @@ -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 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; } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java index e24c69e0..fec9db0f 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java @@ -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 inputs = farmingRecordInputMapper.selectList( new LambdaQueryWrapperX()