Commit c47f914b 张少辉

1.回库缓存问题提交

1 个父辈 e980910b
......@@ -748,7 +748,10 @@ public class BaseDeviceHandler implements IDeviceHandler {
barcode.setInOpor(task.getOperator());
barcode.setCheckOutDate(null, "");
barcode.setPosName(task.getPosName());
if (!barcode.isNeedReturnStorage()){
task.setNeedReturnStorage(false);
barcode.setNeedReturnStorage(true);
}
if (barcode.isSolder()) {
if (storagePos.isWarmPos()) {
//回温仓位
......
......@@ -271,15 +271,25 @@ public class LiteOrderCache {
return order;
}
private Map<String,String> cacheOrderMap = new ConcurrentHashMap<>();
/**
* 更新工单状态信息
*/
private synchronized void finishedOrderTask(DataLog task) throws ValidateException {
private void finishedOrderTask(DataLog task) throws ValidateException {
if (OP.CHECKOUT == task.getType()) {
//更新工单状态
String orderNo = task.getSourceName();
if (!Strings.isNullOrEmpty(orderNo)) {
String lockObj = cacheOrderMap.get(orderNo);
if (StringUtils.isEmpty(lockObj)) {
lockObj = orderNo;
cacheOrderMap.put(orderNo, lockObj);
}
synchronized (cacheOrderMap.get(orderNo)) {
LiteOrder order = getLiteOrder(orderNo);
if (order != null) {
//任务是取消的,需要将总待出库数量-1
......@@ -360,6 +370,7 @@ public class LiteOrderCache {
}
}
}
}
//入库的时候,增加回库信息
else {
if (task.isFinished()) {
......
......@@ -268,6 +268,8 @@ public class DataLog extends BasePo implements Serializable ,Comparable<DataLog>
private String remark = "";
private boolean needReturnStorage = true;
public String getBarcode() {
if(barcode == null){
return "";
......
......@@ -89,10 +89,8 @@ public class ReturnStorageManagerImpl implements IReturnStorageManager {
if (dataLog != null) {
log.info(dataLog.getBarcode() + "找到上一个任务,对应的工单号为:" + dataLog.getStorageName() + "任务状态为:" + dataLog.getStatus() + ",上次出库的任务数量为:" + dataLog.getNum());
//判断是否需要回库
Barcode barcode = barcodeManager.findByBarcode(dataLog.getBarcode());
if (dataLog.isCheckOutTask() && dataLog.isFinished()) {
if (barcode.isNeedReturnStorage()) {
if (dataLog.isNeedReturnStorage()) {
//判断两次的partNumber是否相同,如果不同,则跳过
if (task.getPartNumber().equals(dataLog.getPartNumber())) {
String sourceId = dataLog.getSourceId();
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!