package com.ruoyi.device.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.device.dto.DeviceExaminePlanDetailsDto; import com.ruoyi.device.dto.DeviceExaminePlanDto; import com.ruoyi.device.pojo.Device; import com.ruoyi.device.pojo.DeviceExaminePlan; import com.ruoyi.device.pojo.DeviceExaminePlanDetails; import org.springframework.web.multipart.MultipartFile; import jakarta.servlet.http.HttpServletResponse; /** *

* 设备核查计划主表 服务类 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2024-12-16 07:14:04 */ public interface DeviceExaminePlanService extends IService { /** * 新增设备核查计划 * @param examinePlanDto * @return */ boolean addDeviceExaminePlan(DeviceExaminePlanDto examinePlanDto); /** * 导入设备核查计划 * @param file * @return */ boolean importDeviceExaminePlan(MultipartFile file); /** * 提交批准 * @param deviceExaminePlan * @return */ boolean submitRatifyDeviceExaminePlan(DeviceExaminePlan deviceExaminePlan); /** * 设备核查计划批准 * @param DeviceExaminePlan * @return */ boolean ratifyDeviceExaminePlan(DeviceExaminePlan DeviceExaminePlan); /** * 设备核查计划列表 * @param page * @param DeviceExaminePlan * @return */ IPage pageDeviceExaminePlan(Page page, DeviceExaminePlan DeviceExaminePlan); /** * 设备核查计划详情列表 * @param page * @param DeviceExaminePlanDetails * @return */ IPage pageDeviceExaminePlanDetail(Page page, DeviceExaminePlanDetails DeviceExaminePlanDetails); /** * 导出设备核查计划 * @param deviceExaminePlanId 设备核查计划id * @param response 响应 */ void exportDeviceExaminePlanDetail(Integer deviceExaminePlanId, HttpServletResponse response); /** * 批量修改设备核查计划 * @param examinePlanDto * @return */ boolean updateDeviceExaminePlan(DeviceExaminePlanDto examinePlanDto); /** * 查询设备核查计划详情 * @param planId * @return */ DeviceExaminePlanDto getDeviceExaminePlan(Integer planId); /** * 按年份查询设备核查计划(不存在则自动创建),并自动补全已到点的设备明细 * @param planYear 年份 * @return 计划主表信息 */ DeviceExaminePlanDto getOrCreatePlanByYear(String planYear); /** * 设备档案变更后,把设备同步到对应年份的设备核查计划明细(仅当已进入提醒期/已过期时生成) * @param device 设备 */ void syncDeviceExamineDetail(Device device); /** * 核查记录复核通过后,滚动设备档案的最近/下次核查日期 * @param planDetailsId 计划明细id */ void updateDeviceExamineDate(Integer planDetailsId); }