rev:新增lms接口,新增表处行架4点任务下发以及设备监控界面优化
This commit is contained in:
@@ -238,10 +238,36 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr
|
||||
instruction_require();
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
//申请贴标
|
||||
applyLabeling(mode);
|
||||
break;
|
||||
case 10:
|
||||
//申请捆轧贴标信息
|
||||
if (move > 0 && !requireSucess) {
|
||||
applyLaStrangulationAndLabeling();
|
||||
applyLaStrangulationAndLabeling(mode);
|
||||
}
|
||||
break;
|
||||
case 12:
|
||||
//申请贴标(未贴标)
|
||||
applyLabeling(mode);
|
||||
break;
|
||||
case 13:
|
||||
//申请捆轧贴标信息(未捆扎)
|
||||
if (move > 0 && !requireSucess) {
|
||||
applyLaStrangulationAndLabeling(mode);
|
||||
}
|
||||
break;
|
||||
case 14:
|
||||
//申请捆轧贴标信息(未贴标)
|
||||
if (move > 0 && !requireSucess) {
|
||||
applyLaStrangulationAndLabeling(mode);
|
||||
}
|
||||
break;
|
||||
case 16:
|
||||
//申请捆轧贴标信息(未贴标,未捆扎)
|
||||
if (move > 0 && !requireSucess) {
|
||||
applyLaStrangulationAndLabeling(mode);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -261,7 +287,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr
|
||||
last_to_height = to_height;
|
||||
}
|
||||
|
||||
private void applyLaStrangulationAndLabeling() {
|
||||
private void applyLaStrangulationAndLabeling(int mode) {
|
||||
Date date = new Date();
|
||||
if (date.getTime() - this.require_apply_strangulation_time.getTime() < (long) this.instruction_require_time_out) {
|
||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
|
||||
@@ -288,7 +314,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr
|
||||
.build();
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||
// Map datas = applyLabelingAndBindingResponse.getData();
|
||||
packagePLCData(jo.getString("data"));
|
||||
packagePLCData(jo.getString("data"), mode);
|
||||
requireSucess = true;
|
||||
} else {
|
||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||
@@ -302,7 +328,57 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr
|
||||
|
||||
}
|
||||
|
||||
private void packagePLCData(String datas) {
|
||||
// 申请贴标
|
||||
public synchronized void applyLabeling(int mode) {
|
||||
Date date = new Date();
|
||||
if (date.getTime() - this.require_apply_strangulation_time.getTime() < (long) this.instruction_require_time_out) {
|
||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
|
||||
return;
|
||||
} else {
|
||||
this.require_apply_strangulation_time = date;
|
||||
// String vehicle_code = "";
|
||||
//
|
||||
Instruction inst = instructionService.findByCodeFromCache(String.valueOf(task));
|
||||
if (StrUtil.isEmpty(inst.getVehicle_code())) {
|
||||
message = LangProcess.msg("one_message8") + ": " + task + LangProcess.msg("one_message11");
|
||||
return;
|
||||
}
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("device_code", device_code);
|
||||
param.put("vehicle_code", inst.getVehicle_code());
|
||||
param.put("type", AcsToLmsApplyTaskTypeEnum.LABEL.getType());
|
||||
String response = acsToWmsService.deviceApplyTwo(param);
|
||||
JSONObject jo = JSON.parseObject(response);
|
||||
if (jo.getInteger("status") == 200) {
|
||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||
.device_code(device_code)
|
||||
.content("申请贴标成功:" + jo)
|
||||
.build();
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||
List list = new ArrayList();
|
||||
Map map5 = new HashMap();
|
||||
map5.put("code", "to_command");
|
||||
map5.put("value", mode);
|
||||
list.add(map5);
|
||||
try {
|
||||
this.writing(list);
|
||||
} catch (Exception e) {
|
||||
message = "universal_write_erro";
|
||||
}
|
||||
// Map datas = applyLabelingAndBindingResponse.getData();
|
||||
requireSucess = true;
|
||||
} else {
|
||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||
.device_code(device_code)
|
||||
.content("申请贴标失败,接口返回:" + jo.getString("body"))
|
||||
.build();
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void packagePLCData(String datas, int mode) {
|
||||
|
||||
JSONObject jo = JSON.parseObject(datas);
|
||||
String length = jo.get("length").toString();
|
||||
@@ -317,54 +393,112 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr
|
||||
String bundleTimes = jo.get("bundleTimes").toString();
|
||||
|
||||
List list = new ArrayList();
|
||||
Map map = new HashMap();
|
||||
map.put("code", "to_length");
|
||||
map.put("value", length);
|
||||
list.add(map);
|
||||
Map map2 = new HashMap();
|
||||
map2.put("code", "to_weight");
|
||||
map2.put("value", weight);
|
||||
list.add(map2);
|
||||
Map map3 = new HashMap();
|
||||
map3.put("code", "to_height");
|
||||
map3.put("value", height);
|
||||
list.add(map3);
|
||||
Map map4 = new HashMap();
|
||||
map4.put("code", "to_is_binding");
|
||||
map4.put("value", isBinding);
|
||||
list.add(map4);
|
||||
Map map5 = new HashMap();
|
||||
map5.put("code", "to_command");
|
||||
map5.put("value", 10);
|
||||
list.add(map5);
|
||||
Map map6 = new HashMap();
|
||||
map6.put("code", "to_is_labeling");
|
||||
map6.put("value", isLabeling);
|
||||
list.add(map6);
|
||||
Map map7 = new HashMap();
|
||||
map7.put("code", "to_print_qty");
|
||||
map7.put("value", printQty);
|
||||
list.add(map7);
|
||||
Map map8 = new HashMap();
|
||||
map8.put("code", "to_print_qty");
|
||||
map8.put("value", printQty);
|
||||
list.add(map8);
|
||||
Map map9 = new HashMap();
|
||||
map9.put("code", "to_print_device");
|
||||
map9.put("value", printDevice);
|
||||
list.add(map9);
|
||||
Map map10 = new HashMap();
|
||||
map10.put("code", "to_binding_template");
|
||||
map10.put("value", bindingTemplate);
|
||||
list.add(map10);
|
||||
Map map11 = new HashMap();
|
||||
map11.put("code", "to_binding_times");
|
||||
map11.put("value", bundleTimes);
|
||||
list.add(map11);
|
||||
Map map12 = new HashMap();
|
||||
map12.put("code", "to_labeling_template");
|
||||
map12.put("value", labelingTemplate);
|
||||
list.add(map12);
|
||||
if (mode == 10 || mode == 16) {
|
||||
Map map = new HashMap();
|
||||
map.put("code", "to_length");
|
||||
map.put("value", length);
|
||||
list.add(map);
|
||||
Map map2 = new HashMap();
|
||||
map2.put("code", "to_weight");
|
||||
map2.put("value", weight);
|
||||
list.add(map2);
|
||||
Map map3 = new HashMap();
|
||||
map3.put("code", "to_height");
|
||||
map3.put("value", height);
|
||||
list.add(map3);
|
||||
Map map4 = new HashMap();
|
||||
map4.put("code", "to_is_binding");
|
||||
map4.put("value", isBinding);
|
||||
list.add(map4);
|
||||
Map map5 = new HashMap();
|
||||
map5.put("code", "to_command");
|
||||
map5.put("value", mode);
|
||||
list.add(map5);
|
||||
Map map6 = new HashMap();
|
||||
map6.put("code", "to_is_labeling");
|
||||
map6.put("value", isLabeling);
|
||||
list.add(map6);
|
||||
Map map7 = new HashMap();
|
||||
map7.put("code", "to_print_qty");
|
||||
map7.put("value", printQty);
|
||||
list.add(map7);
|
||||
Map map8 = new HashMap();
|
||||
map8.put("code", "to_print_qty");
|
||||
map8.put("value", printQty);
|
||||
list.add(map8);
|
||||
Map map9 = new HashMap();
|
||||
map9.put("code", "to_print_device");
|
||||
map9.put("value", printDevice);
|
||||
list.add(map9);
|
||||
Map map10 = new HashMap();
|
||||
map10.put("code", "to_binding_template");
|
||||
map10.put("value", bindingTemplate);
|
||||
list.add(map10);
|
||||
Map map11 = new HashMap();
|
||||
map11.put("code", "to_binding_times");
|
||||
map11.put("value", bundleTimes);
|
||||
list.add(map11);
|
||||
Map map12 = new HashMap();
|
||||
map12.put("code", "to_labeling_template");
|
||||
map12.put("value", labelingTemplate);
|
||||
list.add(map12);
|
||||
}
|
||||
if (mode == 13) {
|
||||
Map map = new HashMap();
|
||||
map.put("code", "to_length");
|
||||
map.put("value", length);
|
||||
list.add(map);
|
||||
Map map2 = new HashMap();
|
||||
map2.put("code", "to_weight");
|
||||
map2.put("value", weight);
|
||||
list.add(map2);
|
||||
Map map3 = new HashMap();
|
||||
map3.put("code", "to_height");
|
||||
map3.put("value", height);
|
||||
list.add(map3);
|
||||
Map map5 = new HashMap();
|
||||
map5.put("code", "to_command");
|
||||
map5.put("value", mode);
|
||||
list.add(map5);
|
||||
Map map11 = new HashMap();
|
||||
map11.put("code", "to_binding_times");
|
||||
map11.put("value", bundleTimes);
|
||||
list.add(map11);
|
||||
}
|
||||
if (mode == 14) {
|
||||
Map map4 = new HashMap();
|
||||
map4.put("code", "to_is_binding");
|
||||
map4.put("value", isBinding);
|
||||
list.add(map4);
|
||||
Map map5 = new HashMap();
|
||||
map5.put("code", "to_command");
|
||||
map5.put("value", mode);
|
||||
list.add(map5);
|
||||
Map map6 = new HashMap();
|
||||
map6.put("code", "to_is_labeling");
|
||||
map6.put("value", isLabeling);
|
||||
list.add(map6);
|
||||
Map map7 = new HashMap();
|
||||
map7.put("code", "to_print_qty");
|
||||
map7.put("value", printQty);
|
||||
list.add(map7);
|
||||
Map map8 = new HashMap();
|
||||
map8.put("code", "to_print_qty");
|
||||
map8.put("value", printQty);
|
||||
list.add(map8);
|
||||
Map map9 = new HashMap();
|
||||
map9.put("code", "to_print_device");
|
||||
map9.put("value", printDevice);
|
||||
list.add(map9);
|
||||
Map map10 = new HashMap();
|
||||
map10.put("code", "to_binding_template");
|
||||
map10.put("value", bindingTemplate);
|
||||
list.add(map10);
|
||||
Map map12 = new HashMap();
|
||||
map12.put("code", "to_labeling_template");
|
||||
map12.put("value", labelingTemplate);
|
||||
list.add(map12);
|
||||
}
|
||||
try {
|
||||
this.writing(list);
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -139,6 +139,12 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
int to_onset = 0;
|
||||
int last_to_onset = 0;
|
||||
|
||||
int to_onset2 = 0;
|
||||
int last_to_onset2 = 0;
|
||||
|
||||
int to_target2 = 0;
|
||||
int last_to_target2 = 0;
|
||||
|
||||
Boolean isonline = true;
|
||||
int hasGoods = 0;
|
||||
String message = null;
|
||||
@@ -226,6 +232,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
if (StrUtil.equals(inst.getInstruction_status(), CommonFinalParam.ZERO)) {
|
||||
inst.setInstruction_status(CommonFinalParam.ONE);
|
||||
inst.setExecute_device_code(this.device_code);
|
||||
inst.setUpdate_time(DateUtil.now());
|
||||
instructionService.update(inst);
|
||||
}
|
||||
}
|
||||
@@ -387,6 +394,8 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
last_to_command = to_command;
|
||||
last_to_target = to_target;
|
||||
last_to_onset = to_onset;
|
||||
last_to_target2 = to_target2;
|
||||
last_to_onset2 = to_onset2;
|
||||
last_weight = weight;
|
||||
last_barcode = barcode;
|
||||
}
|
||||
@@ -417,9 +426,8 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
Instruction instruction = instructionService.findByTaskcode(taskDto.getTask_code());
|
||||
String startCode = instruction.getStart_device_code();
|
||||
String nextCode = instruction.getNext_device_code();
|
||||
instruction.setInstruction_status(InstructionStatusEnum.BUSY.getIndex());
|
||||
instruction.setUpdate_time(DateUtil.now());
|
||||
instructionService.update(instruction);
|
||||
String startCode2 = instruction.getStart_device_code2();
|
||||
String nextCode2 = instruction.getNext_device_code2();
|
||||
Device startDevice = deviceAppService.findDeviceByCode(startCode);
|
||||
Device nextDevice = deviceAppService.findDeviceByCode(nextCode);
|
||||
if (ObjectUtil.isEmpty(startDevice.getExtraValue().get("address"))) {
|
||||
@@ -431,10 +439,25 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
String startAddr = startDevice.getExtraValue().get("address").toString();
|
||||
String nextAddr = nextDevice.getExtraValue().get("address").toString();
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("to_command", CommonFinalParam.ONE);
|
||||
map.put("to_onset", startAddr);
|
||||
map.put("to_task", instruction.getInstruction_code());
|
||||
map.put("to_target", nextAddr);
|
||||
map.put("to_command", CommonFinalParam.ONE);
|
||||
|
||||
if (StrUtil.isNotEmpty(startCode2)){
|
||||
Device startDevice2 = deviceAppService.findDeviceByCode(startCode2);
|
||||
Device nextDevice2 = deviceAppService.findDeviceByCode(nextCode2);
|
||||
if (ObjectUtil.isEmpty(startDevice2.getExtraValue().get("address"))) {
|
||||
throw new BadRequestException(LangProcess.msg("device_checkAdd", startDevice.getDevice_code()));
|
||||
}
|
||||
if (ObjectUtil.isEmpty(nextDevice2.getExtraValue().get("address"))) {
|
||||
throw new BadRequestException(LangProcess.msg("device_checkAdd", nextDevice.getDevice_code()));
|
||||
}
|
||||
String start_addr2 = startDevice2.getExtraValue().get("address").toString();
|
||||
String next_addr2 = nextDevice2.getExtraValue().get("address").toString();
|
||||
map.put("to_onset2", start_addr2);
|
||||
map.put("to_target2", next_addr2);
|
||||
}
|
||||
this.writing(map);
|
||||
this.setRequireSucess(true);
|
||||
return true;
|
||||
@@ -460,6 +483,8 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
String routePlanCode = task.getRoute_plan_code();
|
||||
String nextPointCode = task.getNext_point_code();
|
||||
String nextDeviceCode = task.getNext_device_code();
|
||||
String startDeviceCode2 = task.getStart_device_code2();
|
||||
String nextDeviceCode2 = task.getNext_device_code2();
|
||||
|
||||
Instruction instdto = new Instruction();
|
||||
instdto.setInstruction_id(IdUtil.simpleUUID());
|
||||
@@ -481,22 +506,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
instdto.setInstruction_status(InstructionStatusEnum.READY.getIndex());
|
||||
instdto.setExecute_device_code(startPointCode);
|
||||
|
||||
try {
|
||||
instructionService.create(instdto);
|
||||
} catch (Exception e) {
|
||||
notCreateInstMessage = e.getMessage();
|
||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||
.device_code(device_code)
|
||||
.content(LangProcess.msg("universal_message9") + e.getMessage())
|
||||
.build();
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||
return false;
|
||||
}
|
||||
//创建指令后修改任务状态
|
||||
task.setTask_status(TaskStatusEnum.BUSY.getIndex());
|
||||
task.setUpdate_time(DateUtil.now());
|
||||
taskserver.update(task);
|
||||
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
Device startDevice = deviceAppService.findDeviceByCode(instdto.getStart_device_code());
|
||||
Device nextDevice = deviceAppService.findDeviceByCode(instdto.getNext_device_code());
|
||||
if (ObjectUtil.isEmpty(startDevice.getExtraValue().get("address"))) {
|
||||
@@ -520,11 +530,46 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
}
|
||||
String startAddr = startDevice.getExtraValue().get("address").toString();
|
||||
String nextAddr = nextDevice.getExtraValue().get("address").toString();
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("to_command", CommonFinalParam.ONE);
|
||||
map.put("to_onset", startAddr);
|
||||
map.put("to_task", instdto.getInstruction_code());
|
||||
map.put("to_target", nextAddr);
|
||||
|
||||
if (StrUtil.isNotEmpty(startDeviceCode2)){
|
||||
//判断任务点位是否配置电气信号
|
||||
Device startDevice2 = deviceAppService.findDeviceByCode(startDeviceCode2);
|
||||
Device nextDevice2 = deviceAppService.findDeviceByCode(nextDeviceCode2);
|
||||
if (ObjectUtil.isEmpty(startDevice2.getExtraValue().get("address"))) {
|
||||
throw new BadRequestException(LangProcess.msg("device_checkAdd", startDevice2.getDevice_code()));
|
||||
}
|
||||
if (ObjectUtil.isEmpty(nextDevice2.getExtraValue().get("address"))) {
|
||||
throw new BadRequestException(LangProcess.msg("device_checkAdd", nextDevice2.getDevice_code()));
|
||||
}
|
||||
String start_addr2 = startDevice2.getExtraValue().get("address").toString();
|
||||
String next_addr2 = nextDevice2.getExtraValue().get("address").toString();
|
||||
instdto.setStart_device_code2(startDeviceCode2);
|
||||
instdto.setNext_device_code2(nextDeviceCode2);
|
||||
instdto.setStart_point_code2(startDeviceCode2);
|
||||
instdto.setNext_point_code2(nextDeviceCode2);
|
||||
map.put("to_onset2", start_addr2);
|
||||
map.put("to_target2", next_addr2);
|
||||
}
|
||||
try {
|
||||
instructionService.create(instdto);
|
||||
} catch (Exception e) {
|
||||
notCreateInstMessage = e.getMessage();
|
||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||
.device_code(device_code)
|
||||
.content(LangProcess.msg("universal_message9") + e.getMessage())
|
||||
.build();
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||
return false;
|
||||
}
|
||||
//创建指令后修改任务状态
|
||||
task.setTask_status(TaskStatusEnum.BUSY.getIndex());
|
||||
task.setUpdate_time(DateUtil.now());
|
||||
taskserver.update(task);
|
||||
|
||||
this.writing(map);
|
||||
this.setRequireSucess(true);
|
||||
notCreateInstMessage = "";
|
||||
|
||||
@@ -38,6 +38,10 @@ public class ItemProtocol {
|
||||
public static String item_to_onset = "to_onset";
|
||||
//下发目标站
|
||||
public static String item_to_target = "to_target";
|
||||
//下发起始站
|
||||
public static String item_to_onset2 = "to_onset2";
|
||||
//下发目标站
|
||||
public static String item_to_target2 = "to_target2";
|
||||
//下发任务号
|
||||
public static String item_to_task = "to_task";
|
||||
|
||||
@@ -99,6 +103,14 @@ public class ItemProtocol {
|
||||
return this.getOpcIntegerValue(item_to_target);
|
||||
}
|
||||
|
||||
public int getTo_onset2() {
|
||||
return this.getOpcIntegerValue(item_to_onset2);
|
||||
}
|
||||
|
||||
public int getTo_target2() {
|
||||
return this.getOpcIntegerValue(item_to_target2);
|
||||
}
|
||||
|
||||
Boolean isonline;
|
||||
Boolean isError;
|
||||
|
||||
@@ -149,6 +161,8 @@ public class ItemProtocol {
|
||||
list.add(new ItemDto(item_to_command, "下发命令", "DB2.W0"));
|
||||
list.add(new ItemDto(item_to_onset, "下发起始站", "DB2.W2"));
|
||||
list.add(new ItemDto(item_to_target, "下发目标站", "DB2.W4"));
|
||||
list.add(new ItemDto(item_to_onset2, "下发起始站2", "DB2.W3"));
|
||||
list.add(new ItemDto(item_to_target2, "下发目标站2", "DB2.W5"));
|
||||
list.add(new ItemDto(item_to_task, "下发任务号", "DB2.D6"));
|
||||
return list;
|
||||
}
|
||||
|
||||
@@ -6,9 +6,13 @@ import lombok.Getter;
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum AcsToLmsApplyTaskTypeEnum {
|
||||
LABEL_BIND("1", "捆轧贴标"),
|
||||
LABEL_BIND("1", "申请捆轧贴标信息"),
|
||||
|
||||
AGV("2", "AGV任务"),
|
||||
|
||||
LABEL("3", "申请贴标");
|
||||
|
||||
|
||||
AGV("2", "AGV任务");
|
||||
/**
|
||||
* 索引
|
||||
*/
|
||||
|
||||
@@ -281,7 +281,7 @@ export default {
|
||||
dialogFormVisible9: false,
|
||||
dialogFormVisible10: false,
|
||||
Stages: [],
|
||||
stage_code: '',
|
||||
stage_code: 'stage_code',
|
||||
form: {
|
||||
device_code: '',
|
||||
hasGoodStatus: null,
|
||||
|
||||
Reference in New Issue
Block a user