自动化立体仓库 - WMS系统
pang.jiabao
2024-07-05 07c572bea979dbd3ee46ec24083cb1bdcc014e3a
src/main/java/com/zy/common/web/WcsController.java
@@ -49,7 +49,8 @@
    @PostMapping("/pakin/loc/v1")
    @ResponseBody
    public R getLocNo(@RequestBody SearchLocParam param) {
    public synchronized R getLocNo(@RequestBody SearchLocParam param) {
        log.info("收到WCS入库接口请求====>>入参:{}", param);
        if (Cools.isEmpty(param.getIoType())) {
            return R.error("入出库类型不能为空");
        }
@@ -63,7 +64,7 @@
            }
            pltBarcodes = pltBarcodeService.selectList(new EntityWrapper<PltBarcode>().eq("barcode", param.getBarcode()));
            if (Cools.isEmpty(pltBarcodes)) {
                return R.error("条码数据错误");
                return R.error("条码未组托:" + param.getBarcode());
            }
            int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
            int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
@@ -85,6 +86,12 @@
        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
        locTypeDto.setLocType1(param.getLocType1());
        // 限制只能有一个在设备上走状态
        int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("wrk_sts", 2).eq("source_sta_no", param.getSourceStaNo()));
        if (count > 0) {
            return R.error("已有在设备上走工作档");
        }
        StartupDto dto = null;
        switch (param.getIoType()) {
            case 1:
@@ -96,7 +103,7 @@
            default:
                break;
        }
        log.info("WCS入库接口返参:{},托盘码:{}", dto.toString(), param.getBarcode());
        return R.ok().add(dto);
    }
@@ -109,11 +116,19 @@
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
        // 检索库位
        List<String> matNos = pltBarcodes.stream().map(PltBarcode::getMatNo).distinct().collect(Collectors.toList());
        // 获取类别标识(1原材料,2成品)
        List<String> str5 = pltBarcodes.stream().map(PltBarcode::getStr5).distinct().collect(Collectors.toList());
        if (str5.isEmpty() || str5.get(0) == null) {
            throw new CoolException("物料类别获取失败");
        }
        StartupDto dto;
        if (devpNo == 304) {
            dto = commonService.getLocNoBy304(barcode);
            dto = commonService.getLocNoBy304(str5.get(0));
        } else {
            dto = commonService.getLocNo(1, 1, devpNo, false, matNos, locTypeDto,0);
//            dto = commonService.getLocNo(1, 1, devpNo, false, matNos, locTypeDto,0);
            dto = commonService.getLocNoNew(1, devpNo,barcode);
        }
        int workNo = dto.getWorkNo();
@@ -183,11 +198,11 @@
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
        // 检索库位
        StartupDto dto;
        if (devpNo >= 300) {
//        if (devpNo >= 300) {
            dto = commonService.emptyIngetLocNo(devpNo);
        } else {
            dto = commonService.getLocNo(1, 10, devpNo, true, null, locTypeDto, 0);
        }
//        } else {
//            dto = commonService.getLocNo(1, 10, devpNo, true, null, locTypeDto, 0);
//        }
        int workNo = dto.getWorkNo();
        // 生成工作档
        WrkMast wrkMast = new WrkMast();