Commit 2cb5ea7e 孙克

分配料串逻辑

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