package com.yeejoin.amos.boot.module.cylinder.flc.api.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.cylinder.flc.api.entity.CylinderFilling;
import com.yeejoin.amos.boot.module.cylinder.flc.api.entity.CylinderFillingCheck;
import com.yeejoin.amos.boot.module.cylinder.flc.api.entity.CylinderFillingRecord;
import com.yeejoin.amos.boot.module.cylinder.flc.api.entity.CylinderInfo;
import org.apache.ibatis.annotations.Param;

import java.util.HashSet;
import java.util.List;

/**
 * 液化气体气瓶充装信息-充装后复查 Mapper 接口
 *
 * @author system_generator
 * @date 2022-03-04
 */
public interface CylCylinderFillingCheckMapper extends BaseMapper<CylinderFillingCheck> {

    Integer getFillingCheckListTotal();

    List<CylinderFillingCheck> getFillingCheckList();

    void updateFillingCheckBatch(HashSet<String> appIdList, HashSet<String> fillingCheckIdList);

    Integer getCylinderInfoCount();

    List<CylinderInfo> getCylinderInfoList();

    void updateBatch(@Param("sequenceNbrS") List<Long> sequenceNbrS);

    List<CylinderFilling> queryUnSyncFilling();

    boolean updataSyncFilling(@Param("ids") List<Long> appIds);

    boolean saveAndBatchInsert(@Param("list") List<CylinderFilling> list);

    Long selectCountTotal();

    List<CylinderFillingRecord> fillingRecordSyncRecords();

    void batchInsertOrUpdate(@Param("list") List<CylinderFillingRecord> list);

    void updateSyncState(@Param("ids") List<Long> ids);
}
