package com.glxp.api.service.dev; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.dev.DeviceInfoEntity; import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.enums.dev.DeviceStatusEnum; import com.glxp.api.req.dev.DeviceInfoDetailQuery; import com.glxp.api.req.dev.DeviceInfoQuery; import com.glxp.api.vo.dev.DeviceInfoVo; import java.util.List; /** * 针对表【device_info(设备表)】的数据库操作Service */ public interface DeviceInfoService extends IService { /** * 变更设备归属,同时将状态改为正常 * * @param deviceCode 设备码 * @param oldDeptCode 原部门 * @param toDeptCode 目标部门 * @param orderId 变更单id */ void changeDept(String deviceCode, String oldDeptCode, String toDeptCode, Long orderId); /** * 修改设备状态 * * @param deviceCode 设备码 * @param deptCode 归属部门 * @param oldStatus 源状态 * @param toStatus 目标状态 */ void changeStatus(String deviceCode, String deptCode, DeviceStatusEnum oldStatus, DeviceStatusEnum toStatus); /** * 开启巡检锁 * * @param deviceCode 设备编码 * @param deptCode 部门编码 */ boolean openCheckLock(String deviceCode, String deptCode); /** * 关闭巡检锁 * * @param deviceCode 设备编码 * @param deptCode 部门编码 * @param isCancel 是否为取消关闭 */ boolean closeCheckLock(String deviceCode, String deptCode, boolean isCancel); /** * 设备完成巡检 * * @param deviceCode 设备编码 * @param deptCode 设备所在部门 * @param checkTaskId 任务id * @param checkUser 巡检人信息 * // * @param checkUserPhone 巡检人联系方式 */ void finishCheck(String deviceCode, String deptCode, Long checkTaskId, AuthAdmin checkUser); /** * 设备完成维修 * 同时修改设备状态 * * @param deviceCode 设备编码 * @param deptCode 设备所在部门 * @param repairId 维修单id * @param repairUserName 维修人姓名 * @param repairUserPhone 巡检人电话 */ void finishRepair(String deviceCode, String deptCode, Long repairId, String repairUserName, String repairUserPhone); /** * 设备报修 * 同时改变设备状态 * * @param deviceCode 设备编号 * @param deptCode 设备部门编码 * @param applyId 报修单id */ void repairApply(String deviceCode, String deptCode, Long applyId); List pageVo(DeviceInfoQuery query, String locDeptCode); List allPageVo(DeviceInfoQuery query); List detail(DeviceInfoDetailQuery query); List listVoByProductIdAndStatus(Long productId, DeviceStatusEnum status); List listVoByCodes(List deviceCodes, String deptCode, DeviceStatusEnum status); boolean exitOrder(Long orderId, String deviceCode); }