臂式ctu入库 流程测试
This commit is contained in:
@@ -40,9 +40,9 @@ public class AgvController extends BaseController {
|
|||||||
* @param mydoJob
|
* @param mydoJob
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("/pushOutMydoJob")
|
@PostMapping("/receiveOutMydoJob")
|
||||||
public AjaxResult PushOutMydoJob(@RequestBody MydoJob mydoJob) {
|
public AjaxResult receiveOutMydoJob(@RequestBody MydoJob mydoJob) {
|
||||||
return apiService.PushOutMydoJob(mydoJob);
|
return apiService.receiveOutMydoJob(mydoJob);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -50,9 +50,9 @@ public class AgvController extends BaseController {
|
|||||||
* @param genAgvSchedulingTaskRequest
|
* @param genAgvSchedulingTaskRequest
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("/agvMoveJob")
|
@PostMapping("/receiveAgvMoveJob")
|
||||||
public AjaxResult agvMoveJob(@RequestBody GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest) {
|
public AjaxResult receiveAgvMoveJob(@RequestBody GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest) {
|
||||||
return apiService.agvMoveJob(genAgvSchedulingTaskRequest);
|
return apiService.receiveAgvMoveJob(genAgvSchedulingTaskRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ public class GenAgvSchedulingTaskRequest {
|
|||||||
* 请求时间
|
* 请求时间
|
||||||
* 格式: “yyyy-MM-dd HH:mm:ss”
|
* 格式: “yyyy-MM-dd HH:mm:ss”
|
||||||
*/
|
*/
|
||||||
private String reqTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")).toString();
|
private String reqTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||||
/**
|
/**
|
||||||
* 客户端编号
|
* 客户端编号
|
||||||
* 客户端编号,如PDA,HCWMS等
|
* 客户端编号,如PDA,HCWMS等
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public interface IApiService
|
|||||||
* WMS出库任务推送
|
* WMS出库任务推送
|
||||||
* @param mydoJob
|
* @param mydoJob
|
||||||
*/
|
*/
|
||||||
public AjaxResult PushOutMydoJob(MydoJob mydoJob);
|
public AjaxResult receiveOutMydoJob(MydoJob mydoJob);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 取消AGV任务
|
* 取消AGV任务
|
||||||
@@ -83,7 +83,7 @@ public interface IApiService
|
|||||||
* @param genAgvSchedulingTaskRequest
|
* @param genAgvSchedulingTaskRequest
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
AjaxResult agvMoveJob(GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest);
|
AjaxResult receiveAgvMoveJob(GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest);
|
||||||
|
|
||||||
RequestLog finishMydoJob(String agvFinishUrl, String point, Map<String, Object> param);
|
RequestLog finishMydoJob(String agvFinishUrl, String point, Map<String, Object> param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -54,10 +55,15 @@ public class ApiServiceImpl implements IApiService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MydoJob requestEnter(MydoJob mydoJob) {
|
public MydoJob requestEnter(MydoJob mydoJob) {
|
||||||
RequestLog requestLog = requestLogService.getRequestLog(GET_MYDOJOB_URL, "请求入库", JSONUtil.toJsonStr(mydoJob));
|
RequestLog requestLog = requestLogService.getRequestLog(REQUEST_ENTER, "请求入库", JSONUtil.toJsonStr(mydoJob));
|
||||||
String responseBody = requestLog.getResponseBody();
|
if ("1".equals(requestLog.getIsSuccessful())) {
|
||||||
InterfaceReceive bean = JSONUtil.toBean(responseBody, InterfaceReceive.class);
|
String responseBody = requestLog.getResponseBody();
|
||||||
return JSONUtil.toBean(JSONUtil.toJsonStr(bean.getData()), MydoJob.class);
|
InterfaceReceive bean = JSONUtil.toBean(responseBody, InterfaceReceive.class);
|
||||||
|
return JSONUtil.toBean(JSONUtil.toJsonStr(bean.getData()), MydoJob.class);
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -78,7 +84,7 @@ public class ApiServiceImpl implements IApiService {
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public AgvCallbackResponse agvCallback(AgvCallbackRequest request) {
|
public AgvCallbackResponse agvCallback(AgvCallbackRequest request) {
|
||||||
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(request), "AGV任务执行通知");
|
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(request), "AGV任务执行通知");
|
||||||
requestLog.setRequestUrl("http://10.214.18.61:8089/external/log/outStockJob");
|
//requestLog.setRequestUrl("http://10.214.18.61:8089/external/log/outStockJob");
|
||||||
AgvCallbackResponse response = new AgvCallbackResponse(0, "成功", "");
|
AgvCallbackResponse response = new AgvCallbackResponse(0, "成功", "");
|
||||||
try {
|
try {
|
||||||
agvCallbackInfo(request);
|
agvCallbackInfo(request);
|
||||||
@@ -97,12 +103,12 @@ public class ApiServiceImpl implements IApiService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult agvMoveJob(GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest) {
|
public AjaxResult receiveAgvMoveJob(GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest) {
|
||||||
//todo 生成agvQueue队列
|
//todo 生成agvQueue队列
|
||||||
AgvQueue agvQueue = new AgvQueue();
|
AgvQueue agvQueue = new AgvQueue();
|
||||||
agvQueueService.insertAgvQueue(agvQueue);
|
agvQueueService.insertAgvQueue(agvQueue);
|
||||||
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = genAgvSchedulingTask(genAgvSchedulingTaskRequest);
|
GenAgvSchedulingTaskResponse genAgvSchedulingTaskResponse = genAgvSchedulingTask(genAgvSchedulingTaskRequest);
|
||||||
if (genAgvSchedulingTaskResponse.getCode() == 0){
|
if (genAgvSchedulingTaskResponse.getCode() == 0) {
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
return AjaxResult.error(genAgvSchedulingTaskResponse.getMessage());
|
return AjaxResult.error(genAgvSchedulingTaskResponse.getMessage());
|
||||||
@@ -141,55 +147,52 @@ public class ApiServiceImpl implements IApiService {
|
|||||||
Map<String, Object> param = new HashMap<>();
|
Map<String, Object> param = new HashMap<>();
|
||||||
|
|
||||||
param.put("wmsType", agvQueue.getWmsTaskType());
|
param.put("wmsType", agvQueue.getWmsTaskType());
|
||||||
if ("1".equals(agvQueue.getWmsTaskType()) || "2".equals(agvQueue.getWmsTaskType())){
|
|
||||||
//通知wms 任务结束
|
|
||||||
MydoJob mydoJobParam = new MydoJob();
|
|
||||||
mydoJobParam.setTaskNo(agvQueue.getWmsTaskNo());
|
|
||||||
mydoJobParam.setTrayCode(agvQueue.getWmsTraycode());
|
|
||||||
List<MydoJob> mydoJobList = getMydoJobList(mydoJobParam);
|
|
||||||
if (CollUtil.isNotEmpty(mydoJobList)) {
|
|
||||||
MydoJob mydoJob = mydoJobList.get(0);
|
|
||||||
param.put("taskNo", agvQueue.getWmsTaskNo());
|
|
||||||
param.put("trayCode", agvQueue.getWmsTraycode());
|
|
||||||
if (Convert.toInt(mydoJob.getInOrOut()) < 20) {
|
|
||||||
//入库任务 暂无特殊逻辑
|
|
||||||
RequestLog requestLog = requestLogService.getRequestLog(AGV_FINISH_URL, "agv任务完成", JSONUtil.toJsonStr(param));
|
|
||||||
if ("1".equals(requestLog.getIsSuccessful())){
|
|
||||||
//插入历史
|
|
||||||
agvQueueService.insertHistory(agvQueue.getReqCode());
|
|
||||||
//删除队列
|
|
||||||
agvQueueService.deleteAgvQueueByReqCode(agvQueue.getReqCode());
|
|
||||||
log.info("【AGV入库任务结束】任务号:{}", taskCode);
|
|
||||||
|
|
||||||
}
|
if ("1".equals(agvQueue.getWmsTaskType())) {
|
||||||
} else {
|
param.put("taskNo", agvQueue.getWmsTaskNo());
|
||||||
//写入对应的plc 任务号
|
param.put("trayCode", agvQueue.getWmsTraycode());
|
||||||
DeviceSsj deviceSsj = PlcRead.deviceMap.get(mydoJob.getExitId());
|
//入库任务 暂无特殊逻辑
|
||||||
if (ObjUtil.isNotNull(deviceSsj)){
|
RequestLog requestLog = requestLogService.getRequestLog(AGV_FINISH_URL, "agv任务完成", JSONUtil.toJsonStr(param));
|
||||||
SendData rwh = new SendData(Tools.DINT, mydoJob.getTaskNo());
|
if ("1".equals(requestLog.getIsSuccessful())) {
|
||||||
byte[] bytes = Tools.sendData(rwh);
|
agvQueue.setFinishTime(DateUtil.formatDateTime(new Date()));
|
||||||
//写入信息 取货完成
|
agvQueueService.updateAgvQueue(agvQueue);
|
||||||
int i = PlcRead.WriteToSSJ(deviceSsj.getPlcDbWriteAddress(), bytes);
|
//插入历史
|
||||||
if (i==1){
|
agvQueueService.insertHistory(agvQueue.getReqCode());
|
||||||
//插入历史
|
//删除队列
|
||||||
agvQueueService.insertHistory(agvQueue.getReqCode());
|
agvQueueService.deleteAgvQueueByReqCode(agvQueue.getReqCode());
|
||||||
//删除队列
|
log.info("【AGV入库任务结束】任务号:{}", taskCode);
|
||||||
agvQueueService.deleteAgvQueueByReqCode(agvQueue.getReqCode());
|
|
||||||
log.info("【AGV出库任务结束】任务号:{}", taskCode);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
log.info("【AGV任务结束】任务号:{},wms不存在对应的作业", taskCode);
|
|
||||||
}
|
}
|
||||||
}else if ("3".equals(agvQueue.getWmsTaskType())){
|
} else if ("2".equals(agvQueue.getWmsTaskType())) {
|
||||||
|
//通知wms 任务结束
|
||||||
|
param.put("taskNo", agvQueue.getWmsTaskNo());
|
||||||
|
param.put("trayCode", agvQueue.getWmsTraycode());
|
||||||
|
//写入对应的plc 任务号
|
||||||
|
DeviceSsj deviceSsj = PlcRead.deviceMap.get(agvQueue.getPositionCode2());
|
||||||
|
if (ObjUtil.isNotNull(deviceSsj)) {
|
||||||
|
SendData rwh = new SendData(Tools.DINT, agvQueue.getWmsTaskNo());
|
||||||
|
byte[] bytes = Tools.sendData(rwh);
|
||||||
|
//写入信息 取货完成
|
||||||
|
int i = PlcRead.WriteToSSJ(deviceSsj.getPlcDbWriteAddress(), bytes);
|
||||||
|
if (i == 1) {
|
||||||
|
agvQueue.setFinishTime(DateUtil.formatDateTime(new Date()));
|
||||||
|
agvQueueService.updateAgvQueue(agvQueue);
|
||||||
|
//插入历史
|
||||||
|
agvQueueService.insertHistory(agvQueue.getReqCode());
|
||||||
|
//删除队列
|
||||||
|
agvQueueService.deleteAgvQueueByReqCode(agvQueue.getReqCode());
|
||||||
|
log.info("【AGV出库任务结束】任务号:{}", taskCode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if ("3".equals(agvQueue.getWmsTaskType())) {
|
||||||
param.put("positionCode1", agvQueue.getPositionCode1());
|
param.put("positionCode1", agvQueue.getPositionCode1());
|
||||||
param.put("positionCode2", agvQueue.getPositionCode2());
|
param.put("positionCode2", agvQueue.getPositionCode2());
|
||||||
param.put("containerCode", agvQueue.getWmsTraycode());
|
param.put("containerCode", agvQueue.getWmsTraycode());
|
||||||
|
|
||||||
//绑定点位和料架
|
//绑定点位和料架
|
||||||
RequestLog requestLog = requestLogService.getRequestLog(AGV_FINISH_URL, "agv任务完成", JSONUtil.toJsonStr(param));
|
RequestLog requestLog = requestLogService.getRequestLog(AGV_FINISH_URL, "agv任务完成", JSONUtil.toJsonStr(param));
|
||||||
if ("1".equals(requestLog.getIsSuccessful())){
|
if ("1".equals(requestLog.getIsSuccessful())) {
|
||||||
//插入历史
|
//插入历史
|
||||||
agvQueueService.insertHistory(agvQueue.getReqCode());
|
agvQueueService.insertHistory(agvQueue.getReqCode());
|
||||||
//删除队列
|
//删除队列
|
||||||
@@ -226,7 +229,7 @@ public class ApiServiceImpl implements IApiService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult PushOutMydoJob(MydoJob mydoJob) {
|
public AjaxResult receiveOutMydoJob(MydoJob mydoJob) {
|
||||||
AgvQueue agvQueue = new AgvQueue();
|
AgvQueue agvQueue = new AgvQueue();
|
||||||
String reqCode = IdUtil.fastSimpleUUID();
|
String reqCode = IdUtil.fastSimpleUUID();
|
||||||
agvQueue.setReqCode(reqCode);
|
agvQueue.setReqCode(reqCode);
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ public class RequestLogServiceImpl implements IRequestLogService
|
|||||||
* @return requestLog
|
* @return requestLog
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public RequestLog getRequestLog(String url, String param, String endPoint) {
|
public RequestLog getRequestLog(String url, String endPoint,String param) {
|
||||||
RequestLog requestLog = new RequestLog();
|
RequestLog requestLog = new RequestLog();
|
||||||
Date requestTime = new Date();
|
Date requestTime = new Date();
|
||||||
requestLog.setRequestTime(DateUtil.format(requestTime, "yyyy-MM-dd HH:mm:ss"));
|
requestLog.setRequestTime(DateUtil.format(requestTime, "yyyy-MM-dd HH:mm:ss"));
|
||||||
@@ -124,7 +124,7 @@ public class RequestLogServiceImpl implements IRequestLogService
|
|||||||
requestLog.setResponseBody(resStr);
|
requestLog.setResponseBody(resStr);
|
||||||
InterfaceReceive bean = JSONUtil.toBean(resStr, InterfaceReceive.class);
|
InterfaceReceive bean = JSONUtil.toBean(resStr, InterfaceReceive.class);
|
||||||
Date responseTime =new Date();
|
Date responseTime =new Date();
|
||||||
if (bean.getCode() == 0) {
|
if (bean.getCode() == 200) {
|
||||||
requestLog.setResponseTime(DateUtil.format(responseTime, "yyyy-MM-dd HH:mm:ss"));
|
requestLog.setResponseTime(DateUtil.format(responseTime, "yyyy-MM-dd HH:mm:ss"));
|
||||||
requestLog.setResponseStatus("1");
|
requestLog.setResponseStatus("1");
|
||||||
requestLog.setDuration(Convert.toStr(DateUtil.between(requestTime, responseTime, DateUnit.MS)));
|
requestLog.setDuration(Convert.toStr(DateUtil.between(requestTime, responseTime, DateUnit.MS)));
|
||||||
|
|||||||
@@ -19,9 +19,10 @@ public class Constant {
|
|||||||
public static final String BASEURL_AGV = BASEURL + "/rcms-dps/rest/queryAgvStatus/";
|
public static final String BASEURL_AGV = BASEURL + "/rcms-dps/rest/queryAgvStatus/";
|
||||||
|
|
||||||
|
|
||||||
public static final String GET_MYDOJOB_URL = "http://127.0.0.1:8081/rcms-dps/rest/queryAgvStatus/";
|
public static final String GET_MYDOJOB_URL = "http://localhost:8080/api2wms/inJob";
|
||||||
|
public static final String REQUEST_ENTER = "http://localhost:8080/api2wms/requestEnter";
|
||||||
public static final String UPDATE_MYDOJOB_URL = "http://127.0.0.1:8081/rcms-dps/rest/queryAgvStatus/";
|
public static final String UPDATE_MYDOJOB_URL = "http://127.0.0.1:8081/rcms-dps/rest/queryAgvStatus/";
|
||||||
public static final String AGV_FINISH_URL = "http://127.0.0.1:8081/rcms-dps/rest/queryAgvStatus/";
|
public static final String AGV_FINISH_URL = "http://localhost:8080/api2wms/jobFinish";
|
||||||
public static final String CONTINUE_TASK_URL = "http://127.0.0.1:8081/rcms-dps/rest/queryAgvStatus/";
|
public static final String CONTINUE_TASK_URL = "http://127.0.0.1:8081/rcms-dps/rest/queryAgvStatus/";
|
||||||
public static final String CANCEL_TASK_URL = "http://127.0.0.1:8081/rcms-dps/rest/queryAgvStatus/";
|
public static final String CANCEL_TASK_URL = "http://127.0.0.1:8081/rcms-dps/rest/queryAgvStatus/";
|
||||||
public static final String GEN_AGV_SCHEDULING_TASK = "http://127.0.0.1:8081/rcms-dps/rest/queryAgvStatus/";
|
public static final String GEN_AGV_SCHEDULING_TASK = "http://127.0.0.1:8081/rcms-dps/rest/queryAgvStatus/";
|
||||||
|
|||||||
@@ -78,15 +78,15 @@ public class ScheduleThread {
|
|||||||
//臂式入库线程调度
|
//臂式入库线程调度
|
||||||
bsInSsjThread.getThread().start();
|
bsInSsjThread.getThread().start();
|
||||||
//剪式入库线程调度
|
//剪式入库线程调度
|
||||||
jsInSsjThread.getThread().start();
|
//jsInSsjThread.getThread().start();
|
||||||
//臂式出库线程调度
|
//臂式出库线程调度
|
||||||
bsOutSsjThread.getThread().start();
|
//bsOutSsjThread.getThread().start();
|
||||||
//剪式出库线程调度
|
//剪式出库线程调度
|
||||||
jsOutSsjThread.getThread().start();
|
//jsOutSsjThread.getThread().start();
|
||||||
//臂式出库到位线程调度-wms电子屏交互
|
//臂式出库到位线程调度-wms电子屏交互
|
||||||
bsPickSsjThread.getThread().start();
|
//bsPickSsjThread.getThread().start();
|
||||||
//剪上出库到位线程调度-wms电子屏交互
|
//剪上出库到位线程调度-wms电子屏交互
|
||||||
jsPickSsjThread.getThread().start();
|
//jsPickSsjThread.getThread().start();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -226,7 +226,7 @@ public class PlcRead implements Runnable {
|
|||||||
break;
|
break;
|
||||||
case "G1003":
|
case "G1003":
|
||||||
// 处理 G1003
|
// 处理 G1003
|
||||||
readAddress = "DB501." + baseOffset;
|
readAddress = "DB501.0";
|
||||||
writeAddress = "";
|
writeAddress = "";
|
||||||
break;
|
break;
|
||||||
case "G1009":
|
case "G1009":
|
||||||
@@ -479,7 +479,7 @@ public class PlcRead implements Runnable {
|
|||||||
ssjDevice.setDw(ParseUtil.optInt(2, ddsx1));
|
ssjDevice.setDw(ParseUtil.optInt(2, ddsx1));
|
||||||
ssjDevice.setRkqq(ParseUtil.optInt(4, ddsx1));
|
ssjDevice.setRkqq(ParseUtil.optInt(4, ddsx1));
|
||||||
ssjDevice.setTaskNo(ParseUtil.optDInt(6, ddsx1));
|
ssjDevice.setTaskNo(ParseUtil.optDInt(6, ddsx1));
|
||||||
ssjDevice.setTrayCode(ParseUtil.optString(10, ddsx1));
|
ssjDevice.setTrayCode(ParseUtil.optString(12, ddsx1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,10 +61,10 @@ public class BsInSsjThread implements Runnable {
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
init();
|
init();
|
||||||
while (isRun){
|
while (isRun) {
|
||||||
for (String type : ssjCodeList.keySet()) {
|
for (String type : ssjCodeList.keySet()) {
|
||||||
|
|
||||||
switch ( type){
|
switch (type) {
|
||||||
case "ssjIn":
|
case "ssjIn":
|
||||||
//正常入库
|
//正常入库
|
||||||
for (String ssjCode : ssjCodeList.get(type)) {
|
for (String ssjCode : ssjCodeList.get(type)) {
|
||||||
@@ -75,7 +75,7 @@ public class BsInSsjThread implements Runnable {
|
|||||||
log.error("设备不存在 ssjCode{}", ssjCode);
|
log.error("设备不存在 ssjCode{}", ssjCode);
|
||||||
}
|
}
|
||||||
} catch (RuntimeException e) {
|
} catch (RuntimeException e) {
|
||||||
log.error(e.getMessage(),e);
|
log.error(e.getMessage(), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -84,9 +84,9 @@ public class BsInSsjThread implements Runnable {
|
|||||||
//流利架 空料箱入库
|
//流利架 空料箱入库
|
||||||
for (String lljCode : ssjCodeList.get(type)) {
|
for (String lljCode : ssjCodeList.get(type)) {
|
||||||
try {
|
try {
|
||||||
inLljDispatch(lljCode);
|
//inLljDispatch(lljCode);
|
||||||
} catch (RuntimeException e) {
|
} catch (RuntimeException e) {
|
||||||
log.error(e.getMessage(),e);
|
log.error(e.getMessage(), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -105,6 +105,7 @@ public class BsInSsjThread implements Runnable {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 流利架空料箱入库
|
* 流利架空料箱入库
|
||||||
|
*
|
||||||
* @param lljCode
|
* @param lljCode
|
||||||
*/
|
*/
|
||||||
private void inLljDispatch(String lljCode) {
|
private void inLljDispatch(String lljCode) {
|
||||||
@@ -136,8 +137,8 @@ public class BsInSsjThread implements Runnable {
|
|||||||
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 ("6".equals(mydoJob.getExecutionPhase())) {
|
||||||
@@ -148,27 +149,26 @@ public class BsInSsjThread implements Runnable {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 输送线入库
|
* 输送线入库
|
||||||
|
*
|
||||||
* @param inSsjDevice
|
* @param inSsjDevice
|
||||||
*/
|
*/
|
||||||
public void inDispatch(DeviceSsj inSsjDevice) {
|
public void inDispatch(DeviceSsj inSsjDevice) {
|
||||||
//如果入库请求1 并且 托盘码不为空
|
//如果入库请求1 并且 托盘码不为空
|
||||||
if (inSsjDevice.getRkqq() == 1 && StrUtil.isNotEmpty(inSsjDevice.getTrayCode())) {
|
if (inSsjDevice.getRkqq() == 1 && StrUtil.isNotEmpty(inSsjDevice.getTrayCode())) {
|
||||||
//根据入口,查询对应的入库作业
|
//判断是否生成队列
|
||||||
MydoJob mydoJobParam = new MydoJob();
|
AgvQueue agvQueueParam = new AgvQueue();
|
||||||
mydoJobParam.setStatus("1");
|
agvQueueParam.setWmsTraycode(inSsjDevice.getTrayCode());
|
||||||
mydoJobParam.setTrayCode(inSsjDevice.getTrayCode());
|
agvQueueParam.setStatus("0");
|
||||||
MydoJob mydoJob = apiService.requestEnter(mydoJobParam);
|
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueueParam);
|
||||||
if (ObjUtil.isNotNull(mydoJob) && !"6".equals(mydoJob.getExecutionPhase())){
|
if (CollUtil.isEmpty(agvQueues)) {
|
||||||
//通知wms 当前料箱的入库口
|
//根据入口,查询对应的入库作业
|
||||||
mydoJob.setEntranceId(inSsjDevice.getDeviceCode());
|
MydoJob mydoJobParam = new MydoJob();
|
||||||
apiService.updateMydoJob(mydoJob);
|
mydoJobParam.setStatus("1");
|
||||||
//判断是否生成队列
|
mydoJobParam.setTrayCode(inSsjDevice.getTrayCode());
|
||||||
AgvQueue agvQueueParam = new AgvQueue();
|
mydoJobParam.setEntranceId(inSsjDevice.getDeviceCode());
|
||||||
agvQueueParam.setWmsTaskNo(mydoJob.getTaskNo());
|
MydoJob mydoJob = apiService.requestEnter(mydoJobParam);
|
||||||
agvQueueParam.setPositionCode1(inSsjDevice.getDeviceCode());
|
if (ObjUtil.isNotNull(mydoJob)) {
|
||||||
agvQueueParam.setStatus("0");
|
|
||||||
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueueParam);
|
|
||||||
if (CollUtil.isEmpty(agvQueues)) {
|
|
||||||
//生成agv队列
|
//生成agv队列
|
||||||
AgvQueue agvQueue = createAgvQueue(inSsjDevice.getDeviceCode(), mydoJob);
|
AgvQueue agvQueue = createAgvQueue(inSsjDevice.getDeviceCode(), mydoJob);
|
||||||
//请求任务生成
|
//请求任务生成
|
||||||
@@ -179,13 +179,11 @@ public class BsInSsjThread implements Runnable {
|
|||||||
agvQueue.setStatus("1");
|
agvQueue.setStatus("1");
|
||||||
agvQueueService.updateAgvQueue(agvQueue);
|
agvQueueService.updateAgvQueue(agvQueue);
|
||||||
log.info("向CTU下入库库作业");
|
log.info("向CTU下入库库作业");
|
||||||
//修改mydoJob执行阶段
|
|
||||||
mydoJob.setExecutionPhase("6");
|
|
||||||
apiService.updateMydoJob(mydoJob);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -200,6 +198,7 @@ public class BsInSsjThread implements Runnable {
|
|||||||
//生成ctu执行队列
|
//生成ctu执行队列
|
||||||
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");
|
||||||
@@ -215,6 +214,8 @@ public class BsInSsjThread implements Runnable {
|
|||||||
agvQueue.setWmsTraycode(mydoJob.getTrayCode());
|
agvQueue.setWmsTraycode(mydoJob.getTrayCode());
|
||||||
agvQueue.setWmsTaskNo(mydoJob.getTaskNo());
|
agvQueue.setWmsTaskNo(mydoJob.getTaskNo());
|
||||||
agvQueue.setStatus("0");
|
agvQueue.setStatus("0");
|
||||||
|
agvQueue.setTaskCode(taskCode);
|
||||||
|
agvQueue.setWmsTaskType("1");
|
||||||
agvQueueService.insertAgvQueue(agvQueue);
|
agvQueueService.insertAgvQueue(agvQueue);
|
||||||
return agvQueue;
|
return agvQueue;
|
||||||
}
|
}
|
||||||
@@ -239,6 +240,8 @@ public class BsInSsjThread implements Runnable {
|
|||||||
genAgvSchedulingTaskRequest.setGroupId(mydoJob.getTaskNo());
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="wmsTaskNo != null">wms_task_no,</if>
|
<if test="wmsTaskNo != null">wms_task_no,</if>
|
||||||
<if test="status != null">status,</if>
|
<if test="status != null">status,</if>
|
||||||
<if test="taskCode != null">task_code,</if>
|
<if test="taskCode != null">task_code,</if>
|
||||||
|
<if test="wmsTaskType != null">wms_task_type,</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="reqCode != null">#{reqCode},</if>
|
<if test="reqCode != null">#{reqCode},</if>
|
||||||
@@ -100,6 +101,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="wmsTaskNo != null">#{wmsTaskNo},</if>
|
<if test="wmsTaskNo != null">#{wmsTaskNo},</if>
|
||||||
<if test="status != null">#{status},</if>
|
<if test="status != null">#{status},</if>
|
||||||
<if test="taskCode != null">#{taskCode},</if>
|
<if test="taskCode != null">#{taskCode},</if>
|
||||||
|
<if test="wmsTaskType != null">#{wmsTaskType},</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="insertHistory">
|
<insert id="insertHistory">
|
||||||
|
|||||||
@@ -114,8 +114,10 @@ public class SecurityConfig
|
|||||||
requests.antMatchers("/login", "/register", "/captchaImage").permitAll()
|
requests.antMatchers("/login", "/register", "/captchaImage").permitAll()
|
||||||
// 静态资源,可匿名访问
|
// 静态资源,可匿名访问
|
||||||
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
||||||
.antMatchers("/swagger-ui.html","/changeLanguage", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**","/pda/**").permitAll()
|
.antMatchers("/swagger-ui.html", "/changeLanguage", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**", "/pda/**").permitAll()
|
||||||
.antMatchers("/device/api/**").permitAll()
|
.antMatchers("/device/api/**").permitAll()
|
||||||
|
.antMatchers("/device/operation/**").permitAll()
|
||||||
|
.antMatchers("/agv/api/**").permitAll()
|
||||||
// 除上面外的所有请求全部需要鉴权认证
|
// 除上面外的所有请求全部需要鉴权认证
|
||||||
.anyRequest().authenticated();
|
.anyRequest().authenticated();
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user