zhoushihao
2 天以前 4e3b8155722b66e25df3c6fd42cc586b68dea391
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
@@ -1,14 +1,18 @@
package com.mes.edgstoragecage.service;
import cn.hutool.json.JSONObject;
import com.github.yulichang.base.MPJBaseService;
import com.mes.damage.entity.request.DamageRequest;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.entity.vo.EdgSlotRemainVO;
import com.mes.largenscreen.entity.PieChartVO;
import java.util.List;
import java.util.Map;
/**
 * <p>
 *  服务类
 * 服务类
 * </p>
 *
 * @author zhoush
@@ -17,39 +21,97 @@
public interface EdgStorageCageDetailsService extends MPJBaseService<EdgStorageCageDetails> {
    /**
     * 识别 破损/拿走
     * @param glassId
     * @param ControlsId
     * 按照设备及线路,获取当前线路正在切割的版图信息
     * @param deviceId
     * @param stationCell
     * @return
     */
    boolean identWorn(String glassId,int ControlsId);
    JSONObject queryCurrentCutDrawing(int deviceId, int stationCell);
    /**
     * 获取 切割当前版图
     * 按照工程id及版序获取切割版图 默认版序为1
     * @param engineerId
     * @param patternSequence
     * @return
     */
    List<Map<String, Object>> selectCutTerritory();
    Map<String, Object> queryCutDrawingByEngineerId(String engineerId, int patternSequence);
    /**
     * 获取 工程下的当前版图
     * 获取 工程下的钢化版图
     *
     * @param current
     * @return
     */
    List<Map<String, Object>> selectCurrentCutTerritory(String current);
    List<Map<String, Object>> selectTemperingTerritory(String current);
    /**
     * 查询笼内版图差值范围内的  此尺寸玻璃  如无则按照 钢化版图序号 以及玻璃序号
     *
     * @param glassId
     * @param poor
     * @param threshold
     * @return
     */
    EdgStorageCageDetails selectConformGlass(String glassId, int poor);
    EdgStorageCageDetails selectConformGlass(String glassId, int threshold);
    /**
     * 获取出片信息数据
     *
     * @param glassId
     * @param poor
     * @param threshold
     * @return
     */
    EdgStorageCageDetails selectOutGlass(String glassId, int poor);
    EdgStorageCageDetails selectOutGlass(String glassId, int threshold);
    /**
     * 识别   拿走:9/破损:8
     *
     * @param request
     * @return
     */
    String identControls(DamageRequest request);
    /**
     * 磨边模块汇报玻璃状态   功能:对笼内栅格玻璃进行【破损/拿走】
     *
     * @param request
     * @return
     */
    String edgReportStatus(DamageRequest request);
    /**
     * 进片  扫码ID验证重复
     *
     * @param glassId
     * @return
     */
    boolean inToVerify(String glassId);
    /**
     * 按照尺寸
     *
     * @param deviceId
     * @param width
     * @param height
     * @param cell
     * @param maxThickness
     * @return
     */
    EdgStorageCageDetails queryEdgStorageDetailsBySize(int deviceId, int currentSlot, double width, double height, int cell, int maxThickness);
    /**
     * 按照尺寸,线路、线路最大最小尺寸获取符合要求的玻璃小片数据
     *
     * @param deviceId
     * @param width
     * @param height
     * @param maxThickness
     * @return
     */
    EdgStorageCageDetails queryEdgStorageDetailsByLimitSize(int deviceId, Integer currentCell, double width, double height, int cell, int minOneFirstLength, int minOneSecondLength, int maxTwoFirstLength, int maxTwoSecondLength, int maxThickness);
    String edgDetailsOperate(DamageRequest request);
    List<EdgSlotRemainVO> querySlotRemainWidth(int cellLength, int glassGap);
    List<PieChartVO> queryPieChart();
}