自动化立体仓库 - WMS系统
#
LSH
2022-11-01 94dba00dbc6f351f5835d6f4a98d3126cedd9e80
src/main/java/com/zy/asrs/controller/OutController.java
@@ -1,6 +1,7 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
@@ -69,7 +70,8 @@
                if (issued > 0) {
                    LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
                            issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
                    List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
                    int ioType = (issued >= locDetl.getAnfme() && locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locDto.getLocNo())) == 1) ? 101 : 103;
                    List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), ioType);
                    locDto.setStaNos(staNos);
                    locDtos.add(locDto);
                    exist.add(locDetl.getLocNo());
@@ -111,7 +113,7 @@
        // 订单预校验  ===>> 1.订单状态; 2.订单带出数量
        List<OrderDto> orderDtos = new ArrayList<>();
        for (LocDto locDto : locDtos) {
            if (!isJSON(locDto.getOrderNo())) {
            if (isJSON(locDto.getOrderNo())) {
                if (Cools.isEmpty(locDto.getOrderNo())) { continue; }
                OrderDto orderDto = new OrderDto(locDto.getOrderNo(), locDto.getMatnr(), locDto.getAnfme());
                if (OrderDto.has(orderDtos, orderDto)) {
@@ -138,12 +140,16 @@
        }
        for (OrderDto orderDto : orderDtos) {
            Order order = orderService.selectByNo(orderDto.getOrderNo());
            if (order.getSettle() > 2) {
                return R.error(orderDto.getOrderNo() + "订单已失效,请及时刷新页面");
            if (!Cools.isEmpty(order)){
                if (order.getSettle() > 2) {
                    return R.error(orderDto.getOrderNo() + "订单已失效,请及时刷新页面");
                }
            }
            OrderDetl orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), orderDto.getMatnr(), null);
            if (orderDetl.getAnfme() - orderDetl.getQty() < orderDto.getAnfme()) {
                return R.ok(orderDto.getOrderNo() + "订单已作业,请及时刷新页面");
            if (!Cools.isEmpty(orderDetl)){
                if (orderDetl.getAnfme() - orderDetl.getQty() < orderDto.getAnfme()) {
                    return R.ok(orderDto.getOrderNo() + "订单已作业,请及时刷新页面");
                }
            }
        }
@@ -204,7 +210,9 @@
                if (issued > 0) {
                    LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), JSON.toJSONString(vo.getOrderDtos()),
                            issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
                    List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
                    int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locDto.getLocNo()));
                    int ioType = (issued >= locDetl.getAnfme() && count == 1 ? 101 : 103);
                    List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), ioType);
                    locDto.setStaNos(staNos);
                    locDtos.add(locDto);
                    exist.add(locDetl.getLocNo());