From ea94ccefcb62bac5ab4c9cdecb3dae657e8c4c34 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期四, 20 二月 2025 11:05:38 +0800 Subject: [PATCH] 1、fixbug:优化钢化指定工程大数据插入异常bug 2、修复接口参数问题 3、钢化查询添加炉号排序 --- hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java | 99 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 88 insertions(+), 11 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 204ef25..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); @@ -492,20 +494,65 @@ .orderByDesc(EdgStorageDeviceTaskHistory::getCreateTime).last("limit 1")); //濡傛灉浠诲姟绫诲瀷涓�1锛�3锛屽皢鍒囧壊瀹屾垚鐨勭幓鐠冭嚜鍔ㄦ姤宸� if (Const.GLASS_CACHE_TYPE_IN_ALL.contains(taskHistory.getTaskType())) { - damageService.autoSubmitReport(taskHistory.getGlassIdIn(), taskHistory.getDeviceId(),"鍒囧壊","杩涘崸鐞�"); + damageService.autoSubmitReport(taskHistory.getGlassIdIn(), taskHistory.getDeviceId(), "鍒囧壊", "杩涘崸鐞�", 1); } 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.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; + } /** @@ -535,13 +582,43 @@ .last("Limit 1"); GlassInfo swapGlassInfo = glassInfoService.getOne(queryWrapper); if (swapGlassInfo != null && !glassInfo.getGlassId().equals(swapGlassInfo.getGlassId())) { - String swapGlassId = swapGlassInfo.getGlassId(); - log.info("灏嗙幓鐠儃}鍜岀幓鐠儃}锛屼俊鎭簰鎹�,杩涚幓鐠� {}", glassInfo, swapGlassInfo, swapGlassInfo); - swapGlassInfo.setGlassId(glassId); - glassInfo.setGlassId(swapGlassId); + //寰呮浛鎹㈢殑鐜荤拑淇℃伅 + Integer ishorizontal = glassInfo.getIshorizontal(); + Integer temperingLayoutId = glassInfo.getTemperingLayoutId(); + Integer temperingFeedSequence = glassInfo.getTemperingFeedSequence(); + Integer xCoordinate = glassInfo.getXCoordinate(); + Integer yCoordinate = glassInfo.getYCoordinate(); + double angle = glassInfo.getAngle(); + Integer ruleId = glassInfo.getRuleId(); + //鏇挎崲鍚庣殑鐜荤拑淇℃伅 + Integer swapIshorizontal = swapGlassInfo.getIshorizontal(); + Integer swapTemperingLayoutId = swapGlassInfo.getTemperingLayoutId(); + Integer swapTemperingFeedSequence = swapGlassInfo.getTemperingFeedSequence(); + Integer swapXCoordinate = swapGlassInfo.getXCoordinate(); + Integer swapYCoordinate = swapGlassInfo.getYCoordinate(); + double swapAngle = swapGlassInfo.getAngle(); + Integer swapRuleId = swapGlassInfo.getRuleId(); + //鏇挎崲鐜荤拑淇℃伅 + glassInfo.setIshorizontal(swapIshorizontal); + glassInfo.setTemperingLayoutId(swapTemperingLayoutId); + glassInfo.setTemperingFeedSequence(swapTemperingFeedSequence); + glassInfo.setXCoordinate(swapXCoordinate); + glassInfo.setYCoordinate(swapYCoordinate); + glassInfo.setAngle(swapAngle); + glassInfo.setRuleId(swapRuleId); + + swapGlassInfo.setIshorizontal(ishorizontal); + swapGlassInfo.setTemperingLayoutId(temperingLayoutId); + swapGlassInfo.setTemperingFeedSequence(temperingFeedSequence); + swapGlassInfo.setXCoordinate(xCoordinate); + swapGlassInfo.setYCoordinate(yCoordinate); + swapGlassInfo.setAngle(angle); + swapGlassInfo.setRuleId(ruleId); + + log.info("灏嗙幓鐠儃}鍜岀幓鐠儃}锛屼俊鎭簰鎹�(鍘熺墖搴忓彿鍙婂潗鏍囬櫎澶�),杩涚幓鐠� {}", glassInfo, swapGlassInfo, swapGlassInfo); glassInfoService.updateById(swapGlassInfo); glassInfoService.updateById(glassInfo); - return swapGlassId; + return swapGlassInfo.getGlassId(); } return ""; } @@ -622,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