现场修改
This commit is contained in:
@@ -253,17 +253,29 @@ public abstract class BaseDdjThread implements Runnable, DdjThreadInterface {
|
||||
DdjDeviceExecutionQueue ddjDeviceExecutionQueue = ddjDeviceExecutionQueueService.selectDdjDeviceExecutionQueueByRwh(ddj.getRwh(), ddj.getId());
|
||||
if (ObjUtil.isNotNull(ddjDeviceExecutionQueue)) {
|
||||
//请求wms获取任务 并生成队列
|
||||
AjaxResult result = apiService.selectMydoJobByTrayCodeAndEntranceId(getParamMap(trayCode, Convert.toInt(ddj.getHeight()), Convert.toDouble(ddjDeviceExecutionQueue.getSpare3())));
|
||||
HashMap<String, Object> paramMap = getParamMap(trayCode, Convert.toInt(ddj.getHeight()), Convert.toDouble(ddjDeviceExecutionQueue.getSpare3()));
|
||||
AjaxResult result = apiService.selectMydoJobByTrayCodeAndEntranceId(paramMap);
|
||||
if (result.isSuccess()) {
|
||||
inJob = BeanUtil.toBean(result.get("data"), MydoJob.class);
|
||||
inJob.setStatus(TASK_STATUS_CREATE);
|
||||
inJob.setExecutionPhase(TASK_EP_ROADWAY_SSJ);
|
||||
inJob.setRoadwayId(Convert.toStr(ddj.getId()));
|
||||
inJob.setFaultFlag("0");
|
||||
inJob.setEntranceId(getEntranceId(ddjDeviceExecutionQueue));
|
||||
inJob.setWarehouseId(Convert.toStr(paramMap.get("warehouseId")));
|
||||
inJob.setTrayCode(trayCode);
|
||||
mydoJobService.insertMydoJob(inJob);
|
||||
} else {
|
||||
createRollbackQueue(ddj, 2);
|
||||
log.error(result.get("msg").toString());
|
||||
if ("没有空货位".equals(result.get("msg").toString())) {
|
||||
createRollbackQueue(ddj, 3);
|
||||
} else if ("无入库任务".equals(result.get("msg").toString())) {
|
||||
createRollbackQueue(ddj, 2);
|
||||
} else if ("该托盘已有库存".equals(result.get("msg").toString())) {
|
||||
createRollbackQueue(ddj, 4);
|
||||
}else {
|
||||
createRollbackQueue(ddj, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -335,13 +347,17 @@ public abstract class BaseDdjThread implements Runnable, DdjThreadInterface {
|
||||
DeviceSsj roadWay = PlcSsjRead.deviceSsjMap.get(road);
|
||||
if (roadWay.getKx() == 1) {
|
||||
long rwh = roadwayRollback.get(road);
|
||||
log.info("扫码失败,放回原位 排:{} 列:{} 层:{} 任务号:{}", mbph, mblh, mbch, rwh);
|
||||
log.info("入库异常 1-未扫到 2-无任务 3-无空货位 4-已存在当前托盘 type{},放回原位 排:{} 列:{} 层:{} 任务号:{}", type, mbph, mblh, mbch, rwh);
|
||||
DdjDeviceExecutionQueue ddjQueue = ddjDeviceExecutionQueueService.selectDdjDeviceExecutionQueueByRwh(rwh, ddj.getId());
|
||||
if (ObjUtil.isNull(ddjQueue)) {
|
||||
ddjTaskFinish(ddj.getRwh(), ddj.getId(), 2);
|
||||
|
||||
if (type == 2) {
|
||||
rwh = rwh + 100;
|
||||
} else if (type == 3) {
|
||||
rwh = rwh + 20;
|
||||
} else if (type == 4) {
|
||||
rwh = rwh + 40;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -30,4 +30,11 @@ public interface DdjThreadInterface {
|
||||
* 初始化设备
|
||||
*/
|
||||
void init();
|
||||
|
||||
/**
|
||||
* 获取入口ID
|
||||
* @param ddjDeviceExecutionQueue 设备执行队列
|
||||
* @return 入口ID
|
||||
*/
|
||||
String getEntranceId(DdjDeviceExecutionQueue ddjDeviceExecutionQueue);
|
||||
}
|
||||
|
||||
@@ -113,4 +113,26 @@ public class Ddj1Thread extends BaseDdjThread {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getEntranceId(DdjDeviceExecutionQueue pickQueue) {
|
||||
Integer mbph = pickQueue.getYph();
|
||||
Integer mblh = pickQueue.getYlh();
|
||||
Integer mbch = pickQueue.getYch();
|
||||
String road = "";
|
||||
for (String roadway : roadwayMap.keySet()) {
|
||||
List<Integer> integers = roadwayMap.get(roadway);
|
||||
if (integers.get(0).equals(mbph) && integers.get(1).equals(mblh) && integers.get(2).equals(mbch)) {
|
||||
road = roadway;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ("L2001".equals(road)|| "L2002".equals(road)){
|
||||
return "1";
|
||||
}else if ("L2007".equals(road)|| "L2008".equals(road)){
|
||||
return "2";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import static com.ruoyi.common.Constant.*;
|
||||
|
||||
@@ -109,4 +110,25 @@ public class Ddj2Thread extends BaseDdjThread {
|
||||
return param;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEntranceId(DdjDeviceExecutionQueue pickQueue) {
|
||||
Integer mbph = pickQueue.getYph();
|
||||
Integer mblh = pickQueue.getYlh();
|
||||
Integer mbch = pickQueue.getYch();
|
||||
String road = "";
|
||||
for (String roadway : roadwayMap.keySet()) {
|
||||
List<Integer> integers = roadwayMap.get(roadway);
|
||||
if (integers.get(0).equals(mbph) && integers.get(1).equals(mblh) && integers.get(2).equals(mbch)) {
|
||||
road = roadway;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ("L2003".equals(road)|| "L2004".equals(road)){
|
||||
return "1";
|
||||
}else if ("L2009".equals(road)|| "L2010".equals(road)){
|
||||
return "2";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import static com.ruoyi.common.Constant.*;
|
||||
|
||||
@@ -92,4 +93,25 @@ public class Ddj3Thread extends BaseDdjThread {
|
||||
param.setSpare2(exitSsj);
|
||||
return param;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEntranceId(DdjDeviceExecutionQueue pickQueue) {
|
||||
Integer mbph = pickQueue.getYph();
|
||||
Integer mblh = pickQueue.getYlh();
|
||||
Integer mbch = pickQueue.getYch();
|
||||
String road = "";
|
||||
for (String roadway : roadwayMap.keySet()) {
|
||||
List<Integer> integers = roadwayMap.get(roadway);
|
||||
if (integers.get(0).equals(mbph) && integers.get(1).equals(mblh) && integers.get(2).equals(mbch)) {
|
||||
road = roadway;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ("L2005".equals(road)|| "L2006".equals(road)){
|
||||
return "1";
|
||||
}else if ("L2011".equals(road)|| "L2012".equals(road)){
|
||||
return "2";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,4 +92,9 @@ public class Ddj4Thread extends BaseDdjThread {
|
||||
return param;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEntranceId(DdjDeviceExecutionQueue ddjDeviceExecutionQueue) {
|
||||
return "1";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -79,5 +79,10 @@ public class Ddj5Thread extends BaseDdjThread {
|
||||
return param;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEntranceId(DdjDeviceExecutionQueue ddjDeviceExecutionQueue) {
|
||||
return "1";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -81,4 +81,9 @@ public class Ddj6Thread extends BaseDdjThread {
|
||||
return param;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEntranceId(DdjDeviceExecutionQueue ddjDeviceExecutionQueue) {
|
||||
return "1";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -45,6 +45,70 @@ public class MonitoringThread implements Runnable {
|
||||
for (String ssjCode : PlcSsjRead.deviceSsjMap.keySet()) {
|
||||
DeviceSsj deviceSsj = PlcSsjRead.deviceSsjMap.get(ssjCode);
|
||||
deviceSsjService.updateDeviceSsj(deviceSsj);
|
||||
|
||||
if (deviceSsj.getException() >= 101 && deviceSsj.getException() <= 106) {
|
||||
BasFaultRecord param = new BasFaultRecord();
|
||||
param.setTaskNo(Convert.toStr(deviceSsj.getTaskNo()));
|
||||
param.setDeviceId(Convert.toStr(deviceSsj.getDeviceCode()));
|
||||
param.setJobId("0");
|
||||
List<BasFaultRecord> basFaultRecords = basFaultRecordService.selectBasFaultRecordList(param);
|
||||
if (CollUtil.isEmpty(basFaultRecords)) {
|
||||
BasFaultRecord record = new BasFaultRecord();
|
||||
record.setId(IdUtil.simpleUUID());
|
||||
record.setDeviceId(Convert.toStr(deviceSsj.getDeviceCode()));
|
||||
record.setDeviceName(deviceSsj.getName());
|
||||
record.setDeviceType("ssj");
|
||||
record.setTaskNo(Convert.toStr(deviceSsj.getTaskNo()));
|
||||
record.setStartTime(DateUtil.formatDateTime(new Date()));
|
||||
record.setFault(Convert.toStr(deviceSsj.getException()));
|
||||
record.setJobId("0");
|
||||
basFaultRecordService.insertBasFaultRecord(record);
|
||||
}
|
||||
} else if (deviceSsj.getException() == 0) {
|
||||
//查询记录 更新故障结束时间
|
||||
BasFaultRecord param = new BasFaultRecord();
|
||||
param.setTaskNo(Convert.toStr(deviceSsj.getTaskNo()));
|
||||
param.setDeviceId(Convert.toStr(deviceSsj.getDeviceCode()));
|
||||
param.setJobId("0");
|
||||
List<BasFaultRecord> basFaultRecords = basFaultRecordService.selectBasFaultRecordList(param);
|
||||
if (CollUtil.isNotEmpty(basFaultRecords)) {
|
||||
BasFaultRecord record = basFaultRecords.get(0);
|
||||
record.setJobId("1");
|
||||
record.setFinishTime(DateUtil.formatDateTime(new Date()));
|
||||
basFaultRecordService.updateBasFaultRecord(record);
|
||||
}
|
||||
} else if (deviceSsj.getTaskNo() == 0) {
|
||||
//查询记录 更新故障结束时间
|
||||
BasFaultRecord param = new BasFaultRecord();
|
||||
param.setDeviceId(Convert.toStr(deviceSsj.getDeviceCode()));
|
||||
param.setJobId("0");
|
||||
List<BasFaultRecord> basFaultRecords = basFaultRecordService.selectBasFaultRecordList(param);
|
||||
if (CollUtil.isNotEmpty(basFaultRecords)) {
|
||||
BasFaultRecord record = basFaultRecords.get(0);
|
||||
record.setJobId("1");
|
||||
record.setFinishTime(DateUtil.formatDateTime(new Date()));
|
||||
basFaultRecordService.updateBasFaultRecord(record);
|
||||
}
|
||||
}
|
||||
|
||||
/* if (deviceSsj.getException()==101){
|
||||
//前超长
|
||||
}
|
||||
if (deviceSsj.getException()==102){
|
||||
//后超长
|
||||
}
|
||||
if (deviceSsj.getException()==103){
|
||||
//左超宽
|
||||
}
|
||||
if (deviceSsj.getException()==104){
|
||||
//右超宽
|
||||
}
|
||||
if (deviceSsj.getException()==105){
|
||||
//超高
|
||||
}
|
||||
if (deviceSsj.getException()==106){
|
||||
//称重异常
|
||||
}*/
|
||||
}
|
||||
for (String ddjCode : PlcDdjRead.deviceDdjMap.keySet()) {
|
||||
MsgDdj msgDdj = PlcDdjRead.deviceDdjMap.get(ddjCode);
|
||||
@@ -54,6 +118,7 @@ public class MonitoringThread implements Runnable {
|
||||
BasFaultRecord param = new BasFaultRecord();
|
||||
param.setTaskNo(Convert.toStr(msgDdj.getRwh()));
|
||||
param.setDeviceId(Convert.toStr(msgDdj.getId()));
|
||||
param.setJobId("0");
|
||||
List<BasFaultRecord> basFaultRecords = basFaultRecordService.selectBasFaultRecordList(param);
|
||||
if (CollUtil.isEmpty(basFaultRecords)){
|
||||
BasFaultRecord record = new BasFaultRecord();
|
||||
@@ -64,6 +129,7 @@ public class MonitoringThread implements Runnable {
|
||||
record.setTaskNo(Convert.toStr(msgDdj.getRwh()));
|
||||
record.setStartTime(DateUtil.formatDateTime(new Date()));
|
||||
record.setFault(Convert.toStr(msgDdj.getSbzt()));
|
||||
record.setJobId("0");
|
||||
basFaultRecordService.insertBasFaultRecord(record);
|
||||
}
|
||||
}
|
||||
@@ -72,13 +138,96 @@ public class MonitoringThread implements Runnable {
|
||||
BasFaultRecord param = new BasFaultRecord();
|
||||
param.setTaskNo(Convert.toStr(msgDdj.getRwh()));
|
||||
param.setDeviceId(Convert.toStr(msgDdj.getId()));
|
||||
param.setJobId("0");
|
||||
List<BasFaultRecord> basFaultRecords = basFaultRecordService.selectBasFaultRecordList(param);
|
||||
if (CollUtil.isNotEmpty(basFaultRecords)){
|
||||
BasFaultRecord record = basFaultRecords.get(0);
|
||||
record.setJobId("1");
|
||||
record.setFinishTime(DateUtil.formatDateTime(new Date()));
|
||||
basFaultRecordService.updateBasFaultRecord(record);
|
||||
}
|
||||
}
|
||||
/*
|
||||
private String getZt(int value) {
|
||||
|
||||
if (value == 0) {
|
||||
return "待机";
|
||||
} else if (value == 1) {
|
||||
return "工作";
|
||||
} else if (value == 1031) {
|
||||
return "急停";
|
||||
} else if (value == 1032) {
|
||||
return "货叉不在中位";
|
||||
} else if (value == 1033) {
|
||||
return "行走变频报警";
|
||||
} else if (value == 1034) {
|
||||
return "升降变频报警";
|
||||
} else if (value == 1035) {
|
||||
return "货叉变频报警";
|
||||
} else if (value == 1036) {
|
||||
return "货叉变频报警";
|
||||
} else if (value == 1037) {
|
||||
return "运行限位故障";
|
||||
} else if (value == 1038) {
|
||||
return "升降限位故障";
|
||||
} else if (value == 1039) {
|
||||
return "运行不能纠偏";
|
||||
} else if (value == 1040) {
|
||||
return "升降不能纠偏";
|
||||
} else if (value == 1041) {
|
||||
return "水平测距出错";
|
||||
} else if (value == 1042) {
|
||||
return "垂直BPS出错";
|
||||
} else if (value == 1043) {
|
||||
return "超速保护";
|
||||
} else if (value == 1044) {
|
||||
return "前边超宽";
|
||||
} else if (value == 1045) {
|
||||
return "后边超宽";
|
||||
} else if (value == 1046) {
|
||||
return "左边歪斜";
|
||||
} else if (value == 1047) {
|
||||
return "右边歪斜";
|
||||
} else if (value == 1048) {
|
||||
return "超高1";
|
||||
} else if (value == 1049) {
|
||||
return "超高2";
|
||||
} else if (value == 1050) {
|
||||
return "放货完毕货叉有货";
|
||||
} else if (value == 1051) {
|
||||
return "取货时货叉有货";
|
||||
} else if (value == 1052) {
|
||||
return "放货目标有货";
|
||||
} else if (value == 1053) {
|
||||
return "取货完毕无货";
|
||||
} else if (value == 1054) {
|
||||
return "放货时货叉无货";
|
||||
} else if (value == 1055) {
|
||||
return "货叉动作超时";
|
||||
} else if (value == 1056) {
|
||||
return "货叉不能纠偏";
|
||||
} else if (value == 1057) {
|
||||
return "微升降超时";
|
||||
} else if (value == 1058) {
|
||||
return "松绳过载";
|
||||
} else if (value == 1059) {
|
||||
return "设定超限";
|
||||
} else if (value == 1060) {
|
||||
return "取双伸时单伸有货";
|
||||
} else if (value == 1061) {
|
||||
return "放双伸时单伸有货";
|
||||
} else if (value == 1062) {
|
||||
return "入库输送机任务不符";
|
||||
} else if (value == 1063) {
|
||||
return "安全门打开";
|
||||
} else if (value == 9999) {
|
||||
return "设备未联机";
|
||||
}else{
|
||||
return "未知";
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
}
|
||||
Thread.sleep(1500);
|
||||
} catch (Exception e) {
|
||||
|
||||
Reference in New Issue
Block a user