package com.yunfeiyun.agmp.fms.service;

import com.yunfeiyun.agmp.fms.domain.TssScanrcd;
import com.yunfeiyun.agmp.fms.domain.reqvo.SelectCountOfScreenReqVo;
import com.yunfeiyun.agmp.fms.domain.reqvo.TssScanrcdReqVo;
import com.yunfeiyun.agmp.fms.domain.resvo.TssScanrcdResVo;
import com.yunfeiyun.agmp.fms.domain.resvo.TssScanrcdStatResVo;

import javax.servlet.http.HttpServletRequest;
import java.util.List;


/**
 * 溯源码扫码记录Service接口
 * 
 * @author 杨晓辉
 * @date 2023-07-04
 */
public interface ITssScanrcdService 
{
    /**
     * 查询溯源码扫码记录
     * 
     * @param scanrcdId 溯源码扫码记录主键
     * @return 溯源码扫码记录
     */
    public TssScanrcd selectTssScanrcdByScanrcdId(String scanrcdId);

    /**
     * 查询溯源码扫码记录列表
     *
     * @param tssScanrcd 溯源码扫码记录
     * @return 溯源码扫码记录集合
     */
    public List<TssScanrcd> selectTssScanrcdList(TssScanrcd tssScanrcd);
    /**
     * 查询溯源码扫码记录列表
     *
     * @param tssScanrcdReqVo 溯源码扫码记录查询参数
     * @return 溯源码扫码记录集合
     */
    public List<TssScanrcdResVo> selectTssScanrcdList(TssScanrcdReqVo tssScanrcdReqVo);

    /**
     * 查询扫码次数
     * @param reqVo
     * @return
     */
    public Integer selectCountOfTssScanrcd(SelectCountOfScreenReqVo reqVo);

    public List<TssScanrcdStatResVo> selectCountByProvince(SelectCountOfScreenReqVo reqVo);
    public List<TssScanrcdStatResVo> selectCountByCity(SelectCountOfScreenReqVo reqVo);

    /**
     * 新增溯源码扫码记录
     * 
     * @param tssScanrcd 溯源码扫码记录
     * @return 结果
     */
    public int insertTssScanrcd(TssScanrcd tssScanrcd);

    /**
     * 修改溯源码扫码记录
     * 
     * @param tssScanrcd 溯源码扫码记录
     * @return 结果
     */
    public int updateTssScanrcd(TssScanrcd tssScanrcd);

    /**
     * 批量删除溯源码扫码记录
     * 
     * @param scanrcdIds 需要删除的溯源码扫码记录主键集合
     * @return 结果
     */
    public int deleteTssScanrcdByScanrcdIds(String[] scanrcdIds);

    /**
     * 删除溯源码扫码记录信息
     * 
     * @param scanrcdId 溯源码扫码记录主键
     * @return 结果
     */
    public int deleteTssScanrcdByScanrcdId(String scanrcdId);

    public void saveScanrcdInfo(String tarcecodeapplyno, HttpServletRequest httpServletRequest);
}
