From e4d5a0e37babc1ae214c34162e58f5084927d301 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期六, 02 十二月 2023 14:26:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/ghtzwcsOld' into ghtzwcsOld
---
src/main/java/com/zy/asrs/entity/GetWmsDto.java | 20 ++++++
src/main/java/com/zy/asrs/utils/Utils.java | 21 ++++--
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 81 +++++++++++++++++---------
src/main/java/com/zy/asrs/entity/ToWmsDTO.java | 3 +
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 5 +
src/main/resources/application.yml | 2
6 files changed, 94 insertions(+), 38 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/GetWmsDto.java b/src/main/java/com/zy/asrs/entity/GetWmsDto.java
new file mode 100644
index 0000000..8e8cf4e
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/GetWmsDto.java
@@ -0,0 +1,20 @@
+package com.zy.asrs.entity;
+
+import lombok.Data;
+
+@Data
+public class GetWmsDto {
+
+ private String warehouseId; //浠撳簱鏍囪瘑
+ private String warehouseCode;
+ //wms鍑哄簱浠诲姟涓嬪彂鎺ュ彛
+ private String taskType; //浠诲姟绫诲瀷 CK銆乊K銆丷K銆丳D
+ private String taskNo; //浠诲姟鍙�
+ private String taskPriority; //浼樺厛绾�
+ private String containerCode; //瀹瑰櫒缂栫爜
+ private String containerTypeCode; //瀹瑰櫒绫诲瀷
+ private String emptyContainer; //鏄惁绌烘墭鐩� Y:鏄� N锛氬惁
+ private Integer taskTunnel; //浠诲姟宸烽亾
+ private String createTime; //鍒涘缓鏃堕棿 YYYY-MM-DD HH24:MI:SS
+ private String targetLocationCode; //鐩爣璐т綅
+}
diff --git a/src/main/java/com/zy/asrs/entity/ToWmsDTO.java b/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
index 7d2618d..e40df4c 100644
--- a/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
+++ b/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
@@ -1,5 +1,6 @@
package com.zy.asrs.entity;
+import io.swagger.models.auth.In;
import lombok.Data;
import java.util.List;
@@ -10,5 +11,7 @@
private String containerCode;
private String applyType;
private String wharfSource;
+
+ private Integer taskTunnel;
private List<Integer> canInboundTunnels;
}
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 c66b089..d940a05 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -10,6 +10,7 @@
import com.zy.asrs.domain.enums.TaskStatusType;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
+import com.zy.asrs.entity.param.taskCreateParam;
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.CommandUtils;
@@ -43,10 +44,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
@@ -93,7 +91,7 @@
private String movePath;
- public void generateStoreWrkFile() {
+ public void generateStoreWrkFile() throws IOException {
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
for (DevpSlave devp : slaveProperties.getDevp()) {
// 閬嶅巻鍏ュ簱鍙�
@@ -109,7 +107,7 @@
Short workNo = staProtocol.getWorkNo();
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
if (staProtocol.isAutoing() && staProtocol.isLoading()
- && !staProtocol.isInEnable()
+ && staProtocol.isInEnable()
&& !staProtocol.isEmptyMk() && (workNo >= 0)
&& staProtocol.isPakMk()) {
@@ -166,29 +164,54 @@
}
String barcode = barcodeThread.getBarcode();
if(!Cools.isEmpty(barcode)) {
-// ToWmsDTO toWmsDTO = new ToWmsDTO();
-// Map<String, Object> map = new HashMap<>();
-// map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
-// List<Integer> list = openServiceImpl.getInEnableRoadway();
-//
-// //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
-// toWmsDTO.setWarehouseId("1688469798893297665");
-// toWmsDTO.setContainerCode(param.getContainerCode());
-// toWmsDTO.setApplyType("TUNNEL");
-// toWmsDTO.setWharfSource(null);
-// toWmsDTO.setCanInboundTunnels(list);
-// String response = null;
-// try {
-// response = new HttpHandler.Builder()
-// .setHeaders(map)
-// .setUri(wmsUrl)
-// .setPath("wcsManager/wcsInterface/inboundTaskApply")
-// .setJson(JSON.toJSONString(toWmsDTO))
-// .build()
-// .doPost();
-// }catch (Exception e){
-//
-// }
+ ToWmsDTO toWmsDTO = new ToWmsDTO();
+ Map<String, Object> map = new HashMap<>();
+ map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
+ List<Integer> list = openServiceImpl.getInEnableRoadway();
+ TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode).eq("crn_no",inSta.getBarcode()));
+ if (Cools.isEmpty(taskWrk)){
+ continue;
+ }
+ if (taskWrk.getTargetPoint() != null && taskWrk.getStartPoint() != null && taskWrk.getWrkNo() != null){
+ staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+ staProtocol.setStaNo(inSta.getStaNo().shortValue());
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ }else {
+ //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
+ toWmsDTO.setWarehouseId("1688469798893297665");
+ toWmsDTO.setContainerCode(barcode);
+ toWmsDTO.setApplyType("TUNNEL_LOCATION");
+ toWmsDTO.setTaskTunnel(taskWrk.getCrnNo());
+ toWmsDTO.setCanInboundTunnels(list);
+ String response = null;
+ try {
+ response = new HttpHandler.Builder()
+ .setHeaders(map)
+ .setUri(wmsUrl)
+ .setPath("wcsManager/wcsInterface/inboundTaskApply")
+ .setJson(JSON.toJSONString(toWmsDTO))
+ .build()
+ .doPost();
+ }catch (Exception e){
+ log.error("wms閫氳澶辫触,"+e.getMessage());
+ continue;
+ }
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(200)) {
+ GetWmsDto getWmsDto = JSON.parseObject(jsonObject.get("data").toString(), GetWmsDto.class);
+
+ taskWrk.setTargetPoint(Utils.getWcsLocNo(getWmsDto.getTargetLocationCode()));
+ taskWrk.setStartPoint(String.valueOf(inSta.getBackSta()));
+ if (!taskWrkService.updateById(taskWrk)){
+ log.error("淇濆瓨wms搴撲綅鍙峰け璐�");
+ }
+
+ }else {
+ log.error("wms閫氳澶辫触,"+jsonObject.get("msg"));
+
+ }
+ }
+
}
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 6da4410..431c17e 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -184,7 +184,7 @@
map.put(115,4);
map.put(119,5);
map.put(123,6);
- map.put(300,7);
+ //map.put(301,7);
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
for (DevpSlave devp : slaveProperties.getDevp()) {
// 閬嶅巻鍏ュ簱鍙�
@@ -199,6 +199,9 @@
}
Short workNo = staProtocol.getWorkNo();
if (workNo == 0 && !staProtocol.isLoading()){
+ if (Cools.isEmpty(map.get(inSta.getStaNo()))){
+ continue;
+ }
list.add(map.get(inSta.getStaNo()));
}
}
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index cc56ed7..b1b7e5c 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -27,25 +27,32 @@
if (split[3].equals("01")){
ints = Arrays.copyOfRange(wcsRow, 0, (wcsRow.length+2-1) / 2);
if (split[4].equals("01")){
- ints = Arrays.copyOfRange(ints, wcsRow.length / 2,wcsRow.length-1);
+ ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1);
}else {
ints = Arrays.copyOfRange(ints, 0, wcsRow.length / 2);
}
}else {
- ints = Arrays.copyOfRange(wcsRow, (wcsRow.length+2-1) / 2,wcsRow.length-1 );
+ ints = Arrays.copyOfRange(wcsRow, (wcsRow.length+2-1) / 2-1,wcsRow.length-1 );
if (split[4].equals("01")){
- ints = Arrays.copyOfRange(ints, 0, wcsRow.length / 2);
+ ints = Arrays.copyOfRange(ints, 0, ints.length / 2);
}else {
- ints = Arrays.copyOfRange(ints, wcsRow.length / 2,wcsRow.length-1);
+ ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1);
}
}
int i = ints[0];
String wcsLocNo = "";
- if (i>9){
- wcsLocNo = i+"0"+split[1]+split[2];
+ Integer bay = Integer.parseInt(split[1])+1;
+ String bay2 = "";
+ if (bay>9){
+ bay2 = bay.toString();
}else {
- wcsLocNo = "0"+i+"0"+split[1]+split[2];
+ bay2 = "0"+bay;
+ }
+ if (i>9){
+ wcsLocNo = i+"0"+bay2+split[2];
+ }else {
+ wcsLocNo = "0"+i+"0"+bay2+split[2];
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 1bd1127..96400a2 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -49,7 +49,7 @@
# WMS绯荤粺ip
#url: 10.32.53.195:8080
# WMS绯荤粺ip
- url: w.informfengyun.com:58088/prod-api
+ url: 10.32.53.195:8080
# 鍏ュ簱浠诲姟鐢宠鎺ュ彛
inboundTaskApplyPath: api/InterFace/get_InterFace_TestStorage
# 浠诲姟鐘舵�佸弽棣堟帴鍙�
--
Gitblit v1.9.1