自动化立体仓库 - WMS系统
zc
2025-04-23 1983ad87b61ccea8a24216bd9e9b44877abf2c01
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -114,7 +114,8 @@
        List<DetlDto> list = new ArrayList<>();
        List<DetlDto> orderDetails = param.getOrderDetails();
        for (DetlDto detail : orderDetails) {
            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(), detail.getMark());
            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(),detail.getFromOrderNo()
                    , detail.getMark(),detail.getCustomer(),detail.getSuppName(),detail.getTemp1(),detail.getTemp2(),detail.getTemp3(),detail.getTemp4());
            if (DetlDto.has(list, dto)) {
                DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
                assert detlDto != null;
@@ -144,7 +145,12 @@
            orderDetl.setSuppCode(detlDto.getFromOrderNo());
            orderDetl.setMemo(detlDto.getMemo());
            orderDetl.setManu(detlDto.getMark());
            orderDetl.setSupp(detlDto.getCustomer());
            orderDetl.setSupp(detlDto.getSuppName()); //供应商
            orderDetl.setSku(detlDto.getCustomer());
            orderDetl.setTemp1(detlDto.getTemp1());
            orderDetl.setTemp2(detlDto.getTemp2());
            orderDetl.setTemp3(detlDto.getTemp3());
            orderDetl.setTemp4(detlDto.getTemp4());
            if (!orderDetlService.insert(orderDetl)) {
                throw new CoolException("生成单据明细失败,请联系管理员");
            }
@@ -254,7 +260,8 @@
        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.getBatch(), detail.getAnfme(),detail.getFromOrderNo()
                    , detail.getMark(),detail.getCustomer(),detail.getSuppName(),detail.getTemp1(),detail.getTemp2(),detail.getTemp3(),detail.getTemp4());
            if (DetlDto.has(list, dto)) {
                DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
                assert detlDto != null;
@@ -284,7 +291,12 @@
            orderDetl.setSuppCode(detlDto.getFromOrderNo());
            orderDetl.setMemo(detlDto.getMemo());
            orderDetl.setManu(detlDto.getMark());
            orderDetl.setSupp(detlDto.getCustomer());
            orderDetl.setSupp(detlDto.getSuppName());
            orderDetl.setSku(detlDto.getCustomer());
            orderDetl.setTemp1(detlDto.getTemp1());
            orderDetl.setTemp2(detlDto.getTemp2());
            orderDetl.setTemp3(detlDto.getTemp3());
            orderDetl.setTemp4(detlDto.getTemp4());
            if (!orderDetlService.insert(orderDetl)) {
                throw new CoolException("生成单据明细失败,请联系管理员");
            }
@@ -519,22 +531,24 @@
                List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectList(new EntityWrapper<WrkDetlLog>()
                        .eq("wrk_no", wrkMastLog.getWrkNo()).eq("zpallet", wrkMastLog.getBarcode()));
                wrkDetlLogs.forEach(wrkDetlLog -> {
                    LocDetlByTimeDTO locDetlByTimeDTO = new LocDetlByTimeDTO();
                    if (!Cools.isEmpty(wrkDetlLog.getOrderNo())){
                        Order order = orderService.selectByNo(wrkDetlLog.getOrderNo());
                        if (!Cools.isEmpty(order)) {
                            locDetlByTimeDTO.setDate(order.getOrderTime());
                            locDetlByTimeDTO.setWarehouse(order.getItemName());
                            locDetlByTimeDTO.setOrderType(order.getDocType$());
                    if (wrkDetlLog.getOrderNo() != null && !wrkDetlLog.getOrderNo().isEmpty()) {
                        LocDetlByTimeDTO locDetlByTimeDTO = new LocDetlByTimeDTO();
                        if (!Cools.isEmpty(wrkDetlLog.getOrderNo())){
                            Order order = orderService.selectByNo(wrkDetlLog.getOrderNo());
                            if (!Cools.isEmpty(order)) {
                                locDetlByTimeDTO.setDate(order.getOrderTime());
                                locDetlByTimeDTO.setWarehouse(order.getItemName());
                                locDetlByTimeDTO.setOrderType(order.getDocType$());
                            }
                            locDetlByTimeDTO.setMatnr(wrkDetlLog.getMatnr());
                            locDetlByTimeDTO.setLocNo(wrkMastLog.getIoType() <100? wrkMastLog.getLocNo(): wrkMastLog.getSourceLocNo());
                            locDetlByTimeDTO.setBatch(wrkDetlLog.getBatch());
                            locDetlByTimeDTO.setAnfme(wrkDetlLog.getAnfme());
                            locDetlByTimeDTO.setOrderNo(wrkDetlLog.getOrderNo());
                            locDetlByTimeDTO.setMark(wrkDetlLog.getManu());
                            locDetlByTimeDTO.setWorkNo(wrkDetlLog.getWrkNo().toString());
                            locDetlByTimeDTOS.add(locDetlByTimeDTO);
                        }
                        locDetlByTimeDTO.setMatnr(wrkDetlLog.getMatnr());
                        locDetlByTimeDTO.setLocNo(wrkMastLog.getIoType() <100? wrkMastLog.getLocNo(): wrkMastLog.getSourceLocNo());
                        locDetlByTimeDTO.setBatch(wrkDetlLog.getBatch());
                        locDetlByTimeDTO.setAnfme(wrkDetlLog.getAnfme());
                        locDetlByTimeDTO.setOrderNo(wrkDetlLog.getOrderNo());
                        locDetlByTimeDTO.setMark(wrkDetlLog.getManu());
                        locDetlByTimeDTO.setWorkNo(wrkDetlLog.getWrkNo().toString());
                        locDetlByTimeDTOS.add(locDetlByTimeDTO);
                    }
                });
@@ -705,4 +719,20 @@
            }
        });
    }
    @Transactional
    @Override
    public void orderDelete(String orderNo) {
        Order order = orderService.selectByNo(orderNo);
        if (order == null) {
            throw new CoolException("未查询到对应订单信息");
        }
        if (order.getSettle() != 1){
            throw new CoolException("该订单已有对应任务,禁止删除");
        }
        List<OrderDetl> OrderDetl = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo));
        if (!Cools.isEmpty(OrderDetl)) {
            orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_no", orderNo));
        }
        orderService.delete(new EntityWrapper<Order>().eq("order_no", orderNo));
    }
}