From 4d285dd1ffcefbb51908a452e73477cc47300d91 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期一, 07 四月 2025 17:15:53 +0800
Subject: [PATCH] 还没有写完
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 165 +++++++++++++++++++++++++++++++++----------------------
1 files changed, 99 insertions(+), 66 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 8c4b9f1..4bed00e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -7,19 +7,15 @@
import com.core.exception.CoolException;
import com.zy.asrs.controller.CrnController;
import com.zy.asrs.domain.enums.TaskStatusType;
-import com.zy.asrs.domain.enums.WorkNoType;
import com.zy.asrs.domain.param.CrnOperatorParam;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.wms.StorageEscalationParam;
-import com.zy.asrs.entity.wms.WmsResult;
import com.zy.asrs.mapper.BasCrnErrorMapper;
import com.zy.asrs.mapper.StaDescMapper;
import com.zy.asrs.mapper.TaskWrkMapper;
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.*;
-import com.zy.asrs.utils.CommandUtils;
import com.zy.asrs.utils.Utils;
-import com.zy.common.service.CommonService;
import com.zy.core.CrnThread;
import com.zy.core.DevpThread;
import com.zy.core.cache.MessageQueue;
@@ -34,7 +30,6 @@
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.BarcodeThread;
import com.zy.core.thread.SiemensDevpThread;
-import com.zy.system.service.ConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -84,9 +79,6 @@
@Autowired
- private CommonService commonService;
-
- @Autowired
private ToWmsService toWmsService;
@@ -94,7 +86,8 @@
private CrnController crnController;
@Autowired
- private ConfigService configService;
+ private TransferTaskService transferTaskService;
+
public void generateStoreWrkFile1() throws IOException, InterruptedException {
try {
@@ -172,43 +165,32 @@
storageEscalationParam.setWCSStatus(1);
storageEscalationParam.setWCSErrorMessage(storageEscalationParam.getWCSErrorMessage() + errMsg);
}
- log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
storageEscalationParam.setBarcode(BoxNo);
-
- WmsResult result = toWmsService.getLocNoFromWms(storageEscalationParam);
+ log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
+ TaskWrk taskWrk = toWmsService.getLocNoFromWms(storageEscalationParam);
if (back) {
log.info("鎵樼洏閫�鍥�==>{}锛寋}", BoxNo, errMsg);
staProtocol.setStaNo(inSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
} else {
- if (result != null) {
- // 鍒涙柊涓�涓叆搴撳伐浣滄。
- TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo());
- if (Cools.isEmpty(taskWrk)) {
- taskWrk = createInTask(result, BoxNo, inSta.getStaNo());
- taskWrkService.insert(taskWrk);
- StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
- .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
- staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
- staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- //娣诲姞涓婃姤鏃ュ織
- toWmsService.addReportLog(taskWrk);
- } else {
- log.info("鍒涘缓宸ヤ綔妗eけ璐�==>{}", taskWrk.getTaskNo());
- staProtocol.setStaNo(inSta.getBackSta().shortValue());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- }
+ if (!Cools.isEmpty(taskWrk)) {
+ StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+ .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
+ staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+ staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ //娣诲姞涓婃姤鏃ュ織
+ toWmsService.addReportLog(taskWrk);
} else {
- log.info("璇锋眰wms鑾峰彇搴撲綅澶辫触==>{}", BoxNo);
+ log.info("鍒涘缓宸ヤ綔妗eけ璐�==>{}", taskWrk.getTaskNo());
staProtocol.setStaNo(inSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
}
+
}
- log.info("鍏ュ簱璇锋眰杩斿洖鍙傛暟=" + JSON.toJSONString(result));
+
}
}
}
@@ -388,7 +370,7 @@
crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
crnCommand.setCommand((short) 1);
log.info("鍫嗗灈鏈哄叆搴撲换鍔′笅鍙�={}", crnCommand);
- if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand), false)) {
+ if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
} else {
@@ -495,7 +477,7 @@
taskWrk.setMarkStart(1);
}
- if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, command), false)) {
+ if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, command))) {
log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(command));
throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
} else {
@@ -568,7 +550,7 @@
crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞�
crnCommand.setCommand((short) 1);
- if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand), false)) {
+ if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
} else {
// 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
@@ -841,36 +823,6 @@
}
- private TaskWrk createInTask(WmsResult result, String barcode, Integer startPoint) {
- //String locNo = Utils.Fusion(result.getRow(), result.getFloor(), result.getColumn());
-
- String locNo = result.getLocNo();
- Date now = new Date();
- TaskWrk taskWrk = new TaskWrk();
- int workNo1 = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
- taskWrk.setTaskNo(result.getTaskNo());//浠诲姟鍙�
- taskWrk.setWrkNo(workNo1);
- taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//浠诲姟鐘舵�侊細娲惧彂
- taskWrk.setCreateTime(now);
- taskWrk.setIoType(1);//浠诲姟绫诲瀷
- taskWrk.setIoPri(13);//浼樺厛绾�
- taskWrk.setBarcode(barcode);//鏉$爜
- LocMast locMast = locMastService.selectByLocNo(locNo);
- taskWrk.setCrnNo(locMast.getCrnNo());
- taskWrk.setTargetPoint(locNo);
- taskWrk.setStartPoint(startPoint + "");
- taskWrk.setCrnNo(result.getCrnNo());
-
- if (taskWrk.getIoType() == 1) {
- taskWrk.setWrkSts(2);
- if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
- taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
- }
- }
- return taskWrk;
- }
-
-
/**
* 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
*/
@@ -878,6 +830,9 @@
try {
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
for (DevpSlave devp : slaveProperties.getDevp()) {
+ if (devp.getId() == 2) {
+ continue;
+ }
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
for (DevpSlave.Sta inSta : devp.getInSta()) {
WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getBackSta());
@@ -1036,4 +991,82 @@
}
}
+
+ /**
+ * 杞Щ浠诲姟涓嬪彂
+ */
+ public void transferTaskStart() {
+
+ for (DevpSlave.Sta sta : slaveProperties.getDevp().get(1).getInSta()) {
+ try {
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+ StaProtocol staProtocol = devpThread.getStation().get(sta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
+ // 鏌ヨ宸ヤ綔妗�
+ TransferTask transferTask = transferTaskService.selectByStartPoint(sta.getStaNo());
+ if (transferTask == null) {
+ continue;
+ }
+ log.info("涓嬪彂杈撻�佺嚎杞Щ浠诲姟锛歵askWrk:" + JSON.toJSONString(transferTask));
+ staProtocol.setWorkNo(transferTask.getWrkNo().shortValue());
+ staProtocol.setStaNo(transferTask.getTargetPoint().shortValue());
+ boolean offer = false;
+ try {
+ offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+ } catch (Exception e) {
+ log.error("涓嬪彂杈撻�佺嚎杞Щ浠诲姟锛氬紓甯�:" + e);
+ log.error("涓嬪彂杈撻�佺嚎杞Щ浠诲姟锛氬紓甯�:offer:" + offer);
+ }
+ if (offer) {
+ log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(transferTask));
+ transferTask.setStatus(2);
+ transferTaskService.updateById(transferTask);
+ } else {
+ log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(transferTask));
+ }
+ }
+ } catch (Exception e) {
+ log.error("杞Щ浠诲姟寮傚父:寮傚父淇℃伅锛�" + e);
+ }
+ }
+
+ }
+
+ /**
+ * 杞Щ浠诲姟瀹屾垚
+ */
+ public void transferTaskEnd() {
+ for (DevpSlave.Sta sta : slaveProperties.getDevp().get(1).getInSta()) {
+ try {
+ // 鑾峰彇缁堢偣绔�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+ StaProtocol staProtocol = devpThread.getStation().get(sta.getOverSta());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
+ // 鏌ヨ宸ヤ綔妗�
+ TransferTask transferTask = transferTaskService.selectByEndPoint(sta.getStaNo());
+ if (transferTask == null) {
+ continue;
+ }
+ log.info("杞Щ浠诲姟瀹屾垚锛歵ransferTask:" + JSON.toJSONString(transferTask));
+ transferTask.setStatus(5);
+ transferTaskService.updateById(transferTask);
+ }
+ } catch (Exception e) {
+ log.error("杞Щ浠诲姟寮傚父:寮傚父淇℃伅锛�" + e);
+ }
+ }
+
+ }
+
}
--
Gitblit v1.9.1