From ecbf9077c7a3a05fb9b73ecbe701516aa5ce7ef4 Mon Sep 17 00:00:00 2001 From: yanps Date: Tue, 19 Mar 2024 13:08:35 +0800 Subject: [PATCH 1/7] =?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 2/7] =?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 @@ - + @@ -338,7 +355,8 @@ export default { invtypelist: [], pointList: [], rules: { - } + }, + overdue_qyt: 0 } }, watch: { @@ -459,6 +477,7 @@ export default { deleteRow(row) { checkoutbill.oneCancel(row).then(res => { this.queryTableDtl() + this.updataIsOverdue() }) }, handleDtlCurrentChange(current) { @@ -517,6 +536,7 @@ export default { checkoutbill.allDiv(this.mstrow).then(res => { this.crud.notify('分配成功!', CRUD.NOTIFICATION_TYPE.INFO) this.queryTableDtl() + this.updataIsOverdue() this.loadingAlldiv = false }).catch(() => { this.loadingAlldiv = false @@ -532,6 +552,7 @@ export default { this.mstrow.iostorinvdtl_id = this.currentRow.iostorinvdtl_id checkoutbill.allDivOne(this.mstrow).then(res => { this.queryTableDtl() + this.updataIsOverdue() this.loadingAutodiv = false }).catch(() => { this.loadingAutodiv = false @@ -542,6 +563,7 @@ export default { this.loadingAlldiv = true checkoutbill.allCancel(this.mstrow).then(res => { this.queryTableDtl() + this.updataIsOverdue() this.loadingAlldiv = false }).catch(() => { this.loadingAlldiv = false @@ -553,6 +575,7 @@ export default { checkoutbill.allCancel(this.currentRow).then(res => { this.queryTableDtl() this.loadingAlldiv = false + this.updataIsOverdue() }).catch(() => { this.loadingAlldiv = false }) @@ -673,6 +696,10 @@ export default { this.tableDtl = res }) }, + queryTableDtl2() { + this.queryTableDtl() + this.updataIsOverdue() + }, queryTableDdis(iostorinvdtl_id) { checkoutbill.getOutBillDis2({ 'iostorinvdtl_id': iostorinvdtl_id, 'bill_status': '01' }).then(res => { this.tabledis = res @@ -689,6 +716,23 @@ export default { return 'background: yellow' } } + }, + rowStyle({ row, rowIndex }) { + const stylejson = {} + + if (this.rowmst.is_overdue === '1') { + if (row.is_overdue === '1') { + stylejson.background = '#f3f071' + return stylejson + } + } + }, + updataIsOverdue() { + this.rowmst.iostorinvdtl_id = this.currentRow.iostorinvdtl_id + checkoutbill.updataIsOverdue(this.rowmst).then(res => { + this.overdue_qyt = res.overdue_qyt + this.rowmst = res.mst + }) } } } diff --git a/lms/nladmin-ui/src/views/wms/st/outbill/checkoutbill.js b/lms/nladmin-ui/src/views/wms/st/outbill/checkoutbill.js index f63c48161..289a2d586 100644 --- a/lms/nladmin-ui/src/views/wms/st/outbill/checkoutbill.js +++ b/lms/nladmin-ui/src/views/wms/st/outbill/checkoutbill.js @@ -241,4 +241,11 @@ export function outReturn(data) { data }) } -export default { add, edit, del, allDiv, allCancel, getOutBillDtl, getOutBillDis, getOutBillDis2, setPoint, oneSetPoint, getOutBillTask, getStructIvt, manualDiv, confirm, issueTask, finishTask, cancleTaskfinish, getInvTypes, paramByCodeType, schAreaType, backConfirm, getOutBillDisDtl, getType, allDivOne, moneySubmit, getDisNum, queryBox, getOutBillTask2, oneCancel, cancelTask, allSetPoint, oneSetPoint2, outReturn } +export function updataIsOverdue(data) { + return request({ + url: '/api/checkoutbill/updataIsOverdue', + method: 'post', + data + }) +} +export default { add, edit, del, allDiv, allCancel, getOutBillDtl, getOutBillDis, getOutBillDis2, setPoint, oneSetPoint, getOutBillTask, getStructIvt, manualDiv, confirm, issueTask, finishTask, cancleTaskfinish, getInvTypes, paramByCodeType, schAreaType, backConfirm, getOutBillDisDtl, getType, allDivOne, moneySubmit, getDisNum, queryBox, getOutBillTask2, oneCancel, cancelTask, allSetPoint, oneSetPoint2, outReturn, updataIsOverdue } diff --git a/lms/nladmin-ui/src/views/wms/st/outbill/index.vue b/lms/nladmin-ui/src/views/wms/st/outbill/index.vue index 8362bc70a..36df88fc5 100644 --- a/lms/nladmin-ui/src/views/wms/st/outbill/index.vue +++ b/lms/nladmin-ui/src/views/wms/st/outbill/index.vue @@ -319,6 +319,7 @@ + @@ -375,7 +376,7 @@ export default { }, mixins: [presenter(), header(), crud()], // 数据字典 - dicts: ['io_bill_status', 'ST_CREATE_MODE', 'ST_INV_OUT_TYPE', 'is_upload'], + dicts: ['io_bill_status', 'ST_CREATE_MODE', 'ST_INV_OUT_TYPE', 'is_upload', 'IS_OR_NOT'], data() { return { height: document.documentElement.clientHeight - 180 + 'px;', @@ -510,6 +511,9 @@ export default { create_modeFormat(row) { return this.dict.label.ST_CREATE_MODE[row.create_mode] }, + isOverdue(row) { + return this.dict.label.IS_OR_NOT[row.is_overdue] + }, handleCurrentChange(current) { if (current === null) { this.dis_flag = true From e42fdec93a99615cb73ab67e0f4461391eca4d56 Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 19 Mar 2024 14:30:43 +0800 Subject: [PATCH 4/7] =?UTF-8?q?rev=EF=BC=9A=E4=BB=A3=E7=A0=81=E5=90=88?= =?UTF-8?q?=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/wms/basedata/st/rest/StructivtController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructivtController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructivtController.java index bd0b2b469..c5b40bc46 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructivtController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructivtController.java @@ -39,6 +39,7 @@ public class StructivtController { //@PreAuthorize("@el.check('structivt:list')") public ResponseEntity query(@RequestParam Map whereJson, Pageable page, String[] product_area, String[] ivt_flag) { return new ResponseEntity<>(structivtService.queryAll(whereJson, page, product_area, ivt_flag), HttpStatus.OK); + } @PostMapping From 7b7d4d542aa94579ef5fc36683104241d29db10e Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 19 Mar 2024 15:00:05 +0800 Subject: [PATCH 5/7] =?UTF-8?q?rev=EF=BC=9A=E6=88=90=E5=93=81=E6=8A=A5?= =?UTF-8?q?=E5=BA=9F=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/st/instor/service/impl/ProductScrapServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/ProductScrapServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/ProductScrapServiceImpl.java index 9d1f70e4a..171b7c366 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/ProductScrapServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/ProductScrapServiceImpl.java @@ -488,10 +488,10 @@ public class ProductScrapServiceImpl implements ProductScrapService { String pcsn = list.get(0).toString(); // sap批次号 String sap_pcsn = list.get(1).toString(); - // 木箱号 +/* // 木箱号 String box_no = list.get(2).toString(); // 重量 - String qty = list.get(3).toString(); + String qty = list.get(3).toString();*/ // 子卷号和批次号必须有一个不为空 if (ObjectUtil.isEmpty(pcsn) && ObjectUtil.isEmpty(sap_pcsn)) { From 3e808280adb44e96a684cb711a844f031e2e4fe2 Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 19 Mar 2024 15:26:52 +0800 Subject: [PATCH 6/7] =?UTF-8?q?rev=EF=BC=9A=E6=88=90=E5=93=81=E6=8A=A5?= =?UTF-8?q?=E5=BA=9F=E5=AE=A1=E6=A0=B8=E6=96=B0=E5=A2=9E=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ProductScrapServiceImpl.java | 25 +++++++++++++++++++ .../st/instor/wql/QST_IVT_PRODUCTSCRAP.wql | 12 +++++++++ 2 files changed, 37 insertions(+) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/ProductScrapServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/ProductScrapServiceImpl.java index 171b7c366..1de86337c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/ProductScrapServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/ProductScrapServiceImpl.java @@ -479,6 +479,10 @@ public class ProductScrapServiceImpl implements ProductScrapService { .addParam("flag", "3").addParam("stor_id", stor_id).addParam("in_stor_id",in_stor_id) .process().getResultJSONArray(0).toJavaList(JSONObject.class); + // 查询不合格品来源字典 + List dictList = WQL.getWO("QST_IVT_PRODUCTSCRAP").addParam("flag", "3") + .process().getResultJSONArray(0).toJavaList(JSONObject.class); + // 循环获取的数据 ArrayList resultList = new ArrayList<>(); for (int i = 0; i < read.size(); i++) { @@ -492,6 +496,10 @@ public class ProductScrapServiceImpl implements ProductScrapService { String box_no = list.get(2).toString(); // 重量 String qty = list.get(3).toString();*/ + // 不合格品来源 + String fail_source = list.get(4).toString(); + // 不合格描述 + String remark = list.get(5).toString(); // 子卷号和批次号必须有一个不为空 if (ObjectUtil.isEmpty(pcsn) && ObjectUtil.isEmpty(sap_pcsn)) { @@ -513,6 +521,23 @@ public class ProductScrapServiceImpl implements ProductScrapService { .filter(row -> row.getString("storagevehicle_code").equals(json.getString("storagevehicle_code"))) .collect(Collectors.toList()); + // 匹配不合格品来源 + String value = ""; + List label = dictList.stream() + .filter(row -> row.getString("label").equals(fail_source)) + .collect(Collectors.toList()); + + if (ObjectUtil.isNotEmpty(label)) { + value = label.get(0).getString("value"); + } + + // 插入不合格品来源、不合格品描述 + String finalValue = value; + boxList.forEach(row -> { + row.put("fail_source", finalValue); + row.put("remark",remark); + }); + resultList.addAll(boxList); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_PRODUCTSCRAP.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_PRODUCTSCRAP.wql index d3dcb1ca1..cae98e5cd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_PRODUCTSCRAP.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_PRODUCTSCRAP.wql @@ -109,4 +109,16 @@ order by dtl.seq_no ENDSELECT ENDQUERY + ENDIF + + IF 输入.flag = "3" + QUERY + SELECT + * + FROM + sys_dict + WHERE + code = 'FAIL_SOURCE' + ENDSELECT + ENDQUERY ENDIF \ No newline at end of file From c9fb151de52e908840c03fb7b3ee0d7d56fff80e Mon Sep 17 00:00:00 2001 From: yanps Date: Tue, 19 Mar 2024 18:23:10 +0800 Subject: [PATCH 7/7] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E8=BF=9E=E7=BB=AD?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=A4=9A=E4=B8=AA=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IndoorManipulatorDeviceDriver.java | 4 ++++ .../service/impl/InstructionServiceImpl.java | 12 ++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/indoor_manipulator/IndoorManipulatorDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/indoor_manipulator/IndoorManipulatorDeviceDriver.java index 9c9b1ce2d..ad89dd0c2 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/indoor_manipulator/IndoorManipulatorDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/indoor_manipulator/IndoorManipulatorDeviceDriver.java @@ -251,6 +251,10 @@ public class IndoorManipulatorDeviceDriver extends AbstractOpcDeviceDriver imple inst = null; message = null; } + if(mode == 2 && requireSucess){ + this.setRequireSucess(false); + logServer.deviceExecuteLog(this.device_code, "", "", "再次信号复位requireSuccess:" + requireSucess); + } logServer.deviceItemValue(this.device_code, "mode", String.valueOf(mode)); logServer.deviceExecuteLog(this.device_code, "", "", "信号mode:" + last_mode + "->" + mode); } 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 0c4f4a588..5b464fae6 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,6 +1,7 @@ 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; @@ -15,6 +16,7 @@ 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; @@ -367,10 +369,12 @@ public class InstructionServiceImpl extends CommonServiceImpl instructionMybatis = instructionMapper.selectList(Wrappers.lambdaQuery(InstructionMybatis.class) + .eq(InstructionMybatis::getTask_code, dto.getTask_code())); + if(CollUtil.isNotEmpty(instructionMybatis) && instructionMybatis.stream().anyMatch(inst -> inst.getStart_device_code() + .equals(start_device_code))){ return; } } @@ -436,7 +440,7 @@ public class InstructionServiceImpl extends CommonServiceImpl shortPathsList =