自动化立体仓库 - WMS系统
1
18 小时以前 8d75c94e04af3d56c0de713e3120d14dfef73083
src/main/java/com/zy/common/web/WcsController.java
@@ -109,18 +109,21 @@
    @ResponseBody
    public R autoEmptyIn(@RequestBody LocTypeDto locTypeDto){
        // 源站点状态检测
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(801, true);
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(1038, true);
        // 检索库位
        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
        StartupDto dto = commonService.getLocNo( 10, 801, findLocNoAttributeVo, locTypeDto);
        StartupDto dto = commonService.getLocNo( 10, 1038, findLocNoAttributeVo, locTypeDto);
        if (dto == null){
            throw new CoolException("查询库位失败");
        }
        Date now = new Date();
        // 生成工作档
        WrkMast wrkMast = new WrkMast();
        wrkMast.setWrkNo(dto.getWorkNo());
        wrkMast.setIoTime(now);
        wrkMast.setWrkSts(1L);
        wrkMast.setWrkSts(2L);
        wrkMast.setIoPri(13D);
        wrkMast.setIoType(10);
        wrkMast.setCrnNo(dto.getCrnNo());
@@ -137,40 +140,61 @@
        wrkMast.setAppeTime(now);
        wrkMast.setModiTime(now);
        wrkMast.setMemo("自动空托入库");
        return wrkMastService.insert(wrkMast) ? R.ok("自动空托入库成功,工作号:"+wrkMast.getWrkNo()) : R.error("生成自动空托入库失败");
        // 更新源站点信息
        sourceStaNo.setWrkNo(dto.getWorkNo());
        sourceStaNo.setModiUser(9999L);
        sourceStaNo.setModiTime(now);
        if (!basDevpService.updateById(sourceStaNo)){
            throw new CoolException("更新源站失败");
        }
        // 更新目标库位状态
        LocMast locMast = locMastService.selectById(dto.getLocNo());
        if (locMast.getLocSts().equals("O")){
            locMast.setLocSts("S"); // S.入库预约
            locMast.setModiUser(9999L);
            locMast.setModiTime(now);
            if (!locMastService.updateById(locMast)){
                throw new CoolException("改变库位状态失败");
            }
        } else {
            throw new CoolException(dto.getLocNo()+"目标库位已被占用");
        }
        return wrkMastService.insert(wrkMast) ? R.ok("自动空托入库成功,工作号:"+wrkMast.getWrkNo()).add(wrkMast.getWrkNo()) : R.error("生成自动空托入库失败");
    }
    @PostMapping("auto/emptyOut/v1")
    @ResponseBody
    public R autoEmptyOut(){
    public R autoEmptyOut(@RequestBody LocTypeDto locTypeDto){
        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
                .eq("loc_sts", "D"));
        if (Cools.isEmpty(locMast)) {
            return R.error("库存没有空板");
        }
        EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
        emptyPlateOutParam.setOutSite(301);
        emptyPlateOutParam.setOutSite(locTypeDto.getSiteId());
        emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locMast.getLocNo()+"");}});
        WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam);
        return R.ok(!Cools.isEmpty(wrkMast)? R.ok("自动空托出库成功,工作号:" + wrkMast.getWrkNo()) : R.error("生成自动空托出库失败"));
    }
    @PostMapping("/auto/Transplanting/v1")
    @PostMapping("/auto/TransplantingOut/v1")
    @ResponseBody
    public R autoTransplanting(@RequestBody TransplantWork transplantWork){
    public R autoTransplantingOut(@RequestBody TransplantWork transplantWork){
        // 源站点状态检测
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true);
        if(wrkMastService.selectWrkMast(transplantWork.getWorkNo(),transplantWork.getBarcode()) == null){
        WrkMast wrkMast1 = wrkMastService.selectWrkMast(transplantWork.getWorkNo(),transplantWork.getBarcode());
        if(sourceStaNo ==null ){
            return R.error("该站点盘点移栽许可,请查看源站点状态检测");
        }
        if(wrkMast1== null){
            return  R.error("无该盘点移栽任务");
        }
        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(transplantWork.getWorkNo());
        Date now = new Date();
        int workNo = commonService.getWorkNo(2);
        // 生成工作档
        WrkMast wrkMast = new WrkMast();
        wrkMast.setWrkNo(workNo);
        wrkMast.setWrkNo(9997);
        wrkMast.setIoTime(now);
        wrkMast.setWrkSts(11L);
        wrkMast.setIoPri(14D);
@@ -202,6 +226,56 @@
        return wrkMastService.insert(wrkMast) ? R.ok("自动3号堆垛机移栽成功,工作号:"+wrkMast.getWrkNo()) : R.error("生成自动3号堆垛机移栽失败");
    }
    @PostMapping("/auto/TransplantingIn/v1")
    @ResponseBody
    public R autoTransplantingIn(@RequestBody TransplantWork transplantWork){
        // 源站点状态检测
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true);
        WrkMast wrkMast1 = wrkMastService.selectWrkMast(transplantWork.getWorkNo(),transplantWork.getBarcode());
        if(sourceStaNo == null){
        }
        if(wrkMast1== null){
            return  R.error("无该盘点移栽任务");
        }
        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(transplantWork.getWorkNo());
        Date now = new Date();
        // 生成工作档
        WrkMast wrkMast = new WrkMast();
        wrkMast.setWrkNo(9996);
        wrkMast.setIoTime(now);
        wrkMast.setWrkSts(2L);
        wrkMast.setIoPri(14D);
        wrkMast.setIoType(12);
        wrkMast.setCrnNo(3);
        wrkMast.setBarcode(transplantWork.getBarcode());
        wrkMast.setSourceStaNo(4001);
        wrkMast.setStaNo(transplantWork.getStaNo());
        wrkMast.setFullPlt("Y"); // 满板:Y
        wrkMast.setPicking("N"); // 拣料
        wrkMast.setExitMk("N"); // 退出
        wrkMast.setEmptyMk("N"); // 空板
        wrkMast.setLinkMis("Y");
        // 操作人员数据
        wrkMast.setAppeTime(now);
        wrkMast.setModiTime(now);
        wrkMast.setMemo("自动3号堆垛机移栽");
        for (WrkDetl item : wrkDetls) {
            WrkDetl newDetl = new WrkDetl();
            newDetl.sync(item);
            newDetl.setWrkNo(wrkMast.getWrkNo());
            newDetl.setIoTime(wrkMast.getIoTime());
            newDetl.setAppeTime(now);
            newDetl.setModiTime(now);
            if (!wrkDetlService.insert(newDetl)) {
                throw new CoolException("保存工作明细失败");
            }
        }
        return wrkMastService.insert(wrkMast) ? R.ok("自动3号堆垛机移栽成功,工作号:"+wrkMast.getWrkNo()) : R.error("生成自动3号堆垛机移栽失败");
    }
    /**
     * 全板入库
     */