This commit is contained in:
张怡蓉
2025-12-12 14:34:15 +08:00
parent 0843a48f2d
commit 2444a839e7
2 changed files with 63 additions and 23 deletions

View File

@@ -46,9 +46,6 @@ public class Floor2InOutSsjThread implements Runnable {
ssjCodes.add("L1001"); ssjCodes.add("L1001");
ssjCodes.add("L1003"); ssjCodes.add("L1003");
ssjCodeList.put("inout", ssjCodes); ssjCodeList.put("inout", ssjCodes);
ssjCodes.add("L1001");
ssjCodes.add("L1003");
ssjCodeList.put("sm", ssjCodes);
apiService = SpringUtils.getBean(IApiService.class); apiService = SpringUtils.getBean(IApiService.class);
agvQueueService = SpringUtils.getBean(IAgvQueueService.class); agvQueueService = SpringUtils.getBean(IAgvQueueService.class);
mydoJobService = SpringUtils.getBean(IMydoJobService.class); mydoJobService = SpringUtils.getBean(IMydoJobService.class);
@@ -69,6 +66,7 @@ public class Floor2InOutSsjThread implements Runnable {
try { try {
if (PlcSsjRead.deviceSsjMap.containsKey(ssjCode)) { if (PlcSsjRead.deviceSsjMap.containsKey(ssjCode)) {
inDispatch(PlcSsjRead.deviceSsjMap.get(ssjCode)); inDispatch(PlcSsjRead.deviceSsjMap.get(ssjCode));
inDispatch1(PlcSsjRead.deviceSsjMap.get(ssjCode));
} else { } else {
log.error("设备不存在 ssjCode{}", ssjCode); log.error("设备不存在 ssjCode{}", ssjCode);
} }
@@ -78,19 +76,7 @@ public class Floor2InOutSsjThread implements Runnable {
} }
break; break;
case "sm":
//入库扫码
for (String ssjCode : ssjCodeList.get(type)) {
try {
if (PlcSsjRead.deviceSsjMap.containsKey(ssjCode)) {
inDispatch1(PlcSsjRead.deviceSsjMap.get(ssjCode));
} else {
log.error("设备不存在 ssjCode{}", ssjCode);
}
} catch (RuntimeException e) {
log.error(e.getMessage(), e);
}
}
} }
} }
try { try {
@@ -171,9 +157,9 @@ public class Floor2InOutSsjThread implements Runnable {
} }
public void inDispatch1(DeviceSsj ssjDevice) { public void inDispatch1(DeviceSsj ssjDevice) {
//有入库请求就肯定是电气的任务号的作业,如果有正执行的出库作业退回 //有入库请求就肯定是电气的任务号的作业
if(StrUtil.isNotBlank(ssjDevice.getTrayCode()) && ssjDevice.getRkqq()==1 && ssjDevice.getTaskNo()<=1000){ if(StrUtil.isNotBlank(ssjDevice.getTrayCode()) && ssjDevice.getRkqq()==1 && ssjDevice.getTaskNo()<1000){
//,如果有正执行的出库作业退回
MydoJob mydoJobParam = new MydoJob(); MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setInOut("2"); mydoJobParam.setInOut("2");
mydoJobParam.setStatus("3"); mydoJobParam.setStatus("3");
@@ -185,22 +171,19 @@ public class Floor2InOutSsjThread implements Runnable {
if (i == 1) { if (i == 1) {
log.info(ssjDevice.getDeviceCode()+"有正执行的出库作业退回" ); log.info(ssjDevice.getDeviceCode()+"有正执行的出库作业退回" );
} }
return; return;
} }
MydoJob mydoJob = new MydoJob(); MydoJob mydoJob = new MydoJob();
mydoJob.setInOrOut("1"); mydoJob.setInOrOut("1");
// mydoJob.setStatus("1"); // mydoJob.setStatus("1");
String[] split = ssjDevice.getTrayCode().split(" "); String[] split = ssjDevice.getTrayCode().split(" ");
String serial = split[2].substring(7); String serial = split[2].substring(7);
mydoJob.setTrayCode(serial); mydoJob.setTrayCode(serial);
mydoJob.setFlag("1"); mydoJob.setEntranceId(ssjDevice.getDeviceCode());
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(mydoJob); List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(mydoJob);
if(!mydoJobs.isEmpty()){ if(!mydoJobs.isEmpty()){
MydoJob mydoJob1 = mydoJobs.get(0); MydoJob mydoJob1 = mydoJobs.get(0);
int i = writeToSsj(ssjDevice.getPlcDbWriteAddress(),mydoJob1.getTaskNo(),1,1); int i = writeToSsj(ssjDevice.getPlcDbWriteAddress(),mydoJob1.getTaskNo(),1,1);
if (i == 1) { if (i == 1) {
mydoJob1.setExecutionPhase(TASK_EP_SSJ); mydoJob1.setExecutionPhase(TASK_EP_SSJ);
@@ -214,6 +197,8 @@ public class Floor2InOutSsjThread implements Runnable {
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("trayCode",ssjDevice.getTrayCode()); map.put("trayCode",ssjDevice.getTrayCode());
map.put("entranceId",ssjDevice.getDeviceCode()); map.put("entranceId",ssjDevice.getDeviceCode());
map.put("size", ssjDevice.getTraySize());
map.put("floor", "2");
AjaxResult ajaxResult = apiService.selectMydoJobByTrayCodeAndEntranceId(map); AjaxResult ajaxResult = apiService.selectMydoJobByTrayCodeAndEntranceId(map);
if(ajaxResult.isSuccess()){ if(ajaxResult.isSuccess()){
MydoJob mydoJob2 = BeanUtil.toBean(ajaxResult.get("data"), MydoJob.class) ; MydoJob mydoJob2 = BeanUtil.toBean(ajaxResult.get("data"), MydoJob.class) ;
@@ -239,6 +224,57 @@ public class Floor2InOutSsjThread implements Runnable {
} }
}
if(StrUtil.isBlank(ssjDevice.getTrayCode()) && ssjDevice.getRkqq()==1 && ssjDevice.getTaskNo()<1000){
MydoJob mydoJob1 = new MydoJob();
mydoJob1.setInOrOut("1");
mydoJob1.setEntranceId(ssjDevice.getDeviceCode());
// mydoJob1.setStatus("1");
List<MydoJob> mydoJobs = mydoJobService.selectInOrOutMydoJobList(mydoJob1);
if(!mydoJobs.isEmpty()){
MydoJob mydoJob2 = mydoJobs.get(0);
int i = writeToSsj(ssjDevice.getPlcDbWriteAddress(),mydoJob2.getTaskNo(),1,1);
if (i == 1) {
mydoJob2.setExecutionPhase(TASK_EP_SSJ);
mydoJob2.setStatus("3");
mydoJobService.updateMydoJob(mydoJob2);
log.info(ssjDevice.getDeviceCode()+"输送机下发任务号成功:" + mydoJob2.getTaskNo());
}
}else{
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("size", ssjDevice.getTraySize());
paramMap.put("entranceId", ssjDevice.getDeviceCode());
AjaxResult ajaxResult = apiService.selectMydoJobByNoTrayCode(paramMap);
if(ajaxResult.isSuccess()){
MydoJob mydoJob2 = BeanUtil.toBean(ajaxResult.get("data"), MydoJob.class) ;
mydoJob2.setStatus("1");
mydoJob2.setExecutionPhase(TASK_EP_CREATE);
mydoJob2.setCreateTime(new Date());
mydoJobService.insertMydoJob(mydoJob2);
int i = writeToSsj(ssjDevice.getPlcDbWriteAddress(),mydoJob2.getTaskNo(),1,1);
if (i == 1) {
mydoJob2.setExecutionPhase(TASK_EP_SSJ);
mydoJob2.setStatus("3");
mydoJobService.updateMydoJob(mydoJob2);
log.info(ssjDevice.getDeviceCode()+"输送机下发任务号成功:" + mydoJob2.getTaskNo());
}
}else{
int i = writeToSsj(ssjDevice.getPlcDbWriteAddress(), "0", Integer.parseInt(ajaxResult.get("code").toString()), 2);
if (i == 1) {
log.info("G1005产线输送机下发错误信息成功");
}
}
}
} }
} }

View File

@@ -187,9 +187,13 @@ public class LineSsjThread implements Runnable {
//没有,请求错误接口,找作业,返回成功,//拿到正常作业,插到wcs作业表,下发给输送机任务号,覆盖任务号,shibai... //没有,请求错误接口,找作业,返回成功,//拿到正常作业,插到wcs作业表,下发给输送机任务号,覆盖任务号,shibai...
HashMap<String, Object> paramMap = new HashMap<>(); HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("size", SsjDevice.getTraySize()); paramMap.put("size", SsjDevice.getTraySize());
paramMap.put("entranceId", "G1005");
AjaxResult ajaxResult = apiService.selectMydoJobByNoTrayCode(paramMap); AjaxResult ajaxResult = apiService.selectMydoJobByNoTrayCode(paramMap);
if (ajaxResult.isSuccess()) { if (ajaxResult.isSuccess()) {
MydoJob mydoJob2 = BeanUtil.toBean(ajaxResult.get("data"), MydoJob.class); MydoJob mydoJob2 = BeanUtil.toBean(ajaxResult.get("data"), MydoJob.class);
mydoJob2.setStatus("1");
mydoJob2.setExecutionPhase("0");
mydoJob2.setCreateTime(new Date());
mydoJobService.insertMydoJob(mydoJob2); mydoJobService.insertMydoJob(mydoJob2);
int i = writeToSsj(SsjDevice.getPlcDbWriteAddress(),mydoJob2.getTaskNo(),1,1); int i = writeToSsj(SsjDevice.getPlcDbWriteAddress(),mydoJob2.getTaskNo(),1,1);
if (i == 1) { if (i == 1) {