package com.ycl.platform.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.platform.domain.entity.WorkOrder; import com.ycl.platform.domain.entity.WorkOrderAuditingRecord; import com.ycl.platform.domain.entity.WorkOrderWhite; import com.ycl.platform.domain.excel.PointExport; import com.ycl.platform.domain.form.*; import com.ycl.platform.domain.query.*; import com.ycl.platform.domain.vo.*; import com.ycl.platform.domain.vo.screen.WorkOrderRegionVO; import com.ycl.platform.domain.vo.screen.WorkOrderTotalVO; import com.ycl.system.Result; import com.ycl.system.page.TableDataInfo; import jakarta.servlet.http.HttpServletResponse; import org.bytedeco.javacv.FFmpegFrameGrabber; import java.io.IOException; import java.time.LocalDate; import java.util.Date; import java.util.List; import java.util.Map; /** * 工单 服务类 * * @author xp * @since 2024-03-05 */ public interface WorkOrderService extends IService { /** * 系统内部的添加 * * @param workOrderList * @return */ Boolean innerAddWorkOrder(List workOrderList); /** * 添加 * @param form * @return */ Result add(WorkOrderForm form); /** * 修改 * @param form * @return */ Result update(WorkOrderForm form); /** * 批量删除 * @param ids * @return */ Result remove(List ids); /** * id删除 * @param id * @return */ Result removeById(String id); /** * 分页查询 * @param query * @return */ Result page(WorkOrderQuery query); /** * 根据id查找 * @param id * @return */ Result detail(String id); /** * 列表 * @return */ Result all(); /** * 工单审核 * @param form * @return */ Result auditing(WorkOrderAuditingForm form); /** * 批量审核 * @param form 工单 * @return 结果 */ Result batchAuditing(WorkOrderBatchAuditingForm form); /** * 运维情况 * @param form * @return */ Result ywCondition(WorkOrderYWConditionForm form); Result ywConditionList(WorkOrderYWConditionsForm form); /** * 运维结果 * @param form * @return */ Result ywResult(WorkOrderYWResultForm form); /** * 检测结果 * @param form * @return */ Result checkResult(WorkOrderCheckResultForm form); /** * 下发分页 * @param query * @return */ Result distributePage(DistributeWorkOrderQuery query); List distributeList(); /** * 快速下发 * @param data * @return */ Result distributeFast(DistributeWorkOrderVO data); /** * 获取工单运维情况 * @param workOrderNo 工单号 * @return 工单运维情况 */ List selectYwConditionByYwId(String workOrderNo); /** * 获取工单运维审核记录 * @param workOrderNo 工单号 * @return 工单运维审核记录 */ List selectYwAuditingListByYwId(String workOrderNo); /** * 批量下发 * @param query 条件 * @return 结果 */ Result selectedIdsDistribute(DistributeWorkOrderQuery query); /** * 大屏工单统计 * @param query * @return */ Result screenWorkOrder(ScreenQuery query); /** * 首页折线图 * @param monitorQuery 查询条件 * @return 数据 */ Map home(HomeQuery monitorQuery); /** * 大屏工单数据 * @param dashboardQuery 查询条件 * @return 数据 */ WorkOrderTotalVO workOrderTotal(DashboardQuery dashboardQuery); /** * 大屏工单地区 * @param dashboardQuery 查询条件 * @return 数据 */ List workOrderRegion(DashboardQuery dashboardQuery); /** * 工单设备点播获取一帧图片 * * @param deviceId 国标设备国标码 * @param channelId 设备通道编号(设备国标码) * @param workOrderNo 工单号 * @return 数据 */ String getFrameImgByDevice(String deviceId, String channelId, String workOrderNo) throws Exception; /** * 工单设备点播获取一帧图片,并保存到数据库 * * @param deviceId 国标设备国标码 * @param channelId 设备通道编号(设备国标码) * @param workOrderNo 工单号 * @return 数据 */ void saveFrameImgByDevice(String deviceId, String channelId, String workOrderNo); /** * 查询工单:待审核的工单 * * @param start 开始时间 * @param end 结束时间 * @return 数据 */ List hasErrorWorkOrderList(Date start, Date end); /** * 更新工单图片 * * @param workOrderId 工单ID * @param imgPath 图像地址 * @return 数据 */ void updateImgById(Integer workOrderId, String imgPath); /** * 工单过程图 * * @param workOrderNo * @return */ Result processImg(String workOrderNo); /** * 工单详情 * * @param workOrderNo * @return */ Result detailByNo(String workOrderNo); List export(WorkOrderExportQuery query); /** * 检测按钮 * @param workOrderNo * @return */ Result checkImage(String workOrderNo,String serialNumber); Result batchDeleteWorkOrder(List workOrderNos); Result errorAll(); }