wu
2025-10-24 a325f9eda08af39cce45cba363e4247a1b7d5465
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
@@ -1,18 +1,20 @@
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.BigStorageDTO;
import com.mes.bigstorage.entity.dto.SlotSequenceDTO;
import com.mes.bigstorage.entity.dto.TemperingLayoutDTO;
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 com.mes.pp.entity.OptimizeProject;
import java.util.List;
import java.util.Map;
/**
 * <p>
 *  服务类
 * 服务类
 * </p>
 *
 * @author zhoush
@@ -20,13 +22,15 @@
 */
public interface BigStorageCageDetailsService extends IService<BigStorageCageDetails> {
    List<BigStorageCageDetails> selectTask(int taskType);
    List<BigStorageCageDetails> selectFeedTask();
    List<BigStorageCageDetails> selectOutTask();
    double selectGetBoard(String plcFeedReqLine);
    void deleteBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails);
    void damageBigStorageCageDetails(String glassId,int status);
    void damageBigStorageCageDetails(String glassId, int status);
    List<BigStorageCageDetails> selectBigStorageCageDetails(String glassId);
@@ -37,12 +41,28 @@
    void outBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails);
    /**
     * 查询进片格子信息:优先工程最少、剩余格子最多的笼子内的格子
     * @param EngineerId
     * @param glassId
     * @param thickness
     * @return
     */
    BigStorageDTO queryTargetSlot(String EngineerId, String glassId, int thickness);
    /**
     * 按照版图信息获取进片笼子信息
     *
     * @param glassInfo
     */
    BigStorageDTO queryTargetSlotByTempering(GlassInfo glassInfo);
    /**
     * 指定工程的版图是否到齐
     * @param engineerId
     * @param temperingLayoutId
     * @return
     */
    List<TemperingLayoutDTO> temperingIsAllByTemperingLayoutId(String engineerId, Integer temperingLayoutId);
    /**
     * 获取钢化版图已经到齐的工程号及版图id
     *
@@ -55,7 +75,7 @@
     *
     * @return
     */
    TemperingLayoutDTO queryTemperingOccupySlot();
    List<TemperingLayoutDTO> queryTemperingOccupySlot();
    /**
     * 获取版图每个格子的最大最小序号
@@ -66,7 +86,65 @@
     */
    List<SlotSequenceDTO> queryGlassMaxAndMin(String engineerId, Integer temperingLayoutId);
    boolean TemperingGlass(String temperingLayoutId, String engineerId);
    boolean temperingGlass(String temperingLayoutId, String engineerId, String temperingFeedSequence);
    List<Map<String, Object>> selectTemperingGlass();
    List<TemperingGlassCountDTO> selectTemperingGlass(int isTempering);
    void updateBySlot(List<UpdateBigStorageCageDTO> glassList, int state);
    String temperingSwitch(Boolean flag);
    boolean appointTemperingEngineerId(String engineerId);
    List<BigStorageRelationDTO> queryIsAllNeedDispatchVirtualSlot(List<Integer> deviceIdList);
    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();
    /**
     * 查询工程待排序信息
     * @return
     */
    List<BigStorageCageDetails> queryEngineer();
    /**
     * 查询钢化排产顺序
     * @return OptimizeProject 钢化排产顺序
     */
    List<OptimizeProject> queryTemperingOrder();
}