#
Junjie
2023-11-10 87db4fd86c8d1053c2203ea923e239a2c9d7fa79
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1213,7 +1213,7 @@
            //获取提升机命令
            NyLiftCommand liftCommand = NyLiftUtils.getLiftCommand(liftProtocol.getLiftNo().intValue(), NyLiftTaskModelType.MOVE_TRAY.id, startSta, targetSta, wrkMast.getWrkNo());
            if (wrkMast.getIoType() == 53) {
            if (wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57) {
                //拣料再回库,重新分配设备工作号
                Random random = new Random();
                int deviceWrk = Math.abs((liftCommand.getTaskNo().intValue() + random.nextInt(9999)));//获取设备工作号
@@ -2386,18 +2386,42 @@
                if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
                    List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
                    for (WrkDetl wrkDetl : wrkDetls) {
                        LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("zpallet", wrkDetl.getBarcode()).eq("matnr", wrkDetl.getMatnr()));
                        Double anfme = 0D;
                        if (locDetl != null) {
                            anfme = locDetl.getAnfme();
                        }
                        ledCommand.getMatDtos()
                                .add(new MatDto(wrkDetl.getMatnr()
                                        , wrkDetl.getMaktx()
                                        , wrkDetl.getAnfme()
                                        , anfme
                                        , wrkDetl.getSpecs()
                                        , wrkDetl.getSuppCode()));
                        LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("zpallet", wrkDetl.getZpallet()).eq("matnr", wrkDetl.getMatnr()));
                        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("zpallet", wrkDetl.getZpallet()));
                        locDetls.forEach(locDetl1 -> {
                            //工作档中存在该物料则跳过
                            String suppCode = "";
                            if (wrkDetl.getMatnr().equals(locDetl1.getMatnr())) {
                                Double anfme = 0D;
                                if (locDetl != null) {
                                    anfme = locDetl.getAnfme();
                                }
                                if (wrkDetl.getSuppCode() != null) {
                                    suppCode = wrkDetl.getSuppCode();
                                }
                                ledCommand.getMatDtos()
                                        .add(new MatDto(wrkDetl.getMatnr()
                                                , wrkDetl.getMaktx()
                                                , wrkDetl.getAnfme()
                                                , (wrkDetl.getAnfme()-anfme)
                                                , wrkDetl.getSpecs()
                                                , suppCode));
                            } else {
                                if (locDetl1.getSuppCode() != null) {
                                    suppCode = locDetl1.getSuppCode();
                                }
                                ledCommand.getMatDtos()
                                        .add(new MatDto(locDetl1.getMatnr()
                                                , locDetl1.getMaktx()
                                                , 0D
                                                , locDetl1.getAnfme()
                                                , locDetl1.getSpecs()
                                                , suppCode));
                            }
                        });
                        //LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("zpallet", wrkDetl.getZpallet()).eq("matnr", wrkDetl.getMatnr()));
                    }
                }
                commands.add(ledCommand);