fuliqi
2025-02-21 64efb660b2c119c00432434c0f651f8996483f18
ycl-server/src/main/java/com/ycl/platform/service/IYwThresholdService.java
@@ -1,32 +1,39 @@
package com.ycl.platform.service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.platform.domain.dto.CarDTO;
import com.ycl.platform.domain.dto.FaceDTO;
import com.ycl.platform.domain.dto.VideoDTO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.platform.domain.entity.WorkOrder;
import com.ycl.platform.domain.entity.WorkOrderWhite;
import com.ycl.platform.domain.entity.YwThreshold;
import com.ycl.platform.domain.form.CarThresholdForm;
import com.ycl.platform.domain.form.FaceThresholdForm;
import com.ycl.platform.domain.form.VideoThresholdForm;
import com.ycl.platform.mapper.YwThresholdMapper;
import com.ycl.platform.domain.excel.PointExport;
import com.ycl.platform.domain.query.WorkOrderWhiteQuery;
import com.ycl.platform.domain.result.HK.FaceDeviceInspectionResult;
import com.ycl.platform.domain.result.HK.VehicleDeviceInspectionResult;
import com.ycl.system.Result;
import com.ycl.system.page.TableDataInfo;
import enumeration.CompareType;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutionException;
/**
 * 运维阈值Service接口
 *
 * @author gonghl
 * @date 2024-03-25
 * @date 2024-07-19
 */
public interface IYwThresholdService {
public interface IYwThresholdService extends IService<YwThreshold>
{
    /**
     * 查询运维阈值
     *
     * @param id 运维阈值主键
     * @return 运维阈值
     */
    public YwThreshold selectYwThresholdById(Integer id);
    public YwThreshold selectYwThresholdById(Long id);
    /**
     * 查询运维阈值列表
@@ -34,7 +41,7 @@
     * @param ywThreshold 运维阈值
     * @return 运维阈值集合
     */
    public List<YwThreshold> selectYwThresholdList(YwThreshold ywThreshold);
    public Map<String, List<YwThreshold>> selectYwThresholdList(YwThreshold ywThreshold);
    /**
     * 新增运维阈值
@@ -50,7 +57,7 @@
     * @param ywThreshold 运维阈值
     * @return 结果
     */
    public int updateYwThreshold(YwThreshold ywThreshold);
    public Boolean updateYwThreshold(List<YwThreshold> ywThreshold);
    /**
     * 批量删除运维阈值
@@ -58,7 +65,7 @@
     * @param ids 需要删除的运维阈值主键集合
     * @return 结果
     */
    public int deleteYwThresholdByIds(Integer[] ids);
    public int deleteYwThresholdByIds(Long[] ids);
    /**
     * 删除运维阈值信息
@@ -66,74 +73,76 @@
     * @param id 运维阈值主键
     * @return 结果
     */
    public int deleteYwThresholdById(Integer id);
    public int deleteYwThresholdById(Long id);
    /**
     * 修改人脸阈值
     * 判断车辆阈值条件
     */
    public void carCheck(List<VehicleDeviceInspectionResult> list);
    /**
     * 判断人脸阈值条件
     */
    public void faceCheck(List<FaceDeviceInspectionResult> list);
    /**
     * 判断视频阈值条件
     */
    public void videoCheck(List list);
    /**
     * 阈值无法判断的,校验故障类型生成工单。优云
     */
    public void errorTypeCheckUY(List list);
    /**
     * 工单白名单列表
     *
     * @param form
     * @return
     * @param workOrderWhiteQuery 白色工单查询
     * @return {@link TableDataInfo }
     * @author
     */
    int editFace(FaceThresholdForm form);
    Result selectWorkOrderWhiteList(WorkOrderWhiteQuery workOrderWhiteQuery);
    /**
     * 修改车辆阈值
     * 添加工单白名单
     *
     * @param form
     * @return
     * @param workOrderWhite 白色工单
     * @return {@link Result }
     * @author
     */
    int editCar(CarThresholdForm form);
    Result addWorkOrderWhite(WorkOrderWhite workOrderWhite);
    /**
     * 修改视频阈值
     * 批量删除工单白名单
     *
     * @param form
     * @return
     * @param ids ids
     * @author
     */
    int editVideo(VideoThresholdForm form);
    Result batchDeleteWorkOrderWhite(List<String> ids);
    Result selectWorkOrderWhiteDetail(Integer id);
    Result updateWorkOrderWhite(WorkOrderWhite workOrderWhite);
    /**
     * 检查人脸数据是否要生成工单
     * 导出数据
     *
     * @param faceList 人脸数据
     * @return 是否生成工单
     * @param response
     */
    Boolean checkFace(List<FaceDTO> faceList);
    void whiteExport(HttpServletResponse response) throws IOException;
    /**
     * 检查车辆数据是否要生成工单
     * 批量导入工单白名单
     *
     * @param carList 车辆数据
     * @return 是否生成工单
     * @author
     */
    Boolean checkCar(List<CarDTO> carList);
    Result importWhite(MultipartFile file) throws IOException;
    /**
     * 检查视频数据是否要生成工单
     *
     * @param videoList
     * @return 是否生成工单
     */
    Boolean checkVideo(List<VideoDTO> videoList);
    public Map<String, YwThreshold> getYwThresholdMap(String name);
    public <T extends Comparable<T>> void check(String key, T value, String serialNumber, Map<String, YwThreshold> thresholds, WorkOrder workOrder, CompareType compareType, String errorType);
    /**
     * 获取人脸配置
     * @param id
     * @return
     */
    FaceThresholdForm getFace(Integer id);
    /**
     * 获取车辆配置
     * @param id
     * @return
     */
    CarThresholdForm getCar(Integer id);
    Result addBatch (WorkOrderWhite workOrderWhite);
    /**
     * 获取视频配置
     * @param id
     * @return
     */
    VideoThresholdForm getVideo(Integer id);
}