吉安感知网项目-后端
linwei
2026-01-09 fbb48357d807b6e776821decacda68af6b2cc6aa
Merge remote-tracking branch 'origin/master'

# Conflicts:
# drone-service/drone-fw/src/main/java/org/sxkj/fw/device/vo/FwDeviceVO.java
12 files modified
440 ■■■■■ changed files
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/controller/FwDeviceMaintainPlanController.java 91 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/controller/FwDeviceTrackController.java 6 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/dto/FwDeviceMaintainPlanDTO.java 43 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/entity/FwDeviceMaintainPlanEntity.java 28 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/excel/FwDeviceMaintainPlanExcel.java 21 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMaintainPlanMapper.java 14 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMaintainPlanMapper.xml 100 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/IFwDeviceMaintainPlanService.java 15 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceMaintainPlanServiceImpl.java 13 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/vo/FwDeviceMaintainPlanVO.java 89 ●●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/vo/FwDeviceVO.java 4 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/wrapper/FwDeviceMaintainPlanWrapper.java 16 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/controller/FwDeviceMaintainPlanController.java
@@ -16,40 +16,41 @@
 */
package org.sxkj.fw.device.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import javax.validation.Valid;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.sxkj.fw.device.dto.FwDeviceMaintainPlanDTO;
import org.sxkj.fw.device.entity.FwDeviceMaintainPlanEntity;
import org.sxkj.fw.device.vo.FwDeviceMaintainPlanVO;
import org.sxkj.fw.device.excel.FwDeviceMaintainPlanExcel;
import org.sxkj.fw.device.wrapper.FwDeviceMaintainPlanWrapper;
import org.sxkj.fw.device.service.IFwDeviceMaintainPlanService;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.constant.BladeConstant;
import org.sxkj.fw.device.vo.FwDeviceMaintainPlanVO;
import org.sxkj.fw.device.wrapper.FwDeviceMaintainPlanWrapper;
import springfox.documentation.annotations.ApiIgnore;
import java.util.Map;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.List;
import java.util.Map;
/**
 * 设备维护计划表 控制器
 *
 * @author lw
 * @since 2026-01-08
 * @author Aix
 * @since 2026-01-09
 */
@RestController
@AllArgsConstructor
@@ -65,67 +66,44 @@
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "详情", notes = "传入fwDeviceMaintainPlan")
    public R<FwDeviceMaintainPlanVO> detail(FwDeviceMaintainPlanEntity fwDeviceMaintainPlan) {
        FwDeviceMaintainPlanEntity detail = fwDeviceMaintainPlanService.getOne(Condition.getQueryWrapper(fwDeviceMaintainPlan));
        return R.data(FwDeviceMaintainPlanWrapper.build().entityVO(detail));
    }
    /**
     * 设备维护计划表 分页
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "分页", notes = "传入fwDeviceMaintainPlan")
    public R<IPage<FwDeviceMaintainPlanVO>> list(@ApiIgnore @RequestParam Map<String, Object> fwDeviceMaintainPlan, Query query) {
        IPage<FwDeviceMaintainPlanEntity> pages = fwDeviceMaintainPlanService.page(Condition.getPage(query), Condition.getQueryWrapper(fwDeviceMaintainPlan, FwDeviceMaintainPlanEntity.class));
        return R.data(FwDeviceMaintainPlanWrapper.build().pageVO(pages));
    public R<FwDeviceMaintainPlanVO> detail(FwDeviceMaintainPlanDTO fwDeviceMaintainPlan) {
        if (fwDeviceMaintainPlan.getId() == null) {
            return R.fail("参数错误");
        }
        FwDeviceMaintainPlanVO detailVO = fwDeviceMaintainPlanService.getFwDeviceMaintainPlanById(fwDeviceMaintainPlan.getId());
        if (detailVO == null) {
            return R.fail("数据不存在");
        }
        return R.data(detailVO);
    }
    /**
     * 设备维护计划表 自定义分页
     */
    @GetMapping("/page")
    @ApiOperationSupport(order = 3)
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "分页", notes = "传入fwDeviceMaintainPlan")
    public R<IPage<FwDeviceMaintainPlanVO>> page(FwDeviceMaintainPlanVO fwDeviceMaintainPlan, Query query) {
    public R<IPage<FwDeviceMaintainPlanVO>> page(FwDeviceMaintainPlanDTO fwDeviceMaintainPlan, Query query) {
        IPage<FwDeviceMaintainPlanVO> pages = fwDeviceMaintainPlanService.selectFwDeviceMaintainPlanPage(Condition.getPage(query), fwDeviceMaintainPlan);
        return R.data(pages);
    }
    /**
     * 设备维护计划表 新增
     */
    @PostMapping("/save")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增", notes = "传入fwDeviceMaintainPlan")
    public R save(@Valid @RequestBody FwDeviceMaintainPlanEntity fwDeviceMaintainPlan) {
        return R.status(fwDeviceMaintainPlanService.save(fwDeviceMaintainPlan));
    }
    /**
     * 设备维护计划表 修改
     */
    @PostMapping("/update")
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "修改", notes = "传入fwDeviceMaintainPlan")
    public R update(@Valid @RequestBody FwDeviceMaintainPlanEntity fwDeviceMaintainPlan) {
        return R.status(fwDeviceMaintainPlanService.updateById(fwDeviceMaintainPlan));
    }
    /**
     * 设备维护计划表 新增或修改
     */
    @PostMapping("/submit")
    @ApiOperationSupport(order = 6)
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "新增或修改", notes = "传入fwDeviceMaintainPlan")
    public R submit(@Valid @RequestBody FwDeviceMaintainPlanEntity fwDeviceMaintainPlan) {
        return R.status(fwDeviceMaintainPlanService.saveOrUpdate(fwDeviceMaintainPlan));
    public R submit(@Valid @RequestBody FwDeviceMaintainPlanDTO fwDeviceMaintainPlan) {
        return R.status(fwDeviceMaintainPlanService.saveOrUpdate(FwDeviceMaintainPlanWrapper.build().entityDTO(fwDeviceMaintainPlan)));
    }
    /**
     * 设备维护计划表 删除
     */
    @PostMapping("/remove")
    @ApiOperationSupport(order = 7)
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "逻辑删除", notes = "传入ids")
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        return R.status(fwDeviceMaintainPlanService.deleteLogic(Func.toLongList(ids)));
@@ -136,8 +114,9 @@
     * 导出数据
     */
    @GetMapping("/export-fwDeviceMaintainPlan")
    @ApiOperationSupport(order = 9)
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "导出数据", notes = "传入fwDeviceMaintainPlan")
    @ApiIgnore
    public void exportFwDeviceMaintainPlan(@ApiIgnore @RequestParam Map<String, Object> fwDeviceMaintainPlan, BladeUser bladeUser, HttpServletResponse response) {
        QueryWrapper<FwDeviceMaintainPlanEntity> queryWrapper = Condition.getQueryWrapper(fwDeviceMaintainPlan, FwDeviceMaintainPlanEntity.class);
        //if (!AuthUtil.isAdministrator()) {
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/controller/FwDeviceTrackController.java
@@ -32,6 +32,7 @@
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.web.bind.annotation.*;
import org.sxkj.fw.device.dto.FwDeviceTrackDTO;
import org.sxkj.fw.device.entity.FwDeviceTrackEntity;
@@ -94,6 +95,11 @@
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入fwDeviceTrack")
    public R submit(@Valid @RequestBody FwDeviceTrackDTO fwDeviceTrack) {
        if (null != fwDeviceTrack.getDeviceId()) {
            return R.fail("设备ID不能为空");
        }
        return R.status(fwDeviceTrackService.saveOrUpdate(FwDeviceTrackWrapper.build().entityDTO(fwDeviceTrack)));
    }
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/dto/FwDeviceMaintainPlanDTO.java
@@ -16,19 +16,50 @@
 */
package org.sxkj.fw.device.dto;
import org.sxkj.fw.device.entity.FwDeviceMaintainPlanEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
 * 设备维护计划表 数据传输对象实体类
 *
 * @author lw
 * @since 2026-01-08
 * @author Aix
 * @since 2026-01-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class FwDeviceMaintainPlanDTO extends FwDeviceMaintainPlanEntity {
public class FwDeviceMaintainPlanDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "主键")
    private    Long id;
    /**
     * 设备ID
     */
    @ApiModelProperty(value = "设备ID")
    @NotNull
    private Long deviceId;
    /**
     * 计划周期(每年、每月、每周)
     */
    @ApiModelProperty(value = "计划周期(1:每年、2:每月、3:每周)")
    private String planCycleType;
    /**
     * 计划周期具体值,数组对象[1,2,3]
     */
    @ApiModelProperty(value = "计划周期具体值,数组对象[1,2,3]")
    private List<String> planCycleValue;
    // 查询使用
    @ApiModelProperty(value = "设备名称")
    private String deviceName;
    @ApiModelProperty(value = "设备类型")
    private String deviceType;
    @ApiModelProperty(value = "所属部门")
    private Long belongDept;
}
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/entity/FwDeviceMaintainPlanEntity.java
@@ -16,24 +16,25 @@
 */
package org.sxkj.fw.device.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.time.LocalDate;
import java.util.List;
/**
 * 设备维护计划表 实体类
 *
 * @author lw
 * @since 2026-01-08
 * @author Aix
 * @since 2026-01-09
 */
@Data
@TableName("ja_fw_device_maintain_plan")
@TableName(value ="ja_fw_device_maintain_plan", autoResultMap = true)
@ApiModel(value = "FwDeviceMaintainPlan对象", description = "设备维护计划表")
@EqualsAndHashCode(callSuper = true)
public class FwDeviceMaintainPlanEntity extends BaseEntity {
@@ -41,25 +42,22 @@
    /**
     * 设备ID
     */
    @TableField("device_id")
    @ApiModelProperty(value = "设备ID")
    private Long deviceId;
    /**
     * 计划周期(每月1日/每季1日等)
     * 计划周期(每年、每月、每周)
     */
    @TableField("plan_cycle")
    @ApiModelProperty(value = "计划周期(每月1日/每季1日等)")
    private String planCycle;
    @ApiModelProperty(value = "计划周期(每年、每月、每周)")
    private String planCycleType;
    /**
     * 计划日期(YYYY-MM-DD)
     * 计划周期具体值,数组对象[1,2,3]
     */
    @TableField("plan_time")
    @ApiModelProperty(value = "计划日期(YYYY-MM-DD)")
    private LocalDate planTime;
    @ApiModelProperty(value = "计划周期具体值,数组对象[1,2,3]")
    @TableField(typeHandler = FastjsonTypeHandler.class)
    private List<String> planCycleValue;
    /**
     * 区域编码
     */
    @TableField("area_code")
    @ApiModelProperty(value = "区域编码")
    private String areaCode;
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/excel/FwDeviceMaintainPlanExcel.java
@@ -17,21 +17,20 @@
package org.sxkj.fw.device.excel;
import lombok.Data;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
/**
 * 设备维护计划表 Excel实体类
 *
 * @author lw
 * @since 2026-01-08
 * @author Aix
 * @since 2026-01-09
 */
@Data
@ColumnWidth(25)
@@ -48,17 +47,17 @@
    @ExcelProperty("设备ID")
    private Long deviceId;
    /**
     * 计划周期(每月1日/每季1日等)
     * 计划周期(每年、每月、每周)
     */
    @ColumnWidth(20)
    @ExcelProperty("计划周期(每月1日/每季1日等)")
    private String planCycle;
    @ExcelProperty("计划周期(每年、每月、每周)")
    private String planCycleType;
    /**
     * 计划日期(YYYY-MM-DD)
     * 计划周期具体值,数组对象[1,2,3]
     */
    @ColumnWidth(20)
    @ExcelProperty("计划日期(YYYY-MM-DD)")
    private LocalDate planTime;
    @ExcelProperty("计划周期具体值,数组对象[1,2,3]")
    private String planCycleValue;
    /**
     * 区域编码
     */
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMaintainPlanMapper.java
@@ -16,6 +16,7 @@
 */
package org.sxkj.fw.device.mapper;
import org.sxkj.fw.device.dto.FwDeviceMaintainPlanDTO;
import org.sxkj.fw.device.entity.FwDeviceMaintainPlanEntity;
import org.sxkj.fw.device.vo.FwDeviceMaintainPlanVO;
import org.sxkj.fw.device.excel.FwDeviceMaintainPlanExcel;
@@ -28,10 +29,17 @@
/**
 * 设备维护计划表 Mapper 接口
 *
 * @author lw
 * @since 2026-01-08
 * @author Aix
 * @since 2026-01-09
 */
public interface FwDeviceMaintainPlanMapper extends BaseMapper<FwDeviceMaintainPlanEntity> {
    /**
     * 获取详情
     * @param id 计划id
     * @return 计划详情
     */
    FwDeviceMaintainPlanVO getFwDeviceMaintainPlanById(@Param("id") Long id);
    /**
     * 自定义分页
@@ -40,7 +48,7 @@
     * @param fwDeviceMaintainPlan
     * @return
     */
    List<FwDeviceMaintainPlanVO> selectFwDeviceMaintainPlanPage(IPage page, FwDeviceMaintainPlanVO fwDeviceMaintainPlan);
    List<FwDeviceMaintainPlanVO> selectFwDeviceMaintainPlanPage(IPage page, FwDeviceMaintainPlanDTO fwDeviceMaintainPlan);
    /**
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMaintainPlanMapper.xml
@@ -3,61 +3,75 @@
<mapper namespace="org.sxkj.fw.device.mapper.FwDeviceMaintainPlanMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="fwDeviceMaintainPlanResultMap" type="org.sxkj.fw.device.entity.FwDeviceMaintainPlanEntity">
    <resultMap id="fwDeviceMaintainPlanResultMap" type="org.sxkj.fw.device.vo.FwDeviceMaintainPlanVO">
        <result column="id" property="id"/>
        <result column="device_id" property="deviceId"/>
        <result column="plan_cycle" property="planCycle"/>
        <result column="plan_time" property="planTime"/>
        <result column="area_code" property="areaCode"/>
        <result column="create_user" property="createUser"/>
        <result column="create_dept" property="createDept"/>
        <result column="create_time" property="createTime"/>
        <result column="update_user" property="updateUser"/>
        <result column="update_time" property="updateTime"/>
        <result column="status" property="status"/>
        <result column="is_deleted" property="isDeleted"/>
        <result column="plan_cycle_type" property="planCycleType"/>
        <result column="plan_cycle_value" property="planCycleValue"
                typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
        <result column="device_name" property="deviceName"/>
        <result column="device_type" property="deviceType"/>
        <result column="device_att" property="deviceAtt"/>
        <result column="device_model" property="deviceModel"/>
        <result column="belong_dept" property="belongDept"/>
        <result column="device_specification" property="deviceSpecification"/>
        <result column="manufacturer" property="manufacturer"/>
        <result column="source" property="source"/>
        <result column="purpose" property="purpose"/>
    </resultMap>
    <select id="getFwDeviceMaintainPlanById" resultMap="fwDeviceMaintainPlanResultMap">
        select
        b.device_name,
        b.device_type,
        b.device_att,
        b.device_model,
        b.belong_dept,
        b.device_specification,
        b.manufacturer,
        b.source,
        b.purpose,
        a.*
        from
        ja_fw_device_maintain_plan a
        left join ja_fw_device b on (a.device_id = b.id)
        <where>
            a.is_deleted = 0
            <if test="id != null and id != ''">
                and a.id = #{id}
            </if>
        </where>
        limit 1
    </select>
    <select id="selectFwDeviceMaintainPlanPage" resultMap="fwDeviceMaintainPlanResultMap">
        select * from ja_fw_device_maintain_plan
        select
            b.device_name,
            b.device_type,
            b.device_att,
            b.device_model,
            b.belong_dept,
            b.device_specification,
            b.manufacturer,
            b.source,
            b.purpose,
            a.*
        from
            ja_fw_device_maintain_plan a
        left join ja_fw_device b on (a.device_id = b.id)
        <where>
            is_deleted = 0
            <if test="param2.id != null and param2.id != ''">
                and id = #{param2.id}
            </if>
            a.is_deleted = 0
            <if test="param2.deviceId != null and param2.deviceId != ''">
                and device_id = #{param2.deviceId}
            </if>
            <if test="param2.planCycle != null and param2.planCycle != ''">
                and plan_cycle = #{param2.planCycle}
            <if test="param2.deviceName != null and param2.deviceName != ''">
                and device_name like concat('%',#{param2.deviceName},'%')
            </if>
            <if test="param2.planTime != null and param2.planTime != ''">
                and plan_time = #{param2.planTime}
            <if test="param2.deviceType != null and param2.deviceType != ''">
                and device_type = #{param2.deviceType}
            </if>
            <if test="param2.areaCode != null and param2.areaCode != ''">
                and area_code = #{param2.areaCode}
            </if>
            <if test="param2.createUser != null and param2.createUser != ''">
                and create_user = #{param2.createUser}
            </if>
            <if test="param2.createDept != null and param2.createDept != ''">
                and create_dept = #{param2.createDept}
            </if>
            <if test="param2.createTime != null and param2.createTime != ''">
                and create_time = #{param2.createTime}
            </if>
            <if test="param2.updateUser != null and param2.updateUser != ''">
                and update_user = #{param2.updateUser}
            </if>
            <if test="param2.updateTime != null and param2.updateTime != ''">
                and update_time = #{param2.updateTime}
            </if>
            <if test="param2.status != null and param2.status != ''">
                and status = #{param2.status}
            </if>
            <if test="param2.isDeleted != null and param2.isDeleted != ''">
                and is_deleted = #{param2.isDeleted}
            <if test="param2.belongDept != null and param2.belongDept != ''">
                and belong_dept = #{param2.belongDept}
            </if>
        </where>
    </select>
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/IFwDeviceMaintainPlanService.java
@@ -17,6 +17,7 @@
package org.sxkj.fw.device.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.sxkj.fw.device.dto.FwDeviceMaintainPlanDTO;
import org.sxkj.fw.device.entity.FwDeviceMaintainPlanEntity;
import org.sxkj.fw.device.vo.FwDeviceMaintainPlanVO;
import org.sxkj.fw.device.excel.FwDeviceMaintainPlanExcel;
@@ -27,10 +28,18 @@
/**
 * 设备维护计划表 服务类
 *
 * @author lw
 * @since 2026-01-08
 * @author Aix
 * @since 2026-01-09
 */
public interface IFwDeviceMaintainPlanService extends BaseService<FwDeviceMaintainPlanEntity> {
    /**
     * 获取详情
     * @param id 计划id
     * @return 计划详情
     */
    FwDeviceMaintainPlanVO getFwDeviceMaintainPlanById(Long id);
    /**
     * 自定义分页
     *
@@ -38,7 +47,7 @@
     * @param fwDeviceMaintainPlan
     * @return
     */
    IPage<FwDeviceMaintainPlanVO> selectFwDeviceMaintainPlanPage(IPage<FwDeviceMaintainPlanVO> page, FwDeviceMaintainPlanVO fwDeviceMaintainPlan);
    IPage<FwDeviceMaintainPlanVO> selectFwDeviceMaintainPlanPage(IPage<FwDeviceMaintainPlanVO> page, FwDeviceMaintainPlanDTO fwDeviceMaintainPlan);
    /**
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceMaintainPlanServiceImpl.java
@@ -16,6 +16,7 @@
 */
package org.sxkj.fw.device.service.impl;
import org.sxkj.fw.device.dto.FwDeviceMaintainPlanDTO;
import org.sxkj.fw.device.entity.FwDeviceMaintainPlanEntity;
import org.sxkj.fw.device.vo.FwDeviceMaintainPlanVO;
import org.sxkj.fw.device.excel.FwDeviceMaintainPlanExcel;
@@ -30,14 +31,20 @@
/**
 * 设备维护计划表 服务实现类
 *
 * @author lw
 * @since 2026-01-08
 * @author Aix
 * @since 2026-01-09
 */
@Service
public class FwDeviceMaintainPlanServiceImpl extends BaseServiceImpl<FwDeviceMaintainPlanMapper, FwDeviceMaintainPlanEntity> implements IFwDeviceMaintainPlanService {
    @Override
    public IPage<FwDeviceMaintainPlanVO> selectFwDeviceMaintainPlanPage(IPage<FwDeviceMaintainPlanVO> page, FwDeviceMaintainPlanVO fwDeviceMaintainPlan) {
    public FwDeviceMaintainPlanVO getFwDeviceMaintainPlanById(Long id) {
        return baseMapper.getFwDeviceMaintainPlanById(id);
    }
    @Override
    public IPage<FwDeviceMaintainPlanVO> selectFwDeviceMaintainPlanPage(IPage<FwDeviceMaintainPlanVO> page, FwDeviceMaintainPlanDTO fwDeviceMaintainPlan) {
        return page.setRecords(baseMapper.selectFwDeviceMaintainPlanPage(page, fwDeviceMaintainPlan));
    }
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/vo/FwDeviceMaintainPlanVO.java
@@ -16,20 +16,95 @@
 */
package org.sxkj.fw.device.vo;
import org.sxkj.fw.device.entity.FwDeviceMaintainPlanEntity;
import org.springblade.core.tool.node.INode;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.List;
/**
 * 设备维护计划表 视图实体类
 *
 * @author lw
 * @since 2026-01-08
 * @author Aix
 * @since 2026-01-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class FwDeviceMaintainPlanVO extends FwDeviceMaintainPlanEntity {
public class FwDeviceMaintainPlanVO implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "主键")
    private    Long id;
    /**
     * 设备ID
     */
    @ApiModelProperty(value = "设备ID")
    private Long deviceId;
    /**
     * 计划周期(每年、每月、每周)
     */
    @ApiModelProperty(value = "计划周期(每年、每月、每周)")
    private String planCycleType;
    /**
     * 计划周期具体值,数组对象[1,2,3]
     */
    @ApiModelProperty(value = "计划周期具体值,数组对象[1,2,3]")
    private List<String> planCycleValue;
    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    private String deviceName;
    /**
     * 设备类型
     */
    @ApiModelProperty(value = "设备类型")
    private String deviceType;
    /**
     * 设备属性
     */
    @ApiModelProperty(value = "设备属性")
    private String deviceAtt;
    /**
     * 设备型号
     */
    @ApiModelProperty(value = "设备型号")
    private String deviceModel;
    /**
     * 所属部门
     */
    @ApiModelProperty(value = "所属部门")
    private Long belongDept;
    /**
     * 设备规格
     */
    @ApiModelProperty(value = "设备规格")
    private String deviceSpecification;
    /**
     * 生产厂商
     */
    @ApiModelProperty(value = "生产厂商")
    private String manufacturer;
    /**
     * 来源
     */
    @ApiModelProperty(value = "来源")
    private String source;
    /**
     * 用途
     */
    @ApiModelProperty(value = "用途")
    private String purpose;
}
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/vo/FwDeviceVO.java
@@ -26,6 +26,7 @@
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
 * 设备表 视图实体类
@@ -106,6 +107,9 @@
    @ApiModelProperty("运行状态(0:在线/1:离线/2:故障/3:报废)")
    private Integer status;
    @ApiModelProperty("创建时间")
    private Date createTime;
    /**
     * 电量百分比 0-100
     */
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/wrapper/FwDeviceMaintainPlanWrapper.java
@@ -18,6 +18,7 @@
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.sxkj.fw.device.dto.FwDeviceMaintainPlanDTO;
import org.sxkj.fw.device.entity.FwDeviceMaintainPlanEntity;
import org.sxkj.fw.device.vo.FwDeviceMaintainPlanVO;
import java.util.Objects;
@@ -25,8 +26,8 @@
/**
 * 设备维护计划表 包装类,返回视图层所需的字段
 *
 * @author lw
 * @since 2026-01-08
 * @author Aix
 * @since 2026-01-09
 */
public class FwDeviceMaintainPlanWrapper extends BaseEntityWrapper<FwDeviceMaintainPlanEntity, FwDeviceMaintainPlanVO>  {
@@ -36,14 +37,13 @@
    @Override
    public FwDeviceMaintainPlanVO entityVO(FwDeviceMaintainPlanEntity fwDeviceMaintainPlan) {
        FwDeviceMaintainPlanVO fwDeviceMaintainPlanVO = Objects.requireNonNull(BeanUtil.copy(fwDeviceMaintainPlan, FwDeviceMaintainPlanVO.class));
        //User createUser = UserCache.getUser(fwDeviceMaintainPlan.getCreateUser());
        //User updateUser = UserCache.getUser(fwDeviceMaintainPlan.getUpdateUser());
        //fwDeviceMaintainPlanVO.setCreateUserName(createUser.getName());
        //fwDeviceMaintainPlanVO.setUpdateUserName(updateUser.getName());
        return Objects.requireNonNull(BeanUtil.copy(fwDeviceMaintainPlan, FwDeviceMaintainPlanVO.class));
    }
        return fwDeviceMaintainPlanVO;
    public FwDeviceMaintainPlanEntity entityDTO(FwDeviceMaintainPlanDTO fwDeviceMaintainPlan) {
        return Objects.requireNonNull(BeanUtil.copy(fwDeviceMaintainPlan, FwDeviceMaintainPlanEntity.class));
    }