From 4775feb2a95cb339d3b65ddbbad25374e012b2aa Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期四, 12 十二月 2024 12:52:35 +0800
Subject: [PATCH] #入库逻辑优化
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/MainProcess.java | 2
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/BasConveyor.java | 12 +
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/constant/DeviceRedisConstant.java | 2
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java | 341 ++++++++++++++++++++++++++++++++---------
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java | 64 ++++----
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/StaDto.java | 2
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java | 6
7 files changed, 313 insertions(+), 116 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/MainProcess.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/MainProcess.java
index bfdc8e9..6f0c851 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/MainProcess.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/MainProcess.java
@@ -47,6 +47,8 @@
// 鍏ュ簱 ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
mainService.generateInboundWrk(); // 缁勬墭
+ mainService.palletInbound();//鍏ュ簱-鎵樼洏杩涘簱
+
// 瑙f瀽鍑哄簱宸ヤ綔妗�
mainService.analyzeOutBoundTask();
// 瑙f瀽鍏ュ簱宸ヤ綔妗�
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/StaDto.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/StaDto.java
index e4e2b82..0c7deb5 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/StaDto.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/StaDto.java
@@ -7,6 +7,8 @@
private Integer staNo;
+ private Integer deviceStaNo;
+
private Integer barcode;
private Integer backSta;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/BasConveyor.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/BasConveyor.java
index a24e153..c2a8b9e 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/BasConveyor.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/BasConveyor.java
@@ -130,6 +130,18 @@
@ApiModelProperty(value= "鎷f枡鍑哄簱绔欑偣鍒楄〃")
private String pickOutSta;
+ /**
+ * 璁惧鍏ュ簱绔欑偣鍒楄〃
+ */
+ @ApiModelProperty(value= "璁惧鍏ュ簱绔欑偣鍒楄〃")
+ private String deviceInSta;
+
+ /**
+ * 璁惧鍑哄簱绔欑偣鍒楄〃
+ */
+ @ApiModelProperty(value= "璁惧鍑哄簱绔欑偣鍒楄〃")
+ private String deviceOutSta;
+
public BasConveyor() {}
public BasConveyor(Long deviceId,Integer conveyorNo,Long updateBy,Long createBy,Date createTime,Date updateTime,String memo,Integer deleted,Long hostId,String inSta,String emptyInSta,String pickInSta,String outSta,String emptyOutSta,String pickOutSta) {
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java
index 22a654f..e645221 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java
@@ -101,8 +101,8 @@
String shuttleLocNo = shuttleProtocol.getCurrentLocNo();
- //鑾峰彇璺濈鐩爣浣嶇疆鏈�杩戠殑绌洪棽鍙崲灞傛彁鍗囨満
- LiftThread liftThread = liftDispatcher.searchIdleLift(shuttleLocNo, task.getHostId(), true);
+ //鑾峰彇璺濈鐩爣浣嶇疆鏈�杩戠殑鍙崲灞傛彁鍗囨満(鍙兘涓嶇┖闂�)
+ LiftThread liftThread = liftDispatcher.searchLift(shuttleLocNo, task.getHostId(), true);
if (liftThread == null) {
return motionList;
}
@@ -158,21 +158,21 @@
// 鍏ュ簱鐩爣灞傛湁绌挎杞�
if (Utils.getLev(shuttleLocNo) == Utils.getLev(task.getDestLoc())) {
- // 鎻愬崌鏈鸿浇璐хЩ鍔�
- motionList.addAll(kernelService.liftMoveGoods(
- MotionDto.build((dto -> {
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞�
- dto.setStaNo(31004);//鍏ュ簱绔欑偣
- }))
- , MotionDto.build((dto -> {
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLev(Utils.getLev(task.getDestLoc()));
- dto.setStaNo(getStaByLev(Utils.getLev(task.getDestLoc())));
- dto.setDevpNo(basConveyorStaDest.getConveyorDeviceId().intValue());
- dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
- }))
- ));
+// // 鎻愬崌鏈鸿浇璐хЩ鍔�
+// motionList.addAll(kernelService.liftMoveGoods(
+// MotionDto.build((dto -> {
+// dto.setLiftNo(transferLiftDevice.getId().intValue());
+// dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞�
+// dto.setStaNo(31004);//鍏ュ簱绔欑偣
+// }))
+// , MotionDto.build((dto -> {
+// dto.setLiftNo(transferLiftDevice.getId().intValue());
+// dto.setLev(Utils.getLev(task.getDestLoc()));
+// dto.setStaNo(getStaByLev(Utils.getLev(task.getDestLoc())));
+// dto.setDevpNo(basConveyorStaDest.getConveyorDeviceId().intValue());
+// dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
+// }))
+// ));
// 绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄簱浣嶅緟鏈轰綅
motionList.addAll(kernelService.shuttleMove(
@@ -227,21 +227,21 @@
*/
} else {
- // 鎻愬崌鏈鸿浇璐хЩ鍔�
- motionList.addAll(kernelService.liftMoveGoods(
- MotionDto.build((dto -> {
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞�
- dto.setStaNo(31004);//鍏ュ簱绔欑偣
- }))
- , MotionDto.build((dto -> {
- dto.setLiftNo(transferLiftDevice.getId().intValue());
- dto.setLev(Utils.getLev(task.getDestLoc()));
- dto.setStaNo(getStaByLev(Utils.getLev(task.getDestLoc())));
- dto.setDevpNo(basConveyorStaDest.getConveyorDeviceId().intValue());
- dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
- }))
- ));
+// // 鎻愬崌鏈鸿浇璐хЩ鍔�
+// motionList.addAll(kernelService.liftMoveGoods(
+// MotionDto.build((dto -> {
+// dto.setLiftNo(transferLiftDevice.getId().intValue());
+// dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞�
+// dto.setStaNo(31004);//鍏ュ簱绔欑偣
+// }))
+// , MotionDto.build((dto -> {
+// dto.setLiftNo(transferLiftDevice.getId().intValue());
+// dto.setLev(Utils.getLev(task.getDestLoc()));
+// dto.setStaNo(getStaByLev(Utils.getLev(task.getDestLoc())));
+// dto.setDevpNo(basConveyorStaDest.getConveyorDeviceId().intValue());
+// dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
+// }))
+// ));
// 绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄簱浣嶅緟鏈轰綅
motionList.addAll(kernelService.shuttleMove(
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 87f2518..33e391f 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
@@ -10,6 +10,8 @@
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
import com.zy.asrs.framework.common.SnowflakeIdWorker;
+import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.wcs.core.action.LiftAction;
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;
@@ -17,6 +19,8 @@
import com.zy.asrs.wcs.core.entity.*;
import com.zy.asrs.wcs.core.kernel.AnalyzeService;
import com.zy.asrs.wcs.core.model.MapNode;
+import com.zy.asrs.wcs.core.model.command.LiftAssignCommand;
+import com.zy.asrs.wcs.core.model.command.LiftCommand;
import com.zy.asrs.wcs.core.model.enums.*;
import com.zy.asrs.wcs.core.service.*;
import com.zy.asrs.wcs.core.utils.OpenUtils;
@@ -30,13 +34,11 @@
import com.zy.asrs.wcs.rcs.model.command.LedCommand;
import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType;
import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
+import com.zy.asrs.wcs.rcs.model.protocol.LiftProtocol;
import com.zy.asrs.wcs.rcs.model.protocol.ShuttleProtocol;
import com.zy.asrs.wcs.rcs.model.protocol.StaProtocol;
import com.zy.asrs.wcs.rcs.service.DeviceService;
-import com.zy.asrs.wcs.rcs.thread.BarcodeThread;
-import com.zy.asrs.wcs.rcs.thread.DevpThread;
-import com.zy.asrs.wcs.rcs.thread.LedThread;
-import com.zy.asrs.wcs.rcs.thread.ShuttleThread;
+import com.zy.asrs.wcs.rcs.thread.*;
import com.zy.asrs.wcs.system.entity.Dict;
import com.zy.asrs.wcs.system.service.DictService;
import lombok.extern.slf4j.Slf4j;
@@ -91,6 +93,8 @@
private ShuttleChargeStaService shuttleChargeStaService;
@Autowired
private OpenUtils openUtils;
+ @Autowired
+ private LiftAction liftAction;
/**
* 缁勬墭
@@ -295,6 +299,109 @@
}
/**
+ * 鍏ュ簱-鎵樼洏杩涘簱
+ */
+ public synchronized void palletInbound() {
+ try {
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ List<Device> list = deviceService.list(new LambdaQueryWrapper<Device>()
+ .eq(Device::getDeviceType, DeviceCtgType.CONVEYOR.val())
+ .eq(Device::getStatus, 1));
+ for (Device devp : list) {
+ BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getDeviceId, devp.getId()).eq(BasConveyor::getHostId, devp.getHostId()));
+ // 閬嶅巻鍏ュ簱鍙�
+ for (StaDto inSta : JSON.parseArray(basConveyor.getInSta(), StaDto.class)) {
+ BasConveyorSta basConveyorSta = basConveyorStaService.selectBySiteNo(inSta.getDeviceStaNo().toString());
+ if(basConveyorSta == null) {
+ continue;
+ }
+
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, devp.getId().intValue());
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getDeviceStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ int workNo = staProtocol.getWorkNo().intValue();
+
+ // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+ if (staProtocol.isAutoing()
+ && staProtocol.isLoading()
+ && staProtocol.isInEnable()
+ && (workNo >= 0)
+ && staProtocol.isPakMk()
+ ) {
+ Object object = redisUtil.get(DeviceRedisConstant.LIFT_PALLET_INBOUND + workNo);
+ if (object != null) {
+ continue;
+ }
+
+ Task task = taskService.getOne(new LambdaQueryWrapper<Task>()
+ .eq(Task::getDestSite, inSta.getDeviceStaNo())
+ .in(Task::getTaskSts, TaskStsType.NEW_INBOUND.sts)
+ .eq(Task::getTaskNo, workNo));
+ if (task != null) {
+ int lev = Utils.getLev(task.getDestLoc());
+ Integer targetSite = null;
+ if (lev == 1) {
+ targetSite = 31006;
+ }else if (lev == 2) {
+ targetSite = 31007;
+ }else if (lev == 3) {
+ targetSite = 31008;
+ }
+ if(targetSite == null) {
+ throw new CoolException(lev + "灞傜珯鐐逛俊鎭笉瀛樺湪");
+ }
+
+ StaProtocol staProtocol1 = devpThread.getStation().get(targetSite);
+ if (staProtocol1 == null) {
+ break;
+ }
+ if (!staProtocol1.isAutoing()) {
+ break;
+ }
+ if (staProtocol1.isLoading()) {
+ break;
+ }
+ if (staProtocol1.getWorkNo().intValue() != 0) {
+ break;
+ }
+
+ LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, inSta.getLiftNo());
+ if (liftThread == null) {
+ break;
+ }
+
+ LiftProtocol liftProtocol = liftThread.getStatus();
+ if (liftProtocol == null) {
+ break;
+ }
+
+ List<LiftCommand> command = liftThread.getPalletInOutCommand(workNo, 1, lev, inSta.getDeviceStaNo(), targetSite, LiftCommandModeType.PALLET_INOUT);
+
+ LiftAssignCommand assignCommand = new LiftAssignCommand();
+ assignCommand.setLiftNo(liftProtocol.getLiftNo());
+ assignCommand.setTaskNo(workNo);
+ assignCommand.setDeviceTaskNo(liftThread.generateDeviceTaskNo(workNo, MotionCtgType.LIFT_WITH_GOODS));
+ assignCommand.setCommands(command);
+ liftAction.assignWork(liftThread.getDevice(), assignCommand);
+
+ redisUtil.set(DeviceRedisConstant.LIFT_PALLET_INBOUND + workNo, "send", 60 * 60 * 6);
+ break;
+ }
+
+ }
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
* 鍒濆鍖栧疄鏃跺湴鍥�
*/
public synchronized void initRealtimeBasMap() {
@@ -471,86 +578,162 @@
// 瑙f瀽鍏ュ簱宸ヤ綔妗�
public synchronized void analyzeInBoundTask() {
- for (Task task : taskService.selectWaitAnalyzeInBoundTask()) {
- BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>().eq(BasConveyorSta::getSiteNo, task.getDestSite()));
- if (basConveyorSta == null) {
- continue;
- }
- BasConveyor basConveyor = basConveyorService.getById(basConveyorSta.getConveyorId());
- if (basConveyor == null) {
- continue;
- }
-// DeviceBarcode deviceBarcode = deviceBarcodeService.getById(basConveyorSta.getBarcodeId());
-// if (deviceBarcode == null) {
-// continue;
-// }
-// BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, Integer.parseInt(deviceBarcode.getDeviceId()));
-// if (barcodeThread == null) {
-// continue;
-// }
-// if (!barcodeThread.getBarcode().equals(task.getZpallet())) {
-// continue;
-// }
- if (Cools.isEmpty(basConveyorSta.getTaskNo())){
- continue;
- }
- if (!basConveyorSta.getTaskNo().toString().equals(task.getTaskNo())){
- continue;
- }
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue());
- if (devpThread == null) {
- continue;
- }
- StaProtocol staProtocol = devpThread.getStation().get(basConveyorSta.getSiteNo());
- if (staProtocol == null) {
- continue;
- }
- if (!(staProtocol.isAutoing()
- && staProtocol.isLoading()
- && staProtocol.isInEnable())) {
- continue;
- }
+ try {
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ List<Device> list = deviceService.list(new LambdaQueryWrapper<Device>()
+ .eq(Device::getDeviceType, DeviceCtgType.CONVEYOR.val())
+ .eq(Device::getStatus, 1));
+ for (Device devp : list) {
+ BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getDeviceId, devp.getId()).eq(BasConveyor::getHostId, devp.getHostId()));
+ // 閬嶅巻鍏ュ簱鍙�
+ for (StaDto inSta : JSON.parseArray(basConveyor.getDeviceInSta(), StaDto.class)) {
+ BasConveyorSta basConveyorSta = basConveyorStaService.selectBySiteNo(inSta.getStaNo().toString());
+ if(basConveyorSta == null) {
+ continue;
+ }
- //瑙f瀽鍓嶅垽鏂唴閮ㄧ洰鏍囧�兼槸鍚︽湁鐗� 鏈夊伐浣滃彿
- StaProtocol staProtocolInside = devpThread.getStation().get(Utils.getStaByLev(Utils.getLev(task.getDestLoc())));
- if (staProtocolInside == null) {
- continue;
- }
- if (staProtocolInside.isLoading() || staProtocolInside.getWorkNo() !=0) {
- continue;
- }
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, devp.getId().intValue());
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ int workNo = staProtocol.getWorkNo().intValue();
- if (Cools.isEmpty(task.getShuttleNo())) {
- //鍒嗛厤灏忚溅
- //鎼滅储绌洪棽杞�
- ShuttleThread shuttleThread = shuttleDispatcher.searchIdleShuttle(task);
- if (shuttleThread == null) {
- News.info("{}浠诲姟鏈壘鍒扮┖闂茬┛姊溅", task.getTaskNo());
- continue;
+ // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+ if (staProtocol.isAutoing()
+ && staProtocol.isInEnable()
+ && (workNo >= 0)
+ && staProtocol.isPakMk()
+ ) {
+
+ Task task = taskService.getOne(new LambdaQueryWrapper<Task>()
+ .eq(Task::getDestSite, inSta.getDeviceStaNo())
+ .in(Task::getTaskSts, TaskStsType.NEW_INBOUND.sts)
+ .eq(Task::getTaskNo, workNo));
+ if (task != null) {
+ 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 (motionList.isEmpty()) {
+ continue;
+ }
+ motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()), task.getHostId());
+
+ // 鏇存柊宸ヤ綔涓绘。
+ task.setTaskSts(TaskStsType.ANALYZE_INBOUND.sts); // 宸ヤ綔鐘舵��
+ task.setUpdateTime(new Date());
+ if (!taskService.updateById(task)) {
+ News.error("鏇存柊宸ヤ綔妗eけ璐ワ紒锛侊紒 [宸ヤ綔鍙凤細{}]", task.getTaskNo());
+ }
+ break;
+ }
+
+ }
}
-
- 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 (motionList.isEmpty()) {
- continue;
- }
- motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()), task.getHostId());
-
- // 鏇存柊宸ヤ綔涓绘。
- task.setTaskSts(TaskStsType.ANALYZE_INBOUND.sts); // 宸ヤ綔鐘舵��
- task.setUpdateTime(new Date());
- if (!taskService.updateById(task)) {
- News.error("鏇存柊宸ヤ綔妗eけ璐ワ紒锛侊紒 [宸ヤ綔鍙凤細{}]", task.getTaskNo());
- }
+ } catch (Exception e) {
+ e.printStackTrace();
}
+
+// for (Task task : taskService.selectWaitAnalyzeInBoundTask()) {
+// BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>().eq(BasConveyorSta::getSiteNo, task.getDestSite()));
+// if (basConveyorSta == null) {
+// continue;
+// }
+// BasConveyor basConveyor = basConveyorService.getById(basConveyorSta.getConveyorId());
+// if (basConveyor == null) {
+// continue;
+// }
+//// DeviceBarcode deviceBarcode = deviceBarcodeService.getById(basConveyorSta.getBarcodeId());
+//// if (deviceBarcode == null) {
+//// continue;
+//// }
+//// BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, Integer.parseInt(deviceBarcode.getDeviceId()));
+//// if (barcodeThread == null) {
+//// continue;
+//// }
+//// if (!barcodeThread.getBarcode().equals(task.getZpallet())) {
+//// continue;
+//// }
+// if (Cools.isEmpty(basConveyorSta.getTaskNo())){
+// continue;
+// }
+// if (!basConveyorSta.getTaskNo().toString().equals(task.getTaskNo())){
+// continue;
+// }
+// DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue());
+// if (devpThread == null) {
+// continue;
+// }
+// StaProtocol staProtocol = devpThread.getStation().get(basConveyorSta.getSiteNo());
+// if (staProtocol == null) {
+// continue;
+// }
+// if (!(staProtocol.isAutoing()
+// && staProtocol.isLoading()
+// && staProtocol.isInEnable())) {
+// continue;
+// }
+//
+// //瑙f瀽鍓嶅垽鏂唴閮ㄧ洰鏍囧�兼槸鍚︽湁鐗� 鏈夊伐浣滃彿
+// StaProtocol staProtocolInside = devpThread.getStation().get(Utils.getStaByLev(Utils.getLev(task.getDestLoc())));
+// if (staProtocolInside == null) {
+// continue;
+// }
+// if (staProtocolInside.isLoading() || staProtocolInside.getWorkNo() !=0) {
+// 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 (motionList.isEmpty()) {
+// continue;
+// }
+// motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()), task.getHostId());
+//
+// // 鏇存柊宸ヤ綔涓绘。
+// task.setTaskSts(TaskStsType.ANALYZE_INBOUND.sts); // 宸ヤ綔鐘舵��
+// task.setUpdateTime(new Date());
+// if (!taskService.updateById(task)) {
+// News.error("鏇存柊宸ヤ綔妗eけ璐ワ紒锛侊紒 [宸ヤ綔鍙凤細{}]", task.getTaskNo());
+// }
+// }
}
/**
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java
index af6aa85..377f800 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java
@@ -38,7 +38,7 @@
private NavigateUtils navigateUtils;
/**
- * 鏍规嵁鐩爣浣嶇疆鎼滅储绌洪棽鎻愬崌鏈�
+ * 鏍规嵁鐩爣浣嶇疆鎼滅储鎻愬崌鏈�
* transfer: 鏄惁鍙崲灞�
*/
public LiftThread searchLift(String locNo, Long hostId, Boolean transfer) {
@@ -56,10 +56,6 @@
LiftProtocol liftProtocol = liftThread.getStatus();
if (liftProtocol == null) {
- continue;
- }
-
- if (!liftThread.isIdle()) {
continue;
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/constant/DeviceRedisConstant.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/constant/DeviceRedisConstant.java
index 37648ed..13c6f65 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/constant/DeviceRedisConstant.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/constant/DeviceRedisConstant.java
@@ -23,4 +23,6 @@
public static final String SIMILARITY_TIMES = "similarity_times_";
+ public static final String LIFT_PALLET_INBOUND = "lift_pallet_inbound_";
+
}
--
Gitblit v1.9.1