Commit 37298b2d zshaohui

1.功能优化

1 个父辈 c5b0a79c
......@@ -182,66 +182,28 @@ public class DeviceController {
}
for (DataLog dataLog : taskService.getQueueTasks()) {
// if(!dataLog.isPackageReel()){
//判断是否有正在执行的任务
if (dataLog.isCheckOutTask()) {
String cid = dataLog.getCid();
Storage storage = dataCache.getStorage(cid);
if (storage != null && storage.isXLC()) {
if (cids.contains(cid)) {
resultMap.put("result", "100");
errorMsg = "有正在执行的出库任务";
resultMap.put("msg", errorMsg);
return resultMap;
}
}
}
//已经在任务当中,返回对应的信息
if (dataLog.getBarcode().equals(barcode.getBarcode())) {
throw new ValidateException("smfcore.error.barcode.executing","条码[{0}}]任务正在执行",new String[]{barcode.getBarcode()});
/*if (dataLog.isPutInTask()) {
//已有入库任务
errorMsg = "物料[" + dataLog.getBarcode() + "]已有入库任务,需继续执行入库动作";
resultMap.put("pos", dataLog.getPosName());
resultMap.put("barcode", barcode.getBarcode());
resultMap.put("cid", dataLog.getCid());
return resultMap;
} else {
//已有出库任务
errorMsg = "物料[" + dataLog.getBarcode() + "]已有出库任务,需继续执行出库动作";
resultMap.put("result", "98");
resultMap.put("msg", errorMsg);
resultMap.put("posId", dataLog.getPosName());
resultMap.put("plateW", barcode.getPlateSize());
resultMap.put("plateH", barcode.getHeight());
resultMap.put("singleOut", dataLog.isSingleOut() + "");
//紧急料
resultMap.put("urgentReel", dataLog.isUrgentReel() + "");
//需要分盘,进入分盘料
resultMap.put("cutReel", dataLog.isCutReel() + "");
resultMap.put("rfid", "");
resultMap.put("realRfid", "");
resultMap.put("rfidLoc", "");
// resultMap.put("rfid", dataLog.getTempRfid());
// resultMap.put("realRfid",dataLog.getAppendInfo().getRfid());
// resultMap.put("rfidLoc", dataLog.getAppendInfo().getRfidLoc() + "");
resultMap.put("barcode", dataLog.getBarcode());
boolean smallReel = barcode.isSmallReel();
resultMap.put("smallReel", smallReel + "");
return resultMap;
}*/
// }
}
}
StoragePos pos = taskService.findEmptyPosForPutIn(storageList, barcode, rfid, lastPosId);
if (pos != null) {
// Storage storage = dataCache.getStorageById(pos.getStorageId());
// if(!storage.isPackage()){
// //不是包装仓,如果所在料仓有出库任务,暂停入库
// Collection<DataLog> tasks = taskService.getQueueTasks();
// for (DataLog task : tasks) {
// if(task.isCheckOutTask() && task.getStorageId().equals(pos.getStorageId())){
// errorMsg = "库位["+ pos.getPosName() + "]所在料仓有出库任务,暂停入库";
// lineMsg = errorMsg;
// resultMap.put("result","99");
// resultMap.put("msg",errorMsg);
// return resultMap;
// }
// }
// }
Storage theStorage = dataCache.getStorageById(pos.getStorageId());
resultMap.put("result", "0");
......
......@@ -35,6 +35,7 @@ import org.springframework.stereotype.Service;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
/**
* Created by sunke on 2021/7/12.
......@@ -381,7 +382,10 @@ public class LiteOrderCache {
//其他出库模式一次性全部生成任务
for (LiteOrderItem orderItem : cacheOrder.getOrderItems()) {
List<LiteOrderItem> orderItems = cacheOrder.getOrderItems();
//根据站位号 进行排序
orderItems = orderItems.stream().sorted(Comparator.comparing(LiteOrderItem::getSlotNum)).collect(Collectors.toList());
for (LiteOrderItem orderItem : orderItems) {
orderItem.setOutNum(0);
orderItem.setOutReelCount(0);
liteOrderItemManager.save(orderItem);
......@@ -482,7 +486,7 @@ public class LiteOrderCache {
}
}
}
//cacheOrder.setOrderItems(orderItems);
cacheOrder.setTaskReelCount(taskReelCount);
cacheOrder.setTotalTaskReelCount(cacheOrder.getTotalTaskReelCount()+taskReelCount);
log.info("工单[" + orderNo + "]任务分配结束,任务数[" + taskReelCount + "]");
......
......@@ -23,6 +23,7 @@ import com.neotel.smfcore.core.order.LiteOrderCache;
import com.neotel.smfcore.core.order.service.manager.ILiteOrderManager;
import com.neotel.smfcore.core.order.service.po.LiteOrder;
import com.neotel.smfcore.core.order.service.po.LiteOrderItem;
import com.neotel.smfcore.core.storage.enums.DeviceType;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.storage.service.po.StoragePos;
......@@ -233,6 +234,10 @@ public class MaterialBoxController {
CodeBean codeBean = codeResolve.resolveSingleCode(newCodeStr);
if (codeBean.isValid()) {
Barcode subBarcode = codeBean.getBarcode();
//如果物料的pn是2位,则提示扫描错误
if(subBarcode.getPartNumber().length() <= 2){
throw new ValidateException("smfcore.error.barcode.wrongLength", "条码[{0}]长度错误", new String[]{operageStr});
}
StoragePos pos = storagePosManager.getByBarcode(subBarcode.getBarcode());
if (pos != null) {
throw new ValidateException("smfcore.materialBox.inPos", "物料已在库位{0}中", new String[]{pos.getPosName()});
......@@ -586,8 +591,18 @@ public class MaterialBoxController {
task.setCid(pidBarcode.getPartNumber());
// task.setStorageId(storage.getId());
Storage storage = null;
for (Storage stor : dataCache.getAllStorage().values()) {
if (stor.isXLC()){
storage = stor;
break;
}
}
if (storage == null) {
task.setStorageName(pidBarcode.getBarcode());
} else {
task.setStorageName(storage.getName());
}
// task.setPosId(operatePos.getId());
task.setPosName(pidBarcode.getBarcode());
task.setOperator(SecurityUtils.getLoginUsername());
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!