自动化立体仓库 - WMS系统
#
zwl
10 小时以前 44b6b79dd5dee0ebbd2d11b08abbc2be275bed58
src/main/java/com/zy/asrs/controller/OrderPakoutController.java
@@ -11,6 +11,8 @@
import com.zy.asrs.entity.param.OrderDomainParam;
import com.zy.asrs.entity.result.WrkTraceVo;
import com.zy.asrs.service.*;
import com.zy.asrs.service.impl.MatServiceImpl;
import com.zy.asrs.service.impl.OrderPakoutServiceImpl;
import com.zy.common.model.DetlDto;
import com.zy.common.web.BaseController;
import org.springframework.beans.BeanUtils;
@@ -42,6 +44,10 @@
    private WrkMastService wrkMastService;
    @Autowired
    private WrkMastLogService wrkMastLogService;
    @Autowired
    private MatServiceImpl matService;
    @Autowired
    private OrderPakoutServiceImpl orderPakoutService;
    @RequestMapping(value = "/order/nav/list/auth")
    @ManagerAuth
@@ -106,7 +112,7 @@
            }
            param.setOrderNo(prefix + snowflakeIdWorker.nextId());
        }
        OrderPakout order = orderService.selectByNo(param.getOrderNo());
        OrderPakout order = orderPakoutService.selectByNo(param.getOrderNo());
        if (order != null) {
            return R.error("单据编号已存在");
        }
@@ -152,16 +158,22 @@
        }
        List<DetlDto> list = new ArrayList<>();
        for (OrderDetlPakout orderDetl : param.getOrderDetlPakoutList()) {
            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getBrand(),
                    orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),
                    orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
            if (DetlDto.has(list, dto)) {
                OrderDetlPakout item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
                OrderDetlPakout item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getBrand(),
                        orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
                item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                if (!orderDetlService.updateById(item)) {
                    throw new CoolException("保存订单明细档失败");
                }
            } else {
                Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
                list.add(dto);
                orderDetl.setOrderId(order.getId());
                orderDetl.sync(mat);
                orderDetl.setBatch(Cools.isEmpty(dto.getBatch())? "" :dto.getBatch());
                orderDetl.setOrderNo(order.getOrderNo());
                orderDetl.setCreateBy(getUserId());
                orderDetl.setCreateTime(now);
@@ -205,9 +217,13 @@
        // 2.重组数据
        List<DetlDto> list = new ArrayList<>();
        for (OrderDetlPakout orderDetl : param.getOrderDetlPakoutList()) {
            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getBrand(),
                    orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),
                    orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
            if (DetlDto.has(list, dto)) {
                OrderDetlPakout item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
                OrderDetlPakout item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),
                        orderDetl.getBrand(),orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),
                        orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
                item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                if (!orderDetlService.updateById(item)) {
                    throw new CoolException("保存订单明细档失败");
@@ -222,6 +238,7 @@
                orderDetl.setUpdateTime(now);
                orderDetl.setStatus(1);
                orderDetl.setQty(0.0D);
                orderDetl.setBatch(Cools.isEmpty(dto.getBatch())? "" :dto.getBatch());
                if (!orderDetlService.insert(orderDetl)) {
                    throw new CoolException("保存订单明细档失败");
                }