hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -437,13 +437,13 @@
            List<BigStorageCageOutTask> outSuccessGlass = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>()
                    .in(BigStorageCageOutTask::getGlassId, glassIds).in(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_ALL));
            if (CollectionUtils.isNotEmpty(outSuccessGlass)) {
                for (BigStorageCageOutTask bigStorageCageOutTask:outSuccessGlass
                     ) {
                    if(bigStorageCageOutTask.getEndSlot().equals(Const.ARTIFICIAL_OUT_TARGET_POSITION)){
                for (BigStorageCageOutTask bigStorageCageOutTask : outSuccessGlass
                ) {
                    if (bigStorageCageOutTask.getEndSlot().equals(Const.ARTIFICIAL_OUT_TARGET_POSITION)) {
                        temperingGlassInfoService.update(
                                new LambdaUpdateWrapper<TemperingGlassInfo>()
                                        .set(TemperingGlassInfo::getState,Const.TEMPERING_END)
                                        .eq(TemperingGlassInfo::getGlassId,bigStorageCageOutTask.getGlassId())
                                        .set(TemperingGlassInfo::getState, Const.TEMPERING_END)
                                        .eq(TemperingGlassInfo::getGlassId, bigStorageCageOutTask.getGlassId())
                        );
                    }
                }
@@ -527,9 +527,9 @@
                Damage damage = new Damage();
                damage.setGlassId(bigStorageCageFeedTask.getGlassId());
                damage.setLine(bigStorageCageFeedTask.getLine());
                damage.setWorkingProcedure("冷加工");
                damage.setWorkingProcedure("磨边");
                damage.setRemark("进笼前卧转立");
                damage.setStatus(0);
                damage.setStatus(1);
                damage.setType(bigStorageCageFeedTask.getTaskState());
                damageService.insertDamage(damage);
                slotList.add(bigStorageCageFeedTask.getTargetSlot());
@@ -555,9 +555,9 @@
                Damage damage = new Damage();
                damage.setGlassId(bigStorageCageOutTask.getGlassId());
                damage.setLine(bigStorageCageOutTask.getEndSlot());
                damage.setWorkingProcedure("冷加工");
                damage.setWorkingProcedure("钢化");
                damage.setRemark("出片后卧转立");
                damage.setStatus(0);
                damage.setStatus(1);
                damage.setType(bigStorageCageOutTask.getTaskState());
                damageService.insertDamage(damage);
                slotList.add(bigStorageCageOutTask.getStartSlot());
@@ -572,6 +572,58 @@
    }
    /**
     * 确认字清空
     */
//    @Scheduled(fixedDelay = 300)
//    public void confirmClear() {
//        PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
//        String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue();
//        String d04ToMES = plcParameterObject.getPlcParameter("D04ToMES").getValue();
//        String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress();
//        String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress();
//        String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue();
//        String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue();
//        String mesD03Address = plcParameterObject.getPlcParameter("MESToD03").getAddress();
//        String mesD05Address = plcParameterObject.getPlcParameter("MESToD05").getAddress();
//        if(!REQUEST_WORD.equals(d01ToMES)){
//            S7object.getinstance().plccontrol.writeWord(mesD01Address, 0);
//        }
//        if(!REQUEST_WORD.equals(d04ToMES)){
//            S7object.getinstance().plccontrol.writeWord(mesD04Address, 0);
//        }
//        if (!REQUEST_WORD.equals(d03ToMES)) {
//            S7object.getinstance().plccontrol.writeWord(mesD03Address, 0);
//        }
//        if (!REQUEST_WORD.equals(d05ToMES)) {
//            S7object.getinstance().plccontrol.writeWord(mesD05Address, 0);
//        }
//    }
    /**
     * 进片状态修改
     */
//    @Scheduled(fixedDelay = 300)
//    public void feedStatusUpdate() {
//        List<String> glassIds1=null;
//        List<String> glassIds2=null;
//        List<BigStorageCageFeedTask> bigStorageCageFeedTasks1=bigStorageCageFeedTaskService.list(
//                new LambdaQueryWrapper<BigStorageCageFeedTask>()
//                .eq(BigStorageCageFeedTask::getTaskState,1)
//                .eq(BigStorageCageFeedTask::getLine,Const.ARTIFICIAL_OUT_TARGET_POSITION)
//        );
//        List<BigStorageCageFeedTask> bigStorageCageFeedTasks2=bigStorageCageFeedTaskService.list(
//                new LambdaQueryWrapper<BigStorageCageFeedTask>()
//                        .eq(BigStorageCageFeedTask::getTaskState,1)
//                        .eq(BigStorageCageFeedTask::getLine,Const.TEMPERING_OUT_TARGET_POSITION)
//        );
////        if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){
////
////        }
////        if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){
////
////        }
//    }
    /**
     * 按照玻璃id判断玻璃状态及卧转立是否可直接启动
     */
    public Boolean judgeGlassTypeStatus(String glassId, Integer line, String mesAddress) {
@@ -581,14 +633,24 @@
                .eq(EdgGlassTaskInfo::getLine, line)
                .apply("time >= (select time from edg_glass_task_info where line='" + line + "' and glass_id = '" + glassId + "' and deleted = 0)")
                .orderByAsc(EdgGlassTaskInfo::getTime));
        if (edgGlassTaskInfoList == null) {
            log.info("线路:{}识别玻璃信息未出现在尺寸表中,获取相邻两块玻璃失败", line);
        } else {
        if (edgGlassTaskInfoList.size() == 0) {
            edgGlassTaskInfoList = edgGlassTaskInfoService.list(new QueryWrapper<EdgGlassTaskInfo>()
                    .select("Top 1 *")
                    .eq("glass_id", glassId)
            );
            log.info("在尺寸表中获取玻璃信息{}", edgGlassTaskInfoList);
            if (edgGlassTaskInfoList.size() == 0) {
                GlassInfo glassInfo = glassInfoService.getOne(
                        new LambdaQueryWrapper<GlassInfo>()
                                .eq(GlassInfo::getGlassId, glassId)
                );
                EdgGlassTaskInfo edgGlassTaskInfo = new EdgGlassTaskInfo();
                BeanUtils.copyProperties(glassInfo, edgGlassTaskInfo);
                edgGlassTaskInfo.setWidth((int)glassInfo.getWidth());
                edgGlassTaskInfo.setHeight((int)glassInfo.getHeight());
                edgGlassTaskInfoList.add(edgGlassTaskInfo);
                log.info("在玻璃信息表中获取玻璃信息{}", edgGlassTaskInfoList);
            }
        }
        Assert.isFalse(CollectionUtils.isEmpty(edgGlassTaskInfoList), "识别玻璃信息未出现在尺寸表中,获取相邻两块玻璃失败");
        //2、获取卧转立剩余宽度
@@ -844,7 +906,7 @@
     * @param <T>
     * @return
     */
    private <T extends BigStorageCageBaseInfo> Boolean computeOutMoreGlassInfo(List<T> list, Boolean isTempering, String mesToPLCAddress) {
    public <T extends BigStorageCageBaseInfo> Boolean computeOutMoreGlassInfo(List<T> list, Boolean isTempering, String mesToPLCAddress) {
        //任务数据  获取车子存放玻璃最大数量  玻璃间隔
        List<BigStorageCageOutTask> bigStorageCageOutTaskList = new ArrayList<>();
        //打车剩余尺寸