From 15dfde1636a2aff5e12ee1d1c53007f6e4c12391 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 27 十一月 2023 15:19:55 +0800 Subject: [PATCH] #openCont+读码+logo --- 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 075a534..b657740 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