rev:一楼优化
This commit is contained in:
@@ -70,7 +70,7 @@ public class ToAgvDevice {
|
|||||||
SocketMsg deviceInfo = new SocketMsg(json, MsgType.INFO);
|
SocketMsg deviceInfo = new SocketMsg(json, MsgType.INFO);
|
||||||
WebSocketServer.sendInfo(deviceInfo, "toAgvDevice_data");
|
WebSocketServer.sendInfo(deviceInfo, "toAgvDevice_data");
|
||||||
|
|
||||||
// acsToWmsService.feedbackAgv(row);
|
// acsToWmsService.feedbackAgv(row);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2131,7 +2131,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
//x坐标
|
//x坐标
|
||||||
x = ikey;
|
x = ikey;
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(this.getDeviceCode())
|
||||||
.content("agvphase:" + phase + "x坐标:" + x)
|
.content("agvphase:" + phase + "x坐标:" + x)
|
||||||
.build();
|
.build();
|
||||||
logDto.setLog_level(4);
|
logDto.setLog_level(4);
|
||||||
@@ -2140,7 +2140,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
//y坐标
|
//y坐标
|
||||||
y = ikey;
|
y = ikey;
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(this.getDeviceCode())
|
||||||
.content("agvphase:" + phase + "y坐标:" + y)
|
.content("agvphase:" + phase + "y坐标:" + y)
|
||||||
.build();
|
.build();
|
||||||
logDto.setLog_level(4);
|
logDto.setLog_level(4);
|
||||||
@@ -2149,7 +2149,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
//车辆角度
|
//车辆角度
|
||||||
angle = ikey;
|
angle = ikey;
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(this.getDeviceCode())
|
||||||
.content("agvphase:" + phase + "车辆角度:" + angle)
|
.content("agvphase:" + phase + "车辆角度:" + angle)
|
||||||
.build();
|
.build();
|
||||||
logDto.setLog_level(4);
|
logDto.setLog_level(4);
|
||||||
@@ -2158,7 +2158,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
//agv电量
|
//agv电量
|
||||||
electric_qty = ikey;
|
electric_qty = ikey;
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(this.getDeviceCode())
|
||||||
.content("agvphase:" + phase + "agv电量:" + electric_qty)
|
.content("agvphase:" + phase + "agv电量:" + electric_qty)
|
||||||
.build();
|
.build();
|
||||||
logDto.setLog_level(4);
|
logDto.setLog_level(4);
|
||||||
@@ -2167,7 +2167,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
//三色灯状态
|
//三色灯状态
|
||||||
status = ikey;
|
status = ikey;
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(this.getDeviceCode())
|
||||||
.content("agvphase:" + phase + "三色灯状态:" + status)
|
.content("agvphase:" + phase + "三色灯状态:" + status)
|
||||||
.build();
|
.build();
|
||||||
logDto.setLog_level(4);
|
logDto.setLog_level(4);
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.http.HttpResponse;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -179,6 +180,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements
|
|||||||
Instruction inst = null;
|
Instruction inst = null;
|
||||||
|
|
||||||
String material = null;
|
String material = null;
|
||||||
|
String vehicle_code2;
|
||||||
|
|
||||||
Boolean isonline = true;
|
Boolean isonline = true;
|
||||||
|
|
||||||
@@ -246,6 +248,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements
|
|||||||
if (move != 0 && task > 0) {
|
if (move != 0 && task > 0) {
|
||||||
if (null != inst) {
|
if (null != inst) {
|
||||||
inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code();
|
inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code();
|
||||||
|
vehicle_code2 = inst.getVehicle_code2();
|
||||||
}
|
}
|
||||||
CompletableFuture.runAsync(() -> {
|
CompletableFuture.runAsync(() -> {
|
||||||
// 异步更新指令状态
|
// 异步更新指令状态
|
||||||
@@ -417,13 +420,17 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements
|
|||||||
.build();
|
.build();
|
||||||
logDto.setLog_level(4);
|
logDto.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
String response = acsToWmsService.applyTwo(param);
|
HttpResponse httpResponse = acsToWmsService.applyTwo(param);
|
||||||
JSONObject jo = JSON.parseObject(response);
|
JSONObject jsonObject = null;
|
||||||
message = "申请空托盘出入库,返回参数:" + jo;
|
if(ObjectUtil.isNotEmpty(httpResponse)){
|
||||||
if (jo.getInteger("status") == 200) {
|
String body = httpResponse.body();
|
||||||
|
jsonObject = JSONObject.parseObject(body);
|
||||||
|
}
|
||||||
|
message = "申请空托盘出入库,返回参数:" + jsonObject;
|
||||||
|
if (ObjectUtil.isNotNull(jsonObject) && jsonObject.getInteger("status") == 200) {
|
||||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(device_code)
|
||||||
.content("申请空托盘出入库,参数,接口返回:" + jo)
|
.content("申请空托盘出入库,参数,接口返回:" + jsonObject)
|
||||||
.build();
|
.build();
|
||||||
logDto2.setLog_level(4);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
@@ -436,10 +443,10 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements
|
|||||||
this.requireSucess = true;
|
this.requireSucess = true;
|
||||||
} else {
|
} else {
|
||||||
this.iserror = true;
|
this.iserror = true;
|
||||||
message = "申请空托盘出入库出错,返回参数:" + jo;
|
message = "申请空托盘出入库出错,返回参数:" + jsonObject;
|
||||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(device_code)
|
||||||
.content("申请空托盘出入库,返回参数:" + response)
|
.content("申请空托盘出入库,返回参数:" + jsonObject)
|
||||||
.build();
|
.build();
|
||||||
logDto2.setLog_level(4);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
@@ -852,6 +859,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements
|
|||||||
jo.put("materiel", material_barcode);
|
jo.put("materiel", material_barcode);
|
||||||
jo.put("inst_message", this.inst_message);
|
jo.put("inst_message", this.inst_message);
|
||||||
jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage));
|
jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage));
|
||||||
|
jo.put("vehicle_code2", this.vehicle_code2);
|
||||||
return jo;
|
return jo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import org.nl.acs.device_driver.FeedLmsRealFailed;
|
|||||||
import org.nl.acs.device_driver.RouteableDeviceDriver;
|
import org.nl.acs.device_driver.RouteableDeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
||||||
|
import org.nl.acs.device_driver.one_manipulator.box_package_manipulator.InteractionJsonDTO;
|
||||||
import org.nl.acs.enums.AcsToLmsApplyTaskTypeEnum;
|
import org.nl.acs.enums.AcsToLmsApplyTaskTypeEnum;
|
||||||
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||||
import org.nl.acs.history.ErrorUtil;
|
import org.nl.acs.history.ErrorUtil;
|
||||||
@@ -88,6 +89,8 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr
|
|||||||
|
|
||||||
String notCreateInstMessage = "";
|
String notCreateInstMessage = "";
|
||||||
|
|
||||||
|
String vehicle_code2;
|
||||||
|
|
||||||
//工作模式
|
//工作模式
|
||||||
int mode = 0;
|
int mode = 0;
|
||||||
int last_mode = 0;
|
int last_mode = 0;
|
||||||
@@ -339,7 +342,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr
|
|||||||
inst_message = null;
|
inst_message = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void applyLaStrangulationAndLabeling(int mode) {
|
private void applyLaStrangulationAndLabeling(int mode) throws Exception {
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
if (date.getTime() - this.require_apply_strangulation_time.getTime() < (long) this.instruction_require_time_out) {
|
if (date.getTime() - this.require_apply_strangulation_time.getTime() < (long) this.instruction_require_time_out) {
|
||||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
|
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
|
||||||
@@ -347,47 +350,56 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr
|
|||||||
} else {
|
} else {
|
||||||
this.require_apply_strangulation_time = date;
|
this.require_apply_strangulation_time = date;
|
||||||
Instruction inst = instructionService.findByCodeFromCache(String.valueOf(task));
|
Instruction inst = instructionService.findByCodeFromCache(String.valueOf(task));
|
||||||
if (ObjectUtil.isEmpty(inst) || StrUtil.isEmpty(inst.getVehicle_code())) {
|
if (ObjectUtil.isNotEmpty(inst)) {
|
||||||
message = "指令为空、或者托盘码未空";
|
applyLaStrangulationAndLabeling2();
|
||||||
return;
|
|
||||||
}
|
|
||||||
JSONObject param = new JSONObject();
|
|
||||||
param.put("device_code", device_code);
|
|
||||||
param.put("vehicle_code", inst.getVehicle_code());
|
|
||||||
param.put("type", AcsToLmsApplyTaskTypeEnum.LABEL_BIND.getType());
|
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("申请捆扎,请求参数:" + param)
|
|
||||||
.build();
|
|
||||||
logDto.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
|
||||||
String response = acsToWmsService.deviceApplyTwo(param);
|
|
||||||
JSONObject jo = JSON.parseObject(response);
|
|
||||||
message = "申请捆扎,参数,接口返回:" + jo;
|
|
||||||
if (jo.getInteger("status") == 200) {
|
|
||||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("申请捆扎,参数,接口返回:" + jo)
|
|
||||||
.build();
|
|
||||||
logDto2.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
|
||||||
// Map datas = applyLabelingAndBindingResponse.getData();
|
|
||||||
packagePLCData(jo.getString("data"), mode);
|
|
||||||
requireSucess = true;
|
|
||||||
} else {
|
} else {
|
||||||
this.iserror = true;
|
message = "当前指令号:" + task + "有误,需补码重新申请捆扎贴标";
|
||||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("申请捆扎失败,接口返回:" + response)
|
|
||||||
.build();
|
|
||||||
logDto2.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
|
||||||
message = "申请捆扎报错,参数,接口返回:" + jo;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if (StrUtil.isNotEmpty(hand_barcode)) {
|
||||||
|
TaskDto taskDtoHandCode = taskserver.findByVehicleCode2AndExcute(hand_barcode);
|
||||||
|
if (Objects.nonNull(taskDtoHandCode)) {
|
||||||
|
applyLaStrangulationAndLabeling2();
|
||||||
|
message = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public synchronized void applyLaStrangulationAndLabeling2() throws Exception {
|
||||||
|
JSONObject param = new JSONObject();
|
||||||
|
param.put("device_code", device_code);
|
||||||
|
param.put("vehicle_code", inst.getVehicle_code());
|
||||||
|
param.put("type", AcsToLmsApplyTaskTypeEnum.LABEL_BIND.getType());
|
||||||
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("申请捆扎,请求参数:" + param)
|
||||||
|
.build();
|
||||||
|
logDto.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
|
String response = acsToWmsService.deviceApplyTwo(param);
|
||||||
|
JSONObject jo = JSON.parseObject(response);
|
||||||
|
message = "申请捆扎,参数,接口返回:" + jo;
|
||||||
|
if (jo.getInteger("status") == 200) {
|
||||||
|
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("申请捆扎,参数,接口返回:" + jo)
|
||||||
|
.build();
|
||||||
|
logDto2.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
|
// Map datas = applyLabelingAndBindingResponse.getData();
|
||||||
|
packagePLCData(jo.getString("data"), mode);
|
||||||
|
requireSucess = true;
|
||||||
|
} else {
|
||||||
|
this.iserror = true;
|
||||||
|
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("申请捆扎失败,接口返回:" + response)
|
||||||
|
.build();
|
||||||
|
logDto2.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
|
message = "申请捆扎报错,参数,接口返回:" + jo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 申请贴标
|
// 申请贴标
|
||||||
@@ -706,6 +718,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr
|
|||||||
jo.put("is_click", true);
|
jo.put("is_click", true);
|
||||||
jo.put("requireSucess", requireSucess);
|
jo.put("requireSucess", requireSucess);
|
||||||
jo.put("driver_type", "siemens_conveyor");
|
jo.put("driver_type", "siemens_conveyor");
|
||||||
|
jo.put("vehicle_code2", this.vehicle_code2);
|
||||||
jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage));
|
jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage));
|
||||||
return jo;
|
return jo;
|
||||||
}
|
}
|
||||||
@@ -978,6 +991,10 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr
|
|||||||
* 更新指令状态
|
* 更新指令状态
|
||||||
*/
|
*/
|
||||||
public synchronized void update_instruction_status() throws Exception {
|
public synchronized void update_instruction_status() throws Exception {
|
||||||
|
if (null != inst) {
|
||||||
|
inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code();
|
||||||
|
vehicle_code2 = inst.getVehicle_code2();
|
||||||
|
}
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
if (date.getTime() - this.instruction_update_time.getTime() < (long) this.instruction_update_time_out) {
|
if (date.getTime() - this.instruction_update_time.getTime() < (long) this.instruction_update_time_out) {
|
||||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_update_time_out);
|
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_update_time_out);
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.http.HttpResponse;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -616,13 +617,17 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements
|
|||||||
.build();
|
.build();
|
||||||
logDto.setLog_level(4);
|
logDto.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
String response = acsToWmsService.applyTwo(param);
|
HttpResponse httpResponse = acsToWmsService.applyTwo(param);
|
||||||
JSONObject jo = JSON.parseObject(response);
|
JSONObject jsonObject = null;
|
||||||
message = "申请空托盘出入库,参数,接口返回:" + jo;
|
if(ObjectUtil.isNotEmpty(httpResponse)){
|
||||||
if (jo.getInteger("status") == 200) {
|
String body = httpResponse.body();
|
||||||
|
jsonObject = JSONObject.parseObject(body);
|
||||||
|
}
|
||||||
|
message = "申请空托盘出入库,参数,接口返回:" + jsonObject;
|
||||||
|
if (ObjectUtil.isNotNull(jsonObject) && jsonObject.getInteger("status") == 200) {
|
||||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(device_code)
|
||||||
.content("申请空托盘出入库,参数,接口返回:" + jo)
|
.content("申请空托盘出入库,参数,接口返回:" + jsonObject)
|
||||||
.build();
|
.build();
|
||||||
logDto2.setLog_level(4);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
@@ -635,10 +640,10 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements
|
|||||||
this.requireSucess = true;
|
this.requireSucess = true;
|
||||||
} else {
|
} else {
|
||||||
this.iserror = true;
|
this.iserror = true;
|
||||||
message = "申请空托盘出入库报错,接口返回:" + jo;
|
message = "申请空托盘出入库报错,接口返回:" + jsonObject;
|
||||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(device_code)
|
||||||
.content("申请空托盘出入库,返回参数:" + response)
|
.content("申请空托盘出入库,返回参数:" + jsonObject)
|
||||||
.build();
|
.build();
|
||||||
logDto2.setLog_level(4);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
|
|||||||
@@ -159,6 +159,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv
|
|||||||
//托盘方向
|
//托盘方向
|
||||||
int carrier_direction = 0;
|
int carrier_direction = 0;
|
||||||
int last_carrier_direction = 0;
|
int last_carrier_direction = 0;
|
||||||
|
String vehicle_code2;
|
||||||
|
|
||||||
Boolean isonline = true;
|
Boolean isonline = true;
|
||||||
int hasGoods = 0;
|
int hasGoods = 0;
|
||||||
@@ -499,13 +500,17 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv
|
|||||||
.build();
|
.build();
|
||||||
logDto.setLog_level(4);
|
logDto.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
String response = acsToWmsService.applyTwo(param);
|
HttpResponse httpResponse = acsToWmsService.applyTwo(param);
|
||||||
JSONObject jo = JSON.parseObject(response);
|
JSONObject jsonObject = null;
|
||||||
message = "申请退货入库,返回参数:" + jo;
|
if(ObjectUtil.isNotEmpty(httpResponse)){
|
||||||
if (jo.getInteger("status") == 200) {
|
String body = httpResponse.body();
|
||||||
|
jsonObject = JSONObject.parseObject(body);
|
||||||
|
}
|
||||||
|
message = "申请退货入库,返回参数:" + jsonObject;
|
||||||
|
if (ObjectUtil.isNotNull(jsonObject) && jsonObject.getInteger("status") == 200) {
|
||||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(device_code)
|
||||||
.content("申请退货入库,参数,接口返回:" + jo)
|
.content("申请退货入库,参数,接口返回:" + jsonObject)
|
||||||
.build();
|
.build();
|
||||||
logDto2.setLog_level(4);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
@@ -520,11 +525,11 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv
|
|||||||
this.iserror = true;
|
this.iserror = true;
|
||||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(device_code)
|
||||||
.content("申请退货入库,返回参数:" + response)
|
.content("申请退货入库,返回参数:" + jsonObject)
|
||||||
.build();
|
.build();
|
||||||
logDto2.setLog_level(4);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
message = "申请退货入库报错,返回参数:" + jo;
|
message = "申请退货入库报错,返回参数:" + jsonObject;
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@@ -611,13 +616,17 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv
|
|||||||
.build();
|
.build();
|
||||||
logDto.setLog_level(4);
|
logDto.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
String response = acsToWmsService.applyTwo(param);
|
HttpResponse httpResponse = acsToWmsService.applyTwo(param);
|
||||||
JSONObject jo = JSON.parseObject(response);
|
JSONObject jsonObject = null;
|
||||||
message = "申请空托盘出入库,返回参数:" + jo;
|
if(ObjectUtil.isNotEmpty(httpResponse)){
|
||||||
if (jo.getInteger("status") == 200) {
|
String body = httpResponse.body();
|
||||||
|
jsonObject = JSONObject.parseObject(body);
|
||||||
|
}
|
||||||
|
message = "申请空托盘出入库,返回参数:" + jsonObject;
|
||||||
|
if (jsonObject.getInteger("status") == 200) {
|
||||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(device_code)
|
||||||
.content("申请空托盘出入库,参数,接口返回:" + jo)
|
.content("申请空托盘出入库,参数,接口返回:" + jsonObject)
|
||||||
.build();
|
.build();
|
||||||
logDto2.setLog_level(4);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
@@ -630,10 +639,10 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv
|
|||||||
this.requireSucess = true;
|
this.requireSucess = true;
|
||||||
} else {
|
} else {
|
||||||
this.iserror = true;
|
this.iserror = true;
|
||||||
message = "申请空托盘出入库报错,返回参数:" + jo;
|
message = "申请空托盘出入库报错,返回参数:" + jsonObject;
|
||||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(device_code)
|
||||||
.content("申请空托盘出入库,返回参数:" + response)
|
.content("申请空托盘出入库,返回参数:" + jsonObject)
|
||||||
.build();
|
.build();
|
||||||
logDto2.setLog_level(4);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
@@ -676,13 +685,17 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv
|
|||||||
.build();
|
.build();
|
||||||
logDto.setLog_level(4);
|
logDto.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
String response = acsToWmsService.applyTwo(param);
|
HttpResponse httpResponse = acsToWmsService.applyTwo(param);
|
||||||
JSONObject jo = JSON.parseObject(response);
|
JSONObject jsonObject = null;
|
||||||
message = "木箱、子卷入库申请入库任务,返回参数:" + jo;
|
if(ObjectUtil.isNotEmpty(httpResponse)){
|
||||||
if (jo.getInteger("status") == 200) {
|
String body = httpResponse.body();
|
||||||
|
jsonObject = JSONObject.parseObject(body);
|
||||||
|
}
|
||||||
|
message = "木箱、子卷入库申请入库任务,返回参数:" + jsonObject;
|
||||||
|
if (ObjectUtil.isNotNull(jsonObject) && jsonObject.getInteger("status") == 200) {
|
||||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(device_code)
|
||||||
.content("木箱、子卷入库申请入库任务,参数,接口返回:" + jo)
|
.content("木箱、子卷入库申请入库任务,参数,接口返回:" + jsonObject)
|
||||||
.build();
|
.build();
|
||||||
logDto2.setLog_level(4);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
@@ -697,10 +710,10 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv
|
|||||||
this.iserror = true;
|
this.iserror = true;
|
||||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(device_code)
|
||||||
.content("木箱、子卷入库申请入库任务,返回参数:" + response)
|
.content("木箱、子卷入库申请入库任务,返回参数:" + jsonObject)
|
||||||
.build();
|
.build();
|
||||||
logDto2.setLog_level(4);
|
logDto2.setLog_level(4);
|
||||||
message = "木箱、子卷入库申请入库任务报错,返回参数:" + jo;
|
message = "木箱、子卷入库申请入库任务报错,返回参数:" + jsonObject;
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -713,6 +726,10 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv
|
|||||||
* 更新指令状态
|
* 更新指令状态
|
||||||
*/
|
*/
|
||||||
public synchronized void update_instruction_status() throws Exception {
|
public synchronized void update_instruction_status() throws Exception {
|
||||||
|
if (null != inst) {
|
||||||
|
inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code();
|
||||||
|
vehicle_code2 = inst.getVehicle_code2();
|
||||||
|
}
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
if (date.getTime() - this.instruction_update_time.getTime() < (long) this.instruction_update_time_out) {
|
if (date.getTime() - this.instruction_update_time.getTime() < (long) this.instruction_update_time_out) {
|
||||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_update_time_out);
|
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_update_time_out);
|
||||||
|
|||||||
@@ -381,10 +381,39 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
List<TaskDto> taskDtosLikeReady = new ArrayList<>();
|
||||||
if (CollUtil.isNotEmpty(taskDtosReady)) {
|
if (CollUtil.isNotEmpty(taskDtosReady)) {
|
||||||
List<TaskDto> taskDtoList = taskDtosReady.stream().sorted(Comparator.comparing(TaskDto::getCreate_time)).collect(Collectors.toList());
|
for (TaskDto dto : taskDtosReady) {
|
||||||
taskDto = taskDtoList.get(0);
|
BeltConveyorDeviceDriver beltConveyorDeviceDriverStart;
|
||||||
|
BeltConveyorDeviceDriver beltConveyorDeviceDriverEnd;
|
||||||
|
Device startDevice = deviceAppService.findDeviceByCode(dto.getStart_device_code());
|
||||||
|
Device nextDevice = deviceAppService.findDeviceByCode(dto.getNext_device_code());
|
||||||
|
if (startDevice.getDeviceDriver() instanceof BeltConveyorDeviceDriver && nextDevice.getDeviceDriver() instanceof BeltConveyorDeviceDriver) {
|
||||||
|
beltConveyorDeviceDriverStart = (BeltConveyorDeviceDriver) startDevice.getDeviceDriver();
|
||||||
|
beltConveyorDeviceDriverEnd = (BeltConveyorDeviceDriver) nextDevice.getDeviceDriver();
|
||||||
|
if (beltConveyorDeviceDriverStart.getMove() == 1 && beltConveyorDeviceDriverStart.getMode() == 2 && beltConveyorDeviceDriverEnd.getMove() == 1 && beltConveyorDeviceDriverEnd.getMode() == 2) {
|
||||||
|
taskDtosLikeReady.add(dto);
|
||||||
|
} else {
|
||||||
|
if (beltConveyorDeviceDriverStart.getMove() != 1) {
|
||||||
|
notCreateInstMessage = "universal_feedMessage7";
|
||||||
|
}
|
||||||
|
if (beltConveyorDeviceDriverStart.getMode() != 2) {
|
||||||
|
notCreateInstMessage = "universal_remark2";
|
||||||
|
}
|
||||||
|
if (beltConveyorDeviceDriverEnd.getMove() != 1) {
|
||||||
|
notCreateInstMessage = "universal_feedMessage7";
|
||||||
|
}
|
||||||
|
if (beltConveyorDeviceDriverEnd.getMode() != 2) {
|
||||||
|
notCreateInstMessage = "universal_remark2";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (ObjectUtil.isNotEmpty(taskDto)) {
|
if (ObjectUtil.isNotEmpty(taskDto)) {
|
||||||
String interactionJson = taskDto.getInteraction_json();
|
String interactionJson = taskDto.getInteraction_json();
|
||||||
InteractionJsonDTO interactionJsonDTO = JSON.parseObject(interactionJson, InteractionJsonDTO.class);
|
InteractionJsonDTO interactionJsonDTO = JSON.parseObject(interactionJson, InteractionJsonDTO.class);
|
||||||
@@ -403,38 +432,6 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice
|
|||||||
throw new BadRequestException("设备:" + nextDevice.getDevice_code() + "未设置电气调度号!");
|
throw new BadRequestException("设备:" + nextDevice.getDevice_code() + "未设置电气调度号!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BeltConveyorDeviceDriver beltConveyorDeviceDriverStart;
|
|
||||||
BeltConveyorDeviceDriver beltConveyorDeviceDriverEnd;
|
|
||||||
|
|
||||||
if (startDevice.getDeviceDriver() instanceof BeltConveyorDeviceDriver) {
|
|
||||||
beltConveyorDeviceDriverStart = (BeltConveyorDeviceDriver) startDevice.getDeviceDriver();
|
|
||||||
if (beltConveyorDeviceDriverStart.getMove() != 1 && beltConveyorDeviceDriverStart.getMode() != 2) {
|
|
||||||
notCreateInstMessage = "universal_notCreateInstMessage2";
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (nextDevice.getDeviceDriver() instanceof BeltConveyorDeviceDriver) {
|
|
||||||
beltConveyorDeviceDriverEnd = (BeltConveyorDeviceDriver) nextDevice.getDeviceDriver();
|
|
||||||
if (beltConveyorDeviceDriverEnd.getMove() == 1 && beltConveyorDeviceDriverEnd.getMode() == 2) {
|
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("当前任务号:" + taskDto.getTask_code() + " " + next_device_code + "当前move值为:" + beltConveyorDeviceDriverEnd.getMove() + ",当前mode值为:"+beltConveyorDeviceDriverEnd.getMode())
|
|
||||||
.build();
|
|
||||||
logDto.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
|
||||||
}else {
|
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("当前任务号:" + taskDto.getTask_code() + " " + next_device_code + "当前move值为:" + beltConveyorDeviceDriverEnd.getMove() + ",当前mode值为:"+beltConveyorDeviceDriverEnd.getMode())
|
|
||||||
.build();
|
|
||||||
logDto.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
|
||||||
notCreateInstMessage = "universal_notCreateInstMessage2";
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
String taskid = taskDto.getTask_id();
|
String taskid = taskDto.getTask_id();
|
||||||
String taskcode = taskDto.getTask_code();
|
String taskcode = taskDto.getTask_code();
|
||||||
String start_point_code = taskDto.getStart_point_code();
|
String start_point_code = taskDto.getStart_point_code();
|
||||||
@@ -486,7 +483,7 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice
|
|||||||
notCreateInstMessage = "universal_notCreateInstMessage";
|
notCreateInstMessage = "universal_notCreateInstMessage";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -307,6 +307,8 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
Boolean iserror = false;
|
Boolean iserror = false;
|
||||||
|
|
||||||
String inst_message;
|
String inst_message;
|
||||||
|
|
||||||
|
String vehicle_code2;
|
||||||
//阻塞队列,保证指令顺序执行
|
//阻塞队列,保证指令顺序执行
|
||||||
LinkedBlockingQueue<StackerInstruction> tackerInstructionQueue = new LinkedBlockingQueue<>();
|
LinkedBlockingQueue<StackerInstruction> tackerInstructionQueue = new LinkedBlockingQueue<>();
|
||||||
|
|
||||||
@@ -350,6 +352,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
if (mode == 3 && task > 0 && command == 1 && error == 0) {
|
if (mode == 3 && task > 0 && command == 1 && error == 0) {
|
||||||
if (null != inst) {
|
if (null != inst) {
|
||||||
inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code();
|
inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code();
|
||||||
|
vehicle_code2 = inst.getVehicle_code2();
|
||||||
}
|
}
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
if (date.getTime() - this.instruction_update_time.getTime() < (long) this.instruction_update_time_out) {
|
if (date.getTime() - this.instruction_update_time.getTime() < (long) this.instruction_update_time_out) {
|
||||||
@@ -1337,6 +1340,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
jo.put("isError", this.getIserror());
|
jo.put("isError", this.getIserror());
|
||||||
jo.put("notCreateInstMessage", notCreateInstMessage);
|
jo.put("notCreateInstMessage", notCreateInstMessage);
|
||||||
jo.put("inst_message", this.inst_message);
|
jo.put("inst_message", this.inst_message);
|
||||||
|
jo.put("vehicle_code2", this.vehicle_code2);
|
||||||
return jo;
|
return jo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ public interface AcsToWmsService {
|
|||||||
* @param param
|
* @param param
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
String applyTwo(JSONObject param);
|
HttpResponse applyTwo(JSONObject param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 二期发货申请任务
|
* 二期发货申请任务
|
||||||
|
|||||||
@@ -163,14 +163,14 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String applyTwo(JSONObject param) {
|
public HttpResponse applyTwo(JSONObject param) {
|
||||||
|
HttpResponse result2 = null;
|
||||||
try {
|
try {
|
||||||
MDC.put(log_file_type, log_type);
|
MDC.put(log_file_type, log_type);
|
||||||
log.info("applyTaskToWms-----输入参数{}", param);
|
log.info("applyTaskToWms-----输入参数{}", param);
|
||||||
String wmsurl = paramService.findByCode(AcsConfig.WMSURL).getValue();
|
String wmsurl = paramService.findByCode(AcsConfig.WMSURL).getValue();
|
||||||
AddressDto addressDto = addressService.findByCode("applyTwo");
|
AddressDto addressDto = addressService.findByCode("applyTwo");
|
||||||
String url = wmsurl + addressDto.getMethods_url();
|
String url = wmsurl + addressDto.getMethods_url();
|
||||||
HttpResponse result2 = null;
|
|
||||||
try {
|
try {
|
||||||
result2 = HttpRequest.post(url)
|
result2 = HttpRequest.post(url)
|
||||||
.addInterceptor(tLogHutoolhttpInterceptor)
|
.addInterceptor(tLogHutoolhttpInterceptor)
|
||||||
@@ -183,21 +183,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
log.info("applyTaskToWms-----输出参数{}", msg);
|
log.info("applyTaskToWms-----输出参数{}", msg);
|
||||||
//网络不通
|
//网络不通
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isEmpty(result2)){
|
|
||||||
log.info("applyTaskToWms-----输出参数{}", "返回结果为空");
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
String type = "";
|
|
||||||
if (result2.getStatus() == 200) {
|
|
||||||
type = "info";
|
|
||||||
} else {
|
|
||||||
type = "error";
|
|
||||||
}
|
|
||||||
log.info("applyTaskToWms-----输出参数{}", result2.body());
|
log.info("applyTaskToWms-----输出参数{}", result2.body());
|
||||||
LuceneLogDto luceneLogDto = new LuceneLogDto(4,"applyTwo", String.valueOf(result2.getStatus()),
|
LuceneLogDto luceneLogDto = new LuceneLogDto(4,"applyTwo", String.valueOf(result2.getStatus()),
|
||||||
JSON.toJSONString(param), String.valueOf(result2.body()), "二期入库申请任务");
|
JSON.toJSONString(param), String.valueOf(result2.body()), "二期入库申请任务");
|
||||||
luceneLogService.interfaceExecuteLog(luceneLogDto);
|
luceneLogService.interfaceExecuteLog(luceneLogDto);
|
||||||
return result2.body();
|
return result2;
|
||||||
|
|
||||||
} finally {
|
} finally {
|
||||||
MDC.remove(log_file_type);
|
MDC.remove(log_file_type);
|
||||||
|
|||||||
@@ -426,6 +426,14 @@ public interface TaskService extends CommonService<Task> {
|
|||||||
*/
|
*/
|
||||||
TaskDto findByVehicleCodeCodeAndReady(String device_code);
|
TaskDto findByVehicleCodeCodeAndReady(String device_code);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据木箱号查询执行中任务
|
||||||
|
*
|
||||||
|
* @param device_code
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
TaskDto findByVehicleCode2AndExcute(String device_code);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据起点设备编号查询当前是否有执行中任务
|
* 根据起点设备编号查询当前是否有执行中任务
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1196,6 +1196,16 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
|||||||
return optionalTask.orElse(null);
|
return optionalTask.orElse(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TaskDto findByVehicleCode2AndExcute(String vehicleCode) {
|
||||||
|
Optional<TaskDto> optionalTask = tasks.stream()
|
||||||
|
.filter(task -> StrUtil.equals(task.getVehicle_code2(), vehicleCode)
|
||||||
|
&& StrUtil.equals(task.getTask_status(), TaskStatusEnum.BUSY.getIndex()))
|
||||||
|
.findFirst();
|
||||||
|
return optionalTask.orElse(null);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TaskDto findByCodeAndExcute(String start_code, String next_code) {
|
public TaskDto findByCodeAndExcute(String start_code, String next_code) {
|
||||||
Task task = this.lambdaQuery()
|
Task task = this.lambdaQuery()
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ public class AutoCreateInst {
|
|||||||
* 创建指令前需要判断是否条件具备:起始位置是否有货、目标位置是否有货
|
* 创建指令前需要判断是否条件具备:起始位置是否有货、目标位置是否有货
|
||||||
*/
|
*/
|
||||||
public void run() throws Exception {
|
public void run() throws Exception {
|
||||||
|
log.info("自动生成指令"+DateUtil.now());
|
||||||
TaskService taskserver = SpringContextHolder.getBean(TaskService.class);
|
TaskService taskserver = SpringContextHolder.getBean(TaskService.class);
|
||||||
InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class);
|
InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class);
|
||||||
RouteLineService routeLineService = SpringContextHolder.getBean(RouteLineService.class);
|
RouteLineService routeLineService = SpringContextHolder.getBean(RouteLineService.class);
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ public class CreateDDJInst {
|
|||||||
* 定时查询堆垛机任务
|
* 定时查询堆垛机任务
|
||||||
*/
|
*/
|
||||||
public void run() {
|
public void run() {
|
||||||
|
log.info("定时查询堆垛机任务"+DateUtil.now());
|
||||||
TaskService taskserver = SpringContextHolder.getBean(TaskService.class);
|
TaskService taskserver = SpringContextHolder.getBean(TaskService.class);
|
||||||
InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class);
|
InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class);
|
||||||
RouteLineService routeLineService = SpringContextHolder.getBean(RouteLineService.class);
|
RouteLineService routeLineService = SpringContextHolder.getBean(RouteLineService.class);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.nl.system.service.quartz.task;
|
package org.nl.system.service.quartz.task;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.acs.auto.run.AutoRunService;
|
import org.nl.acs.auto.run.AutoRunService;
|
||||||
import org.nl.system.service.param.ISysParamService;
|
import org.nl.system.service.param.ISysParamService;
|
||||||
@@ -20,6 +21,7 @@ public class NdcAutoReconnection {
|
|||||||
AutoRunService autoRunService;
|
AutoRunService autoRunService;
|
||||||
|
|
||||||
public void run(String threadCode) throws Exception {
|
public void run(String threadCode) throws Exception {
|
||||||
|
log.info("定时NDC自动重连"+ DateUtil.now());
|
||||||
String[] threadCodes = threadCode.split(",");
|
String[] threadCodes = threadCode.split(",");
|
||||||
for (String code : threadCodes) {
|
for (String code : threadCodes) {
|
||||||
if (!autoRunService.getThreadByCode(code).isAlive()) {
|
if (!autoRunService.getThreadByCode(code).isAlive()) {
|
||||||
|
|||||||
@@ -0,0 +1,74 @@
|
|||||||
|
package org.nl.system.service.quartz.task;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.acs.agv.server.AgvService;
|
||||||
|
import org.nl.acs.agv.server.dto.AgvDto;
|
||||||
|
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||||
|
import org.nl.common.mnt.websocket.MsgType;
|
||||||
|
import org.nl.common.mnt.websocket.SocketMsg;
|
||||||
|
import org.nl.common.mnt.websocket.WebSocketServer;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询AGV设备状态
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
public class ToAgvDevice {
|
||||||
|
@Autowired
|
||||||
|
AcsToWmsService acsToWmsService;
|
||||||
|
@Autowired
|
||||||
|
AgvService agvService;
|
||||||
|
|
||||||
|
public void run() throws Exception {
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
Map<String, AgvDto> agv_map = agvService.findAllAgvFromCache();
|
||||||
|
|
||||||
|
JSONArray agv_rows = new JSONArray();
|
||||||
|
JSONObject row = new JSONObject();
|
||||||
|
|
||||||
|
for (AgvDto agvDto : agv_map.values()) {
|
||||||
|
row.put("device_code", agvDto.getName());
|
||||||
|
row.put("energyLevel", agvDto.getEnergyLevel());
|
||||||
|
if (agvDto.getState().equals("UNKNOWN")) {
|
||||||
|
row.put("status_name", "有任务");
|
||||||
|
row.put("flag", "1");
|
||||||
|
}
|
||||||
|
if (agvDto.getState().equals("UNAVAILABLE")) {
|
||||||
|
row.put("status_name", "网络异常");
|
||||||
|
row.put("flag", "1");
|
||||||
|
}
|
||||||
|
if (agvDto.getState().equals("ERROR")) {
|
||||||
|
row.put("status_name", "机器错误");
|
||||||
|
row.put("flag", "1");
|
||||||
|
}
|
||||||
|
if (agvDto.getState().equals("IDLE")) {
|
||||||
|
row.put("status_name", "空闲");
|
||||||
|
row.put("flag", "0");
|
||||||
|
}
|
||||||
|
if (agvDto.getState().equals("EXECUTING")) {
|
||||||
|
row.put("status_name", "运行中");
|
||||||
|
row.put("flag", "0");
|
||||||
|
}
|
||||||
|
if (agvDto.getState().equals("CHARGING")) {
|
||||||
|
row.put("status_name", "充电中");
|
||||||
|
row.put("flag", "0");
|
||||||
|
}
|
||||||
|
row.put("transportOrder", agvDto.getTransportOrder());
|
||||||
|
row.put("positionX", agvDto.getPositionX());
|
||||||
|
row.put("positionY", agvDto.getPositionY());
|
||||||
|
row.put("positionAngle", agvDto.getPositionAngle());
|
||||||
|
agv_rows.add(row);
|
||||||
|
}
|
||||||
|
json.put("agv_rows", agv_rows);
|
||||||
|
SocketMsg deviceInfo = new SocketMsg(json, MsgType.INFO);
|
||||||
|
WebSocketServer.sendInfo(deviceInfo, "toAgvDevice_data");
|
||||||
|
|
||||||
|
// acsToWmsService.feedbackAgv(row);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -140,7 +140,8 @@ export default {
|
|||||||
'Current_command_information': 'Current command information',
|
'Current_command_information': 'Current command information',
|
||||||
'The_signal_is_successfully_marked': 'The signal is successfully marked',
|
'The_signal_is_successfully_marked': 'The signal is successfully marked',
|
||||||
'Complement_information': 'Complement information',
|
'Complement_information': 'Complement information',
|
||||||
'agv_task_type': 'task type'
|
'agv_task_type': 'task type',
|
||||||
|
'vehicle_code2': 'Box number'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -140,7 +140,8 @@ export default {
|
|||||||
'Current_command_information': 'Informasi perintah saat ini',
|
'Current_command_information': 'Informasi perintah saat ini',
|
||||||
'The_signal_is_successfully_marked': 'Sinyal berhasil ditandai',
|
'The_signal_is_successfully_marked': 'Sinyal berhasil ditandai',
|
||||||
'Complement_information': 'Informasi pelengkap',
|
'Complement_information': 'Informasi pelengkap',
|
||||||
'agv_task_type': 'Jenis tugas'
|
'agv_task_type': 'Jenis tugas',
|
||||||
|
'vehicle_code2': 'Nomor kotak kayu'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -140,7 +140,8 @@ export default {
|
|||||||
'Current_command_information': '当前指令信息',
|
'Current_command_information': '当前指令信息',
|
||||||
'The_signal_is_successfully_marked': '信号成功标记',
|
'The_signal_is_successfully_marked': '信号成功标记',
|
||||||
'Complement_information': '补码信息',
|
'Complement_information': '补码信息',
|
||||||
'agv_task_type': '任务类型'
|
'agv_task_type': '任务类型',
|
||||||
|
'vehicle_code2': '木箱号'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-row>
|
<el-row>
|
||||||
<div id="container" className="container" style="min-height: 100%" />
|
<div id="container" className="container" style="min-height: 100%"/>
|
||||||
</el-row>
|
</el-row>
|
||||||
<!--点击设备显示信息-->
|
<!--点击设备显示信息-->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
@@ -41,10 +41,10 @@
|
|||||||
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible" width="35%">
|
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible" width="35%">
|
||||||
<el-form :model="form" size="small">
|
<el-form :model="form" size="small">
|
||||||
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="120px">
|
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="120px">
|
||||||
<el-input v-model="form.device_code" :disabled="true" />
|
<el-input v-model="form.device_code" :disabled="true"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.bar_code')" label-width="120px">
|
<el-form-item :label="$t('monitor.click.bar_code')" label-width="120px">
|
||||||
<el-input v-model="form.hand_barcode" :disabled="false" />
|
<el-input v-model="form.hand_barcode" :disabled="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.request_flag')" prop="requireSucess" label-width="120px">
|
<el-form-item :label="$t('monitor.click.request_flag')" prop="requireSucess" label-width="120px">
|
||||||
<el-radio-group v-model="form.requireSucess">
|
<el-radio-group v-model="form.requireSucess">
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible3" width="35%">
|
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible3" width="35%">
|
||||||
<el-form :model="form" size="small">
|
<el-form :model="form" size="small">
|
||||||
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="80px">
|
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="80px">
|
||||||
<el-input v-model="form.device_code" :disabled="true" />
|
<el-input v-model="form.device_code" :disabled="true"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.device_status')" label-width="80px">
|
<el-form-item :label="$t('monitor.click.device_status')" label-width="80px">
|
||||||
<el-radio-group v-model="form.hasGoodStatus">
|
<el-radio-group v-model="form.hasGoodStatus">
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.material_code')" prop="material_type" label-width="80px">
|
<el-form-item :label="$t('monitor.click.material_code')" prop="material_type" label-width="80px">
|
||||||
<el-input v-model="form.material_type" />
|
<el-input v-model="form.material_type"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
@@ -85,7 +85,7 @@
|
|||||||
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible4" width="35%">
|
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible4" width="35%">
|
||||||
<el-form :model="form" size="small">
|
<el-form :model="form" size="small">
|
||||||
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="120px">
|
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="120px">
|
||||||
<el-input v-model="form.device_code" :disabled="true" />
|
<el-input v-model="form.device_code" :disabled="true"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.disabled_manipulator')" prop="is_disable" label-width="120px">
|
<el-form-item :label="$t('monitor.click.disabled_manipulator')" prop="is_disable" label-width="120px">
|
||||||
<el-radio-group v-model="form.is_disable">
|
<el-radio-group v-model="form.is_disable">
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible5" width="35%">
|
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible5" width="35%">
|
||||||
<el-form :model="form" size="small">
|
<el-form :model="form" size="small">
|
||||||
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="120px">
|
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="120px">
|
||||||
<el-input v-model="form.device_code" :disabled="true" />
|
<el-input v-model="form.device_code" :disabled="true"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.request_flag')" prop="requireSucess" label-width="120px">
|
<el-form-item :label="$t('monitor.click.request_flag')" prop="requireSucess" label-width="120px">
|
||||||
<el-radio-group v-model="form.requireSucess">
|
<el-radio-group v-model="form.requireSucess">
|
||||||
@@ -127,10 +127,10 @@
|
|||||||
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible7" width="35%">
|
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible7" width="35%">
|
||||||
<el-form :model="form" size="small">
|
<el-form :model="form" size="small">
|
||||||
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="120px">
|
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="120px">
|
||||||
<el-input v-model="form.device_code" :disabled="true" />
|
<el-input v-model="form.device_code" :disabled="true"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.bar_code')" label-width="120px">
|
<el-form-item :label="$t('monitor.click.bar_code')" label-width="120px">
|
||||||
<el-input v-model="form.hand_barcode" :disabled="false" />
|
<el-input v-model="form.hand_barcode" :disabled="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.request_flag')" prop="requireSucess" label-width="120px">
|
<el-form-item :label="$t('monitor.click.request_flag')" prop="requireSucess" label-width="120px">
|
||||||
<el-radio-group v-model="form.requireSucess">
|
<el-radio-group v-model="form.requireSucess">
|
||||||
@@ -154,7 +154,7 @@
|
|||||||
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible6" width="35%">
|
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible6" width="35%">
|
||||||
<el-form :model="form" size="small">
|
<el-form :model="form" size="small">
|
||||||
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="120px">
|
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="120px">
|
||||||
<el-input v-model="form.device_code" :disabled="true" />
|
<el-input v-model="form.device_code" :disabled="true"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="申请指令标记" prop="requireSucess" label-width="120px">
|
<el-form-item label="申请指令标记" prop="requireSucess" label-width="120px">
|
||||||
<el-radio-group v-model="form.requireSucess">
|
<el-radio-group v-model="form.requireSucess">
|
||||||
@@ -179,11 +179,11 @@
|
|||||||
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible1" width="35%">
|
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible1" width="35%">
|
||||||
<el-form :model="form" size="small">
|
<el-form :model="form" size="small">
|
||||||
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="80px">
|
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="80px">
|
||||||
<el-input v-model="form.device_code" :disabled="true" />
|
<el-input v-model="form.device_code" :disabled="true"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item :label="$t('monitor.click.bar_code')" prop="device_code" label-width="80px">
|
<el-form-item :label="$t('monitor.click.bar_code')" prop="device_code" label-width="80px">
|
||||||
<el-input v-model="form.barcode" :disabled="false" />
|
<el-input v-model="form.barcode" :disabled="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible8" width="35%">
|
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible8" width="35%">
|
||||||
<el-form :model="form" size="small">
|
<el-form :model="form" size="small">
|
||||||
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="120px">
|
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="120px">
|
||||||
<el-input v-model="form.device_code" :disabled="true" />
|
<el-input v-model="form.device_code" :disabled="true"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.job_command')" prop="toCommand" label-width="120px">
|
<el-form-item :label="$t('monitor.click.job_command')" prop="toCommand" label-width="120px">
|
||||||
<el-radio-group v-model="form.toCommand">
|
<el-radio-group v-model="form.toCommand">
|
||||||
@@ -206,13 +206,13 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.keep_out_of_storage')" prop="prohibitInWarehouse" label-width="120px">
|
<el-form-item :label="$t('monitor.click.keep_out_of_storage')" prop="prohibitInWarehouse" label-width="120px">
|
||||||
<el-switch v-model="form.prohibitInWarehouse" />
|
<el-switch v-model="form.prohibitInWarehouse"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.no_release')" prop="prohibitOutWarehouse" label-width="120px">
|
<el-form-item :label="$t('monitor.click.no_release')" prop="prohibitOutWarehouse" label-width="120px">
|
||||||
<el-switch v-model="form.prohibitOutWarehouse" />
|
<el-switch v-model="form.prohibitOutWarehouse"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.stop_task')" prop="stopReceiveTask" label-width="120px">
|
<el-form-item :label="$t('monitor.click.stop_task')" prop="stopReceiveTask" label-width="120px">
|
||||||
<el-switch v-model="form.stopReceiveTask" />
|
<el-switch v-model="form.stopReceiveTask"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.requireSucess')" prop="applySucess" label-width="120px">
|
<el-form-item :label="$t('monitor.click.requireSucess')" prop="applySucess" label-width="120px">
|
||||||
<el-radio-group v-model="form.requireSucess">
|
<el-radio-group v-model="form.requireSucess">
|
||||||
@@ -229,13 +229,13 @@
|
|||||||
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible10" width="35%">
|
<el-dialog :title="$t('monitor.click.device_setup')" :visible.sync="dialogFormVisible10" width="35%">
|
||||||
<el-form :model="form" size="small">
|
<el-form :model="form" size="small">
|
||||||
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="120px">
|
<el-form-item :label="$t('monitor.click.equipment_number')" prop="device_code" label-width="120px">
|
||||||
<el-input v-model="form.device_code" :disabled="true" />
|
<el-input v-model="form.device_code" :disabled="true"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.bar_code')" label-width="120px">
|
<el-form-item :label="$t('monitor.click.bar_code')" label-width="120px">
|
||||||
<el-input v-model="form.hand_barcode" :disabled="false" />
|
<el-input v-model="form.hand_barcode" :disabled="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.material_code')" label-width="120px">
|
<el-form-item :label="$t('monitor.click.material_code')" label-width="120px">
|
||||||
<el-input v-model="form.hand_material_barcode" :disabled="false" />
|
<el-input v-model="form.hand_material_barcode" :disabled="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('monitor.click.request_flag')" prop="requireSucess" label-width="120px">
|
<el-form-item :label="$t('monitor.click.request_flag')" prop="requireSucess" label-width="120px">
|
||||||
<el-radio-group v-model="form.requireSucess">
|
<el-radio-group v-model="form.requireSucess">
|
||||||
@@ -805,6 +805,9 @@ export default {
|
|||||||
} else if (val === 'agv_task_type') {
|
} else if (val === 'agv_task_type') {
|
||||||
const obj = { name: i18n.t('monitor.click.agv_task_type'), value: data[val] }
|
const obj = { name: i18n.t('monitor.click.agv_task_type'), value: data[val] }
|
||||||
this.arr.push(obj)
|
this.arr.push(obj)
|
||||||
|
} else if (val === 'vehicle_code2') {
|
||||||
|
const obj = { name: i18n.t('monitor.click.vehicle_code2'), value: data[val] }
|
||||||
|
this.arr.push(obj)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user