臂式ctu入库 流程测试

This commit is contained in:
liuhanqing
2025-07-16 16:02:25 +08:00
parent 570509f61c
commit 5cebe0369c
11 changed files with 108 additions and 97 deletions

View File

@@ -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);
} }
} }

View File

@@ -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等

View File

@@ -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);
} }

View File

@@ -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);

View File

@@ -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)));

View File

@@ -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/";

View File

@@ -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();
} }
/** /**

View File

@@ -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));
} }
} }

View File

@@ -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);
} }
} }

View File

@@ -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">

View File

@@ -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();
}) })