From 5ac80d6a06f686a62c307c52c652e511e3896fb7 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 27 十一月 2023 16:44:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/ghtzwcsOld' into ghtzwcsOld
---
src/main/java/com/zy/asrs/utils/Utils.java | 81 ++++++++++++++++++--
src/main/java/com/zy/asrs/controller/OpenController.java | 33 +-------
src/main/webapp/static/wcs/images/ghlogo.jpg | 0
src/main/java/com/zy/asrs/entity/ToWmsDTO.java | 1
src/main/webapp/static/wcs/images/ghlogo_mini.png | 0
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 58 ++++++++++++++
src/main/webapp/views/login.html | 4
src/main/java/com/zy/asrs/service/OpenService.java | 4 +
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 11 +-
src/main/resources/application.yml | 4
src/main/java/com/zy/asrs/entity/param/taskCreateParam.java | 4
11 files changed, 151 insertions(+), 49 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 764aa2a..ed3afdb 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -117,6 +117,8 @@
public R targetWharfApply(@RequestHeader String appkey,
@RequestBody WMSAndAGVInterfaceParam param,
HttpServletRequest request) throws IOException {
+ auth(appkey,param,request);
+
if (Cools.isEmpty(param)){
return R.error("鍙傛暟涓虹┖锛�");
} else if (Cools.isEmpty(param.getTaskNo())){
@@ -128,35 +130,8 @@
} else if (Cools.isEmpty(param.getFreeWharfs()) || param.getFreeWharfs().size()==0){
return R.error("绌洪棽鐨勫叆搴撶爜澶达紙AGV锛変负绌猴紒");
}
- ToWmsDTO toWmsDTO = new ToWmsDTO();
- Map<String, Object> map = new HashMap<>();
- map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
- List<Integer> list = new ArrayList<>();
- list.add(1);
- list.add(4);
- //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
- toWmsDTO.setWarehouseId("1688469798893297665");
- toWmsDTO.setContainerCode(param.getContainerCode());
- toWmsDTO.setApplyType("TUNNEL");
- toWmsDTO.setCanInboundTunnels(list);
- String response = new HttpHandler.Builder()
- .setHeaders(map)
- .setUri(wmsUrl)
- .setPath("wcsManager/wcsInterface/inboundTaskApply")
- .setJson(JSON.toJSONString(toWmsDTO))
- .build()
- .doPost();
-
- JSONObject jsonObject = JSON.parseObject(response);
- if (jsonObject.getInteger("code").equals(200)) {
- //瑙f瀽
- return R.ok(jsonObject.get("data"));
- }else {
- return R.error((String) jsonObject.get("msg"));
- }
-
-
-
+ R r = openService.AgvToWCSToWms(param);
+ return r;
}
//AGV璇锋眰鍔ㄤ綔鎺ュ彛
diff --git a/src/main/java/com/zy/asrs/entity/ToWmsDTO.java b/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
index f0497e7..7d2618d 100644
--- a/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
+++ b/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
@@ -9,5 +9,6 @@
private String warehouseId;
private String containerCode;
private String applyType;
+ private String wharfSource;
private List<Integer> canInboundTunnels;
}
diff --git a/src/main/java/com/zy/asrs/entity/param/taskCreateParam.java b/src/main/java/com/zy/asrs/entity/param/taskCreateParam.java
index 417f464..a0467ce 100644
--- a/src/main/java/com/zy/asrs/entity/param/taskCreateParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/taskCreateParam.java
@@ -28,6 +28,8 @@
//澶囨敞
private String memo;
+ //鍫嗗灈鏈�
+ private Integer crn;
public taskCreateParam(){};
@@ -39,7 +41,7 @@
this.startPoint = param.getSourceLocationCode();
this.targetPoint = param.getTargetLocationCode();
this.emptyContainer = param.getEmptyContainer();
-
+ this.crn = param.getTaskTunnel();
};
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index 005ab8b..345157b 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -1,11 +1,15 @@
package com.zy.asrs.service;
+import com.core.common.R;
import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
import com.zy.asrs.entity.param.taskCreateParam;
+
+import java.io.IOException;
public interface OpenService {
//鍒涘缓浠诲姟
void taskCreate(taskCreateParam param);
+ R AgvToWCSToWms(WMSAndAGVInterfaceParam param) throws IOException;
}
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 9ee699d..1819c4a 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1,22 +1,33 @@
package com.zy.asrs.service.impl;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.core.common.Cools;
+import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.TaskStatusType;
import com.zy.asrs.entity.TaskWrk;
+import com.zy.asrs.entity.ToWmsDTO;
+import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
import com.zy.asrs.entity.param.taskCreateParam;
import com.zy.asrs.service.OpenService;
import com.zy.asrs.service.TaskWrkService;
+import com.zy.common.utils.HttpHandler;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
-import java.util.Date;
+import java.io.IOException;
+import java.util.*;
@Service
public class OpenServiceImpl implements OpenService {
@Autowired
private TaskWrkService taskWrkService;
+
+ @Value("${wms.url}")
+ private String wmsUrl;
@Override
public void taskCreate(taskCreateParam param) {
@@ -36,7 +47,13 @@
taskWrk.setIoType(param.getIoType());//浠诲姟绫诲瀷
taskWrk.setIoPri(param.getTaskPriority());//浼樺厛绾�
taskWrk.setBarcode(param.getBarcode());//鏉$爜
- taskWrk.setWrkSts(11);
+ taskWrk.setCrnNo(param.getCrn());
+ if(param.getIoType() == 1){
+ taskWrk.setWrkSts(1);
+ } else if (param.getIoType() == 2) {
+ taskWrk.setWrkSts(11);
+ }
+
if (!Cools.isEmpty(param.getStartPoint())) {
taskWrk.setStartPoint(param.getStartPoint());//璧风偣
}
@@ -51,4 +68,41 @@
throw new CoolException("鐢熸垚浠诲姟澶辫触锛岃鑱旂郴绠$悊鍛�");
}
}
+
+ @Override
+ public R AgvToWCSToWms(WMSAndAGVInterfaceParam param) throws IOException {
+ ToWmsDTO toWmsDTO = new ToWmsDTO();
+ Map<String, Object> map = new HashMap<>();
+ map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
+ List<Integer> list = new ArrayList<>();
+ list.add(1);
+ list.add(4);
+ //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
+ toWmsDTO.setWarehouseId("1688469798893297665");
+ toWmsDTO.setContainerCode(param.getContainerCode());
+ toWmsDTO.setApplyType("TUNNEL");
+ toWmsDTO.setWharfSource(null);
+ toWmsDTO.setCanInboundTunnels(list);
+ String response = new HttpHandler.Builder()
+ .setHeaders(map)
+ .setUri(wmsUrl)
+ .setPath("wcsManager/wcsInterface/inboundTaskApply")
+ .setJson(JSON.toJSONString(toWmsDTO))
+ .build()
+ .doPost();
+
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(200)) {
+ //瑙f瀽
+ List<WMSAndAGVInterfaceParam> params = new ArrayList<>();
+ params.add(param);
+ WMSAndAGVInterfaceParam data = JSONObject.parseObject(jsonObject.get("data").toString(), WMSAndAGVInterfaceParam.class);
+
+ taskCreate(new taskCreateParam(data));
+ return R.ok(jsonObject.get("data"));
+ }else {
+ return R.error((String) jsonObject.get("msg"));
+ }
+
+ }
}
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index ba3cc80..367f9ca 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -6,6 +6,7 @@
import java.text.DecimalFormat;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
/**
@@ -14,6 +15,67 @@
public class Utils {
private static final DecimalFormat fmt = new DecimalFormat("##0.00");
+
+
+ //杞崲wms浼犺緭鐨勫簱浣嶅彿
+ public static String getWcsLocNo(String locNo){
+ String[] split = locNo.split("-");
+ int[] wcsRow = getWcsRow(split[0]);
+ int[] ints = null;
+ if (split[3].equals("01")){
+ ints = Arrays.copyOfRange(wcsRow, 0, wcsRow.length / 2);
+ if (split[4].equals("01")){
+ ints = Arrays.copyOfRange(ints, wcsRow.length / 2,wcsRow.length-1);
+ }else {
+ ints = Arrays.copyOfRange(ints, 0, wcsRow.length / 2);
+ }
+ }else {
+ ints = Arrays.copyOfRange(wcsRow, wcsRow.length / 2,wcsRow.length-1 );
+ if (split[4].equals("01")){
+
+ ints = Arrays.copyOfRange(ints, 0, wcsRow.length / 2);
+ }else {
+ ints = Arrays.copyOfRange(ints, wcsRow.length / 2,wcsRow.length-1);
+ }
+ }
+ int i = ints[0];
+ String wcsLocNo = "";
+ if (i>9){
+ wcsLocNo = i+"0"+split[1]+split[2];
+ }else {
+ wcsLocNo = "0"+i+"0"+split[1]+split[2];
+ }
+
+
+
+ return wcsLocNo;
+ }
+ public static int[] getWcsRow(String row){
+ int[] array = null;
+ switch (row){
+ case "01":
+ array= new int[]{1, 2, 3, 4};
+ break;
+ case "02":
+ array= new int[]{5,6};
+ break;
+ case "03":
+ array= new int[]{7,8,9,10};
+ break;
+ case "04":
+ array= new int[]{11,12,13,14};
+ break;
+ case "05":
+ array= new int[]{15,16,17,18};
+ break;
+ case "06":
+ array= new int[]{19,20,21};
+ break;
+ default:
+
+ }
+ return array;
+ }
public static float scale(Float f){
if (f == null || f == 0f || Float.isNaN(f)) {
@@ -214,14 +276,15 @@
}
public static void main(String[] args) {
- SlaveProperties slaveProperties = new SlaveProperties();
- slaveProperties.setDoubleDeep(true);
- List<Integer> list = new ArrayList<>();
- list.add(1);list.add(4);list.add(5);list.add(8);list.add(9);list.add(12);
- slaveProperties.setDoubleLocs(list);
- slaveProperties.setGroupCount(4);
- Integer deepRow = getDeepRow(slaveProperties, 6);
- System.out.println(deepRow);
-
+// SlaveProperties slaveProperties = new SlaveProperties();
+// slaveProperties.setDoubleDeep(true);
+// List<Integer> list = new ArrayList<>();
+// list.add(1);list.add(4);list.add(5);list.add(8);list.add(9);list.add(12);
+// slaveProperties.setDoubleLocs(list);
+// slaveProperties.setGroupCount(4);
+// Integer deepRow = getDeepRow(slaveProperties, 6);
+// System.out.println(deepRow);
+ String wcsLocNo = getWcsLocNo("03-52-01-01-02");
+ System.out.println(wcsLocNo);
}
}
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index d258bd5..30e8f67 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -73,7 +73,7 @@
/**
* 鏉$爜鏁伴噺
*/
- private int barcodeSize = 3;
+ private int barcodeSize = 7;
/**
* 鍏ュ嚭搴撴ā寮�
@@ -232,20 +232,21 @@
}
}
+
+ if (slave.getId() == 1){
//鏉$爜
Thread.sleep(200);
- OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.100",(short)31);
+ OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.102",(short)60);
if (result2.IsSuccess) {
- for (int i = 0; i < barcodeSize; i++) {
+ for (int i = 0; i < 6; i++) {
String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
barcodeThread.setBarcode(barcode);
}
}
-
}
- if (slave.getId() == 1){
+
// 澶栧舰妫�娴� - 102
Thread.sleep(100);
OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB101.150", (short)1);
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 02a6873..0bc5a52 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -39,7 +39,9 @@
# 鏄惁寮�鍚笂鎶�
start: true
# WMS绯荤粺ip
- url: 10.32.53.195:8080
+ #url: 10.32.53.195:8080
+ # WMS绯荤粺ip
+ url: 172.18.9.56:8080
# 鍏ュ簱浠诲姟鐢宠鎺ュ彛
inboundTaskApplyPath: api/InterFace/get_InterFace_TestStorage
# 浠诲姟鐘舵�佸弽棣堟帴鍙�
diff --git a/src/main/webapp/static/wcs/images/ghlogo.jpg b/src/main/webapp/static/wcs/images/ghlogo.jpg
new file mode 100644
index 0000000..a2d9481
--- /dev/null
+++ b/src/main/webapp/static/wcs/images/ghlogo.jpg
Binary files differ
diff --git a/src/main/webapp/static/wcs/images/ghlogo_mini.png b/src/main/webapp/static/wcs/images/ghlogo_mini.png
new file mode 100644
index 0000000..95d3801
--- /dev/null
+++ b/src/main/webapp/static/wcs/images/ghlogo_mini.png
Binary files differ
diff --git a/src/main/webapp/views/login.html b/src/main/webapp/views/login.html
index cfa39f6..40c39b9 100644
--- a/src/main/webapp/views/login.html
+++ b/src/main/webapp/views/login.html
@@ -2,7 +2,7 @@
<html>
<head>
<meta charset="utf-8">
- <title>涓壃 鈹� login of zoneyung wcs</title>
+ <title>鍐犻缚 鈹� login of zoneyung wcs</title>
<style>
* {
padding: 0;
@@ -187,7 +187,7 @@
<div class="form-main">
<p style="text-align: center;"><img class="loginLogoUrl" src="../static/wcs/images/logo.png" alt="" style="width: 80%">
</p>
- <p style="margin-top: -15px;"><span class="login100-form-title p-t-20 p-b-45"
+ <p style="margin-top: -10px;"><span class="login100-form-title p-t-20 p-b-45"
style="color: #868686;font-size: 24px">WCS</span></p>
<div class="inputContainer">
<svg viewBox="0 0 16 16" fill="#2e2e2e" height="16" width="16"
--
Gitblit v1.9.1