package com.ruoyi.nanjing.mapper;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.ruoyi.nanjing.domain.ParaAllShow;
import com.ruoyi.nanjing.domain.ProParaInfo;
import com.ruoyi.nanjing.domain.ProRpList;
import com.ruoyi.nanjing.domain.TSyTracestate;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.mapping.StatementType;

/**
 * traceStateMapper接口
 *
 * @author limy
 * @date 2021-01-29
 */
public interface TSyTracestateMapper
{
    /**
     * 查询traceState
     *
     * @param barcode traceStateID
     * @return traceState
     */
    public TSyTracestate selectTSyTracestateById(String barcode);

    /**
     * 查询traceState列表
     *
     * @param tSyTracestate traceState
     * @return traceState集合
     */
    public List<TSyTracestate> selectTSyTracestateList(TSyTracestate tSyTracestate);

    /**
     * 新增traceState
     *
     * @param tSyTracestate traceState
     * @return 结果
     */
    public int insertTSyTracestate(TSyTracestate tSyTracestate);

    /**
     * 修改traceState
     *
     * @param tSyTracestate traceState
     * @return 结果
     */
    public int updateTSyTracestate(TSyTracestate tSyTracestate);

    /**
     * 删除traceState
     *
     * @param barcode traceStateID
     * @return 结果
     */
    public int deleteTSyTracestateById(String barcode);

    /**
     * 批量删除traceState
     *
     * @param barcodes 需要删除的数据ID
     * @return 结果
     */
    public int deleteTSyTracestateByIds(String[] barcodes);

    @ResultMap({"col1","col2"})
    @Options(statementType = StatementType.CALLABLE)
    List<List<HashMap<String,String>>> selectAllPara(Map map);

    List<ProRpList> getInfo(Object semiBarcode);

    List selectStationPara(Map map);
}
