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.common.core.domain.Result; import com.ruoyi.device.dto.DeviceMaintenancePlanDetailsDto; import com.ruoyi.device.dto.DeviceMaintenancePlanDto; import com.ruoyi.device.pojo.Device; import com.ruoyi.device.pojo.DeviceMaintenancePlan; import jakarta.servlet.http.HttpServletResponse; import java.time.LocalDate; /** *

* 设备保养计划表 服务类 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2024-12-16 06:10:52 */ public interface DeviceMaintenancePlanService extends IService { /** * 分页查询设备保养计划 * @param page 当前页 * @param deviceMaintenancePlanDto 设备保养计划 * @return */ Result> selectDeviceMaintenancePlanByPage(Page page, DeviceMaintenancePlanDto deviceMaintenancePlanDto); /** * 新增设备保养计划 * * @param deviceMaintenancePlanDto 设备保养计划 */ Result addMaintenancePlan(DeviceMaintenancePlanDto deviceMaintenancePlanDto); /** * 修改设备保养计划 * * @param deviceMaintenancePlanDto 设备保养计划 */ Result updateMaintenancePlan(DeviceMaintenancePlanDto deviceMaintenancePlanDto); /** * 删除设备保养计划 * @param deviceMaintenancePlanDto 设备保养计划 */ Result deleteMaintenancePlan(DeviceMaintenancePlanDto deviceMaintenancePlanDto); /** * 导出设备保养计划 * * @param maintenancePlanId 设备保养计划id * @param response 响应 */ Result exportDeviceMaintenancePlanDto(Integer maintenancePlanId, HttpServletResponse response); /** * 查看设备保养计划详情 * @param maintenancePlanId 设备保养计划id * @return */ Result getMaintenancePlanDetail(Integer maintenancePlanId); /** * 提交审核 * @param deviceMaintenancePlanDto * @return */ Result submitReviewMaintenancePlanStatus(DeviceMaintenancePlanDto deviceMaintenancePlanDto); /** * 审核设备保养计划状态 * @param deviceMaintenancePlanDto 设备保养计划 * @return */ Result reviewMaintenancePlanStatus(DeviceMaintenancePlanDto deviceMaintenancePlanDto); /** * 按年份查询设备保养计划(不存在则自动创建),并自动补全已到点的设备明细 * @param planYear 计划年份 * @return 设备保养计划 */ DeviceMaintenancePlanDto getOrCreatePlanByYear(String planYear); /** * 设备档案变更后,把已到点的设备同步到对应年份的设备保养计划明细 * @param device 设备 */ void syncDeviceMaintenanceDetail(Device device); /** * 设备保养记录保存后,滚动设备档案的最近/下次保养日期 * @param deviceId 设备id * @param maintenanceDate 本次保养日期 */ void updateDeviceMaintenanceDate(Integer deviceId, LocalDate maintenanceDate); /** * 分页查询设备保养计划详情(含到点标红) */ IPage pageMaintenancePlanDetail(Page page, Integer planId, String deviceName, String deviceNumber); }