/*
 * Author: wangjian
 * 生成Service
 */
package com.tofly.xrtymis.custom.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tofly.common.core.entity.ResultRespone;
import com.tofly.xrtymis.custom.dto.TfYwpnGatherrecorDataDTO;
import com.tofly.xrtymis.custom.vo.GatherRecordVO;
import com.tofly.xrtymis.custom.vo.TfYwpnGatherrecordVO;
import com.tofly.xrtymis.entity.TfYwpnGatherrecord;

import java.util.List;

/**
 * 数据采集记录表：TF_YWPN_GATHERRECORD_W
 *
 * @author fcl
 * @date Fri Apr 16 00:00:00 CST 2021
 */
public interface TfYwpnGatherrecordService extends IService<TfYwpnGatherrecord> {

    /**
     * 数据采集记录提交 服务层消息推送
     * @param ids 数据采集记录ids
     * @param reviewId 审核人id
     * @return
     */
    boolean submitRecord(String ids,String reviewId);

    /**
     * 查询是否已发布
     * @param tableName 集数据存储表名称
     * @param gatherId 采集数据ID
     * @return true/false
     */
    boolean ispublished(String tableName,Long gatherId);

    /**
     * 分页查询
     * @param page 分页对象
     * @param dto 查询条件
     * @return
     */
    Page<TfYwpnGatherrecordVO> getPageVO(Page page,TfYwpnGatherrecorDataDTO dto);

    /**
     * 查询当前用户未提交的采集信息
     * @param types 查询多个采集类型（gatherType），多个type以逗号隔开
     * @return
     */
    List<GatherRecordVO> getNoAudit(String types);

    /**
     * 根据存储表名和存储id删除采集记录
     * @param tableName 集数据存储表名称
     * @param gatherId 采集数据ID
     * @return true/false
     */
    boolean deleteByTableNameAndGatherId(String tableName,Long gatherId);

    /**
     * 获取取全局唯一 sid
     * @param gatherTypeId 采集信息类型id
     * @param id 当前信息主键id
     * @return
     */
    String getGlobalSid(String gatherTypeId,Long id);

    /**
     * 删除采集记录
     * @param id 采集记录id
     * @return
     */
    ResultRespone deleteById(Long id);

}
