Commit 2cb5ea7e 孙克

分配料串逻辑

1 个父辈 4c1df6bf
......@@ -2,6 +2,8 @@ package com.neotel.smfcore.custom.luxsan.factory_c.third.bean;
import lombok.Data;
import java.util.Date;
@Data
public class RawInLineMaterialLoc {
......@@ -12,4 +14,7 @@ public class RawInLineMaterialLoc {
//目的地
private String destination;
//更新时间
private Date updateTime = new Date();
}
......@@ -9,6 +9,8 @@ import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.util.Date;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
......@@ -44,6 +46,8 @@ public class RawInLineUtil {
materialLoc.setMaterial(material);
if(StringUtils.isNotEmpty(loc)){
materialLoc.setCurrentLoc(loc);
//清理其他
materialLoc.setUpdateTime(new Date());
}
if (StringUtils.isNotEmpty(destination)){
materialLoc.setDestination(destination);
......@@ -54,7 +58,7 @@ public class RawInLineUtil {
public static String getNextDestination(String material,String loc) {
updateDestinationMap(material,loc,"");
return getNextLoc(material,loc);
}
......@@ -63,11 +67,18 @@ public class RawInLineUtil {
if (destinationMap == null) {
destinationMap = new ConcurrentHashMap<>();
}
RawInLineMaterialLoc materialInfo = null;
for (RawInLineMaterialLoc materialLoc : destinationMap.values()) {
if (loc.equals(materialLoc.getCurrentLoc())){
return materialLoc.getMaterial();
//找出后更新的
if (loc.equals(materialLoc.getCurrentLoc()) && loc.equals(materialLoc.getDestination())){
if(materialInfo == null || materialLoc.getUpdateTime().after(materialInfo.getUpdateTime())){
materialInfo = materialLoc;
}
}
}
if(materialInfo != null){
return materialInfo.getMaterial();
}
return "";
}
......@@ -111,6 +122,7 @@ public class RawInLineUtil {
updateDestinationMap(material,loc,nextLoc);
return nextLoc;
}else{
updateDestinationMap(material,loc,"");
return loc;
}
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!