Byd_Dg_Java/youchain-system/src/test/java/com/youchain/EladminSystemApplicationTes...

140 lines
4.6 KiB
Java
Raw Normal View History

2024-05-29 18:21:05 +08:00
package com.youchain;
2024-06-24 15:58:49 +08:00
import com.youchain.basicdata.domain.BigItem;
2024-05-29 18:21:05 +08:00
import com.youchain.businessdata.domain.AgvTask;
2024-06-24 15:58:49 +08:00
import com.youchain.businessdata.domain.GdDetail;
2024-05-29 18:21:05 +08:00
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.ArrayList;
2024-06-24 15:58:49 +08:00
import java.util.Arrays;
2024-05-29 18:21:05 +08:00
import java.util.List;
2024-06-24 15:58:49 +08:00
import java.util.Map;
2024-05-29 18:21:05 +08:00
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
2024-06-24 15:58:49 +08:00
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
2024-05-29 18:21:05 +08:00
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class EladminSystemApplicationTests {
@Test
public void contextLoads() {
}
public static void main(String[] args) {
2024-06-24 15:58:49 +08:00
List<Integer> list1 = Arrays.asList();
List<Integer> list2 = Arrays.asList();
List<Integer> list3 = new ArrayList<>(list1);
list3.addAll(list2);
System.out.println(list3); // 输出: [1, 2, 3, 4, 5]
2024-05-29 18:21:05 +08:00
}
private static final int MAX_TASK_COUNT = 4;
private static final long TIMEOUT_MS = 600000; // 10分钟以毫秒为单位
private long lastTaskTime = System.currentTimeMillis();
private List<Integer> taskQueue = new ArrayList<>(MAX_TASK_COUNT);
2024-06-24 15:58:49 +08:00
void aa(){
/*double taoQty=2;//基础套数
double xTaoQty=3;//需求套数
double ckdQty=Math.ceil(xTaoQty/taoQty);//生成出库单数量
System.out.println(ckdQty);*/
GdDetail gdDetail=new GdDetail();
gdDetail.setBigItem(null);
gdDetail.setOrderType("DP");
GdDetail gdDetail2=new GdDetail();
BigItem bigItem2=new BigItem();
bigItem2.setCode("CT_001");
gdDetail2.setBigItem(bigItem2);
gdDetail2.setOrderType("CP");
gdDetail2.setBigItemQty(1d);
GdDetail gdDetail3=new GdDetail();
BigItem bigItem3=new BigItem();
bigItem3.setCode("CT_001");
gdDetail3.setBigItem(bigItem3);
gdDetail3.setOrderType("CP");
gdDetail3.setBigItemQty(2d);
GdDetail gdDetail4=new GdDetail();
BigItem bigItem4=new BigItem();
bigItem4.setCode("CT_002");
gdDetail4.setBigItem(bigItem4);
gdDetail4.setOrderType("CP");
gdDetail4.setBigItemQty(3d);
GdDetail gdDetail5=new GdDetail();
BigItem bigItem5=new BigItem();
bigItem5.setCode("CT_002");
gdDetail5.setBigItem(bigItem5);
gdDetail5.setOrderType("CP");
gdDetail5.setBigItemQty(4d);
List<GdDetail> list=new ArrayList<>();
list.add(gdDetail);
list.add(gdDetail2);
list.add(gdDetail3);
list.add(gdDetail4);
list.add(gdDetail5);
for(GdDetail gd:list){
System.out.println("总集合:"+gd);
}
List<GdDetail> cpList = list.stream()
.filter(gd -> "CP".equals(gd.getOrderType()))
.collect(Collectors.toList());
List<GdDetail> dpList = list.stream()
.filter(gd -> "DP".equals(gd.getOrderType()))
.collect(Collectors.toList());
for(GdDetail gd:cpList){
System.out.println("成品集合:"+gd);
}
for(GdDetail gd:dpList){
System.out.println("单品集合:"+gd);
}
Map<String, List<GdDetail>> groupedByCode = cpList.stream()
.collect(Collectors.groupingBy(gd -> gd.getBigItem().getCode()));
groupedByCode.forEach((code, details) -> {
System.out.println("Code: " + code);
details.forEach(System.out::println);
});
}
2024-05-29 18:21:05 +08:00
@Test
public void test(){
List<Integer> taskLists=new ArrayList<>();
taskLists.add(1);
taskLists.add(2);
taskLists.add(3);
taskLists.add(4);
taskLists.add(5);
taskLists.add(6);
for(Integer id:taskLists) {
try {
taskQueue.add(id);
if (taskQueue.size() >= MAX_TASK_COUNT) {
System.out.println("任务已满足,当前任务数:" + taskQueue.size());
taskQueue.clear();
lastTaskTime = System.currentTimeMillis();
} else if (System.currentTimeMillis() - lastTaskTime >= TIMEOUT_MS) {
System.out.println("超过10分钟未满足4个任务当前任务数" + taskQueue.size());
taskQueue.clear();
lastTaskTime = System.currentTimeMillis();
}
} catch (Exception e) {
throw new RuntimeException(e);
}
System.out.println(id);
}
}
}