自动化立体仓库 - WMS系统
zyx
2023-11-22 f5e7194351d3720f67c29c2fe2a19eea0014a044
任务下发bug修复
3个文件已修改
44 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -77,9 +77,6 @@
    public int startWrk(List<AgvWrkMast> agvWrkMastList, String taskType) throws IOException {
        //任务过滤,过滤掉已存在相同目标库位的工作档
        agvWrkMastList = filter(agvWrkMastList);
        AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam();
        agvTaskCreateParam.setTaskType(taskType);
@@ -152,13 +149,6 @@
    @Override
    public AgvWrkMast selectByContainerCode(String containerCode) {
        return this.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",containerCode));
    }
    private List<AgvWrkMast> filter(List<AgvWrkMast> agvWrkMastList){
        return agvWrkMastList.stream().filter(agvWrkMast -> {
            int num = this.selectCount(new EntityWrapper<AgvWrkMast>().eq("loc_no", agvWrkMast.getLocNo()));
            return num <= maxWrokNum;
        }).collect(Collectors.toList());
    }
    private void getContainerMoveParam(List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -39,7 +39,7 @@
    /*
    定时处理AGV工作档中工作状态为205.工作完成 且 (1.入库 || 53,拣料入库 || 57.盘点入库 || 10.空板入库 || 11.库格移载)的数据
     */
    @Scheduled(cron = "0/5 * * * * ? ")
    @Scheduled(cron = "0/10 * * * * ? ")
    public void excutePutwayWrk(){
        List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
                .eq("wrk_sts", 205)
@@ -58,7 +58,7 @@
    /*
    定时处理AGV工作档中工作状态为206.容器离场完成 且 (101.出库 || 110.空板出库)
     */
    @Scheduled(cron = "0/5 * * * * ? ")
    @Scheduled(cron = "0/10 * * * * ? ")
    public void excuteCarryWrk(){
        List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
                .eq("wrk_sts", 206)
@@ -75,7 +75,7 @@
    putaway:上架
    定时处理AGV工作档中工作状态为201.生成入库任务ID 且(出库类型为 53.拣料再入库 || 1.入库 || 10.空板入库栽 || 57.盘点再入库)的数据
     */
    @Scheduled(cron = "0/5 * * * * ? ")
    @Scheduled(cron = "0/10 * * * * ? ")
    public void startPutwayWrk(){
        List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50)
                ,new EntityWrapper<AgvWrkMast>()
@@ -98,7 +98,7 @@
    carry:搬运,统指出库、移库、点到点搬运等
    定时处理AGV工作档中工作状态为21.生成出库任务 且(出库类型为 101.出库 || 103.拣料出库 || 11.库格移栽 || 110.空板出库 || 107.盘点出库)的数据
     */
    @Scheduled(cron = "0/5 * * * * ? ")
    @Scheduled(cron = "0/10 * * * * ? ")
    public void startCarryWrk(){
        List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50)
                ,new EntityWrapper<AgvWrkMast>()
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -4,7 +4,10 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.AgvLocDetl;
import com.zy.asrs.entity.AgvWaitPakin;
import com.zy.asrs.entity.AgvWrkDetl;
import com.zy.asrs.entity.AgvWrkMast;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
@@ -18,6 +21,7 @@
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Slf4j
@Service
@@ -178,7 +182,14 @@
    @Transactional
    public ReturnT<String> startCarryWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
        log.info(agvWrkMastList.toString());
        //任务过滤,过滤掉已存在相同目标库位的工作档
        agvWrkMastList = filter(agvWrkMastList);
        int code = agvWrkMastService.startWrk(agvWrkMastList,"carry");
        log.info(agvWrkMastList.toString());
        if (Cools.isEmpty(agvWrkMastList)){
            return SUCCESS;
        }
        if(code == 0){
            agvWrkMastList.forEach(agvWrkMast -> {
                //202.RCS取货中
@@ -234,4 +245,17 @@
            }
        }
    }
    private List<AgvWrkMast> filter(List<AgvWrkMast> agvWrkMastList){
        return agvWrkMastList.stream().filter(agvWrkMast -> {
            AgvWrkMast agvWrkMastWroking = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", agvWrkMast.getLocNo()));
            if(!Cools.isEmpty(agvWrkMastWroking) && agvWrkMastWroking.getWrkSts()<=202){
                System.out.println("source_loc_no > 1");
                return false;
            }
            log.info(agvWrkMast.toString());
            int num = agvWrkMastService.selectCount(new EntityWrapper<AgvWrkMast>().eq("loc_no", agvWrkMast.getLocNo()));
            return num <= maxWrokNum;
        }).collect(Collectors.toList());
    }
}