ZengTao
2024-10-14 e9de57df1ef825a3f17b792e9110f24c407c03fb
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -80,6 +80,12 @@
    @Value("${mes.max.secondLength}")
    private String secondLength;
    @Value("${mes.cache.cacheWidth}")
    private double cacheWidth;
    @Value("${mes.cache.cacheHeight}")
    private double cacheHeight;
    @Value("${mes.min.one.firstLength}")
    private String minOneFirstLength;
@@ -94,7 +100,7 @@
    public static String engineerId = "";
    @Scheduled(fixedDelay = 1000)
    //@Scheduled(fixedDelay = 1000)
    public void plcHomeEdgTask() {
        Date startDate = new Date();
        log.info("本次任务开始执行时间:{}", startDate);
@@ -124,8 +130,9 @@
            log.info("2、获取到的请求字不为0,将确认字不为0,直接结束");
            return;
        }
        if ("1".equals(taskRequestTypeValue)) {
            log.info("2、进片请求,且确认字为0,执行进片任务");
        boolean result = edgStorageCageDetailsService.inToVerify(glassIdeValue);
        if ("1".equals(taskRequestTypeValue)&&result) {
            log.info("2、进片请求,且确认字为0,执行进片任务,扫码重复ID验证【有重复=false,无重复=true】:{}",result);
            inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
        } else if ("2".equals(taskRequestTypeValue)) {
            //09空闲 :1      10空闲 :2        都空闲:3    其他0
@@ -137,8 +144,8 @@
            //加笼子里面是否有玻璃,有先出,无玻璃先进
            boolean outFlase = outTo(Integer.parseInt(out08Glassstate),
                    Integer.parseInt(out10Glassstate), confirmationWrodAddress, glassIdeValue, Integer.parseInt(currentSlot));
            log.info("出片任务是否完成:{},且玻璃id:{}不为空则执行进片任务", outFlase, glassIdeValue);
            if (!outFlase && StringUtils.isNotBlank(glassIdeValue)) {
            log.info("出片任务是否完成:{},且玻璃id:{}不为空则执行进片任务,扫码重复ID验证【有重复=false,无重复=true】:{}", outFlase, glassIdeValue,result);
            if (!outFlase && StringUtils.isNotBlank(glassIdeValue)&&result) {
                inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
            }
        }
@@ -164,9 +171,9 @@
                Damage damage = new Damage();
                damage.setGlassId(e.getGlassId());
                damage.setLine(e.getEndCell());
                damage.setWorkingProcedure("冷加工");
                damage.setWorkingProcedure("磨边");
                damage.setRemark("磨边前卧式理片");
                damage.setStatus(0);
                damage.setStatus(1);
                damage.setType(e.getTaskStatus());
                return damage;
            }).collect(Collectors.toList());
@@ -186,6 +193,16 @@
     */
    public void inTo(String glassId, String confirmationWrodAddress, String currentSlot) {
        log.info("1、按照玻璃id:{}获取玻璃小片信息,当前格子为:{}", glassId, currentSlot);
        GlassInfo feedGlassInfo = glassInfoService.getOne(
                new LambdaQueryWrapper<GlassInfo>()
                .eq(GlassInfo::getGlassId,glassId)
        );
        if(Math.max(feedGlassInfo.getWidth(),feedGlassInfo.getHeight())>cacheWidth||Math.min(feedGlassInfo.getWidth(),feedGlassInfo.getHeight())>cacheHeight){
            log.info("1.1、玻璃超过卧式理片最大尺寸:{}", feedGlassInfo);
            return;
        }
        //添加进片任务  查找空格
        EdgStorageCage nearestEmpty = edgStorageCageService.selectNearestEmpty(Integer.parseInt(currentSlot), Boolean.FALSE);
        Assert.isTrue(null != nearestEmpty, "格子已满");
@@ -210,13 +227,6 @@
        S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
        log.info("7、发送确认字完成");
        Damage damage=new Damage();
        damage.setGlassId(glassInfo.getGlassId());
        damage.setWorkingProcedure("切割");
        damage.setLine(1001);
        damage.setType(1);
        damage.setRemark("进卧式理片");
        damageService.insertDamage(damage);
    }
@@ -665,7 +675,7 @@
            damage.setWorkingProcedure("切割");
            damage.setLine(1001);
            damage.setType(1);
            damage.setRemark("进卧式理片");
            damage.setRemark("过卧式理片");
            damageService.insertDamage(damage);
            return Boolean.TRUE;
        }