自动化立体仓库 - WMS系统
tzsk
2024-02-07 f4af5b89cf61b3c4d7e1d49f23d7c0e617f3aabe
src/main/java/com/zy/common/web/WcsController.java
@@ -65,6 +65,8 @@
    private WrkMastMapper wrkMastMapper;
    @Autowired
    private WrkMastLogService wrkMastLogService;
    @Autowired
    private AgvWrkDetlService agvWrkDetlService;
//    @Autowired
//    private ErpService erpService;
@@ -592,25 +594,27 @@
        //拣料、盘点完成任务
        if(!Cools.isEmpty(agvWrkMast) && (agvWrkMast.getIoType() == 103 || agvWrkMast.getIoType() == 107) && agvWrkMast.getWrkSts() == 205){
            //绑定站点
            agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode);
            //生成拣料、盘点再入库任务
            List<AgvWrkMast> agvWrkMastList = new ArrayList<>();
            agvWrkMast.setMk("Y");
            agvWrkMast.setLocNo(agvBasDevp.getDevNo());
            agvWrkMastList.add(agvWrkMast);
            agvWorkService.pickIn(agvWrkMastList);
            //绑定站点
            agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode);
            return R.ok();
        }
        //入库任务
        if (!Cools.isEmpty(agvWaitPakinService.selectByContainerCode(containerCode))){
            //绑定站点
            agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode);
            //生成工作档
            List<AgvBasDevp> agvBasDevpList = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().eq("dev_no", param.getDevNo()));
            agvWorkService.createWaitPainWrkMastStart(agvBasDevpList, null, true);
            //绑定站点
            agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode);
            return R.ok();
        }
@@ -626,15 +630,24 @@
            currentContainerMap = new HashMap<>();
        }
        String devNo = param.getDevNo();
        String containerCode = param.getContainerCode();
        if(Cools.isEmpty(containerCode)){
            throw new CoolException("料箱码为空");
        }
        if(!Character.isDigit(containerCode.charAt(0))){
            containerCode = containerCode.substring(3,containerCode.length());
        }
        String devNo = param.getDevNo();
        String currentContainerCode = currentContainerMap.get(devNo);
        //判断容器是否发生变化
        if(!Cools.eq(containerCode,currentContainerCode)){
            //查询旧容器的工作档
            AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(currentContainerCode);
            if(agvWrkMast.getIoType() == 101){
            if(Cools.isEmpty(agvWrkMast) && agvWrkMast.getIoType() == 101){
                //发送容器立场请求,完成工作档
                List<AgvWrkMast> agvWrkMastList = new ArrayList<>();
                agvWrkMastList.add(agvWrkMast);
@@ -669,12 +682,12 @@
        //查找该容器的工作档
        AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(containerCode);
        if(!Cools.isEmpty(agvWrkMast)){
            return R.ok(agvWrkMast);
            return R.ok(agvWrkDetlService.selectByWrkNo(agvWrkMast.getWrkNo()));
        }
        //查找该容器的入库通知档
        AgvWaitPakin agvWaitPakin = agvWaitPakinService.selectByContainerCode(containerCode);
        if(!Cools.isEmpty(agvWaitPakin)){
            return R.ok(agvWaitPakin);
        List<AgvWaitPakin> agvWaitPakinList = agvWaitPakinService.selectList(new EntityWrapper<AgvWaitPakin>().eq("supp_code", containerCode));
        if(!Cools.isEmpty(agvWaitPakinList)){
            return R.ok(agvWaitPakinList);
        }
        return R.error("没有该容器的出库、拣料、入库信息等");