diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/oven_manipulator/OvenGantryManipulatorDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/oven_manipulator/OvenGantryManipulatorDeviceDriver.java index 6fbc82193..f6c3817c7 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/oven_manipulator/OvenGantryManipulatorDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/oven_manipulator/OvenGantryManipulatorDeviceDriver.java @@ -39,6 +39,7 @@ import org.nl.acs.task.service.dto.TaskDto; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.system.service.ParamService; import org.nl.modules.system.service.impl.ParamServiceImpl; +import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.util.SpringContextHolder; import org.openscada.opc.lib.da.Server; import org.springframework.beans.factory.annotation.Autowired; @@ -579,6 +580,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i instdto.setPriority(priority); instdto.setInstruction_status("0"); instdto.setExecute_device_code(start_point_code); + instdto.setInstruction_code(CodeUtil.getNewCode("INSTRUCT_NO")); //判断关联的同一列烘箱设备是否都关门 都关门返回false,有一个不关门就返回true boolean isCloseDoor = this.judgeCloseDoor(instdto.getStart_device_code(), instdto.getNext_device_code()); @@ -614,7 +616,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i String start_addr = startDevice.getExtraValue().get("address").toString(); String next_addr = nextDevice.getExtraValue().get("address").toString(); logServer.deviceExecuteLog(device_code, "", "", "当前设备:" + device_code + ",下发指令:" - + instdto.getInstruction_code() + ",指令起点:" + instdto.getStart_device_code() + + instdto.getInstruction_code() +";指令号: "+ CodeUtil.getNewCode("INSTRUCT_NO") + ",指令起点:" + instdto.getStart_device_code() + ",指令终点:" + instdto.getNext_device_code()); this.writing("to_onset", start_addr); this.writing("to_target", next_addr); diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/siemens_conveyor/SiemensConveyorDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/siemens_conveyor/SiemensConveyorDeviceDriver.java index 1d4486e82..9ac8f9e9c 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/siemens_conveyor/SiemensConveyorDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/siemens_conveyor/SiemensConveyorDeviceDriver.java @@ -469,16 +469,24 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme applyManipulatorActionRequest.setTask_code1(inst.getTask_code()); logServer.deviceExecuteLog(this.device_code, "", "", "task变化请求LMS,参数:" + applyManipulatorActionRequest); try { - for (int i = 0; i < 5; i++) { - ApplyManipulatorActionResponse response = acsToWmsService.actionFinishRequest(applyManipulatorActionRequest); - if (response == null || response.getstatus() == 200) { - logServer.deviceExecuteLog(this.device_code, "", "", "task变化请求LMS,接口返回:" + response.getMessage()); - break; - } else { - message = "task变化请求LMS失败: " + response.getMessage(); - Thread.sleep(15000); + final ThreadPoolExecutor EXECUTOR = ThreadPoolExecutorUtil.getPoll(); + EXECUTOR.submit(() -> { + for (int i = 0; i < 5; i++) { + ApplyManipulatorActionResponse response = acsToWmsService.actionFinishRequest(applyManipulatorActionRequest); + if (response == null || response.getstatus() == 200) { + logServer.deviceExecuteLog(this.device_code, "", "", "task变化请求LMS,接口返回:" + response.getMessage()); + break; + } else { + logServer.deviceExecuteLog(this.device_code, "", "", "任务变化请求LMS失败:" + response.getMessage()); + message = "task变化请求LMS失败: " + response.getMessage(); + try { + Thread.sleep(15000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } } - } + }); } catch (Exception e) { e.printStackTrace(); logServer.deviceExecuteLog(this.device_code, "", "", "task变化请求LMS失败" + e.getMessage()); diff --git a/acs/nladmin-ui/src/assets/images/logo.png b/acs/nladmin-ui/src/assets/images/logo.png index f75771096..9675cc8b9 100644 Binary files a/acs/nladmin-ui/src/assets/images/logo.png and b/acs/nladmin-ui/src/assets/images/logo.png differ diff --git a/acs/nladmin-ui/src/assets/images/logo1.png b/acs/nladmin-ui/src/assets/images/logo1.png new file mode 100644 index 000000000..f75771096 Binary files /dev/null and b/acs/nladmin-ui/src/assets/images/logo1.png differ diff --git a/acs/nladmin-ui/src/layout/components/Sidebar/Logo.vue b/acs/nladmin-ui/src/layout/components/Sidebar/Logo.vue index bc2a53d0b..f05e56633 100644 --- a/acs/nladmin-ui/src/layout/components/Sidebar/Logo.vue +++ b/acs/nladmin-ui/src/layout/components/Sidebar/Logo.vue @@ -70,8 +70,8 @@ export default { width: 100%; & .sidebar-logo { - width: 32px; - height: 32px; + width: 55px; + height: 15px; vertical-align: middle; margin-right: 6px; } diff --git a/acs/nladmin-ui/src/views/acs/device/opc/index.vue b/acs/nladmin-ui/src/views/acs/device/opc/index.vue index 1afca03d7..8fabb2326 100644 --- a/acs/nladmin-ui/src/views/acs/device/opc/index.vue +++ b/acs/nladmin-ui/src/views/acs/device/opc/index.vue @@ -109,11 +109,11 @@ - + diff --git a/acs/nladmin-ui/src/views/acs/history/deviceErrorInfo/index.vue b/acs/nladmin-ui/src/views/acs/history/deviceErrorInfo/index.vue index 7a3611a3d..4c34c0590 100644 --- a/acs/nladmin-ui/src/views/acs/history/deviceErrorInfo/index.vue +++ b/acs/nladmin-ui/src/views/acs/history/deviceErrorInfo/index.vue @@ -43,7 +43,7 @@ @@ -63,10 +63,10 @@ @selection-change="crud.selectionChangeHandler" > - - - - + + + + @@ -95,45 +95,45 @@ style="width: 100%;" @selection-change="crud.selectionChangeHandler" > - - - - - + + + + + - + - - - - - - - - - + + + + + + + + + - + - - - - - - - + + + + + + + @@ -202,7 +202,7 @@ export default { edit: false, del: false, reset: false, - download: true + download: false } }) }, diff --git a/acs/nladmin-ui/src/views/acs/history/taskRecord/index.vue b/acs/nladmin-ui/src/views/acs/history/taskRecord/index.vue index 702d4d290..28bbe2b32 100644 --- a/acs/nladmin-ui/src/views/acs/history/taskRecord/index.vue +++ b/acs/nladmin-ui/src/views/acs/history/taskRecord/index.vue @@ -229,47 +229,47 @@ style="width: 100%;" @selection-change="crud.selectionChangeHandler" > - - - - + + + + - + - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - + + + + + + + + + @@ -325,7 +325,7 @@ export default { edit: false, del: false, reset: false, - download: true + download: false } }) }, diff --git a/acs/nladmin-ui/src/views/acs/history/taskTreeRecord/index.vue b/acs/nladmin-ui/src/views/acs/history/taskTreeRecord/index.vue index 5ca9ad20f..b714d425d 100644 --- a/acs/nladmin-ui/src/views/acs/history/taskTreeRecord/index.vue +++ b/acs/nladmin-ui/src/views/acs/history/taskTreeRecord/index.vue @@ -86,51 +86,51 @@ @select-all="crud.selectAllChange" @selection-change="crud.selectionChangeHandler" > - - - + + + - + - - - - - - - - - - + + + + + + + + + + - + - + - - - - - - - - + + + + + + + + diff --git a/acs/nladmin-ui/src/views/acs/history/udwData/index.vue b/acs/nladmin-ui/src/views/acs/history/udwData/index.vue index 17f53a1fd..346fd74a3 100644 --- a/acs/nladmin-ui/src/views/acs/history/udwData/index.vue +++ b/acs/nladmin-ui/src/views/acs/history/udwData/index.vue @@ -31,7 +31,7 @@ diff --git a/acs/nladmin-ui/src/views/acs/instruction/index.vue b/acs/nladmin-ui/src/views/acs/instruction/index.vue index 406e28684..bc5b7faa2 100644 --- a/acs/nladmin-ui/src/views/acs/instruction/index.vue +++ b/acs/nladmin-ui/src/views/acs/instruction/index.vue @@ -32,7 +32,7 @@ style="width: 190px" @change="crud.toQuery" > - + @@ -119,48 +119,52 @@ @selection-change="crud.selectionChangeHandler" > - - - + + + - - - + + + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + --> + + @@ -232,7 +324,7 @@ const defaultForm = { update_time: null } export default { - dicts: ['task_status', 'task_type'], + dicts: ['task_status', 'task_type', 'agv_system_type'], name: 'Instruction', components: { crudOperation, pagination }, mixins: [presenter(), header(), form(defaultForm), crud()], @@ -370,4 +462,5 @@ export default { .el-icon-arrow-down { font-size: 12px; } + diff --git a/acs/nladmin-ui/src/views/acs/task/index.vue b/acs/nladmin-ui/src/views/acs/task/index.vue index 619b3ce01..6805581b6 100644 --- a/acs/nladmin-ui/src/views/acs/task/index.vue +++ b/acs/nladmin-ui/src/views/acs/task/index.vue @@ -408,47 +408,46 @@ style="width: 100%;" @selection-change="crud.selectionChangeHandler" > - - - - + + + + - - + + - - - - - - - - + + + + + + + - + - - - - - - - - - + + + + + + + + + + @@ -497,7 +529,7 @@ export default { edit: true, del: true, reset: false, - download: true + download: false }, crudMethod: { ...crudTask } }) @@ -707,14 +739,16 @@ export default { // }) // }, - beforeHandleCommand(index, row, command) { + /* beforeHandleCommand(index, row, command) { + console.log(command.command) return { 'index': index, 'row': row, 'command': command } - }, + }, */ handleCommand(command) { + console.log(command.command) switch (command.command) { case 'a':// 完成 this.finish(command.index, command.row) @@ -836,4 +870,11 @@ export default { .el-icon-arrow-down { font-size: 12px; } + +.custom-cell { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + diff --git a/acs/nladmin-ui/src/views/login.vue b/acs/nladmin-ui/src/views/login.vue index caa6d0699..b246c984e 100644 --- a/acs/nladmin-ui/src/views/login.vue +++ b/acs/nladmin-ui/src/views/login.vue @@ -56,8 +56,8 @@ export default { codeUrl: '', cookiePass: '', loginForm: { - username: 'admin', - password: '123456', + username: '', + password: '', rememberMe: false, code: '', uuid: '' diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/common/base/CommonFinalParam.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/common/base/CommonFinalParam.java index 31c6d132a..f5ba681d1 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/common/base/CommonFinalParam.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/common/base/CommonFinalParam.java @@ -10,7 +10,7 @@ import org.springframework.stereotype.Component; @Data public class CommonFinalParam { - private final String DELETE = "0"; + public static final String DELETE = "0"; /** * 分隔符 */ diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/xg_agv_car/XgAgvCarDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/xg_agv_car/XgAgvCarDeviceDriver.java index 9a72fcf30..436891663 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/xg_agv_car/XgAgvCarDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/xg_agv_car/XgAgvCarDeviceDriver.java @@ -2,6 +2,7 @@ package org.nl.acs.device_driver.agv.xg_agv_car; import cn.hutool.core.util.ObjectUtil; import cn.hutool.http.HttpResponse; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.Data; import lombok.RequiredArgsConstructor; @@ -123,6 +124,31 @@ public class XgAgvCarDeviceDriver extends AbstractDeviceDriver implements Device */ private int manua_confirm = 0; + /** + * 是否推送场景的状态 0=可推送 1=正在更新场景 2=正在执行运单 + */ + private String upload_scene_status; + /** + * 机器人当前运单 + */ + private String current_order; + /** + * 机器人连接状态 0表示断连 1表示连接上 + */ + private String connection_status; + /** + * 机器人可接单状态 true=可接单 false=不可接单 + */ + private String dispatchable; + /** + * core出错标识 + */ + private boolean is_error; + /** + * 是否正在执行用户下发的运单 + */ + private boolean procBusiness; + String device_code = null; String container; String container_type_desc; @@ -152,7 +178,28 @@ public class XgAgvCarDeviceDriver extends AbstractDeviceDriver implements Device @Override public JSONObject getDeviceStatusName() { - return null; + getAgvStatus(); + JSONObject jo = new JSONObject(); + String isError; + if(is_error){ + isError = "报错"; + }else{ + isError = "正常"; + } + if(CommonFinalParam.ONE.equals(upload_scene_status)){ + upload_scene_status = "正在更新场景"; + }else if(CommonFinalParam.TWO.equals(upload_scene_status)){ + upload_scene_status = "正在执行运单"; + }else if(CommonFinalParam.DELETE.equals(upload_scene_status)){ + upload_scene_status = "可推送"; + } + jo.put("is_error",isError); + jo.put("upload_scene_status",upload_scene_status); + jo.put("procBusiness",procBusiness); + jo.put("current_order",current_order); + jo.put("connection_status",connection_status); + jo.put("dispatchable",dispatchable); + return jo; } @@ -162,6 +209,7 @@ public class XgAgvCarDeviceDriver extends AbstractDeviceDriver implements Device } + /** * 获取机器人信息 */ @@ -169,7 +217,23 @@ public class XgAgvCarDeviceDriver extends AbstractDeviceDriver implements Device HttpResponse robotInfo = xianGongAgvService.getRobotInfo(this.getDevice().getDevice_name()); if(robotInfo.getStatus() == 200){ JSONObject jsonObject = JSONObject.parseObject(robotInfo.body()); - + String report = jsonObject.getString("report"); + //core出错标识 + is_error = jsonObject.getBooleanValue("is_error"); + //是否推送场景的状态 0=可推送 1=正在更新场景 2=正在执行运单 + upload_scene_status = jsonObject.getString("upload_scene_status"); + JSONArray objects = JSONObject.parseArray(report); + for (int i = 0; i < objects.size(); i++) { + JSONObject json = (JSONObject)objects.get(i); + //是否正在执行用户下发的运单 + procBusiness = json.getBooleanValue("procBusiness"); + //机器人当前运单 + current_order = json.getString("current_order"); + //机器人连接状态 0表示断连 1表示连接上 + connection_status = json.getString("connection_status"); + //机器人可接单状态 true=可接单 false=不可接单 + dispatchable = json.getString("dispatchable"); + } }else{ log.info("请求{}机器人状态失败", this.getDevice().getDevice_name()); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/slit_two_manipulator/ItemProtocol.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/slit_two_manipulator/ItemProtocol.java index c2bed26ee..795ad82ee 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/slit_two_manipulator/ItemProtocol.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/slit_two_manipulator/ItemProtocol.java @@ -161,6 +161,7 @@ public class ItemProtocol { list.add(new ItemDto(item_move2, "后工位光电信号", "DB15.B3")); list.add(new ItemDto(item_action, "动作信号", "DB15.B4")); list.add(new ItemDto(item_walk_y, "行走列", "DB15.B5")); + list.add(new ItemDto(item_task, "任务号", "DB15.D3")); list.add(new ItemDto(item_error, "报警信号", "DB15.B6")); list.add(new ItemDto(item_x_position, "x坐标", "DB15.REAL10")); list.add(new ItemDto(item_y_position, "y坐标", "DB15.REAL14")); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/monitor/rest/DeviceStageMonitorController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/monitor/rest/DeviceStageMonitorController.java index a783bfe1b..3b9196ffb 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/monitor/rest/DeviceStageMonitorController.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/monitor/rest/DeviceStageMonitorController.java @@ -29,7 +29,6 @@ public class DeviceStageMonitorController { private final DeviceStageMonitorService deviceStageMonitorService; @Log("获取舞台设备信息") - @PostMapping("/getDeviceByCodes") public ResponseEntity getDeviceByCodes(@RequestBody String json) throws Exception { JSONArray jsonArray = JSONArray.parseArray(json); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcProtocolRunable.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcProtocolRunable.java index 8e8f2f0ba..0824063a7 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcProtocolRunable.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcProtocolRunable.java @@ -202,7 +202,7 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC Object his = accessor_value.getValue(itemId); if (!ObjectUtl.isEquals(itemState.getQuality(), QualityTypeValue.OPC_QUALITY_GOOD) && his != null) { log.warn("opc 值不健康 item: {}, 状态: {}", itemId, itemState.getQuality()); - valueAllNotNull = true; + valueAllNotNull = false; } if (!UnifiedDataAppService.isEquals(value, his)) { @@ -231,29 +231,30 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC random *= 1000; if (this.all_null < 3) { if (log.isWarnEnabled()) { - log.warn("{} 所有内容都为空, all_null:{} ,暂定{}s", tag, all_null, 5000 + random); + log.warn("{} 所有内容都为空, all_null:{} ,暂定{}s", tag, all_null,3); } - ThreadUtl.sleep((long) (5000 + random)); + + ThreadUtl.sleep( 3000); + break start; } else if (this.all_null < 6) { if (log.isWarnEnabled()) { log.warn(tag + "重新创建server"); - log.warn("{} 所有内容都为空, all_null:{} ,暂定{}s", tag, all_null, 30000 + random); + log.warn("{} 所有内容都为空, all_null:{} ,暂定{}s", tag, all_null,3); } -// ThreadUtl.sleep((long) (30000 + random)); - ThreadUtl.sleep((long) ((new Random()).nextInt(3) + 1) * 1000); + ThreadUtl.sleep(3000); break start; } else if (this.all_null < 12) { if (log.isWarnEnabled()) { - log.warn("{} 所有内容都为空, all_null:{} ,暂定{}ms", tag, all_null, '\uea60' + random); + log.warn(tag + "重新创建server"); + log.warn("{} 所有内容都为空, all_null:{} ,暂定{}s", tag, all_null,3); } - - ThreadUtl.sleep((long) ('\uea60' + random)); + ThreadUtl.sleep(3000); + break start; } else { if (log.isWarnEnabled()) { - log.warn("{} 所有内容都为空, all_null:{} ,暂定{}ms", tag, all_null, 120000 + random); + log.warn("{} 所有内容都为空, all_null:{} ,暂定{}ms", tag, all_null, 5000); } - - ThreadUtl.sleep((long) (120000 + random)); + ThreadUtl.sleep((long) (5000)); } ++this.all_null; diff --git a/acs2/nladmin-ui/src/views/acs/device/driver/agv/xg_agv_car.vue b/acs2/nladmin-ui/src/views/acs/device/driver/agv/xg_agv_car.vue index 26832e498..e076de3cb 100644 --- a/acs2/nladmin-ui/src/views/acs/device/driver/agv/xg_agv_car.vue +++ b/acs2/nladmin-ui/src/views/acs/device/driver/agv/xg_agv_car.vue @@ -110,7 +110,7 @@ - + - +
diff --git a/acs2/nladmin-ui/src/views/acs/task/index.vue b/acs2/nladmin-ui/src/views/acs/task/index.vue index 5b99cd25c..bef15b6f9 100644 --- a/acs2/nladmin-ui/src/views/acs/task/index.vue +++ b/acs2/nladmin-ui/src/views/acs/task/index.vue @@ -483,7 +483,7 @@ -