From 0783af09c2677e3f6edfe7cc6aecf97ef8c0ccca Mon Sep 17 00:00:00 2001 From: LENOVO <1793460677@qq.com> Date: Mon, 18 Mar 2024 08:45:37 +0800 Subject: [PATCH 1/5] =?UTF-8?q?fix:=20=E5=A0=86=E5=9E=9B=E6=9C=BA=E8=81=94?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acs/agv/rest/XianGongAgvController.java | 3 +- ...nishedProductOutBindLableDeviceDriver.java | 14 +- .../manipulator_cache/ItemProtocol.java | 2 +- .../ManipulatorCacheDefination.java | 111 ++++---- .../ManipulatorCacheDeviceDriver.java | 222 ++++++++-------- .../BoxPackageManipulatorDeviceDriver.java | 4 +- ...TwoManipulatorManipulatorDeviceDriver.java | 4 +- .../StandardStackerDeviceDriver.java | 244 ++++++++++++------ .../wms/service/impl/AcsToWmsServiceImpl.java | 2 +- .../service/InstructionService.java | 1 - .../service/impl/InstructionServiceImpl.java | 14 +- .../org/nl/acs/task/service/TaskService.java | 1 - .../task/service/impl/TaskServiceImpl.java | 15 +- .../secutiry/impl/OnlineUserService.java | 17 ++ .../monitor/one_device/one_device.properties | 1 + .../one_device/one_device_en_US.properties | 2 + .../one_device/one_device_in_ID.properties | 2 + .../one_device/one_device_zh_CN.properties | 2 + acs2/nladmin-ui/public/config.js | 4 +- 19 files changed, 380 insertions(+), 285 deletions(-) rename acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/{ => one_conveyor}/manipulator_cache/ItemProtocol.java (95%) rename acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/{ => one_conveyor}/manipulator_cache/ManipulatorCacheDefination.java (67%) rename acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/{ => one_conveyor}/manipulator_cache/ManipulatorCacheDeviceDriver.java (89%) diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/rest/XianGongAgvController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/rest/XianGongAgvController.java index 2bccb2f2b..063da5b90 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/rest/XianGongAgvController.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/rest/XianGongAgvController.java @@ -1,6 +1,7 @@ package org.nl.acs.agv.rest; import com.alibaba.fastjson.JSONObject; +import groovy.lang.Lazy; import org.nl.acs.agv.server.XianGongAgvService; import org.nl.common.logging.annotation.Log; import org.springframework.beans.factory.annotation.Autowired; @@ -17,7 +18,7 @@ import org.springframework.web.bind.annotation.RequestBody; @Controller public class XianGongAgvController { - + @Lazy @Autowired private XianGongAgvService xianGongAgentService; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java index 2d45376f9..a2411a907 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java @@ -271,14 +271,14 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr this.require_apply_strangulation_time = date; // String vehicle_code = ""; // -// if (StrUtil.isEmpty(vehicle_code)) { -// message = LangProcess.msg("one_message8") + ": " + task + LangProcess.msg("one_message11"); -// return; -// } - + Instruction inst = instructionService.findByCodeFromCache(String.valueOf(task)); + if (StrUtil.isEmpty(inst.getVehicle_code())) { + message = LangProcess.msg("one_message8") + ": " + task + LangProcess.msg("one_message11"); + return; + } JSONObject param = new JSONObject(); param.put("device_code", device_code); - param.put("vehicle_code", material_barcode); + param.put("vehicle_code", inst.getVehicle_code()); param.put("type", AcsToLmsApplyTaskTypeEnum.LABEL_BIND.getType()); String response = acsToWmsService.deviceApplyTwo(param); JSONObject jo = JSON.parseObject(response); @@ -289,7 +289,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr .build(); luceneExecuteLogService.deviceExecuteLog(logDto2); // Map datas = applyLabelingAndBindingResponse.getData(); - packagePLCData(jo.getString("body")); + packagePLCData(jo.getString("data")); requireSucess = true; } else { LuceneLogDto logDto2 = LuceneLogDto.builder() diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator_cache/ItemProtocol.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/manipulator_cache/ItemProtocol.java similarity index 95% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator_cache/ItemProtocol.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/manipulator_cache/ItemProtocol.java index 71b485ae6..9b04b8ba7 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator_cache/ItemProtocol.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/manipulator_cache/ItemProtocol.java @@ -1,4 +1,4 @@ -package org.nl.acs.device_driver.manipulator_cache; +package org.nl.acs.device_driver.one_conveyor.manipulator_cache; import lombok.Data; import lombok.extern.slf4j.Slf4j; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator_cache/ManipulatorCacheDefination.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/manipulator_cache/ManipulatorCacheDefination.java similarity index 67% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator_cache/ManipulatorCacheDefination.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/manipulator_cache/ManipulatorCacheDefination.java index 8f4788020..781f7f6c1 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator_cache/ManipulatorCacheDefination.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/manipulator_cache/ManipulatorCacheDefination.java @@ -1,49 +1,62 @@ -package org.nl.acs.device_driver.manipulator_cache; - -import org.nl.acs.device.domain.Device; -import org.nl.acs.device.enums.DeviceType; -import org.nl.acs.device_driver.DeviceDriver; -import org.nl.acs.device_driver.DeviceDriverDefination; -import org.springframework.stereotype.Service; - -import java.util.LinkedList; -import java.util.List; - -/** - * 扫码器 - */ -@Service -public class ManipulatorCacheDefination implements DeviceDriverDefination { - @Override - public String getDriverCode() { - return "manipulator_cache"; - } - - @Override - public String getDriverName() { - return "行架对接缓存位"; - } - - @Override - public String getDriverDescription() { - return "行架对接缓存位"; - } - - @Override - public DeviceDriver getDriverInstance(Device device) { - return (new ManipulatorCacheDeviceDriver()).setDevice(device).setDriverDefination(this); - - } - - @Override - public Class getDeviceDriverType() { - return ManipulatorCacheDeviceDriver.class; - } - - @Override - public List getFitDeviceTypes() { - List types = new LinkedList(); - types.add(DeviceType.conveyor); - return types; - } -} +package org.nl.acs.device_driver.one_conveyor.manipulator_cache; + +import org.nl.acs.device.device_driver.standard_inspect.ItemDto; +import org.nl.acs.device.domain.Device; +import org.nl.acs.device.enums.DeviceType; +import org.nl.acs.device_driver.DeviceDriver; +import org.nl.acs.device_driver.DeviceDriverDefination; +import org.nl.acs.device_driver.defination.OpcDeviceDriverDefination; +import org.springframework.stereotype.Service; + +import java.util.LinkedList; +import java.util.List; + +/** + * 行架对接缓存位 + */ +@Service +public class ManipulatorCacheDefination implements OpcDeviceDriverDefination { + @Override + public String getDriverCode() { + return "manipulator_cache"; + } + + @Override + public String getDriverName() { + return "行架对接缓存位"; + } + + @Override + public String getDriverDescription() { + return "行架对接缓存位"; + } + + @Override + public DeviceDriver getDriverInstance(Device device) { + return (new ManipulatorCacheDeviceDriver()).setDevice(device).setDriverDefination(this); + + } + + @Override + public List getReadableItemDtos() { + return ItemProtocol.getReadableItemDtos(); + } + + @Override + public List getWriteableItemDtos() { + return null; + } + + + @Override + public Class getDeviceDriverType() { + return ManipulatorCacheDeviceDriver.class; + } + + @Override + public List getFitDeviceTypes() { + List types = new LinkedList(); + types.add(DeviceType.conveyor); + return types; + } +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator_cache/ManipulatorCacheDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/manipulator_cache/ManipulatorCacheDeviceDriver.java similarity index 89% rename from acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator_cache/ManipulatorCacheDeviceDriver.java rename to acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/manipulator_cache/ManipulatorCacheDeviceDriver.java index b3a81d76d..6219eace3 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/manipulator_cache/ManipulatorCacheDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/manipulator_cache/ManipulatorCacheDeviceDriver.java @@ -1,113 +1,109 @@ -package org.nl.acs.device_driver.manipulator_cache; - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSONObject; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; - -import org.nl.acs.device.domain.Device; - -import org.nl.acs.device_driver.DeviceDriver; -import org.nl.acs.device_driver.FeedLmsRealFailed; -import org.nl.acs.device_driver.RouteableDeviceDriver; -import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; -import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; -import org.nl.acs.instruction.domain.Instruction; -import org.nl.acs.monitor.DeviceStageMonitor; -import org.nl.config.language.LangProcess; -import org.nl.config.thread.ThreadPoolExecutorUtil; -import org.openscada.opc.lib.da.Server; - -import java.util.*; -import java.util.concurrent.ThreadPoolExecutor; - -/** - * 标准版扫码器 - */ -@Slf4j -@Data -public class ManipulatorCacheDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver, RouteableDeviceDriver, DeviceStageMonitor, FeedLmsRealFailed { - private final static ThreadPoolExecutor EXECUTOR = ThreadPoolExecutorUtil.getPoll(); - protected ItemProtocol itemProtocol = new ItemProtocol(this); - - //当前指令 - Instruction inst = null; - - private String error_type = "ssx_error_type"; - - //工作模式 - int mode = 0; - int last_mode = 0; - - //任务号 - int action = 0; - int last_action = 0; - - @Override - public Device getDevice() { - return this.device; - } - - - @Override - public void execute() { - action = this.itemProtocol.getAction(); - mode = this.itemProtocol.getMode(); - } - - - - - public boolean exe_business() { - return true; - } - - - - - - public void executing(Server server, Map itemMap) { - this.control(itemMap); - } - - public void writing(int command) { - Map itemMap = new HashMap(); - this.control(itemMap); - } - - - @Override - public JSONObject getDeviceStatusName() { - JSONObject jo = new JSONObject(); - String mode = ""; - String move = ""; - if (this.getMode() == 0) { - mode = LangProcess.msg("universal_off-line"); - } else if (this.getMode() == 1) { - mode = LangProcess.msg("universal_stand-alone"); - } else if (this.getMode() == 2) { - mode = LangProcess.msg("universal_standby"); - } else if (this.getMode() == 3) { - mode = LangProcess.msg("universal_operation"); - } - jo.put("device_name", this.getDevice().getDevice_name()); - jo.put("mode", mode); - jo.put("action", action); - - return jo; - } - - @Override - public void setDeviceStatus(JSONObject data) { - - } - - - @Override - public JSONObject feedLmsRealFailedInfo() { - return null; - } -} +package org.nl.acs.device_driver.one_conveyor.manipulator_cache; + +import com.alibaba.fastjson.JSONObject; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; + +import org.nl.acs.device.domain.Device; + +import org.nl.acs.device_driver.DeviceDriver; +import org.nl.acs.device_driver.FeedLmsRealFailed; +import org.nl.acs.device_driver.RouteableDeviceDriver; +import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; +import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; +import org.nl.acs.instruction.domain.Instruction; +import org.nl.acs.monitor.DeviceStageMonitor; +import org.nl.config.language.LangProcess; +import org.nl.config.thread.ThreadPoolExecutorUtil; +import org.openscada.opc.lib.da.Server; + +import java.util.*; +import java.util.concurrent.ThreadPoolExecutor; + +/** + * 行架对接缓存位 + */ +@Slf4j +@Data +public class ManipulatorCacheDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver, RouteableDeviceDriver, DeviceStageMonitor, FeedLmsRealFailed { + private final static ThreadPoolExecutor EXECUTOR = ThreadPoolExecutorUtil.getPoll(); + protected ItemProtocol itemProtocol = new ItemProtocol(this); + + //当前指令 + Instruction inst = null; + + private String error_type = "ssx_error_type"; + + //工作模式 + int mode = 0; + int last_mode = 0; + + //任务号 + int action = 0; + int last_action = 0; + + @Override + public Device getDevice() { + return this.device; + } + + + @Override + public void execute() { + action = this.itemProtocol.getAction(); + mode = this.itemProtocol.getMode(); + } + + + + + public boolean exe_business() { + return true; + } + + + + + + public void executing(Server server, Map itemMap) { + this.control(itemMap); + } + + public void writing(int command) { + Map itemMap = new HashMap(); + this.control(itemMap); + } + + + @Override + public JSONObject getDeviceStatusName() { + JSONObject jo = new JSONObject(); + String mode = ""; + String move = ""; + if (this.getMode() == 0) { + mode = LangProcess.msg("universal_off-line"); + } else if (this.getMode() == 1) { + mode = LangProcess.msg("universal_stand-alone"); + } else if (this.getMode() == 2) { + mode = LangProcess.msg("universal_standby"); + } else if (this.getMode() == 3) { + mode = LangProcess.msg("universal_operation"); + } + jo.put("device_name", this.getDevice().getDevice_name()); + jo.put("mode", mode); + jo.put("action", action); + + return jo; + } + + @Override + public void setDeviceStatus(JSONObject data) { + + } + + + @Override + public JSONObject feedLmsRealFailedInfo() { + return null; + } +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_package_manipulator/BoxPackageManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_package_manipulator/BoxPackageManipulatorDeviceDriver.java index f78323db8..c7b03641f 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_package_manipulator/BoxPackageManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_package_manipulator/BoxPackageManipulatorDeviceDriver.java @@ -1,7 +1,6 @@ package org.nl.acs.device_driver.one_manipulator.box_package_manipulator; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -20,8 +19,7 @@ import org.nl.acs.device_driver.RouteableDeviceDriver; import org.nl.acs.device_driver.conveyor.siemens_conveyor.SiemensConveyorDeviceDriver; import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; -import org.nl.acs.device_driver.manipulator_cache.ManipulatorCacheDeviceDriver; -import org.nl.acs.device_driver.one_conveyor.box_subvolumes_conveyor.BoxSubvolumesConveyorDeviceDriver; +import org.nl.acs.device_driver.one_conveyor.manipulator_cache.ManipulatorCacheDeviceDriver; import org.nl.acs.history.ErrorUtil; import org.nl.acs.history.service.DeviceErrorLogService; import org.nl.acs.history.service.impl.DeviceErrorLogServiceImpl; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/volume_two_manipulator/VolumeTwoManipulatorManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/volume_two_manipulator/VolumeTwoManipulatorManipulatorDeviceDriver.java index ff4315ddc..446e0fdd8 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/volume_two_manipulator/VolumeTwoManipulatorManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/volume_two_manipulator/VolumeTwoManipulatorManipulatorDeviceDriver.java @@ -19,7 +19,7 @@ import org.nl.acs.device_driver.RouteableDeviceDriver; import org.nl.acs.device_driver.conveyor.siemens_conveyor.SiemensConveyorDeviceDriver; import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; -import org.nl.acs.device_driver.manipulator_cache.ManipulatorCacheDeviceDriver; +import org.nl.acs.device_driver.one_conveyor.manipulator_cache.ManipulatorCacheDeviceDriver; import org.nl.acs.device_driver.one_manipulator.trapped_manipulator.InteractionJsonDTO; import org.nl.acs.enums.VolumeTwoTypeEnum; import org.nl.acs.history.ErrorUtil; @@ -399,7 +399,7 @@ public class VolumeTwoManipulatorManipulatorDeviceDriver extends AbstractOpcDevi } } - + ManipulatorCacheDeviceDriver manipulatorCacheDeviceDriver; if (startDevice.getDeviceDriver() instanceof ManipulatorCacheDeviceDriver) { manipulatorCacheDeviceDriver = (ManipulatorCacheDeviceDriver) startDevice.getDeviceDriver(); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java index d550f37a3..bdef248cf 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java @@ -1,20 +1,17 @@ package org.nl.acs.device_driver.stacker.standard_stacker; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.checkerframework.common.value.qual.StringVal; import org.nl.acs.common.base.CommonFinalParam; import org.nl.acs.device.domain.Device; import org.nl.acs.device.enums.DeviceType; -import org.nl.acs.device.enums.ErrorType; import org.nl.acs.device.service.DeviceExtraService; import org.nl.acs.device.service.impl.DeviceExtraServiceImpl; import org.nl.acs.device_driver.DeviceDriver; @@ -25,10 +22,7 @@ import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.ext.wms.service.impl.AcsToWmsServiceImpl; -import org.nl.acs.history.ErrorUtil; -import org.nl.acs.history.domain.AcsDeviceErrorLog; import org.nl.acs.history.service.DeviceErrorLogService; -import org.nl.acs.history.service.dto.DeviceErrorLogDto; import org.nl.acs.history.service.impl.DeviceErrorLogServiceImpl; import org.nl.acs.instruction.domain.Instruction; import org.nl.acs.instruction.service.InstructionService; @@ -42,6 +36,7 @@ import org.nl.acs.route.service.impl.RouteLineServiceImpl; import org.nl.acs.task.domain.Task; import org.nl.acs.task.service.TaskService; import org.nl.acs.task.service.dto.TaskDto; +import org.nl.common.utils.RedisUtils; import org.nl.config.SpringContextHolder; import org.nl.config.language.LangProcess; import org.nl.config.lucene.service.LuceneExecuteLogService; @@ -78,6 +73,11 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme LuceneExecuteLogService luceneExecuteLogService = SpringContextHolder.getBean("luceneExecuteLogServiceImpl"); + public static final String REDIS_MOVE_BOX = "MOVE:MOVE_TASK"; + + @Autowired + private RedisUtils redisUtils; + /** * 禁止入库 */ @@ -286,6 +286,8 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme Instruction inst = null; + + @Override public Device getDevice() { return this.device; @@ -479,6 +481,18 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme Instruction inst = checkInst(); try { finish_instruction(inst); +// if (ObjectUtil.isNotEmpty(redisUtils.get(REDIS_MOVE_BOX))){ +// String taskRedis = redisUtils.get(REDIS_MOVE_BOX).toString(); +// task = Integer.valueOf(taskRedis); +// Instruction instOld = checkInst(); +// List list1 = new ArrayList(); +// pakageCommand(list1, taskRedis); +// pakagePlc(instOld, list1); +// if (ObjectUtil.isNotNull(list1)) { +// this.writing(list1); +// } +// } +// list.remove(0); } catch (Exception e) { e.printStackTrace(); } @@ -565,29 +579,58 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme return; } else { Instruction instruction = instructionService.findByCode(String.valueOf(task)); - if (ObjectUtil.isNotEmpty(instruction)){ + if (ObjectUtil.isEmpty(instruction)){ message = "one_message9"; return; } JSONObject param = new JSONObject(); param.put("task_code", instruction.getTask_code()); + param.put("task_id", instruction.getTask_id()); param.put("type", type); String response = acsToWmsService.applyUpdatePointCode(param); JSONObject jo = JSON.parseObject(response); if (StrUtil.isNotEmpty(jo.getString("body")) || jo.getInteger("status") == 200) { - LuceneLogDto logDto2 = LuceneLogDto.builder() - .device_code(device_code) - .content("申请更新点位,参数,接口返回:" + jo) - .build(); - luceneExecuteLogService.deviceExecuteLog(logDto2); - JSONObject pointCodeJson = JSON.parseObject(jo.getString("body")); - String poinCode = pointCodeJson.getString("poin_code").toString(); - if (type.equals(StandarStirageErroEnum.BLOCK_OUT.getType()) || type.equals(StandarStirageErroEnum.VOIDANCE.getType())){ - updateData1(poinCode, instruction); - } - if (type.equals(StandarStirageErroEnum.BLOCK_IN.getType()) || type.equals(StandarStirageErroEnum.FILL.getType())){ - updateData2(poinCode, instruction); + try { + LuceneLogDto logDto2 = LuceneLogDto.builder() + .device_code(device_code) + .content("申请更新点位,参数,接口返回:" + jo) + .build(); + luceneExecuteLogService.deviceExecuteLog(logDto2); + String poinCode = jo.getString("point_code"); + if (StrUtil.isNotEmpty(poinCode)) { + String[] split = poinCode.split("-"); + Device point = deviceAppService.findDeviceByCode(split[0]); + if (ObjectUtil.isEmpty(point)) { + message = "one_message18"; + } + if (type.equals(StandarStirageErroEnum.VOIDANCE.getType())) { + updateData1(poinCode, instruction, point, split); + pakageData(point, split); + } + if (type.equals(StandarStirageErroEnum.BLOCK_IN.getType()) || type.equals(StandarStirageErroEnum.FILL.getType())) { + updateData2(poinCode, instruction, point, split); + pakageData(point, split); + } + } + if (StrUtil.isNotEmpty(jo.getString("task_id"))) { + //取货潜货位阻挡做完移库任务 + if (type.equals(StandarStirageErroEnum.BLOCK_OUT.getType())) { + //存缓存 + redisUtils.set(REDIS_MOVE_BOX, task); + TaskDto taskId = taskserver.findById(jo.getString("task_id")); + if (ObjectUtil.isNotEmpty(taskId)) { + String poinCodeMove = taskId.getStart_point_code(); + String[] split = poinCodeMove.split("-"); + Device point = deviceAppService.findDeviceByCode(split[0]); + pakageData(point, split); + } + } + } + }catch (Exception e){ + this.requireSucess = true; + e.printStackTrace(); } + this.requireSucess = true; } else { LuceneLogDto logDto2 = LuceneLogDto.builder() @@ -599,47 +642,81 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme } } - private void updateData2(String poinCode, Instruction instruction) { - Instruction instructionUpdate = new Instruction(); - instructionUpdate.setNext_point_code(poinCode); - String[] split = poinCode.split("-"); - Device endPoint = deviceAppService.findDeviceByCode(split[0]); - instructionUpdate.setTo_x(endPoint.getExtraValue().get("x").toString()); - instructionUpdate.setNext_device_code(split[0]); - instructionUpdate.setTo_y(split[1]); - instructionUpdate.setTo_z(split[2]); - instructionUpdate.setInstruction_code(String.valueOf(task)); - instructionService.updateByInstructionCode(instructionUpdate); - Task taskUpdate = new Task(); - taskUpdate.setTo_x(endPoint.getExtraValue().get("x").toString()); - taskUpdate.setNext_device_code(split[0]); - taskUpdate.setTo_y(split[1]); - taskUpdate.setTo_z(split[2]); - taskUpdate.setTask_code(instruction.getTask_code()); - taskserver.updateByTaskCode(taskUpdate); + private void pakageData( Device point, String[] split) { + List list = new ArrayList(); + String x = point.getExtraValue().get("x").toString(); + String y = split[1]; + String z = split[2]; + HashMap map1 = new HashMap(); + map1.put("code", "to_x"); + map1.put("value", y); + list.add(map1); + HashMap map2 = new HashMap(); + map2.put("code", "to_y"); + map2.put("value", z); + list.add(map2); + HashMap map3 = new HashMap(); + map3.put("code", "to_z"); + map3.put("value", x); + list.add(map3); + if (ObjectUtil.isNotEmpty(list)) { + this.writing(list); + } } - private void updateData1(String poinCode, Instruction instruction) { - Instruction instructionUpdate = new Instruction(); + private void updateData2(String poinCode, Instruction instruction, Device point, String[] split) { + Instruction instructionUpdate = checkInst(); + TaskDto taskUpdate = new TaskDto(); + instructionUpdate.setNext_point_code(poinCode); + instructionUpdate.setNext_device_code(split[0]); + taskUpdate.setNext_point_code(poinCode); + taskUpdate.setNext_device_code(split[0]); + taskUpdate.setTask_id(instructionUpdate.getTask_id()); + pakageData2(instruction, instructionUpdate, point, split, taskUpdate); + instructionService.update(instructionUpdate); + taskserver.update(taskUpdate); + } + + private void updateData1(String poinCode, Instruction instruction, Device point, String[] split) { + Instruction instructionUpdate = checkInst(); + TaskDto taskUpdate = new TaskDto(); instructionUpdate.setStart_point_code(poinCode); - String[] split = poinCode.split("-"); - Device starPoint = deviceAppService.findDeviceByCode(split[0]); - instructionUpdate.setFrom_x(starPoint.getExtraValue().get("x").toString()); instructionUpdate.setStart_device_code(split[0]); + taskUpdate.setStart_point_code(poinCode); + taskUpdate.setStart_device_code(split[0]); + taskUpdate.setTask_id(instructionUpdate.getTask_id()); + pakageData1(instruction, instructionUpdate, point, split, taskUpdate); + //更新缓存数据库 + instructionService.update(instructionUpdate); + taskserver.update(taskUpdate); + } + + private void pakageData1(Instruction instruction, Instruction instructionUpdate, Device starPoint, String[] split, TaskDto taskUpdate) { + instructionUpdate.setFrom_x(starPoint.getExtraValue().get("x").toString()); instructionUpdate.setFrom_y(split[1]); instructionUpdate.setFrom_z(split[2]); instructionUpdate.setInstruction_code(String.valueOf(task)); - instructionService.updateByInstructionCode(instructionUpdate); - Task taskUpdate = new Task(); taskUpdate.setFrom_x(starPoint.getExtraValue().get("x").toString()); - taskUpdate.setStart_device_code(split[0]); taskUpdate.setFrom_y(split[1]); taskUpdate.setFrom_z(split[2]); taskUpdate.setTask_code(instruction.getTask_code()); - taskserver.updateByTaskCode(taskUpdate); + } + private void pakageData2(Instruction instruction, Instruction instructionUpdate, Device starPoint, String[] split, TaskDto taskUpdate) { + instructionUpdate.setTo_x(starPoint.getExtraValue().get("x").toString()); + instructionUpdate.setTo_y(split[1]); + instructionUpdate.setTo_z(split[2]); + instructionUpdate.setInstruction_code(String.valueOf(task)); + taskUpdate.setTo_x(starPoint.getExtraValue().get("x").toString()); + taskUpdate.setTo_y(split[1]); + taskUpdate.setTo_z(split[2]); + taskUpdate.setTask_code(instruction.getTask_code()); + } + + + /** * 申请任务 * @@ -704,18 +781,8 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme } } List list = new ArrayList(); - HashMap map1 = new HashMap(); - map1.put("code", "to_device_code"); - map1.put("value", this.getDevice().getAddress()); - list.add(map1); - HashMap map2 = new HashMap(); - map2.put("code", "to_command"); - map2.put("value", 1); - list.add(map2); - HashMap map3 = new HashMap(); - map3.put("code", "to_task"); - list.add(map3); - map3.put("value", inst.getInstruction_code()); + + pakageCommand(list, inst.getInstruction_code()); if (StrUtil.equals(startDevice.getDevice_type(), DeviceType.conveyor.name())) { if (ObjectUtil.isNotEmpty(startDevice.getExtraValue().get("z"))) { HashMap map4 = new HashMap(); @@ -737,26 +804,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme } } if (StrUtil.equals(startDevice.getDevice_type(), DeviceType.storage.name())) { - HashMap map4 = new HashMap(); - map4.put("code", "to_y"); - map4.put("value", inst.getFrom_z()); - list.add(map4); - if (inst.getFrom_x().length() > 1) { - String substring = inst.getFrom_x().substring(1); - HashMap map5 = new HashMap(); - map5.put("code", "to_z"); - map5.put("value", substring); - list.add(map5); - } else { - HashMap map6 = new HashMap(); - map6.put("code", "to_z"); - map6.put("value", inst.getFrom_x()); - list.add(map6); - } - HashMap map7 = new HashMap(); - map7.put("code", "to_x"); - map7.put("value", inst.getFrom_y()); - list.add(map7); + pakagePlc(inst, list); } if (ObjectUtil.isNotEmpty(list)) { this.writing(list); @@ -767,6 +815,44 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme return true; } + private void pakagePlc(Instruction inst, List list) { + HashMap map4 = new HashMap(); + map4.put("code", "to_y"); + map4.put("value", inst.getFrom_z()); + list.add(map4); + if (inst.getFrom_x().length() > 1) { + String substring = inst.getFrom_x().substring(1); + HashMap map5 = new HashMap(); + map5.put("code", "to_z"); + map5.put("value", substring); + list.add(map5); + } else { + HashMap map6 = new HashMap(); + map6.put("code", "to_z"); + map6.put("value", inst.getFrom_x()); + list.add(map6); + } + HashMap map7 = new HashMap(); + map7.put("code", "to_x"); + map7.put("value", inst.getFrom_y()); + list.add(map7); + } + + private void pakageCommand( List list, String inst) { + HashMap map1 = new HashMap(); + map1.put("code", "to_device_code"); + map1.put("value", this.getDevice().getAddress()); + list.add(map1); + HashMap map2 = new HashMap(); + map2.put("code", "to_command"); + map2.put("value", 1); + list.add(map2); + HashMap map3 = new HashMap(); + map3.put("code", "to_task"); + map3.put("value", inst); + list.add(map3); + } + /** * 将指令根据优先级和创建时间排序 * diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java index ac4bfe2e7..bfe2862ca 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java @@ -617,7 +617,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { MDC.put(log_file_type, log_type); log.info("applyTaskToWms-----输入参数{}", param); String wmsurl = paramService.findByCode(AcsConfig.WMSURL).getValue(); - AddressDto addressDto = addressService.findByCode("applyUpdatePointCode"); + AddressDto addressDto = addressService.findByCode("deviceApplyExceptional"); String url = wmsurl + addressDto.getMethods_url(); HttpResponse result2 = null; try { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java index c6351d5f7..3b0d69177 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java @@ -445,5 +445,4 @@ public interface InstructionService extends CommonService { */ Boolean querySameNextDeviceCodeInstByOut(String nextDeviceCode); - void updateByInstructionCode(Instruction instructionUpdate); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java index 2a33b4ba4..b542529e8 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java @@ -1,11 +1,9 @@ package org.nl.acs.instruction.service.impl; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.stream.CollectorUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -17,7 +15,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; @@ -28,7 +25,6 @@ import org.nl.acs.agv.server.XianGongAgvService; import org.nl.acs.auto.initial.ApplicationAutoInitial; import org.nl.acs.common.base.CommonFinalParam; import org.nl.acs.device.domain.Device; -import org.nl.acs.device.domain.DeviceErpmapping; import org.nl.acs.device.enums.DeviceType; import org.nl.acs.device.service.DeviceService; import org.nl.acs.device.service.impl.DeviceServiceImpl; @@ -36,7 +32,6 @@ import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.DeviceDriverDefination; import org.nl.acs.device_driver.conveyor.belt_conveyor.BeltConveyorDeviceDriver; import org.nl.acs.device_driver.conveyor.siemens_conveyor.SiemensConveyorDeviceDriver; -import org.nl.acs.device_driver.conveyor.standard_conveyor_control.StandardCoveyorControlDeviceDriver; import org.nl.acs.device_driver.conveyor.standard_conveyor_control_with_scanner.StandardCoveyorControlWithScannerDeviceDriver; import org.nl.acs.device_driver.conveyor.standard_inspect_site.StandardInspectSiteDeviceDriver; import org.nl.acs.device_driver.two_conveyor.hongxiang_device.HongXiangConveyorDeviceDriver; @@ -1717,13 +1712,8 @@ public class InstructionServiceImpl extends CommonServiceImpl updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("instruction_code", instructionUpdate.getInstruction_code()); - instructionMapper.update(entity,updateWrapper); - } + + private boolean regional( String start_device_code, String next_device_code) { Device startdevice = deviceAppService.findDeviceByCode(start_device_code); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java index 45c25be8e..ce84c9005 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java @@ -511,5 +511,4 @@ public interface TaskService extends CommonService { */ TaskDto findByTaskCode(String task_code); - void updateByTaskCode(Task taskUpdate); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java index 3c822a197..55d4b3888 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java @@ -2,13 +2,12 @@ package org.nl.acs.task.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.map.MapUtil; -import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -30,9 +29,6 @@ import org.nl.acs.device.service.DeviceService; import org.nl.acs.device.service.dto.DeviceAssignedDto; import org.nl.acs.device.service.impl.DeviceServiceImpl; import org.nl.acs.device_driver.DeviceDriverDefination; -import org.nl.acs.device_driver.RequestMethodEnum; -import org.nl.acs.ext.wms.data.one.BaseRequest; -import org.nl.acs.ext.wms.data.one.feedBackTaskStatus.FeedBackTaskStatusRequest; import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.instruction.domain.Instruction; import org.nl.acs.instruction.domain.InstructionMybatis; @@ -48,7 +44,6 @@ import org.nl.acs.route.service.mapper.RoutePlanMapper; import org.nl.acs.task.enums.TaskStatusEnum; import org.nl.acs.task.enums.TaskTypeEnum; import org.nl.acs.task.service.TaskFeedbackService; -import org.nl.acs.task.service.dto.TaskFeedbackDto; import org.nl.acs.common.base.PageInfo; import org.nl.acs.common.base.QueryHelpMybatisPlus; import org.nl.acs.common.base.impl.CommonServiceImpl; @@ -75,7 +70,6 @@ import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.nio.charset.StandardCharsets; import java.util.*; import java.util.concurrent.CopyOnWriteArrayList; import java.util.regex.Matcher; @@ -1519,12 +1513,7 @@ public class TaskServiceImpl extends CommonServiceImpl impleme return null; } - @Override - public void updateByTaskCode(Task taskUpdate) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("task_code", taskUpdate.getTask_code()); - taskMapper.update(taskUpdate,updateWrapper); - } + /** * 把多个字符串拼接的inst_nextDevice_code解析成集合 diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/secutiry/impl/OnlineUserService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/secutiry/impl/OnlineUserService.java index 036c9a724..c7e8fc51f 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/secutiry/impl/OnlineUserService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/secutiry/impl/OnlineUserService.java @@ -15,6 +15,10 @@ */ package org.nl.system.service.secutiry.impl; +import cn.dev33.satoken.SaManager; +import cn.dev33.satoken.config.SaCookieConfig; +import cn.dev33.satoken.context.SaHolder; +import cn.dev33.satoken.context.model.SaCookie; import cn.dev33.satoken.secure.SaSecureUtil; import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.StpUtil; @@ -257,6 +261,19 @@ public class OnlineUserService { .setDevice("PC") .setExtra("loginInfo", user) ); + String tokenValue = StpUtil.getTokenValue(); + SaCookieConfig cfg = SaManager.getConfig().getCookie(); + SaCookie cookie = new SaCookie() + .setName(StpUtil.getTokenValue()) + .setValue(tokenValue) + .setMaxAge(-1) + .setDomain(cfg.getDomain()) + .setPath(cfg.getPath()) + .setSecure(cfg.getSecure()) + .setHttpOnly(cfg.getHttpOnly()) + .setSameSite(cfg.getSameSite()) + ; + SaHolder.getResponse().addCookie(cookie); // 返回 token 与 用户信息 JSONObject jsonObject = new JSONObject(); diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device.properties b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device.properties index d32c104d9..fd1981f89 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device.properties +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device.properties @@ -14,6 +14,7 @@ one_message14=\u7533\u8BF7\u4EFB\u52A1\u5931\u8D25 one_message15=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u63A5\u53E3\u4E0D\u901A one_message16=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u6210\u529F one_message17=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u5931\u8D25 +one_message18=\u672A\u627E\u5230\u66F4\u65B0\u7684\u70B9\u4F4D one_mode1=\u7533\u8BF7\u5165\u5E93\u4EFB\u52A1 one_mode2=\u7533\u8BF7\u7A7A\u6258\u76D8\u5165\u5E93 one_mode3=\u7533\u8BF7AGV\u4EFB\u52A1 diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device_en_US.properties b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device_en_US.properties index 5980c082f..5bc24ec89 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device_en_US.properties +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device_en_US.properties @@ -14,6 +14,8 @@ one_message14=Task request failed one_message15=The interface for applying for a complement to the AGV carrying task fails. Procedure one_message16=Succeeded in applying for the AGV transfer task. Procedure one_message17=Failed to apply for the AGV transfer task. Procedure +one_message18=No updated point found + one_mode1=Request a warehouse entry task one_mode2=Request empty pallets for storage one_mode3=Request AGV diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device_in_ID.properties b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device_in_ID.properties index 1e4bddf8e..80657582d 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device_in_ID.properties +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device_in_ID.properties @@ -14,6 +14,8 @@ one_message14=Misi aplikasi gagal one_message15=Permintaan kode tambahan AGV memindahkan antarmuka misi tidak tersedia one_message16=Minta ijin ke operasi AGV one_message17=Aplikasi bantuan AGV pemindahan gagal +one_message18=Titik pembaruan tidak ditemukan + one_mode1=Berlaku untuk tugas pustaka one_mode2=Pendaftaran nampan kosong one_mode3=Permintaan AGV diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device_zh_CN.properties b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device_zh_CN.properties index 67270528b..3ae3f4d8e 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device_zh_CN.properties +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/one_device/one_device_zh_CN.properties @@ -14,6 +14,8 @@ one_message14=\u7533\u8BF7\u4EFB\u52A1\u5931\u8D25 one_message15=\u7533\u8BF7\u8865\u7801AGV\u642C\u8FD0\u4EFB\u52A1\u63A5\u53E3\u4E0D\u901A one_message16=\u7533\u8BF7\u8865\u7801AGV\u642C\u8FD0\u4EFB\u52A1\u6210\u529F one_message17=\u7533\u8BF7\u8865\u7801AGV\u642C\u8FD0\u4EFB\u52A1\u5931\u8D25 +one_message18=\u672A\u627E\u5230\u66F4\u65B0\u7684\u70B9\u4F4D + one_mode1=\u7533\u8BF7\u5165\u5E93\u4EFB\u52A1 one_mode2=\u7533\u8BF7\u7A7A\u6258\u76D8\u5165\u5E93 one_mode3=\u7533\u8BF7AGV\u4EFB\u52A1 diff --git a/acs2/nladmin-ui/public/config.js b/acs2/nladmin-ui/public/config.js index c9ef333db..ce714251a 100644 --- a/acs2/nladmin-ui/public/config.js +++ b/acs2/nladmin-ui/public/config.js @@ -1,9 +1,9 @@ window.g = { dev: { - VUE_APP_BASE_API: 'http://192.168.101.1:8011' + VUE_APP_BASE_API: 'http://127.0.0.1:8011' }, prod: { - VUE_APP_BASE_API: 'http://192.168.101.1:8011' + VUE_APP_BASE_API: 'http://127.0.0.1:8011' } } From 2fa7a5424794a3aa58a1c1c464b5a79cda7739fe Mon Sep 17 00:00:00 2001 From: LENOVO <1793460677@qq.com> Date: Mon, 18 Mar 2024 10:59:44 +0800 Subject: [PATCH 2/5] =?UTF-8?q?add:=20=E8=A1=8C=E6=9E=B6=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E4=B8=BA=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/config/application-dev.yml | 7 ++++--- acs2/nladmin-ui/src/views/acs/device/config.vue | 4 +++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml b/acs2/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml index ae420fba8..e6a974ebe 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml @@ -9,11 +9,12 @@ spring: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy # url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:stand_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true - url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:lzhl_two_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true -# url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lzhl_two_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true +# url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:lzhl_two_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lzhl_two_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true + username: ${DB_USER:root} # password: ${DB_PWD:Root.123456} - password: ${DB_PWD:p@ssw0rd} + password: ${DB_PWD:123456} # 初始连接数 initial-size: 5 # 最小连接数 diff --git a/acs2/nladmin-ui/src/views/acs/device/config.vue b/acs2/nladmin-ui/src/views/acs/device/config.vue index 4ee8ce4ef..2eb9742a6 100644 --- a/acs2/nladmin-ui/src/views/acs/device/config.vue +++ b/acs2/nladmin-ui/src/views/acs/device/config.vue @@ -125,6 +125,7 @@ import return_good_manipulator from '@/views/acs/device/driver/one_manipulator/r import volume_two_manipulator from '@/views/acs/device/driver/one_manipulator/volume_two_manipulator.vue' import box_storage_out_conveyor from '@/views/acs/device/driver/one_conveyor/box_storage_out_conveyor.vue' import box_subvolumes_conveyor from '@/views/acs/device/driver/one_conveyor/box_subvolumes_conveyor.vue' +import manipulator_cache from '@/views/acs/device/driver/one_conveyor/manipulator_cache.vue' import finished_product_out_with_bind_lable_conveyor from '@/views/acs/device/driver/one_conveyor/finished_product_out_with_bind_lable_conveyor.vue' import fold_disc_site from '@/views/acs/device/driver/one_conveyor/fold_disc_site.vue' import scanner_weight_conveyor from '@/views/acs/device/driver/one_conveyor/scanner_weight_conveyor.vue' @@ -188,7 +189,8 @@ export default { xg_agv_car, oven_inspect_site, manipulator_agv_station, - volume_two_manipulator + volume_two_manipulator, + manipulator_cache }, dicts: ['device_type'], mixins: [crud], From 6903bdfa6dc8584b6aa3b2eedb0d5075898ed8be Mon Sep 17 00:00:00 2001 From: LENOVO <1793460677@qq.com> Date: Mon, 18 Mar 2024 11:03:09 +0800 Subject: [PATCH 3/5] =?UTF-8?q?add:=20=E8=A1=8C=E6=9E=B6=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E4=B8=BA=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../driver/one_conveyor/manipulator_cache.vue | 564 ++++++++++++++++++ 1 file changed, 564 insertions(+) create mode 100644 acs2/nladmin-ui/src/views/acs/device/driver/one_conveyor/manipulator_cache.vue diff --git a/acs2/nladmin-ui/src/views/acs/device/driver/one_conveyor/manipulator_cache.vue b/acs2/nladmin-ui/src/views/acs/device/driver/one_conveyor/manipulator_cache.vue new file mode 100644 index 000000000..d5459f42f --- /dev/null +++ b/acs2/nladmin-ui/src/views/acs/device/driver/one_conveyor/manipulator_cache.vue @@ -0,0 +1,564 @@ + + + + + From ecbf9077c7a3a05fb9b73ecbe701516aa5ce7ef4 Mon Sep 17 00:00:00 2001 From: yanps Date: Tue, 19 Mar 2024 13:08:35 +0800 Subject: [PATCH 4/5] =?UTF-8?q?opt:=20=E8=87=AA=E5=8A=A8=E9=97=A8=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/service/impl/TaskServiceImpl.java | 8 + .../run/TwoNDCSocketConnectionAutoRun.java | 8 +- .../standard_autodoor/ItemProtocol.java | 66 +++--- .../StandardAutodoorDefination.java | 16 +- .../StandardAutodoorDeviceDriver.java | 190 +++++++----------- 5 files changed, 120 insertions(+), 168 deletions(-) diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java b/acs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java index 34740dbfd..5f82b1174 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java @@ -279,7 +279,15 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial { map.put("point_code", point_code); } if (!StrUtil.isEmpty(create_time) && !StrUtil.isEmpty(end_time)) { + // 将字符串时间解析为日期对象 + Date date = DateUtil.parse(create_time.replace("Z", " UTC"), "yyyy-MM-dd'T'HH:mm:ss.SSS Z"); + // 将日期对象加上8小时 + /*Date newDate = DateUtil.offsetHour(date, 8);*/ + // 将新日期对象格式化为字符串时间 + create_time = DateUtil.formatDateTime(date); map.put("create_time", create_time); + Date date1 = DateUtil.parse(end_time.replace("Z", " UTC"), "yyyy-MM-dd'T'HH:mm:ss.SSS Z"); + end_time = DateUtil.formatDateTime(date1); map.put("end_time", end_time); } JSONObject jsonObject1 = diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/TwoNDCSocketConnectionAutoRun.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/TwoNDCSocketConnectionAutoRun.java index 4af089dc2..f4c18fdda 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/TwoNDCSocketConnectionAutoRun.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/TwoNDCSocketConnectionAutoRun.java @@ -30,7 +30,6 @@ import java.io.IOException; import java.net.InetSocketAddress; import java.net.Socket; import java.util.Date; -import java.util.List; import static org.nl.acs.agv.server.impl.NDCAgvServiceImpl.Bytes2HexString; @@ -233,13 +232,14 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable { if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) { standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver(); try { - standardAutodoorDeviceDriver.writing("to_command", 1); + standardAutodoorDeviceDriver.writing("to_open", "1"); + standardAutodoorDeviceDriver.writing("to_close", "0"); } catch (Exception e) { log.info("下发电气信号失败:" + e.getMessage()); e.printStackTrace(); } - if (standardAutodoorDeviceDriver.getAction() == 1 && standardAutodoorDeviceDriver.getTo_command() == 1) { - log.info("下发开门信号值为:{}", standardAutodoorDeviceDriver.getTo_command()); + if (standardAutodoorDeviceDriver.getOpen() == 1 && standardAutodoorDeviceDriver.getToOpen() == 1 ) { + log.info("下发开门信号值为:{},下发关门信号值为:{}", standardAutodoorDeviceDriver.getToOpen(), standardAutodoorDeviceDriver.getToClose()); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); } } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/autodoor/standard_autodoor/ItemProtocol.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/autodoor/standard_autodoor/ItemProtocol.java index 719a56825..ba8e72069 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/autodoor/standard_autodoor/ItemProtocol.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/autodoor/standard_autodoor/ItemProtocol.java @@ -1,5 +1,6 @@ package org.nl.acs.device_driver.autodoor.standard_autodoor; +import cn.hutool.core.util.StrUtil; import lombok.extern.slf4j.Slf4j; import org.nl.acs.device.device_driver.standard_inspect.ItemDto; @@ -8,13 +9,10 @@ import java.util.List; @Slf4j public class ItemProtocol { - public static String item_heartbeat = "heartbeat"; - public static String item_mode = "mode"; - public static String item_state = "state"; - public static String item_action = "action"; - public static String item_error = "error"; - public static String item_to_command = "to_command"; - public static String item_to_state = "to_state"; + public static String item_open = "open"; + public static String item_close = "close"; + public static String item_to_open = "to_open"; + public static String item_to_close = "to_close"; private StandardAutodoorDeviceDriver driver; @@ -23,35 +21,27 @@ public class ItemProtocol { this.driver = driver; } - public int getHeartbeat() { - return this.getOpcIntegerValue(item_heartbeat); + public int getOpen() { + return this.getOpcIntegerValue(item_open); } - public int getMode() { - return this.getOpcIntegerValue(item_mode); + public int getClose() { + return this.getOpcIntegerValue(item_close); } - public int getAction() { - return this.getOpcIntegerValue(item_action); + + public int getToOpen() { + return this.getOpcIntegerValue(item_to_open); } - public int getError() { - return this.getOpcIntegerValue(item_error); + public int getToClose() { + return this.getOpcIntegerValue(item_to_close); } - public int getToCommand() { - return this.getOpcIntegerValue(item_to_command); - } - - public int getToState() { - return this.getOpcIntegerValue(item_to_state); - } - - public int getOpcIntegerValue(String protocol) { Integer value = this.driver.getIntegeregerValue(protocol); if (value == null) { -// log.error("读取错误!"); + // log.error(this.getDriver().getDeviceCode() + ":protocol " + protocol + " 信号同步异常!"); } else { return value; } @@ -59,22 +49,34 @@ public class ItemProtocol { } + public String getOpcStringValue(String protocol) { + String value = this.driver.getStringValue(protocol); + if (StrUtil.isEmpty(value)) { + + } else { + return value; + } + return "0"; + } + public static List getReadableItemDtos() { ArrayList list = new ArrayList(); - list.add(new ItemDto(item_heartbeat, "心跳", "DB600.B0")); - list.add(new ItemDto(item_mode, "工作模式", "DB600.B1", Boolean.valueOf(true))); - list.add(new ItemDto(item_state, "工作状态", "DB600.B2")); - list.add(new ItemDto(item_action, "动作信号", "DB600.B3")); - list.add(new ItemDto(item_error, "报警信号", "DB600.B4")); + list.add(new ItemDto(item_open, "开到位", "10001")); + list.add(new ItemDto(item_close, "关到位", "10002")); return list; } public static List getWriteableItemDtos() { ArrayList list = new ArrayList(); - list.add(new ItemDto(item_to_command, "作业命令", "DB601.W2", Boolean.valueOf(true))); - list.add(new ItemDto(item_to_state, "下发状态", "DB601.W3", Boolean.valueOf(true))); + list.add(new ItemDto(item_to_open, "下发开门", "00001" )); + list.add(new ItemDto(item_to_close, "下发关门", "00002")); return list; } + + @Override + public String toString() { + return ""; + } } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/autodoor/standard_autodoor/StandardAutodoorDefination.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/autodoor/standard_autodoor/StandardAutodoorDefination.java index c37bb0cff..77ae81092 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/autodoor/standard_autodoor/StandardAutodoorDefination.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/autodoor/standard_autodoor/StandardAutodoorDefination.java @@ -2,12 +2,11 @@ package org.nl.acs.device_driver.autodoor.standard_autodoor; import org.nl.acs.device.device_driver.standard_inspect.ItemDto; import org.nl.acs.device.domain.Device; +import org.nl.acs.device.enums.DeviceType; import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.defination.OpcDeviceDriverDefination; -import org.nl.acs.device.enums.DeviceType; import org.springframework.stereotype.Service; -import java.util.ArrayList; import java.util.LinkedList; import java.util.List; @@ -31,6 +30,7 @@ public class StandardAutodoorDefination implements OpcDeviceDriverDefination { return "标准版-自动门"; } + @Override public DeviceDriver getDriverInstance(Device device) { return (new StandardAutodoorDeviceDriver()).setDevice(device).setDriverDefination(this); @@ -49,18 +49,10 @@ public class StandardAutodoorDefination implements OpcDeviceDriverDefination { return types; } + @Override public List getReadableItemDtos() { - return getReadableItemDtos2(); - } - - public static List getReadableItemDtos2() { - List list = new ArrayList(); - list.add(new ItemDto(ItemProtocol.item_heartbeat, "心跳", "DB600.B0")); - list.add(new ItemDto(ItemProtocol.item_mode, "工作状态", "DB600.B1", true)); - list.add(new ItemDto(ItemProtocol.item_action, "动作信号", "DB600.B2")); - list.add(new ItemDto(ItemProtocol.item_error, "报警信号", "DB600.B4")); - return list; + return ItemProtocol.getReadableItemDtos(); } @Override diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/autodoor/standard_autodoor/StandardAutodoorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/autodoor/standard_autodoor/StandardAutodoorDeviceDriver.java index d86e60da9..edcfcfced 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/autodoor/standard_autodoor/StandardAutodoorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/autodoor/standard_autodoor/StandardAutodoorDeviceDriver.java @@ -4,98 +4,41 @@ import com.alibaba.fastjson.JSONObject; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.nl.acs.common.base.CommonFinalParam; import org.nl.acs.device.domain.Device; -import org.nl.acs.ext.wms.data.one.feedBackTaskStatus.FeedBackTaskStatusRequest; -import org.nl.acs.ext.wms.service.AcsToWmsService; -import org.nl.acs.utils.ReadUtil; -import org.nl.acs.device.service.DeviceService; import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; -import org.nl.acs.instruction.service.InstructionService; -import org.nl.acs.route.service.RouteLineService; -import org.nl.acs.task.service.TaskService; +import org.nl.acs.log.service.DeviceExecuteLogService; +import org.nl.acs.monitor.DeviceStageMonitor; +import org.nl.acs.utils.ReadUtil; import org.nl.config.SpringContextHolder; import org.openscada.opc.lib.da.Server; -import java.util.Date; import java.util.HashMap; import java.util.Map; + /** * 自动门驱动 */ @Slf4j @Data @RequiredArgsConstructor -public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver { +public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver, DeviceStageMonitor { protected ItemProtocol itemProtocol = new ItemProtocol(this); + DeviceExecuteLogService logServer = SpringContextHolder.getBean("deviceExecuteLogServiceImpl"); - InstructionService instructionService = SpringContextHolder.getBean("instructionServiceImpl"); + int open = 0; + int close = 0; - DeviceService deviceservice = SpringContextHolder.getBean("deviceServiceImpl"); + int last_open = 0; + int last_close = 0; - RouteLineService routelineserver = SpringContextHolder.getBean("routeLineServiceImpl"); - - TaskService taskserver = SpringContextHolder.getBean("taskServiceImpl"); - - AcsToWmsService acsToWmsService = SpringContextHolder.getBean("acsToWmsServiceImpl"); - String container; - String container_type_desc; - String last_container_type_desc; - String last_container; - //放货准备锁 - String putReadyLock = null; - //有货标记 - protected boolean has_goods_tag = false; - String devicecode; - int mode = 0; - int action = 0; - int error = 0; - Boolean iserror = false; - - int move = 0; - int task = 0; - int state = 0; - int last_state = 0; - int last_action = 0; - int last_mode = 0; - int last_error = 0; - int last_move = 0; - int last_task = 0; - - boolean hasVehicle = false; - boolean isReady = false; - protected int instruction_num = 0; - protected int instruction_num_truth = 0; - protected boolean hasGoods = false; - boolean isFold = false; - private String assemble_check_tag; - private Boolean sampleMode0; - private Boolean sampleMode3; - private Integer sampleError; - private Boolean sampleOnline; - protected String displayMessage = null; - public int display_message_time_out = 30000; - public Date display_message_time; - protected String current_stage_instruction_message; - protected String last_stage_instruction_message; - Integer heartbeat_tag; - private Date instruction_require_time = new Date(); - private Date instruction_finished_time = new Date(); - - int to_command = 0; - int last_to_command = 0; - - - - private int instruction_require_time_out; - boolean requireSucess = false; - - private int instruction_finished_time_out; - - int branchProtocol = 0; + int toOpen = 0; + int last_toOpen = 0; + int toClose = 0; + int last_toClose = 0; + String device_code = null; @Override public Device getDevice() { @@ -107,55 +50,44 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem public void execute() { String message = null; - String device_code = this.getDevice().getDevice_code(); - mode = this.itemProtocol.getMode(); - action = this.itemProtocol.getAction(); - error = this.itemProtocol.getError(); - to_command = this.itemProtocol.getToCommand(); - if (mode != last_mode) { + device_code = this.getDevice().getDevice_code(); + open = this.itemProtocol.getOpen(); + close = this.itemProtocol.getClose(); + toOpen = this.itemProtocol.getToOpen(); + toClose = this.itemProtocol.getToClose(); + if (open != last_open) { + logServer.deviceExecuteLog(this.device_code, "", "", "信号open:" + last_open + "->" + open); } - if (action != last_action) { + if (close != last_close) { + logServer.deviceExecuteLog(this.device_code, "", "", "信号close:" + last_close + "->" + close); + if(close ==1 ){ + this.writing("to_close","0"); + } } - if (error != last_error) { - } - if (state != last_state) { - //固化室状态变更后通知lms更新固化室状态 - FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest(); - request.setState(String.valueOf(state)); - request.setDevice_code(this.devicecode); - request.setType(CommonFinalParam.ONE); - acsToWmsService.notify(request); - } - last_action = action; - last_mode = mode; - last_error = error; - last_state = state; - last_to_command = to_command; - //message = StringFormatUtl.format("设备报警:{}", new Object[]{}); - -// String manual_create_task = this.getDevice().getExtraValue().get("manual_create_task").toString(); + if (toClose != last_toClose) { + logServer.deviceExecuteLog(this.device_code, "", "", "信号toClose:" + last_toClose + "->" + toClose); + } + if (toOpen != last_toOpen) { + logServer.deviceExecuteLog(this.device_code, "", "", "信号toOpen:" + last_toOpen + "->" + toOpen); + } + last_open = open; + last_close = close; + last_toClose = toClose; + last_toOpen = toOpen; } - public synchronized String getStatus() { - JSONObject jo = new JSONObject(); - if (action == 1) { - jo.put("name", this.getDevice().getDevice_code()); - jo.put("status", "OPEN"); + public void writing(String param, String value) { + String to_param = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + param; + Map itemMap = new HashMap(); + itemMap.put(to_param, Integer.parseInt(value)); - } else if (action == 2) { - jo.put("name", this.getDevice().getDevice_code()); - jo.put("status", "CLOSE"); - - } else { - jo.put("name", this.getDevice().getDevice_code()); - jo.put("status", "ERROR"); - } - return jo.toString(); + this.control(itemMap); + logServer.deviceExecuteLog(device_code, "", "", "下发电气信号设备号:" + device_code + ",下发电气:" + to_param + ",下发电气值:" + value); } - public void writing(String param, int command) { String to_command = String.format("%s.%s.%s.%s", this.getDevice().getOpc_server_code(), this.getDevice().getOpc_plc_code(), this.getDevice().getDevice_code(), param); @@ -165,19 +97,37 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem itemMap.put(to_command, command); ReadUtil.write(itemMap, server); log.info("下发PLC信号:{},{}", to_command, command); - System.out.println("设备:" + devicecode + ",下发PLC信号:" + to_command + ",value:" + command); + System.out.println("设备:" + this.device_code + ",下发PLC信号:" + to_command + ",value:" + command); } - public synchronized void OpenOrClose(String type) { - - //开门 - if (CommonFinalParam.ONE.equals(type)) { - writing(ItemProtocol.item_to_command, 1); - } else { - writing(ItemProtocol.item_to_command, 2); + @Override + public JSONObject getDeviceStatusName() { + JSONObject jo = new JSONObject(); + String open = ""; + String close = ""; + if (this.getOpen() == 0) { + open = "未知"; + } else if (this.getOpen() == 1) { + open = "开到位"; } + if (this.getClose() == 0) { + open = "未知"; + } else if (this.getClose() == 1) { + open = "关到位"; + } + jo.put("device_name", this.getDevice().getDevice_name()); + jo.put("open", open); + jo.put("close", close); + jo.put("isOnline", true); + + return jo; + } + + @Override + public void setDeviceStatus(JSONObject data) { } + } From 080fd348e3f52c51b77ad2d99efcf32d216238ef Mon Sep 17 00:00:00 2001 From: "ZHOUZ\\Noble'lift" <1014987728@qq.com> Date: Tue, 19 Mar 2024 14:20:41 +0800 Subject: [PATCH 5/5] =?UTF-8?q?rev:=E9=A1=B5=E9=9D=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/wms/autotask/CleanTask.java | 27 ++++++++++ .../master/rest/MaterialbaseController.java | 9 ---- .../master/service/MaterialbaseService.java | 2 - .../service/impl/MaterialbaseServiceImpl.java | 7 --- .../nl/wms/sch/service/wql/QSCH_TASK_01.wql | 2 + .../st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql | 51 ------------------- .../org/nl/wms/stat/wql/SendReceiveQuery.wql | 21 ++------ lms/nladmin-ui/src/views/login.vue | 2 +- .../wms/basedata/master/material/index.vue | 22 +------- .../basedata/master/material/materialbase.js | 10 +--- .../views/wms/pdm/ivt/cutpointivt/index.vue | 2 +- .../src/views/wms/pdm/ivt/package/index.vue | 2 +- .../wms/pdm/order/slittingplan/index.vue | 2 +- .../src/views/wms/sch/point/index.vue | 6 ++- .../src/views/wms/st/inAndOutReturn/index.vue | 22 ++++---- .../src/views/wms/st/inStor/check/index.vue | 14 ++--- .../src/views/wms/st/inbill/AddDialog.vue | 2 +- .../src/views/wms/st/inbill/index.vue | 6 +-- .../src/views/wms/st/outbill/AddDialog.vue | 2 +- .../src/views/wms/st/outbill/DivDialog.vue | 2 +- .../src/views/wms/stat/pastivt/index.vue | 24 ++++----- .../wms/statistics/sendReceiveQuery/index.vue | 10 ---- 22 files changed, 78 insertions(+), 169 deletions(-) create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/autotask/CleanTask.java diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/autotask/CleanTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/autotask/CleanTask.java new file mode 100644 index 000000000..2feac49b0 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/autotask/CleanTask.java @@ -0,0 +1,27 @@ +package org.nl.wms.autotask; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.system.service.param.ISysParamService; +import org.springframework.stereotype.Component; + +/** + * 自动清除日志(操作日志、异常日志)数据 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class CleanTask { + private final ISysParamService paramService; + + public void run() { + //delete from sys_log where DATE(create_time) <= DATE(DATE_SUB(NOW(),INTERVAL 30 day)) limit 10; + WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); + int days = Integer.parseInt(paramService.findByCode("task_day").getValue()); + taskTab.delete("DATE(create_time) <= DATE(DATE_SUB(NOW(),INTERVAL " + days + " day))"); + + log.info("自动清理任务执行成功...!"); + } + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/MaterialbaseController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/MaterialbaseController.java index 5b7e71d47..c960062d2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/MaterialbaseController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/MaterialbaseController.java @@ -83,15 +83,6 @@ public class MaterialbaseController { return new ResponseEntity<>(MaterOptTypeEnum.getObj(materOpt_code), HttpStatus.OK); } - @PostMapping("/synchronize") - @Log("物料同步") - - //@PreAuthorize("@el.check('materialtype:list')") - public ResponseEntity synchronize(@RequestBody Map whereJson) { - materialBaseService.synchronize(whereJson); - return new ResponseEntity<>(HttpStatus.OK); - } - @Log("查询产品系列类型") @GetMapping("/getProductSeries") diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/MaterialbaseService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/MaterialbaseService.java index 7b69d9d38..ed22cc14f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/MaterialbaseService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/MaterialbaseService.java @@ -88,8 +88,6 @@ public interface MaterialbaseService { */ JSONObject getMaterOptType(String materOpt_code); - void synchronize(Map whereJson); - JSONArray getProductSeries(String parent_class_id); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java index 3ad1abbb6..6ea777cfa 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java @@ -39,7 +39,6 @@ import java.util.Set; @Slf4j public class MaterialbaseServiceImpl implements MaterialbaseService { private final ClassstandardService classstandardService; - //private final WmsToErpService wmsToErpService; @Override public Map queryAll(Map whereJson, Pageable page) { @@ -214,12 +213,6 @@ public class MaterialbaseServiceImpl implements MaterialbaseService { return MaterOptTypeEnum.getObj(materOpt_code); } - @Override - public void synchronize(Map whereJson) { - /* wmsToErpService.getClassInfo(null); - wmsToErpService.getMaterialInfo(null);*/ - } - @Override public JSONArray getProductSeries(String parent_class_id) { WQLObject wo = WQLObject.getWQLObject("MD_PB_ClassStandard"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/wql/QSCH_TASK_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/wql/QSCH_TASK_01.wql index 3373402ea..0b37c4b2a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/wql/QSCH_TASK_01.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/wql/QSCH_TASK_01.wql @@ -55,11 +55,13 @@ SELECT task.*, md.class_name task_type_name, + user.person_name AS create_name1, dict.label task_status_name, case when task.task_type like '0105%' then 'LK' ELSE task.product_area end AS final_product_area FROM sch_base_task task LEFT JOIN md_pb_classstandard md ON task.task_type = md.class_code + LEFT JOIN sys_user user ON user.username = task.create_name LEFT JOIN sys_dict dict ON dict.`value` = task.task_status AND dict.`code` = 'task_status' WHERE 1=1 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql index 9249da216..c7746bbf1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql @@ -340,57 +340,6 @@ ENDQUERY ENDIF - IF 输入.flag = "8" - PAGEQUERY - SELECT - pp.CREATE_DATE AS receive_date, - pp.VBILLCODE AS source_bill_code, - mb.material_code, - mb.material_name, - class.class_desc, - mb.material_id, - pp.QTY AS receive_qty, - ( CASE WHEN a.real_qty IS NULL THEN pp.QTY ELSE ( pp.QTY - a.real_qty ) END ) AS need_qty, - mu.unit_name AS qty_unit_name, - '采购订单' AS source_type_name, - mu.measure_unit_id AS qty_unit_id, - pp.id AS source_billdtl_id, - 'PO' AS source_bill_type, - 'PCS_IF_PurchaseOrderProc' AS source_bill_table, - pp.id AS base_billdtl_id, - 'PO' AS base_bill_type, - '' AS base_bill_code, - 'PCS_IF_PurchaseOrderProc' AS base_bill_table - FROM - pcs_if_purchaseorderproc pp - LEFT JOIN md_me_materialbase mb ON mb.ext_id = pp.ITEM_ID - INNER JOIN md_pb_classstandard class ON class.class_id = mb.material_type_id - INNER JOIN md_pb_measureunit mu ON mu.ext_id = pp.M_UNIT_ID - LEFT JOIN ( SELECT dtl.source_billdtl_id, SUM( dtl.real_qty ) AS real_qty FROM st_ivt_iostorinvdtl dtl GROUP BY source_billdtl_id ) a ON a.source_billdtl_id = pp.id - WHERE - pp.proc_status IN ( '01', '02' ) - AND - pp.DR='0' - AND - mb.material_type_id IN 输入.clsss_ids - OPTION 输入.material_search <> "" - (mb.material_code like 输入.material_search - OR - mb.material_name like 输入.material_search) - ENDOPTION - OPTION 输入.bill_code <> "" - pp.VBILLCODE like 输入.bill_code - ENDOPTION - OPTION 输入.begin_time <> "" - pp.CREATE_DATE >= 输入.begin_time - ENDOPTION - OPTION 输入.end_time <> "" - pp.CREATE_DATE <= 输入.end_time - ENDOPTION - ENDSELECT - ENDPAGEQUERY - ENDIF - IF 输入.flag = "9" PAGEQUERY SELECT diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/SendReceiveQuery.wql b/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/SendReceiveQuery.wql index 65021bc4f..472ff5511 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/SendReceiveQuery.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/SendReceiveQuery.wql @@ -18,7 +18,6 @@ 输入.begin_time TYPEAS s_string 输入.end_time TYPEAS s_string 输入.material_code TYPEAS s_string - 输入.classIds TYPEAS f_string 输入.pcsn TYPEAS s_string 输入.sap_pcsn TYPEAS s_string 输入.package_box_sn TYPEAS s_string @@ -53,14 +52,9 @@ stor.stor_name, da.sect_date, da.pcsn, - da.quality_scode, - class.class_name, - class.class_code, mater.material_id, mater.material_code, mater.material_name, - mater.material_model, - unit.unit_name, da.start_num, da.in_num, da.out_num, @@ -77,22 +71,17 @@ sum(end_num) AS end_num, sum(more_num) AS more_num, sum(less_num) AS less_num, - max(material_id) AS material_id, + max( material_id ) AS material_id, max(stor_id) AS stor_id, - max(sect_date) AS sect_date, - max(quality_scode) AS quality_scode, - max(pcsn) AS pcsn + sect_date, + pcsn FROM ST_IVT_IOStorDaily a GROUP BY - a.material_id, - a.quality_scode, a.pcsn, a.sect_date ) AS da LEFT JOIN MD_ME_MaterialBase mater ON da.material_id = mater.material_id - LEFT JOIN md_pb_classstandard class ON mater.material_type_id = class.class_id - LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = mater.base_unit_id LEFT JOIN st_ivt_bsrealstorattr stor ON stor.stor_id = da.stor_id LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = da.pcsn WHERE 1=1 @@ -127,10 +116,6 @@ sub.package_box_sn like 输入.package_box_sn ENDOPTION - OPTION 输入.classIds <> "" - class.class_id in 输入.classIds - ENDOPTION - ENDSELECT ENDPAGEQUERY ENDIF diff --git a/lms/nladmin-ui/src/views/login.vue b/lms/nladmin-ui/src/views/login.vue index 59876e706..fecaae2f5 100644 --- a/lms/nladmin-ui/src/views/login.vue +++ b/lms/nladmin-ui/src/views/login.vue @@ -56,7 +56,7 @@ export default { cookiePass: '', loginForm: { username: 'admin', - password: '123456', + password: '', rememberMe: false, code: '', uuid: '' diff --git a/lms/nladmin-ui/src/views/wms/basedata/master/material/index.vue b/lms/nladmin-ui/src/views/wms/basedata/master/material/index.vue index 13a7cd9a5..6f317bc34 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/master/material/index.vue +++ b/lms/nladmin-ui/src/views/wms/basedata/master/material/index.vue @@ -36,18 +36,7 @@ - - - 同步 - - + { - this.fullscreenLoading = false - this.crud.notify('同步成功!', CRUD.NOTIFICATION_TYPE.SUCCESS) - }).catch(() => { - this.fullscreenLoading = false - }) - }, queryClassId() { const param = { 'class_idStr': this.class_idStr diff --git a/lms/nladmin-ui/src/views/wms/basedata/master/material/materialbase.js b/lms/nladmin-ui/src/views/wms/basedata/master/material/materialbase.js index 719b2a112..3b3f371f3 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/master/material/materialbase.js +++ b/lms/nladmin-ui/src/views/wms/basedata/master/material/materialbase.js @@ -40,14 +40,6 @@ export function isAlongMaterType(data) { }) } -export function synchronize(data) { - return request({ - url: 'api/Materialbase/synchronize', - method: 'post', - data - }) -} - export function getProductSeries() { return request({ url: 'api/Materialbase/getProductSeries', @@ -55,4 +47,4 @@ export function getProductSeries() { }) } -export default { add, edit, del, getMaterOptType, isAlongMaterType, synchronize, getProductSeries } +export default { add, edit, del, getMaterOptType, isAlongMaterType, getProductSeries } diff --git a/lms/nladmin-ui/src/views/wms/pdm/ivt/cutpointivt/index.vue b/lms/nladmin-ui/src/views/wms/pdm/ivt/cutpointivt/index.vue index d85b120b6..1a1a28ffc 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/ivt/cutpointivt/index.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/ivt/cutpointivt/index.vue @@ -175,7 +175,7 @@ - +