自动化立体仓库 - WMS系统
whycq
2024-05-17 1a8e7f30035b45771d05cd4cc99aae2743576112
# 手动调拨
4个文件已修改
61 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/AgvWrkMastService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/AgvWrkMastService.java
@@ -28,4 +28,6 @@
    public int callCancelTask(int wrkNo);
    public int startAllcationIn(AgvWrkMast agvWrkMast) throws IOException;
}
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -7,11 +7,14 @@
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.AgvBasDevp;
import com.zy.asrs.entity.AgvLocMast;
import com.zy.asrs.entity.AgvWrkMast;
import com.zy.asrs.entity.param.AgvTaskCreateParam;
import com.zy.asrs.entity.param.AgvTaskParam;
import com.zy.asrs.mapper.AgvWrkMastMapper;
import com.zy.asrs.service.*;
import com.zy.common.service.AgvCommonService;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -53,6 +56,10 @@
    ApiLogService apiLogService;
    @Autowired
    AgvBasDevpService agvBasDevpService;
    @Autowired
    private AgvCommonService agvCommonService;
    @Autowired
    private AgvWrkMastService agvWrkMastService;
    public void updateWrkStsByWrkNo(int wrkNo, long wrkSts) {
        AgvWrkMast agvWrkMast = this.selectById(wrkNo);
@@ -82,6 +89,17 @@
        //return containerMoveParam;
    }
    public int startAllcationIn(AgvWrkMast agvWrkMast) throws IOException {
        AgvBasDevp basDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo());
        //检索库位,选择合适的库位
        AgvLocMast locMast = agvCommonService.getLocNo(basDevp.getLocType1(),basDevp.getFloor());
        agvWrkMast.setLocNo(locMast.getLocNo());
        agvWrkMast.setWrkSts(201L);
        agvWrkMastService.updateById(agvWrkMast);
        return 0;
    }
    //容器入场
    public int containerMoveIn(List<AgvWrkMast> agvWrkMastList) throws IOException {
        //调用容器入场时所需要参数
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -54,7 +54,8 @@
                .or().eq("io_type",11)
                .or().eq("io_type",12)
                .or().eq("io_type",108)
                .or().eq("io_type",109));
                .or().eq("io_type",109)
                .or().eq("io_type",112));
        if(!Cools.isEmpty(agvWrkMastList)){
            agvWrkMastList.stream().forEach(agvWrkMast -> {
                agvWrkMastHandler.completedPutWayWrk(agvWrkMast);
@@ -111,7 +112,8 @@
                .or().eq("io_type", 11)
                .or().eq("io_type", 12)
                .or().eq("io_type", 109)
                .or().eq("io_type", 108)).getRecords();
                .or().eq("io_type", 108)
                .or().eq("io_type", 112)).getRecords();
        if(!Cools.isEmpty(agvWrkMastList)){
            agvWrkMastList.forEach(agvWrkMast -> {
@@ -125,6 +127,28 @@
    }
    /*
    putaway:上架
    定时处理AGV工作档中工作状态为201.生成入库任务ID 且(出库类型为 53.拣料再入库 || 1.入库 || 10.空板入库栽 || 57.盘点再入库)的数据
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    public void startAllcationIn(){
        List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50)
                ,new EntityWrapper<AgvWrkMast>()
                        .eq("wrk_sts", 211)
                        .andNew().eq("io_type", 112)).getRecords();
        if(!Cools.isEmpty(agvWrkMastList)){
            agvWrkMastList.forEach(agvWrkMast -> {
                try {
                    agvWrkMastHandler.startAllcationIn(agvWrkMast);
                } catch (IOException e) {
                    log.error(e.getMessage());
                }
            });
        }
    }
    /*
    carry:搬运,统指出库、移库、点到点搬运等
    定时处理AGV工作档中工作状态为21.生成出库任务 且(出库类型为 101.出库 || 103.拣料出库 || 11.库格移栽 || 110.空板出库 || 107.盘点出库)的数据
     */
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -236,6 +236,19 @@
    }
    @Transactional
    @Synchronized
    public ReturnT<String> startAllcationIn(AgvWrkMast agvWrkMast) throws IOException {
        //下发任务
        int startWrkCode = agvWrkMastService.startAllcationIn(agvWrkMast);
        if(startWrkCode != 0){
            throw new CoolException("任务下发失败");
        }
        return SUCCESS;
    }
//    @Transactional
//    public ReturnT<String> startCarryWrk(AgvWrkMast agvWrkMast) throws IOException {
//        //log.info(agvWrkMastList.toString());