自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-04-15 222d6e2c408fafde98216b20bf8b5a8b2d20bcb2
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -6,8 +6,8 @@
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.VersionUtils;
import com.zy.common.model.DetlDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -34,6 +34,8 @@
    private OrderService orderService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private BasDevpService basDevpService;
    @Override
    @Transactional
@@ -54,7 +56,7 @@
            // 生成入库通知档
            List<DetlDto> detlDtos = new ArrayList<>();
            param.getCombMats().forEach(elem -> {
                DetlDto detlDto = new DetlDto(elem.getMatNo(), elem.getBatch(), elem.getCount());
                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
                if (DetlDto.has(detlDtos, detlDto)) {
                    DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
                    assert one != null;
@@ -71,6 +73,7 @@
                }
                WaitPakin waitPakin = new WaitPakin();
                waitPakin.sync(mat);
                waitPakin.setBatch(detlDto.getBatch());
                waitPakin.setZpallet(param.getBarcode());   // 托盘码
                waitPakin.setIoStatus("N");     // 入出状态
                waitPakin.setAnfme(detlDto.getAnfme());  // 数量
@@ -94,16 +97,16 @@
            param.getCombMats().forEach(elem -> {
                // 订单明细数量校验
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatNo(), elem.getBatch());
                if (elem.getCount() > orderDetl.getEnableQty()) {
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
                if (elem.getAnfme() > orderDetl.getEnableQty()) {
                    throw new CoolException(orderDetl.getMatnr() + "入库数量不合法");
                }
                // 修改订单明细数量
                if (!orderDetlService.increase(order.getId(), elem.getMatNo(), elem.getBatch(), elem.getCount())) {
                if (!orderDetlService.increase(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
                    throw new CoolException("修改单据明细数量失败");
                }
                DetlDto detlDto = new DetlDto(elem.getMatNo(), elem.getBatch(), elem.getCount());
                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
                if (DetlDto.has(detlDtos, detlDto)) {
                    DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
                    assert one != null;
@@ -138,4 +141,16 @@
    }
    @Override
    public void adjust(MobileAdjustParam param, Long userId) {
        BasDevp basDevp = basDevpService.selectById(param.getStaNo());
        if (null == basDevp || basDevp.getWrkNo() == null) {
            throw new CoolException(param.getStaNo() + "盘点站无效");
        }
        if (!param.getWrkNo().equals(basDevp.getWrkNo())) {
            throw new CoolException(param.getStaNo() + "盘点站更新,请重新检索");
        }
    }
}