wangfei
2024-10-31 62882b6d2366b454fa3c6f33a6b8abb261080405
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -607,27 +607,27 @@
        PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
        List<String> glassIds1 = new ArrayList<>();
        List<String> glassIds2 = new ArrayList<>();
//        for (int i = 1; i <= 6; i++) {
//            String line1GlassId = plcParameterObject.getPlcParameter("D03ID" + i).getValue();
//            if (StringUtils.isNotEmpty(line1GlassId)) {
//                glassIds1.add(line1GlassId);
//            }
//            String line2GlassId = plcParameterObject.getPlcParameter("D05ID" + i).getValue();
//            if (StringUtils.isNotEmpty(line2GlassId)) {
//                glassIds1.add(line2GlassId);
//            }
//        }
        for (int i = 1; i <= 6; i++) {
            String line1GlassId = plcParameterObject.getPlcParameter("D03ID" + i).getValue();
            if (StringUtils.isNotEmpty(line1GlassId)) {
                glassIds1.add(line1GlassId);
            }
            String line2GlassId = plcParameterObject.getPlcParameter("D05ID" + i).getValue();
            if (StringUtils.isNotEmpty(line2GlassId)) {
                glassIds2.add(line2GlassId);
            }
        }
        List<BigStorageCageFeedTask> bigStorageCageFeedTasks1 = bigStorageCageFeedTaskService.list(
                new LambdaQueryWrapper<BigStorageCageFeedTask>()
                        .eq(BigStorageCageFeedTask::getTaskState, 1)
                        .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_NEW)
                        .eq(BigStorageCageFeedTask::getLine, Const.A09_OUT_TARGET_POSITION)
        );
        List<BigStorageCageFeedTask> bigStorageCageFeedTasks2 = bigStorageCageFeedTaskService.list(
                new LambdaQueryWrapper<BigStorageCageFeedTask>()
                        .eq(BigStorageCageFeedTask::getTaskState, 1)
                        .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_NEW)
                        .eq(BigStorageCageFeedTask::getLine, Const.A10_OUT_TARGET_POSITION)
        );
        if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)&& glassIds1 != null) {
        if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1) && CollectionUtils.isNotEmpty(glassIds1)) {
            List<String> matchingIds1 = bigStorageCageFeedTasks1.stream()
                    .map(BigStorageCageFeedTask::getGlassId)
                    .filter(glassIds1::contains)
@@ -640,7 +640,7 @@
                            .set(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
            );
        }
        if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks2)&& glassIds2 != null) {
        if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks2) && CollectionUtils.isNotEmpty(glassIds2)) {
            List<String> matchingIds2 = bigStorageCageFeedTasks2.stream()
                    .map(BigStorageCageFeedTask::getGlassId)
                    .filter(glassIds2::contains)
@@ -656,7 +656,7 @@
        if (CollectionUtils.isEmpty(glassIds1)) {
            bigStorageCageFeedTaskService.update(
                    new LambdaUpdateWrapper<BigStorageCageFeedTask>()
                            .eq(BigStorageCageFeedTask::getLine,Const.A09_OUT_TARGET_POSITION)
                            .eq(BigStorageCageFeedTask::getLine, Const.A09_OUT_TARGET_POSITION)
                            .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
                            .gt(BigStorageCageFeedTask::getTargetSlot, 0)
                            .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
@@ -666,7 +666,7 @@
        if (CollectionUtils.isEmpty(glassIds2)) {
            bigStorageCageFeedTaskService.update(
                    new LambdaUpdateWrapper<BigStorageCageFeedTask>()
                            .eq(BigStorageCageFeedTask::getLine,Const.A10_OUT_TARGET_POSITION)
                            .eq(BigStorageCageFeedTask::getLine, Const.A10_OUT_TARGET_POSITION)
                            .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
                            .gt(BigStorageCageFeedTask::getTargetSlot, 0)
                            .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
@@ -679,6 +679,21 @@
     * 按照玻璃id判断玻璃状态及卧转立是否可直接启动
     */
    public Boolean judgeGlassTypeStatus(String glassId, Integer line, String mesAddress) {
        //判断此玻璃是在笼内或已生成进片任务
        BigStorageCageFeedTask bigStorageCageFeedTask = bigStorageCageFeedTaskService.getOne(
                new LambdaQueryWrapper<BigStorageCageFeedTask>()
                        .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
                        .eq(BigStorageCageFeedTask::getGlassId, glassId)
        );
        BigStorageCageDetails bigStorageCageDetails = bigStorageCageDetailsService.getOne(
                new LambdaQueryWrapper<BigStorageCageDetails>()
                        .eq(BigStorageCageDetails::getGlassId, glassId)
                        .ne(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
        );
        if (bigStorageCageFeedTask != null || bigStorageCageDetails != null) {
            log.info("此玻璃存任务或已在笼内");
            return Boolean.TRUE;
        }
        //1、获取任务表中相邻玻璃
        List<EdgGlassTaskInfo> edgGlassTaskInfoList;
        edgGlassTaskInfoList = edgGlassTaskInfoService.list(new LambdaQueryWrapper<EdgGlassTaskInfo>()