自动化立体仓库 - WMS系统
zwl
2025-07-08 3ad65283c54059e0c61110589fb19398ac3525fe
完善拣料转全板
1个文件已修改
40 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -284,24 +284,38 @@
    public void pickToFill(WrkMast wrkMast) {
        Date now = new Date();
        wrkMast.setIoType(101);
        wrkMast.setWrkSts(17L);
        wrkMast.setMemo("捡料转全板工作档");
        wrkMastService.update(wrkMast, new EntityWrapper<WrkMast>()
                .eq("wrk_no", wrkMast.getWrkNo()));
        wrkDetlService.deleteByWrkNo(wrkMast.getWrkNo());
        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
        List<LocDetl> locDetls = locDetlService.selectByLocNo(wrkMast.getSourceLocNo());
        for (LocDetl locDetl : locDetls) {
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(locDetl);
            wrkDetl.setWrkNo(wrkMast.getWrkNo());
            wrkDetl.setIoTime(wrkMast.getIoTime());
            wrkDetl.setZpallet(wrkDetl.getBarcode());
            wrkDetl.setBarcode(wrkMast.getBarcode());
            wrkDetl.setAppeTime(now);
            wrkDetl.setModiTime(now);
            wrkDetl.setAppeUser(1L);
            wrkDetl.setModiUser(1L);
            wrkDetl.setMatType(locDetl.getMatType());
            wrkDetlService.insert(wrkDetl);
            double v = locDetl.getAnfme();
            boolean boo= true;
            for(WrkDetl wrkDetl : wrkDetls) {
                if(wrkDetl.getMatnr().equals(locDetl.getMatnr())&&wrkDetl.getBatch().equals(locDetl.getBatch())) {
                    v = locDetl.getAnfme() - wrkDetl.getAnfme();
                    if(v == 0){
                        boo = false;
                    }
                }
            }
            if(boo){
                WrkDetl wrkDetl = new WrkDetl();
                wrkDetl.sync(locDetl);
                wrkDetl.setWrkNo(wrkMast.getWrkNo());
                wrkDetl.setIoTime(wrkMast.getIoTime());
                wrkDetl.setZpallet(wrkDetl.getBarcode());
                wrkDetl.setBarcode(wrkMast.getBarcode());
                wrkDetl.setAnfme(v);
                wrkDetl.setAppeTime(now);
                wrkDetl.setModiTime(now);
                wrkDetl.setAppeUser(1L);
                wrkDetl.setModiUser(1L);
                wrkDetl.setMatType(locDetl.getMatType());
                wrkDetlService.insert(wrkDetl);
            }
        }
        locMastService.updateLocSts(wrkMast.getSourceLocNo(), "R");
    }