From c1ad529b3d450a1762cb957d81b80d57e475a7dd Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期六, 28 十二月 2024 14:49:36 +0800 Subject: [PATCH] 1、卧式理片笼新增重置接口,供前端使用 2、与电气交互新增状态6用于电气手动汇报后将任务重置,避免任务无法重置导致车间无法生产 --- hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 52 insertions(+), 5 deletions(-) diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java index 2cb907c..8b0232b 100644 --- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java +++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java @@ -158,9 +158,12 @@ log.info("灏嗗惎鍔ㄥ瓙鏀逛负4"); task.setTaskRunning(Const.GLASS_CACHE_TYPE_RUNNING); edgStorageDeviceTaskService.updateTaskMessage(tableName, task); - } else { + } else if (request == 5) { log.info("璁惧锛歿}鐘舵�侊細{}", device, request); finishTask(task, tableName); + } else { + log.info("鐜荤拑寮傚父澶勭悊"); + damageTask(task, tableName); } // } catch (Exception e) { // log.info("鎵ц浠诲姟杩囩▼涓彂鐢熷紓甯革紝浠诲姟瀛梴}锛寋}", task.getTaskState(), e.getMessage()); @@ -481,7 +484,6 @@ Date startDate = new Date(); log.info("寮�濮嬫墽琛屽畬鎴愪换鍔″悗娓呴櫎鍔ㄤ綔锛屼换鍔′俊鎭负锛歿},琛ㄥ悕涓猴細{},寮�濮嬫椂闂达細{}", task, tableName, startDate); Integer cell = task.getStartCell(); - Integer state = task.getTaskState(); task.setTaskRunning(Const.GLASS_CACHE_TYPE_EMPTY); task.setGlassIdOut(""); task.setStartCell(0); @@ -498,14 +500,59 @@ edgStorageDeviceTaskHistoryService.update(new LambdaUpdateWrapper<EdgStorageDeviceTaskHistory>() .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW) .eq(EdgStorageDeviceTaskHistory::getDeviceId, device) - .set(EdgStorageDeviceTaskHistory::getTaskState, - Const.GLASS_CACHE_TYPE_FINISH.equals(state) ? Const.RAW_GLASS_TASK_SUCCESS : Const.RAW_GLASS_TASK_FAILURE) + .set(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_SUCCESS) ); //鏈�鍚庢洿鏂颁换鍔★紝淇濊瘉浠诲姟鍓嶇殑鍔ㄤ綔閮藉仛瀹� edgStorageDeviceTaskService.updateTaskMessage(tableName, task); Date endDate = new Date(); log.info("缁撴潫瀹屾垚浠诲姟鍚庢竻闄ゅ姩浣滐紝琛ㄥ悕涓猴細{},缁撴潫鏃堕棿涓猴細{}锛屽叡鑰楁椂锛歿}ms", tableName, endDate, endDate.getTime() - startDate.getTime()); return Boolean.TRUE; + } + + private boolean damageTask(EdgStorageDeviceTask task, String tableName) { + if (task.getTaskState() <= 5) { + log.info("浠诲姟鏈彂鐢熷紓甯告竻绌猴紝浠诲姟缁撴潫锛岀數姘旂姸鎬亄},mes鐘舵�亄}", task.getTaskState(), task.getTaskRunning()); + return Boolean.FALSE; + } + Date startDate = new Date(); + log.info("寮�濮嬫墽琛屽紓甯稿鐞嗕换鍔″悗娓呴櫎鍔ㄤ綔锛屼换鍔′俊鎭负锛歿},琛ㄥ悕涓猴細{},寮�濮嬫椂闂达細{}", task, tableName, startDate); + int device = tableName.equals("edg_storage_device_one_task") ? 1 : 2; + EdgStorageDeviceTaskHistory taskHistory = edgStorageDeviceTaskHistoryService.getOne(new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>() + .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW) + .eq(EdgStorageDeviceTaskHistory::getDeviceId, device) + .orderByDesc(EdgStorageDeviceTaskHistory::getCreateTime).last("limit 1")); + Integer cell = taskHistory.getStartCell(); + Integer taskType = taskHistory.getTaskType(); + if (Const.GLASS_CACHE_TYPE_IN_ALL.contains(taskType)) { + String glassId = taskHistory.getGlassIdIn(); + edgStorageCageDetailsService.remove(new LambdaQueryWrapper<EdgStorageCageDetails>() + .eq(EdgStorageCageDetails::getDeviceId, device) + .eq(EdgStorageCageDetails::getSlot, cell) + .eq(EdgStorageCageDetails::getGlassId, glassId)); + } else { + String glassId = taskHistory.getGlassIdOut(); + edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>() + .set(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN) + .eq(EdgStorageCageDetails::getDeviceId, device) + .eq(EdgStorageCageDetails::getSlot, cell) + .eq(EdgStorageCageDetails::getGlassId, glassId)); + } + + updateCellRemainWidth(cell, device, taskHistory); + edgStorageDeviceTaskHistoryService.update(new LambdaUpdateWrapper<EdgStorageDeviceTaskHistory>() + .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW) + .eq(EdgStorageDeviceTaskHistory::getDeviceId, device) + .set(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_FAILURE) + ); + //鏈�鍚庢洿鏂颁换鍔★紝淇濊瘉浠诲姟鍓嶇殑鍔ㄤ綔閮藉仛瀹� + task.setTaskRunning(Const.GLASS_CACHE_TYPE_EMPTY); + task.setGlassIdOut(""); + task.setStartCell(0); + edgStorageDeviceTaskService.updateTaskMessage(tableName, task); + Date endDate = new Date(); + log.info("瀹屾垚鎵ц寮傚父澶勭悊浠诲姟鍚庢竻闄ゅ姩浣滐紝琛ㄥ悕涓猴細{},缁撴潫鏃堕棿涓猴細{}锛屽叡鑰楁椂锛歿}ms", tableName, endDate, endDate.getTime() - startDate.getTime()); + return Boolean.TRUE; + } /** @@ -652,7 +699,7 @@ return Boolean.TRUE; } - private boolean updateCellRemainWidth(int slot, int device, EdgStorageDeviceTaskHistory taskHistory) { + public boolean updateCellRemainWidth(int slot, int device, EdgStorageDeviceTaskHistory taskHistory) { List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(new LambdaQueryWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot, slot) .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)); int remainWidth = cellLength; -- Gitblit v1.8.0