package com.unis.detectionnum.server.dao;

import com.unis.detectionnum.common.vo.DeviceInfoQueryVO;
import com.unis.detectionnum.common.vo.DeviceOperateVO;
import com.unis.detectionnum.common.vo.ScanDataQueryVO;
import com.unis.detectionnum.common.vo.ScanDataRecordVO;
import com.unis.detectionnum.server.entity.DeviceOperateDO;

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

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Repository
public interface DeviceOperateDao {
    int deleteByPrimaryKey(String id);

    int insert(DeviceOperateDO record);

    int insertSelective(DeviceOperateDO record);

    DeviceOperateDO selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(DeviceOperateDO record);

    int updateByPrimaryKey(DeviceOperateDO record);

	List<DeviceOperateDO> selectByDeviceInfo(DeviceInfoQueryVO deviceInfoQueryVO);

	/** 
	 * @Title: selectRecordList 
	 * @Description: 扫描记录查询
	 * @param scanDataQueryVO
	 * @return List<ScanDataRecordVO>
	 * @throws 
	 */
	List<ScanDataRecordVO> selectRecordList(ScanDataQueryVO scanDataQueryVO);

	/** 
	 * @Title: selectLastOperate 
	 * @Description: 根据设备编号获取上次扫描数据
	 * @param sbCode
	 * @return DeviceOperateDO
	 * @throws 
	 */
	DeviceOperateDO selectLastOperate(String sbCode);

    double getSmgd(String operateId);

    void updateTjAndZl(DeviceOperateVO currentOperate);

	Map<String,Object> selectByOperateId(String operateId);

    void updateSmcsByOperateId( DeviceOperateDO deviceOperateDO);

	void updateFlagByOperateId(String operateId);

	int findByOperateId(String operateId);

	double getsmcd(String operateId);

	double getsmkd(String operateId);

	double getsmax(String operateId);

	double getsmby(String operateId);

	Map<String,Object> getSmgd2(String operateId);

	Map<String,Object> getByCfbn(String cfbm);

	Map<String,Object> getCfByid(String id);
}