From 2b91b242113bd10f1be241d19ab154e9ad6506cd Mon Sep 17 00:00:00 2001 From: wangfei <3597712270@qq.com> Date: 星期二, 10 六月 2025 14:18:00 +0800 Subject: [PATCH] 国际化命名 --- hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/opccallback/CacheGlassStartCallback.java | 582 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 296 insertions(+), 286 deletions(-) diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/opccallback/CacheGlassStartCallback.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/opccallback/CacheGlassStartCallback.java index 68e550d..194371b 100644 --- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/opccallback/CacheGlassStartCallback.java +++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/opccallback/CacheGlassStartCallback.java @@ -1,15 +1,12 @@ package com.mes.job.opccallback; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.edgglasstask.service.EdgGlassTaskInfoService; import com.mes.edgstoragecage.entity.EdgStorageCageDetails; import com.mes.edgstoragecage.service.EdgStorageCageDetailsService; import com.mes.edgstoragecage.service.EdgStorageCageService; @@ -22,7 +19,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -54,263 +50,277 @@ EdgStorageDeviceTaskHistoryService edgStorageDeviceTaskHistoryService; @Resource - EdgGlassTaskQueueInfoService edgGlassTaskQueueInfoService; + EdgGlassTaskInfoService edgGlassTaskInfoService; - @Value("${mes.glassGap}") - private int glassGap; - @Value("${mes.threshold}") - private int threshold; - @Value("${mes.cellLength}") - private int cellLength; +// @Value("${mes.glassGap}") +// private int glassGap; +// @Value("${mes.threshold}") +// private int threshold; +// @Value("${mes.cellLength}") +// private int cellLength; + + private Date startDate; @Override public void onSubscribe(String identifier, Object value) { - log.info("褰撳墠姝e湪鎵ц鐨勪换鍔′负{}", 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 { - if (task == null) { - log.info("浠诲姟琛ㄥ熀纭�鏁版嵁褰曞叆澶辫触锛岃妫�鏌ユ暟鎹槸鍚﹀綍鍏ユ垚鍔�"); - return; - } - int request = task.getTaskState(); - log.info("寮�濮嬫墽琛屼换鍔★紝浠诲姟璇蜂俊鎭负{}", task); - if (request == 0) { - log.info("鏈敹鍒颁换鍔¤姹傦紝缁撴潫鏈浠诲姟"); - } else if (request == 1) { - //杩涚墖浠诲姟 - intoTask(task, tableName); - } else if (request == 2) { - //鍑虹墖浠诲姟 - outTask(task, tableName); - } else if (request == 3) { - //鐩撮�氫换鍔� - if (!outTask(task, tableName)) { - intoTask(task, tableName); - } - } else if (request == 4) { - log.info("灏嗗惎鍔ㄥ瓙鏀逛负0"); - task.setTaskRunning(Const.GLASS_CACHE_TYPE_RUNNING); - edgStorageDeviceTaskService.updateTaskMessage(tableName, task); - } else { - finishTask(task, tableName); - } - } catch (Exception e) { - log.info("鎵ц浠诲姟杩囩▼涓彂鐢熷紓甯革紝浠诲姟瀛梴}锛寋}", task.getTaskState(), e.getMessage()); - log.info("灏嗗惎鍔ㄥ瓙鏀逛负0"); - task.setTaskState(Const.GLASS_CACHE_TYPE_EMPTY); - edgStorageDeviceTaskService.updateTaskMessage(tableName, task); - } + +// log.info("褰撳墠姝e湪鎵ц鐨勪换鍔′负{}", value); +// String tableName = identifier.contains("edg_storage_device_one_task") ? EDG_STORAGE_DEVICE_ONE_TASK : EDG_STORAGE_DEVICE_TWO_TASK; +// int device = tableName.equals("edg_storage_device_one_task") ? 1 : 2; +// EdgStorageDeviceTask task = edgStorageDeviceTaskService.queryTaskMessage(tableName); +// try { +// if (task == null) { +// log.info("浠诲姟琛ㄥ熀纭�鏁版嵁褰曞叆澶辫触锛岃妫�鏌ユ暟鎹槸鍚﹀綍鍏ユ垚鍔�"); +// return; +// } +// if (task.getTaskState() == 2) { +// //闃叉鍑虹墖浠诲姟涓旂鍓嶆湁鐜荤拑鐨勬儏鍐碉紝灏嗚繘鐗噄d缃┖锛屽嵆鍑虹墖浠呰�冭檻绗煎唴鐨勭幓鐠� +// task.setGlassIdIn(""); +// } +// int request = Integer.parseInt("" + value); +// log.info("寮�濮嬫墽琛屼换鍔★紝浠诲姟璇蜂俊鎭负{}", task); +// if (request == 0) { +// log.info("鏈敹鍒颁换鍔¤姹傦紝缁撴潫鏈浠诲姟"); +// } else if (request == 1) { +// //杩涚墖浠诲姟 +// log.info("杩涚墖浠诲姟锛氳繘鐗囩幓鐠僫d涓猴細{}", task.getGlassIdIn()); +// intoTask(task, tableName, device); +// } else if (request == 2) { +// //鍑虹墖浠诲姟 +// outTask(task, tableName, device); +// } else if (request == 3) { +// //鐩撮�氫换鍔� +// if (!outTask(task, tableName, device)) { +// intoTask(task, tableName, device); +// } +// } else if (request == 4) { +// log.info("灏嗗惎鍔ㄥ瓙鏀逛负0"); +// task.setTaskRunning(Const.GLASS_CACHE_TYPE_RUNNING); +// edgStorageDeviceTaskService.updateTaskMessage(tableName, task); +// } else { +// finishTask(task, tableName); +// } +// } catch (Exception e) { +// log.info("鎵ц浠诲姟杩囩▼涓彂鐢熷紓甯革紝浠诲姟瀛梴}锛寋}", task.getTaskState(), e.getMessage()); +// log.info("灏嗗惎鍔ㄥ瓙鏀逛负0"); +// task.setTaskState(Const.GLASS_CACHE_TYPE_EMPTY); +// edgStorageDeviceTaskService.updateTaskMessage(tableName, task); +// } } - private boolean intoTask(EdgStorageDeviceTask task, String tableName) { - //鑾峰彇鐜荤拑鐨勫熀鏈俊鎭� - GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, task.getGlassIdIn())); - if (null == glassInfo) { - log.info("杩涚墖鐜荤拑淇℃伅涓嶅瓨鍦紝鐜荤拑id:{}", task.getGlassIdIn()); - return Boolean.FALSE; - } - //鑾峰彇褰撳墠杩涚墖鐜荤拑id鍜岃繘鐗囨牸瀛� 鐩稿悓灏哄鍙互鏀句笅鐨勬牸瀛� - EdgStorageCage edgStorageCage = edgStorageCageService.getEdgStorageCageBySize(1, glassInfo.getWidth(), glassInfo.getHeight(), task.getCurrentCell()); - if (edgStorageCage == null) { - log.info("鐩稿悓灏哄鍙互鏀句笅鐨勬牸瀛愭湭鎵惧埌锛屾牸瀛恑d:{}", task.getCurrentCell()); -// SELECT * from edg_storage_cage where device_id = 1 and remain_width > 1000 order by abs(slot - 10) - List<EdgStorageCage> storageCageList = edgStorageCageService.list(new LambdaQueryWrapper<EdgStorageCage>().eq(EdgStorageCage::getDeviceId, 1) - .eq(EdgStorageCage::getEnableState, Const.SLOT_ON) - .ge(EdgStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight())).last("order by abs(slot - " + task.getCurrentCell() + ")")); -// //鐩撮�氫换鍔� -// if (flag && CollectionUtil.isNotEmpty(emptyList)) { -// return emptyList.get(0); + private boolean intoTask(EdgStorageDeviceTask task, String tableName, int deviceId) { +// //鑾峰彇鐜荤拑鐨勫熀鏈俊鎭� +// GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, task.getGlassIdIn())); +// if (null == glassInfo) { +// log.info("杩涚墖鐜荤拑淇℃伅涓嶅瓨鍦紝鐜荤拑id:{}", task.getGlassIdIn()); +// return Boolean.FALSE; +// } +// //鑾峰彇褰撳墠杩涚墖鐜荤拑id鍜岃繘鐗囨牸瀛� 鐩稿悓灏哄鍙互鏀句笅鐨勬牸瀛� +// EdgStorageCage edgStorageCage = edgStorageCageService.getEdgStorageCageBySize(deviceId, glassInfo.getWidth(), glassInfo.getHeight(), task.getCurrentCell()); +// if (edgStorageCage == null) { +// log.info("鐩稿悓灏哄鍙互鏀句笅鐨勬牸瀛愭湭鎵惧埌锛屾牸瀛恑d:{}", task.getCurrentCell()); +//// SELECT * from edg_storage_cage where device_id = 1 and remain_width > 1000 order by abs(slot - 10) +// List<EdgStorageCage> storageCageList = edgStorageCageService.list(new LambdaQueryWrapper<EdgStorageCage>() +// .eq(EdgStorageCage::getDeviceId, deviceId) +// .eq(EdgStorageCage::getEnableState, Const.SLOT_ON) +// .ge(EdgStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight())).last("order by abs(slot - " + task.getCurrentCell() + ")")); +//// //鐩撮�氫换鍔� +//// if (flag && CollectionUtil.isNotEmpty(emptyList)) { +//// return emptyList.get(0); +//// } +// if (CollectionUtil.isEmpty(storageCageList) || storageCageList.size() == 1) { +// log.info("娌℃湁澶氫綑鐨勭┖鏍煎瓙"); +// return Boolean.FALSE; // } - if (CollectionUtil.isEmpty(storageCageList) || storageCageList.size() == 1) { - log.info("娌℃湁澶氫綑鐨勭┖鏍煎瓙"); - return Boolean.FALSE; - } - edgStorageCage = storageCageList.get(0); - } - log.info("4銆佸皢鐜荤拑淇℃伅鎻掑叆鍗у紡鐞嗙墖绗�,褰撳墠鐜荤拑淇℃伅:{}", glassInfo); - EdgStorageCageDetails details = new EdgStorageCageDetails(); - BeanUtils.copyProperties(glassInfo, details); - details.setState(Const.GLASS_STATE_IN); - details.setSlot(edgStorageCage.getSlot()); - details.setDeviceId(edgStorageCage.getDeviceId()); - edgStorageCageDetailsService.save(details); - - //鏇存柊浠诲姟淇℃伅 - task.setStartCell(edgStorageCage.getSlot()); - task.setTaskRunning(Const.GLASS_CACHE_TYPE_IN); - edgStorageDeviceTaskService.updateTaskMessage(tableName, task); - saveHistoryTask(task); +// edgStorageCage = storageCageList.get(0); +// } +// log.info("4銆佸皢鐜荤拑淇℃伅鎻掑叆鍗у紡鐞嗙墖绗�,褰撳墠鐜荤拑淇℃伅:{}", glassInfo); +// EdgStorageCageDetails details = new EdgStorageCageDetails(); +// BeanUtils.copyProperties(glassInfo, details); +// details.setState(Const.GLASS_STATE_IN); +// details.setSlot(edgStorageCage.getSlot()); +// details.setDeviceId(edgStorageCage.getDeviceId()); +// edgStorageCageDetailsService.save(details); +// +// //鏇存柊浠诲姟淇℃伅 +// task.setStartCell(edgStorageCage.getSlot()); +// task.setTaskRunning(Const.GLASS_CACHE_TYPE_IN); +// edgStorageDeviceTaskService.updateTaskMessage(tableName, task); +// saveHistoryTask(task); return Boolean.TRUE; } - private boolean outTask(EdgStorageDeviceTask task, String tableName) { - EdgStorageCageDetails edgStorageCageDetails = null; - //绗煎唴鏄増鍥剧浉宸槸鍚﹁秴杩囬槇鍊� - boolean flag = queryMaxMinDiff(threshold); - if (flag) { - EdgStorageCageDetails minEdgDetails = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>() - .inSql(EdgStorageCageDetails::getSlot, "select slot from edg_storage_cage where enable_state = " + Const.SLOT_ON) - .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN) - .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId) - .orderBy(Boolean.TRUE, Boolean.TRUE, EdgStorageCageDetails::getTemperingFeedSequence) - .last("limit 1")); -// select * from edg_storage_cage_details where width = 551 and height = 1151 and id in (select min(id ) from edg_storage_cage_details where state = 100 group by slot ) - edgStorageCageDetails = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>() - .eq(EdgStorageCageDetails::getWidth, minEdgDetails.getWidth()) - .eq(EdgStorageCageDetails::getHeight, minEdgDetails.getHeight()) - .inSql(EdgStorageCageDetails::getId, "select min(id) from edg_storage_cage_details where state = 100 group by slot ") - .last("order by abs(slot - " + task.getCurrentCell() + ") asc limit 1") - ); - //缁欑洿閫氫换鍔� - if (null == edgStorageCageDetails && StringUtils.isNotBlank(task.getGlassIdIn())) { - GlassInfo glassInInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>() - .eq(GlassInfo::getGlassId, task.getGlassIdIn()) - .eq(GlassInfo::getWidth, minEdgDetails.getWidth()) - .eq(GlassInfo::getHeight, minEdgDetails.getHeight())); - if (null != glassInInfo) { - edgStorageCageDetails = new EdgStorageCageDetails(); - BeanUtils.copyProperties(glassInInfo, edgStorageCageDetails); - } - } - if (null == edgStorageCageDetails) { - edgStorageCageDetails = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>() - .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN) - .eq(EdgStorageCageDetails::getSlot, minEdgDetails.getSlot()) - .orderByAsc(EdgStorageCageDetails::getId) - .last("limit 1") - ); - } - } - if (null == edgStorageCageDetails) { - // 鑾峰彇涓婃浠诲姟 -// 鑾峰彇鍘嗗彶琛ㄤ腑涓婃浠诲姟鏈�鍚庝竴鐗囧昂瀵� - EdgStorageDeviceTaskHistory edgeData = edgStorageDeviceTaskHistoryService.getOne(new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>() - .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_SUCCESS) - .in(EdgStorageDeviceTaskHistory::getTaskType, Const.GLASS_CACHE_TYPE_OUT, Const.GLASS_CACHE_TYPE_THROUGH) - .orderByDesc(EdgStorageDeviceTaskHistory::getId).last("limit 1")); - if (null != edgeData) { - GlassInfo glassOutInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, edgeData.getGlassIdOut())); - //绗煎唴鐨勭幓鐠冪殑灏哄鏄惁鍜屼笂涓�娆′换鍔′竴鑷� - edgStorageCageDetails = edgStorageCageDetailsService.queryEdgStorageDetailsBySize(glassOutInfo.getWidth(), glassOutInfo.getHeight()); - if (null == edgStorageCageDetails && StringUtils.isNotBlank(task.getGlassIdIn())) { - GlassInfo glassInInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>() - .eq(GlassInfo::getGlassId, task.getGlassIdIn()) - .eq(GlassInfo::getWidth, glassOutInfo.getWidth()) - .eq(GlassInfo::getHeight, glassOutInfo.getHeight())); - if (null != glassInInfo) { - edgStorageCageDetails = new EdgStorageCageDetails(); - BeanUtils.copyProperties(glassInInfo, edgStorageCageDetails); - } - } - } - } - if (null == edgStorageCageDetails) { - edgStorageCageDetails = edgStorageCageDetailsService.queryEdgStorageDetailsBySize(0, 0); - } - if (edgStorageCageDetails == null && StringUtils.isNotBlank(task.getGlassIdIn())) { - //鍜屼笂娆′换鍔′笉瀛樺湪鐩稿悓灏哄 - GlassInfo glassInInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, task.getGlassIdIn())); - edgStorageCageDetails = new EdgStorageCageDetails(); - BeanUtils.copyProperties(glassInInfo, edgStorageCageDetails); - } - if (edgStorageCageDetails == null) { - //鍜屼笂娆′换鍔′笉瀛樺湪鐩稿悓灏哄 - log.info("绗煎唴娌℃湁鐜荤拑浜�"); - return Boolean.FALSE; - } - int taskType = Const.GLASS_CACHE_TYPE_OUT; - String glassId = edgStorageCageDetails.getGlassId(); - if (glassId.equals(task.getGlassIdIn())) { - log.info("5銆佺洿閫氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", edgStorageCageDetails); - //鐜荤拑淇℃伅鏇挎崲 - String glassIdChange = queryAndChangeGlass(glassId); - if (StringUtils.isNotBlank(glassIdChange)) { - edgStorageCageDetails = new EdgStorageCageDetails(); - GlassInfo one = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId)); - BeanUtils.copyProperties(one, edgStorageCageDetails); - } - EdgStorageCage storageCage = edgStorageCageService.getOne(new LambdaQueryWrapper<EdgStorageCage>().eq(EdgStorageCage::getDeviceId, 1) - .eq(EdgStorageCage::getEnableState, Const.SLOT_ON) - .ge(EdgStorageCage::getRemainWidth, cellLength).last("order by abs(slot - " + task.getCurrentCell() + ")") - .last("limit 1")); - Assert.isTrue(null != storageCage, "鏍煎瓙宸叉弧,鏃犳硶鎵ц鐩撮�氫换鍔�"); - log.info("3銆佹煡璇㈠崸寮忕悊鐗囩閲岄潰鐨勭┖鏍�:{}", storageCage); - edgStorageCageDetails.setSlot(storageCage.getSlot()); - edgStorageCageDetails.setState(Const.GLASS_STATE_OUT); - edgStorageCageDetailsService.save(edgStorageCageDetails); - taskType = Const.GLASS_CACHE_TYPE_THROUGH; - } else { - log.info("5銆侀潪鐩撮�氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", edgStorageCageDetails); - if (!edgStorageCageDetails.getSlot().equals(task.getCurrentCell())) { - EdgStorageCageDetails currentGlass = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>() - .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN) - .eq(EdgStorageCageDetails::getSlot, task.getCurrentCell()).eq(EdgStorageCageDetails::getWidth, edgStorageCageDetails.getWidth()) - .eq(EdgStorageCageDetails::getHeight, edgStorageCageDetails.getHeight()).eq(EdgStorageCageDetails::getThickness, edgStorageCageDetails.getThickness()) - ); - if (null != currentGlass) { - edgStorageCageDetails = currentGlass; - } - } - //鐜荤拑淇℃伅鏇挎崲 - String glassIdChange = queryAndChangeGlass(edgStorageCageDetails.getGlassId()); - //澶勭悊鍦ㄥ崸鐞嗗唴鐨勭幓鐠冧俊鎭細绗煎唴鐨勬暟鎹鐞� - queryEdgAndChangeGlass(edgStorageCageDetails.getGlassId(), glassIdChange); - LambdaUpdateWrapper<EdgStorageCageDetails> wrapper = new LambdaUpdateWrapper<>(); - wrapper.eq(EdgStorageCageDetails::getGlassId, edgStorageCageDetails.getGlassId()).set(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT); - edgStorageCageDetailsService.update(wrapper); - log.info("5銆佹洿鏂板嚭鐗囩幓鐠冪殑鐘舵�佷负{}", Const.GLASS_STATE_OUT); - } - - //鐜荤拑淇℃伅鏇挎崲 -// String glassIdChange = queryAndChangeGlass(edgStorageCageDetails.getGlassId()); - //澶勭悊鍦ㄥ崸鐞嗗唴鐨勭幓鐠冧俊鎭細绗煎唴鐨勬暟鎹鐞� -// queryEdgAndChangeGlass(edgStorageCageDetails.getGlassId(), glassIdChange); - //鐢熸垚鍑虹墖浠诲姟 - task.setGlassIdOut(edgStorageCageDetails.getGlassId()); - task.setStartCell(edgStorageCageDetails.getSlot()); - task.setTaskRunning(taskType); - task.setWidth((int) edgStorageCageDetails.getWidth() * 10); - task.setHeight((int) edgStorageCageDetails.getHeight() * 10); - task.setThickness((int) edgStorageCageDetails.getThickness() * 10); - task.setFilmRemove(0); - edgStorageDeviceTaskService.updateTaskMessage(tableName, task); - saveHistoryTask(task); - //鏇存柊璇︽儏琛ㄤ换鍔″嚭鐗囦腑 - 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); + private boolean outTask(EdgStorageDeviceTask task, String tableName, int deviceId) { +// EdgStorageCageDetails edgStorageCageDetails = null; +// //绗煎唴鏄増鍥剧浉宸槸鍚﹁秴杩囬槇鍊� +// boolean flag = queryMaxMinDiff(threshold); +// if (flag) { +// EdgStorageCageDetails minEdgDetails = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>() +// .inSql(EdgStorageCageDetails::getSlot, "select slot from edg_storage_cage where enable_state = " + Const.SLOT_ON) +// .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN) +// .eq(EdgStorageCageDetails::getDeviceId, deviceId) +// .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId) +// .orderBy(Boolean.TRUE, Boolean.TRUE, EdgStorageCageDetails::getTemperingFeedSequence) +// .last("limit 1")); +//// select * from edg_storage_cage_details where width = 551 and height = 1151 and id in (select min(id ) from edg_storage_cage_details where state = 100 group by slot ) +// edgStorageCageDetails = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>() +// .eq(EdgStorageCageDetails::getWidth, minEdgDetails.getWidth()) +// .eq(EdgStorageCageDetails::getHeight, minEdgDetails.getHeight()) +// .eq(EdgStorageCageDetails::getDeviceId, deviceId) +// .inSql(EdgStorageCageDetails::getId, "select min(id) from edg_storage_cage_details where state = 100 group by slot ") +// .last("order by abs(slot - " + task.getCurrentCell() + ") asc limit 1") +// ); +// //缁欑洿閫氫换鍔� +// if (null == edgStorageCageDetails && StringUtils.isNotBlank(task.getGlassIdIn())) { +// GlassInfo glassInInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>() +// .eq(GlassInfo::getGlassId, task.getGlassIdIn()) +// .eq(GlassInfo::getWidth, minEdgDetails.getWidth()) +// .eq(GlassInfo::getHeight, minEdgDetails.getHeight())); +// if (null != glassInInfo) { +// edgStorageCageDetails = new EdgStorageCageDetails(); +// BeanUtils.copyProperties(glassInInfo, edgStorageCageDetails); +// } +// } +// if (null == edgStorageCageDetails) { +// edgStorageCageDetails = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>() +// .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN) +// .eq(EdgStorageCageDetails::getDeviceId, deviceId) +// .eq(EdgStorageCageDetails::getSlot, minEdgDetails.getSlot()) +// .orderByAsc(EdgStorageCageDetails::getId) +// .last("limit 1") +// ); +// } +// } +// if (null == edgStorageCageDetails) { +// // 鑾峰彇涓婃浠诲姟 +//// 鑾峰彇鍘嗗彶琛ㄤ腑涓婃浠诲姟鏈�鍚庝竴鐗囧昂瀵� +// EdgStorageDeviceTaskHistory edgeData = edgStorageDeviceTaskHistoryService.getOne(new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>() +// .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_SUCCESS) +// .in(EdgStorageDeviceTaskHistory::getTaskType, Const.GLASS_CACHE_TYPE_OUT, Const.GLASS_CACHE_TYPE_THROUGH) +// .orderByDesc(EdgStorageDeviceTaskHistory::getId).last("limit 1")); +// if (null != edgeData) { +// GlassInfo glassOutInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, edgeData.getGlassIdOut())); +// //绗煎唴鐨勭幓鐠冪殑灏哄鏄惁鍜屼笂涓�娆′换鍔′竴鑷� +// edgStorageCageDetails = edgStorageCageDetailsService.queryEdgStorageDetailsBySize(deviceId, task.getCurrentCell(), glassOutInfo.getWidth(), glassOutInfo.getHeight()); +// if (null == edgStorageCageDetails && StringUtils.isNotBlank(task.getGlassIdIn())) { +// GlassInfo glassInInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>() +// .eq(GlassInfo::getGlassId, task.getGlassIdIn()) +// .eq(GlassInfo::getWidth, glassOutInfo.getWidth()) +// .eq(GlassInfo::getHeight, glassOutInfo.getHeight())); +// if (null != glassInInfo) { +// edgStorageCageDetails = new EdgStorageCageDetails(); +// BeanUtils.copyProperties(glassInInfo, edgStorageCageDetails); +// } +// } +// } +// } +// if (null == edgStorageCageDetails) { +// edgStorageCageDetails = edgStorageCageDetailsService.queryEdgStorageDetailsBySize(deviceId, task.getCurrentCell(), 0, 0); +// } +// if (edgStorageCageDetails == null && StringUtils.isNotBlank(task.getGlassIdIn())) { +// //鍜屼笂娆′换鍔′笉瀛樺湪鐩稿悓灏哄 +// GlassInfo glassInInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, task.getGlassIdIn())); +// edgStorageCageDetails = new EdgStorageCageDetails(); +// BeanUtils.copyProperties(glassInInfo, edgStorageCageDetails); +// } +// if (edgStorageCageDetails == null) { +// //鍜屼笂娆′换鍔′笉瀛樺湪鐩稿悓灏哄 +// log.info("绗煎唴娌℃湁鐜荤拑浜�"); +// return Boolean.FALSE; +// } +// int taskType = Const.GLASS_CACHE_TYPE_OUT; +// String glassId = edgStorageCageDetails.getGlassId(); +// if (glassId.equals(task.getGlassIdIn())) { +// if (3 != task.getTaskState()) { +// return Boolean.FALSE; +// } +// log.info("5銆佺洿閫氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", edgStorageCageDetails); +// //鐜荤拑淇℃伅鏇挎崲 +// String glassIdChange = queryAndChangeGlass(glassId); +// //澶勭悊鍦ㄥ崸鐞嗗唴鐨勭幓鐠冧俊鎭細绗煎唴鐨勬暟鎹鐞� +// queryEdgAndChangeGlass(edgStorageCageDetails.getGlassId(), glassIdChange); +// if (StringUtils.isNotBlank(glassIdChange)) { +// edgStorageCageDetails = new EdgStorageCageDetails(); +// GlassInfo one = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId)); +// BeanUtils.copyProperties(one, edgStorageCageDetails); +// } +// EdgStorageCage storageCage = edgStorageCageService.getOne(new LambdaQueryWrapper<EdgStorageCage>() +// .eq(EdgStorageCage::getDeviceId, deviceId) +// .eq(EdgStorageCage::getEnableState, Const.SLOT_ON) +// .ge(EdgStorageCage::getRemainWidth, cellLength) +// .last("order by abs(slot - " + task.getCurrentCell() + ") limit 1")); +// Assert.isTrue(null != storageCage, "鏍煎瓙宸叉弧,鏃犳硶鎵ц鐩撮�氫换鍔�"); +// log.info("3銆佹煡璇㈠崸寮忕悊鐗囩閲岄潰鐨勭┖鏍�:{}", storageCage); +// edgStorageCageDetails.setSlot(storageCage.getSlot()); +// edgStorageCageDetails.setDeviceId(storageCage.getDeviceId()); +// edgStorageCageDetails.setState(Const.GLASS_STATE_OUT); +// edgStorageCageDetailsService.save(edgStorageCageDetails); +// taskType = Const.GLASS_CACHE_TYPE_THROUGH; +// } else { +// log.info("5銆侀潪鐩撮�氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", edgStorageCageDetails); +// if (!edgStorageCageDetails.getSlot().equals(task.getCurrentCell())) { +// EdgStorageCageDetails currentGlass = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>() +// .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN) +// .eq(EdgStorageCageDetails::getDeviceId, deviceId) +// .eq(EdgStorageCageDetails::getSlot, task.getCurrentCell()).eq(EdgStorageCageDetails::getWidth, edgStorageCageDetails.getWidth()) +// .eq(EdgStorageCageDetails::getHeight, edgStorageCageDetails.getHeight()).eq(EdgStorageCageDetails::getThickness, edgStorageCageDetails.getThickness()) +// .orderByAsc(EdgStorageCageDetails::getId).last("limit 1") +// ); +// if (null != currentGlass) { +// edgStorageCageDetails = currentGlass; +// } +// } +// //鐜荤拑淇℃伅鏇挎崲 +// String glassIdChange = queryAndChangeGlass(edgStorageCageDetails.getGlassId()); +// //澶勭悊鍦ㄥ崸鐞嗗唴鐨勭幓鐠冧俊鎭細绗煎唴鐨勬暟鎹鐞� +// queryEdgAndChangeGlass(edgStorageCageDetails.getGlassId(), glassIdChange); +// LambdaUpdateWrapper<EdgStorageCageDetails> wrapper = new LambdaUpdateWrapper<>(); +// wrapper.eq(EdgStorageCageDetails::getGlassId, edgStorageCageDetails.getGlassId()).set(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT); +// edgStorageCageDetailsService.update(wrapper); +// log.info("5銆佹洿鏂板嚭鐗囩幓鐠冪殑鐘舵�佷负{}", Const.GLASS_STATE_OUT); +// } +// //鐢熸垚鍑虹墖浠诲姟 +// task.setGlassIdOut(edgStorageCageDetails.getGlassId()); +// task.setStartCell(edgStorageCageDetails.getSlot()); +// task.setTaskRunning(taskType); +// +// edgStorageDeviceTaskService.updateTaskMessage(tableName, task); +// saveHistoryTask(task); +// //鏇存柊璇︽儏琛ㄤ换鍔″嚭鐗囦腑 +// edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>() +// .set(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT) +// .eq(EdgStorageCageDetails::getGlassId, edgStorageCageDetails.getGlassId())); +// //纾ㄨ竟瀵瑰垪琛ㄦ柊澧炰竴鏉℃暟鎹� +// EdgGlassTaskQueueInfo edgInfo = new EdgGlassTaskQueueInfo(); +// BeanUtils.copyProperties(task, edgInfo); +// edgInfo.setCreateTime(new Date()); +// edgInfo.setWidth((int) edgStorageCageDetails.getWidth()); +// edgInfo.setHeight((int) edgStorageCageDetails.getWidth()); +// edgInfo.setThickness((int) edgStorageCageDetails.getWidth()); +// 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.setGlassIdOut(""); - task.setStartCell(0); - task.setWidth(0); - task.setHeight(0); - task.setThickness(0); - task.setFilmRemove(0); - edgStorageDeviceTaskService.updateTaskMessage(tableName, task); - edgStorageDeviceTaskHistoryService.update(new LambdaUpdateWrapper<EdgStorageDeviceTaskHistory>() - .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW) - .set(EdgStorageDeviceTaskHistory::getTaskState, - Const.GLASS_CACHE_TYPE_FINISH.equals(state) ? Const.RAW_GLASS_TASK_SUCCESS : Const.RAW_GLASS_TASK_FAILURE) - ); - updateCellRemainWidth(cell); +// 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.setGlassIdOut(""); +// task.setStartCell(0); +// edgStorageDeviceTaskService.updateTaskMessage(tableName, task); +// edgStorageDeviceTaskHistoryService.update(new LambdaUpdateWrapper<EdgStorageDeviceTaskHistory>() +// .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW) +// .set(EdgStorageDeviceTaskHistory::getTaskState, +// Const.GLASS_CACHE_TYPE_FINISH.equals(state) ? Const.RAW_GLASS_TASK_SUCCESS : Const.RAW_GLASS_TASK_FAILURE) +// ); +// int device = tableName.equals("edg_storage_device_one_task") ? 1 : 2; +// updateCellRemainWidth(cell, device); return Boolean.TRUE; } @@ -321,34 +331,34 @@ * @return */ public String queryAndChangeGlass(String glassId) { - GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId)); -// .inSql(GlassInfo::getEngineerId, "select engineer_id from engineering where state = 1")); - Assert.isFalse(null == glassInfo, "鐜荤拑淇℃伅涓嶅瓨鍦�"); //鎸夌収鐜荤拑灏哄 - LambdaQueryWrapper<GlassInfo> queryWrapper = new LambdaQueryWrapper<GlassInfo>() - .eq(GlassInfo::getWidth, glassInfo.getWidth()) - .eq(GlassInfo::getHeight, glassInfo.getHeight()) - .eq(GlassInfo::getThickness, glassInfo.getThickness()) - .eq(GlassInfo::getFilmsid, glassInfo.getFilmsid()) - .eq(GlassInfo::getFlowCardId, glassInfo.getFlowCardId()) - .eq(GlassInfo::getTotalLayer, glassInfo.getTotalLayer()) - .eq(GlassInfo::getLayer, glassInfo.getLayer()) - .eq(GlassInfo::getEngineerId, glassInfo.getEngineerId()) - .notInSql(GlassInfo::getGlassId, "select distinct glass_id from edg_storage_cage_details " + - "where engineer_id = '" + glassInfo.getEngineerId() + "' and width = " + glassInfo.getWidth() + " and height = " + glassInfo.getHeight() - + " and state != 100") - .orderByAsc(GlassInfo::getTemperingLayoutId) - .orderBy(Boolean.TRUE, Boolean.TRUE, GlassInfo::getTemperingFeedSequence) - .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); - glassInfoService.updateById(swapGlassInfo); - glassInfoService.updateById(glassInfo); - return swapGlassId; - } +// GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId)); +//// .inSql(GlassInfo::getEngineerId, "select engineer_id from engineering where state = 1")); +// Assert.isFalse(null == glassInfo, "鐜荤拑淇℃伅涓嶅瓨鍦�"); //鎸夌収鐜荤拑灏哄 +// LambdaQueryWrapper<GlassInfo> queryWrapper = new LambdaQueryWrapper<GlassInfo>() +// .eq(GlassInfo::getWidth, glassInfo.getWidth()) +// .eq(GlassInfo::getHeight, glassInfo.getHeight()) +// .eq(GlassInfo::getThickness, glassInfo.getThickness()) +// .eq(GlassInfo::getFilmsid, glassInfo.getFilmsid()) +// .eq(GlassInfo::getFlowCardId, glassInfo.getFlowCardId()) +// .eq(GlassInfo::getTotalLayer, glassInfo.getTotalLayer()) +// .eq(GlassInfo::getLayer, glassInfo.getLayer()) +// .eq(GlassInfo::getEngineerId, glassInfo.getEngineerId()) +// .notInSql(GlassInfo::getGlassId, "select distinct glass_id from edg_storage_cage_details " + +// "where engineer_id = '" + glassInfo.getEngineerId() + "' and width = " + glassInfo.getWidth() + " and height = " + glassInfo.getHeight() +// + " and state != 100") +// .orderByAsc(GlassInfo::getTemperingLayoutId) +// .orderBy(Boolean.TRUE, Boolean.TRUE, GlassInfo::getTemperingFeedSequence) +// .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); +// glassInfoService.updateById(swapGlassInfo); +// glassInfoService.updateById(glassInfo); +// return swapGlassId; +// } return ""; } @@ -426,16 +436,16 @@ return Boolean.TRUE; } - private boolean updateCellRemainWidth(int slot) { - List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(new LambdaQueryWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot, slot) - .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)); - int remainWidth = cellLength; - if (CollectionUtil.isNotEmpty(list)) { - int widthTotal = (int) list.stream().map(e -> Math.max(e.getWidth(), e.getHeight()) + glassGap).mapToDouble(Double::intValue).sum(); - remainWidth = cellLength - widthTotal >= 0 ? cellLength - widthTotal : 0; - } - edgStorageCageService.update(new LambdaUpdateWrapper<EdgStorageCage>(). - set(EdgStorageCage::getRemainWidth, remainWidth).eq(EdgStorageCage::getSlot, slot)); + private boolean updateCellRemainWidth(int slot, int device) { +// List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(new LambdaQueryWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot, slot) +// .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)); +// int remainWidth = cellLength; +// if (CollectionUtil.isNotEmpty(list)) { +// int widthTotal = (int) list.stream().map(e -> Math.max(e.getWidth(), e.getHeight()) + glassGap).mapToDouble(Double::intValue).sum(); +// remainWidth = cellLength - widthTotal >= 0 ? cellLength - widthTotal : 0; +// } +// edgStorageCageService.update(new LambdaUpdateWrapper<EdgStorageCage>(). +// set(EdgStorageCage::getRemainWidth, remainWidth).eq(EdgStorageCage::getSlot, slot).eq(EdgStorageCage::getDeviceId, device)); return Boolean.TRUE; } } -- Gitblit v1.8.0