自动化立体仓库 - WMS系统
zc
5 天以前 d54bd5c604ce8fba95b9c5ba55213b95100c6aa3
初步完成调试
1个文件已修改
105 ■■■■■ 已修改文件
src/main/java/com/zy/common/web/WcsController.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/WcsController.java
@@ -73,7 +73,9 @@
            List<WrkMast> wrkMasts = new ArrayList<>();
            // 获取工作档数据
            WrkMast wrkMast = wrkMastService.selectById(taskNo);
            if (null == wrkMast) { return R.error(); }
            if (null == wrkMast) {
                return R.error();
            }
            wrkMasts.add(wrkMast);
            // 组装命令
            LedCommand ledCommand = new LedCommand();
@@ -161,13 +163,107 @@
        }
        Map<String,Object> map=new HashMap<String, Object>();
        map.put("to",sta);
        map.put("message",Cools.add("type", "task").add("taskList",commands));
        webSocketServer.onMessage(JSONObject.toJSONString(map),null,sta);
        return R.ok();
    }
    @PostMapping("/led/getTask2")
    @ResponseBody
    public synchronized R getledTask2(@RequestBody Map<String, String> param) {
        String taskNo = param.get("taskNo");
        String sta = param.get("sta");
        // 命令集合
        List<LedCommand> commands = new ArrayList<>();
        if (!"0".equals(taskNo)) {
            // 工作档集合
            List<WrkMast> wrkMasts = new ArrayList<>();
            // 获取工作档数据
            WrkMast wrkMast = wrkMastService.selectById(taskNo);
            if (null == wrkMast) {
                return R.error();
            }
            wrkMasts.add(wrkMast);
            // 组装命令
            LedCommand ledCommand = new LedCommand();
            ledCommand.setWorkNo(wrkMast.getWrkNo());
            ledCommand.setIoType(wrkMast.getIoType());
            wrkMasts.add(wrkMast);
            // 出库模式
            switch (wrkMast.getIoType()) {
                case 1:
                    ledCommand.setTitle("全板入库");
                    break;
                case 10:
                    ledCommand.setTitle("空板入库");
                    break;
                case 101:
                    ledCommand.setTitle("全板出库");
                    break;
                case 103:
                    ledCommand.setTitle("拣料出库");
                    break;
                case 104:
                    ledCommand.setTitle("并板出库");
                    break;
                case 107:
                    ledCommand.setTitle("盘点出库");
                    break;
                case 110:
                    ledCommand.setTitle("空板出库");
                    ledCommand.setEmptyMk(true);
                    break;
                default:
                    break;
            }
            ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
            ledCommand.setStaNo(wrkMast.getStaNo());
            ledCommand.setBarcode(wrkMast.getBarcode());
            if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
                List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
                wrkDetls.forEach(wrkDetl -> {
                    Double total = 0.0;
                    EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
                    LocDetl locDetl = locDetlService.selectOne(wrapper.eq("zpallet", wrkDetl.getZpallet()).eq("matnr", wrkDetl.getMatnr()));
                    if (Cools.isEmpty(locDetl)) {
                        total = wrkDetl.getAnfme();
                    } else {
                        total = locDetl.getAnfme();
                    }
                    if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                        OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", wrkDetl.getOrderNo())
                                .eq("matnr", wrkDetl.getMatnr()).eq("batch", wrkDetl.getBatch()));
                        if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) {
                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(), total, orderDetl.getSuppCode(), orderDetl.getSku()));
                        }
                        if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) {
                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(), total, orderDetl.getSuppCode(), orderDetl.getSku()));
                        }
                        if (wrkMast.getIoType() == 107 || wrkMast.getIoType() == 104) {
                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(), total, orderDetl.getSuppCode(), orderDetl.getSku()));
                        }
                    } else {
                        if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) {
                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(), total));
                        }
                        if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) {
                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(), total));
                        }
                        if (wrkMast.getIoType() == 107 || wrkMast.getIoType() == 104) {
                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(), total));
                        }
                    }
                });
            }
            commands.add(ledCommand);
        }
        return R.ok(commands);
    }
    @PostMapping("/led/getError")
@@ -513,7 +609,9 @@
        }
        EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
        emptyPlateOutParam.setOutSite(12);
        emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locMast.getLocNo()+"");}});
        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("生成自动空托出库失败"));
    }
@@ -656,4 +754,5 @@
        return dto;
    }
}