| | |
| | | * ioType 108.自动调拨 |
| | | * crnNo :2目标楼层 |
| | | */ |
| | | @Scheduled(cron = "0/1 * * * * ? ") |
| | | @Scheduled(cron = "0/10 * * * * ? ") |
| | | private synchronized void execute2() { |
| | | List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 108).andNew().eq("crn_no", 2).or().eq("crn_no", 3).orderBy("io_pri", false).orderBy("appe_time", true)); |
| | | if (agvWrkMastList.isEmpty()) { |
| | |
| | | * wrkSts 22.调拨待分配 |
| | | * ioType 111.手动调拨 |
| | | */ |
| | | @Scheduled(cron = "0/2 * * * * ? ") |
| | | @Scheduled(cron = "0/10 * * * * ? ") |
| | | private void execute3() { |
| | | List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 111).orderBy("io_pri", false).orderBy("appe_time", true)); |
| | | if (agvWrkMastList.isEmpty()) { |
| | |
| | | */ |
| | | @Scheduled(cron = "0/30 * * * * ? ") |
| | | private void autoEmptyBack4() { |
| | | // 查询 不为1楼的空货架 |
| | | List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>() |
| | | // TODO 四期 |
| | | .eq("loc_sts", "D").eq("loc_type1", 3).andNew().ne("floor", 1).or().ne("lev1", 1)); |
| | | if (agvLocMasts.isEmpty()) { |
| | | return; |
| | | } |
| | | |
| | | Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_3_TIME")); |
| | | for (AgvLocMast agvLocMast : agvLocMasts) { |
| | | try { |
| | | autoMoveHandler.autoEmptyBack4(agvLocMast); |
| | | } catch (Exception e) { |
| | | log.error("库位号" + agvLocMast.getLocNo() + "空板自动回库 库位-接驳点 库位-吸塑车间,处理失败:===》异常原因:" + e.getMessage()); |
| | | if (agvLocMast.getLocNo().contains("02F1")) { |
| | | boolean flag = false; |
| | | if (config != null && !Cools.isEmpty(config.getValue())) { |
| | | try { |
| | | |
| | | // 判断是否在执行时间内 |
| | | ProcesTimeData procesTimeData = JSONObject.parseObject(config.getValue(), ProcesTimeData.class); |
| | | if (procesTimeData != null && config.getStatus() == 1 && TimeUtils.between(procesTimeData)) { |
| | | flag = true; |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("6类型空货架返回的执行时间点解析异常:===》异常原因:" + e.getMessage()); |
| | | flag = true; |
| | | } |
| | | } |
| | | if (flag) { |
| | | try { |
| | | autoMoveHandler.autoEmptyBack4(agvLocMast); |
| | | } catch (Exception e) { |
| | | //log.error("库位号" + agvLocMast.getLocNo() + "空板自动回库 库位-接驳点 库位-吸塑车间,处理失败:===》异常原因:" + e.getMessage()); |
| | | } |
| | | } |
| | | } else { |
| | | try { |
| | | autoMoveHandler.autoEmptyBack4(agvLocMast); |
| | | } catch (Exception e) { |
| | | //log.error("库位号" + agvLocMast.getLocNo() + "空板自动回库 库位-接驳点 库位-吸塑车间,处理失败:===》异常原因:" + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | * 检测1楼接驳点 |
| | | * 手动: 生成 113 手动回流 |
| | | */ |
| | | @Scheduled(cron = "0/2 * * * * ? ") |
| | | @Scheduled(cron = "0/30 * * * * ? ") |
| | | private void autoEmptyBack6() { |
| | | List<AgvBasDevp> agvBasDevps = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().eq("floor", 1).eq("loc_sts", "F").like("dev_no", "DB")); |
| | | if (agvBasDevps.isEmpty()) { |
| | |
| | | * 打标记的库位进行自动移库,四期 |
| | | * 在库位不够的情况下,箱壳入库别的楼层库位的时候,晚上进行跨层移库 |
| | | */ |
| | | @Scheduled(cron = "0/2 * * * * ? ") |
| | | @Scheduled(cron = "0/30 * * * * ? ") |
| | | private void autoEmptyBack8() throws ParseException { |
| | | Date now = new Date(); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |