产线输送机
This commit is contained in:
@@ -13,7 +13,6 @@ public class Constant {
|
|||||||
public static final String GEN_AGV_SCHEDULING_TASK = RCS_BASE_URL+"genAgvSchedulingTask";;
|
public static final String GEN_AGV_SCHEDULING_TASK = RCS_BASE_URL+"genAgvSchedulingTask";;
|
||||||
public static final String CREATE_IN_MYDO_JOB_URL = WMS_BASE_URL+"requestEnterByTrayCode";
|
public static final String CREATE_IN_MYDO_JOB_URL = WMS_BASE_URL+"requestEnterByTrayCode";
|
||||||
public static final String REQUEST_MYDO_JOB_URL = WMS_BASE_URL+"requestByNoTrayCode";
|
public static final String REQUEST_MYDO_JOB_URL = WMS_BASE_URL+"requestByNoTrayCode";
|
||||||
|
|
||||||
public static final String RE_ASSIGN_URL = WMS_BASE_URL+"reAssign";
|
public static final String RE_ASSIGN_URL = WMS_BASE_URL+"reAssign";
|
||||||
public static final String RE_MATERIAL_URL = WMS_BASE_URL+"reMaterial";
|
public static final String RE_MATERIAL_URL = WMS_BASE_URL+"reMaterial";
|
||||||
|
|
||||||
|
|||||||
@@ -45,6 +45,11 @@ public interface MydoJobMapper
|
|||||||
*/
|
*/
|
||||||
public int updateMydoJob(MydoJob mydoJob);
|
public int updateMydoJob(MydoJob mydoJob);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按任务号查作业
|
||||||
|
*/
|
||||||
|
public MydoJob selectMydoJobByTaskNo(String taskNo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除作业信息
|
* 删除作业信息
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -98,7 +98,8 @@ public class MydoJobServiceImpl implements IMydoJobService
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MydoJob selectMydoJobByTaskNo(Long rwh) {
|
public MydoJob selectMydoJobByTaskNo(Long rwh) {
|
||||||
return null;
|
String s = String.valueOf(rwh);
|
||||||
|
return mydoJobMapper.selectMydoJobByTaskNo(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ public class Floor2InSsjThread implements Runnable {
|
|||||||
//如果输送机空闲
|
//如果输送机空闲
|
||||||
if (inSsjDevice.getKx() == 1) {
|
if (inSsjDevice.getKx() == 1) {
|
||||||
AgvQueue agvQueue = new AgvQueue();
|
AgvQueue agvQueue = new AgvQueue();
|
||||||
agvQueue.setStatus("5");
|
agvQueue.setStatus("5");//请求放货
|
||||||
agvQueue.setPositionCode2(inSsjDevice.getDeviceCode());
|
agvQueue.setPositionCode2(inSsjDevice.getDeviceCode());
|
||||||
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueue);
|
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueue);
|
||||||
//不允许放货
|
//不允许放货
|
||||||
@@ -110,6 +110,7 @@ public class Floor2InSsjThread implements Runnable {
|
|||||||
log.info("设备:{} 位置:{} 任务号:{} 请求放货成功", inSsjDevice.getDeviceCode(), "输送线", agvQueues.get(0).getTaskCode());
|
log.info("设备:{} 位置:{} 任务号:{} 请求放货成功", inSsjDevice.getDeviceCode(), "输送线", agvQueues.get(0).getTaskCode());
|
||||||
AjaxResult ajaxResult = apiService.continueTask(agvQueues.get(0));
|
AjaxResult ajaxResult = apiService.continueTask(agvQueues.get(0));
|
||||||
if(ajaxResult.isSuccess()) {
|
if(ajaxResult.isSuccess()) {
|
||||||
|
log.info("下发agv允许放货成功"+agvQueues.get(0).getWmsTaskNo());
|
||||||
agvQueues.get(0).setStatus("6");
|
agvQueues.get(0).setStatus("6");
|
||||||
agvQueueService.updateAgvQueue(agvQueues.get(0));
|
agvQueueService.updateAgvQueue(agvQueues.get(0));
|
||||||
}
|
}
|
||||||
@@ -119,7 +120,7 @@ public class Floor2InSsjThread implements Runnable {
|
|||||||
//入库下发输送线
|
//入库下发输送线
|
||||||
if(inSsjDevice.getKx()==0 && inSsjDevice.getTaskNo()==0){
|
if(inSsjDevice.getKx()==0 && inSsjDevice.getTaskNo()==0){
|
||||||
AgvQueue agvQueue = new AgvQueue();
|
AgvQueue agvQueue = new AgvQueue();
|
||||||
agvQueue.setStatus("7");
|
agvQueue.setStatus("7"); //end
|
||||||
agvQueue.setPositionCode2(inSsjDevice.getDeviceCode());
|
agvQueue.setPositionCode2(inSsjDevice.getDeviceCode());
|
||||||
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueue);
|
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueue);
|
||||||
if(agvQueues.size()!=0) {
|
if(agvQueues.size()!=0) {
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ public class Floor2OutSsjThread implements Runnable {
|
|||||||
ddjDeviceExecutionQueue.setDdjxf("0");
|
ddjDeviceExecutionQueue.setDdjxf("0");
|
||||||
ddjDeviceExecutionQueue.setMlfs(5);
|
ddjDeviceExecutionQueue.setMlfs(5);
|
||||||
ddjDeviceExecutionQueue.setScsj(DateUtil.formatDateTime(DateUtil.date()));
|
ddjDeviceExecutionQueue.setScsj(DateUtil.formatDateTime(DateUtil.date()));
|
||||||
ddjDeviceExecutionQueue.setRwlx(DDJ_RWLX_3);
|
ddjDeviceExecutionQueue.setRwlx(DDJ_RWLX_1);
|
||||||
ddjDeviceExecutionQueueService.insertDdjDeviceExecutionQueue(ddjDeviceExecutionQueue);
|
ddjDeviceExecutionQueueService.insertDdjDeviceExecutionQueue(ddjDeviceExecutionQueue);
|
||||||
|
|
||||||
mydoJob.setExecutionPhase(TASK_EP_DDJ);
|
mydoJob.setExecutionPhase(TASK_EP_DDJ);
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ public class LineSsjThread implements Runnable {
|
|||||||
} else {
|
} else {
|
||||||
//没有,请求错误接口,找作业,返回成功,//拿到正常作业,插到wcs作业表,下发给输送机任务号,覆盖任务号,shibai...
|
//没有,请求错误接口,找作业,返回成功,//拿到正常作业,插到wcs作业表,下发给输送机任务号,覆盖任务号,shibai...
|
||||||
HashMap<String, Object> paramMap = new HashMap<>();
|
HashMap<String, Object> paramMap = new HashMap<>();
|
||||||
paramMap.put("traySize", SsjDevice.getTraySize());
|
paramMap.put("size", SsjDevice.getTraySize());
|
||||||
AjaxResult ajaxResult = apiService.selectMydoJobByNoTrayCode(paramMap);
|
AjaxResult ajaxResult = apiService.selectMydoJobByNoTrayCode(paramMap);
|
||||||
if (ajaxResult.isSuccess()) {
|
if (ajaxResult.isSuccess()) {
|
||||||
MydoJob mydoJob2 = (MydoJob) ajaxResult.get("mydoJob");
|
MydoJob mydoJob2 = (MydoJob) ajaxResult.get("mydoJob");
|
||||||
@@ -188,16 +188,16 @@ public class LineSsjThread implements Runnable {
|
|||||||
|
|
||||||
if (SsjDevice.getDw() == 1 && SsjDevice.getTraySize() != 0 && StrUtil.isNotBlank(SsjDevice.getTrayCode()) && SsjDevice.getTaskNo() > 1000) {
|
if (SsjDevice.getDw() == 1 && SsjDevice.getTraySize() != 0 && StrUtil.isNotBlank(SsjDevice.getTrayCode()) && SsjDevice.getTaskNo() > 1000) {
|
||||||
|
|
||||||
log.info("设备:{} 位置:{} 条码:{} 托盘大小:{}", SsjDevice.getDeviceCode(), "产线", SsjDevice.getTrayCode(), SsjDevice.getTraySize());
|
log.info("设备:{} 位置:{} 条码:{} 托盘大小:{}", SsjDevice.getDeviceCode(), "产线收到wcs任务号", SsjDevice.getTrayCode(), SsjDevice.getTraySize());
|
||||||
//任务号查wcs作业,查巷道,看目标输送线是否空闲,查是否有出库作业,生成agv队列
|
//任务号查wcs作业,查巷道,看目标输送线是否空闲,查是否有出库作业,生成agv队列
|
||||||
|
|
||||||
MydoJob mydoJob = mydoJobService.selectMydoJobByTaskNo(Long.valueOf(SsjDevice.getTaskNo()));
|
MydoJob mydoJob = mydoJobService.selectMydoJobByTaskNo(Long.valueOf(SsjDevice.getTaskNo()));
|
||||||
String deviceCode = "";
|
String deviceCode = "";
|
||||||
if (mydoJob != null) {
|
if (mydoJob != null) {
|
||||||
if ("1".equals(mydoJob.getRoadwayId())) {
|
if ("1".equals(mydoJob.getRoadwayId())) {
|
||||||
deviceCode = "L1011";
|
|
||||||
} else {
|
|
||||||
deviceCode = "L1012";
|
deviceCode = "L1012";
|
||||||
|
} else {
|
||||||
|
deviceCode = "L1011";
|
||||||
}
|
}
|
||||||
int kx = deviceSsjMap.get(deviceCode).getKx();
|
int kx = deviceSsjMap.get(deviceCode).getKx();
|
||||||
MydoJob mydoJob1 = new MydoJob();
|
MydoJob mydoJob1 = new MydoJob();
|
||||||
@@ -205,17 +205,21 @@ public class LineSsjThread implements Runnable {
|
|||||||
mydoJob1.setStatus("3");
|
mydoJob1.setStatus("3");
|
||||||
mydoJob1.setExitId(deviceCode);
|
mydoJob1.setExitId(deviceCode);
|
||||||
List<MydoJob> mydoJob2 = mydoJobService.selectInOrOutMydoJobList(mydoJob1);
|
List<MydoJob> mydoJob2 = mydoJobService.selectInOrOutMydoJobList(mydoJob1);
|
||||||
if (mydoJob2.size() == 0 && kx == 1 && "1".equals(mydoJob.getStatus())) {
|
|
||||||
|
|
||||||
|
if (mydoJob2.size() == 0 && kx == 1) {
|
||||||
//查是否有队列,如果有了请求放货修改为允许放货
|
//查是否有队列,如果有了请求放货修改为允许放货
|
||||||
AgvQueue agvQueue = agvQueueService.selectAgvQueueByTaskCode(mydoJob.getJobId());
|
AgvQueue agvQueue = agvQueueService.selectAgvQueueByTaskCode(mydoJob.getJobId());
|
||||||
if (agvQueue != null && "1".equals(agvQueue.getStatus())) {
|
if (agvQueue != null && "1".equals(agvQueue.getStatus()) && "3".equals(mydoJob.getStatus()) ) {
|
||||||
|
|
||||||
AjaxResult ajaxResult = apiService.continueTask(agvQueue);
|
AjaxResult ajaxResult = apiService.continueTask(agvQueue);
|
||||||
if (ajaxResult.isSuccess()) {
|
if (ajaxResult.isSuccess()) {
|
||||||
|
log.info("给agv下发允许取货继续任务成功"+agvQueue.getWmsTaskNo());
|
||||||
agvQueue.setStatus("2");
|
agvQueue.setStatus("2");
|
||||||
agvQueueService.updateAgvQueue(agvQueue);
|
agvQueueService.updateAgvQueue(agvQueue);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else if("1".equals(mydoJob.getStatus()) && agvQueue==null){
|
||||||
HashMap<String, String> paramMap = new HashMap<>();
|
HashMap<String, String> paramMap = new HashMap<>();
|
||||||
paramMap.put("trayCode", mydoJob.getTrayCode());
|
paramMap.put("trayCode", mydoJob.getTrayCode());
|
||||||
paramMap.put("taskNo", mydoJob.getJobId());
|
paramMap.put("taskNo", mydoJob.getJobId());
|
||||||
|
|||||||
@@ -53,6 +53,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<include refid="selectMydoJobVo"/>
|
<include refid="selectMydoJobVo"/>
|
||||||
where job_id = #{jobId}
|
where job_id = #{jobId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectMydoJobByTaskNo" parameterType="String" resultMap="MydoJobResult">
|
||||||
|
<include refid="selectMydoJobVo"/>
|
||||||
|
where task_no = #{taskNo}
|
||||||
|
</select>
|
||||||
<select id="ddjTaskFinish" parameterType="java.util.Map" statementType="CALLABLE">
|
<select id="ddjTaskFinish" parameterType="java.util.Map" statementType="CALLABLE">
|
||||||
{call proc_mydojob_finish(
|
{call proc_mydojob_finish(
|
||||||
#{v_rwh,mode=IN,jdbcType=INTEGER},
|
#{v_rwh,mode=IN,jdbcType=INTEGER},
|
||||||
|
|||||||
Reference in New Issue
Block a user