自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-04-20 db8aa910cbdc2ac6577be8d2f87031e7ce6d1091
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -8,6 +8,7 @@
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.service.*;
import com.zy.common.entity.Parameter;
import com.zy.common.model.DetlDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +42,8 @@
    private WrkMastService wrkMastService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @Autowired
    private PackService packService;
    @Override
    @Transactional
@@ -70,6 +73,7 @@
                    detlDtos.add(detlDto);
                }
            });
            for (DetlDto detlDto : detlDtos) {
                Mat mat = matService.selectByMatnr(detlDto.getMatnr());
@@ -236,12 +240,24 @@
        }
        Date now = new Date();
        boolean packDown = Parameter.get().getPackDown().equals("true");
        // 无单组托
        if (Cools.isEmpty(param.getOrderNo())) {
            // 生成入库通知档
            List<DetlDto> detlDtos = new ArrayList<>();
            param.getCombMats().forEach(elem -> {
                // 打包上线数据校验
                if (packDown) {
                    Pack pack = packService.selectByBarcode(elem.getMatnr());
                    if (pack == null) {
                        throw new CoolException(elem.getMatnr() + "条码冗余,请检查!");
                    }
                    if (pack.getSettle() != 1) {
                        throw new CoolException(elem.getMatnr() + "条码已下线,请检查!");
                    }
                }
                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
                if (DetlDto.has(detlDtos, detlDto)) {
                    DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
@@ -251,6 +267,10 @@
                    detlDtos.add(detlDto);
                }
            });
            if (packDown) {
                // 数据上报 todo
            }
            for (DetlDto detlDto : detlDtos) {
                Mat mat = matService.selectByMatnr(detlDto.getMatnr());
@@ -271,8 +291,15 @@
                if (!waitPakinService.insert(waitPakin)) {
                    throw new CoolException("保存入库通知档失败");
                }
                // 修改打包数据状态
                Pack pack = packService.selectByBarcode(detlDto.getMatnr());
                pack.setSettle(2L);
                pack.setUpdateTime(now);
                pack.setUpdateBy(userId);
                if (!packService.updateById(pack)) {
                    throw new CoolException("修改打包数据异常");
                }
            }
            // 关联组托
        }
    }