自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-05-21 fe2653645836b28b3ffd4c848dc7cbd7e866993e
#
1个文件已添加
3个文件已修改
56 ■■■■ 已修改文件
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/config/ThreadPoolConfig.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/MesPakoutParam.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -7,6 +7,7 @@
import com.zy.asrs.task.handler.OrderSyncHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -24,18 +25,9 @@
    @Autowired
    private OrderService orderService;
    @Scheduled(cron = "0/3 * * * * ? ")
    private void queryAndSave(){
//        for (WrkMast wrkMast : wrkMasts) {
//            ReturnT<String> result = workLogHandler.start(wrkMast);
//            if (!result.isSuccess()) {
//                log.error("工作档[workNo={}]历史档处理失败", wrkMast.getWrkNo());
//            }
//        }
    }
    @Scheduled(cron = "0/5 * * * * ? ")
    private void completeAndReport(){
    @Async("orderThreadPool")
    public void completeAndReport(){
        List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L).eq("status", 1));
        for (Order order : orders) {
            ReturnT<String> result = orderSyncHandler.start(order);
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -107,6 +107,9 @@
            pakoutParam.setPakoutTime(DateUtils.convert(order.getUpdateTime()));
            pakoutParam.setLgortFrom("5006");
            pakoutParam.setLgortTo("1111");
            if (!pakoutParam.isTag()) {
                pakoutParam.setKunnr("C1000");
            }
            pakoutParam.setOrderNo(order.getOrderNo());
            for (OrderDetl orderDetl : orderDetls) {
                String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch();
src/main/java/com/zy/common/config/ThreadPoolConfig.java
New file
@@ -0,0 +1,36 @@
package com.zy.common.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.ThreadPoolExecutor;
/**
 * Created by vincent on 2022/5/21
 */
@Configuration
@EnableAsync
public class ThreadPoolConfig {
    @Bean(name = "orderThreadPool")
    public ThreadPoolTaskExecutor orderThreadPool() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        int core = Runtime.getRuntime().availableProcessors();
        core = 2;
        //设置核心线程数
        executor.setCorePoolSize(core);
        //设置最大线程数
        executor.setMaxPoolSize(core * 10 + core);
        //除核心线程外的线程存活时间
        executor.setKeepAliveSeconds(3);
        //缓冲队列
        executor.setQueueCapacity(core);
        executor.setThreadNamePrefix("order-task-");
        //设置拒绝策略
        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
        return executor;
    }
}
src/main/java/com/zy/common/model/MesPakoutParam.java
@@ -29,6 +29,9 @@
    // 目的地 - 写死
    private String lgortTo;
    // 客户号
    private String kunnr;
    private List<Detl> list = new ArrayList<>();
    @Data