Merge remote-tracking branch 'origin/master'

This commit is contained in:
2024-02-29 13:14:05 +08:00
33 changed files with 502 additions and 360 deletions

View File

@@ -7,6 +7,7 @@ import org.nl.acs.AcsConfig;
import org.nl.acs.agv.server.NDCAgvService; import org.nl.acs.agv.server.NDCAgvService;
import org.nl.acs.device.domain.Device; import org.nl.acs.device.domain.Device;
import org.nl.acs.device.service.DeviceService; import org.nl.acs.device.service.DeviceService;
import org.nl.acs.device_driver.agv.ndcone.AgvNdcOneDeviceDriver;
import org.nl.acs.device_driver.agv.ndctwo.AgvNdcTwoDeviceDriver; import org.nl.acs.device_driver.agv.ndctwo.AgvNdcTwoDeviceDriver;
import org.nl.acs.device_driver.autodoor.standard_autodoor.StandardAutodoorDeviceDriver; import org.nl.acs.device_driver.autodoor.standard_autodoor.StandardAutodoorDeviceDriver;
import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.ext.wms.service.AcsToWmsService;
@@ -99,7 +100,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
byte[] b = new byte[1024]; byte[] b = new byte[1024];
s = new Socket(); s = new Socket();
s.connect(socketAddress,2*1000); s.connect(socketAddress, 2 * 1000);
s.setKeepAlive(true);//长链接 s.setKeepAlive(true);//长链接
// s.setSoTimeout(1000* 60 * 10);//读取超时时间 // s.setSoTimeout(1000* 60 * 10);//读取超时时间
dos = new DataOutputStream(s.getOutputStream()); dos = new DataOutputStream(s.getOutputStream());
@@ -171,6 +172,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
} }
AgvNdcTwoDeviceDriver agvNdcTwoDeviceDriver; AgvNdcTwoDeviceDriver agvNdcTwoDeviceDriver;
AgvNdcOneDeviceDriver agvNdcOneDeviceDriver;
//开始任务 //开始任务
if (phase == 0x01) { if (phase == 0x01) {
if (!ObjectUtil.isEmpty(inst)) { if (!ObjectUtil.isEmpty(inst)) {
@@ -194,6 +196,9 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
if (agvDevice.getDeviceDriver() instanceof AgvNdcTwoDeviceDriver) { if (agvDevice.getDeviceDriver() instanceof AgvNdcTwoDeviceDriver) {
agvNdcTwoDeviceDriver = (AgvNdcTwoDeviceDriver) agvDevice.getDeviceDriver(); agvNdcTwoDeviceDriver = (AgvNdcTwoDeviceDriver) agvDevice.getDeviceDriver();
agvNdcTwoDeviceDriver.setInstruction(null); agvNdcTwoDeviceDriver.setInstruction(null);
}else if (device.getDeviceDriver() instanceof AgvNdcOneDeviceDriver) {
agvNdcOneDeviceDriver = (AgvNdcOneDeviceDriver) device.getDeviceDriver();
agvNdcOneDeviceDriver.setInstruction(null);
} }
} }
inst.setInstruction_status("2"); inst.setInstruction_status("2");
@@ -224,7 +229,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
log.info(agvaddr + "对应设备号为空!"); log.info(agvaddr + "对应设备号为空!");
return; return;
} }
if(ObjectUtil.isNotEmpty(device)) { if (ObjectUtil.isNotEmpty(device)) {
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) { if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver(); standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
try { try {
@@ -233,7 +238,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
log.info("下发电气信号失败:" + e.getMessage()); log.info("下发电气信号失败:" + e.getMessage());
e.printStackTrace(); e.printStackTrace();
} }
if (standardAutodoorDeviceDriver.getAction() == 1 && standardAutodoorDeviceDriver.getTo_command() == 1 ) { if (standardAutodoorDeviceDriver.getAction() == 1 && standardAutodoorDeviceDriver.getTo_command() == 1) {
log.info("下发开门信号值为:{}", standardAutodoorDeviceDriver.getTo_command()); log.info("下发开门信号值为:{}", standardAutodoorDeviceDriver.getTo_command());
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
} }
@@ -247,7 +252,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
log.info(agvaddr + "对应设备号为空!"); log.info(agvaddr + "对应设备号为空!");
return; return;
} }
if(ObjectUtil.isNotEmpty(device)){ if (ObjectUtil.isNotEmpty(device)) {
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) { if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver(); standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
try { try {
@@ -270,17 +275,20 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
} else { } else {
device = deviceAppService.findDeviceByCode(Integer.toString(arr[20])); device = deviceAppService.findDeviceByCode(Integer.toString(arr[20]));
} }
try{ try {
if(ObjectUtil.isNotEmpty(device)){ if (ObjectUtil.isNotEmpty(device)) {
if (device.getDeviceDriver() instanceof AgvNdcTwoDeviceDriver) { if (device.getDeviceDriver() instanceof AgvNdcTwoDeviceDriver) {
agvNdcTwoDeviceDriver = (AgvNdcTwoDeviceDriver) device.getDeviceDriver(); agvNdcTwoDeviceDriver = (AgvNdcTwoDeviceDriver) device.getDeviceDriver();
agvNdcTwoDeviceDriver.processSocket(arr); agvNdcTwoDeviceDriver.processSocket(arr);
} else if (device.getDeviceDriver() instanceof AgvNdcOneDeviceDriver) {
agvNdcOneDeviceDriver = (AgvNdcOneDeviceDriver) device.getDeviceDriver();
agvNdcOneDeviceDriver.processSocket(arr);
} }
} else { } else {
log.info("当前phase"+ phase +"未找到对应设备"); log.info("当前phase" + phase + "未找到对应设备");
} }
} catch (Exception e){ } catch (Exception e) {
log.info("processSocket出错:{},{}" ,e, e.getMessage()); log.info("processSocket出错:{},{}", e, e.getMessage());
e.printStackTrace(); e.printStackTrace();
} }
} }
@@ -333,13 +341,13 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
dos.flush(); dos.flush();
} catch (Exception e) { } catch (Exception e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block
try{ try {
Thread.sleep(5000); Thread.sleep(5000);
log.info("再次下发agv数据:" + Bytes2HexString(b)); log.info("再次下发agv数据:" + Bytes2HexString(b));
System.out.println("再次下发agv数据:" + Bytes2HexString(b)); System.out.println("再次下发agv数据:" + Bytes2HexString(b));
dos.write(b); dos.write(b);
dos.flush(); dos.flush();
} catch (Exception e1){ } catch (Exception e1) {
e1.printStackTrace(); e1.printStackTrace();
} }

View File

@@ -174,12 +174,30 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
barcode = this.itemProtocol.getBarcode(); barcode = this.itemProtocol.getBarcode();
iserror = this.itemProtocol.isError; iserror = this.itemProtocol.isError;
if (mode != last_mode) {
requireSucess = false;
logServer.deviceItemValue(this.device_code, "mode", String.valueOf(mode));
logServer.deviceExecuteLog(this.device_code, "", "", "信号mode" + last_mode + "->" + mode);
}
if (move != last_move) {
logServer.deviceItemValue(this.device_code, "move", String.valueOf(move));
logServer.deviceExecuteLog(this.device_code, "", "", "信号move" + last_move + "->" + move);
}
if (action != last_action) {
logServer.deviceItemValue(this.device_code, "action", String.valueOf(action));
logServer.deviceExecuteLog(this.device_code, "", "", "信号action" + last_action + "->" + action);
}
if (error != last_error) {
logServer.deviceItemValue(this.device_code, "error", String.valueOf(error));
logServer.deviceExecuteLog(this.device_code, "", "", "信号error" + last_error + "->" + error);
}
// 更新指令状态 // 更新指令状态
if (mode == 3 && task > 0) { if (mode == 3 && task > 0) {
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(LangProcess.msg("universal_feedMessage6"), this.instruction_update_time_out);
} else { } else {
this.instruction_update_time = date; this.instruction_update_time = date;
@@ -213,45 +231,45 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
ja.add(jo); ja.add(jo);
HttpResponse body = acsToWmsService.feedbackTaskStatusToWms(ja); HttpResponse body = acsToWmsService.feedbackTaskStatusToWms(ja);
if (body.getStatus() == 200) { if (body.getStatus() == 200) {
message = "反馈重量以及收卷轴LMS成功..."; message = LangProcess.msg("two_message1");
requireSucess = true; requireSucess = true;
LuceneLogDto logDto = LuceneLogDto.builder() LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code) .device_code(device_code)
.content("反馈尺寸成请求成功,响应参数:" + JSON.toJSONString(body)) .content(LangProcess.msg("two_message3") + JSON.toJSONString(body))
.build(); .build();
luceneExecuteLogService.deviceExecuteLog(logDto); luceneExecuteLogService.deviceExecuteLog(logDto);
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command", "5"); map.put("to_command", "5");
this.writing(map); this.writing(map);
} else { } else {
message = "反馈重量以及收卷轴LMS失败..."; message = LangProcess.msg("two_message2");
requireSucess = false; requireSucess = false;
LuceneLogDto logDto = LuceneLogDto.builder() LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code) .device_code(device_code)
.content("反馈重量以及收卷轴LMS失败...") .content(LangProcess.msg("two_message2"))
.build(); .build();
luceneExecuteLogService.deviceExecuteLog(logDto); luceneExecuteLogService.deviceExecuteLog(logDto);
} }
} else { } else {
LuceneLogDto logDto = LuceneLogDto.builder() LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code) .device_code(device_code)
.content("当前指令号为空") .content(LangProcess.msg("universal_message6"))
.build(); .build();
luceneExecuteLogService.deviceExecuteLog(logDto); luceneExecuteLogService.deviceExecuteLog(logDto);
} }
} else { } else {
feedMessage = "行架机械手:"; feedMessage = LangProcess.msg("universal_feedMessage5");
if (mode != 3) { if (mode != 3) {
feedMessage = feedMessage + "mode不为运行中状态,"; feedMessage = feedMessage + LangProcess.msg("universal_feedMessage1");
} }
if (action != 5) { if (action != 5) {
feedMessage = feedMessage + "action不为反馈重量状态,"; feedMessage = feedMessage + LangProcess.msg("two_message4");
} }
if (move != 1) { if (move != 1) {
feedMessage = feedMessage + "move不为有货状态,"; feedMessage = feedMessage + LangProcess.msg("universal_feedMessage7");
} }
if (task == 0) { if (task == 0) {
feedMessage = feedMessage + "task为0。"; feedMessage = feedMessage + LangProcess.msg("universal_feedMessage8");
} }
} }
@@ -262,7 +280,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
if (StrUtil.equals(inst2.getInstruction_status(), InstructionStatusEnum.BUSY.getIndex())) { if (StrUtil.equals(inst2.getInstruction_status(), InstructionStatusEnum.BUSY.getIndex())) {
try { try {
requireSucess = true; requireSucess = true;
message = "任务完成..."; message = LangProcess.msg("universal_message7");
finish_instruction(inst2); finish_instruction(inst2);
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command", "6"); map.put("to_command", "6");
@@ -280,7 +298,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
feedMessage = var17.getMessage(); feedMessage = var17.getMessage();
LuceneLogDto logDto = LuceneLogDto.builder() LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code) .device_code(device_code)
.content("读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.itemProtocol)) .content(LangProcess.msg("universal_message8") + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.itemProtocol))
.build(); .build();
luceneExecuteLogService.deviceExecuteLog(logDto); luceneExecuteLogService.deviceExecuteLog(logDto);
@@ -288,11 +306,11 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
if (mode == 0) { if (mode == 0) {
this.setIsonline(false); this.setIsonline(false);
message = "未联机"; message = LangProcess.msg("universal_off-line");
//有报警 //有报警
} else if (error != 0) { } else if (error != 0) {
this.setIserror(true); this.setIserror(true);
message = "有报警"; message = LangProcess.msg("universal_message3");
//无报警 //无报警
} else { } else {
this.setIsonline(true); this.setIsonline(true);
@@ -314,19 +332,19 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
//if (!requireSucess) { //if (!requireSucess) {
String remark = LangProcess.msg("universal_remark1"); String remark = LangProcess.msg("universal_remark1");
if (mode != 2) { if (mode != 2) {
remark = remark + "工作模式(mode)不是待机状态,"; remark = remark + LangProcess.msg("universal_remark2");
} }
if (move != 0) { if (move != 0) {
remark = remark + "光电信号(move)为有货状态,"; remark = remark + LangProcess.msg("universal_remark3");
} }
if (task != 0) { if (task != 0) {
remark = remark + "当前上报任务号(task)应该为0,"; remark = remark + LangProcess.msg("universal_remark4");
if (ObjectUtil.isNotEmpty(this.inst)) { if (ObjectUtil.isNotEmpty(this.inst)) {
this.inst = null; this.inst = null;
} }
} }
if (requireSucess) { if (requireSucess) {
remark = remark + "请右击该图标,将请求任务复位标记(requireSucess)改为否。"; remark = remark + LangProcess.msg("universal_remark5");
} }
this.setNotCreateTaskMessage(remark); this.setNotCreateTaskMessage(remark);
//} //}
@@ -359,7 +377,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
public synchronized boolean applyTask() { public synchronized boolean applyTask() {
Date date = new Date(); Date date = new Date();
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) { if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out); log.trace(LangProcess.msg("universal_feedMessage6"), this.instruction_require_time_out);
return false; return false;
} else { } else {
this.instruction_require_time = date; this.instruction_require_time = date;
@@ -448,7 +466,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
notCreateInstMessage = e.getMessage(); notCreateInstMessage = e.getMessage();
LuceneLogDto logDto = LuceneLogDto.builder() LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code) .device_code(device_code)
.content("创建指令时出现异常:" + e.getMessage()) .content(LangProcess.msg("universal_message9") + e.getMessage())
.build(); .build();
luceneExecuteLogService.deviceExecuteLog(logDto); luceneExecuteLogService.deviceExecuteLog(logDto);
return false; return false;
@@ -461,19 +479,19 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
Device startDevice = deviceAppService.findDeviceByCode(instdto.getStart_device_code()); Device startDevice = deviceAppService.findDeviceByCode(instdto.getStart_device_code());
Device nextDevice = deviceAppService.findDeviceByCode(instdto.getNext_device_code()); Device nextDevice = deviceAppService.findDeviceByCode(instdto.getNext_device_code());
if (ObjectUtil.isEmpty(startDevice.getExtraValue().get("address"))) { if (ObjectUtil.isEmpty(startDevice.getExtraValue().get("address"))) {
notCreateInstMessage = "设备:" + startDevice.getDevice_code() + "未设置电气调度号!"; notCreateInstMessage = startDevice.getDevice_code() + LangProcess.msg("universal_notCreateInstMessage1");
LuceneLogDto logDto = LuceneLogDto.builder() LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code) .device_code(device_code)
.content("设备:" + startDevice.getDevice_code() + "未设置电气调度号!") .content(startDevice.getDevice_code() + LangProcess.msg("universal_notCreateInstMessage1"))
.build(); .build();
luceneExecuteLogService.deviceExecuteLog(logDto); luceneExecuteLogService.deviceExecuteLog(logDto);
throw new BadRequestException(LangProcess.msg("device_checkAdd", startDevice.getDevice_code())); throw new BadRequestException(LangProcess.msg("device_checkAdd", startDevice.getDevice_code()));
} }
if (ObjectUtil.isEmpty(nextDevice.getExtraValue().get("address"))) { if (ObjectUtil.isEmpty(nextDevice.getExtraValue().get("address"))) {
notCreateInstMessage = "设备:" + nextDevice.getDevice_code() + "未设置电气调度号!"; notCreateInstMessage = nextDevice.getDevice_code() + LangProcess.msg("universal_notCreateInstMessage1");
LuceneLogDto logDto = LuceneLogDto.builder() LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code) .device_code(device_code)
.content("设备:" + nextDevice.getDevice_code() + "未设置电气调度号!") .content(nextDevice.getDevice_code() + LangProcess.msg("universal_notCreateInstMessage1"))
.build(); .build();
luceneExecuteLogService.deviceExecuteLog(logDto); luceneExecuteLogService.deviceExecuteLog(logDto);
throw new BadRequestException(LangProcess.msg("device_checkAdd", nextDevice.getDevice_code())); throw new BadRequestException(LangProcess.msg("device_checkAdd", nextDevice.getDevice_code()));
@@ -491,7 +509,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
notCreateInstMessage = ""; notCreateInstMessage = "";
notCreateTaskMessage = ""; notCreateTaskMessage = "";
} else { } else {
notCreateInstMessage = "未找到关联设备的任务,指令无法创建"; notCreateInstMessage = LangProcess.msg("universal_notCreateInstMessage");
} }
return true; return true;
} }
@@ -528,7 +546,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
} }
LuceneLogDto logDto = LuceneLogDto.builder() LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code) .device_code(device_code)
.content("下发多个电气信号:" + itemMap) .content(LangProcess.msg("universal_message10") + itemMap)
.build(); .build();
luceneExecuteLogService.deviceExecuteLog(logDto); luceneExecuteLogService.deviceExecuteLog(logDto);
} }
@@ -559,19 +577,19 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
String action = ""; String action = "";
String walk_y = ""; String walk_y = "";
if (this.getMode() == 0) { if (this.getMode() == 0) {
mode = "脱机"; mode = LangProcess.msg("universal_off-line");
} else if (this.getMode() == 1) { } else if (this.getMode() == 1) {
mode = "单机"; mode = LangProcess.msg("universal_stand-alone");
} else if (this.getMode() == 2) { } else if (this.getMode() == 2) {
mode = "待机"; mode = LangProcess.msg("universal_standby");
} else if (this.getMode() == 3) { } else if (this.getMode() == 3) {
mode = "运行中"; mode = LangProcess.msg("universal_operation");
} }
if (this.getMove() == 0) { if (this.getMove() == 0) {
move = "无货"; move = LangProcess.msg("universal_no");
} else if (this.getMove() == 1) { } else if (this.getMove() == 1) {
move = "有货"; move = LangProcess.msg("universal_yes");
} }
String requireSucess = "0"; String requireSucess = "0";
@@ -580,13 +598,13 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
} }
jo.put("requireSucess", requireSucess); jo.put("requireSucess", requireSucess);
if (this.getAction() == 1) { if (this.getAction() == 1) {
action = "取货中"; action = LangProcess.msg("universal_delivery");
} else if (this.getAction() == 2) { } else if (this.getAction() == 2) {
action = "取货完成"; action = LangProcess.msg("universal_completed");
} else if (this.getAction() == 3) { } else if (this.getAction() == 3) {
action = "放货中"; action = LangProcess.msg("universal_releasing");
} else if (this.getAction() == 4) { } else if (this.getAction() == 4) {
action = "放货完成"; action = LangProcess.msg("universal_releasing_completed");
} }
if(error == 0 && iserror){ if(error == 0 && iserror){
message = "信号连接异常!"; message = "信号连接异常!";

View File

@@ -28,6 +28,7 @@ import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.route.service.RouteLineService; import org.nl.acs.route.service.RouteLineService;
import org.nl.acs.task.service.TaskService; import org.nl.acs.task.service.TaskService;
import org.nl.config.SpringContextHolder; import org.nl.config.SpringContextHolder;
import org.nl.config.language.LangProcess;
import org.nl.config.lucene.service.LuceneExecuteLogService; import org.nl.config.lucene.service.LuceneExecuteLogService;
import org.nl.system.service.param.ISysParamService; import org.nl.system.service.param.ISysParamService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -142,7 +143,7 @@ public class BlankingButtonDriver extends AbstractOpcDeviceDriver implements Dev
if (mode == 0) { if (mode == 0) {
this.setIsonline(false); this.setIsonline(false);
message = "未联机"; message = LangProcess.msg("universal_off-line");
// 有报警 // 有报警
// } else if (error != 0) { // } else if (error != 0) {
// this.setIsonline(false); // this.setIsonline(false);
@@ -154,7 +155,7 @@ public class BlankingButtonDriver extends AbstractOpcDeviceDriver implements Dev
this.setIserror(false); this.setIserror(false);
if (error != 0) { if (error != 0) {
this.setIserror(true); this.setIserror(true);
message = "有报警"; message = LangProcess.msg("universal_message3");
} }
message = ""; message = "";
Instruction instruction = null; Instruction instruction = null;
@@ -162,10 +163,10 @@ public class BlankingButtonDriver extends AbstractOpcDeviceDriver implements Dev
switch (mode) { switch (mode) {
case 2: case 2:
log.debug("设备运转模式:等待工作"); log.debug(LangProcess.msg("universal_standby"));
break; break;
case 3: case 3:
log.debug("设备运转模式:等待工作"); log.debug(LangProcess.msg("universal_operation"));
break; break;
case 9: case 9:
// 表处下满料请求 // 表处下满料请求
@@ -205,60 +206,26 @@ public class BlankingButtonDriver extends AbstractOpcDeviceDriver implements Dev
Date date = new Date(); Date date = new Date();
if (date.getTime() - this.instruction_require_time.getTime() if (date.getTime() - this.instruction_require_time.getTime()
< (long) this.instruction_require_time_out) { < (long) this.instruction_require_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out); log.trace(LangProcess.msg("universal_feedMessage6"), this.instruction_require_time_out);
return; return;
} else { } else {
this.instruction_require_time = date; this.instruction_require_time = date;
if (StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) { if (StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
message = "申请下满料请求中..."; message = LangProcess.msg("two_message5");
BlankingButtonRequest blankingButtonRequest = new BlankingButtonRequest(); BlankingButtonRequest blankingButtonRequest = new BlankingButtonRequest();
blankingButtonRequest.setDevice_code(device_code); blankingButtonRequest.setDevice_code(device_code);
blankingButtonRequest.setType("1"); blankingButtonRequest.setType("1");
BlankingButtonResponse response = acsToWmsService.applyBlankButtonTask(blankingButtonRequest); BlankingButtonResponse response = acsToWmsService.applyBlankButtonTask(blankingButtonRequest);
if (ObjectUtil.isEmpty(response)) { if (ObjectUtil.isEmpty(response)) {
message = "申请下满料任务接口不通"; message = LangProcess.msg("two_message6");
} else { } else {
if (response.getCode()== 200) { if (response.getCode()== 200) {
this.writing("to_command","9"); this.writing("to_command","9");
message = "申请下满料任务成功"; message = LangProcess.msg("two_message7");
requireSucess = true; requireSucess = true;
} else { } else {
requireSucess = false; requireSucess = false;
message = "申请下满料任务失败," + response.getMessage(); message = LangProcess.msg("two_message8") + response.getMessage();
this.writing("to_command","99");
}
}
}
}
}
/**
* 申请取消任务
*/
public synchronized void applyTakeEmptyShaft() {
Date date = new Date();
if (date.getTime() - this.instruction_require_time.getTime()
< (long) this.instruction_require_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
return;
} else {
this.instruction_require_time = date;
if (StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
message = "申请取消任务中...";
BlankingButtonRequest blankingButtonRequest = new BlankingButtonRequest();
blankingButtonRequest.setDevice_code(device_code);
blankingButtonRequest.setType("2");
BlankingButtonResponse response = acsToWmsService.applyBlankButtonTask(blankingButtonRequest);
if (ObjectUtil.isEmpty(response)) {
message = "申请取消任务接口不通";
} else {
if (response.getCode()== 200) {
this.writing("to_command","10");
message = "申请取消任务成功";
requireSucess = true;
} else {
requireSucess = false;
message = "申请取消任务失败," + response.getMessage();
this.writing("to_command","99"); this.writing("to_command","99");
} }
} }
@@ -273,26 +240,60 @@ public class BlankingButtonDriver extends AbstractOpcDeviceDriver implements Dev
Date date = new Date(); Date date = new Date();
if (date.getTime() - this.instruction_require_time.getTime() if (date.getTime() - this.instruction_require_time.getTime()
< (long) this.instruction_require_time_out) { < (long) this.instruction_require_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out); log.trace(LangProcess.msg("universal_feedMessage6"), this.instruction_require_time_out);
return; return;
} else { } else {
this.instruction_require_time = date; this.instruction_require_time = date;
if (StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) { if (StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
message = "申请取消任务中..."; message = LangProcess.msg("two_message9");
BlankingButtonRequest blankingButtonRequest = new BlankingButtonRequest(); BlankingButtonRequest blankingButtonRequest = new BlankingButtonRequest();
blankingButtonRequest.setDevice_code(device_code); blankingButtonRequest.setDevice_code(device_code);
blankingButtonRequest.setType("2"); blankingButtonRequest.setType("2");
BlankingButtonResponse response = acsToWmsService.applyBlankButtonTask(blankingButtonRequest); BlankingButtonResponse response = acsToWmsService.applyBlankButtonTask(blankingButtonRequest);
if (ObjectUtil.isEmpty(response)) { if (ObjectUtil.isEmpty(response)) {
message = "申请AGV搬运任务接口不通"; message = LangProcess.msg("two_message10");
} else { } else {
if (response.getCode()== 200) { if (response.getCode()== 200) {
this.writing("to_command","10"); this.writing("to_command","10");
message = "申请AGV搬运任务成功"; message = LangProcess.msg("two_message11");
requireSucess = true; requireSucess = true;
} else { } else {
requireSucess = false; requireSucess = false;
message = "申请AGV搬运任务失败," + response.getMessage(); message = LangProcess.msg("two_message12") + response.getMessage();
this.writing("to_command","99");
}
}
}
}
}
/**
* 表处上空轴请求
*/
public synchronized void applyTakeEmptyShaft() {
Date date = new Date();
if (date.getTime() - this.instruction_require_time.getTime()
< (long) this.instruction_require_time_out) {
log.trace(LangProcess.msg("universal_feedMessage6"), this.instruction_require_time_out);
return;
} else {
this.instruction_require_time = date;
if (StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
message = LangProcess.msg("two_message13");
BlankingButtonRequest blankingButtonRequest = new BlankingButtonRequest();
blankingButtonRequest.setDevice_code(device_code);
blankingButtonRequest.setType("2");
BlankingButtonResponse response = acsToWmsService.applyBlankButtonTask(blankingButtonRequest);
if (ObjectUtil.isEmpty(response)) {
message = LangProcess.msg("two_message14");
} else {
if (response.getCode()== 200) {
this.writing("to_command","10");
message = LangProcess.msg("two_message15");
requireSucess = true;
} else {
requireSucess = false;
message = LangProcess.msg("two_message16") + response.getMessage();
this.writing("to_command","99"); this.writing("to_command","99");
} }
} }

View File

@@ -29,6 +29,7 @@ import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.route.service.RouteLineService; import org.nl.acs.route.service.RouteLineService;
import org.nl.acs.task.service.TaskService; import org.nl.acs.task.service.TaskService;
import org.nl.config.SpringContextHolder; import org.nl.config.SpringContextHolder;
import org.nl.config.language.LangProcess;
import org.nl.system.service.param.ISysParamService; import org.nl.system.service.param.ISysParamService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -136,7 +137,7 @@ public class GreenFoilMachineButtonDriver extends AbstractOpcDeviceDriver implem
if (mode == 0) { if (mode == 0) {
this.setIsonline(false); this.setIsonline(false);
message = "未联机"; message = LangProcess.msg("universal_off-line");
// 有报警 // 有报警
// } else if (error != 0) { // } else if (error != 0) {
// this.setIsonline(false); // this.setIsonline(false);
@@ -145,7 +146,7 @@ public class GreenFoilMachineButtonDriver extends AbstractOpcDeviceDriver implem
// //无报警 // //无报警
} else if (error != 0) { } else if (error != 0) {
this.setIserror(true); this.setIserror(true);
message = "有报警"; message = LangProcess.msg("universal_message3");
}else { }else {
this.setIsonline(true); this.setIsonline(true);
this.setIserror(false); this.setIserror(false);
@@ -155,10 +156,10 @@ public class GreenFoilMachineButtonDriver extends AbstractOpcDeviceDriver implem
switch (mode) { switch (mode) {
case 2: case 2:
log.debug("设备运转模式:等待工作"); log.debug(LangProcess.msg("universal_standby"));
break; break;
case 3: case 3:
log.debug("设备运转模式:等待工作"); log.debug(LangProcess.msg("universal_operation"));
break; break;
case 4: case 4:
// 申请AGV取空取满放空放满任务 // 申请AGV取空取满放空放满任务
@@ -207,18 +208,18 @@ public class GreenFoilMachineButtonDriver extends AbstractOpcDeviceDriver implem
Date date = new Date(); Date date = new Date();
if (date.getTime() - this.instruction_require_time.getTime() if (date.getTime() - this.instruction_require_time.getTime()
< (long) this.instruction_require_time_out) { < (long) this.instruction_require_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out); log.trace(LangProcess.msg("universal_feedMessage6"), this.instruction_require_time_out);
return; return;
} else { } else {
this.instruction_require_time = date; this.instruction_require_time = date;
if (StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) { if (StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), CommonFinalParam.ONE)) {
message = "申请AGV搬运任务中..."; message = LangProcess.msg("two_message17");
ApplyGreenFoilButtonRequest applyGreenFoilButtonRequest = new ApplyGreenFoilButtonRequest(); ApplyGreenFoilButtonRequest applyGreenFoilButtonRequest = new ApplyGreenFoilButtonRequest();
applyGreenFoilButtonRequest.setDevice_code(device_code); applyGreenFoilButtonRequest.setDevice_code(device_code);
applyGreenFoilButtonRequest.setType(String.valueOf(mode)); applyGreenFoilButtonRequest.setType(String.valueOf(mode));
ApplyGreenFoilButtonResponse response = acsToWmsService.applyGreenFoilButtonTask(applyGreenFoilButtonRequest); ApplyGreenFoilButtonResponse response = acsToWmsService.applyGreenFoilButtonTask(applyGreenFoilButtonRequest);
if (ObjectUtil.isEmpty(response)) { if (ObjectUtil.isEmpty(response)) {
message = "申请AGV搬运任务接口不通"; message = LangProcess.msg("two_message18");
} else { } else {
if (response.getCode()== 200) { if (response.getCode()== 200) {
if (mode==4){ if (mode==4){
@@ -228,11 +229,11 @@ public class GreenFoilMachineButtonDriver extends AbstractOpcDeviceDriver implem
}else if (mode==9){ }else if (mode==9){
this.writing("to_command","9"); this.writing("to_command","9");
} }
message = "申请AGV搬运任务成功"; message = LangProcess.msg("two_message19");
requireSucess = true; requireSucess = true;
} else { } else {
requireSucess = false; requireSucess = false;
message = "申请AGV搬运任务失败," + response.getMessage(); message = LangProcess.msg("two_message20") + response.getMessage();
this.writing("to_command","99"); this.writing("to_command","99");
} }
} }

View File

@@ -71,7 +71,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
@Autowired @Autowired
DeviceErrorLogService deviceErrorLogService = SpringContextHolder.getBean(DeviceErrorLogServiceImpl.class); DeviceErrorLogService deviceErrorLogService = SpringContextHolder.getBean(DeviceErrorLogServiceImpl.class);
@Autowired @Autowired
private LimitRegionalService limitRegionalService=SpringContextHolder.getBean(LimitRegionalService.class); private LimitRegionalService limitRegionalService = SpringContextHolder.getBean(LimitRegionalService.class);
@Autowired @Autowired
LuceneExecuteLogService luceneExecuteLogService = SpringContextHolder.getBean(LuceneExecuteLogService.class); LuceneExecuteLogService luceneExecuteLogService = SpringContextHolder.getBean(LuceneExecuteLogService.class);
@@ -177,51 +177,11 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
y_position = this.itemProtocol.getY_position(); y_position = this.itemProtocol.getY_position();
iserror = this.itemProtocol.device_status; iserror = this.itemProtocol.device_status;
if (to_onset != last_to_onset) { if(mode != last_mode){
logServer.deviceExecuteLog(this.device_code, "", "", "信号to_onset" + last_to_onset + "->" + to_onset);
}
if (to_command != last_to_command) {
logServer.deviceExecuteLog(this.device_code, "", "", "信号to_command" + last_to_command + "->" + to_command);
}
if (to_target != last_to_target) {
logServer.deviceExecuteLog(this.device_code, "", "", "信号to_target" + last_to_target + "->" + to_target);
}
if (to_task != last_to_task) {
logServer.deviceExecuteLog(this.device_code, "", "", "信号to_task" + last_to_task + "->" + to_task);
}
if (mode != last_mode) {
requireSucess = false; requireSucess = false;
logServer.deviceItemValue(this.device_code, "mode", String.valueOf(mode));
logServer.deviceExecuteLog(this.device_code, "", "", "信号mode" + last_mode + "->" + mode);
}
if (move != last_move) {
logServer.deviceItemValue(this.device_code, "move", String.valueOf(move));
logServer.deviceExecuteLog(this.device_code, "", "", "信号move" + last_move + "->" + move);
}
if (action != last_action) {
logServer.deviceItemValue(this.device_code, "action", String.valueOf(action));
logServer.deviceExecuteLog(this.device_code, "", "", "信号action" + last_action + "->" + action);
}
if (error != last_error) {
logServer.deviceItemValue(this.device_code, "error", String.valueOf(error));
logServer.deviceExecuteLog(this.device_code, "", "", "信号error" + last_error + "->" + error);
}
if (walk_y != last_walk_y) {
logServer.deviceItemValue(this.device_code, "walk_y", String.valueOf(walk_y));
logServer.deviceExecuteLog(this.device_code, "", "", "信号walk_y" + last_walk_y + "->" + walk_y);
}
if (task != last_task) {
logServer.deviceItemValue(this.device_code, "task", String.valueOf(task));
logServer.deviceExecuteLog(this.device_code, "", "", "信号task" + last_task + "->" + task);
}
if (x_position != last_x_position) {
logServer.deviceItemValue(this.device_code, "x_position", String.valueOf(x_position));
logServer.deviceExecuteLog(this.device_code, "", "", "信号x_position" + last_x_position + "->" + x_position);
}
if (y_position != last_y_position) {
logServer.deviceItemValue(this.device_code, "y_position", String.valueOf(y_position));
logServer.deviceExecuteLog(this.device_code, "", "", "信号y_position" + last_y_position + "->" + y_position);
} }
update_instruction_status(); update_instruction_status();
} catch (Exception var17) { } catch (Exception var17) {
@@ -356,32 +316,32 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver; HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver;
StandardInspectSiteDeviceDriver standardInspectSiteDeviceDriver; StandardInspectSiteDeviceDriver standardInspectSiteDeviceDriver;
OvenInspectSiteDeviceDriver ovenInspectSiteDeviceDriver; OvenInspectSiteDeviceDriver ovenInspectSiteDeviceDriver;
if(startdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && nextdevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver){ if (startdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && nextdevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) {
ovenInspectSiteDeviceDriver = (OvenInspectSiteDeviceDriver) startdevice.getDeviceDriver(); ovenInspectSiteDeviceDriver = (OvenInspectSiteDeviceDriver) startdevice.getDeviceDriver();
standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) nextdevice.getDeviceDriver(); standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) nextdevice.getDeviceDriver();
if(ovenInspectSiteDeviceDriver.getMove() != 1 || standardInspectSiteDeviceDriver.getMove() == 1){ if (ovenInspectSiteDeviceDriver.getMove() != 1 || standardInspectSiteDeviceDriver.getMove() == 1) {
notCreateInstMessage = "手动创建指令未下发电气信号原因->烘箱检测站点-普通检测站点:" + ovenInspectSiteDeviceDriver.getDevicecode() + notCreateInstMessage = "手动创建指令未下发电气信号原因->烘箱检测站点-普通检测站点:" + ovenInspectSiteDeviceDriver.getDevicecode() +
"无货,无法下发指令或"+standardInspectSiteDeviceDriver.getDevicecode()+ "有货,无法下发指令!" +"!指令号:" + instruction.getInstruction_code(); "无货,无法下发指令或" + standardInspectSiteDeviceDriver.getDevicecode() + "有货,无法下发指令!" + "!指令号:" + instruction.getInstruction_code();
return false; return false;
} }
//判断经过的烘箱是否关门 //判断经过的烘箱是否关门
boolean hongxiangCloseDoor = this.hongxiangCloseDoor(start_device_code, next_device_code); boolean hongxiangCloseDoor = this.hongxiangCloseDoor(start_device_code, next_device_code);
if(!hongxiangCloseDoor){ if (!hongxiangCloseDoor) {
notCreateInstMessage = "手动创建指令未下发电气信号原因->取货位:" + start_device_code + ",放货位:" + next_device_code + ",存在关联的同一列烘箱设备未关门!指令号:" + instruction.getInstruction_code(); notCreateInstMessage = "手动创建指令未下发电气信号原因->取货位:" + start_device_code + ",放货位:" + next_device_code + ",存在关联的同一列烘箱设备未关门!指令号:" + instruction.getInstruction_code();
return false; return false;
} }
} }
if(nextdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && startdevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver){ if (nextdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && startdevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) {
ovenInspectSiteDeviceDriver = (OvenInspectSiteDeviceDriver) nextdevice.getDeviceDriver(); ovenInspectSiteDeviceDriver = (OvenInspectSiteDeviceDriver) nextdevice.getDeviceDriver();
standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) startdevice.getDeviceDriver(); standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) startdevice.getDeviceDriver();
if(ovenInspectSiteDeviceDriver.getMove() != 1 || standardInspectSiteDeviceDriver.getMove() == 1){ if (ovenInspectSiteDeviceDriver.getMove() != 1 || standardInspectSiteDeviceDriver.getMove() == 1) {
notCreateInstMessage = "手动创建指令未下发电气信号原因->烘箱检测站点-普通检测站点:" + ovenInspectSiteDeviceDriver.getDevicecode() + notCreateInstMessage = "手动创建指令未下发电气信号原因->烘箱检测站点-普通检测站点:" + ovenInspectSiteDeviceDriver.getDevicecode() +
"无货,无法下发指令或"+standardInspectSiteDeviceDriver.getDevicecode()+ "有货,无法下发指令!" +"!指令号:" + instruction.getInstruction_code(); "无货,无法下发指令或" + standardInspectSiteDeviceDriver.getDevicecode() + "有货,无法下发指令!" + "!指令号:" + instruction.getInstruction_code();
return false; return false;
} }
//判断经过的烘箱是否关门 //判断经过的烘箱是否关门
boolean hongxiangCloseDoor = this.hongxiangCloseDoor( next_device_code, start_device_code); boolean hongxiangCloseDoor = this.hongxiangCloseDoor(next_device_code, start_device_code);
if(!hongxiangCloseDoor){ if (!hongxiangCloseDoor) {
notCreateInstMessage = "手动创建指令未下发电气信号原因->取货位:" + start_device_code + ",放货位:" + next_device_code + ",存在关联的同一列烘箱设备未关门!指令号:" + instruction.getInstruction_code(); notCreateInstMessage = "手动创建指令未下发电气信号原因->取货位:" + start_device_code + ",放货位:" + next_device_code + ",存在关联的同一列烘箱设备未关门!指令号:" + instruction.getInstruction_code();
return false; return false;
} }
@@ -435,9 +395,14 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
} }
String start_addr = startDevice.getExtraValue().get("address").toString(); String start_addr = startDevice.getExtraValue().get("address").toString();
String next_addr = nextDevice.getExtraValue().get("address").toString(); String next_addr = nextDevice.getExtraValue().get("address").toString();
logServer.deviceExecuteLog(device_code, "", "", "当前设备:" + device_code + ",下发指令:" String msg = "当前设备:" + device_code + ",下发指令:"
+ instruction.getInstruction_code() + ",指令起点:" + instruction.getStart_device_code() + instruction.getInstruction_code() + ",指令起点:" + instruction.getStart_device_code()
+ ",指令终点:" + instruction.getNext_device_code()); + ",指令终点:" + instruction.getNext_device_code();
LuceneLogDto logDto = LuceneLogDto.builder()
.device_code(device_code)
.content(msg)
.build();
luceneExecuteLogService.deviceExecuteLog(logDto);
List list = new ArrayList<>(); List list = new ArrayList<>();
Map map = new HashMap(); Map map = new HashMap();
map.put("to_onset", start_addr); map.put("to_onset", start_addr);
@@ -482,32 +447,32 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver; HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver;
StandardInspectSiteDeviceDriver standardInspectSiteDeviceDriver; StandardInspectSiteDeviceDriver standardInspectSiteDeviceDriver;
OvenInspectSiteDeviceDriver ovenInspectSiteDeviceDriver; OvenInspectSiteDeviceDriver ovenInspectSiteDeviceDriver;
if(startdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && nextdevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver){ if (startdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && nextdevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) {
ovenInspectSiteDeviceDriver = (OvenInspectSiteDeviceDriver) startdevice.getDeviceDriver(); ovenInspectSiteDeviceDriver = (OvenInspectSiteDeviceDriver) startdevice.getDeviceDriver();
standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) nextdevice.getDeviceDriver(); standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) nextdevice.getDeviceDriver();
if(ovenInspectSiteDeviceDriver.getMove() != 1 || standardInspectSiteDeviceDriver.getMove() == 1){ if (ovenInspectSiteDeviceDriver.getMove() != 1 || standardInspectSiteDeviceDriver.getMove() == 1) {
notCreateInstMessage = "手动创建指令未下发电气信号原因->烘箱检测站点-普通检测站点:" + ovenInspectSiteDeviceDriver.getDevicecode() + notCreateInstMessage = "手动创建指令未下发电气信号原因->烘箱检测站点-普通检测站点:" + ovenInspectSiteDeviceDriver.getDevicecode() +
"无货,无法下发指令或"+standardInspectSiteDeviceDriver.getDevicecode()+ "有货,无法下发指令!" +"!任务号:" + task.getTask_code(); "无货,无法下发指令或" + standardInspectSiteDeviceDriver.getDevicecode() + "有货,无法下发指令!" + "!任务号:" + task.getTask_code();
return false; return false;
} }
//判断经过的烘箱是否关门 //判断经过的烘箱是否关门
boolean hongxiangCloseDoor = this.hongxiangCloseDoor(task.getStart_device_code(), task.getNext_device_code()); boolean hongxiangCloseDoor = this.hongxiangCloseDoor(task.getStart_device_code(), task.getNext_device_code());
if(!hongxiangCloseDoor){ if (!hongxiangCloseDoor) {
notCreateInstMessage = "手动创建指令未下发电气信号原因->取货位:" + task.getStart_device_code() + ",放货位:" + task.getNext_device_code() + ",存在关联的同一列烘箱设备未关门!任务号:" + task.getTask_code(); notCreateInstMessage = "手动创建指令未下发电气信号原因->取货位:" + task.getStart_device_code() + ",放货位:" + task.getNext_device_code() + ",存在关联的同一列烘箱设备未关门!任务号:" + task.getTask_code();
return false; return false;
} }
} }
if(nextdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && startdevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver){ if (nextdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && startdevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) {
ovenInspectSiteDeviceDriver = (OvenInspectSiteDeviceDriver) nextdevice.getDeviceDriver(); ovenInspectSiteDeviceDriver = (OvenInspectSiteDeviceDriver) nextdevice.getDeviceDriver();
standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) startdevice.getDeviceDriver(); standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) startdevice.getDeviceDriver();
if(ovenInspectSiteDeviceDriver.getMove() != 1 || standardInspectSiteDeviceDriver.getMove() == 1){ if (ovenInspectSiteDeviceDriver.getMove() != 1 || standardInspectSiteDeviceDriver.getMove() == 1) {
notCreateInstMessage = "手动创建指令未下发电气信号原因->烘箱检测站点-普通检测站点:" + ovenInspectSiteDeviceDriver.getDevicecode() + notCreateInstMessage = "手动创建指令未下发电气信号原因->烘箱检测站点-普通检测站点:" + ovenInspectSiteDeviceDriver.getDevicecode() +
"无货,无法下发指令或"+standardInspectSiteDeviceDriver.getDevicecode()+ "有货,无法下发指令!" +"!任务号:" + task.getTask_code(); "无货,无法下发指令或" + standardInspectSiteDeviceDriver.getDevicecode() + "有货,无法下发指令!" + "!任务号:" + task.getTask_code();
return false; return false;
} }
//判断经过的烘箱是否关门 //判断经过的烘箱是否关门
boolean hongxiangCloseDoor = this.hongxiangCloseDoor(task.getStart_device_code(), task.getNext_device_code()); boolean hongxiangCloseDoor = this.hongxiangCloseDoor(task.getStart_device_code(), task.getNext_device_code());
if(!hongxiangCloseDoor){ if (!hongxiangCloseDoor) {
notCreateInstMessage = "手动创建指令未下发电气信号原因->取货位:" + task.getStart_device_code() + ",放货位:" + task.getNext_device_code() + ",存在关联的同一列烘箱设备未关门!任务号:" + task.getTask_code(); notCreateInstMessage = "手动创建指令未下发电气信号原因->取货位:" + task.getStart_device_code() + ",放货位:" + task.getNext_device_code() + ",存在关联的同一列烘箱设备未关门!任务号:" + task.getTask_code();
return false; return false;
} }
@@ -616,6 +581,9 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
} }
String start_addr = startDevice.getExtraValue().get("address").toString(); String start_addr = startDevice.getExtraValue().get("address").toString();
String next_addr = nextDevice.getExtraValue().get("address").toString(); String next_addr = nextDevice.getExtraValue().get("address").toString();
if(ObjectUtil.isEmpty(start_addr) || ObjectUtil.isEmpty(next_addr)){
throw new BadRequestException("设备:" + startDevice.getDevice_code() + "或设备:" + nextDevice.getDevice_code() + "地址值!");
}
String msg = "当前设备:" + device_code + ",下发指令:" String msg = "当前设备:" + device_code + ",下发指令:"
+ instdto.getInstruction_code() + ",指令起点:" + instdto.getStart_device_code() + instdto.getInstruction_code() + ",指令起点:" + instdto.getStart_device_code()
+ ",指令终点:" + instdto.getNext_device_code(); + ",指令终点:" + instdto.getNext_device_code();
@@ -627,16 +595,16 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
List list = new ArrayList<>(); List list = new ArrayList<>();
Map map = new HashMap(); Map map = new HashMap();
map.put("code", "to_onset"); map.put("code", "to_onset");
map.put("value",StrUtil.isNotBlank(start_addr)? start_addr : "0"); map.put("value", StrUtil.isNotBlank(start_addr) ? start_addr : "0");
Map map1 = new HashMap(); Map map1 = new HashMap();
map1.put("code", "to_target"); map1.put("code", "to_target");
map1.put("value",StrUtil.isNotBlank(next_addr)? next_addr : "0"); map1.put("value", StrUtil.isNotBlank(next_addr) ? next_addr : "0");
Map map2 = new HashMap(); Map map2 = new HashMap();
map2.put("code", "to_task"); map2.put("code", "to_task");
map2.put("value",instdto.getInstruction_code()); map2.put("value", instdto.getInstruction_code());
Map map3 = new HashMap(); Map map3 = new HashMap();
map3.put("code", "to_command"); map3.put("code", "to_command");
map3.put("value","1"); map3.put("value", "1");
list.add(map); list.add(map);
list.add(map1); list.add(map1);
list.add(map2); list.add(map2);
@@ -667,7 +635,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
/** /**
* 判断经过的烘箱是否关门 * 判断经过的烘箱是否关门
*/ */
private boolean hongxiangCloseDoor(String start_device_code,String next_device_code) { private boolean hongxiangCloseDoor(String start_device_code, String next_device_code) {
boolean flag = true; boolean flag = true;
List<String> ovenDeviceCodeList = null; List<String> ovenDeviceCodeList = null;
Device startDevice = deviceAppService.findDeviceByCode(start_device_code); Device startDevice = deviceAppService.findDeviceByCode(start_device_code);
@@ -682,14 +650,14 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
ovenDeviceCodeList = ovenInspectSiteDeviceDriver.getExtraDeviceCodes("link_device_code"); ovenDeviceCodeList = ovenInspectSiteDeviceDriver.getExtraDeviceCodes("link_device_code");
} }
HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver; HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver;
if(CollUtil.isNotEmpty(ovenDeviceCodeList)){ if (CollUtil.isNotEmpty(ovenDeviceCodeList)) {
for (String s : ovenDeviceCodeList) { for (String s : ovenDeviceCodeList) {
Device device = deviceAppService.findDeviceByCode(s); Device device = deviceAppService.findDeviceByCode(s);
if (device.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) { if (device.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) {
hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) device.getDeviceDriver(); hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) device.getDeviceDriver();
//判断关联设备是否开门 //判断关联设备是否开门
if (hongXiangConveyorDeviceDriver.getDoor() == 1) { if (hongXiangConveyorDeviceDriver.getDoor() == 1) {
notCreateInstMessage = "关联设备->" + device + "烘箱门未关闭!"; notCreateInstMessage = "关联设备->" + device + "烘箱门未关闭!";
flag = false; flag = false;
break; break;
} }
@@ -701,6 +669,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
/** /**
* 判断取货位或放货位为烘箱设备时关联的同一列烘箱设备是否有开门 * 判断取货位或放货位为烘箱设备时关联的同一列烘箱设备是否有开门
*
* @param start_device_code * @param start_device_code
* @param next_device_code * @param next_device_code
* @return * @return
@@ -1087,7 +1056,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
} else if (this.getAction() == 4) { } else if (this.getAction() == 4) {
action = "放货完成"; action = "放货完成";
} }
if(error == 0 && iserror){ if (error == 0 && iserror) {
this.setMessage(LangProcess.msg("universal_message4")); this.setMessage(LangProcess.msg("universal_message4"));
} }
jo.put("device_name", this.getDevice().getDevice_name()); jo.put("device_name", this.getDevice().getDevice_name());
@@ -1195,4 +1164,51 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
return null; return null;
} }
/*if (to_onset != last_to_onset) {
logServer.deviceExecuteLog(this.device_code, "", "", "信号to_onset" + last_to_onset + "->" + to_onset);
}
if (to_command != last_to_command) {
logServer.deviceExecuteLog(this.device_code, "", "", "信号to_command" + last_to_command + "->" + to_command);
}
if (to_target != last_to_target) {
logServer.deviceExecuteLog(this.device_code, "", "", "信号to_target" + last_to_target + "->" + to_target);
}
if (to_task != last_to_task) {
logServer.deviceExecuteLog(this.device_code, "", "", "信号to_task" + last_to_task + "->" + to_task);
}
if (mode != last_mode) {
requireSucess = false;
logServer.deviceItemValue(this.device_code, "mode", String.valueOf(mode));
logServer.deviceExecuteLog(this.device_code, "", "", "信号mode" + last_mode + "->" + mode);
}
if (move != last_move) {
logServer.deviceItemValue(this.device_code, "move", String.valueOf(move));
logServer.deviceExecuteLog(this.device_code, "", "", "信号move" + last_move + "->" + move);
}
if (action != last_action) {
logServer.deviceItemValue(this.device_code, "action", String.valueOf(action));
logServer.deviceExecuteLog(this.device_code, "", "", "信号action" + last_action + "->" + action);
}
if (error != last_error) {
logServer.deviceItemValue(this.device_code, "error", String.valueOf(error));
logServer.deviceExecuteLog(this.device_code, "", "", "信号error" + last_error + "->" + error);
}
if (walk_y != last_walk_y) {
logServer.deviceItemValue(this.device_code, "walk_y", String.valueOf(walk_y));
logServer.deviceExecuteLog(this.device_code, "", "", "信号walk_y" + last_walk_y + "->" + walk_y);
}
if (task != last_task) {
logServer.deviceItemValue(this.device_code, "task", String.valueOf(task));
logServer.deviceExecuteLog(this.device_code, "", "", "信号task" + last_task + "->" + task);
}
if (x_position != last_x_position) {
logServer.deviceItemValue(this.device_code, "x_position", String.valueOf(x_position));
logServer.deviceExecuteLog(this.device_code, "", "", "信号x_position" + last_x_position + "->" + x_position);
}
if (y_position != last_y_position) {
logServer.deviceItemValue(this.device_code, "y_position", String.valueOf(y_position));
logServer.deviceExecuteLog(this.device_code, "", "", "信号y_position" + last_y_position + "->" + y_position);
}*/
} }

View File

@@ -26,6 +26,8 @@ import org.nl.acs.monitor.DeviceStageMonitor;
import org.nl.acs.opc.DeviceAppService; import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.route.service.RouteLineService; import org.nl.acs.route.service.RouteLineService;
import org.nl.acs.task.service.TaskService; import org.nl.acs.task.service.TaskService;
import org.nl.acs.task.service.dto.TaskDto;
import org.nl.config.language.LangProcess;
import org.nl.config.language.LangProcess; import org.nl.config.language.LangProcess;
import org.nl.system.service.param.ISysParamService; import org.nl.system.service.param.ISysParamService;
import org.nl.config.SpringContextHolder; import org.nl.config.SpringContextHolder;
@@ -241,7 +243,6 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
} }
if (mode == 0) { if (mode == 0) {
this.setIsonline(false); this.setIsonline(false);
message = "未联机"; message = "未联机";
@@ -260,18 +261,22 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
//插拔轴机工位申请任务 //插拔轴机工位申请任务
switch (mode) { switch (mode) {
case 1: case 1:
log.debug("弃用(留作兼容)"); log.debug(LangProcess.msg("universal_stand-alone"));
break; break;
case 2: case 2:
log.info("待机"); log.info(LangProcess.msg("universal_standby"));
break; break;
case 3: case 3:
log.info("运行中"); log.info(LangProcess.msg("universal_operation"));
break; break;
case 4: case 4:
if (move == 1 && !requireSucess) { Instruction inst = instructionService.findByCode(String.valueOf(task));
//申请套管 TaskDto taskDto = taskserver.findByCode(inst.getTask_code());
apply_casing(mode); if (StrUtil.equals("1", taskDto.getIs_bushing())) {
if (move == 1 && !requireSucess) {
//申请套管
apply_casing(mode);
}
} }
break; break;
case 5: case 5:
@@ -309,18 +314,18 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
last_error = error; last_error = error;
last_task = task; last_task = task;
last_heartbeat = heartbeat; last_heartbeat = heartbeat;
last_barcode =barcode; last_barcode = barcode;
last_weight1=weight1; last_weight1 = weight1;
last_weight2=weight2; last_weight2 = weight2;
last_material1=material1; last_material1 = material1;
last_material2=material2; last_material2 = material2;
last_to_command = to_command; last_to_command = to_command;
last_to_material1 =to_material1; last_to_material1 = to_material1;
last_to_material2 = to_material2; last_to_material2 = to_material2;
last_to_qty=to_qty; last_to_qty = to_qty;
last_to_qzz_type=to_qzz_type; last_to_qzz_type = to_qzz_type;
last_to_is_changeShaft = to_is_changeShaft; last_to_is_changeShaft = to_is_changeShaft;
last_to_location=to_location; last_to_location = to_location;
last_to_size = to_size; last_to_size = to_size;
} }
@@ -330,15 +335,17 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
private synchronized void apply_casing(int mode) { private synchronized void apply_casing(int mode) {
ApplyPlugPullSiteRequest applyPlugPullSiteRequest = new ApplyPlugPullSiteRequest(); ApplyPlugPullSiteRequest applyPlugPullSiteRequest = new ApplyPlugPullSiteRequest();
ApplyPlugPullSitResponse applyPlugPullSitResponse; ApplyPlugPullSitResponse applyPlugPullSitResponse;
Instruction inst1 = null; Instruction inst;
if(task!=0) { if (task != 0) {
inst1 = instructionService.findByCode(String.valueOf(task)); inst = instructionService.findByCode(String.valueOf(task));
String task_code1 = inst1.getTask_code(); String task_code = inst.getTask_code();
applyPlugPullSiteRequest.setTask_code(task_code1); TaskDto dto = taskserver.findByCode(task_code);
String size = dto.getSize();
applyPlugPullSiteRequest.setSize(size);
applyPlugPullSiteRequest.setTask_code(task_code);
} }
applyPlugPullSiteRequest.setDevice_code(device_code); applyPlugPullSiteRequest.setDevice_code(device_code);
applyPlugPullSiteRequest.setType("1"); applyPlugPullSiteRequest.setType("1");
//TODO 气涨轴尺寸反馈
applyPlugPullSitResponse = acsToWmsService.applyPlugPullSiteRequest(applyPlugPullSiteRequest); applyPlugPullSitResponse = acsToWmsService.applyPlugPullSiteRequest(applyPlugPullSiteRequest);
if (applyPlugPullSitResponse.getCode() == 200) { if (applyPlugPullSitResponse.getCode() == 200) {
this.writeSignal(mode); this.writeSignal(mode);
@@ -361,7 +368,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
private synchronized void bushingSucess(int mode) { private synchronized void bushingSucess(int mode) {
ApplyPlugPullSiteRequest applyPlugPullSiteRequest = new ApplyPlugPullSiteRequest(); ApplyPlugPullSiteRequest applyPlugPullSiteRequest = new ApplyPlugPullSiteRequest();
ApplyPlugPullSitResponse applyPlugPullSitResponse; ApplyPlugPullSitResponse applyPlugPullSitResponse;
if(task!=0) { if (task != 0) {
Instruction inst1 = instructionService.findByCode(String.valueOf(task)); Instruction inst1 = instructionService.findByCode(String.valueOf(task));
String task_code1 = inst1.getTask_code(); String task_code1 = inst1.getTask_code();
applyPlugPullSiteRequest.setTask_code(task_code1); applyPlugPullSiteRequest.setTask_code(task_code1);
@@ -442,9 +449,10 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
/** /**
* 下发电气信号 * 下发电气信号
*
* @param mode * @param mode
*/ */
public void writeSignal(int mode){ public void writeSignal(int mode) {
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("to_command", mode); map.put("to_command", mode);
this.writing(map); this.writing(map);
@@ -492,7 +500,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
return this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + "."; return this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + ".";
} }
/** /**
* 将扩展表中的字符串数据转换成集合 * 将扩展表中的字符串数据转换成集合
*/ */
@Override @Override
@@ -519,27 +527,34 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
String action = ""; String action = "";
String move = ""; String move = "";
if (this.getMode() == 0) { if (this.getMode() == 0) {
mode = "未联机"; mode = LangProcess.msg("universal_off-line");
} else if (this.getMode() == 1) { } else if (this.getMode() == 1) {
mode = "单机"; mode = LangProcess.msg("universal_stand-alone");
} else if (this.getMode() == 2) { } else if (this.getMode() == 2) {
mode = "联机"; mode = LangProcess.msg("universal_standby");
} else if (this.getMode() == 3) { } else if (this.getMode() == 3) {
mode = "运行中"; mode = LangProcess.msg("universal_operation");
} }
if (this.getMove() == 0) { if (this.getMove() == 0) {
move = "无货"; move = LangProcess.msg("universal_no");
jo.put("hasGoods", false); jo.put("hasGoods", false);
} else if (this.getMove() == 1) { } else if (this.getMove() == 1) {
move = "有货"; move = LangProcess.msg("universal_yes");
jo.put("hasGoods", true); jo.put("hasGoods", true);
} else if (this.getMove() == 2) { } else if (this.getMove() == 2) {
move = "有托盘有货"; move = LangProcess.msg("universal_two_yes");
jo.put("hasGoods", true); jo.put("hasGoods", true);
} }
if(this.itemProtocol.getIsError() && error == 0){ jo.put("requireSucess", requireSucess);
this.setMessage(LangProcess.msg("universal_message4")); if (this.getAction() == 1) {
action = LangProcess.msg("universal_delivery");
} else if (this.getAction() == 2) {
action = LangProcess.msg("universal_completed");
} else if (this.getAction() == 3) {
action = LangProcess.msg("universal_releasing");
} else if (this.getAction() == 4) {
action = LangProcess.msg("universal_releasing_completed");
} }
jo.put("device_name", this.getDevice().getDevice_name()); jo.put("device_name", this.getDevice().getDevice_name());
jo.put("mode", mode); jo.put("mode", mode);

View File

@@ -159,13 +159,14 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
task = this.itemProtocol.getTask(); task = this.itemProtocol.getTask();
x_position = this.itemProtocol.getX_position(); x_position = this.itemProtocol.getX_position();
y_position = this.itemProtocol.getY_position(); y_position = this.itemProtocol.getY_position();
heartbeat = this.itemProtocol.getHeartbeat();
if (mode != last_mode) { if (mode != last_mode) {
requireSucess = false; requireSucess = false;
logServer.deviceItemValue(this.device_code, "mode", String.valueOf(mode)); logServer.deviceItemValue(this.device_code, "mode", String.valueOf(mode));
logServer.deviceExecuteLog(this.device_code, "", "", "信号mode" + last_mode + "->" + mode); logServer.deviceExecuteLog(this.device_code, "", "", "信号mode" + last_mode + "->" + mode);
} }
if (task > 0 && !requireSucess) { if (mode == 3 && task > 0 && !requireSucess) {
update_instruction_status(); update_instruction_status();
} }

View File

@@ -44,4 +44,9 @@ public class ApplyPlugPullSiteRequest extends BaseRequest {
* 条码 * 条码
*/ */
private String barcode; private String barcode;
/**
* 尺寸 3,6寸
*/
private String size;
} }

View File

@@ -168,6 +168,11 @@ public class CreateTaskRequest extends BaseRequest {
*/ */
private String truss_type; private String truss_type;
/**
* 气涨轴尺寸
*/
private String size;
/** /**
* 空轴位 * 空轴位
*/ */

View File

@@ -114,6 +114,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
String truss_type = request.getTruss_type(); String truss_type = request.getTruss_type();
String empty_site = request.getEmpty_site(); String empty_site = request.getEmpty_site();
String is_bushing = request.getIs_bushing(); String is_bushing = request.getIs_bushing();
String size = request.getSize();
String version = request.getVersion(); String version = request.getVersion();
String bushing_num = request.getBushing_num(); String bushing_num = request.getBushing_num();
String storage_task_type = request.getDtl_type(); String storage_task_type = request.getDtl_type();
@@ -335,6 +336,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
jo.put("truss_type", JSONUtil.toJsonStr(truss_type)); jo.put("truss_type", JSONUtil.toJsonStr(truss_type));
jo.put("empty_site", JSONUtil.toJsonStr(empty_site)); jo.put("empty_site", JSONUtil.toJsonStr(empty_site));
jo.put("is_bushing", JSONUtil.toJsonStr(is_bushing)); jo.put("is_bushing", JSONUtil.toJsonStr(is_bushing));
jo.put("size", JSONUtil.toJsonStr(size));
jo.put("version", JSONUtil.toJsonStr(version)); jo.put("version", JSONUtil.toJsonStr(version));
jo.put("bushing_num", JSONUtil.toJsonStr(bushing_num)); jo.put("bushing_num", JSONUtil.toJsonStr(bushing_num));

View File

@@ -40,7 +40,6 @@ public class DeviceErrorLogController {
*/ */
@GetMapping @GetMapping
@Log("查询设备报警记录") @Log("查询设备报警记录")
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page){ public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page){
return new ResponseEntity<>(acsDeviceErrorLogService.queryAll(whereJson,page),HttpStatus.OK); return new ResponseEntity<>(acsDeviceErrorLogService.queryAll(whereJson,page),HttpStatus.OK);
} }
@@ -52,7 +51,6 @@ public class DeviceErrorLogController {
*/ */
@PostMapping @PostMapping
@Log("新增设备报警记录") @Log("新增设备报警记录")
public ResponseEntity<Object> create(@Validated @RequestBody DeviceErrorLogDto dto){ public ResponseEntity<Object> create(@Validated @RequestBody DeviceErrorLogDto dto){
acsDeviceErrorLogService.create(dto); acsDeviceErrorLogService.create(dto);
return new ResponseEntity<>(HttpStatus.CREATED); return new ResponseEntity<>(HttpStatus.CREATED);
@@ -65,7 +63,6 @@ public class DeviceErrorLogController {
*/ */
@PutMapping @PutMapping
@Log("修改设备报警记录") @Log("修改设备报警记录")
public ResponseEntity<Object> update(@Validated @RequestBody DeviceErrorLogDto dto){ public ResponseEntity<Object> update(@Validated @RequestBody DeviceErrorLogDto dto){
acsDeviceErrorLogService.update(dto); acsDeviceErrorLogService.update(dto);
return new ResponseEntity<>(HttpStatus.NO_CONTENT); return new ResponseEntity<>(HttpStatus.NO_CONTENT);
@@ -77,7 +74,6 @@ public class DeviceErrorLogController {
* @return * @return
*/ */
@Log("删除设备报警记录") @Log("删除设备报警记录")
@DeleteMapping @DeleteMapping
public ResponseEntity<Object> delete(@RequestBody String[] ids) { public ResponseEntity<Object> delete(@RequestBody String[] ids) {
acsDeviceErrorLogService.deleteAll(ids); acsDeviceErrorLogService.deleteAll(ids);
@@ -91,7 +87,6 @@ public class DeviceErrorLogController {
* @throws IOException * @throws IOException
*/ */
@Log("导出设备报警记录") @Log("导出设备报警记录")
@GetMapping(value = "/download") @GetMapping(value = "/download")
public void download(HttpServletResponse response, @RequestParam Map whereJson) throws IOException { public void download(HttpServletResponse response, @RequestParam Map whereJson) throws IOException {
acsDeviceErrorLogService.download(acsDeviceErrorLogService.queryAll(whereJson), response); acsDeviceErrorLogService.download(acsDeviceErrorLogService.queryAll(whereJson), response);

View File

@@ -526,7 +526,9 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
dto = foramte(dto); dto = foramte(dto);
String task_code = dto.getTask_code(); String task_code = dto.getTask_code();
TaskDto task = taskService.findByCodeFromCache(task_code); TaskDto task = taskService.findByCodeFromCache(task_code);
if(regional(dto.getStart_device_code(), dto.getNext_device_code())){
throw new BadRequestException(LangProcess.msg("error_regional_max"));
}
String currentUsername = SecurityUtils.getCurrentUsername(); String currentUsername = SecurityUtils.getCurrentUsername();
String now = DateUtil.now(); String now = DateUtil.now();
if (StrUtil.isEmpty(dto.getRoute_plan_code())) { if (StrUtil.isEmpty(dto.getRoute_plan_code())) {
@@ -1731,6 +1733,9 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
int count = 0; int count = 0;
boolean startRegionalExit = true; boolean startRegionalExit = true;
boolean nextRegionalExit = true; boolean nextRegionalExit = true;
if(StrUtil.isEmpty(startRegion) || StrUtil.isEmpty(nextRegion)){
return true;
}
//控制指令生成 //控制指令生成
LimitRegionalDto limitRegionalDtos = limitRegionalService.selectByReging(startRegion, nextRegion); LimitRegionalDto limitRegionalDtos = limitRegionalService.selectByReging(startRegion, nextRegion);
if (ObjectUtil.isNotEmpty(limitRegionalDtos)) { if (ObjectUtil.isNotEmpty(limitRegionalDtos)) {

View File

@@ -2,6 +2,7 @@ package org.nl.acs.limit_regional.server.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
@@ -21,7 +22,9 @@ import org.nl.acs.limit_regional.server.mapper.LimitRegionalMapper;
import org.nl.acs.opc.DeviceAppService; import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.utils.ConvertUtil; import org.nl.acs.utils.ConvertUtil;
import org.nl.acs.utils.PageUtil; import org.nl.acs.utils.PageUtil;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.SecurityUtils;
import org.nl.config.language.LangProcess;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -45,7 +48,7 @@ public class LimitRegionalServiceImpl extends CommonServiceImpl<LimitRegionalMap
@Autowired @Autowired
private DeviceAppService deviceAppService; private DeviceAppService deviceAppService;
private List<LimitRegional> dataList; public List<LimitRegional> dataList;
@Override @Override
@@ -82,7 +85,7 @@ public class LimitRegionalServiceImpl extends CommonServiceImpl<LimitRegionalMap
@Override @Override
public void add(JSONObject json) { public void add(JSONObject json) {
LimitRegional limitRegional = new LimitRegional(); LimitRegional limitRegional = new LimitRegional();
limitRegional.setId(String.valueOf(RandomUtil.randomInt(8))); limitRegional.setId(RandomUtil.randomNumbers(8));
limitRegional.setStart_regional(json.getString("start_regional")); limitRegional.setStart_regional(json.getString("start_regional"));
limitRegional.setNext_regional(json.getString("next_regional")); limitRegional.setNext_regional(json.getString("next_regional"));
limitRegional.setStart_exclude_device(json.getString("startExcludeDevice")); limitRegional.setStart_exclude_device(json.getString("startExcludeDevice"));
@@ -91,12 +94,14 @@ public class LimitRegionalServiceImpl extends CommonServiceImpl<LimitRegionalMap
String regex = "\\d+"; String regex = "\\d+";
boolean isNumeric = max_num.matches(regex); boolean isNumeric = max_num.matches(regex);
if(!isNumeric){ if(!isNumeric){
throw new RuntimeException("最大数请输入纯数字"); throw new BadRequestException("请输入纯数字");
} }
limitRegional.setIs_active("1");
limitRegional.setMax_num(max_num); limitRegional.setMax_num(max_num);
limitRegional.setCreate_by("auto"); limitRegional.setCreate_by("auto");
limitRegional.setCreate_time(DateUtil.now()); limitRegional.setCreate_time(DateUtil.now());
limitRegionalMapper.insert(limitRegional); limitRegionalMapper.insert(limitRegional);
dataList.add(limitRegional);
} }
@@ -106,13 +111,25 @@ public class LimitRegionalServiceImpl extends CommonServiceImpl<LimitRegionalMap
return; return;
} }
for (String id : ids) { for (String id : ids) {
LimitRegional limitRegional = limitRegionalMapper.selectById(id);
if(ObjectUtil.isNull(limitRegional)){
throw new BadRequestException("这个对象不存在");
}
limitRegionalMapper.deleteById(id); limitRegionalMapper.deleteById(id);
} }
dataList.removeIf(limitRegional -> CollUtil.contains(Arrays.asList(ids), limitRegional.getId()));
} }
@Override @Override
public void update(JSONObject json) { public void update(JSONObject json) {
if(StrUtil.isEmpty(json.getString("id"))){
throw new BadRequestException(LangProcess.msg("error_checkNull", "流量限制id"));
}
LimitRegional id = limitRegionalMapper.selectById(json.getString("id"));
if(ObjectUtil.isNull(id)){
throw new BadRequestException(LangProcess.msg("error_isNull", "流量限制id="+json.getString("id")));
}
LimitRegional limitRegional = new LimitRegional(); LimitRegional limitRegional = new LimitRegional();
String currentUsername = SecurityUtils.getCurrentUsername(); String currentUsername = SecurityUtils.getCurrentUsername();
limitRegional.setId(json.getString("id")); limitRegional.setId(json.getString("id"));
@@ -124,19 +141,30 @@ public class LimitRegionalServiceImpl extends CommonServiceImpl<LimitRegionalMap
String regex = "\\d+"; String regex = "\\d+";
boolean isNumeric = max_num.matches(regex); boolean isNumeric = max_num.matches(regex);
if(!isNumeric){ if(!isNumeric){
throw new RuntimeException("最大数请输入纯数字"); throw new RuntimeException("请输入纯数字");
} }
limitRegional.setMax_num(max_num); limitRegional.setMax_num(max_num);
limitRegional.setUpdate_by(currentUsername); limitRegional.setUpdate_by(currentUsername);
limitRegional.setUpdate_time(DateUtil.now()); limitRegional.setUpdate_time(DateUtil.now());
limitRegionalMapper.updateById(limitRegional); limitRegionalMapper.updateById(limitRegional);
dataList.forEach(limitRegional1 -> {
if (limitRegional.getId().equals(limitRegional1.getId())) {
limitRegional1.setStart_regional(limitRegional.getStart_regional());
limitRegional1.setNext_regional(limitRegional.getNext_regional());
limitRegional1.setStart_exclude_device(limitRegional.getStart_exclude_device());
limitRegional1.setNext_exclude_device(limitRegional.getNext_exclude_device());
limitRegional1.setMax_num(limitRegional.getMax_num());
limitRegional1.setUpdate_by(limitRegional.getUpdate_by());
limitRegional1.setUpdate_time(limitRegional.getUpdate_time());
}
});
} }
@Override @Override
public void updateStatusById(Map whereJson) { public void updateStatusById(Map whereJson) {
String id = whereJson.get("id").toString(); String id = whereJson.get("id").toString();
if(StrUtil.isEmpty(id)){ if(StrUtil.isEmpty(id)){
return; throw new BadRequestException("id为空");
} }
LimitRegional limitRegional = new LimitRegional(); LimitRegional limitRegional = new LimitRegional();
limitRegional.setId(id); limitRegional.setId(id);
@@ -144,6 +172,12 @@ public class LimitRegionalServiceImpl extends CommonServiceImpl<LimitRegionalMap
limitRegional.setUpdate_by(SecurityUtils.getCurrentUsername()); limitRegional.setUpdate_by(SecurityUtils.getCurrentUsername());
limitRegional.setUpdate_time(DateUtil.now()); limitRegional.setUpdate_time(DateUtil.now());
limitRegionalMapper.updateById(limitRegional); limitRegionalMapper.updateById(limitRegional);
dataList.forEach(limitRegional1 -> {if (limitRegional.getId().equals(limitRegional1.getId())) {
limitRegional1.setIs_active(limitRegional.getIs_active());
limitRegional1.setUpdate_by(limitRegional.getUpdate_by());
limitRegional1.setUpdate_time(limitRegional.getUpdate_time());
}
});
} }
@Override @Override

View File

@@ -290,6 +290,7 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC
} }
private void runNew() { private void runNew() {
Async20Access accessor = null; Async20Access accessor = null;

View File

@@ -325,7 +325,12 @@ public class TaskDto implements Serializable {
private String empty_shaft_site; private String empty_shaft_site;
/** /**
* 是否套管 * 气涨轴尺寸
*/
private String size;
/**
* 是否套管 0不套管 1套管
*/ */
private String is_bushing; private String is_bushing;
} }

View File

@@ -138,14 +138,14 @@ public class LogAspect {
@AfterThrowing(pointcut = "logPointcut()", throwing = "e") /*@AfterThrowing(pointcut = "logPointcut()", throwing = "e")
public void logAfterThrowing(JoinPoint joinPoint, Throwable e) { public void logAfterThrowing(JoinPoint joinPoint, Throwable e) {
SysLog log = new SysLog("ERROR",System.currentTimeMillis() - currentTime.get()); SysLog log = new SysLog("ERROR",System.currentTimeMillis() - currentTime.get());
currentTime.remove(); currentTime.remove();
log.setException_detail(ThrowableUtil.getStackTrace(e).getBytes()); log.setException_detail(ThrowableUtil.getStackTrace(e).getBytes());
HttpServletRequest request = RequestHolder.getHttpServletRequest(); HttpServletRequest request = RequestHolder.getHttpServletRequest();
logService.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request), (ProceedingJoinPoint)joinPoint, log); logService.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request), (ProceedingJoinPoint)joinPoint, log);
} }*/
public String getUsername() { public String getUsername() {
try { try {

View File

@@ -30,15 +30,12 @@ public class SysLogController {
@Autowired @Autowired
private ISysLogService logService; private ISysLogService logService;
@GetMapping @GetMapping
//@SaCheckPermission("@el.check()")
public ResponseEntity<Object> query(@RequestParam Map criteria, PageQuery pageable){ public ResponseEntity<Object> query(@RequestParam Map criteria, PageQuery pageable){
criteria.put("log_type","INFO"); criteria.put("log_type","INFO");
return new ResponseEntity<>(TableDataInfo.build(logService.queryAll(criteria,pageable)), HttpStatus.OK); return new ResponseEntity<>(TableDataInfo.build(logService.queryAll(criteria,pageable)), HttpStatus.OK);
} }
@GetMapping(value = "/user") @GetMapping(value = "/user")
//
public ResponseEntity<Object> queryUserLog(@RequestParam Map criteria, PageQuery pageable){ public ResponseEntity<Object> queryUserLog(@RequestParam Map criteria, PageQuery pageable){
criteria.put("log_type","INFO"); criteria.put("log_type","INFO");
criteria.put("username", SecurityUtils.getCurrentUsername()); criteria.put("username", SecurityUtils.getCurrentUsername());
@@ -46,7 +43,6 @@ public class SysLogController {
} }
@GetMapping(value = "/error") @GetMapping(value = "/error")
// @SaCheckPermission("@el.check()") // @SaCheckPermission("@el.check()")
public ResponseEntity<Object> queryErrorLog(@RequestParam Map criteria, PageQuery pageable){ public ResponseEntity<Object> queryErrorLog(@RequestParam Map criteria, PageQuery pageable){
criteria.put("log_type","ERROR"); criteria.put("log_type","ERROR");
@@ -54,7 +50,6 @@ public class SysLogController {
} }
@GetMapping(value = "/error/{id}") @GetMapping(value = "/error/{id}")
// @SaCheckPermission("@el.check()") // @SaCheckPermission("@el.check()")
public ResponseEntity<Object> queryErrorLogs(@PathVariable String id){ public ResponseEntity<Object> queryErrorLogs(@PathVariable String id){
return new ResponseEntity<>(logService.findByErrDetail(id), HttpStatus.OK); return new ResponseEntity<>(logService.findByErrDetail(id), HttpStatus.OK);
@@ -62,7 +57,6 @@ public class SysLogController {
@DeleteMapping(value = "/del/error") @DeleteMapping(value = "/del/error")
@Log("删除所有ERROR日志") @Log("删除所有ERROR日志")
// @SaCheckPermission("@el.check()") // @SaCheckPermission("@el.check()")
public ResponseEntity<Object> delAllErrorLog(){ public ResponseEntity<Object> delAllErrorLog(){
logService.delAllByError(); logService.delAllByError();
@@ -71,7 +65,6 @@ public class SysLogController {
@DeleteMapping(value = "/del/info") @DeleteMapping(value = "/del/info")
@Log("删除所有INFO日志") @Log("删除所有INFO日志")
// @SaCheckPermission("@el.check()") // @SaCheckPermission("@el.check()")
public ResponseEntity<Object> delAllInfoLog(){ public ResponseEntity<Object> delAllInfoLog(){
logService.delAllByInfo(); logService.delAllByInfo();

View File

@@ -1,32 +1,21 @@
universal_off-line=\u8131\u673A two_message1=\u53CD\u9988\u91CD\u91CF\u4EE5\u53CA\u6536\u5377\u8F74LMS\u6210\u529F...
universal_stand-alone=\u5355\u673A two_message2=\u53CD\u9988\u91CD\u91CF\u4EE5\u53CA\u6536\u5377\u8F74LMS\u5931\u8D25...
universal_standby=\u5F85\u673A two_message3=\u53CD\u9988\u8BF7\u6C42\u6210\u529F,\u54CD\u5E94\u53C2\u6570:
universal_operation=\u8FD0\u884C\u4E2D two_message4=action\u4E0D\u4E3A\u53CD\u9988\u91CD\u91CF\u72B6\u6001
universal_no=\u65E0\u8D27 two_message5=\u7533\u8BF7\u4E0B\u6EE1\u6599\u8BF7\u6C42\u4E2D...
universal_yes=\u6709\u8D27 two_message6=\u7533\u8BF7\u4E0B\u6EE1\u6599\u4EFB\u52A1\u63A5\u53E3\u4E0D\u901A
universal_two_yes=\u6709\u6258\u76D8\u6709\u8D27 two_message7=\u7533\u8BF7\u4E0B\u6EE1\u6599\u4EFB\u52A1\u6210\u529F
universal_delivery=\u53D6\u8D27\u4E2D two_message8=\u7533\u8BF7\u4E0B\u6EE1\u6599\u4EFB\u52A1\u5931\u8D25
universal_completed=\u53D6\u8D27\u5B8C\u6210 two_message9=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u4E2D...
universal_releasing=\u653E\u8D27\u4E2D two_message10=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u63A5\u53E3\u4E0D\u901A
universal_releasing_completed=\u653E\u8D27\u5B8C\u6210 two_message11=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u6210\u529F
universal_remark1=\u672A\u67E5\u627E\u4EFB\u52A1\u539F\u56E0\u4E3A\uFF1A two_message12=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u5931\u8D25
universal_remark2=\u5DE5\u4F5C\u6A21\u5F0F(mode)\u4E0D\u662F\u5F85\u673A\u72B6\u6001 two_message13=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u4E2D...
universal_remark3=\u5149\u7535\u4FE1\u53F7(move)\u4E3A\u6709\u8D27\u72B6\u6001 two_message14=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u63A5\u53E3\u4E0D\u901A
universal_remark4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u5E94\u8BE5\u4E3A0 two_message15=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u6210\u529F
universal_remark5=\u53F3\u51FB\u8BE5\u56FE\u6807,\u5C06\u8BF7\u6C42\u4EFB\u52A1\u590D\u4F4D\u6807\u8BB0(requireSucess)\u6539\u4E3A\u5426\u3002 two_message16=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u5931\u8D25
universal_notCreateInstMessage=\u672A\u627E\u5230\u5173\u8054\u8BBE\u5907\u7684\u4EFB\u52A1\uFF0C\u6307\u4EE4\u65E0\u6CD5\u521B\u5EFA two_message17=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u4E2D
universal_message1=\u653E\u8D27\u5B8C\u6210 two_message18=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u63A5\u53E3\u4E0D\u901A
universal_message2=\u653E\u8D27\u5931\u8D25 two_message19=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u6210\u529F
universal_message3=\u6709\u62A5\u8B66 two_message20=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u5931\u8D25
universal_message4=信号连接异常!
universal_feedMessage1=\u5DE5\u4F5C\u6A21\u5F0F(mode)\u4E0D\u4E3A\u8FD0\u884C\u4E2D\u72B6\u6001
universal_feedMessage2=\u52A8\u4F5C\u4FE1\u53F7(action)\u4E0D\u4E3A\u653E\u8D27\u5B8C\u6210\u72B6\u6001
universal_feedMessage3=\u5149\u7535\u4FE1\u53F7(move)\u4E0D\u4E3A\u65E0\u8D27\u72B6\u6001
universal_feedMessage4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u4E0D\u5E94\u8BE5\u4E3A0
universal_feedMessage5=\u884C\u67B6\u673A\u68B0\u624B
mark=复位
no_mark=未复位

View File

@@ -1,28 +1,22 @@
universal_off-line=off-line two_message1=Feedback weight as well as reel LMS success...
universal_stand-alone=stand-alone two_message2=Feedback weight as well as reel LMS failure...
universal_standby=standby two_message3=The feedback request is successful, and the response parameters are:
universal_operation=operation two_message4=The action is not a feedback weight state
universal_no=Out of stock two_message5=The application is under a full material request...
universal_yes=In stock two_message6=The interface for applying for a full material task is not working
universal_two_yes=There are pallets and goods two_message7=The application for the full material task is successful
universal_delivery=Taking delivery two_message8=The application for the full material task failed
universal_completed=Pick-up completed two_message9=Applying to cancel a task...
universal_releasing=Releasing goods two_message10=The API for applying for task cancellation is not available
universal_releasing_completed=Release completed two_message11=The request to cancel the task is successful
universal_remark1=The task is not found because two_message12=The request to cancel the task failed
universal_remark2=Working mode (mode) is not standby two_message13=The application form is in the upper space axis request...
universal_remark3=Photoelectric signal (move) is in stock status two_message14=The upper axis request interface at the application form is not connected
universal_remark4=The current report task ID should be 0 two_message15=The request for the upper axis at the application form was successful
universal_remark5=Right-click the icon and change the Request task reset flag (requireSucess) to No two_message16=The request for the overspace axis at the application form failed
universal_notCreateInstMessage=Instructions cannot be created because the task for the associated device is not found two_message17=Applying for AGV handling tasks
universal_message1=Release completed two_message18=The interface for applying for AGV handling tasks is not working
universal_message2=Delivery failure two_message19=The application for AGV handling task was successful
universal_message3=Have an alarm two_message20=Failed to apply for AGV handling task
universal_message4=Signal connection abnormal
universal_feedMessage1=mode is not in the running state
universal_feedMessage2=action signal (action signal) is not a release completed status
universal_feedMessage3=Photoelectric signal (move) is not out of stock
universal_feedMessage4=The current report task number (task) should not be 0
universal_feedMessage5=Gantry manipulator
mark=Reset
no_mark=Unreset

View File

@@ -1,28 +1,20 @@
universal_off-line=Akses internet two_message1=Bobot umpan balik serta kesuksesan LMS gulungan...
universal_stand-alone=(s) single-player two_message2=Berat umpan balik serta kegagalan LMS gulungan...
universal_standby=siaga two_message3=Permintaan umpan balik berhasil, dan parameter responsnya adalah:
universal_operation=operasi two_message4=Tindakan ini bukan status bobot umpan balik
universal_no=bayar two_message5=Aplikasi ini berada di bawah permintaan material lengkap ...
universal_yes=Yang aku mau two_message6=Antarmuka untuk melamar tugas material penuh tidak berfungsi
universal_two_yes=Ada nampan dengan barang two_message7=Aplikasi untuk tugas material penuh berhasil
universal_delivery=Mengambil barang two_message8=Aplikasi untuk tugas material penuh gagal
universal_completed=Pengambilan barang selesai two_message9=Menerapkan untuk membatalkan tugas...
universal_releasing=Letakkan barang two_message10=API untuk mengajukan pembatalan tugas tidak tersedia
universal_releasing_completed=Pengiriman selesai two_message11=Permintaan untuk membatalkan tugas berhasil
universal_remark1=Alasan tugas yang tidak dicari adalah two_message12=Permintaan untuk membatalkan tugas gagal
universal_remark2=Mode tidak dalam mode siaga two_message13=Formulir aplikasi ada di permintaan sumbu ruang atas ...
universal_remark3=Sinyal fotolistrik untuk kondisi pengiriman two_message14=Antarmuka permintaan sumbu atas pada formulir aplikasi tidak terhubung
universal_remark4=Kita tugaskan tugaskan task two_message15=Permintaan untuk sumbu atas pada formulir aplikasi berhasil
universal_remark5=Klik kanan pada ikon dan ubah not (requicess) untuk penugasan ulang two_message16=Permintaan untuk sumbu overspace pada formulir aplikasi gagal
universal_notCreateInstMessage=Misi untuk divais yang diasosiasikan tidak ditemukan, perintah tidak dapat dibuat two_message17=Melamar tugas penanganan AGV
universal_message1=Pengiriman selesai two_message18=Antarmuka untuk melamar tugas penanganan AGV tidak berfungsi
universal_message2=Gagal memasukkan barang two_message19=Aplikasi untuk tugas penanganan AGV berhasil
universal_message3=Alarm berbunyi two_message20=Gagal melamar tugas penanganan AGV
universal_message4=Koneksi sinyal abnormal
universal_feedMessage1=Mode kerja tidak untuk mode dalam mode
universal_feedMessage2=Sinyal aksi tidak lengkap untuk penempatan
universal_feedMessage3=tidak ada status pengiriman
universal_feedMessage4=Tugaskan tugaskan tugaskan bukan hanya 0
universal_feedMessage5=Pengemudi-mekanik line
mark=Setel ulang
no_mark=Belum diatur ulang

View File

@@ -1,28 +1,22 @@
universal_off-line=\u8131\u673A two_message1=\u53CD\u9988\u91CD\u91CF\u4EE5\u53CA\u6536\u5377\u8F74LMS\u6210\u529F...
universal_stand-alone=\u5355\u673A two_message2=\u53CD\u9988\u91CD\u91CF\u4EE5\u53CA\u6536\u5377\u8F74LMS\u5931\u8D25...
universal_standby=\u5F85\u673A two_message3=\u53CD\u9988\u8BF7\u6C42\u6210\u529F,\u54CD\u5E94\u53C2\u6570:
universal_operation=\u8FD0\u884C\u4E2D two_message4=action\u4E0D\u4E3A\u53CD\u9988\u91CD\u91CF\u72B6\u6001
universal_no=\u65E0\u8D27 two_message5=\u7533\u8BF7\u4E0B\u6EE1\u6599\u8BF7\u6C42\u4E2D...
universal_yes=\u6709\u8D27 two_message6=\u7533\u8BF7\u4E0B\u6EE1\u6599\u4EFB\u52A1\u63A5\u53E3\u4E0D\u901A
universal_two_yes=\u6709\u6258\u76D8\u6709\u8D27 two_message7=\u7533\u8BF7\u4E0B\u6EE1\u6599\u4EFB\u52A1\u6210\u529F
universal_delivery=\u53D6\u8D27\u4E2D two_message8=\u7533\u8BF7\u4E0B\u6EE1\u6599\u4EFB\u52A1\u5931\u8D25
universal_completed=\u53D6\u8D27\u5B8C\u6210 two_message9=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u4E2D...
universal_releasing=\u653E\u8D27\u4E2D two_message10=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u63A5\u53E3\u4E0D\u901A
universal_releasing_completed=\u653E\u8D27\u5B8C\u6210 two_message11=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u6210\u529F
universal_remark1=\u672A\u67E5\u627E\u4EFB\u52A1\u539F\u56E0\u4E3A\uFF1A two_message12=\u7533\u8BF7\u53D6\u6D88\u4EFB\u52A1\u5931\u8D25
universal_remark2=\u5DE5\u4F5C\u6A21\u5F0F(mode)\u4E0D\u662F\u5F85\u673A\u72B6\u6001 two_message13=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u4E2D...
universal_remark3=\u5149\u7535\u4FE1\u53F7(move)\u4E3A\u6709\u8D27\u72B6\u6001 two_message14=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u63A5\u53E3\u4E0D\u901A
universal_remark4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u5E94\u8BE5\u4E3A0 two_message15=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u6210\u529F
universal_remark5=\u53F3\u51FB\u8BE5\u56FE\u6807,\u5C06\u8BF7\u6C42\u4EFB\u52A1\u590D\u4F4D\u6807\u8BB0(requireSucess)\u6539\u4E3A\u5426\u3002 two_message16=\u7533\u8BF7\u8868\u5904\u4E0A\u7A7A\u8F74\u8BF7\u6C42\u5931\u8D25
universal_notCreateInstMessage=\u672A\u627E\u5230\u5173\u8054\u8BBE\u5907\u7684\u4EFB\u52A1\uFF0C\u6307\u4EE4\u65E0\u6CD5\u521B\u5EFA two_message17=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u4E2D
universal_message1=\u653E\u8D27\u5B8C\u6210 two_message18=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u63A5\u53E3\u4E0D\u901A
universal_message2=\u653E\u8D27\u5931\u8D25 two_message19=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u6210\u529F
universal_message3=\u6709\u62A5\u8B66 two_message20=\u7533\u8BF7AGV\u642C\u8FD0\u4EFB\u52A1\u5931\u8D25
universal_message4=信号连接异常!
universal_feedMessage1=\u5DE5\u4F5C\u6A21\u5F0F(mode)\u4E0D\u4E3A\u8FD0\u884C\u4E2D\u72B6\u6001
universal_feedMessage2=\u52A8\u4F5C\u4FE1\u53F7(action)\u4E0D\u4E3A\u653E\u8D27\u5B8C\u6210\u72B6\u6001
universal_feedMessage3=\u5149\u7535\u4FE1\u53F7(move)\u4E0D\u4E3A\u65E0\u8D27\u72B6\u6001
universal_feedMessage4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u4E0D\u5E94\u8BE5\u4E3A0
universal_feedMessage5=\u884C\u67B6\u673A\u68B0\u624B
mark=复位
no_mark=未复位

View File

@@ -15,16 +15,25 @@ universal_remark3=\u5149\u7535\u4FE1\u53F7(move)\u4E3A\u6709\u8D27\u72B6\u6001
universal_remark4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u5E94\u8BE5\u4E3A0 universal_remark4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u5E94\u8BE5\u4E3A0
universal_remark5=\u53F3\u51FB\u8BE5\u56FE\u6807,\u5C06\u8BF7\u6C42\u4EFB\u52A1\u590D\u4F4D\u6807\u8BB0(requireSucess)\u6539\u4E3A\u5426\u3002 universal_remark5=\u53F3\u51FB\u8BE5\u56FE\u6807,\u5C06\u8BF7\u6C42\u4EFB\u52A1\u590D\u4F4D\u6807\u8BB0(requireSucess)\u6539\u4E3A\u5426\u3002
universal_notCreateInstMessage=\u672A\u627E\u5230\u5173\u8054\u8BBE\u5907\u7684\u4EFB\u52A1\uFF0C\u6307\u4EE4\u65E0\u6CD5\u521B\u5EFA universal_notCreateInstMessage=\u672A\u627E\u5230\u5173\u8054\u8BBE\u5907\u7684\u4EFB\u52A1\uFF0C\u6307\u4EE4\u65E0\u6CD5\u521B\u5EFA
universal_notCreateInstMessage1=\u672A\u8BBE\u7F6E\u7535\u6C14\u8C03\u5EA6\u53F7!
universal_message1=\u653E\u8D27\u5B8C\u6210 universal_message1=\u653E\u8D27\u5B8C\u6210
universal_message2=\u653E\u8D27\u5931\u8D25 universal_message2=\u653E\u8D27\u5931\u8D25
universal_message3=\u6709\u62A5\u8B66 universal_message3=\u6709\u62A5\u8B66
universal_message4=\u672A\u627E\u5230\u7B26\u5408\u6761\u4EF6\u7684\u6307\u4EE4 universal_message4=\u672A\u627E\u5230\u7B26\u5408\u6761\u4EF6\u7684\u6307\u4EE4
universal_message5=\u4E0B\u53D1\u7535\u6C14\u4EFB\u52A1\u53F7\u6210\u529F universal_message5=\u4E0B\u53D1\u7535\u6C14\u4EFB\u52A1\u53F7\u6210\u529F
universal_message6=\u5F53\u524D\u6307\u4EE4\u53F7\u4E3A\u7A7A
universal_message7=\u4EFB\u52A1\u5B8C\u6210...
universal_message8=\u8BFB\u53D6\u4FE1\u53F7\u503C\u65F6\u51FA\u73B0\u5F02\u5E38:
universal_message9=\u521B\u5EFA\u6307\u4EE4\u65F6\u51FA\u73B0\u5F02\u5E38:
universal_message10=\u4E0B\u53D1\u591A\u4E2A\u7535\u6C14\u4FE1\u53F7:
universal_feedMessage1=\u5DE5\u4F5C\u6A21\u5F0F(mode)\u4E0D\u4E3A\u8FD0\u884C\u4E2D\u72B6\u6001 universal_feedMessage1=\u5DE5\u4F5C\u6A21\u5F0F(mode)\u4E0D\u4E3A\u8FD0\u884C\u4E2D\u72B6\u6001
universal_feedMessage2=\u52A8\u4F5C\u4FE1\u53F7(action)\u4E0D\u4E3A\u653E\u8D27\u5B8C\u6210\u72B6\u6001 universal_feedMessage2=\u52A8\u4F5C\u4FE1\u53F7(action)\u4E0D\u4E3A\u653E\u8D27\u5B8C\u6210\u72B6\u6001
universal_feedMessage3=\u5149\u7535\u4FE1\u53F7(move)\u4E0D\u4E3A\u65E0\u8D27\u72B6\u6001 universal_feedMessage3=\u5149\u7535\u4FE1\u53F7(move)\u4E0D\u4E3A\u65E0\u8D27\u72B6\u6001
universal_feedMessage4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u4E0D\u5E94\u8BE5\u4E3A0 universal_feedMessage4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u4E0D\u5E94\u8BE5\u4E3A0
universal_feedMessage5=\u884C\u67B6\u673A\u68B0\u624B universal_feedMessage5=\u884C\u67B6\u673A\u68B0\u624B
universal_feedMessage6=\u89E6\u53D1\u65F6\u95F4\u56E0\u4E3A\u5C0F\u4E8E{}\u6BEB\u79D2\uFF0C\u800C\u88AB\u65E0\u89C6
universal_feedMessage7=move\u4E0D\u4E3A\u6709\u8D27\u72B6\u6001
universal_feedMessage8=\u4EFB\u52A1\u53F7\u4E3A0

View File

@@ -17,11 +17,20 @@ universal_message5=Succeeded in delivering the electrical task number
universal_remark4=The current report task ID should be 0 universal_remark4=The current report task ID should be 0
universal_remark5=Right-click the icon and change the Request task reset flag (requireSucess) to No universal_remark5=Right-click the icon and change the Request task reset flag (requireSucess) to No
universal_notCreateInstMessage=Instructions cannot be created because the task for the associated device is not found universal_notCreateInstMessage=Instructions cannot be created because the task for the associated device is not found
universal_notCreateInstMessage1=The electrical dispatch number is not set!
universal_message1=Release completed universal_message1=Release completed
universal_message2=Delivery failure universal_message2=Delivery failure
universal_message3=Have an alarm universal_message3=Have an alarm
universal_message6=The current instruction number is empty
universal_message7=Mission accomplished...
universal_message8=An exception occurred when reading the signal value:
universal_message9=An exception occurred while creating the directive
universal_message10=Multiple electrical signals are issued
universal_feedMessage1=mode is not in the running state universal_feedMessage1=mode is not in the running state
universal_feedMessage2=action signal (action signal) is not a release completed status universal_feedMessage2=action signal (action signal) is not a release completed status
universal_feedMessage3=Photoelectric signal (move) is not out of stock universal_feedMessage3=Photoelectric signal (move) is not out of stock
universal_feedMessage4=The current report task number (task) should not be 0 universal_feedMessage4=The current report task number (task) should not be 0
universal_feedMessage5=Gantry manipulator universal_feedMessage5=Gantry manipulator
universal_feedMessage6=The trigger time is ignored because it is less than {} milliseconds
universal_feedMessage7=Move is not in stock
universal_feedMessage8=The task number is 0

View File

@@ -15,13 +15,22 @@ universal_remark3=Sinyal fotolistrik untuk kondisi pengiriman
universal_remark4=Kita tugaskan tugaskan task universal_remark4=Kita tugaskan tugaskan task
universal_remark5=Klik kanan pada ikon dan ubah not (requicess) untuk penugasan ulang universal_remark5=Klik kanan pada ikon dan ubah not (requicess) untuk penugasan ulang
universal_notCreateInstMessage=Misi untuk divais yang diasosiasikan tidak ditemukan, perintah tidak dapat dibuat universal_notCreateInstMessage=Misi untuk divais yang diasosiasikan tidak ditemukan, perintah tidak dapat dibuat
universal_notCreateInstMessage1=Nomor pengiriman listrik tidak diatur!
universal_message1=Pengiriman selesai universal_message1=Pengiriman selesai
universal_message2=Gagal memasukkan barang universal_message2=Gagal memasukkan barang
universal_message3=Alarm berbunyi universal_message3=Alarm berbunyi
universal_message4=Tak ada perintah yang ditemukan universal_message4=Tak ada perintah yang ditemukan
universal_message5=Misi kelistrikan berhasil universal_message5=Misi kelistrikan berhasil
universal_message6=Nomor instruksi saat ini kosong
universal_message7=Misi tercapai ...
universal_message8=Pengecualian terjadi saat membaca nilai sinyal:
universal_message9=Pengecualian terjadi saat membuat direktif
universal_message10=Beberapa sinyal listrik dikeluarkan
universal_feedMessage1=Mode kerja tidak untuk mode dalam mode universal_feedMessage1=Mode kerja tidak untuk mode dalam mode
universal_feedMessage2=Sinyal aksi tidak lengkap untuk penempatan universal_feedMessage2=Sinyal aksi tidak lengkap untuk penempatan
universal_feedMessage3=tidak ada status pengiriman universal_feedMessage3=tidak ada status pengiriman
universal_feedMessage4=Tugaskan tugaskan tugaskan bukan hanya 0 universal_feedMessage4=Tugaskan tugaskan tugaskan bukan hanya 0
universal_feedMessage5=Pengemudi-mekanik line universal_feedMessage5=Pengemudi-mekanik line
universal_feedMessage6=Waktu pemicu diabaikan karena kurang dari {} milidetik
universal_feedMessage7=Pindah tidak tersedia
universal_feedMessage8=Nomor tugasnya adalah 0

View File

@@ -15,13 +15,22 @@ universal_remark3=\u5149\u7535\u4FE1\u53F7(move)\u4E3A\u6709\u8D27\u72B6\u6001
universal_remark4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u5E94\u8BE5\u4E3A0 universal_remark4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u5E94\u8BE5\u4E3A0
universal_remark5=\u53F3\u51FB\u8BE5\u56FE\u6807,\u5C06\u8BF7\u6C42\u4EFB\u52A1\u590D\u4F4D\u6807\u8BB0(requireSucess)\u6539\u4E3A\u5426\u3002 universal_remark5=\u53F3\u51FB\u8BE5\u56FE\u6807,\u5C06\u8BF7\u6C42\u4EFB\u52A1\u590D\u4F4D\u6807\u8BB0(requireSucess)\u6539\u4E3A\u5426\u3002
universal_notCreateInstMessage=\u672A\u627E\u5230\u5173\u8054\u8BBE\u5907\u7684\u4EFB\u52A1\uFF0C\u6307\u4EE4\u65E0\u6CD5\u521B\u5EFA universal_notCreateInstMessage=\u672A\u627E\u5230\u5173\u8054\u8BBE\u5907\u7684\u4EFB\u52A1\uFF0C\u6307\u4EE4\u65E0\u6CD5\u521B\u5EFA
universal_notCreateInstMessage1=\u672A\u8BBE\u7F6E\u7535\u6C14\u8C03\u5EA6\u53F7!
universal_message1=\u653E\u8D27\u5B8C\u6210 universal_message1=\u653E\u8D27\u5B8C\u6210
universal_message2=\u653E\u8D27\u5931\u8D25 universal_message2=\u653E\u8D27\u5931\u8D25
universal_message3=\u6709\u62A5\u8B66 universal_message3=\u6709\u62A5\u8B66
universal_message4=\u672A\u627E\u5230\u7B26\u5408\u6761\u4EF6\u7684\u6307\u4EE4 universal_message4=\u672A\u627E\u5230\u7B26\u5408\u6761\u4EF6\u7684\u6307\u4EE4
universal_message5=\u4E0B\u53D1\u7535\u6C14\u4EFB\u52A1\u53F7\u6210\u529F universal_message5=\u4E0B\u53D1\u7535\u6C14\u4EFB\u52A1\u53F7\u6210\u529F
universal_message6=\u5F53\u524D\u6307\u4EE4\u53F7\u4E3A\u7A7A
universal_message7=\u4EFB\u52A1\u5B8Cuniversal_releasing_completed\u6210...
universal_message8=\u8BFB\u53D6\u4FE1\u53F7\u503C\u65F6\u51FA\u73B0\u5F02\u5E38:
universal_message9=\u521B\u5EFA\u6307\u4EE4\u65F6\u51FA\u73B0\u5F02\u5E38:
universal_message10=\u4E0B\u53D1\u591A\u4E2A\u7535\u6C14\u4FE1\u53F7
universal_feedMessage1=\u5DE5\u4F5C\u6A21\u5F0F(mode)\u4E0D\u4E3A\u8FD0\u884C\u4E2D\u72B6\u6001 universal_feedMessage1=\u5DE5\u4F5C\u6A21\u5F0F(mode)\u4E0D\u4E3A\u8FD0\u884C\u4E2D\u72B6\u6001
universal_feedMessage2=\u52A8\u4F5C\u4FE1\u53F7(action)\u4E0D\u4E3A\u653E\u8D27\u5B8C\u6210\u72B6\u6001 universal_feedMessage2=\u52A8\u4F5C\u4FE1\u53F7(action)\u4E0D\u4E3A\u653E\u8D27\u5B8C\u6210\u72B6\u6001
universal_feedMessage3=\u5149\u7535\u4FE1\u53F7(move)\u4E0D\u4E3A\u65E0\u8D27\u72B6\u6001 universal_feedMessage3=\u5149\u7535\u4FE1\u53F7(move)\u4E0D\u4E3A\u65E0\u8D27\u72B6\u6001
universal_feedMessage4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u4E0D\u5E94\u8BE5\u4E3A0 universal_feedMessage4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u4E0D\u5E94\u8BE5\u4E3A0
universal_feedMessage5=\u884C\u67B6\u673A\u68B0\u624B universal_feedMessage5=\u884C\u67B6\u673A\u68B0\u624B
universal_feedMessage6=\u89E6\u53D1\u65F6\u95F4\u56E0\u4E3A\u5C0F\u4E8E{}\u6BEB\u79D2\uFF0C\u800C\u88AB\u65E0\u89C6
universal_feedMessage7=move\u4E0D\u4E3A\u6709\u8D27\u72B6\u6001
universal_feedMessage8=\u4EFB\u52A1\u53F7\u4E3A0

View File

@@ -9,6 +9,8 @@ export default {
'send_status': 'Send Status', 'send_status': 'Send Status',
'start_point_code': 'Start Device Code', 'start_point_code': 'Start Device Code',
'next_point_code': 'Next Device Code', 'next_point_code': 'Next Device Code',
'start_point_code2': 'Start Device Code 2',
'next_point_code2': 'Next Device Code 2',
'put_point_code': 'Put Point Code', 'put_point_code': 'Put Point Code',
'execute_device_code': 'Execute Device Code', 'execute_device_code': 'Execute Device Code',
'carno': 'Carno', 'carno': 'Carno',

View File

@@ -9,6 +9,8 @@ export default {
'send_status': 'Status Pengiriman', 'send_status': 'Status Pengiriman',
'start_point_code': 'Titik Penjemputan', 'start_point_code': 'Titik Penjemputan',
'next_point_code': 'Titik Pengantaran', 'next_point_code': 'Titik Pengantaran',
'start_point_code2': 'Titik Penjemputan 2',
'next_point_code2': 'Titik Pengantaran 2',
'put_point_code': 'Titik Pembuangan', 'put_point_code': 'Titik Pembuangan',
'execute_device_code': 'Perangkat Eksekusi', 'execute_device_code': 'Perangkat Eksekusi',
'carno': 'Nomor Kendaraan', 'carno': 'Nomor Kendaraan',

View File

@@ -9,6 +9,8 @@ export default {
'send_status': '下发状态', 'send_status': '下发状态',
'start_point_code': '取货点', 'start_point_code': '取货点',
'next_point_code': '放货点', 'next_point_code': '放货点',
'start_point_code2': '取货点2',
'next_point_code2': '放货点2',
'put_point_code': '倒料点', 'put_point_code': '倒料点',
'execute_device_code': '当前执行设备', 'execute_device_code': '当前执行设备',
'carno': '车号', 'carno': '车号',

View File

@@ -135,7 +135,7 @@ export default {
props: { props: {
parentForm: { parentForm: {
type: Object, type: Object,
required: true require: true
} }
}, },
cruds() { cruds() {

View File

@@ -166,11 +166,10 @@
</el-table-column> </el-table-column>
<el-table-column prop="start_point_code" :label="$t('Inst.table.start_point_code')" :min-width="flexWidth('start_point_code',crud.data,$t('Inst.table.start_point_code'))" /> <el-table-column prop="start_point_code" :label="$t('Inst.table.start_point_code')" :min-width="flexWidth('start_point_code',crud.data,$t('Inst.table.start_point_code'))" />
<el-table-column prop="next_point_code" :label="$t('Inst.table.next_point_code')" :min-width="flexWidth('next_point_code',crud.data,$t('Inst.table.next_point_code'))" /> <el-table-column prop="next_point_code" :label="$t('Inst.table.next_point_code')" :min-width="flexWidth('next_point_code',crud.data,$t('Inst.table.next_point_code'))" />
<!-- <el-table-column prop="start_point_code2" label="取货点2" />--> <el-table-column prop="start_point_code2" :label="$t('Inst.table.start_point_code2')" :min-width="flexWidth('start_point_code2',crud.data,$t('Inst.table.start_point_code2'))" />
<!-- <el-table-column prop="next_point_code2" label="放货点2" />--> <el-table-column prop="next_point_code2" :label="$t('Inst.table.next_point_code2')" :min-width="flexWidth('next_point_code2',crud.data,$t('Inst.table.snext_point_code2'))" />
<el-table-column prop="put_point_code" :label="$t('Inst.table.put_point_code')" :min-width="flexWidth('put_point_code',crud.data,$t('Inst.table.put_point_code'))" /> <el-table-column prop="put_point_code" :label="$t('Inst.table.put_point_code')" :min-width="flexWidth('put_point_code',crud.data,$t('Inst.table.put_point_code'))" />
<el-table-column prop="execute_device_code" :label="$t('Inst.table.execute_device_code')" :min-width="flexWidth('execute_device_code',crud.data,$t('Inst.table.execute_device_code'))" /> <el-table-column prop="execute_device_code" :label="$t('Inst.table.execute_device_code')" :min-width="flexWidth('execute_device_code',crud.data,$t('Inst.table.execute_device_code'))" />
<el-table-column prop="carno" :label="$t('Inst.table.carno')" :min-width="flexWidth('carno',crud.data,$t('Inst.table.carno'))" /> <el-table-column prop="carno" :label="$t('Inst.table.carno')" :min-width="flexWidth('carno',crud.data,$t('Inst.table.carno'))" />
<el-table-column prop="remark" :label="$t('Inst.table.remark')" :min-width="flexWidth('remark',crud.data,$t('Inst.table.remark'))" /> <el-table-column prop="remark" :label="$t('Inst.table.remark')" :min-width="flexWidth('remark',crud.data,$t('Inst.table.remark'))" />
<el-table-column prop="create_by" :label="$t('Inst.table.create_by')" :min-width="flexWidth('create_by',crud.data,$t('Inst.table.create_by'))" /> <el-table-column prop="create_by" :label="$t('Inst.table.create_by')" :min-width="flexWidth('create_by',crud.data,$t('Inst.table.create_by'))" />

View File

@@ -286,7 +286,7 @@ export default {
this.$refs.child1.setForm(clickObj) this.$refs.child1.setForm(clickObj)
} else if (clickObj.data.driver_type === 'standard_stacker') { } else if (clickObj.data.driver_type === 'standard_stacker') {
this.dialogFormVisible4 = true this.dialogFormVisible4 = true
}else { } else {
this.dialogFormVisible = true this.dialogFormVisible = true
} }
} }

View File

@@ -494,8 +494,8 @@
<el-table-column prop="start_point_code" :label="$t('task.select.Pickup_point')" :min-width="flexWidth('start_point_code',crud.data,$t('task.select.Pickup_point'))" /> <el-table-column prop="start_point_code" :label="$t('task.select.Pickup_point')" :min-width="flexWidth('start_point_code',crud.data,$t('task.select.Pickup_point'))" />
<!-- <el-table-column prop="put_point_code" label="倒料点" width="100" />--> <!-- <el-table-column prop="put_point_code" label="倒料点" width="100" />-->
<el-table-column prop="next_point_code" :label="$t('task.select.Delivery_point')" :min-width="flexWidth('next_point_code',crud.data,$t('task.select.Delivery_point'))" /> <el-table-column prop="next_point_code" :label="$t('task.select.Delivery_point')" :min-width="flexWidth('next_point_code',crud.data,$t('task.select.Delivery_point'))" />
<!-- <el-table-column prop="start_point_code2" label="取货点2" width="120px" />--> <el-table-column prop="start_point_code2" :label="$t('task.select.Start_point2')" :min-width="flexWidth('start_point_code2',crud.data,$t('task.select.Start_point2'))" />
<!-- <el-table-column prop="next_point_code2" label="放货点2" width="120px" />--> <el-table-column prop="next_point_code2" :label="$t('task.select.Destination2')" :min-width="flexWidth('next_point_code2',crud.data,$t('task.select.Destination2'))" />
<!-- <el-table-column prop="compound_task" label="复合任务">--> <!-- <el-table-column prop="compound_task" label="复合任务">-->
<!-- <template slot-scope="scope">--> <!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.compound_task==='0' "></span>--> <!-- <span v-if="scope.row.compound_task==='0' "></span>-->
@@ -759,7 +759,11 @@ export default {
this.dialogVisible = false this.dialogVisible = false
}, },
saveBtn() { saveBtn() {
// 禁用按钮
this.isDisabled = true
crudTask.add(this.form).then(res => { crudTask.add(this.form).then(res => {
// 请求完成后启用按钮
this.isDisabled = false
this.crud.toQuery() this.crud.toQuery()
this.formDia = false this.formDia = false
this.isDisabled = true this.isDisabled = true
@@ -767,6 +771,10 @@ export default {
this.extension = [{ this.extension = [{
name: '', name: '',
value: '' }] value: '' }]
// 设置定时器,等待一定时间后再次允许请求
setTimeout(() => {
this.isDisabled = false // 可根据具体需求进行调整
}, 1000) // 5000 毫秒,即 5 秒钟
}, },
openDialog() { openDialog() {
this.dialogVisible = true this.dialogVisible = true

View File

@@ -1,5 +1,13 @@
<template> <template>
<div style="overflow: hidden"> <div style="overflow: hidden">
<el-select v-model="value" :placeholder="$t('auto.common.please')" @change="initStageData">
<el-option
v-for="item in stageParam"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</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>
@@ -186,7 +194,7 @@
</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">
<el-radio-button :label="7" >{{ $t('monitor.click.recall') }}</el-radio-button> <el-radio-button :label="7">{{ $t('monitor.click.recall') }}</el-radio-button>
<el-radio-button :label="8">{{ $t('monitor.click.scram') }}</el-radio-button> <el-radio-button :label="8">{{ $t('monitor.click.scram') }}</el-radio-button>
<el-radio-button :label="5">{{ $t('monitor.click.police_clearance') }}</el-radio-button> <el-radio-button :label="5">{{ $t('monitor.click.police_clearance') }}</el-radio-button>
</el-radio-group> </el-radio-group>
@@ -200,7 +208,7 @@
<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">
<el-radio-button :label="0"> {{ $t('auto.common.false') }}</el-radio-button> <el-radio-button :label="0"> {{ $t('auto.common.false') }}</el-radio-button>
<el-radio-button :label="1">{{ $t('auto.common.true') }}</el-radio-button> <el-radio-button :label="1">{{ $t('auto.common.true') }}</el-radio-button>
@@ -232,7 +240,7 @@ export default {
name: 'MonitorDevice', name: 'MonitorDevice',
data() { data() {
return { return {
stageParam: 'age', // 舞台参数 // stageParam: 'stage_code', // 舞台参数
dialogDeviceMsgVisible: false, // 显示设备信息的dialog dialogDeviceMsgVisible: false, // 显示设备信息的dialog
device_code: null, device_code: null,
tops: '20vh', // 初始top tops: '20vh', // 初始top
@@ -247,6 +255,15 @@ export default {
dialogFormVisible6: false, dialogFormVisible6: false,
dialogFormVisible7: false, dialogFormVisible7: false,
dialogFormVisible8: false, dialogFormVisible8: false,
stageParam: [{// 舞台参数
value: 'age',
label: 'age'
}, {
value: 'stage_code',
label: 'stage_code'
}],
value: '',
stage_code: '',
form: { form: {
device_code: '', device_code: '',
hasGoodStatus: null, hasGoodStatus: null,
@@ -342,9 +359,10 @@ export default {
lf.render(data) lf.render(data)
this.initStageData() this.initStageData()
}, },
initStageData() { initStageData(var1) {
// 获取舞台数据 // 获取舞台数据
crudStage.getNewStageDataByCode(this.stageParam).then(res => { // 通过舞台编码获取舞台数据并且赋值到lf对象 this.stage_code = var1
crudStage.getNewStageDataByCode(this.stage_code).then(res => { // 通过舞台编码获取舞台数据并且赋值到lf对象
data = JSON.parse(res.stage_data) data = JSON.parse(res.stage_data)
lf.render(data) lf.render(data)
this.initStatus() // 初始化状态 this.initStatus() // 初始化状态
@@ -760,6 +778,7 @@ body {
::v-deep.el-radio-button{ ::v-deep.el-radio-button{
margin-right: 15px; margin-right: 15px;
border-radius:4px; border-radius:4px;
}
.el-radio-button__inner { .el-radio-button__inner {
width: 90px; width: 90px;
height: 30px; height: 30px;
@@ -773,5 +792,5 @@ body {
border-color: blue; border-color: blue;
box-shadow: -1px 0 0 0 blue; box-shadow: -1px 0 0 0 blue;
} }
}
</style> </style>