package com.bonus.tcp.smartIdentify.mapper;

import com.bonus.app.entity.DevDetailEntity;
import com.bonus.common.entity.bracelet.vo.BraceletVo;
import com.bonus.common.entity.tcp.BraceletImageVo;
import com.bonus.common.entity.tcp.DeviceUseVo;
import com.bonus.common.entity.tcp.HisDataVo;
import lombok.Data;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface BraceletImageMapper {
    /**
     * 依据级联编码查询手环
     * @param devCode
     * @return
     */
    BraceletVo getBraceletVo(String devCode);

    /**
     *更新手环使用人
     * @param dev
     */
    void updateBraceletData(BraceletVo dev);

    /**
     * 查询手环箱领用的数据
     * @param dev
     * @return
     */
    DeviceUseVo getDevLyInfo(BraceletVo dev);

    /**
     *
     * @param devUseVo
     */
    void insertShUseData(DeviceUseVo devUseVo);



    /**
     * 依据设备编码查询设备信息
     * @param vo
     * @return
     */
    DevDetailEntity getDevDetails(BraceletImageVo vo);

    /**
     * 更新设备手环数据
     * @param vo
     */
    void updateDetails(DevDetailEntity vo);

    /**
     * 新增设备属性值
     * @param vo
     */
    void insetDetailData(DevDetailEntity vo);

    /**
     * 获取设备id
     * @param vo
     * @return
     */
    String getDevId(BraceletImageVo vo);

    /**
     * 更新手环状态
     * @param devCode
     */
    void updateVerdateStatus(@Param("devCode") String devCode,@Param("status")String status);

    void updateVerdateStatusAll();

    /**
     * 绑定人
     * @param vo
     * @return
     */
    String getDevBindUser(BraceletImageVo vo);

    /**
     * 历史数据插入
     * @param vo
     */
    void insertHistoryData(HisDataVo vo);

    /**
     * 校验人员是否在班组内
     * @param devCode
     * @param userId
     * @return
     */
    List<String> getTeamUser(@Param("devCode") String devCode,@Param("userId") String userId);

    /**
     *
     * @param vo
     * @return
     */
    List<String> getShCodeByGt(BraceletImageVo vo);

    List<String> getBdShCode(@Param("list") List<String> list);
}
