Commit 19ed1274 sunke

料架分配逻辑修改

1 个父辈 423c514e
......@@ -575,9 +575,7 @@ public class DataLog extends BaseMongoBean /*implements Comparable<DataLog>*/ {
* @return
*/
public int getReelType(){
if(isPackageReel()){
return StorageConstants.REEL_TYPE.PACKAGE;
}else if(isSmallReel()){
if(isSmallReel()){
return StorageConstants.REEL_TYPE.SMALL;
}else{
return StorageConstants.REEL_TYPE.BIG;
......
......@@ -203,76 +203,9 @@ public final class DateUtil {
}
public static void main(String args[]) throws Exception {
List<DataLog> list = new ArrayList<>();
list.add(newDataLog(14,2000));
list.add(newDataLog(14,4000));
list.add(newDataLog(2,3000));
list.add(newDataLog(2,1000));
list.add(newDataLog(2,2000));
list.add(newDataLog(2,4000));
list.add(newDataLog(3,2000));
list.add(newDataLog(1,1000));
list.add(newDataLog(1,2000));
list.add(newDataLog(1,3000));
List<DataLog> sortList = sortTailTasks(list);
sortList.sort(new Comparator<DataLog>() {
@Override
public int compare(DataLog o1, DataLog o2) {
return o1.getOutOrder() - o2.getOutOrder();
}
});
for (DataLog d : sortList) {
System.out.println("["+d.getOutOrder()+"]" +d.getAppendInfo().getSlotIndex()+ " - " + d.getNum());
}
}
/**
* 对补料任务进行出库排序
*/
private static List<DataLog> sortTailTasks(List<DataLog> tailTasks){
Multimap<Integer,DataLog> slotTaskMap = HashMultimap.create();
Set<Integer> slotSet = new HashSet<>();
for (DataLog dataLog : tailTasks) {
slotTaskMap.put(dataLog.getAppendInfo().getSlotIndex(), dataLog);
slotSet.add(dataLog.getAppendInfo().getSlotIndex());
}
List<DataLog> sortList = new ArrayList<>();
int outOrder = 0;
while(outOrder < tailTasks.size()){
for (Integer slot : slotSet) {
Collection<DataLog> slotTasks = slotTaskMap.get(slot);
DataLog maxNumtask = null;
for (DataLog slotTask : slotTasks) {
if(maxNumtask == null || slotTask.getNum() > maxNumtask.getNum()){
maxNumtask = slotTask;
}
}
if(maxNumtask != null){
outOrder = outOrder + 1;
maxNumtask.setOutOrder(outOrder);
sortList.add(maxNumtask);
slotTaskMap.remove(slot,maxNumtask);
}
}
}
return sortList;
}
private static DataLog newDataLog(int slotIndex, int num){
DataLog d1 = new DataLog();
AppendInfo appendInfo = new AppendInfo();
appendInfo.setSlotIndex(slotIndex);
d1.setAppendInfo(appendInfo);
d1.setNum(num);
return d1;
}
}
......@@ -645,6 +645,11 @@ public class StorageConstants {
public static String E = "E";
/**
* F料架1-26放小料, 27-31放大料
*/
public static String F = "F";
/**
* 带包装料架
*/
public static boolean isAShelf(String type){
......@@ -668,6 +673,12 @@ public class StorageConstants {
public static boolean isDShelf(String type){
return judgeType(type, D);
}
/**
* 混合料架
*/
public static boolean isFShelf(String type){
return judgeType(type, F);
}
public static boolean judgeType(String type, String targetType){
if(type != null && type.contains(targetType)){
......
......@@ -29,10 +29,6 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-mongodb:1.8.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:2.12.5" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.slf4j:jcl-over-slf4j:1.7.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:1.10.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-orm:4.1.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:4.1.6.RELEASE" level="project" />
......
......@@ -30,6 +30,7 @@
<build>
<finalName>smdbox</finalName>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!