wangfei
2024-12-30 e08f1e0b40dd9aeb349e86534ffe2d83ddc42552
Merge branch 'master' of http://10.153.19.25:10105/r/HangZhouMes
15个文件已修改
146 ■■■■■ 已修改文件
UI-Project/src/lang/en.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/zh.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Slicecage/slicecage.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/opccallback/BigStorageStartCallback.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/tools/service/impl/BigStorageBaseServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/en.js
@@ -114,6 +114,7 @@
          undesignate:'Undesignate',
          allnumber:'Total quantity',
          numbercages:'Number of cages',
          numberslots:'Number of slots',
          missingquantity:'Missing quantity',
          breakquantity:'Breakage/Take Away quantity',
          ceng:'layer',
UI-Project/src/lang/zh.js
@@ -117,6 +117,7 @@
          undesignate:'取消指定',
          allnumber:'总数量',
          numbercages:'笼子内数量',
          numberslots:'所占格子',
          missingquantity:'缺少数量',
          breakquantity:'破损/拿走数量',
          ceng:'层',
UI-Project/src/views/Slicecage/slicecage.vue
@@ -1656,6 +1656,7 @@
          <el-table-column prop="tempering_layout_id" fixed align="center" :label="$t('searchOrder.layoutnumber')" min-width="120" />
          <el-table-column prop="count2" align="center" :label="$t('searchOrder.allnumber')" min-width="150" />
          <el-table-column prop="count1" align="center" :label="$t('searchOrder.numbercages')" min-width="150" />
          <el-table-column prop="slots" align="center" :label="$t('searchOrder.numberslots')" min-width="150" />
          <el-table-column prop="count3" align="center" :label="$t('searchOrder.missingquantity')" min-width="150" />
          <el-table-column prop="count4" align="center" :label="$t('searchOrder.breakquantity')" min-width="150" />
          <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" width="250">
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -6,6 +6,10 @@
import request from "@/utils/request";
import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
import {host, WebSocketHost} from '@/utils/constants'
import PrintFlow from "@/views/UnLoadGlass/PrintFlow.vue";
import Landingindication from "./Landingindication.vue";
import Landingindicationtwo from "./Landingindicationtwo.vue";
import PrintLabel from "@/views/UnLoadGlass/PrintCustomLabelSemi1.vue";
const router = useRouter()
const {t} = useI18n()
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java
@@ -68,6 +68,12 @@
    @ApiModelProperty(value = "剩余宽度", position = 8)
    private Integer remainWidth;
    /**
     * 格子高度
     */
    @ApiModelProperty(value = "格子高度", position = 9)
    private Integer slotHeight;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private List<BigStorageCageDetails> bigStorageCageDetails;
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java
@@ -16,7 +16,7 @@
 */
public interface BigStorageCageMapper extends MPJBaseMapper<BigStorageCage> {
    List<Integer> queryFreeDeviceByUsed(@Param(value = "thickness") double thickness);
    List<Integer> queryFreeDeviceByUsed(@Param(value = "thickness") double thickness, @Param(value = "slotHeight") double slotHeight);
//
//    List<Integer> queryFreeDeviceByNotUsed(@Param(value = "thickness") double thickness);
}
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
@@ -32,7 +32,7 @@
    void updateStorageCageDisabled(int slot, int enableState);
    List<Integer> queryFreeDeviceByUsed(double thickness);
    List<Integer> queryFreeDeviceByUsed(double thickness,double slotHeight);
//    List<Integer> queryFreeDeviceByNotUsed(double thickness);
}
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -125,7 +125,8 @@
        outWrapper.in(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING, Const.GLASS_STATE_SCHEDULE_ING);
        List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(outWrapper);
        LambdaQueryWrapper<BigStorageCageOutTask> outTaskWrapper = new LambdaQueryWrapper<>();
        outTaskWrapper.lt(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_SUCCESS);
        outTaskWrapper.lt(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_SUCCESS)
                .orderByAsc(BigStorageCageOutTask::getId);
        List<BigStorageCageOutTask> bigStorageCageOutTaskList = bigStorageCageOutTaskMapper.selectList(outTaskWrapper);
        Map<String, BigStorageCageOutTask> listMap = bigStorageCageOutTaskList.stream()
@@ -288,6 +289,7 @@
                .eq(BigStorageCageDetails::getEngineerId, glassInfo.getEngineerId())
                .eq(BigStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId())
                .gt(BigStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight()))
                .lt(BigStorageCage::getSlotHeight, Math.min(glassInfo.getWidth(), glassInfo.getHeight()))
                .in(BigStorageCageDetails::getGlassId, glassIds)
                .last("limit 1");
        if (glassInfo.getTemperingLayoutId() == 0) {
@@ -309,9 +311,10 @@
        bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                .eq(BigStorageCage::getEnableState, Const.SLOT_ON)
                .eq(BigStorageCage::getRemainWidth, slotWidth)
                .lt(BigStorageCage::getSlotHeight, Math.min(glassInfo.getWidth(), glassInfo.getHeight()))
//                .notInSql(BigStorageCage::getSlot, "select distinct slot from big_storage_cage_details where state = 0")
                .inSql(BigStorageCage::getDeviceId,
                        "select distinct device_id from big_storage_cage_details where engineer_id = '" + glassInfo.getEngineerId() + "' and tempering_layout_id = " + glassInfo.getTemperingLayoutId())
                        "select distinct device_id from big_storage_cage_details where state!=101 and engineer_id = '" + glassInfo.getEngineerId() + "' and tempering_layout_id = " + glassInfo.getTemperingLayoutId())
                .last("limit 1"));
        if (null != bigStorageCage) {
            log.info("根据版图id找到笼子内的目标格子:{},玻璃id:{}", bigStorageCage.getSlot(), glassInfo.getGlassId());
@@ -323,8 +326,8 @@
        }
        //获取玻璃的厚度:重新选笼子需要按照笼子可放玻璃厚度进行选择 因为子查询排序对主sql无影响,所以先执行子查询获取顺序,然后一次去查询
        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness());
        List<Integer> deviceUseds = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness());
        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness(),Math.min(glassInfo.getWidth(),glassInfo.getHeight()));
        List<Integer> deviceUseds = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness(),Math.min(glassInfo.getWidth(),glassInfo.getHeight()));
        List<BigStorageCageDetails> engineerCount1 = baseMapper.selectList(
                new LambdaQueryWrapper<BigStorageCageDetails>()
                        .notIn(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT, Const.GLASS_STATE_DAMAGE, Const.GLASS_STATE_TAKE)
@@ -366,6 +369,7 @@
        if (CollectionUtils.isEmpty(deviceUsedList)) {
            deviceUsedList = deviceUseds;
        }
        for (Integer item : deviceUsedList) {
            bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                    .eq(BigStorageCage::getRemainWidth, slotWidth)
@@ -524,7 +528,7 @@
        }
        long startSlotCount = bigStorageCageOutTasks.stream().map(BigStorageCageOutTask::getStartSlot).distinct().count();
        long endSlotCount = bigStorageCageOutTasks.stream().map(BigStorageCageOutTask::getEndSlot).distinct().count();
        long time = (startSlotCount * 10 + endSlotCount * 20) / 60;
        long time = (startSlotCount * 20 + endSlotCount * 20) / 60;
        return time;
    }
}
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -289,8 +289,8 @@
    }
    @Override
    public List<Integer> queryFreeDeviceByUsed(double thickness) {
        return baseMapper.queryFreeDeviceByUsed(thickness);
    public List<Integer> queryFreeDeviceByUsed(double thickness, double slotHeight) {
        return baseMapper.queryFreeDeviceByUsed(thickness, slotHeight);
    }
//    @Override
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -403,33 +403,38 @@
                                        .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
                                        .orderBy(Boolean.TRUE, sequenceOrder, BigStorageCageDetails::getTemperingFeedSequence)
                        );
                        //当一格玻璃都到齐时
                        if (bigStorageCageDetailsList.size() == valueList.size()) {
                            long distinctSlotCount = bigStorageCageDetailsList.stream()
                                    .map(BigStorageCageDetails::getSlot)
                                    .distinct()
                                    .count();
                            //当玻璃不在同一格时
                            if (distinctSlotCount > 1) {
                                BigStorageCageDetails maxSequenceDetail = bigStorageCageDetailsList.stream()
                                        .max(Comparator.comparingInt(BigStorageCageDetails::getTemperingFeedSequence))
                                        .orElse(null);  // 如果没有元素,返回 null
                                int maxSlot = maxSequenceDetail.getSlot();
                                int serialNumber = 1;
                                for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
                                ) {
                                    if (bigStorageCageDetails.getSlot() != maxSlot) {
                                        bigStorageCageOutTaskService.save(new BigStorageCageOutTask(bigStorageCageDetails.getGlassId(), bigStorageCageDetails.getSlot(), maxSlot,
                                                bigStorageCageDetails.getWidth() * 10, bigStorageCageDetails.getHeight() * 10, 1, serialNumber++, Const.BIG_STORAGE_OUT_NEW, new Date()));
                        List<BigStorageCageDetails> overSizeGlass = bigStorageCageDetailsList.stream().filter(
                                t -> Math.min(t.getWidth(), t.getHeight()) > 2500
                        ).collect(Collectors.toList());
                        if(CollectionUtils.isEmpty(overSizeGlass)){
                            //当一格玻璃都到齐时
                            if (bigStorageCageDetailsList.size() == valueList.size()) {
                                long distinctSlotCount = bigStorageCageDetailsList.stream()
                                        .map(BigStorageCageDetails::getSlot)
                                        .distinct()
                                        .count();
                                //当玻璃不在同一格时
                                if (distinctSlotCount > 1) {
                                    BigStorageCageDetails maxSequenceDetail = bigStorageCageDetailsList.stream()
                                            .max(Comparator.comparingInt(BigStorageCageDetails::getTemperingFeedSequence))
                                            .orElse(null);  // 如果没有元素,返回 null
                                    int maxSlot = maxSequenceDetail.getSlot();
                                    int serialNumber = 1;
                                    for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
                                    ) {
                                        if (bigStorageCageDetails.getSlot() != maxSlot) {
                                            bigStorageCageOutTaskService.save(new BigStorageCageOutTask(bigStorageCageDetails.getGlassId(), bigStorageCageDetails.getSlot(), maxSlot,
                                                    bigStorageCageDetails.getWidth() * 10, bigStorageCageDetails.getHeight() * 10, 1, serialNumber++, Const.BIG_STORAGE_OUT_NEW, new Date()));
                                        bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>().set(BigStorageCageDetails::getState, Const.GLASS_STATE_SCHEDULE_ING)
                                                .set(BigStorageCageBaseInfo::getSlot, maxSlot).eq(BigStorageCageDetails::getGlassId, bigStorageCageDetails.getGlassId())
                                                .ne(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT));
                                        //两次更新笼子的剩余尺寸:第一次防止有玻璃继续进调度后的笼子,第二次更新:计算格子的实际尺寸
                                        // 仅更新调度后的格子信息:起始格子完成后更新:防止调度出片过程中有新玻璃进入,
                                            bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>().set(BigStorageCageDetails::getState, Const.GLASS_STATE_SCHEDULE_ING)
                                                    .set(BigStorageCageBaseInfo::getSlot, maxSlot).eq(BigStorageCageDetails::getGlassId, bigStorageCageDetails.getGlassId())
                                                    .ne(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT));
                                            //两次更新笼子的剩余尺寸:第一次防止有玻璃继续进调度后的笼子,第二次更新:计算格子的实际尺寸
                                            // 仅更新调度后的格子信息:起始格子完成后更新:防止调度出片过程中有新玻璃进入,
                                        }
                                    }
                                    break loop;
                                }
                                break loop;
                            }
                        }
                    }
@@ -971,7 +976,7 @@
        damageService.deleteByGlassId(glassId);
        Damage damage = new Damage();
        damage.setGlassId(glassId);
        damage.setWorkingProcedure("钢化");
        damage.setWorkingProcedure("磨边");
        damage.setLine(line);
        damage.setType(1);
        damage.setRemark("进大理片");
@@ -1329,9 +1334,21 @@
        if (sitToUpRemainWidth.getGlassCount() == 0) {
            return Boolean.FALSE;
        }
        List<Integer> lineList = bigStorageCageFeedTaskService.querySitToUpGlass();
        if (CollectionUtils.isNotEmpty(lineList)) {
            Integer lineFirst = lineList.get(0);
            if (line == lineFirst) {
                return Boolean.TRUE;
            } else {
                return Boolean.FALSE;
            }
        } else {
            return Boolean.FALSE;
        }
        //获取玻璃信息
        GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
        return sitToUpRemainWidth.getWidth() < Math.max(glassInfo.getWidth(), glassInfo.getHeight());
//        GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
//        return sitToUpRemainWidth.getWidth() < Math.max(glassInfo.getWidth(), glassInfo.getHeight());
    }
    public String queryAndChangeGlass(String glassId) {
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/opccallback/BigStorageStartCallback.java
@@ -801,7 +801,7 @@
        }
        //获取玻璃的厚度:重新选笼子需要按照笼子可放玻璃厚度进行选择 因为子查询排序对主sql无影响,所以先执行子查询获取顺序,然后一次去查询
        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(thickness);
        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(thickness,5000);
        for (Integer item : deviceUsedList) {
            bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                    .eq(BigStorageCage::getRemainWidth, slotWidth)
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/tools/service/impl/BigStorageBaseServiceImpl.java
@@ -639,7 +639,7 @@
        }
        //获取玻璃的厚度:重新选笼子需要按照笼子可放玻璃厚度进行选择 因为子查询排序对主sql无影响,所以先执行子查询获取顺序,然后一次去查询
        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(thickness);
        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(thickness,5000);
        for (Integer item : deviceUsedList) {
            bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                    .eq(BigStorageCage::getRemainWidth, slotWidth)
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -96,8 +96,8 @@
    </update>
    <select id="selectTemperingGlassCount" resultType="java.util.Map">
        select a.engineer_id,a.tempering_layout_id,count2,count1,count2-count1 as count3,count(c.glass_id) as count4 from
            (select engineer_id,tempering_layout_id,count(*) as count1 from big_storage_cage_details where state=100 and tempering_layout_id!=0 group by engineer_id,tempering_layout_id) as a
        select a.engineer_id,a.tempering_layout_id,count2,count1,count2-count1 as count3,count(c.glass_id) as count4,slots from
            (select engineer_id,tempering_layout_id,count(*) as count1,group_concat(distinct slot order by tempering_feed_sequence) as slots from big_storage_cage_details where state=100 and tempering_layout_id!=0 group by engineer_id,tempering_layout_id) as a
                left join
            (select engineer_id,tempering_layout_id,count(*) as count2 from glass_info group by engineer_id,tempering_layout_id) as b
            on a.engineer_id=b.engineer_id and a.tempering_layout_id=b.tempering_layout_id
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
@@ -4,16 +4,18 @@
    <select id="queryFreeDeviceByUsed" resultType="java.lang.Integer">
        SELECT T.DEVICE_ID
        SELECT
            T.DEVICE_ID
        FROM BIG_STORAGE_CAGE T
                 LEFT JOIN (SELECT * FROM BIG_STORAGE_CAGE_DETAILS WHERE STATE NOT IN (101, 8, 9)) T1
                           ON T.SLOT = T1.SLOT
        WHERE T.MAX_THICKNESS >= #{thickness} AND T.REMAIN_WIDTH = 5000
        WHERE T.MAX_THICKNESS >= #{thickness} AND T.SLOT_HEIGHT &gt; #{slotHeight}
          AND T.ENABLE_STATE = 1
        GROUP BY T.DEVICE_ID
        HAVING COUNT(DISTINCT T.SLOT) - COUNT(DISTINCT T1.SLOT) > 0
        ORDER BY min(T.MAX_THICKNESS),
                 COUNT(DISTINCT T1.ENGINEER_ID), COUNT(DISTINCT T1.TEMPERING_LAYOUT_ID),
                 COUNT(DISTINCT T1.SLOT)
                 TRUNCATE(COUNT(DISTINCT T1.TEMPERING_LAYOUT_ID)/9,0), COUNT(DISTINCT T1.TEMPERING_LAYOUT_ID)%9 DESC,
                                 FIELD(T.device_id, 5, 4, 3, 2, 1), T.device_id
    </select>
    <!--    <select id="queryFreeDeviceByNotUsed" resultType="java.lang.Integer">-->
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -47,6 +47,7 @@
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @Author : zhoush
@@ -219,7 +220,7 @@
    @Test
    public void testttt() {
        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(6);
        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(6, 1);
        List<Integer> deviceUseds = deviceUsedList;
        List<BigStorageCageDetails> engineerCount1 = bigStorageCageDetailsService.list(
                new LambdaQueryWrapper<BigStorageCageDetails>()
@@ -267,6 +268,7 @@
    @Resource
    TemperingGlassInfoService temperingGlassInfoService;
    @Test
    public void computeOutMoreGlassInfo() {
        List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.selectJoinList(TemperingGlassInfo.class, new MPJLambdaWrapper<TemperingGlassInfo>()
@@ -275,15 +277,25 @@
                .eq(TemperingGlassInfo::getState, Const.TEMPERING_NEW)
                .isNull(BigStorageCageOutTask::getGlassId)
                .orderByAsc(TemperingGlassInfo::getTemperingFeedSequence));
        plcStorageCageTask.computeOutMoreGlassInfo(temperingGlassInfoList,true,1);
        plcStorageCageTask.computeOutMoreGlassInfo(temperingGlassInfoList, true, 1);
    }
    @Test
    public void ca111() {
//        GlassInfo glassInfo=glassInfoService.getOne(
//                new LambdaQueryWrapper<GlassInfo>()
//                .eq(GlassInfo::getGlassId,"P24120801|1|2")
//                .eq(GlassInfo::getGlassId,"P24121602|1|10")
//        );
//        bigStorageCageDetailsService.queryTargetSlotByTempering(glassInfo);
        List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsService.list(
                new LambdaQueryWrapper<BigStorageCageDetails>()
                        .eq(BigStorageCageDetails::getState, 100)
                        .in(BigStorageCageDetails::getGlassId, "P24122201|1|1", "P24122201|2|3")
        );
        List<BigStorageCageDetails> overSizeGlass = bigStorageCageDetailsList.stream().filter(
                t -> Math.min(t.getWidth(), t.getHeight()) > 2500
        ).collect(Collectors.toList());
        log.info("sadfd" + overSizeGlass);
//        bigStorageCageDetailsService.queryTargetSlotByTempering(glassInfo);
//        List<String> glassIdsCar=new ArrayList<>();
//        glassIdsCar.add("P24120801|4|3");
@@ -302,8 +314,8 @@
//        plcStorageCageTask.computeSlot("P24121401|1|6");
//        plcStorageCageTask.computeSlot("P24121401|1|4");
        List<TemperingLayoutDTO> temperingOccupySlotList = bigStorageCageDetailsService.queryTemperingOccupySlot();
        log.info("sd"+temperingOccupySlotList);
//        List<TemperingLayoutDTO> temperingOccupySlotList = bigStorageCageDetailsService.queryTemperingOccupySlot();
//        log.info("sd"+temperingOccupySlotList);
    }
    @Test