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; /** *

* 服务类 *

* * @author zhoush * @since 2024-04-07 */ public interface EdgStorageCageDetailsService extends MPJBaseService { /** * 按照设备及线路,获取当前线路正在切割的版图信息 * @param deviceId * @param stationCell * @return */ JSONObject queryCurrentCutDrawing(int deviceId, int stationCell); /** * 按照工程id及版序获取切割版图 默认版序为1 * @param engineerId * @param patternSequence * @return */ Map queryCutDrawingByEngineerId(String engineerId, int patternSequence); /** * 获取 工程下的钢化版图 * * @param current * @return */ List> selectTemperingTerritory(String current); /** * 查询笼内版图差值范围内的 此尺寸玻璃 如无则按照 钢化版图序号 以及玻璃序号 * * @param glassId * @param threshold * @return */ EdgStorageCageDetails selectConformGlass(String glassId, int threshold); /** * 获取出片信息数据 * * @param glassId * @param threshold * @return */ 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 querySlotRemainWidth(int cellLength, int glassGap); List queryPieChart(); }