21 changed files with 1027 additions and 2 deletions
@ -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))); |
|||
} |
|||
} |
@ -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); |
|||
} |
@ -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> { |
|||
} |
@ -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); |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
} |
@ -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; |
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
@ -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; |
|||
|
|||
|
|||
} |
@ -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; |
|||
|
|||
} |
|||
|
@ -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; |
|||
|
|||
} |
@ -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); |
|||
} |
@ -0,0 +1,8 @@ |
|||
package org.dromara.sample.manage.service; |
|||
|
|||
/** |
|||
* @auther yq |
|||
* @data 2025/3/20 |
|||
*/ |
|||
public interface IDeviceQrtzFileService { |
|||
} |
@ -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); |
|||
} |
@ -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); |
|||
} |
|||
} |
@ -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 { |
|||
|
|||
} |
@ -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; |
|||
} |
|||
} |
@ -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 <= #{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> |
@ -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> |
@ -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') <= 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> |
Loading…
Reference in new issue