diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/ZheDaAgvServiceImpl.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/ZheDaAgvServiceImpl.java
new file mode 100644
index 0000000..89e6c34
--- /dev/null
+++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/ZheDaAgvServiceImpl.java
@@ -0,0 +1,551 @@
+package org.nl.acs.agv.server.impl;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.nl.acs.agv.server.ZheDaAgvService;
+import org.nl.acs.config.AcsConfig;
+import org.nl.acs.config.server.AcsConfigService;
+import org.nl.acs.instruction.service.InstructionService;
+import org.nl.acs.instruction.service.dto.Instruction;
+import org.nl.acs.opc.Device;
+import org.nl.acs.opc.DeviceAppService;
+import org.nl.acs.opc.DeviceAppServiceImpl;
+import org.nl.utils.SpringContextHolder;
+import org.springframework.stereotype.Service;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class ZheDaAgvServiceImpl implements ZheDaAgvService {
+ private final AcsConfigService acsConfigService;
+ @Override
+ //ZDAGV
+ public HttpResponse sendAgvInstToZDAgv(Instruction inst) throws Exception {
+ JSONObject jo = new JSONObject();
+ String start_point_code = inst.getStart_point_code();
+ String next_point_code = inst.getNext_point_code();
+ //1、叠盘架追加任务;2、养生区需要追加任务,在缓存点等待3、二楼普通任务4、一楼普通任务
+ String task_type = inst.getInstruction_type();
+ jo.put("deadline", getNextDay(1));
+ //判断是否追加任务
+ if (task_type.equals("2") || task_type.equals("1")) {
+ jo.put("complete", "false");
+ } else {
+ jo.put("complete", "true");
+ }
+ jo.put("task_code", inst.getInstruction_code());
+ //根据任务,下发指令类型
+ JSONArray destinations = new JSONArray();
+ if (task_type.equals("1")) {
+ destinations.add(destination(start_point_code, "Wait", "5", "1"));
+ } else {
+ destinations.add(destination(start_point_code, "Load", "1", "1"));
+ if (task_type.equals("2")) {
+ destinations.add(destination(next_point_code, "Wait", "5", "1"));
+ } else {
+ destinations.add(destination(next_point_code, "Unload", "5", "1"));
+ }
+ }
+ jo.put("destinations", destinations);
+
+ if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.FORKAGV).toString(), "1")) {
+ String url = "";
+ String agvurl = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL);
+ String agvurl2 = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL2);
+ String agvport = acsConfigService.findConfigFromCache().get(AcsConfig.AGVPORT);
+ //不同楼层下发不同的agv系统
+ if (task_type.equals("8")) {
+ url = agvurl2;
+ } else {
+ url = agvurl;
+ }
+ url = url + ":" + agvport + "v1/transportOrders/" + inst.getInstruction_code();
+ log.info("下发agv任务请求:{}", url);
+
+ HttpResponse result = HttpRequest.post(agvurl)
+ .body(String.valueOf(jo))//表单内容
+ .timeout(20000)//超时,毫秒
+ .execute();
+ log.info("下发agv任务请求反馈:{}", result);
+ return result;
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ //ZDAGV
+ public HttpResponse queryZDAgvInstStatus(String type) {
+ if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.FORKAGV).toString(), "1")) {
+ String agvurl = "";
+ if (type.equals("1")) {
+ agvurl = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL);
+ }
+ if (type.equals("2")) {
+ agvurl = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL2);
+ }
+ String agvport = acsConfigService.findConfigFromCache().get(AcsConfig.AGVPORT);
+
+ agvurl = agvurl + ":" + agvport + "/transportOrders";
+
+ HttpResponse result = HttpRequest.get(agvurl)
+ .timeout(20000)//超时,毫秒
+ .execute();
+ System.out.println("查询agv指令数据:" + result.body());
+
+ return result;
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ //ZDAGV
+ public synchronized String process(String jobno, String type, String address, String action, String processingVehicle) {
+ log.info("查询到AGV请求参数,jobno:{},address:{}", jobno + ",address:" + address + ",type:" + type + ",action:" + action);
+ //释放AGV资源,继续后续动作
+ boolean is_feedback = false;
+ String str = "";
+ String backaddress = address;
+ if (address.indexOf(".") > 0) {
+ str = address.substring(address.indexOf(".") + 1, address.length());
+ address = address.substring(0, address.indexOf("."));
+ } else if (address.indexOf("-") > 0) {
+ address = address.substring(0, address.indexOf("-"));
+ }
+ InstructionService instructionService = SpringContextHolder.getBean("instructionServiceImpl");
+ Instruction inst = instructionService.findByCodeFromCache(jobno);
+
+
+ DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
+ Device addressdevice = appService.findDeviceByCode(address);
+
+ CargoLiftConveyorDeviceDriver cargoLiftConveyorDeviceDriver;
+ EmptyVehicleStackingPositionDeviceDriver emptyVehicleStackingPositionDeviceDriver;
+ HailiangSmartplcTestDeviceDriver hailiangSmartplcTestDeviceDriver;
+ HaoKaiAutoConveyorDeviceDriver haoKaiAutoConveyorDeviceDriver;
+ PaintConveyorDeviceDriver paintConveyorDeviceDriver;
+
+ //取货的进入前等待和离开等待
+ if (action.equals("Load")) {
+ if ("EntryRequired".equals(type)) {
+ //共挤线三工位
+ if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) {
+ hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver();
+ if ((hailiangSmartplcTestDeviceDriver.getAction() == 1 || hailiangSmartplcTestDeviceDriver.getAction() == 3) && hailiangSmartplcTestDeviceDriver.getMove() == 1) {
+ inst.setExecute_status("1");
+ is_feedback = true;
+ }
+ }
+ //叠盘位
+ if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
+ emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
+ int number = emptyVehicleStackingPositionDeviceDriver.getNumber();
+ if (number < Integer.valueOf(str)) {
+ log.info("叠盘位:" + jobno + "当前层高为:" + number + ",不存在第" + str + "的托盘!");
+ return null;
+ }
+ inst.setExecute_status("1");
+ is_feedback = true;
+ }
+ //货梯对接线
+ if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
+ cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver();
+ if ((cargoLiftConveyorDeviceDriver.getAction() == 1 || cargoLiftConveyorDeviceDriver.getAction() == 3) && cargoLiftConveyorDeviceDriver.getMove() == 1) {
+ inst.setExecute_status("1");
+ is_feedback = true;
+ }
+ }
+ //豪凯自动线对接位
+ if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
+ haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver();
+ if ((haoKaiAutoConveyorDeviceDriver.getAction() == 1 || haoKaiAutoConveyorDeviceDriver.getAction() == 3) && haoKaiAutoConveyorDeviceDriver.getMove() == 1) {
+ inst.setExecute_status("1");
+ is_feedback = true;
+ }
+ }
+ //油漆线
+ if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
+ paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver();
+ if ((paintConveyorDeviceDriver.getAction() == 1 || paintConveyorDeviceDriver.getAction() == 3) && paintConveyorDeviceDriver.getMove() == 1) {
+ inst.setExecute_status("1");
+ is_feedback = true;
+ }
+ }
+ }
+ if ("PauseOnStation".equals(type)) {
+ if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) {
+ hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver();
+ inst.setExecute_status("2");
+ hailiangSmartplcTestDeviceDriver.writing(2);
+ is_feedback = true;
+ }
+
+ if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
+ emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
+ inst.setExecute_status("2");
+ emptyVehicleStackingPositionDeviceDriver.writing(2);
+ is_feedback = true;
+ }
+
+ if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
+ cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver();
+ inst.setExecute_status("2");
+ cargoLiftConveyorDeviceDriver.writing(2);
+ is_feedback = true;
+ }
+
+ if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
+ haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver();
+ inst.setExecute_status("2");
+ haoKaiAutoConveyorDeviceDriver.writing(2);
+ is_feedback = true;
+ }
+
+ if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
+ paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver();
+ inst.setExecute_status("2");
+ paintConveyorDeviceDriver.writing(2);
+ is_feedback = true;
+ }
+
+ }
+ }
+ //等待点等待
+ if (action.equals("Wait")) {
+ if ("Wait".equals(type)) {
+ JSONObject jo = new JSONObject();
+ jo.put("task_code", inst.getInstruction_code());
+ JSONArray destinations = new JSONArray();
+ String inst_type = inst.getInstruction_type();
+ //如果任务类型为1,在点位进行等待,则查询当前叠盘位的数量,取当前数量的层数进行追加任务
+ if ("1".equals(inst_type)) {
+ emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
+ int current_num = emptyVehicleStackingPositionDeviceDriver.getNumber();
+ if (current_num > 12) {
+ log.info("当前叠盘架:" + jobno + "已放满!");
+ return null;
+ }
+ String start_point_code = inst.getStart_point_code();
+ String next_point_code = inst.getNext_point_code();
+ start_point_code = start_point_code + "." + (current_num + 1);
+ destinations.add(destination(start_point_code, "Load", "1", "1"));
+ destinations.add(destination(next_point_code, "Unload", "1", "1"));
+
+ }
+
+ //如果任务类型为2,在点位进行等待,则调用LMS的货位申请接口
+ if ("2".equals(inst_type)) {
+ String next_point_code = "";
+ //调用LMS接口
+
+
+ destinations.add(destination(next_point_code, "Unload", "5", "1"));
+ }
+ jo.put("destinations", destinations);
+
+ String agvurl = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL);
+ String agvport = acsConfigService.findConfigFromCache().get(AcsConfig.AGVPORT);
+
+ String url = agvurl + ":" + agvport + "addDestinations";
+ log.info("下发agv任务请求:{}", url);
+
+ HttpResponse result = HttpRequest.post(url)
+ .body(String.valueOf(jo))//表单内容
+ .timeout(20000)//超时,毫秒
+ .execute();
+ log.info("下发agv任务请求反馈:{}", result);
+
+ //对任务进行封口
+ JSONObject complete = new JSONObject();
+ complete.put("task_code", inst.getInstruction_code());
+
+ String url2 = agvurl + ":" + agvport + "markComplete";
+ log.info("下发agv任务请求:{}", url2);
+
+ HttpResponse result2 = HttpRequest.post(url2)
+ .body(String.valueOf(complete))//表单内容
+ .timeout(20000)//超时,毫秒
+ .execute();
+ log.info("下发agv任务请求反馈:{}", result2);
+ }
+ }
+ //放货的进入前等待和离开等待
+ if (action.equals("Unload")) {
+ if ("EntryRequired".equals(type)) {
+ if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) {
+ hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver();
+ if ((hailiangSmartplcTestDeviceDriver.getAction() == 2 || hailiangSmartplcTestDeviceDriver.getAction() == 3) && hailiangSmartplcTestDeviceDriver.getMove() == 0) {
+ inst.setExecute_status("3");
+ is_feedback = true;
+ }
+ }
+
+ if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
+ emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
+ int number = emptyVehicleStackingPositionDeviceDriver.getNumber();
+ if (number >= Integer.valueOf(str)) {
+ log.info("叠盘位:" + jobno + "第" + str + "上有货!");
+ return null;
+ }
+ inst.setExecute_status("3");
+ is_feedback = true;
+ }
+
+ if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
+ cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver();
+ if ((cargoLiftConveyorDeviceDriver.getAction() == 2 || cargoLiftConveyorDeviceDriver.getAction() == 3) && cargoLiftConveyorDeviceDriver.getMove() == 0) {
+ inst.setExecute_status("3");
+ is_feedback = true;
+ }
+ }
+
+ if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
+ haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver();
+ if ((haoKaiAutoConveyorDeviceDriver.getAction() == 2 || haoKaiAutoConveyorDeviceDriver.getAction() == 3) && haoKaiAutoConveyorDeviceDriver.getMove() == 0) {
+ inst.setExecute_status("3");
+ is_feedback = true;
+ }
+ }
+
+ if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
+ paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver();
+ if ((paintConveyorDeviceDriver.getAction() == 2 || paintConveyorDeviceDriver.getAction() == 3) && paintConveyorDeviceDriver.getMove() == 0) {
+ inst.setExecute_status("3");
+ is_feedback = true;
+ }
+ }
+ }
+ if ("PauseOnStation".equals(type)) {
+ if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) {
+ hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver();
+ inst.setExecute_status("4");
+ hailiangSmartplcTestDeviceDriver.writing(3);
+ is_feedback = true;
+ }
+
+ if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
+ emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
+ inst.setExecute_status("4");
+ emptyVehicleStackingPositionDeviceDriver.writing(3);
+ is_feedback = true;
+ }
+
+ if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
+ cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver();
+ inst.setExecute_status("4");
+ cargoLiftConveyorDeviceDriver.writing(3);
+ is_feedback = true;
+ }
+
+ if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
+ haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver();
+ inst.setExecute_status("4");
+ haoKaiAutoConveyorDeviceDriver.writing(3);
+ is_feedback = true;
+ }
+
+ if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
+ paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver();
+ inst.setExecute_status("4");
+ paintConveyorDeviceDriver.writing(3);
+ is_feedback = true;
+ }
+ }
+ }
+ JSONObject requestjo = new JSONObject();
+ if (is_feedback) {
+ requestjo.put("task_code",jobno);
+ requestjo.put("operation",action);
+ if (type.equals("entryRequired") || type.equals("EntryRequired")){
+ requestjo.put("entryRequired","true");
+ }else {
+ requestjo.put("pauseOnStation","true");
+ }
+ log.info("反馈AGV请求数据:{}", requestjo);
+ System.out.println("back agv:" + requestjo);
+
+ String agvurl = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL);
+ String agvport = acsConfigService.findConfigFromCache().get(AcsConfig.AGVPORT);
+
+ if (inst.getInstruction_type().equals("4")){
+ agvurl = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL2);
+ }
+ agvurl = agvurl + ":" + agvport + "/v1/transportOrders/" + jobno + "/interact";
+
+ HttpResponse result = HttpRequest.post(agvurl)
+ .body(String.valueOf(requestjo))
+ .timeout(20000)//超时,毫秒
+ .execute();
+ }
+
+ return requestjo.toString();
+
+ }
+
+ @Override
+ //ZDAGV
+ public HttpResponse markComplete(String code) throws Exception {
+
+ if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.FORKAGV).toString(), "1")) {
+ String agvurl = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL);
+ String agvport = acsConfigService.findConfigFromCache().get(AcsConfig.AGVPORT);
+
+ agvurl = agvurl + ":" + agvport + "/v1/" + code + "/markComplete";
+ log.info("关闭agv运单序列请求:{}", agvurl);
+
+ HttpResponse result = HttpRequest.post(agvurl)
+ //.body(String.valueOf(orderjo))//表单内容
+ .timeout(20000)//超时,毫秒
+ .execute();
+ log.info("关闭agv运单序列请求反馈:{}", result);
+
+ return result;
+ } else {
+ return null;
+ }
+
+ }
+
+
+ /**
+ * 返回一个点位操作子任务
+ *
+ * @param locationName 点位
+ * @param operation 点位操作
+ * @param propertiesType 子任务类型
+ * @param pro 子任务参数
+ * 调用demo:destination("sh15p", "Spin", "2", "3.14")
+ * demo:destination("cz14", "JackUnload", "3", "")
+ * @return
+ */
+ //ZDAGV
+ public static JSONObject destination(String locationName, String operation, String propertiesType, String pro) {
+ //新增业务订单
+ JSONObject destinationOrder = new JSONObject();
+ //目标工作站
+ destinationOrder.put("locationName", locationName);
+ //机器人在工作站要执行的操作
+ destinationOrder.put("operation", operation);
+ if (propertiesType.equals("1")) {//取货前等待、取货后等待
+
+ //pro 1 进入离开等待
+ if ("1".equals(pro)) {
+ JSONArray properties = new JSONArray();
+ JSONObject pro1 = new JSONObject();
+ pro1.put("key", "EntryRequired");
+ pro1.put("value", "True");
+ properties.add(pro1);
+ JSONObject pro2 = new JSONObject();
+ pro2.put("key", "PauseOnStation");
+ pro2.put("value", "True");
+ properties.add(pro2);
+ destinationOrder.put("properties", properties);
+ //进入等待 离开不等待
+ } else if ("2".equals(pro)) {
+ JSONArray properties = new JSONArray();
+ JSONObject pro1 = new JSONObject();
+ pro1.put("key", "EntryRequired");
+ pro1.put("value", "True");
+ properties.add(pro1);
+ JSONObject pro2 = new JSONObject();
+ pro2.put("key", "PauseOnStation");
+ pro2.put("value", "False");
+ properties.add(pro2);
+ destinationOrder.put("properties", properties);
+ //进入不等待 离开等待
+ } else if ("3".equals(pro)) {
+ JSONArray properties = new JSONArray();
+ JSONObject pro1 = new JSONObject();
+ pro1.put("key", "EntryRequired");
+ pro1.put("value", "False");
+ properties.add(pro1);
+ JSONObject pro2 = new JSONObject();
+ pro2.put("key", "PauseOnStation");
+ pro2.put("value", "True");
+ properties.add(pro2);
+ destinationOrder.put("properties", properties);
+ //不等待
+ } else {
+ JSONArray properties = new JSONArray();
+ JSONObject pro1 = new JSONObject();
+ pro1.put("key", "EntryRequired");
+ pro1.put("value", "False");
+ properties.add(pro1);
+ JSONObject pro2 = new JSONObject();
+ pro2.put("key", "PauseOnStation");
+ pro2.put("value", "False");
+ properties.add(pro2);
+ destinationOrder.put("properties", properties);
+ }
+
+ } else if (propertiesType.equals("2")) {//Spin转动
+ JSONArray properties = new JSONArray();
+ JSONObject pro1 = new JSONObject();
+ pro1.put("key", "global_spin_angle");//坐标系类型,global_spin_angle为全局坐标系
+ pro1.put("value", pro);//弧度值,如3.14
+ properties.add(pro1);
+ JSONObject pro2 = new JSONObject();
+ pro2.put("key", "spin_direction");//固定值
+ pro2.put("value", "0");//弧度值,如0
+ properties.add(pro2);
+ destinationOrder.put("properties", properties);
+ } else if (propertiesType.equals("3")) {//JackUnload,Jackload不操作
+ JSONArray properties = new JSONArray();
+ JSONObject pro1 = new JSONObject();
+ pro1.put("key", "recognize");//固定值
+ pro1.put("value", "false");//固定值
+ properties.add(pro1);
+ destinationOrder.put("properties", properties);
+ } else if (propertiesType.equals("4")) {
+ JSONArray properties = new JSONArray();
+ JSONObject pro1 = new JSONObject();
+ pro1.put("key", "robot_spin_angle");//坐标系类型,robot_spin_angle为机器人坐标系
+ pro1.put("value", pro);//弧度值,如3.14
+ properties.add(pro1);
+ JSONObject pro2 = new JSONObject();
+ pro2.put("key", "spin_direction");//固定值
+ pro2.put("value", "0");//弧度值,如0
+ properties.add(pro2);
+ destinationOrder.put("properties", properties);
+ } else if (propertiesType.equals("5")) {//在该点进行等待
+ JSONArray properties = new JSONArray();
+ JSONObject pro1 = new JSONObject();
+ pro1.put("key", "Wait");
+ pro1.put("value", "True");
+ properties.add(pro1);
+ destinationOrder.put("properties", properties);
+ }
+ return destinationOrder;
+ }
+
+
+
+ /**
+ * 获得之后num个天的时间
+ *
+ * @param num
+ * @return
+ */
+ public static String getNextDay(int num) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.add(Calendar.DAY_OF_MONTH, num);
+ Date date = calendar.getTime();
+ TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
+ DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
+ df.setTimeZone(tz);
+ String nowAsISO = df.format(date);
+ return nowAsISO;
+ }
+}
diff --git a/wms/hd/.gitignore b/wms/hd/.gitignore
index 97427ec..17a0478 100644
--- a/wms/hd/.gitignore
+++ b/wms/hd/.gitignore
@@ -40,3 +40,4 @@ spring-*/src/main/java/META-INF/MANIFEST.MF
test-output
atlassian-ide-plugin.xml
.gradletasknamecache
+/logPath_IS_UNDEFINED/
diff --git a/wms/hd/nladmin-system/pom.xml b/wms/hd/nladmin-system/pom.xml
index 03a4863..8444781 100644
--- a/wms/hd/nladmin-system/pom.xml
+++ b/wms/hd/nladmin-system/pom.xml
@@ -16,21 +16,9 @@
0.11.1
5.5.0
- 7.6.1
-
- net.logstash.logback
- logstash-logback-encoder
- 6.6
-
-
-
- org.mongodb
- mongo-java-driver
- 3.4.2
-
org.reflections
reflections
@@ -43,23 +31,6 @@
-
-
- com.alicp.jetcache
- jetcache-starter-redis
- 2.5.14
-
-
- com.alicp.jetcache
- jetcache-starter-redis-lettuce
- 2.5.14
-
-
-
- org.springframework.boot
- spring-boot-starter-data-mongodb
-
-
net.dreamlu
@@ -73,28 +44,6 @@
4.8.1
-
-
- org.apache.lucene
- lucene-core
- 8.4.0
-
-
- org.apache.lucene
- lucene-analyzers-common
- 8.4.0
-
-
- org.apache.lucene
- lucene-analyzers-smartcn
- 8.4.0
-
-
-
- org.apache.lucene
- lucene-queryparser
- 8.4.0
-
com.alibaba
diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/AppRun.java b/wms/hd/nladmin-system/src/main/java/org/nl/AppRun.java
index b2eada2..ea46b3c 100644
--- a/wms/hd/nladmin-system/src/main/java/org/nl/AppRun.java
+++ b/wms/hd/nladmin-system/src/main/java/org/nl/AppRun.java
@@ -1,8 +1,5 @@
package org.nl;
-import com.alicp.jetcache.Cache;
-import com.alicp.jetcache.anno.config.EnableCreateCacheAnnotation;
-import com.alicp.jetcache.anno.config.EnableMethodCache;
import io.swagger.annotations.Api;
import org.nl.annotation.rest.AnonymousGetMapping;
import org.nl.utils.SpringContextHolder;
@@ -34,13 +31,7 @@ import org.springframework.web.bind.annotation.RestController;
@ServletComponentScan
@EnableTransactionManagement
@EnableJpaAuditing(auditorAwareRef = "auditorAware")
-
-@EnableMethodCache(basePackages = "org.nl")
-@EnableCreateCacheAnnotation
public class AppRun implements CommandLineRunner {
-
- private Cache userCache;
-
public static void main(String[] args) {
SpringApplication.run(AppRun.class, args);
diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/modules/cache/BothCacheManager.java b/wms/hd/nladmin-system/src/main/java/org/nl/modules/cache/BothCacheManager.java
deleted file mode 100644
index e90a29b..0000000
--- a/wms/hd/nladmin-system/src/main/java/org/nl/modules/cache/BothCacheManager.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.nl.modules.cache;
-
-import com.alicp.jetcache.Cache;
-import com.alicp.jetcache.anno.CacheType;
-import com.alicp.jetcache.anno.CreateCache;
-import lombok.Data;
-
-@Data
-public class BothCacheManager extends NlCacheManager {
- /**
- * 使用 @CreateCache 注解创建Cache实例;
- * 未定义默认值的参数,将使用yml中指定的全局配置;
- * 缓存在 Local,也可以配置成 both 开启两级缓存
- */
- @CreateCache(expire = 5 * 60, cacheType = CacheType.BOTH, localLimit = 10)
- private Cache