自动化立体仓库 - WMS系统
bfwms
9 天以前 383c6139926563f02fba4432effbfc27f87d88c5
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -247,7 +247,7 @@
        List<DetlDto> list = new ArrayList<>();
        List<DetlDto> orderDetails = param.getOrderDetails();
        for (DetlDto detail : orderDetails) {
            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme());
            DetlDto dto = new DetlDto(detail.getMatnr(),detail.getMaktx(), detail.getBatch(), detail.getAnfme());
            if (DetlDto.has(list, dto)) {
                DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
                assert detlDto != null;
@@ -259,10 +259,17 @@
        for (DetlDto detlDto : list) {
            Mat mat = matService.selectByMatnr(detlDto.getMatnr());
            if (Cools.isEmpty(mat)) {
                throw new CoolException(detlDto.getMatnr() + "编号商品检索失败,请先添加商品");
                Mat mat1=new Mat();
                mat1.setTagId(1L);
                mat1.setMatnr(detlDto.getMatnr());
                mat1.setMaktx(detlDto.getMaktx());
                mat1.setMatType(3);
                matService.insert(mat1);
            }
            OrderDetl orderDetl = new OrderDetl();
            orderDetl.sync(mat);
//            orderDetl.sync(mat);
            orderDetl.setMatnr(detlDto.getMatnr());
            orderDetl.setMaktx(detlDto.getMaktx());
            orderDetl.setBatch(detlDto.getBatch());
            orderDetl.setAnfme(detlDto.getAnfme());
            orderDetl.setOrderId(order.getId());
@@ -284,26 +291,40 @@
    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");
        wrkMastService.update(wrkMast, new EntityWrapper<WrkMast>()
                .eq("wrk_no", wrkMast.getWrkNo()));
    }