From 4d6bae90f7a2075a5522c7eb0213dbdf5e37a7ff Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期三, 12 六月 2024 10:13:25 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 45 insertions(+), 6 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java index ad43e7a..e3860e7 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java @@ -9,6 +9,7 @@ import com.zy.asrs.common.utils.HttpHandler; import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.SnowflakeIdWorker; +import com.zy.asrs.framework.exception.CoolException; import com.zy.asrs.wcs.core.domain.dto.MatDto; import com.zy.asrs.wcs.core.domain.dto.RedisMapDto; import com.zy.asrs.wcs.core.domain.dto.StaDto; @@ -269,6 +270,11 @@ String[] split = dict.getFlag().split("-"); int lev = Integer.parseInt(split[1]); + Object data = redisUtil.get(DeviceRedisConstant.MAP + lev); + if (data != null) { + continue; + } + TreeMap<Integer, List<JSONObject>> rows = new TreeMap<>(); //鎺掑簭Row JSONArray value = JSON.parseArray(dict.getValue()); @@ -405,11 +411,8 @@ map.setUpdateTime(now); map.setLev(lev); - Object data = redisUtil.get(DeviceRedisConstant.MAP + lev); - if (data == null) { - //灏嗗湴鍥炬暟鎹瓨鍏edis - redisUtil.set(DeviceRedisConstant.MAP + lev, JSON.toJSONString(map)); - } + //灏嗗湴鍥炬暟鎹瓨鍏edis + redisUtil.set(DeviceRedisConstant.MAP + lev, JSON.toJSONString(map)); } } catch (Exception e) { e.printStackTrace(); @@ -438,7 +441,7 @@ /** * 鍑哄簱 ====>> 鍚屼竴鏃堕棿涓�鍙扮┛姊溅鍙兘鏈変竴涓嚭搴撲换鍔� */ - public synchronized void generateOutboundWrkMast() { + public synchronized void analyzeOutBoundTask() { List<Task> tasks = taskService.selectPakOut(); if (tasks.isEmpty()) { return; @@ -474,6 +477,23 @@ // continue;//娴呭簱浣嶅瓨鍦ㄦ湭鎵ц浠诲姟 // } + if (Cools.isEmpty(task.getShuttleNo())) { + //鍒嗛厤灏忚溅 + //鎼滅储绌洪棽杞� + ShuttleThread shuttleThread = shuttleDispatcher.searchIdleShuttle(task); + if (shuttleThread == null) { + News.info("{}浠诲姟鏈壘鍒扮┖闂茬┛姊溅", task.getTaskNo()); + continue; + } + + task.setShuttleNo(Integer.valueOf(shuttleThread.getDevice().getDeviceNo()));//淇濆瓨绌挎杞﹀彿 + task.setUpdateTime(new Date()); + if (!taskService.updateById(task)) { + News.info("{}浠诲姟鏇存柊绌挎杞﹀彿澶辫触", task.getTaskNo()); + } + continue; + } + // generate motion list List<Motion> motionList = analyzeService.generateMotion(task); if (Cools.isEmpty(motionList)) { @@ -493,6 +513,25 @@ } } + // 瑙f瀽灏忚溅绉诲姩宸ヤ綔妗� + public synchronized void analyzeMoveTask() { + for (Task task : taskService.selectWaitAnalyzeMoveTask()) { + // generate motion list + List<Motion> motionList = analyzeService.generateMotion(task); + if (motionList.isEmpty()) { + continue; + } + motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo())); + + // 鏇存柊宸ヤ綔涓绘。 + task.setTaskSts(TaskStsType.ANALYZE_MOVE.sts); // 宸ヤ綔鐘舵�� + task.setUpdateTime(new Date()); + if (!taskService.updateById(task)) { + News.error("鏇存柊宸ヤ綔妗eけ璐ワ紒锛侊紒 [宸ヤ綔鍙凤細{}]", task.getTaskNo()); + } + } + } + /** * 鍥涘悜绌挎杞︾數閲忔娴� ===>> 鍙戣捣鍏呯數 */ -- Gitblit v1.9.1