Commit 7390c53d zshaohui

增加流水线接口

1 个父辈 fb6559c8
......@@ -35,12 +35,14 @@ import com.neotel.smfcore.custom.luxsan.factory_c.rawstor.bean.TicketReturn;
import com.neotel.smfcore.custom.luxsan.factory_c.rawstor.bean.TicketTransfer;
import com.neotel.smfcore.custom.luxsan.factory_c.rawstor.bean.dto.ValidBin;
import com.neotel.smfcore.custom.luxsan.factory_c.rawstor.enums.LiteorderCheckType;
import com.neotel.smfcore.custom.luxsan.factory_c.rawstor.enums.TaskCurrentLoc;
import com.neotel.smfcore.custom.luxsan.factory_c.rawstor.util.BinCacheUtil;
import com.neotel.smfcore.custom.luxsan.factory_c.rawstor.util.BoxHandleUtil;
import com.neotel.smfcore.custom.luxsan.factory_c.rawstor.util.MaterialUtil;
import com.neotel.smfcore.custom.luxsan.factory_c.common.util.CacheNameUtil;
import com.neotel.smfcore.custom.luxsan.factory_c.common.util.CommonUtil;
import com.neotel.smfcore.custom.luxsan.factory_c.third.util.MaterialLocUtil;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.util.TaskLocUtil;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -748,6 +750,30 @@ public class CDeviceController {
if (validBin == null){
return ResultBean.newErrorResult(-1,"",stackerId+"未找到可用料箱");
}
//判断AGV是上的料箱有几个
int count = 0;
List<DataLog> allTasks = taskService.getAllTasks();
for (DataLog dataLog : allTasks) {
if (dataLog.isCheckOutTask() && (dataLog.getStatus().equals(OP_STATUS.WAIT.name()))
|| dataLog.getStatus().equals(OP_STATUS.EXECUTING.name())
|| dataLog.getStatus().equals(OP_STATUS.OUT_ON_AGV.name())) {
if (TaskCurrentLoc.In1_FeedingInlet.equals(dataLog.getLoc())
|| TaskCurrentLoc.In2_FeedingInlet.equals(dataLog.getLoc())
|| TaskCurrentLoc.In_FeedingInlet.equals(dataLog.getLoc())) {
count = count + 1;
}
}
}
if (count < 4) {
try {
log.info("AGV上的料箱数量小于4,呼叫一个空料箱出来");
String materialSize = MaterialUtil.getMaterialSize(stackerId);
BoxHandleUtil.callEmptyBox(materialSize, TaskCurrentLoc.In_FeedingInlet, stackerBarcode.getWarehouseCode(), new ArrayList<>());
} catch (Exception e) {
log.info("呼叫空箱报错:" + e.getMessage());
}
}
return ResultBean.newOkResult(validBin);
}
......
......@@ -214,9 +214,9 @@ public class ManualGrPutInController {
for (DataLog dataLog : taskList) {
if (posName.equals(dataLog.getPosName())) {
if (!dataLog.isFinished() && !dataLog.isCancel()) {
if (dataLog.isPutInTask()) {
return ResultBean.newOkResult(dataLog);
}
//if (dataLog.isPutInTask()) {
return ResultBean.newErrorResult(-1,"",posName+"有正在执行的任务,请确认");
//}
}
}
}
......@@ -226,7 +226,8 @@ public class ManualGrPutInController {
if (boxStr.startsWith(dataLog.getBarcode())) {
if (!dataLog.isFinished() && !dataLog.isCancel()) {
if (dataLog.isPutInTask()) {
return ResultBean.newOkResult(dataLog);
//return ResultBean.newOkResult(dataLog);
return ResultBean.newErrorResult(-1,"",boxStr+"有正在执行的入库任务,请确认");
} else {
log.info(boxStr + "有正在执行的出库任务,服务器更改状态为完成");
dataLog.setStatus(OP_STATUS.FINISHED.name());
......
......@@ -53,7 +53,7 @@ public class AgvDeviceController {
public List<DataLog> getPutInTask() {
List<DataLog> dataLogList = new ArrayList<>();
for (DataLog dataLog : taskService.getAllTasks()) {
if (dataLog.isPutInTask() && dataLog.isWait()) {
if (dataLog.isPutInTask() && (dataLog.isWait() || dataLog.isExecuting())) {
dataLogList.add(dataLog);
}
}
......
......@@ -41,6 +41,7 @@ import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.util.TaskLocUtil;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings;
import org.ehcache.impl.internal.concurrent.ConcurrentHashMap;
......@@ -99,12 +100,12 @@ public class LineController {
//1.解析条码
Barcode barcode = codeResolve.resolveOneValideBarcode("=2x2="+boxId);
if (barcode == null) {
log.info(barcode.getBarcode()+"绑定人工作业或者砍单回库作业,不进行校验");
return ResultBean.newErrorResult(-1, "smfcore.error.barcode.invalid", "条码无效");
}
//如果是人工作业 直接返回ok
if (ManualWorkUtil.bindManualWork(barcode.getBarcode()) || ManualWorkUtil.bindShipCancelUpShelf(barcode.getBarcode())) {
log.info(barcode.getBarcode()+"绑定人工作业或者砍单回库作业,不进行校验");
return ResultBean.newOkResult("");
}
......@@ -262,7 +263,7 @@ public class LineController {
List<DataLog> allTasks = taskService.getAllTasks();
for (DataLog task : allTasks) {
if (task.isCheckOutTask() && barcode.getBarcode().equals(task.getBarcode())) {
log.info(boxId+"任务需要改成FINISHED");
log.info(boxId+"任务需要改成OUT_ON_LINE");
dataLog = task;
break;
}
......@@ -280,7 +281,7 @@ public class LineController {
soureId = dataLog.getSourceId();
sourceName = dataLog.getSourceName();
if (!dataLog.isFinished()){
dataLog.setStatus(OP_STATUS.FINISHED.name());
dataLog.setStatus(OP_STATUS.OUT_ON_LINE.name());
taskService.moveTaskToFinished(dataLog);
taskService.updateFinishedTask(dataLog);
}
......@@ -289,7 +290,7 @@ public class LineController {
List<DataLog> dataLogList = taskService.getAllTasks();
for (DataLog task : dataLogList) {
if (task.isCheckOutTask() && !task.isFinished() && !task.isCancel() && !task.isPause()){
if (task.isCheckOutTask() && !task.isFinished() && !task.isCancel() && !task.isPause() && !OP_STATUS.OUT_ON_LINE.name().equals(task.getStatus())){
if (StringUtils.isEmpty(soureId)){
if (StringUtils.isEmpty(task.getSourceId())){
num = num + 1;
......@@ -417,6 +418,45 @@ public class LineController {
return ResultBean.newErrorResult(-1,"error.noTask","未找到该料箱["+boxId+"]的出库任务");
}
@ApiOperation("完成料箱任务")
@RequestMapping("/finishBoxTask")
@AnonymousAccess
public ResultBean finishBoxTask(@RequestBody Map<String, String> paramMap) {
String boxId = paramMap.get("cartonId");
log.info("完成料箱任务,箱子号为:"+boxId);
//1.解析条码
Barcode barcode = codeResolve.resolveOneValideBarcode("=2x2=" + boxId);
if (barcode == null) {
return ResultBean.newErrorResult(-1, "smfcore.error.barcode.invalid", "条码无效");
}
DataLog dataLog = null;
for (DataLog task : taskService.getAllTasks()) {
if (task.isCheckOutTask() && barcode.getBarcode().equals(task.getBarcode())){
dataLog = task;
break;
}
}
if (dataLog == null){
return ResultBean.newErrorResult(-1,"",boxId+"未找到对应的料箱任务");
}
if (!dataLog.isFinished()){
dataLog.setStatus(OP_STATUS.FINISHED.name());
taskService.moveTaskToFinished(dataLog);
taskService.updateFinishedTask(dataLog);
}
return ResultBean.newOkResult("");
}
private void finishedOutTask(DataLog queueTask){
Barcode barcode = barcodeManager.findByBarcode(queueTask.getBarcode());
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!