diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiServiceImpl.java index e3685a2..cbcf6b2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiServiceImpl.java @@ -280,9 +280,9 @@ public class ApiServiceImpl implements IApiService { agvQueue.setAgvType("AGV"); agvQueue.setPositionCode1(code1); agvQueue.setPositionCode2(code2); - agvQueue.setTaskType("A24"); + agvQueue.setTaskType("A22"); agvQueue.setCtnrType("1"); - agvQueue.setCtnrCode("0"); + agvQueue.setCtnrCode(traySize); agvQueue.setCtnrNum("0"); agvQueue.setTaskMode("0"); agvQueue.setPriority("10"); @@ -344,6 +344,7 @@ public class ApiServiceImpl implements IApiService { genAgvSchedulingTaskRequest.setPriority("10"); genAgvSchedulingTaskRequest.setTaskTyp(agvQueue.getTaskType()); genAgvSchedulingTaskRequest.setCtnrTyp(agvQueue.getCtnrType()); + genAgvSchedulingTaskRequest.setCtnrCode(agvQueue.getCtnrCode()); genAgvSchedulingTaskRequest.setTaskCode(agvQueue.getTaskCode()); List positionCodePath = new ArrayList<>(); positionCodePath.add(new PositionCodeData(agvQueue.getPositionCode1(), "05")); @@ -408,7 +409,15 @@ public class ApiServiceImpl implements IApiService { Map paramMap = new HashMap<>(); paramMap.put("reqCode", IdUtil.fastSimpleUUID()); 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"); RequestLog requestLog = requestLogService.getRequestLog(DELETE_BIN_URL, "AGV解绑容器", JSONUtil.toJsonStr(paramMap)); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/Floor2InOutSsjThread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/Floor2InOutSsjThread.java index 82712b2..83b88f3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/Floor2InOutSsjThread.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/Floor2InOutSsjThread.java @@ -93,7 +93,10 @@ public class Floor2InOutSsjThread implements Runnable { //如果输送机空闲 if (inSsjDevice.getKx() == 1) { AgvQueue agvQueue = new AgvQueue(); + + //临时处理 收到AGV取货完成,给放货输送机下发切换导向 agvQueue.setStatus("5");//请求放货 + //agvQueue.setStatus("4"); //todo 与agv对点 agvQueue.setPositionCode2(inSsjDevice.getDeviceCode()); List agvQueues = agvQueueService.selectAgvQueueList(agvQueue); @@ -114,15 +117,15 @@ public class Floor2InOutSsjThread implements Runnable { } //允许放货 - if (!agvQueues.isEmpty() && inSsjDevice.getAllowPut() == 2) { - log.info("设备:{} 位置:{} 任务号:{} 请求放货成功", inSsjDevice.getDeviceCode(), "输送线", agvQueues.get(0).getWmsTaskNo()); - AjaxResult ajaxResult = apiService.continueTask(agvQueues.get(0)); - if (ajaxResult.isSuccess()) { - log.info("下发agv允许放货成功" + agvQueues.get(0).getWmsTaskNo()); - agvQueues.get(0).setStatus("6"); - agvQueueService.updateAgvQueue(agvQueues.get(0)); - } - } +// if (!agvQueues.isEmpty() && inSsjDevice.getAllowPut() == 2) { +// log.info("设备:{} 位置:{} 任务号:{} 请求放货成功", inSsjDevice.getDeviceCode(), "输送线", agvQueues.get(0).getWmsTaskNo()); +// AjaxResult ajaxResult = apiService.continueTask(agvQueues.get(0)); +// if (ajaxResult.isSuccess()) { +// log.info("下发agv允许放货成功" + agvQueues.get(0).getWmsTaskNo()); +// agvQueues.get(0).setStatus("6"); +// agvQueueService.updateAgvQueue(agvQueues.get(0)); +// } +// } } //入库下发输送线 if (inSsjDevice.getKx() == 0 && inSsjDevice.getTaskNo() == 0) { @@ -132,6 +135,7 @@ public class Floor2InOutSsjThread implements Runnable { agvQueue.setPositionCode2(inSsjDevice.getDeviceCode()); List agvQueues = agvQueueService.selectAgvQueueList(agvQueue); if (!agvQueues.isEmpty()) { + //解绑AGV容器 apiService.deleteAgvTray(agvQueues.get(0)); if("L1001".equals(inSsjDevice.getDeviceCode())) { int i = writeToSsj("DB802.100", agvQueues.get(0).getWmsTaskNo(), 2,Integer.parseInt(agvQueues.get(0).getCtnrType())); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/LineSsjThread.java b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/LineSsjThread.java index 1821f5c..eeb3290 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/LineSsjThread.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/schedule/scheduleTask/ssj/floor2/LineSsjThread.java @@ -18,6 +18,7 @@ import com.ruoyi.schedule.plcRead.ssj.PlcSsjRead; import com.ruoyi.schedule.plcRead.util.Tools; import lombok.extern.slf4j.Slf4j; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -156,7 +157,7 @@ public class LineSsjThread implements Runnable { if ((Integer) ajaxResult.get("code") == 5) { int i = writeToSsj(SsjDevice.getPlcDbWriteAddress(), "2222", 1, 1); if (i == 1) { - log.info("G1005产线输送机下发错误信息成功"); + log.info("G1005产线输送机下发超大托盘处理成功"); } createMoveToPort(SsjDevice); } else { @@ -258,14 +259,14 @@ public class LineSsjThread implements Runnable { //查是否有队列,如果有了请求放货修改为允许放货 AgvQueue agvQueue = agvQueueService.selectAgvQueueByTaskCode(mydoJob.getJobId()); if (agvQueue != null) { - if ("3".equals(mydoJob.getStatus()) && "2".equals(agvQueue.getStatus()) && SsjDevice.getAllowPut() == 1) { - AjaxResult ajaxResult = apiService.continueTask(agvQueue); - if (ajaxResult.isSuccess()) { - log.info("给agv下发允许取货继续任务成功" + agvQueue.getWmsTaskNo()); - agvQueue.setStatus("2"); - agvQueueService.updateAgvQueue(agvQueue); - } - } +// if ("3".equals(mydoJob.getStatus()) && "2".equals(agvQueue.getStatus()) && SsjDevice.getAllowPut() == 1) { +// AjaxResult ajaxResult = apiService.continueTask(agvQueue); +// if (ajaxResult.isSuccess()) { +// log.info("给agv下发允许取货继续任务成功" + agvQueue.getWmsTaskNo()); +// agvQueue.setStatus("2"); +// agvQueueService.updateAgvQueue(agvQueue); +// } +// } if("0".equals(agvQueue.getStatus())){ apiService.requestAgvQueue(agvQueue); } @@ -293,13 +294,33 @@ public class LineSsjThread implements Runnable { if (SsjDevice.getDw() == 1 && SsjDevice.getTaskNo() == 2222 && SsjDevice.getTraySize() == 4) { AgvQueue agvQueue = agvQueueService.selectAgvQueueByWmsTask(SsjDevice.getTaskNo()); if (agvQueue != null) { - if ("2".equals(agvQueue.getStatus()) && SsjDevice.getAllowPut() == 1) { - AjaxResult ajaxResult = apiService.continueTask(agvQueue); - if (ajaxResult.isSuccess()) { - log.info("给agv下发允许取货继续任务成功" + agvQueue.getWmsTaskNo()); - agvQueue.setStatus("2"); - agvQueueService.updateAgvQueue(agvQueue); - } +// if ("2".equals(agvQueue.getStatus()) && SsjDevice.getAllowPut() == 1) { +// AjaxResult ajaxResult = apiService.continueTask(agvQueue); +// if (ajaxResult.isSuccess()) { +// log.info("给agv下发允许取货继续任务成功" + agvQueue.getWmsTaskNo()); +// agvQueue.setStatus("2"); +// agvQueueService.updateAgvQueue(agvQueue); +// } +// } + if("0".equals(agvQueue.getStatus())){ + apiService.requestAgvQueue(agvQueue); + } + }else{ + HashMap 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搬运成功!"); } } }