Browse Source

提交:自动飞行任务

pull/1/head
袁强 3 months ago
parent
commit
5e2acc9a09
  1. 7
      dk-common/common-log/src/main/java/org/dromara/common/log/enums/OperatorType.java
  2. 115
      dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceQrtzController.java
  3. 17
      dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzDateMapper.java
  4. 12
      dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzFileMapper.java
  5. 39
      dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzMapper.java
  6. 93
      dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzDTO.java
  7. 76
      dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzDateDTO.java
  8. 84
      dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzFileDTO.java
  9. 81
      dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzDateEntity.java
  10. 81
      dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzEntity.java
  11. 86
      dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzFileEntity.java
  12. 14
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzDateService.java
  13. 8
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzFileService.java
  14. 48
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzService.java
  15. 24
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzDateServiceImpl.java
  16. 13
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzFileServiceImpl.java
  17. 143
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java
  18. 22
      dk-modules/sample/src/main/resources/mapper/DeviceQrtzDateMapper.xml
  19. 9
      dk-modules/sample/src/main/resources/mapper/DeviceQrtzFileMapper.xml
  20. 55
      dk-modules/sample/src/main/resources/mapper/DeviceQrtzMapper.xml
  21. 2
      pom.xml

7
dk-common/common-log/src/main/java/org/dromara/common/log/enums/OperatorType.java

@ -19,5 +19,10 @@ public enum OperatorType {
/**
* 手机端用户
*/
MOBILE
MOBILE ,
/**
* 前台用户
*/
CLIENTELE
}

115
dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceQrtzController.java

@ -0,0 +1,115 @@
package org.dromara.sample.manage.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.sample.manage.model.dto.DeviceQrtzDTO;
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.IDeviceQrtzService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @auther yq
* @data 2025/3/21
*/
@RestController
@RequestMapping("/devict/qrtz")
@Validated
@Tag(name = "自动飞行设备模块")
public class DeviceQrtzController extends BaseController {
@Autowired
private IDeviceQrtzService deviceQrtzService;
/**
*自动飞行设备列表
* */
@SaCheckPermission("devict:qrtz:list")
@GetMapping(value = "/page")
public TableDataInfo<DeviceQrtzEntity> queryPageDept(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, DeviceQrtzDTO deviceQrtzDTO) {
Page<DeviceQrtzEntity> page = new Page(pageNo,pageSize);
return deviceQrtzService.listManageDeviceQrtz(page, deviceQrtzDTO);
}
/**
*自动飞行日历列表
*
* */
@SaCheckPermission("devict:qrtz:list")
@GetMapping(value = "/listFileExecDate")
public R<Map<Date, List<DeviceQrtzFileEntity>>> listFileExecDate(String qrtzId) {
List<DeviceQrtzFileEntity> waylineDeviceQrtzFiles = deviceQrtzService.manageDeviceQrtzFileByQrtzId(qrtzId);
Map<Date, List<DeviceQrtzFileEntity>> listMap = waylineDeviceQrtzFiles.stream().filter(f-> ObjectUtil.isNotEmpty(f.getExecDate())).collect(Collectors.groupingBy(DeviceQrtzFileEntity::getExecDate));
return R.ok(listMap);
}
/**
* 设备定时飞行详情
*
* @param id 主键
*/
@SaCheckPermission("devict:qrtz:query")
@GetMapping("/{id}")
public R<DeviceQrtzEntity> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
DeviceQrtzEntity deviceQrtzEntity = deviceQrtzService.queryById(id);
return R.ok(deviceQrtzEntity);
}
/**
* 自动飞行编辑
*/
@SaCheckPermission("devict:qrtz:edit")
@Log(title = "自动飞行编辑", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody DeviceQrtzEntity entity) {
return toAjax(deviceQrtzService.updateByBo(entity));
}
/**
* 自动飞行新增
*/
@SaCheckPermission("devict:qrtz:add")
@Log(title = "自动飞行新增", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PutMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody DeviceQrtzEntity entity) {
return toAjax(deviceQrtzService.updateByBo(entity));
}
/**
* 自动飞行删除
*
* @param ids 主键串
*/
@SaCheckPermission("system:client:remove")
@Log(title = "自动飞行删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(deviceQrtzService.deleteIds(List.of(ids)));
}
}

17
dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzDateMapper.java

@ -0,0 +1,17 @@
package org.dromara.sample.manage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.dromara.sample.manage.model.entity.DeviceQrtzDateEntity;
import java.util.List;
/**
* @auther yq
* @data 2025/3/20
*/
public interface IDeviceQrtzDateMapper extends BaseMapper<DeviceQrtzDateEntity> {
List<DeviceQrtzDateEntity> listDeviceQrtzDateByQrtzIdAndDate(@Param("condition") DeviceQrtzDateEntity deviceQrtzDateEntity);
List<DeviceQrtzDateEntity> listDeviceQrtzDateByQrtzAndDate(@Param("qrtzId") Long qrtzId);
}

12
dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzFileMapper.java

@ -0,0 +1,12 @@
package org.dromara.sample.manage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.dromara.sample.manage.model.entity.DevicePayloadEntity;
import org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity;
/**
* @auther yq
* @data 2025/3/20
*/
public interface IDeviceQrtzFileMapper extends BaseMapper<DeviceQrtzFileEntity> {
}

39
dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzMapper.java

@ -0,0 +1,39 @@
package org.dromara.sample.manage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.dromara.sample.manage.model.dto.DeviceQrtzDTO;
import org.dromara.sample.manage.model.entity.DeviceQrtzEntity;
import org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity;
import java.text.ParseException;
import java.util.List;
import java.util.Map;
/**
* @auther yq
* @data 2025/3/20
*/
public interface IDeviceQrtzMapper extends BaseMapper<DeviceQrtzEntity> {
IPage<DeviceQrtzEntity> listManageDeviceQrtz(Page page, @Param("condition") DeviceQrtzDTO deviceQrtzDTO);
List<DeviceQrtzEntity> listManageDeviceQrtz( @Param("condition") DeviceQrtzDTO deviceQrtzDTO);
List<DeviceQrtzFileEntity> manageDeviceQrtzFileByQrtzId(@Param("qrtzId") String qrtzId);
}

93
dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzDTO.java

@ -0,0 +1,93 @@
package org.dromara.sample.manage.model.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.sample.manage.model.entity.DeviceQrtzDateEntity;
import org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @auther yq
* @data 2025/3/20
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DeviceQrtzDTO {
/**
* id
*/
@NotNull(message = "id不能为空", groups = { EditGroup.class })
@TableId(type = IdType.AUTO)
private Long id;
/**
* sn
*/
private String deviceSn;
/**
* deviceId
*/
private String deviceId;
/**
* 飞行计划名称
*/
private String name;
/**
状态(1-使用,2-暂停,0-异常暂停)
*/
private Integer status;
/**
计划时间
*/
private List<DeviceQrtzDateEntity> deviceQrtzDates = new ArrayList<>();
/**
计划航线
*/
private List<DeviceQrtzFileEntity> deviceQrtzFiles = new ArrayList<>();
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
* 删除 0 正常 1已删除
*/
private Integer delFlag;
}

76
dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzDateDTO.java

@ -0,0 +1,76 @@
package org.dromara.sample.manage.model.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @auther yq
* @data 2025/3/20
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DeviceQrtzDateDTO {
/**
* ID
*/
@TableId(type = IdType.AUTO)
private String id;
/**任务id*/
private String qrtzId;
/**
* 开始时间
*/
private String startDate;
/**
* 结束时间
*/
private String endDate;
@TableField(exist = false)
private String currentDate;
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
* 删除 0 正常 1已删除
*/
private Integer delFlag;
}

84
dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzFileDTO.java

@ -0,0 +1,84 @@
package org.dromara.sample.manage.model.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @auther yq
* @data 2025/3/20
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DeviceQrtzFileDTO {
/**
* ID
*/
@TableId(type = IdType.AUTO)
private String id;
private String qrtzId;
private String fileId;
private String waylineName;
private String sort;
private Integer status;
@TableField(exist = false)
private Integer fileNumber;
@TableField(exist = false)
private String fileStr;
private Date flightDate;
private Date execDate;
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
* 删除 0 正常 1已删除
*/
private Integer delFlag;
}

81
dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzDateEntity.java

@ -0,0 +1,81 @@
package org.dromara.sample.manage.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @auther yq
* @data 2025/3/20
*/
@TableName("manage_device_qrtz_date")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DeviceQrtzDateEntity implements Serializable {
/**
* ID
*/
@TableId(type = IdType.AUTO)
private Long id;
/**任务id*/
private String qrtzId;
/**
* 开始时间
*/
private String startDate;
/**
* 结束时间
*/
private String endDate;
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
* 删除 0 正常 1已删除
*/
private Integer delFlag;
}

81
dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzEntity.java

@ -0,0 +1,81 @@
package org.dromara.sample.manage.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @Description:
* @Author: wy
* @Date: 2023-03-07
* @Version: V1.0
*/
@TableName("manage_device_qrtz")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DeviceQrtzEntity implements Serializable {
@TableId(type = IdType.AUTO)
private String id;
private String deviceId;
private String name;
private Integer status;
private String deviceSn;
/**
计划时间
*/
@TableField(exist = false)
private List<DeviceQrtzDateEntity> deviceQrtzDates = new ArrayList<>();
/**
计划航线
*/
@TableField(exist = false)
private List<DeviceQrtzFileEntity> deviceQrtzFiles = new ArrayList<>();
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
* 删除 0 正常 1已删除
*/
private Integer delFlag;
}

86
dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzFileEntity.java

@ -0,0 +1,86 @@
package org.dromara.sample.manage.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @auther yq
* @data 2025/3/20
*/
@TableName("manage_device_qrtz_file")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DeviceQrtzFileEntity implements Serializable {
/**
* ID
*/
@TableId(type = IdType.AUTO)
private String id;
private String qrtzId;
private String fileId;
private String waylineName;
private String sort;
private Integer status;
private Date flightDate;
private Date execDate;
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
* 删除 0 正常 1已删除
*/
private Integer delFlag;
}

14
dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzDateService.java

@ -0,0 +1,14 @@
package org.dromara.sample.manage.service;
import org.dromara.sample.manage.model.entity.DeviceQrtzDateEntity;
import java.util.List;
/**
* @auther yq
* @data 2025/3/20
*/
public interface IDeviceQrtzDateService {
List<DeviceQrtzDateEntity> listManageDeviceQrtzDate(Long qrtzId);
}

8
dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzFileService.java

@ -0,0 +1,8 @@
package org.dromara.sample.manage.service;
/**
* @auther yq
* @data 2025/3/20
*/
public interface IDeviceQrtzFileService {
}

48
dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzService.java

@ -0,0 +1,48 @@
package org.dromara.sample.manage.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.sample.manage.model.dto.DeviceDTO;
import org.dromara.sample.manage.model.dto.DeviceQrtzDTO;
import org.dromara.sample.manage.model.dto.DeviceQrtzFileDTO;
import org.dromara.sample.manage.model.entity.DeviceQrtzEntity;
import org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity;
import java.text.ParseException;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* @auther yq
* @data 2025/3/20
*/
public interface IDeviceQrtzService {
TableDataInfo<DeviceQrtzEntity> listManageDeviceQrtz(Page page, DeviceQrtzDTO deviceQrtzDTO);
DeviceQrtzEntity queryById(Long id);
List<DeviceQrtzEntity> listManageDeviceQrtz(DeviceQrtzDTO deviceQrtzDTO);
Map<String, Object> calendarList(String time) throws ParseException;
boolean addAndUpdateManageDeviceQrtz(DeviceQrtzDTO deviceQrtzDTO);
boolean addManageDeviceQrtzFile(DeviceQrtzFileDTO deviceQrtzFileDTO);
boolean updateManageDeviceQrtzFile(DeviceQrtzFileDTO deviceQrtzFileDTO);
boolean deleteManageDeviceQrtz(DeviceQrtzDTO deviceQrtzDTO);
List<DeviceQrtzFileEntity> manageDeviceQrtzFileByQrtzId(String qrtzId);
boolean copy(String deviceSn,String starDate,String endDate);
boolean deleteManageDeviceQrtzFile(String id);
void jobWayline(DeviceDTO deviceDTO);
Boolean updateByBo(DeviceQrtzEntity entity);
Boolean add(DeviceQrtzEntity entity);
Boolean deleteIds(Collection<Long> ids);
}

24
dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzDateServiceImpl.java

@ -0,0 +1,24 @@
package org.dromara.sample.manage.service.impl;
import org.dromara.sample.manage.mapper.IDeviceQrtzDateMapper;
import org.dromara.sample.manage.mapper.IDeviceQrtzMapper;
import org.dromara.sample.manage.model.entity.DeviceQrtzDateEntity;
import org.dromara.sample.manage.service.IDeviceQrtzDateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @auther yq
* @data 2025/3/20
*/
@Service
public class DeviceQrtzDateServiceImpl implements IDeviceQrtzDateService {
@Autowired
private IDeviceQrtzDateMapper deviceQrtzDateMapper;
@Override
public List<DeviceQrtzDateEntity> listManageDeviceQrtzDate(Long qrtzId) {
return deviceQrtzDateMapper.listDeviceQrtzDateByQrtzAndDate(qrtzId);
}
}

13
dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzFileServiceImpl.java

@ -0,0 +1,13 @@
package org.dromara.sample.manage.service.impl;
import org.dromara.sample.manage.service.IDeviceQrtzFileService;
import org.springframework.stereotype.Service;
/**
* @auther yq
* @data 2025/3/20
*/
@Service
public class DeviceQrtzFileServiceImpl implements IDeviceQrtzFileService {
}

143
dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java

@ -0,0 +1,143 @@
package org.dromara.sample.manage.service.impl;
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.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.IDeviceQrtzMapper;
import org.dromara.sample.manage.model.dto.DeviceDTO;
import org.dromara.sample.manage.model.dto.DeviceQrtzDTO;
import org.dromara.sample.manage.model.dto.DeviceQrtzFileDTO;
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.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.text.ParseException;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* @auther yq
* @data 2025/3/20
*/
@Service
public class DeviceQrtzServiceImpl implements IDeviceQrtzService {
@Autowired
private IDeviceQrtzMapper deviceQrtzMapper;
@Autowired
private IDeviceQrtzDateMapper deviceQrtzDateMapper;
@Autowired
private IDeviceService deviceService;
@Autowired
private IDeviceQrtzDateService deviceQrtzDateService;
@Override
public TableDataInfo<DeviceQrtzEntity> listManageDeviceQrtz(Page page, DeviceQrtzDTO deviceQrtzDTO) {
return TableDataInfo.build(deviceQrtzMapper.listManageDeviceQrtz(page, deviceQrtzDTO));
}
@Override
public DeviceQrtzEntity queryById(Long id) {
DeviceQrtzEntity deviceQrtzEntity = deviceQrtzMapper.selectById(id);
List<DeviceQrtzDateEntity> qrtzDateEntityList = deviceQrtzDateService.listManageDeviceQrtzDate(id);
deviceQrtzEntity.setDeviceQrtzDates(qrtzDateEntityList);
return deviceQrtzEntity;
}
@Override
public List<DeviceQrtzEntity> listManageDeviceQrtz(DeviceQrtzDTO deviceQrtzDTO) {
return deviceQrtzMapper.listManageDeviceQrtz(deviceQrtzDTO);
}
@Override
public Map<String, Object> calendarList(String time) throws ParseException {
LoginUser loginUser = LoginHelper.getLoginUser();
return Map.of();
}
@Override
public boolean addAndUpdateManageDeviceQrtz(DeviceQrtzDTO deviceQrtzDTO) {
return false;
}
@Override
public boolean addManageDeviceQrtzFile(DeviceQrtzFileDTO deviceQrtzFileDTO) {
return false;
}
@Override
public boolean updateManageDeviceQrtzFile(DeviceQrtzFileDTO deviceQrtzFileDTO) {
return false;
}
@Override
public boolean deleteManageDeviceQrtz(DeviceQrtzDTO deviceQrtzDTO) {
return false;
}
@Override
public List<DeviceQrtzFileEntity> manageDeviceQrtzFileByQrtzId(String qrtzId) {
return deviceQrtzMapper.manageDeviceQrtzFileByQrtzId(qrtzId);
}
@Override
public boolean copy(String deviceSn, String starDate, String endDate) {
return false;
}
@Override
public boolean deleteManageDeviceQrtzFile(String id) {
return false;
}
@Override
public void jobWayline(DeviceDTO deviceDTO) {
}
@Override
public Boolean updateByBo(DeviceQrtzEntity entity) {
deviceQrtzDateMapper.delete(new QueryWrapper<DeviceQrtzDateEntity>().eq("qrtz_id", entity.getId()));
if(!CollectionUtils.isEmpty(entity.getDeviceQrtzDates())){
entity.getDeviceQrtzDates().forEach(e->{
e.setQrtzId(entity.getId());
deviceQrtzDateMapper.insert(e);
});
}
return deviceQrtzMapper.updateById(entity)>0;
}
@Override
public Boolean add(DeviceQrtzEntity entity) {
int insert = deviceQrtzMapper.insert(entity);
if(!CollectionUtils.isEmpty(entity.getDeviceQrtzDates())){
entity.getDeviceQrtzDates().forEach(e->{
e.setQrtzId(entity.getId());
deviceQrtzDateMapper.insert(e);
});
}
return insert>0;
}
@Override
public Boolean deleteIds(Collection<Long> ids) {
for (Long qrtzId : ids) {
deviceQrtzDateMapper.delete(new QueryWrapper<DeviceQrtzDateEntity>().eq("qrtz_id",qrtzId));
}
return deviceQrtzMapper.deleteBatchIds(ids)>0;
}
}

22
dk-modules/sample/src/main/resources/mapper/DeviceQrtzDateMapper.xml

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.sample.manage.mapper.IDeviceQrtzDateMapper">
<select id="listDeviceQrtzDateByQrtzIdAndDate"
resultType="org.dromara.sample.manage.model.entity.DeviceQrtzDateEntity">
SELECT * from manage_device_qrtz_date wqd
WHERE wqd.del_flag = 0
AND wqd.qrtz_id = #{condition.qrtzId}
and wqd.start_date &lt;= #{condition.currentDate}
AND wqd.end_date >= #{condition.currentDate}
</select>
<select id="listDeviceQrtzDateByQrtzAndDate"
resultType="org.dromara.sample.manage.model.entity.DeviceQrtzDateEntity">
SELECT * from manage_device_qrtz_date wqd
WHERE wqd.del_flag = 0
AND wqd.qrtz_id = #{qrtzId}
</select>
</mapper>

9
dk-modules/sample/src/main/resources/mapper/DeviceQrtzFileMapper.xml

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.sample.manage.mapper.IDeviceQrtzFileMapper">
<select id="manageDeviceQrtzFileByQrtzId"
resultType="org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity"></select>
</mapper>

55
dk-modules/sample/src/main/resources/mapper/DeviceQrtzMapper.xml

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.sample.manage.mapper.IDeviceQrtzMapper">
<resultMap id="listManageFilePlatformInfoMap" type="org.dromara.sample.manage.model.entity.DeviceQrtzEntity">
<result column="id" property="id" jdbcType="VARCHAR"/>
<result column="device_sn" property="deviceSn" jdbcType="VARCHAR"/>
<result column="device_id" property="deviceId" jdbcType="VARCHAR"/>
<result column="name" property="name" jdbcType="VARCHAR"/>
<result column="status" property="status" jdbcType="VARCHAR"/>
<collection column="{qrtzId=id}"
property="deviceQrtzDates" ofType="org.dromara.sample.manage.model.entity.DeviceQrtzDateEntity"
javaType="java.util.ArrayList"
select="org.dromara.sample.manage.mapper.IDeviceQrtzDateMapper.listWaylineDeviceQrtzDateByQrtzAndDate"/>
</resultMap>
<select id="listManageDeviceQrtz" resultType="org.dromara.sample.manage.model.entity.DeviceQrtzEntity">
SELECT wdq.*,wd.device_sn FROM manage_device_qrtz wdq
LEFT JOIN manage_device wd ON wdq.device_id = wd.id
WHERE wdq.del_flag = 0
<if test="condition.name != null and condition.name != ''">
AND wdq.name like concat(concat('%',#{condition.name}),'%')
</if>
<if test="condition.status != null">
AND wdq.status = #{condition.status}
</if>
<if test="condition.startDate != null">
AND DATE_FORMAT(wdq.`start_date`,'%H:%i:%s') >= DATE_FORMAT(#{condition.startDate},'%H:%i:%s')
</if>
<if test="condition.endDate != null">
AND DATE_FORMAT(wdq.end_date,'%H:%i:%s') &lt;= DATE_FORMAT(#{endDate},'%H:%i:%s')
</if>
<if test="condition.deviceSn != null and condition.deviceSn != ''">
AND wd.device_sn like concat(concat('%',#{condition.deviceSn}),'%')
</if>
<if test="condition.deptName != null and condition.deptName != ''">
AND wd.dept_name like concat(concat('%',#{condition.deptName}),'%')
</if>
<if test="condition.deptIds.size > 0">
AND wd.dept_id in
<foreach item="id" collection="condition.deptIds" open="(" separator="," close=")">
#{id}
</foreach>
</if>
order by wdq.status asc, wdq.create_time desc
</select>
<select id="calendarList" resultType="java.util.Map"></select>
<select id="manageDeviceQrtzFileByQrtzId"
resultType="org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity">
select dqf.* ,f.file_number from manage_device_qrtz_file dqf inner join wayline_file f on f.id=dqf.file_id where dqf.qrtz_id=#{qrtzId}
ORDER BY dqf. sort
</select>
</mapper>

2
pom.xml

@ -82,7 +82,7 @@
<profiles>
<profile>
<id>wuyuan</id>
<id>dev</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active>

Loading…
Cancel
Save