自动化立体仓库 - WMS系统
zyx
2023-10-30 d0ad6f402abde8943329a6e863ce1de4fadc0f21
src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
@@ -158,6 +158,9 @@
        return R.ok();
    }
    /*
    站点明细
     */
    @RequestMapping(value = "/basDevp/detail/list/auth")
    public R basDevpDetailList(@RequestParam(defaultValue = "1")Integer curr,
                               @RequestParam(defaultValue = "10")Integer limit,
@@ -167,7 +170,7 @@
        if("F".equals(agvBasDevp.getLocSts()) || "R".equals(agvBasDevp.getLocSts())){
            //先去入库通知档找明细
            Page<AgvWaitPakin> agvWaitPakinPage = agvWaitPakinService.selectPage(new Page<>(curr, limit), new EntityWrapper<AgvWaitPakin>()
                    .eq("zpallet", agvBasDevp.getBarcode()));
                    .eq("supp_code", agvBasDevp.getBarcode()));
            if(agvWaitPakinPage.getRecords().size()>0){
                return R.ok(agvWaitPakinPage);
            }else {
@@ -185,7 +188,7 @@
            }
        }
        return R.error("数据异常");
        return R.ok();
    }
    @RequestMapping(value = "/basDevp/visualized/list/auth")
@@ -193,33 +196,57 @@
        String stationCode = param.get("stationCode").toString();
        Map<String, Object> result = agvBasDevpService.getAgvBasDevpDtoByStationCode(stationCode);
        return R.ok(result);
    }
    @RequestMapping(value = "/basDevp/visualized/list/auth/v2")
    public R visualizedList(@RequestParam String stationCode){
        Map<String, Object> result = agvBasDevpService.getAgvBasDevpDtoByStationCode(stationCode);
        return R.ok(result);
    }
    /*
    容器离场
     */
    @RequestMapping(value = "/basDevp/visualized/container/moveOut")
    public R visualiZedContainerMoveOut(@RequestBody Map<String,Object> map) {
        List<String> devNos = (List<String>) map.get("devNo");
        List<AgvWrkMast> agvWrkMastList = devNos.stream().map(devNo -> {
        List<String> devNos = new ArrayList<>();
        List<AgvWrkMast> agvWrkMastList = new ArrayList<>();
        try {
            devNos = (List<String>) map.get("devNo");
            agvWrkMastList = devNos.stream().map(devNo -> {
                AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo));
                if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){
                    throw new CoolException("工作号为" + agvWrkMast.getWrkNo() + "类型不为101.出库,无法执行容器离场任务,请重新选择站点。");
                }
                return agvWrkMast;
            }).collect(Collectors.toList());
        }catch (Exception e){
            String devNo = map.get("devNo").toString();
            AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo));
            if(agvWrkMast.getIoType() == 103){
                throw new CoolException("工作号为" + agvWrkMast.getWrkNo() + "类型为103.拣料入库,无法执行容器离场任务,请重新选择站点。");
            if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){
                throw new CoolException("工作号为" + agvWrkMast.getWrkNo() + "类型不为101.出库,无法执行容器离场任务,请重新选择站点。");
            }
            return agvWrkMast;
        }).collect(Collectors.toList());
            agvWrkMastList.add(agvWrkMast);
        }
//        List<AgvWrkMast> agvWrkMastList = devNos.stream().map(devNo -> {
//            AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo));
//            if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){
//                throw new CoolException("工作号为" + agvWrkMast.getWrkNo() + "类型不为101.出库,无法执行容器离场任务,请重新选择站点。");
//            }
//            return agvWrkMast;
//        }).collect(Collectors.toList());
        try {
           int code = agvWrkMastService.containerMoveOut(agvWrkMastList);
           if(code == 0){
               //将工作党状态改为容器离场
               agvWrkMastList.forEach(agvWrkMast -> {
                   agvWrkMast.setWrkSts(207L);
                   agvWrkMast.setWrkSts(206L);
                   agvWrkMastService.updateById(agvWrkMast);
               });
               //修改站点状态
@@ -239,18 +266,38 @@
    }
    /*
    拣料入库
    拣料/盘点入库
     */
    @RequestMapping(value = "/basDevp/visualized/container/pickIn")
    public R visualiZedPickIn(@RequestBody Map<String,Object> map){
        List<String> devNos = (List<String>) map.get("devNo");
        List<AgvWrkMast> agvWrkMastList = devNos.stream().map(devNo -> {
        List<String> devNos = new ArrayList<>();
        List<AgvWrkMast> agvWrkMastList = new ArrayList<>();
        try {
            devNos = (List<String>) map.get("devNo");
            agvWrkMastList = devNos.stream().map(devNo -> {
                AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo));
                if(agvWrkMast.getIoType() == 101){
                    throw new CoolException("工作号为" + agvWrkMast.getWrkNo() + "类型为101.出库,无法执行拣料入库任务,请重新选择站点。");
                }
                return agvWrkMast;
            }).collect(Collectors.toList());
        }catch (Exception e){
            String devNo = map.get("devNo").toString();
            AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo));
            if(agvWrkMast.getIoType() == 101){
                throw new CoolException("工作号为" + agvWrkMast.getWrkNo() + "类型为101.入库,无法执行拣料入库任务,请重新选择站点。");
                throw new CoolException("工作号为" + agvWrkMast.getWrkNo() + "类型为101.出库,无法执行拣料入库任务,请重新选择站点。");
            }
            return agvWrkMast;
        }).collect(Collectors.toList());
            agvWrkMastList.add(agvWrkMast);
        }
//        List<String> devNos = (List<String>) map.get("devNo");
//        List<AgvWrkMast> agvWrkMastList = devNos.stream().map(devNo -> {
//            AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo));
//            if(agvWrkMast.getIoType() == 101){
//                throw new CoolException("工作号为" + agvWrkMast.getWrkNo() + "类型为101.出库,无法执行拣料入库任务,请重新选择站点。");
//            }
//            return agvWrkMast;
//        }).collect(Collectors.toList());
        agvWorkService.pickIn(agvWrkMastList);