剪式ctu入库 流程测试
This commit is contained in:
@@ -76,8 +76,15 @@ public class ApiServiceImpl implements IApiService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GenAgvSchedulingTaskResponse genAgvSchedulingTask(GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest) {
|
public GenAgvSchedulingTaskResponse genAgvSchedulingTask(GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest) {
|
||||||
RequestLog requestLog = requestLogService.getRequestLog(GEN_AGV_SCHEDULING_TASK, JSONUtil.toJsonStr(genAgvSchedulingTaskRequest), "生成AGV任务");
|
RequestLog requestLog = requestLogService.getRequestLog(GEN_AGV_SCHEDULING_TASK, "生成AGV任务", JSONUtil.toJsonStr(genAgvSchedulingTaskRequest));
|
||||||
|
if(requestLog.getIsSuccessful().equals("1")){
|
||||||
return BeanUtil.toBean(requestLog.getResponseBody(), GenAgvSchedulingTaskResponse.class);
|
return BeanUtil.toBean(requestLog.getResponseBody(), GenAgvSchedulingTaskResponse.class);
|
||||||
|
}else {
|
||||||
|
GenAgvSchedulingTaskResponse response = new GenAgvSchedulingTaskResponse();
|
||||||
|
response.setCode(500);
|
||||||
|
response.setMessage("请求失败");
|
||||||
|
return BeanUtil.toBean(requestLog.getResponseBody(), GenAgvSchedulingTaskResponse.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -232,11 +239,16 @@ public class ApiServiceImpl implements IApiService {
|
|||||||
public AjaxResult receiveOutMydoJob(MydoJob mydoJob) {
|
public AjaxResult receiveOutMydoJob(MydoJob mydoJob) {
|
||||||
AgvQueue agvQueue = new AgvQueue();
|
AgvQueue agvQueue = new AgvQueue();
|
||||||
String reqCode = IdUtil.fastSimpleUUID();
|
String reqCode = IdUtil.fastSimpleUUID();
|
||||||
|
String taskCode = IdUtil.fastSimpleUUID();
|
||||||
agvQueue.setReqCode(reqCode);
|
agvQueue.setReqCode(reqCode);
|
||||||
agvQueue.setReqTime(DateUtil.formatDateTime(DateUtil.date()));
|
agvQueue.setReqTime(DateUtil.formatDateTime(DateUtil.date()));
|
||||||
agvQueue.setAgvType("CTU");
|
agvQueue.setAgvType("CTU");
|
||||||
agvQueue.setPositionCode1(mydoJob.getCargoSpaceId());
|
agvQueue.setPositionCode1(mydoJob.getCargoSpaceId());
|
||||||
agvQueue.setPositionCode2(mydoJob.getExitId());
|
agvQueue.setPositionCode2(mydoJob.getExitId());
|
||||||
|
agvQueue.setTaskCode(taskCode);
|
||||||
|
agvQueue.setWmsTaskType("2");
|
||||||
|
agvQueue.setWmsTraycode(mydoJob.getTrayCode());
|
||||||
|
agvQueue.setWmsTaskNo(mydoJob.getTaskNo());
|
||||||
int i = agvQueueService.insertAgvQueue(agvQueue);
|
int i = agvQueueService.insertAgvQueue(agvQueue);
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
log.info("向AGV下任务成功");
|
log.info("向AGV下任务成功");
|
||||||
|
|||||||
@@ -77,14 +77,15 @@ public class ScheduleThread {
|
|||||||
public void startAllThread2() {
|
public void startAllThread2() {
|
||||||
//臂式入库线程调度
|
//臂式入库线程调度
|
||||||
bsInSsjThread.getThread().start();
|
bsInSsjThread.getThread().start();
|
||||||
|
//臂式出库线程调度
|
||||||
|
bsOutSsjThread.getThread().start();
|
||||||
|
//臂式出库到位线程调度-wms电子屏交互
|
||||||
|
bsPickSsjThread.getThread().start();
|
||||||
//剪式入库线程调度
|
//剪式入库线程调度
|
||||||
//jsInSsjThread.getThread().start();
|
//jsInSsjThread.getThread().start();
|
||||||
//臂式出库线程调度
|
|
||||||
//bsOutSsjThread.getThread().start();
|
|
||||||
//剪式出库线程调度
|
//剪式出库线程调度
|
||||||
//jsOutSsjThread.getThread().start();
|
//jsOutSsjThread.getThread().start();
|
||||||
//臂式出库到位线程调度-wms电子屏交互
|
|
||||||
//bsPickSsjThread.getThread().start();
|
|
||||||
//剪上出库到位线程调度-wms电子屏交互
|
//剪上出库到位线程调度-wms电子屏交互
|
||||||
//jsPickSsjThread.getThread().start();
|
//jsPickSsjThread.getThread().start();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,357 +57,357 @@ public class PlcRead implements Runnable {
|
|||||||
case "G5011":
|
case "G5011":
|
||||||
// 处理 G5011
|
// 处理 G5011
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5012":
|
case "G5012":
|
||||||
// 处理 G5012
|
// 处理 G5012
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5016":
|
case "G5016":
|
||||||
// 处理 G5016
|
// 处理 G5016
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5017":
|
case "G5017":
|
||||||
// 处理 G5017
|
// 处理 G5017
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5002":
|
case "G5002":
|
||||||
// 处理 G5002
|
// 处理 G5002
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5003":
|
case "G5003":
|
||||||
// 处理 G5003
|
// 处理 G5003
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5007":
|
case "G5007":
|
||||||
// 处理 G5007
|
// 处理 G5007
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5008":
|
case "G5008":
|
||||||
// 处理 G5008
|
// 处理 G5008
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3011":
|
case "G3011":
|
||||||
// 处理 G3011
|
// 处理 G3011
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3012":
|
case "G3012":
|
||||||
// 处理 G3012
|
// 处理 G3012
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4007":
|
case "G4007":
|
||||||
// 处理 G4007
|
// 处理 G4007
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4008":
|
case "G4008":
|
||||||
// 处理 G4008
|
// 处理 G4008
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4016":
|
case "G4016":
|
||||||
// 处理 G4016
|
// 处理 G4016
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4017":
|
case "G4017":
|
||||||
// 处理 G4017
|
// 处理 G4017
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4011":
|
case "G4011":
|
||||||
// 处理 G4011
|
// 处理 G4011
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4012":
|
case "G4012":
|
||||||
// 处理 G4012
|
// 处理 G4012
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4002":
|
case "G4002":
|
||||||
// 处理 G4002
|
// 处理 G4002
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4003":
|
case "G4003":
|
||||||
// 处理 G4003
|
// 处理 G4003
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3002":
|
case "G3002":
|
||||||
// 处理 G3002
|
// 处理 G3002
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3003":
|
case "G3003":
|
||||||
// 处理 G3003
|
// 处理 G3003
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G2002":
|
case "G2002":
|
||||||
// 处理 G2002
|
// 处理 G2002
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G2003":
|
case "G2003":
|
||||||
// 处理 G2003
|
// 处理 G2003
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G1011":
|
case "G1011":
|
||||||
// 处理 G1011
|
// 处理 G1011
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3016":
|
case "G3016":
|
||||||
// 处理 G3016
|
// 处理 G3016
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3017":
|
case "G3017":
|
||||||
// 处理 G3017
|
// 处理 G3017
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3007":
|
case "G3007":
|
||||||
// 处理 G3007
|
// 处理 G3007
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3008":
|
case "G3008":
|
||||||
// 处理 G3008
|
// 处理 G3008
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G1007":
|
case "G1007":
|
||||||
// 处理 G1007
|
// 处理 G1007
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G1008":
|
case "G1008":
|
||||||
// 处理 G1008
|
// 处理 G1008
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G1005":
|
case "G1005":
|
||||||
// 处理 G1005
|
// 处理 G1005
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G1001":
|
case "G1001":
|
||||||
// 处理 G1001
|
// 处理 G1001
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G1002":
|
case "G1002":
|
||||||
// 处理 G1002
|
// 处理 G1002
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G2010":
|
case "G2010":
|
||||||
// 处理 G2010
|
// 处理 G2010
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G2011":
|
case "G2011":
|
||||||
// 处理 G2011
|
// 处理 G2011
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G1003":
|
case "G1003":
|
||||||
// 处理 G1003
|
// 处理 G1003
|
||||||
readAddress = "DB501.0";
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G1009":
|
case "G1009":
|
||||||
// 处理 G1009
|
// 处理 G1009
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G2012":
|
case "G2012":
|
||||||
// 处理 G2012
|
// 处理 G2012
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3009":
|
case "G3009":
|
||||||
// 处理 G3009
|
// 处理 G3009
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3018":
|
case "G3018":
|
||||||
// 处理 G3018
|
// 处理 G3018
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4009":
|
case "G4009":
|
||||||
// 处理 G4009
|
// 处理 G4009
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4018":
|
case "G4018":
|
||||||
// 处理 G4018
|
// 处理 G4018
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5009":
|
case "G5009":
|
||||||
// 处理 G5009
|
// 处理 G5009
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5018":
|
case "G5018":
|
||||||
// 处理 G5018
|
// 处理 G5018
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5013":
|
case "G5013":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5014":
|
case "G5014":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5015":
|
case "G5015":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5004":
|
case "G5004":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5005":
|
case "G5005":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5006":
|
case "G5006":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4013":
|
case "G4013":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4014":
|
case "G4014":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4015":
|
case "G4015":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4004":
|
case "G4004":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4005":
|
case "G4005":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4006":
|
case "G4006":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G1012":
|
case "G1012":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3004":
|
case "G3004":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3005":
|
case "G3005":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3006":
|
case "G3006":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3013":
|
case "G3013":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3014":
|
case "G3014":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3015":
|
case "G3015":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G1006":
|
case "G1006":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G2004":
|
case "G2004":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G2005":
|
case "G2005":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G2006":
|
case "G2006":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G2007":
|
case "G2007":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G2008":
|
case "G2008":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G2009":
|
case "G2009":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G1004":
|
case "G1004":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G1010":
|
case "G1010":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G2001":
|
case "G2001":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3001":
|
case "G3001":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G3010":
|
case "G3010":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4001":
|
case "G4001":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G4010":
|
case "G4010":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5001":
|
case "G5001":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
case "G5010":
|
case "G5010":
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501." + baseOffset;
|
||||||
writeAddress = "";
|
writeAddress = "DB502." + baseOffset;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
continue;
|
continue;
|
||||||
@@ -453,7 +453,7 @@ public class PlcRead implements Runnable {
|
|||||||
* @param ssjDevice
|
* @param ssjDevice
|
||||||
*/
|
*/
|
||||||
private void readPlcOtherSsj(DeviceSsj ssjDevice) {
|
private void readPlcOtherSsj(DeviceSsj ssjDevice) {
|
||||||
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("24"));
|
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("20"));
|
||||||
String ddsx1 = "0";
|
String ddsx1 = "0";
|
||||||
if (read2.IsSuccess) {
|
if (read2.IsSuccess) {
|
||||||
ddsx1 = SoftBasic.ByteToHexString(read2.Content);
|
ddsx1 = SoftBasic.ByteToHexString(read2.Content);
|
||||||
@@ -471,7 +471,7 @@ public class PlcRead implements Runnable {
|
|||||||
* @param ssjDevice
|
* @param ssjDevice
|
||||||
*/
|
*/
|
||||||
private void readPlcInSsj(DeviceSsj ssjDevice) {
|
private void readPlcInSsj(DeviceSsj ssjDevice) {
|
||||||
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("24"));
|
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("20"));
|
||||||
String ddsx1 = "0";
|
String ddsx1 = "0";
|
||||||
if (read2.IsSuccess) {
|
if (read2.IsSuccess) {
|
||||||
ddsx1 = SoftBasic.ByteToHexString(read2.Content);
|
ddsx1 = SoftBasic.ByteToHexString(read2.Content);
|
||||||
@@ -489,7 +489,7 @@ public class PlcRead implements Runnable {
|
|||||||
* @param ssjDevice
|
* @param ssjDevice
|
||||||
*/
|
*/
|
||||||
private void readPlcPickSsj(DeviceSsj ssjDevice) {
|
private void readPlcPickSsj(DeviceSsj ssjDevice) {
|
||||||
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("24"));
|
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("20"));
|
||||||
String ddsx1 = "0";
|
String ddsx1 = "0";
|
||||||
if (read2.IsSuccess) {
|
if (read2.IsSuccess) {
|
||||||
ddsx1 = SoftBasic.ByteToHexString(read2.Content);
|
ddsx1 = SoftBasic.ByteToHexString(read2.Content);
|
||||||
@@ -507,7 +507,7 @@ public class PlcRead implements Runnable {
|
|||||||
* @param ssjDevice
|
* @param ssjDevice
|
||||||
*/
|
*/
|
||||||
private void readPlcOutSsj(DeviceSsj ssjDevice) {
|
private void readPlcOutSsj(DeviceSsj ssjDevice) {
|
||||||
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("24"));
|
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("20"));
|
||||||
String ddsx1 = "0";
|
String ddsx1 = "0";
|
||||||
if (read2.IsSuccess) {
|
if (read2.IsSuccess) {
|
||||||
ddsx1 = SoftBasic.ByteToHexString(read2.Content);
|
ddsx1 = SoftBasic.ByteToHexString(read2.Content);
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public class ParseUtil {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
public static String optString(int start, String data) {
|
public static String optString(int start, String data) {
|
||||||
byte[] bytes = SoftBasic.HexStringToBytes(data.substring(start * 2, (start + 12) * 2));
|
byte[] bytes = SoftBasic.HexStringToBytes(data.substring(start * 2, (start + 7) * 2));
|
||||||
return Tools.bytetostringtool(bytes);
|
return Tools.bytetostringtool(bytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -109,23 +109,23 @@ public class BsInSsjThread implements Runnable {
|
|||||||
* @param lljCode
|
* @param lljCode
|
||||||
*/
|
*/
|
||||||
private void inLljDispatch(String lljCode) {
|
private void inLljDispatch(String lljCode) {
|
||||||
|
|
||||||
|
//判断是否生成队列
|
||||||
|
AgvQueue agvQueueParam = new AgvQueue();
|
||||||
|
agvQueueParam.setPositionCode1(lljCode);
|
||||||
|
agvQueueParam.setStatus("0");
|
||||||
|
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueueParam);
|
||||||
|
if (CollUtil.isEmpty(agvQueues)){
|
||||||
//查询流利架未开始的作业
|
//查询流利架未开始的作业
|
||||||
MydoJob mydoJobParam = new MydoJob();
|
MydoJob mydoJobParam = new MydoJob();
|
||||||
mydoJobParam.setStatus("1");
|
mydoJobParam.setStatus("1");
|
||||||
mydoJobParam.setEntranceId(lljCode);
|
mydoJobParam.setEntranceId(lljCode);
|
||||||
MydoJob mydoJob = apiService.requestEnter(mydoJobParam);
|
MydoJob mydoJob = apiService.requestEnter(mydoJobParam);
|
||||||
if (ObjUtil.isNotNull(mydoJob) && !"6".equals(mydoJob.getExecutionPhase())) {
|
if (ObjUtil.isNotNull(mydoJob)) {
|
||||||
//判断是否生成队列
|
|
||||||
AgvQueue agvQueueParam = new AgvQueue();
|
|
||||||
agvQueueParam.setWmsTaskNo(mydoJob.getTaskNo());
|
|
||||||
agvQueueParam.setPositionCode1(lljCode);
|
|
||||||
agvQueueParam.setStatus("0");
|
|
||||||
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueueParam);
|
|
||||||
if (CollUtil.isEmpty(agvQueues)) {
|
|
||||||
//生成agv队列
|
//生成agv队列
|
||||||
AgvQueue agvQueue = createAgvQueue(lljCode, mydoJob);
|
AgvQueue agvQueue = createAgvQueue(lljCode, mydoJob);
|
||||||
//请求任务生成
|
//请求任务生成
|
||||||
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = requestAgvQueue(mydoJob, agvQueue);
|
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = requestAgvQueue(agvQueue);
|
||||||
//修改wms任务状态
|
//修改wms任务状态
|
||||||
if (genAgvSchedulingTaskResponse.getCode() == 0) {
|
if (genAgvSchedulingTaskResponse.getCode() == 0) {
|
||||||
//修改ctu执行状态
|
//修改ctu执行状态
|
||||||
@@ -136,15 +136,17 @@ public class BsInSsjThread implements Runnable {
|
|||||||
mydoJob.setExecutionPhase("6");
|
mydoJob.setExecutionPhase("6");
|
||||||
apiService.updateMydoJob(mydoJob);
|
apiService.updateMydoJob(mydoJob);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (ObjUtil.isNull(mydoJob)) {
|
if (ObjUtil.isNull(mydoJob)) {
|
||||||
log.info("无入库库作业 lljCode:{}", lljCode);
|
log.info("无入库库作业 lljCode:{}", lljCode);
|
||||||
}
|
}
|
||||||
if ("6".equals(mydoJob.getExecutionPhase())) {
|
if ("3".equals(mydoJob.getStatus())) {
|
||||||
log.info("入库库作业已下发 taskNo:{}", mydoJob.getTaskNo());
|
log.info("入库库作业已下发 taskNo:{}", mydoJob.getTaskNo());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -172,7 +174,7 @@ public class BsInSsjThread implements Runnable {
|
|||||||
//生成agv队列
|
//生成agv队列
|
||||||
AgvQueue agvQueue = createAgvQueue(inSsjDevice.getDeviceCode(), mydoJob);
|
AgvQueue agvQueue = createAgvQueue(inSsjDevice.getDeviceCode(), mydoJob);
|
||||||
//请求任务生成
|
//请求任务生成
|
||||||
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = requestAgvQueue(mydoJob, agvQueue);
|
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = requestAgvQueue( agvQueue);
|
||||||
//修改wms任务状态
|
//修改wms任务状态
|
||||||
if (genAgvSchedulingTaskResponse.getCode() == 0) {
|
if (genAgvSchedulingTaskResponse.getCode() == 0) {
|
||||||
//修改ctu执行状态
|
//修改ctu执行状态
|
||||||
@@ -183,6 +185,19 @@ public class BsInSsjThread implements Runnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}else {
|
||||||
|
AgvQueue agvQueue = agvQueues.get(0);
|
||||||
|
if ("0".equals(agvQueue.getStatus())){
|
||||||
|
//请求任务生成
|
||||||
|
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = requestAgvQueue(agvQueue);
|
||||||
|
//修改wms任务状态
|
||||||
|
if (genAgvSchedulingTaskResponse.getCode() == 0) {
|
||||||
|
//修改ctu执行状态
|
||||||
|
agvQueue.setStatus("1");
|
||||||
|
agvQueueService.updateAgvQueue(agvQueue);
|
||||||
|
log.info("向CTU下入库库作业");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -223,10 +238,9 @@ public class BsInSsjThread implements Runnable {
|
|||||||
/**
|
/**
|
||||||
* 请求海康生成agv任务,并修改wms任务状态
|
* 请求海康生成agv任务,并修改wms任务状态
|
||||||
*
|
*
|
||||||
* @param mydoJob
|
|
||||||
* @param agvQueue
|
* @param agvQueue
|
||||||
*/
|
*/
|
||||||
private GenAgvSchedulingTaskResponse requestAgvQueue(MydoJob mydoJob, AgvQueue agvQueue) {
|
private GenAgvSchedulingTaskResponse requestAgvQueue(AgvQueue agvQueue) {
|
||||||
//todo 请求ctu
|
//todo 请求ctu
|
||||||
GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest = new GenAgvSchedulingTaskRequest();
|
GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest = new GenAgvSchedulingTaskRequest();
|
||||||
genAgvSchedulingTaskRequest.setReqCode(agvQueue.getReqCode());
|
genAgvSchedulingTaskRequest.setReqCode(agvQueue.getReqCode());
|
||||||
@@ -236,8 +250,7 @@ public class BsInSsjThread implements Runnable {
|
|||||||
genAgvSchedulingTaskRequest.setCtnrCode("0");
|
genAgvSchedulingTaskRequest.setCtnrCode("0");
|
||||||
genAgvSchedulingTaskRequest.setCtnrNum("0");
|
genAgvSchedulingTaskRequest.setCtnrNum("0");
|
||||||
genAgvSchedulingTaskRequest.setTaskMode("0");
|
genAgvSchedulingTaskRequest.setTaskMode("0");
|
||||||
genAgvSchedulingTaskRequest.setTaskCode(mydoJob.getTaskNo());
|
genAgvSchedulingTaskRequest.setTaskCode(agvQueue.getWmsTaskNo());
|
||||||
genAgvSchedulingTaskRequest.setGroupId(mydoJob.getTaskNo());
|
|
||||||
genAgvSchedulingTaskRequest.setAgvTyp("CTU");
|
genAgvSchedulingTaskRequest.setAgvTyp("CTU");
|
||||||
genAgvSchedulingTaskRequest.setPositionSelStrategy("0");
|
genAgvSchedulingTaskRequest.setPositionSelStrategy("0");
|
||||||
genAgvSchedulingTaskRequest.setTaskCode(agvQueue.getTaskCode());
|
genAgvSchedulingTaskRequest.setTaskCode(agvQueue.getTaskCode());
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ public class BsOutSsjThread implements Runnable {
|
|||||||
//流利架出口
|
//流利架出口
|
||||||
for (String ssjCode : ssjCodeList.get(type)) {
|
for (String ssjCode : ssjCodeList.get(type)) {
|
||||||
try {
|
try {
|
||||||
fluentOutDispatch(ssjCode);
|
//fluentOutDispatch(ssjCode);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error(e.getMessage(), e);
|
log.error(e.getMessage(), e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ package com.ruoyi.schedule.scheduleTask.ssj.bs;
|
|||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.ruoyi.api.domain.RequestLog;
|
import com.ruoyi.api.domain.RequestLog;
|
||||||
|
import com.ruoyi.bas.port.domain.WcsPort;
|
||||||
|
import com.ruoyi.bas.port.service.IWcsPortService;
|
||||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||||
import com.ruoyi.device.agv.service.IAgvQueueService;
|
import com.ruoyi.device.agv.service.IAgvQueueService;
|
||||||
import com.ruoyi.common.core.text.Convert;
|
import com.ruoyi.common.core.text.Convert;
|
||||||
@@ -31,6 +33,7 @@ public class BsPickSsjTread implements Runnable{
|
|||||||
|
|
||||||
private IApiService apiService;
|
private IApiService apiService;
|
||||||
private IAgvQueueService agvQueueService;
|
private IAgvQueueService agvQueueService;
|
||||||
|
private IWcsPortService wcsPortService;
|
||||||
|
|
||||||
public boolean isRun = true;
|
public boolean isRun = true;
|
||||||
|
|
||||||
@@ -38,13 +41,14 @@ public class BsPickSsjTread implements Runnable{
|
|||||||
public void init() {
|
public void init() {
|
||||||
ssjCodeList = new HashMap<>();
|
ssjCodeList = new HashMap<>();
|
||||||
ArrayList<String> ssjCodes = new ArrayList<>();
|
ArrayList<String> ssjCodes = new ArrayList<>();
|
||||||
ssjCodes.add("G1004");
|
ssjCodes.add("G1006");
|
||||||
ssjCodes.add("G1010");
|
ssjCodes.add("G1012");
|
||||||
ssjCodeList.put("pick", ssjCodes);
|
ssjCodeList.put("pick", ssjCodes);
|
||||||
|
|
||||||
|
|
||||||
apiService = SpringUtils.getBean(IApiService.class);
|
apiService = SpringUtils.getBean(IApiService.class);
|
||||||
agvQueueService = SpringUtils.getBean(IAgvQueueService.class);
|
agvQueueService = SpringUtils.getBean(IAgvQueueService.class);
|
||||||
|
wcsPortService = SpringUtils.getBean(IWcsPortService.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -73,10 +77,43 @@ public class BsPickSsjTread implements Runnable{
|
|||||||
|
|
||||||
public void pickDispatch(DeviceSsj pickSsjDevice) {
|
public void pickDispatch(DeviceSsj pickSsjDevice) {
|
||||||
if (pickSsjDevice.getDw() == 1 && pickSsjDevice.getTaskNo() > 0) {
|
if (pickSsjDevice.getDw() == 1 && pickSsjDevice.getTaskNo() > 0) {
|
||||||
|
WcsPort wcsPortParam = new WcsPort();
|
||||||
|
wcsPortParam.setPortCode(pickSsjDevice.getDeviceCode());
|
||||||
|
wcsPortParam.setPortType("1");
|
||||||
|
List<WcsPort> wcsPorts = wcsPortService.selectWcsPortList(wcsPortParam);
|
||||||
|
if (CollUtil.isNotEmpty(wcsPorts)){
|
||||||
|
WcsPort wcsPort = wcsPorts.get(0);
|
||||||
|
if ("0".equals(wcsPort.getStatus())){
|
||||||
Map<String, Object> param = new HashMap<>();
|
Map<String, Object> param = new HashMap<>();
|
||||||
param.put("taskNo", pickSsjDevice.getTaskNo());
|
param.put("taskNo", pickSsjDevice.getTaskNo());
|
||||||
param.put("wmsType", "2");
|
param.put("wmsType", "2");
|
||||||
|
param.put("pickSsj", pickSsjDevice.getDeviceCode());
|
||||||
RequestLog requestLog = apiService.finishMydoJob(AGV_FINISH_URL, "出库任务到达拣选口", param);
|
RequestLog requestLog = apiService.finishMydoJob(AGV_FINISH_URL, "出库任务到达拣选口", param);
|
||||||
|
if ("1".equals(requestLog.getIsSuccessful())){
|
||||||
|
wcsPort.setStatus("1");
|
||||||
|
wcsPortService.updateWcsPort(wcsPort);
|
||||||
|
}else {
|
||||||
|
log.error("任务失败{}", requestLog.getErrorDetails());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pickSsjDevice.getKx() == 1 && pickSsjDevice.getTaskNo() == 0){
|
||||||
|
WcsPort wcsPortParam = new WcsPort();
|
||||||
|
wcsPortParam.setPortCode(pickSsjDevice.getDeviceCode());
|
||||||
|
wcsPortParam.setPortType("1");
|
||||||
|
List<WcsPort> wcsPorts = wcsPortService.selectWcsPortList(wcsPortParam);
|
||||||
|
if (CollUtil.isNotEmpty(wcsPorts)){
|
||||||
|
WcsPort wcsPort = wcsPorts.get(0);
|
||||||
|
if ("1".equals(wcsPort.getStatus())){
|
||||||
|
wcsPort.setStatus("0");
|
||||||
|
wcsPortService.updateWcsPort(wcsPort);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ public class JsInSsjThread implements Runnable {
|
|||||||
//生成agv队列
|
//生成agv队列
|
||||||
AgvQueue agvQueue = createAgvQueue(inSsjDevice.getDeviceCode(), mydoJob);
|
AgvQueue agvQueue = createAgvQueue(inSsjDevice.getDeviceCode(), mydoJob);
|
||||||
//请求任务生成
|
//请求任务生成
|
||||||
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = requestAgvQueue(mydoJob, agvQueue);
|
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = requestAgvQueue(agvQueue);
|
||||||
//修改wms任务状态
|
//修改wms任务状态
|
||||||
if (genAgvSchedulingTaskResponse.getCode() == 0) {
|
if (genAgvSchedulingTaskResponse.getCode() == 0) {
|
||||||
//修改ctu执行状态
|
//修改ctu执行状态
|
||||||
@@ -118,6 +118,19 @@ public class JsInSsjThread implements Runnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}else {
|
||||||
|
AgvQueue agvQueue = agvQueues.get(0);
|
||||||
|
if ("0".equals(agvQueue.getStatus())){
|
||||||
|
//请求任务生成
|
||||||
|
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = requestAgvQueue(agvQueue);
|
||||||
|
//修改wms任务状态
|
||||||
|
if (genAgvSchedulingTaskResponse.getCode() == 0) {
|
||||||
|
//修改ctu执行状态
|
||||||
|
agvQueue.setStatus("1");
|
||||||
|
agvQueueService.updateAgvQueue(agvQueue);
|
||||||
|
log.info("向CTU下入库库作业");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -158,10 +171,9 @@ public class JsInSsjThread implements Runnable {
|
|||||||
/**
|
/**
|
||||||
* 请求海康生成agv任务,并修改wms任务状态
|
* 请求海康生成agv任务,并修改wms任务状态
|
||||||
*
|
*
|
||||||
* @param mydoJob
|
|
||||||
* @param agvQueue
|
* @param agvQueue
|
||||||
*/
|
*/
|
||||||
private GenAgvSchedulingTaskResponse requestAgvQueue(MydoJob mydoJob, AgvQueue agvQueue) {
|
private GenAgvSchedulingTaskResponse requestAgvQueue(AgvQueue agvQueue) {
|
||||||
//todo 请求ctu
|
//todo 请求ctu
|
||||||
GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest = new GenAgvSchedulingTaskRequest();
|
GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest = new GenAgvSchedulingTaskRequest();
|
||||||
genAgvSchedulingTaskRequest.setReqCode(agvQueue.getReqCode());
|
genAgvSchedulingTaskRequest.setReqCode(agvQueue.getReqCode());
|
||||||
@@ -171,10 +183,10 @@ public class JsInSsjThread implements Runnable {
|
|||||||
genAgvSchedulingTaskRequest.setCtnrCode("0");
|
genAgvSchedulingTaskRequest.setCtnrCode("0");
|
||||||
genAgvSchedulingTaskRequest.setCtnrNum("0");
|
genAgvSchedulingTaskRequest.setCtnrNum("0");
|
||||||
genAgvSchedulingTaskRequest.setTaskMode("0");
|
genAgvSchedulingTaskRequest.setTaskMode("0");
|
||||||
genAgvSchedulingTaskRequest.setTaskCode(mydoJob.getTaskNo());
|
genAgvSchedulingTaskRequest.setTaskCode(agvQueue.getWmsTaskNo());
|
||||||
genAgvSchedulingTaskRequest.setGroupId(mydoJob.getTaskNo());
|
|
||||||
genAgvSchedulingTaskRequest.setAgvTyp("CTU");
|
genAgvSchedulingTaskRequest.setAgvTyp("CTU");
|
||||||
genAgvSchedulingTaskRequest.setPositionSelStrategy("0");
|
genAgvSchedulingTaskRequest.setPositionSelStrategy("0");
|
||||||
|
genAgvSchedulingTaskRequest.setTaskCode(agvQueue.getTaskCode());
|
||||||
return apiService.genAgvSchedulingTask(genAgvSchedulingTaskRequest);
|
return apiService.genAgvSchedulingTask(genAgvSchedulingTaskRequest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,7 +91,8 @@ public class JsOutSsjThread implements Runnable{
|
|||||||
* @param outSsjDevice
|
* @param outSsjDevice
|
||||||
*/
|
*/
|
||||||
public void ssjOutDispatch(DeviceSsj outSsjDevice) {
|
public void ssjOutDispatch(DeviceSsj outSsjDevice) {
|
||||||
//查询对应的作业 请求ctu生成对应任务单执行
|
if (outSsjDevice.getKx()==1){
|
||||||
|
//查询对应的作业
|
||||||
AgvQueue agvQueue = new AgvQueue();
|
AgvQueue agvQueue = new AgvQueue();
|
||||||
agvQueue.setPositionCode2(outSsjDevice.getDeviceCode());
|
agvQueue.setPositionCode2(outSsjDevice.getDeviceCode());
|
||||||
agvQueue.setStatus("0");
|
agvQueue.setStatus("0");
|
||||||
@@ -101,7 +102,6 @@ public class JsOutSsjThread implements Runnable{
|
|||||||
MydoJob mydoJobParam = new MydoJob();
|
MydoJob mydoJobParam = new MydoJob();
|
||||||
mydoJobParam.setTaskNo(queue.getWmsTaskNo());
|
mydoJobParam.setTaskNo(queue.getWmsTaskNo());
|
||||||
mydoJobParam.setTrayCode(queue.getWmsTraycode());
|
mydoJobParam.setTrayCode(queue.getWmsTraycode());
|
||||||
mydoJobParam.setCargoSpaceId(queue.getPositionCode1());
|
|
||||||
List<MydoJob> mydoJobList = apiService.getMydoJobList(mydoJobParam);
|
List<MydoJob> mydoJobList = apiService.getMydoJobList(mydoJobParam);
|
||||||
if (CollUtil.isNotEmpty(mydoJobList)){
|
if (CollUtil.isNotEmpty(mydoJobList)){
|
||||||
MydoJob mydoJob = mydoJobList.get(0);
|
MydoJob mydoJob = mydoJobList.get(0);
|
||||||
@@ -113,27 +113,6 @@ public class JsOutSsjThread implements Runnable{
|
|||||||
}else {
|
}else {
|
||||||
log.info("ssjCode:{},没有待下发的出库任务", outSsjDevice.getDeviceCode());
|
log.info("ssjCode:{},没有待下发的出库任务", outSsjDevice.getDeviceCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
//输送线出库
|
|
||||||
if (outSsjDevice.getKx()==1){
|
|
||||||
AgvQueue agvQueue1 = new AgvQueue();
|
|
||||||
agvQueue1.setPositionCode2(outSsjDevice.getDeviceCode());
|
|
||||||
agvQueue1.setRequest("1");
|
|
||||||
List<AgvQueue> agvQueueList1 = agvQueueService.selectAgvQueueList(agvQueue1);
|
|
||||||
if (CollUtil.isNotEmpty(agvQueueList1)){
|
|
||||||
for (AgvQueue queue : agvQueueList1) {
|
|
||||||
if ("1".equals(queue.getRequest())){
|
|
||||||
//todo 放入继续任务的参数
|
|
||||||
ContinueTaskRequest continueTaskRequest = new ContinueTaskRequest();
|
|
||||||
ContinueTaskResponse continueTaskResponse = apiService.continueTask(continueTaskRequest);
|
|
||||||
if (continueTaskResponse.getCode()==0){
|
|
||||||
//更新任务单状态
|
|
||||||
agvQueue1.setRequest("2");
|
|
||||||
agvQueueService.updateAgvQueue(agvQueue1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollUtil;
|
|||||||
import com.ruoyi.api.domain.RequestLog;
|
import com.ruoyi.api.domain.RequestLog;
|
||||||
import com.ruoyi.api.domain.wcs2wms.MydoJob;
|
import com.ruoyi.api.domain.wcs2wms.MydoJob;
|
||||||
import com.ruoyi.api.service.IApiService;
|
import com.ruoyi.api.service.IApiService;
|
||||||
|
import com.ruoyi.bas.port.domain.WcsPort;
|
||||||
|
import com.ruoyi.bas.port.service.IWcsPortService;
|
||||||
import com.ruoyi.common.core.text.Convert;
|
import com.ruoyi.common.core.text.Convert;
|
||||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||||
import com.ruoyi.device.agv.service.IAgvQueueService;
|
import com.ruoyi.device.agv.service.IAgvQueueService;
|
||||||
@@ -30,6 +32,8 @@ public class JsPickSsjTread implements Runnable {
|
|||||||
|
|
||||||
private IApiService apiService;
|
private IApiService apiService;
|
||||||
private IAgvQueueService agvQueueService;
|
private IAgvQueueService agvQueueService;
|
||||||
|
private IWcsPortService wcsPortService;
|
||||||
|
|
||||||
|
|
||||||
public boolean isRun = true;
|
public boolean isRun = true;
|
||||||
|
|
||||||
@@ -54,6 +58,8 @@ public class JsPickSsjTread implements Runnable {
|
|||||||
|
|
||||||
apiService = SpringUtils.getBean(IApiService.class);
|
apiService = SpringUtils.getBean(IApiService.class);
|
||||||
agvQueueService = SpringUtils.getBean(IAgvQueueService.class);
|
agvQueueService = SpringUtils.getBean(IAgvQueueService.class);
|
||||||
|
wcsPortService = SpringUtils.getBean(IWcsPortService.class);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -82,10 +88,43 @@ public class JsPickSsjTread implements Runnable {
|
|||||||
|
|
||||||
public void pickDispatch(DeviceSsj pickSsjDevice) {
|
public void pickDispatch(DeviceSsj pickSsjDevice) {
|
||||||
if (pickSsjDevice.getDw() == 1 && pickSsjDevice.getTaskNo() > 0) {
|
if (pickSsjDevice.getDw() == 1 && pickSsjDevice.getTaskNo() > 0) {
|
||||||
|
WcsPort wcsPortParam = new WcsPort();
|
||||||
|
wcsPortParam.setPortCode(pickSsjDevice.getDeviceCode());
|
||||||
|
wcsPortParam.setPortType("1");
|
||||||
|
List<WcsPort> wcsPorts = wcsPortService.selectWcsPortList(wcsPortParam);
|
||||||
|
if (CollUtil.isNotEmpty(wcsPorts)){
|
||||||
|
WcsPort wcsPort = wcsPorts.get(0);
|
||||||
|
if ("0".equals(wcsPort.getStatus())){
|
||||||
Map<String, Object> param = new HashMap<>();
|
Map<String, Object> param = new HashMap<>();
|
||||||
param.put("taskNo", pickSsjDevice.getTaskNo());
|
param.put("taskNo", pickSsjDevice.getTaskNo());
|
||||||
param.put("wmsType", "2");
|
param.put("wmsType", "2");
|
||||||
|
param.put("pickSsj", pickSsjDevice.getDeviceCode());
|
||||||
RequestLog requestLog = apiService.finishMydoJob(AGV_FINISH_URL, "出库任务到达拣选口", param);
|
RequestLog requestLog = apiService.finishMydoJob(AGV_FINISH_URL, "出库任务到达拣选口", param);
|
||||||
|
if ("1".equals(requestLog.getIsSuccessful())){
|
||||||
|
wcsPort.setStatus("1");
|
||||||
|
wcsPortService.updateWcsPort(wcsPort);
|
||||||
|
}else {
|
||||||
|
log.error("任务失败{}", requestLog.getErrorDetails());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pickSsjDevice.getKx() == 1 && pickSsjDevice.getTaskNo() == 0){
|
||||||
|
WcsPort wcsPortParam = new WcsPort();
|
||||||
|
wcsPortParam.setPortCode(pickSsjDevice.getDeviceCode());
|
||||||
|
wcsPortParam.setPortType("1");
|
||||||
|
List<WcsPort> wcsPorts = wcsPortService.selectWcsPortList(wcsPortParam);
|
||||||
|
if (CollUtil.isNotEmpty(wcsPorts)){
|
||||||
|
WcsPort wcsPort = wcsPorts.get(0);
|
||||||
|
if ("1".equals(wcsPort.getStatus())){
|
||||||
|
wcsPort.setStatus("0");
|
||||||
|
wcsPortService.updateWcsPort(wcsPort);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"name": "ruoyi",
|
"name": "FLRD",
|
||||||
"version": "3.8.9",
|
"version": "3.8.9",
|
||||||
"description": "若依管理系统",
|
"description": "FORTUCKY WCS SYSTEM",
|
||||||
"author": "若依",
|
"author": "FLRD",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vue-cli-service serve",
|
"dev": "vue-cli-service serve",
|
||||||
|
|||||||
Reference in New Issue
Block a user