| | |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.kangaroohy.milo.runner.subscription.SubscriptionCallback; |
| | | import com.mes.common.config.Const; |
| | | import com.mes.edgglasstaskqueueinfo.entity.EdgGlassTaskQueueInfo; |
| | | import com.mes.edgglasstaskqueueinfo.service.EdgGlassTaskQueueInfoService; |
| | | import com.mes.edgstoragecage.entity.EdgStorageCage; |
| | | import com.mes.edgstoragecage.entity.EdgStorageCageDetails; |
| | | import com.mes.edgstoragecage.service.EdgStorageCageDetailsService; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @Resource |
| | | EdgStorageDeviceTaskHistoryService edgStorageDeviceTaskHistoryService; |
| | | |
| | | @Resource |
| | | EdgGlassTaskQueueInfoService edgGlassTaskQueueInfoService; |
| | | |
| | | @Value("${mes.glassGap}") |
| | | private int glassGap; |
| | | @Value("${mes.threshold}") |
| | |
| | | |
| | | @Override |
| | | public void onSubscribe(String identifier, Object value) { |
| | | log.info("当前正在执行的任务为{}", value); |
| | | String tableName = identifier.contains("edg_storage_device_one_task") ? EDG_STORAGE_DEVICE_ONE_TASK : EDG_STORAGE_DEVICE_TWO_TASK; |
| | | EdgStorageDeviceTask task = edgStorageDeviceTaskService.queryTaskMessage(tableName); |
| | | try { |
| | |
| | | } |
| | | } else if (request == 4) { |
| | | log.info("将启动子改为0"); |
| | | task.setTaskRunning(Const.GLASS_CACHE_TYPE_EMPTY); |
| | | task.setTaskRunning(Const.GLASS_CACHE_TYPE_RUNNING); |
| | | edgStorageDeviceTaskService.updateTaskMessage(tableName, task); |
| | | } else { |
| | | finishTask(task, tableName); |
| | |
| | | edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>() |
| | | .set(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT) |
| | | .eq(EdgStorageCageDetails::getGlassId, edgStorageCageDetails.getGlassId())); |
| | | //todo:磨边对列表新增一条数据 |
| | | EdgGlassTaskQueueInfo edgInfo = new EdgGlassTaskQueueInfo(); |
| | | BeanUtils.copyProperties(task, edgInfo); |
| | | edgInfo.setState(Const.GLASS_STATE_NEW); |
| | | edgGlassTaskQueueInfoService.save(edgInfo); |
| | | return Boolean.TRUE; |
| | | } |
| | | |
| | | private boolean finishTask(EdgStorageDeviceTask task, String tableName) { |
| | | log.info("当前任务信息为:{}", task); |
| | | if (task.getTaskState() <= 4) { |
| | | log.info("有正在执行的任务,结束"); |
| | | return Boolean.FALSE; |
| | |
| | | Integer cell = task.getStartCell(); |
| | | Integer state = task.getTaskState(); |
| | | task.setTaskRunning(Const.GLASS_CACHE_TYPE_EMPTY); |
| | | task.setTaskState(Const.GLASS_CACHE_TYPE_EMPTY); |
| | | // task.setTaskState(Const.GLASS_CACHE_TYPE_EMPTY); |
| | | task.setGlassIdOut(""); |
| | | task.setStartCell(0); |
| | | task.setWidth(0); |
| | |
| | | EdgStorageDeviceTaskHistory taskHistory = new EdgStorageDeviceTaskHistory(); |
| | | BeanUtils.copyProperties(task, taskHistory); |
| | | taskHistory.setTaskType(task.getTaskRunning()); |
| | | taskHistory.setCreateTime(new Date()); |
| | | taskHistory.setTaskState(Const.RAW_GLASS_TASK_NEW); |
| | | edgStorageDeviceTaskHistoryService.save(taskHistory); |
| | | return Boolean.TRUE; |