自动化立体仓库 - WMS系统
#
whycq
2024-05-08 e14d3106c3ff8dcb974397227acd592cb53338cf
#
2个文件已添加
2个文件已修改
114 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/AgvMobileController.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/AutoMoveScheduler.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/license/LicenseCheckListener.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -7,6 +7,7 @@
import com.zy.asrs.entity.AgvBasDevp;
import com.zy.asrs.entity.AgvLocDetl;
import com.zy.asrs.entity.AgvLocMast;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.param.AgvMobileStartPakin;
import com.zy.asrs.entity.param.AgvMobileStartParam;
import com.zy.asrs.entity.param.CombParam;
@@ -352,6 +353,29 @@
    }
    @PostMapping("/agv/v1/locMove")
    @Transactional
    public R agvLocMove(@RequestBody HashMap<String,Object> params){
        String fl = String.valueOf(params.get("floor"));
        short floor =(short)Integer.parseInt(fl.substring(0, 1));
        List<HashMap<String,String>> dbList = (List<HashMap<String, String>>) params.get("dbList");
         params.get("dbList");
        Object moveType = params.get("moveType");
        if (moveType == "unAuto") {
            return R.error("手动功能暂时无法使用");
        }
        for (HashMap<String, String> map : dbList) {
            String locNo = map.get("locNo");
            Wrapper<AgvLocMast> wrapper = new EntityWrapper<AgvLocMast>().eq("loc_no", locNo);
            AgvLocMast agvLocMast = agvLocMastService.selectOne(wrapper);
            agvLocMast.setLocType("1");
            agvLocMast.setLocType3(floor);
            agvLocMastService.update(agvLocMast,wrapper);
            //System.out.println(locNo);
        }
        return R.ok();
    }
    public static void main(String[] args) {
        List<AgvLocDetl> agvLocDetls1 = new ArrayList<>();
        List<AgvLocDetl> agvLocDetls2 = new ArrayList<>();
src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
New file
@@ -0,0 +1,42 @@
package com.zy.asrs.task;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.zy.asrs.entity.AgvLocMast;
import com.zy.asrs.service.AgvLocMastService;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.AutoMoveHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
// 自动移库
@Component
public class AutoMoveScheduler {
    @Autowired
    private AgvLocMastService agvLocMastService;
    @Autowired
    private AutoMoveHandler autoMoveHandler;
    @Scheduled(cron = "0/2 * * * * ? ")
    private void execute(){
        List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(
                new EntityWrapper<AgvLocMast>()
                        .isNotNull("loc_type")
                        .ne("loc_type", "")
                        .eq("floor", 1)
                        .eq("loc_sts","F"));
        if (agvLocMasts.isEmpty()) {
            return;
        }
        for (AgvLocMast agvLocMast : agvLocMasts) {
            ReturnT<String> returnT = autoMoveHandler.start(agvLocMast);
        }
    }
}
src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
New file
@@ -0,0 +1,46 @@
package com.zy.asrs.task.handler;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.AgvLocMast;
import com.zy.asrs.entity.AgvWrkMast;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Slf4j
@Service
@Transactional
public class AutoMoveHandler extends AbstractHandler<String> {
    public ReturnT<String> start(AgvLocMast agvLocMast) {
        // locType 1. 自动, 2. 手动
        if (agvLocMast.getLocType().equals("1")) {
            return doAutoMove(agvLocMast);
        } else if (agvLocMast.getLocType().equals("2")) {
            return doHandMove(agvLocMast);
        }
        return SUCCESS;
    }
    private ReturnT<String> doAutoMove(AgvLocMast agvLocMast) {
        //生成工作档
        //查询工作档
        //AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(containerCode);
        //if(!Cools.isEmpty(agvWrkMast) && !emptyAutoIn){
        //    throw new CoolException("当前容器已有入库任务,无法进行入库");
        //}
        return SUCCESS;
    }
    private ReturnT<String> doHandMove(AgvLocMast agvLocMast) {
        return SUCCESS;
    }
}
src/main/java/com/zy/system/entity/license/LicenseCheckListener.java
@@ -54,7 +54,7 @@
        //root application context 没有parent
        ApplicationContext context = event.getApplicationContext().getParent();
        if(context == null){
            loadLicense();
            //loadLicense();
        }
    }