zhoushihao
2 天以前 4e3b8155722b66e25df3c6fd42cc586b68dea391
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
@@ -1,11 +1,19 @@
package com.mes.bigstorage.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.base.entity.vo.BigStorageVO;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.entity.dto.*;
import com.mes.bigstorage.entity.vo.BigStorageQueryVO;
import com.mes.bigstoragetask.entity.UpdateBigStorageCageDTO;
import com.mes.glassinfo.entity.GlassInfo;
import java.util.List;
import java.util.Map;
/**
 * <p>
 *  服务类
 * 服务类
 * </p>
 *
 * @author zhoush
@@ -13,4 +21,99 @@
 */
public interface BigStorageCageDetailsService extends IService<BigStorageCageDetails> {
    List<BigStorageCageDetails> selectFeedTask();
    List<BigStorageCageDetails> selectOutTask();
    double selectGetBoard(String plcFeedReqLine);
    void deleteBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails);
    void damageBigStorageCageDetails(String glassId, int status);
    List<BigStorageCageDetails> selectBigStorageCageDetails(String glassId);
    void insertBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails);
    void finishBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails);
    void outBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails);
    /**
     * 按照版图信息获取进片笼子信息
     *
     * @param glassInfo
     */
    BigStorageDTO queryTargetSlotByTempering(GlassInfo glassInfo);
    /**
     * 获取钢化版图已经到齐的工程号及版图id
     *
     * @return
     */
    List<TemperingLayoutDTO> temperingIsAll();
    /**
     * 获取每个钢化版图占用的格子数量
     *
     * @return
     */
    List<TemperingLayoutDTO> queryTemperingOccupySlot();
    /**
     * 获取版图每个格子的最大最小序号
     *
     * @param engineerId
     * @param temperingLayoutId
     * @return
     */
    List<SlotSequenceDTO> queryGlassMaxAndMin(String engineerId, Integer temperingLayoutId);
    boolean temperingGlass(String temperingLayoutId, String engineerId, String temperingFeedSequence);
    List<TemperingGlassCountDTO> selectTemperingGlass(int isTempering);
    void updateBySlot(List<UpdateBigStorageCageDTO> glassList, int state);
    String temperingSwitch(Boolean flag);
    boolean appointTemperingEngineerId(String engineerId);
    List<BigStorageRelationDTO> queryIsAllNeedDispatchVirtualSlot();
    List<BigStorageSequenceDTO> dispatchBigStorageGlassInfo(BigStorageRelationDTO bigStorageRelationDTO);
    String dispatchSwitch(Boolean flag);
    /**
     * 按照工程信息及钢化id(炉号)获取缺少的玻璃信息
     * @param bigStorageQueryVO
     * @return
     */
    List<GlassInfoLackDTO> queryLackGlassInfo(BigStorageQueryVO bigStorageQueryVO);
    String bigStorageGlassDamageByGlassId(String glassId);
    /**
     * 按照格子号更新详情表内的格子对应的设备id
     * @param slotList
     */
    void updateDeviceIdBySlot(List<Integer> slotList);
    /**
     * 按照工程信息及钢化id(炉号)获取实际笼内的玻璃信息
     *
     * @param bigStorageQueryVO
     * @return
     */
    List<BigStorageCageDetails> queryRealGlassInfo(BigStorageQueryVO bigStorageQueryVO);
    Map<Integer, List<BigStorageVO>> querybigStorageCageDetail();
    /**
     * 取消钢化任务
     *
     * @return
     */
    boolean cancelTemperingTask();
}