diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceQrtzController.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceQrtzController.java index 45d94af..ec7273a 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceQrtzController.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceQrtzController.java @@ -154,9 +154,8 @@ public class DeviceQrtzController extends BaseController { */ @SaCheckPermission("devict:qrtz:remove") @Log(title = "自动飞行航线删除", businessType = BusinessType.DELETE) - @DeleteMapping("/fileRemove/{id}") - public R fileRemove(@NotEmpty(message = "主键不能为空") - @PathVariable Long id) { + @DeleteMapping("/fileRemove") + public R fileRemove(@NotNull(message = "主键不能为空")Long id) { return toAjax(deviceQrtzService.fileRemove(id)); } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzFileEntity.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzFileEntity.java index e3df59e..77a4773 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzFileEntity.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzFileEntity.java @@ -44,8 +44,7 @@ public class DeviceQrtzFileEntity implements Serializable { private Integer status; - - + private String deviceSn; /** * 飞行时间 diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java index bb24788..b7b2827 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java @@ -4,13 +4,13 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; + import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.dromara.common.core.constant.DeviceQrtzConstants; -import org.dromara.common.core.utils.MapstructUtils; + import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.sample.manage.mapper.IDeviceMapper; + import org.dromara.sample.manage.mapper.IDeviceQrtzDateMapper; import org.dromara.sample.manage.mapper.IDeviceQrtzFileMapper; import org.dromara.sample.manage.mapper.IDeviceQrtzMapper; @@ -21,9 +21,9 @@ import org.dromara.sample.manage.model.entity.DeviceQrtzDateEntity; import org.dromara.sample.manage.model.entity.DeviceQrtzEntity; import org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity; import org.dromara.sample.manage.service.IDeviceQrtzDateService; -import org.dromara.sample.manage.service.IDeviceQrtzFileService; + import org.dromara.sample.manage.service.IDeviceQrtzService; -import org.dromara.sample.manage.service.IDeviceService; + import org.dromara.sample.wayline.mapper.IWaylineFileMapper; import org.dromara.sample.wayline.model.entity.WaylineFileEntity; import org.dromara.system.api.model.LoginUser; @@ -32,6 +32,10 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.text.ParseException; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; import java.util.Collection; import java.util.Date; import java.util.List; @@ -191,6 +195,7 @@ public class DeviceQrtzServiceImpl implements IDeviceQrtzService { DeviceQrtzFileEntity entity = new DeviceQrtzFileEntity(); QueryWrapper queryWrapper = new QueryWrapper().eq("wayline_id", waylineId); WaylineFileEntity fileEntity = waylineFileMapper.selectOne(queryWrapper); + entity.setDeviceSn(fileEntity.getDeviceSn()); entity.setQrtzId(qrtzId); entity.setWaylineId(waylineId); entity.setWaylineName(fileEntity.getName()); @@ -250,8 +255,39 @@ public class DeviceQrtzServiceImpl implements IDeviceQrtzService { return deviceQrtzFileMapper.updateById(entity)>0; } + @Override public DeviceQrtzFileEntity getDeviceQrtzFileEntity(String deviceSn) { + if(StrUtil.isNotEmpty(deviceSn)){ + // 获取当前日期 + LocalDate currentDate = LocalDate.now(); + + // 定义日期格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + + // 格式化当前日期 + String formattedDate = currentDate.format(formatter); + List qrtzFileEntityList = deviceQrtzFileMapper.selectList(new QueryWrapper().eq("device_sn", deviceSn).eq("exec_date", formattedDate).eq("status", DeviceQrtzConstants.QRTZ_FILE_STATUS_1).orderByAsc("sort")); + if(!qrtzFileEntityList.isEmpty()){ + DeviceQrtzFileEntity deviceQrtzFileEntity = qrtzFileEntityList.get(0); + List qrtzDateEntityList = deviceQrtzDateMapper.listDeviceQrtzDateByQrtzAndDate(deviceQrtzFileEntity.getQrtzId()); + if(!qrtzDateEntityList.isEmpty()){ + // 获取当前日期和时间 + LocalDateTime currentDateTime = LocalDateTime.now(); + for (DeviceQrtzDateEntity qrtzDate : qrtzDateEntityList) { + if (!currentDateTime.isBefore(Convert.toLocalDateTime(qrtzDate.getStartDate())) && !currentDateTime.isAfter(Convert.toLocalDateTime(qrtzDate.getEndDate()))){ + //获取航线数据发送之类 + //获取是否是工单航线,是修改状态 + + } + + + } + + } + } + + } return null; } } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineFileEntity.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineFileEntity.java index 034a767..70d835f 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineFileEntity.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/model/entity/WaylineFileEntity.java @@ -30,6 +30,8 @@ public class WaylineFileEntity implements Serializable { @TableField("wayline_id") private String waylineId; + @TableField("device_sn") + private String deviceSn; @TableField("drone_model_key") private String droneModelKey;