From aa641ae9531ff38a80316cb4f72fa8ece43d7029 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期六, 26 四月 2025 15:24:34 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 482 ++++++++++-------------------------------------------
1 files changed, 91 insertions(+), 391 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 5680365..2364b23 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4,21 +4,18 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
-import com.core.common.R;
import com.core.exception.CoolException;
-import com.zy.asrs.controller.CrnController;
-import com.zy.asrs.controller.OpenController;
-import com.zy.asrs.controller.SiteController;
+import com.zy.asrs.domain.dto.NotifyCustomDataDto;
+import com.zy.asrs.domain.enums.NotifyMsgType;
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.param.Result;
-import com.zy.asrs.entity.param.StorageEscalationParam;
-import com.zy.asrs.entity.param.TaskOverToWms;
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.CommandUtils;
+import com.zy.asrs.utils.CrnOperaUtils;
+import com.zy.asrs.utils.NotifyUtils;
import com.zy.asrs.utils.Utils;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
@@ -30,27 +27,22 @@
import com.zy.core.model.CrnSlave;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
-import com.zy.core.model.command.CommandPackage;
import com.zy.core.model.command.CrnCommand;
import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.BarcodeThread;
import com.zy.core.thread.SiemensDevpThread;
-import com.zy.system.entity.Config;
import com.zy.system.service.ConfigService;
-import lombok.Synchronized;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.io.IOException;
import java.util.*;
-import java.util.concurrent.CompletableFuture;
/**
* 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
@@ -87,16 +79,18 @@
private StaDescMapper staDescMapper;
@Autowired
private CommandInfoService commandInfoService;
-
@Autowired
private OpenServiceImpl openServiceImpl;
@Autowired
private StaDescService staDescService;
-
@Autowired
private ApiLogService apiLogService;
@Autowired
private CommonService commonService;
+ @Autowired
+ private CrnOperaUtils crnOperaUtils;
+ @Autowired
+ private NotifyUtils notifyUtils;
@Value("${wms.count}")
private Integer maxCount;
@Autowired
@@ -109,131 +103,13 @@
private String TaskExecCallback;
@Value("${wms.taskStatusFeedbackPath}")
private String taskStatusFeedbackPath;
- @Autowired
- private CrnController crnController;
- @Autowired
- private SiteController siteController;
- //鍑哄簱绔欑偣鑷�112寰幆绔欑偣
- @Synchronized
- public void shiftTargetToCyclePoint() throws IOException, InterruptedException{
- try{
- for (DevpSlave devp : slaveProperties.getDevp()) {
- for (DevpSlave.Sta outSta : devp.getOutSta()) {
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
- StaProtocol staProtocol = devpThread.getStation().get(outSta.getStaNo());
- StaProtocol staProtocol1 = devpThread.getStation().get(1001);
- StaProtocol staProtocol2 = devpThread.getStation().get(1002);
- StaProtocol staProtocol3 = devpThread.getStation().get(1003);
- StaProtocol staProtocol4 = devpThread.getStation().get(1004);
- StaProtocol staProtocol6 = devpThread.getStation().get(111);
- if (staProtocol == null) {
- continue;
- } else {
- staProtocol = staProtocol.clone();
- }
- if (staProtocol1 == null) {
- continue;
- } else {
- staProtocol1 = staProtocol1.clone();
- }
- if (staProtocol2 == null) {
- continue;
- } else {
- staProtocol2 = staProtocol2.clone();
- }
- if (staProtocol3 == null) {
- continue;
- } else {
- staProtocol3 = staProtocol3.clone();
- }
- if (staProtocol4 == null) {
- continue;
- } else {
- staProtocol4 = staProtocol4.clone();
- }
- if (staProtocol6 == null) {
- continue;
- } else {
- staProtocol6 = staProtocol6.clone();
- }
- boolean result = false;
- switch(outSta.getStaNo()){
- case 105: if (staProtocol1.isLoading() && staProtocol.isLoading() && staProtocol.getStaNo() == 105){
- result = true;
- }
- case 107: if (staProtocol2.isLoading()){
- result = true;
- }
- case 109: if (staProtocol3.isLoading()){
- result = true;
- }
- case 110: if ((staProtocol4.isLoading() && staProtocol.isLoading() && staProtocol.getStaNo() == 110) || ((staProtocol6.isLoading() && staProtocol.isLoading() && staProtocol.getStaNo() == 111))){
- result = true;
- }
- default: break;
- }
- if(result){
- if(staProtocol.getSiteId() == 107 || staProtocol.getSiteId() == 109){
- StaProtocol staProtocol5 = devpThread.getStation().get(staProtocol.getSiteId() - 1);
- if (staProtocol5== null) {
- continue;
- } else {
- staProtocol5 = staProtocol5.clone();
- }
- if((staProtocol5.isLoading() && staProtocol5.getStaNo() == 107) || ((staProtocol5.isLoading() && staProtocol5.getStaNo() == 109))){
- staProtocol5.setStaNo((short) 112);
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol5));
- }
- }else{
- staProtocol.setStaNo((short) 112);
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- }
- }
- }
- }
- }catch (Exception e) {
- log.error("generateStoreWrkFile e", e);
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- }
-
- //112寰幆绔欑偣鑷冲嚭搴撶珯
- public synchronized void shiftCyclePointToTarget() throws IOException, InterruptedException{
- try{
- for (DevpSlave devp : slaveProperties.getDevp()) {
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
- StaProtocol staProtocol = devpThread.getStation().get(112);
- if (staProtocol == null) {
- continue;
- } else {
- staProtocol = staProtocol.clone();
- }
- if(staProtocol.getWorkNo() == 0){
- continue;
- }
- TaskWrk taskWrk = taskWrkMapper.selectStaWorking(Integer.valueOf(staProtocol.getWorkNo()));
- if(taskWrk != null && taskWrk.getWrkNo() < 9001 && taskWrk.getWrkNo() > 6000){
- staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint()));
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- }
- }
- }catch (Exception e) {
- log.error("generateStoreWrkFile e", e);
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- }
-
-
-
-
- public synchronized void generateStoreWrkFile1() throws IOException, InterruptedException {
+ public synchronized void generateStoreWrkFile1() {
try {
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
for (DevpSlave devp : slaveProperties.getDevp()) {
// 閬嶅巻鍏ュ簱鍙�
for (DevpSlave.Sta inSta : devp.getInSta()) {
- StorageEscalationParam storageEscalationParam = new StorageEscalationParam();
// 鑾峰彇鍏ュ簱绔欎俊鎭�
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
@@ -286,113 +162,75 @@
if (barcodeThread == null) {
continue;
}
- String BoxNo = barcodeThread.getBarcode();
- TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", BoxNo));
- if (!Cools.isEmpty(taskWrk1)) {
- log.info("鎵樼洏鐮侊細" + BoxNo + "浠诲姟妗e瓨鍦�");
- if (taskWrk1.getIoType() == 1 && taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString())) {
- StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
- .eq("crn_no", taskWrk1.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
- if (Cools.isEmpty(staDesc)) {
- return;
- } else {
- continue;
- }
- }
+
+ String barcode = barcodeThread.getBarcode();
+ TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode));
+ if (taskWrk1 != null) {
+ log.info("鎵樼洏鐮侊細" + barcode + "浠诲姟妗e瓨鍦�");
+ continue;
}
+
+ HashMap<String, Object> requestParam = new HashMap<>();
+ requestParam.put("BoxNo", barcode);//鎵樼洏鐮�
+ requestParam.put("TerminalNo", inSta.getStaNo());//鍏ュ簱鍙�
if (back) {
- storageEscalationParam.setWCSStatus(1);
- storageEscalationParam.setWCSErrorMessage(storageEscalationParam.getWCSErrorMessage() + errMsg);
+ requestParam.put("WCSStatus", 1);//澶辫触
+ requestParam.put("WCSErrorMessage", errMsg);//澶辫触鍘熷洜
+ }else {
+ requestParam.put("WCSStatus", 0);//鎴愬姛
}
- log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
- storageEscalationParam.setBoxNo(BoxNo);
+
String response = "";
Boolean success = false;
try {
response = new HttpHandler.Builder()
.setUri(wmsUrl)
.setPath(inboundTaskApplyPath)
- .setJson(JSON.toJSONString(storageEscalationParam))
+ .setJson(JSON.toJSONString(requestParam))
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
- if(back){
- if(staProtocol.getWorkNo()>=9801&&staProtocol.getWorkNo()<=9825){
- staProtocol.setStaNo((short)105);
- } else if (staProtocol.getWorkNo()>=9826&&staProtocol.getWorkNo()<=9850) {
- staProtocol.setStaNo((short)107);
- }else if (staProtocol.getWorkNo()>=9851&&staProtocol.getWorkNo()<=9875) {
- staProtocol.setStaNo((short)109);
- }else{
- staProtocol.setStaNo((short)110);
- }
+
+ if (back) {
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- }else{
- if (!Cools.isEmpty(response)&&!Cools.isEmpty(jsonObject.get("ReturnStatus"))&&jsonObject.get("ReturnStatus").equals(0) && !Cools.isEmpty(jsonObject.get("Result").toString())) {
- Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class);
- // 鍒涙柊涓�涓叆搴撳伐浣滄。
- TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo());
- if (Cools.isEmpty(taskWrk)) {
- taskWrk = createTask1(result, BoxNo);
- if (Cools.isEmpty(taskWrk)) {
- log.error("搴撲綅寮傚父锛屽簱浣嶅彿锛�={}", taskWrk.getOriginTargetPoint());
- } else {
- 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));
- HashMap<String, Object> hashMap = new HashMap<>();
- hashMap.put("TaskNo",taskWrk.getTaskNo());
- try {
- //寮�濮嬩笂鎶�,浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
- response = new HttpHandler.Builder()
- .setUri(wmsUrl)
- .setPath(taskStatusFeedbackPath)
- .setJson(JSON.toJSONString(hashMap))
- .build()
- .doPost();
- JSONObject jsonObject1 = JSON.parseObject(response);
- Boolean bool = false;
- if(jsonObject1.get("ReturnStatus").equals(0)){
- taskWrk.setStatus(2);//娲惧彂浠诲姟
- bool = true;
- taskWrkService.updateById(taskWrk);
- }
- apiLogService.save("wcs寮�濮嬪叆搴撲换鍔′笂鎶ms"
- , wmsUrl + TaskExecCallback
- , null
- , "127.0.0.1"
- , JSON.toJSONString(hashMap)
- , response
- , bool
- );
- } catch (Exception e) {
+ continue;
+ }
- }
- }
- } else {
-// staProtocol.setWorkNo((short) 9991);
- if(staProtocol.getWorkNo()>=9801&&staProtocol.getWorkNo()<=9825){
- staProtocol.setStaNo((short)105);
- } else if (staProtocol.getWorkNo()>=9826&&staProtocol.getWorkNo()<=9850) {
- staProtocol.setStaNo((short)107);
- }else if (staProtocol.getWorkNo()>=9851&&staProtocol.getWorkNo()<=9875) {
- staProtocol.setStaNo((short)109);
- }else{
- staProtocol.setStaNo((short)110);
- }
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- }
+ int returnStatus = Integer.parseInt(jsonObject.get("ReturnStatus").toString());
+ if (returnStatus == 0) {
+ Result result = JSON.parseObject(jsonObject.get("Result").toString(), Result.class);
+ // 鍒涙柊涓�涓叆搴撳伐浣滄。
+ TaskWrk taskWrk = taskWrkService.selectByTaskNo(result.getTaskNo());
+ if(taskWrk != null) {
+ log.info("浠诲姟锛�" + result.getTaskNo() + "宸茬粡瀛樺湪");
+ continue;
+ }
- } else {
-// staProtocol.setWorkNo((short) 9991);
- staProtocol.setStaNo(inSta.getBackSta().shortValue());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ taskWrk = createTask1(result, barcode);
+ if (!taskWrkService.insert(taskWrk)) {
+ log.info("浠诲姟锛�" + result.getTaskNo() + "浠诲姟鍒涘缓澶辫触");
+ continue;
+ }
+
+ 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));
+
+ //涓婃姤
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("TaskNo", taskWrk.getTaskNo());
+
+ NotifyCustomDataDto customDataDto = new NotifyCustomDataDto();
+ customDataDto.setUri(wmsUrl);
+ customDataDto.setPath(taskStatusFeedbackPath);
+ customDataDto.setData(JSON.toJSONString(hashMap));
+ boolean notifyResult = notifyUtils.notify("task", 1, String.valueOf(taskWrk.getWrkNo()), taskWrk.getTaskNo(), NotifyMsgType.TASK_START, JSON.toJSONString(taskWrk), true, customDataDto);
+ if(notifyResult) {
+ taskWrk.setStatus(2);
+ taskWrkService.updateById(taskWrk);
}
}
} catch (Exception e) {
@@ -415,12 +253,12 @@
, wmsUrl + inboundTaskApplyPath
, null
, "127.0.0.1"
- , JSON.toJSONString(storageEscalationParam)
+ , JSON.toJSONString(requestParam)
, response
, success
);
}
- log.info("鍏ュ簱璇锋眰鍙傛暟=" + JSON.toJSONString(BoxNo));
+ log.info("鍏ュ簱璇锋眰鍙傛暟=" + JSON.toJSONString(barcode));
log.info("鍏ュ簱璇锋眰杩斿洖鍙傛暟=" + JSON.toJSONString(response));
}
}
@@ -857,9 +695,6 @@
continue;
}
-// int workNo = commonService.getWorkNo(WorkNoType.PAKIN.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
-// taskWrk.setWrkNo(workNo);//宸ヤ綔鍙�
-// taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
taskWrk.setAssignTime(new Date());//娲惧彂鏃堕棿
taskWrk.setWrkSts(3);//宸ヤ綔鐘舵�� 3.鍚婅溅鍏ュ簱
taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
@@ -887,8 +722,8 @@
try {
taskWrkService.updateById(taskWrk);
} catch (Exception e) {
+ e.printStackTrace();
log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
- log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e);
}
}
}
@@ -901,7 +736,7 @@
*/
public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol) {
List<TaskWrk> taskWrksInitial = taskWrkMapper.selectPakOut(slave.getId(), null);
- if (taskWrksInitial.size() == 0) {
+ if (taskWrksInitial.isEmpty()) {
return;
}
for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
@@ -966,9 +801,9 @@
if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
break;
}
- int storeCount = taskWrkService.getStoreCount(taskWrk.getCrnNo());
+ int storeCount = basDevpService.getStoreCount();
if(storeCount >= maxCount){
- log.error("{}鍙峰爢鍨涙満鏆傚瓨鏁板凡婊�!", taskWrk.getCrnNo());
+ log.error("杈撻�佺嚎鏆傚瓨鏁拌揪鍒颁笂闄恵}",storeCount);
break;
}
@@ -1006,33 +841,20 @@
log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e);
}
-// try {
-// HashMap<String, Object> headParam = new HashMap<>();
-// headParam.put("taskNo", taskWrk.getTaskNo());
-// headParam.put("status", taskWrk.getStatus());
-// headParam.put("ioType", taskWrk.getIoType());
-// headParam.put("barcode", taskWrk.getBarcode());
-// String response;
-// response = new HttpHandler.Builder()
-// // .setHeaders(headParam)
-// .setUri(wmsUrl)
-// .setPath(taskStatusFeedbackPath)
-// .setJson(JSON.toJSONString(headParam))
-// .build()
-// .doPost();
-// JSONObject jsonObject = JSON.parseObject(response);
-// apiLogService.save("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms"
-// , wmsUrl + taskStatusFeedbackPath
-// , null
-// , "127.0.0.1"
-// , JSON.toJSONString(headParam)
-// , response
-// , true
-// );
-// } catch (Exception e) {
-// log.error("wcs娲惧彂鍑哄簱浠诲姟涓婃姤wms澶辫触", JSON.toJSONString(taskWrk));
-//// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
-// }
+
+ //涓婃姤-鍑哄簱浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("TaskNo", taskWrk.getTaskNo());
+
+ NotifyCustomDataDto customDataDto = new NotifyCustomDataDto();
+ customDataDto.setUri(wmsUrl);
+ customDataDto.setPath(taskStatusFeedbackPath);
+ customDataDto.setData(JSON.toJSONString(hashMap));
+ boolean notifyResult = notifyUtils.notify("task", 1, String.valueOf(taskWrk.getWrkNo()), taskWrk.getTaskNo(), NotifyMsgType.TASK_START, JSON.toJSONString(taskWrk), true, customDataDto);
+ if(notifyResult) {
+ taskWrk.setStatus(2);
+ taskWrkService.updateById(taskWrk);
+ }
}
}
}
@@ -1215,17 +1037,16 @@
continue;
}
//纭瀹屾垚淇″彿
- CrnOperatorParam crnOperatorParam = new CrnOperatorParam();
- crnOperatorParam.setCrnNo(crn.getId());
- R r = crnController.crnTaskComplete(crnOperatorParam);
+ boolean result = crnOperaUtils.crnTaskComplete(crn.getId());
Thread.sleep(1000);
- if(!r.get("code").equals(200)){
+ if(!result){
return;
}
if (!Cools.isEmpty(taskWrk)) {
if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) {
taskWrk.setWrkSts(4);//鍏ュ簱瀹屾垚
taskWrk.setStatus(5);//瀹岀粨
+
//鏇存柊搴撲綅鐘舵��
LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
locMast.setLocSts("F");//F.鍦ㄥ簱
@@ -1236,6 +1057,7 @@
} else if (taskWrk.getIoType() == 2 && taskWrk.getWrkSts() == 12) {
taskWrk.setWrkSts(13);//鍑哄簱瀹屾垚
taskWrk.setStatus(5);//瀹岀粨
+
//鏇存柊搴撲綅鐘舵��
LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
locMast.setLocSts("O");//O.绌哄簱浣�
@@ -1407,65 +1229,6 @@
// }
// }
- //agv鍙栨斁璐т换鍔″畬鎴�
- public synchronized void autoCompleteAGV() {
- List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
- try {
- Thread.sleep(500);
- } catch (Exception e) {
-
- }
-
- for (BasDevp basDevp : basDevps) {
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
- StaProtocol staProtocol = devpThread.getStation().get(basDevp.getDevNo());
- if (staProtocol == null) {
- continue;
- } else {
- staProtocol = staProtocol.clone();
- }
- if (basDevp.getWrkNo() != 0) {
- if (basDevp.getAgvTargetPick() != 0) {//鍙栬揣
- staProtocol.setAgvTypeSign((short) 0);
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- }
- boolean sign = true;
- if (basDevp.getAgvTargetPlace() != 0) {
- sign = false;
- basDevp.setAgvTargetPlace(0);
- basDevpService.updateById(basDevp);
- staProtocol.setAgvTypeSign((short) 3);//1
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- }
- } else {
- if (basDevp.getAgvTargetPlace() != 0) {
- if (basDevp.getLoading().equals("Y")) {
- staProtocol.setAgvTypeSign((short) 1);
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- } else {
- log.error("AGV鏀捐揣瀹屾垚浣嗚緭閫佺嚎鏃犵墿锛屽浣嶄俊鍙� ===>> [staNo:{}] [basDevp:{}]", basDevp.getDevNo(), basDevp);
- basDevp.setAgvTargetPlace(0);
- basDevpService.updateById(basDevp);
- staProtocol.setAgvTypeSign((short) 3);//1
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- }
-
- }
- if (basDevp.getAgvTargetPick() != 0) {
- basDevp.setAgvTargetPick(0);
- basDevpService.updateById(basDevp);
- staProtocol.setAgvTypeSign((short) 2);//0
- staProtocol.setStaNo(basDevp.getDevNo().shortValue());
- MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
- }
- }
- }
- }
-
public synchronized void autoCompleteTask() {
List<TaskWrk> taskWrks = taskWrkMapper.selectWorkingTask();
for (TaskWrk taskWrk : taskWrks) {
@@ -1515,74 +1278,12 @@
}
}
-
- public synchronized String CrnStartRunning(TaskWrk taskWrk) {
- String tasktype = null;
- switch (taskWrk.getIoType()) {
- case 1:
- tasktype = "RK";
- break;
- case 2:
- tasktype = "CK";
- break;
- case 3:
- tasktype = "YK";
- break;
- default:
- tasktype = "鏈煡";
- }
- Map<String, Object> map = new HashMap<>();
- map.put("x-api-key", "7a15b5db-29b6-552c-8cff-0cfec3756da2");
- TaskOverToWms taskOverToWms = new TaskOverToWms();
- taskOverToWms.setFeedbackFrom("WCS"); //鏉ユ簮
- taskOverToWms.setWarehouseId("1688469798893297665"); //浠撳簱鏍囪瘑
- taskOverToWms.setTaskNo(taskWrk.getTaskNo()); //浠诲姟鍙�
- taskOverToWms.setTaskType(tasktype); // 浠诲姟绫诲瀷
- taskOverToWms.setContainerCode(taskWrk.getBarcode()); // 瀹瑰櫒缂栫爜
- if (taskWrk.getIoType() == 1 || taskWrk.getIoType() == 3) {
- taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜
- taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅
- } else if (taskWrk.getIoType() == 2) {
- Map<Integer, String> map1 = new HashMap<>();
- map1.put(102, "J-1101");
- map1.put(106, "J-1103");
- map1.put(110, "J-1105");
- map1.put(114, "J-1107");
- map1.put(118, "J-1109");
- map1.put(122, "J-1111");
- map1.put(305, "H-1101");
- map1.put(405, "G-1101");
- taskOverToWms.setEquipmentCode(map1.get(taskWrk.getTargetPoint())); //璁惧缂栫爜
- taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //婧愬簱浣�
- }
-
- taskOverToWms.setTaskStatus("executing"); //浠诲姟鐘舵��
- String response = null;
- try {
- response = new HttpHandler.Builder()
- .setHeaders(map)
- .setUri(wmsUrl)
- .setPath("wcsManager/wcsInterface/taskStatusFeedback")
- .setJson(JSON.toJSONString(taskOverToWms))
- .build()
- .doPost();
- } catch (Exception e) {
- log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛澶辫触");
- }
- apiLogService.save("鍫嗗灈鏈哄紑濮嬭繍琛�"
- , wmsUrl + "wcsManager/wcsInterface/taskStatusFeedback"
- , null
- , "127.0.0.1"
- , JSON.toJSONString(taskOverToWms)
- , response
- , true
- );
- return response;
- }
-
private TaskWrk createTask1(Result result, String barcode) {
- String locNo = Utils.Fusion(result.getRow(), result.getFloor(), result.getColumn());
-
+ String locNo = Utils.getLocNo(result.getRow(), result.getFloor(), result.getColumn());
+ LocMast locMast = locMastService.selectByLocNo(locNo);
+ if (locMast == null) {
+ throw new CoolException("搴撲綅涓嶅瓨鍦�");
+ }
Date now = new Date();
TaskWrk taskWrk = new TaskWrk();
@@ -1594,7 +1295,6 @@
taskWrk.setIoType(1);//浠诲姟绫诲瀷
taskWrk.setIoPri(13);//浼樺厛绾�
taskWrk.setBarcode(barcode);//鏉$爜
- LocMast locMast = locMastService.selectByLocNo(locNo);
taskWrk.setCrnNo(locMast.getCrnNo());
taskWrk.setTargetPoint(locNo);
taskWrk.setStartPoint("116");
--
Gitblit v1.9.1