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


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.cylinder.api.entity.ESCylinderInfoDto;
import com.yeejoin.amos.boot.module.cylinder.flc.api.dto.CityCylinderInfoDto;
import com.yeejoin.amos.boot.module.cylinder.flc.api.dto.CylinderInfoDto;

import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * 气瓶基本信息接口类
 *
 * @author system_generator
 * @date 2021-12-14
 */
public interface ICylinderInfoService {

    /**
     * 根据企业id 获取气瓶数量及过期气瓶数量
     * @param unitId
     * @return
     */
    Map<String, String> queryNumAndOutOfDateNum(String unitCode) throws IOException;
    
    void synFillingUnloadData();
    
	void synAreaData();

	void addIntegrityData();
	
	void getCylinderUnitInfo();
	
	void getCylinderInfo();
	
	void synUnitCylinderInfoData();
	
	void synUnitCylinderFillingData();
	
	void synUnitCylinderTagsData();
	
	void synUnitIntegrityData();
	
	void synUnitFillingCheckDataJob();

	void fillingCheckDataSynHandler();

	void oneDayEnterpriseCylinderDataRefreshTask(String day, String appId);

	void fillingRecordDataSynHandler();

    void synFillingUnloadUnitData();

	Page<CylinderInfoDto> getCyinderInfoList(Page<CylinderInfoDto> page);

	ESCylinderInfoDto saveCylinderInfoToES(CylinderInfoDto ci);

    Page<ESCylinderInfoDto> queryByKeys(CylinderInfoDto cylinderInfoDto, int pageNum, int pageSize);

    void saveCylinderInfo2ES(List<CylinderInfoDto> records);

    Integer getInfoTotal();
}
