hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
@@ -247,12 +247,14 @@ * 准备出笼102 * 执行中103 * 在车上104 * 准备复位105 */ public static final Integer RAW_GLASS_STATE_IN = 100; public static final Integer RAW_GLASS_STATE_OUT = 101; public static final Integer RAW_GLASS_STATE_WAIT_OUT = 102; public static final Integer RAW_GLASS_STATE_RUNNING = 103; public static final Integer RAW_GLASS_STATE_CAR = 104; public static final Integer RAW_GLASS_STATE_RESET = 105; public static final List<Integer> RAW_GLASS_STATE_IN_ALL = Arrays.asList(100, 102, 103); public static final Integer RAW_GLASS_TASK_NEW = 0; hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
@@ -42,4 +42,6 @@ String outWarehousingRequest(int leftingStation); boolean generateTask(int startSlot, int endSlot, int shelf, int patternQuantity, int taskType) throws Exception; String shelfReset(Long slot); } hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
@@ -190,4 +190,13 @@ readWriteEntity.setValue(value); return readWriteEntity; } @Override public String shelfReset(Long slot){ update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, slot) .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN) .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RESET)); //生成一条详情数据 仅记录架子状态 return "success"; } } hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
@@ -117,6 +117,11 @@ log.info("执行入库任务"); return; } flag = shelfResetTask(); if (flag) { log.info("执行复位任务"); return; } log.info("无任务执行,结束"); } @@ -280,6 +285,37 @@ return Boolean.TRUE; } /** * 复位任务:1、点复位,立马生成复位任务 2、点出库修改工位详情内的状态为架子复位,定时任务扫描生成复位任务 */ public boolean shelfResetTask() throws Exception { List<RawGlassStorageDetails> rawGlassList = rawGlassStorageDetailsService.list(new LambdaQueryWrapper<RawGlassStorageDetails>() .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RESET) .inSql(RawGlassStorageDetails::getSlot, "select slot from raw_glass_storage_station where enable_state = 1")); if (CollectionUtil.isEmpty(rawGlassList)) { log.info("系统没有需要复位的原片信息"); return Boolean.FALSE; } //生成复位任务 rawGlassStorageDetailsService.generateTask(rawGlassList.get(0).getSlot(), rawGlassList.get(0).getShelf(), rawGlassList.get(0).getShelf(), rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH); // List<ReadWriteEntity> list = new ArrayList<>(); // list.add(generateReadWriteEntity("CC.CC.taskWord", 1)); // list.add(generateReadWriteEntity("CC.CC.taskSending", 1)); // list.add(generateReadWriteEntity("CC.CC.startSlot", startSlot)); // list.add(generateReadWriteEntity("CC.CC.endSlot", lefting)); // miloService.writeToOpcWord(list); //修改复位任务状态 rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>() .eq(RawGlassStorageDetails::getSlot, rawGlassList.get(0).getSlot()) .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RESET) .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING)); return Boolean.TRUE; } /** * 入库任务:吊装位有玻璃,先去工位表查询空格子,生成入库任务从吊装位到目标格子 * hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java
@@ -62,4 +62,10 @@ return Result.build( 200, "入库已完成,等待任务执行", rawGlassStorageDetailsService.outWarehousingRequest(leftingStation)); } @ApiOperation("架子复位") @PostMapping("/shelfReset") public Result<String> shelfReset(Long slot) { return Result.success(rawGlassStorageDetailsService.shelfReset(slot)); } }