package com.sw.mes.agv.service;

import com.sw.mes.agv.entity.MonitorEquipmentCharge;
import com.sw.mes.core.base.BaseService;
import com.sw.mes.core.utils.RequestPage;
import org.springframework.data.jpa.domain.Specification;

import java.util.List;

public interface MonitorEquipmentChargeService extends BaseService<MonitorEquipmentCharge> {
	
	List<MonitorEquipmentCharge> findAll(RequestPage page);
	
	List<MonitorEquipmentCharge> findAll(Specification<MonitorEquipmentCharge> specification);
	
	List<MonitorEquipmentCharge> findByExample(Specification<MonitorEquipmentCharge> specification, RequestPage page);

    MonitorEquipmentCharge getByName(String deviceNo);

    List<MonitorEquipmentCharge> findSlingStateNotEqual(String state);

	/**
	 * 根据吊料状态查询装料看板列表
	 * @param slingState
	 * @return
	 */
	List<MonitorEquipmentCharge> findBySlingState(String slingState);

	List<MonitorEquipmentCharge> findByEquipments(List<String> equipmentList);

    List<MonitorEquipmentCharge> findByEquipmentsAndStoreCode(List<String> equipmentList, Boolean isHave);

	/**
	 * 获取待吊料数据
	 * @param equipmentList
	 * @param daidiaoliao
	 * @return
	 */
    List<MonitorEquipmentCharge> findByEquipmentsAndSlingState(List<String> equipmentList, String daidiaoliao);

	void deleteByName(String deviceName);
}
