This commit is contained in:
zj
2026-01-05 14:40:14 +08:00
parent 2b6065d72f
commit 96ee0854a6
3 changed files with 62 additions and 28 deletions

View File

@@ -280,9 +280,9 @@ public class ApiServiceImpl implements IApiService {
agvQueue.setAgvType("AGV"); agvQueue.setAgvType("AGV");
agvQueue.setPositionCode1(code1); agvQueue.setPositionCode1(code1);
agvQueue.setPositionCode2(code2); agvQueue.setPositionCode2(code2);
agvQueue.setTaskType("A24"); agvQueue.setTaskType("A22");
agvQueue.setCtnrType("1"); agvQueue.setCtnrType("1");
agvQueue.setCtnrCode("0"); agvQueue.setCtnrCode(traySize);
agvQueue.setCtnrNum("0"); agvQueue.setCtnrNum("0");
agvQueue.setTaskMode("0"); agvQueue.setTaskMode("0");
agvQueue.setPriority("10"); agvQueue.setPriority("10");
@@ -344,6 +344,7 @@ public class ApiServiceImpl implements IApiService {
genAgvSchedulingTaskRequest.setPriority("10"); genAgvSchedulingTaskRequest.setPriority("10");
genAgvSchedulingTaskRequest.setTaskTyp(agvQueue.getTaskType()); genAgvSchedulingTaskRequest.setTaskTyp(agvQueue.getTaskType());
genAgvSchedulingTaskRequest.setCtnrTyp(agvQueue.getCtnrType()); genAgvSchedulingTaskRequest.setCtnrTyp(agvQueue.getCtnrType());
genAgvSchedulingTaskRequest.setCtnrCode(agvQueue.getCtnrCode());
genAgvSchedulingTaskRequest.setTaskCode(agvQueue.getTaskCode()); genAgvSchedulingTaskRequest.setTaskCode(agvQueue.getTaskCode());
List<PositionCodeData> positionCodePath = new ArrayList<>(); List<PositionCodeData> positionCodePath = new ArrayList<>();
positionCodePath.add(new PositionCodeData(agvQueue.getPositionCode1(), "05")); positionCodePath.add(new PositionCodeData(agvQueue.getPositionCode1(), "05"));
@@ -408,7 +409,15 @@ public class ApiServiceImpl implements IApiService {
Map<String, String> paramMap = new HashMap<>(); Map<String, String> paramMap = new HashMap<>();
paramMap.put("reqCode", IdUtil.fastSimpleUUID()); paramMap.put("reqCode", IdUtil.fastSimpleUUID());
paramMap.put("ctnrTyp", agvQueue.getCtnrType()); paramMap.put("ctnrTyp", agvQueue.getCtnrType());
paramMap.put("binName", agvQueue.getPositionCode2()); paramMap.put("ctnrCode", agvQueue.getCtnrCode());
if("L1001".equals(agvQueue.getPositionCode2())){
paramMap.put("stgBinCode", "JT000307001013");
}
if("L1003".equals(agvQueue.getPositionCode2())){
paramMap.put("stgBinCode", "JT000206001013");
}
// paramMap.put("binName", agvQueue.getPositionCode2());
paramMap.put("indBind", "0"); paramMap.put("indBind", "0");
RequestLog requestLog = requestLogService.getRequestLog(DELETE_BIN_URL, "AGV解绑容器", JSONUtil.toJsonStr(paramMap)); RequestLog requestLog = requestLogService.getRequestLog(DELETE_BIN_URL, "AGV解绑容器", JSONUtil.toJsonStr(paramMap));

View File

@@ -93,7 +93,10 @@ public class Floor2InOutSsjThread implements Runnable {
//如果输送机空闲 //如果输送机空闲
if (inSsjDevice.getKx() == 1) { if (inSsjDevice.getKx() == 1) {
AgvQueue agvQueue = new AgvQueue(); AgvQueue agvQueue = new AgvQueue();
//临时处理 收到AGV取货完成,给放货输送机下发切换导向
agvQueue.setStatus("5");//请求放货 agvQueue.setStatus("5");//请求放货
//agvQueue.setStatus("4");
//todo 与agv对点 //todo 与agv对点
agvQueue.setPositionCode2(inSsjDevice.getDeviceCode()); agvQueue.setPositionCode2(inSsjDevice.getDeviceCode());
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueue); List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueue);
@@ -114,15 +117,15 @@ public class Floor2InOutSsjThread implements Runnable {
} }
//允许放货 //允许放货
if (!agvQueues.isEmpty() && inSsjDevice.getAllowPut() == 2) { // if (!agvQueues.isEmpty() && inSsjDevice.getAllowPut() == 2) {
log.info("设备:{} 位置:{} 任务号:{} 请求放货成功", inSsjDevice.getDeviceCode(), "输送线", agvQueues.get(0).getWmsTaskNo()); // log.info("设备:{} 位置:{} 任务号:{} 请求放货成功", inSsjDevice.getDeviceCode(), "输送线", agvQueues.get(0).getWmsTaskNo());
AjaxResult ajaxResult = apiService.continueTask(agvQueues.get(0)); // AjaxResult ajaxResult = apiService.continueTask(agvQueues.get(0));
if (ajaxResult.isSuccess()) { // if (ajaxResult.isSuccess()) {
log.info("下发agv允许放货成功" + agvQueues.get(0).getWmsTaskNo()); // log.info("下发agv允许放货成功" + agvQueues.get(0).getWmsTaskNo());
agvQueues.get(0).setStatus("6"); // agvQueues.get(0).setStatus("6");
agvQueueService.updateAgvQueue(agvQueues.get(0)); // agvQueueService.updateAgvQueue(agvQueues.get(0));
} // }
} // }
} }
//入库下发输送线 //入库下发输送线
if (inSsjDevice.getKx() == 0 && inSsjDevice.getTaskNo() == 0) { if (inSsjDevice.getKx() == 0 && inSsjDevice.getTaskNo() == 0) {
@@ -132,6 +135,7 @@ public class Floor2InOutSsjThread implements Runnable {
agvQueue.setPositionCode2(inSsjDevice.getDeviceCode()); agvQueue.setPositionCode2(inSsjDevice.getDeviceCode());
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueue); List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueue);
if (!agvQueues.isEmpty()) { if (!agvQueues.isEmpty()) {
//解绑AGV容器
apiService.deleteAgvTray(agvQueues.get(0)); apiService.deleteAgvTray(agvQueues.get(0));
if("L1001".equals(inSsjDevice.getDeviceCode())) { if("L1001".equals(inSsjDevice.getDeviceCode())) {
int i = writeToSsj("DB802.100", agvQueues.get(0).getWmsTaskNo(), 2,Integer.parseInt(agvQueues.get(0).getCtnrType())); int i = writeToSsj("DB802.100", agvQueues.get(0).getWmsTaskNo(), 2,Integer.parseInt(agvQueues.get(0).getCtnrType()));

View File

@@ -18,6 +18,7 @@ import com.ruoyi.schedule.plcRead.ssj.PlcSsjRead;
import com.ruoyi.schedule.plcRead.util.Tools; import com.ruoyi.schedule.plcRead.util.Tools;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
@@ -156,7 +157,7 @@ public class LineSsjThread implements Runnable {
if ((Integer) ajaxResult.get("code") == 5) { if ((Integer) ajaxResult.get("code") == 5) {
int i = writeToSsj(SsjDevice.getPlcDbWriteAddress(), "2222", 1, 1); int i = writeToSsj(SsjDevice.getPlcDbWriteAddress(), "2222", 1, 1);
if (i == 1) { if (i == 1) {
log.info("G1005产线输送机下发错误信息成功"); log.info("G1005产线输送机下发超大托盘处理成功");
} }
createMoveToPort(SsjDevice); createMoveToPort(SsjDevice);
} else { } else {
@@ -258,14 +259,14 @@ public class LineSsjThread implements Runnable {
//查是否有队列,如果有了请求放货修改为允许放货 //查是否有队列,如果有了请求放货修改为允许放货
AgvQueue agvQueue = agvQueueService.selectAgvQueueByTaskCode(mydoJob.getJobId()); AgvQueue agvQueue = agvQueueService.selectAgvQueueByTaskCode(mydoJob.getJobId());
if (agvQueue != null) { if (agvQueue != null) {
if ("3".equals(mydoJob.getStatus()) && "2".equals(agvQueue.getStatus()) && SsjDevice.getAllowPut() == 1) { // if ("3".equals(mydoJob.getStatus()) && "2".equals(agvQueue.getStatus()) && SsjDevice.getAllowPut() == 1) {
AjaxResult ajaxResult = apiService.continueTask(agvQueue); // AjaxResult ajaxResult = apiService.continueTask(agvQueue);
if (ajaxResult.isSuccess()) { // if (ajaxResult.isSuccess()) {
log.info("给agv下发允许取货继续任务成功" + agvQueue.getWmsTaskNo()); // log.info("给agv下发允许取货继续任务成功" + agvQueue.getWmsTaskNo());
agvQueue.setStatus("2"); // agvQueue.setStatus("2");
agvQueueService.updateAgvQueue(agvQueue); // agvQueueService.updateAgvQueue(agvQueue);
} // }
} // }
if("0".equals(agvQueue.getStatus())){ if("0".equals(agvQueue.getStatus())){
apiService.requestAgvQueue(agvQueue); apiService.requestAgvQueue(agvQueue);
} }
@@ -293,13 +294,33 @@ public class LineSsjThread implements Runnable {
if (SsjDevice.getDw() == 1 && SsjDevice.getTaskNo() == 2222 && SsjDevice.getTraySize() == 4) { if (SsjDevice.getDw() == 1 && SsjDevice.getTaskNo() == 2222 && SsjDevice.getTraySize() == 4) {
AgvQueue agvQueue = agvQueueService.selectAgvQueueByWmsTask(SsjDevice.getTaskNo()); AgvQueue agvQueue = agvQueueService.selectAgvQueueByWmsTask(SsjDevice.getTaskNo());
if (agvQueue != null) { if (agvQueue != null) {
if ("2".equals(agvQueue.getStatus()) && SsjDevice.getAllowPut() == 1) { // if ("2".equals(agvQueue.getStatus()) && SsjDevice.getAllowPut() == 1) {
AjaxResult ajaxResult = apiService.continueTask(agvQueue); // AjaxResult ajaxResult = apiService.continueTask(agvQueue);
if (ajaxResult.isSuccess()) { // if (ajaxResult.isSuccess()) {
log.info("给agv下发允许取货继续任务成功" + agvQueue.getWmsTaskNo()); // log.info("给agv下发允许取货继续任务成功" + agvQueue.getWmsTaskNo());
agvQueue.setStatus("2"); // agvQueue.setStatus("2");
agvQueueService.updateAgvQueue(agvQueue); // agvQueueService.updateAgvQueue(agvQueue);
} // }
// }
if("0".equals(agvQueue.getStatus())){
apiService.requestAgvQueue(agvQueue);
}
}else{
HashMap<String, String> paramMap = new HashMap<>();
String[] split = SsjDevice.getTrayCode().split(" ");
String serial = split[2].substring(7);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String taskCode = "BY" + sdf.format(new Date());
paramMap.put("trayCode", serial);
paramMap.put("taskCode",taskCode);
//todo 与agv对点
paramMap.put("startPoint", "G1005");
paramMap.put("endPoint", "");
paramMap.put("traySize", "5");
paramMap.put("wmsTaskNo", "2222");
AjaxResult ajaxResult = apiService.receiveAgvMoveJob(paramMap);
if (ajaxResult.isSuccess()) {
log.info("G1005超大托盘下发AGV搬运成功!");
} }
} }
} }