自动化立体仓库 - WMS系统
#
Junjie
5 天以前 995aeeda06e8e06a8880eb2e04e239cf03fada7c
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -49,13 +49,24 @@
    private TagService tagService;
    @Autowired
    private TagMapper tagMapper;
    @Autowired
    private OrderDetlPakoutServiceImpl orderDetlPakoutService;
    @Autowired
    private OrderPakoutServiceImpl orderPakoutService;
    @Autowired
    private OrderPakinServiceImpl orderPakinService;
    @Override
    @Transactional
    public void pakinOrderCreate(OpenOrderPakinParam param) {
        OrderPakin orderPakin = orderPakinService.selectByNo(param.getOrderNo());
        Order order = orderService.selectByNo(param.getOrderNo());
        if (!Cools.isEmpty(order)) {
            throw new CoolException(param.getOrderNo() + "单据已存在,请勿重复提交");
        if (!Cools.isEmpty(orderPakin)) {
            if (orderPakin.getSettle() > 1L) {
                throw new CoolException(param.getOrderNo() + "单据已存在,请勿重复提交");
            }
            orderPakinService.remove(orderPakin.getId());
            orderService.remove(order.getId());
        }
        DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.TRUE);
        Date now = new Date();
@@ -95,7 +106,8 @@
                9527L,    // 修改人员
                now,    // 修改时间
                null,   // 备注
                1
                1,
                null
        );
        if (!orderService.insert(order)) {
@@ -107,6 +119,7 @@
        for (DetlDto detail : orderDetails) {
            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getBrand(), detail.getStandby1(), detail.getStandby2(), detail.getStandby3(), detail.getLineNumber(), detail.getBoxType1(), detail.getBoxType2(), detail.getBoxType3(), detail.getAnfme());
            dto.setRemark(detail.getRemark());
            dto.setWeight(detail.getWeight());
            if (DetlDto.hasLineNumber(list, dto)) {
                DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(), dto.getBrand(), dto.getStandby1(), dto.getStandby2(), dto.getStandby3(), dto.getLineNumber(), dto.getBoxType1(), dto.getBoxType2(), dto.getBoxType3());
                assert detlDto != null;
@@ -125,6 +138,7 @@
            orderDetl.setLineNumber(detlDto.getLineNumber());
            orderDetl.setBatch(detlDto.getBatch());
            orderDetl.setAnfme(detlDto.getAnfme());
            orderDetl.setWeight(detlDto.getWeight());
            orderDetl.setBrand(detlDto.getBrand());
            orderDetl.setStandby1(detlDto.getStandby1());
            orderDetl.setStandby2(detlDto.getStandby2());
@@ -218,9 +232,12 @@
        Order order = orderService.selectByNo(param.getOrderNo());
        // 如果单据不存在则添加;如果单据存在,作业中无法修改,反之则修改单据
        if (!Cools.isEmpty(order)) {
            if (order.getSettle() > 1L) {
                //TODO
                //throw new CoolException(param.getOrderNo() + "正在出库,无法修改单据");
            OrderPakout orderPakout = orderPakoutService.selectByNo(param.getOrderNo());
            if (!Cools.isEmpty(orderPakout)) {
                if (orderPakout.getSettle() > 1L) {
                    throw new CoolException(param.getOrderNo() + "正在出库,无法修改单据");
                }
                orderPakoutService.remove(orderPakout.getId());
            }
            orderService.remove(order.getId());
        }
@@ -238,7 +255,7 @@
                null,    // 初始票据号
                null,    // 票据号
                null,    // 客户编号
                null,    // 客户
                param.getCstmrName(),    // 客户
                null,    // 联系方式
                null,    // 操作人员
                null,    // 合计金额
@@ -262,7 +279,8 @@
                9527L,    // 修改人员
                now,    // 修改时间
                null,    // 备注
                2
                2,
                param.getKpCstmrName()
        );
        if (!orderService.insert(order)) {
            throw new CoolException("生成单据主档失败,请联系管理员");
@@ -274,6 +292,7 @@
            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getBrand(), detail.getStandby1(), detail.getStandby2(), detail.getStandby3(), detail.getLineNumber(),
                    detail.getBoxType1(), detail.getBoxType2(), detail.getBoxType3(), detail.getAnfme());
            dto.setRemark(detail.getRemark());
            dto.setWeight(detail.getWeight());
            if (DetlDto.hasLineNumber(list, dto)) {
                DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(), dto.getBrand(), dto.getStandby1(), dto.getStandby2(), dto.getStandby3(), dto.getLineNumber(),
                        dto.getBoxType1(), dto.getBoxType2(), dto.getBoxType3());
@@ -293,6 +312,7 @@
            orderDetl.setLineNumber(detlDto.getLineNumber());
            orderDetl.setBatch(detlDto.getBatch());
            orderDetl.setAnfme(detlDto.getAnfme());
            orderDetl.setWeight(detlDto.getWeight());
            orderDetl.setBrand(detlDto.getBrand());
            orderDetl.setStandby1(detlDto.getStandby1());
            orderDetl.setStandby2(detlDto.getStandby2());
@@ -511,74 +531,74 @@
                // 分类
                Long tagId;
                // 一级分类
                if (!Cools.isEmpty(matParam.getGroupCode()) && !Cools.isEmpty(matParam.getGroupName())) {
                    Tag priTag = tagService.selectOne(new EntityWrapper<Tag>().eq("name", matParam.getGroupCode()));
                    if (priTag == null) {
                        Tag top = tagService.getTop();
                        NodeUtils nodeUtils = new NodeUtils();
                        nodeUtils.executePath(top.getId());
                        priTag = new Tag(
                                null,    // 编号
                                matParam.getGroupCode(),    // 名称
                                top.getId(),    // 父级
                                top.getName(),    // 父级名称
                                nodeUtils.path.toString(),    // 关联路径
                                nodeUtils.pathName.toString(),    // 关联路径名
                                0,    // 类型
                                null,    // 负责人
                                null,    // 图片
                                null,    // 简要描述
                                null,    // 数量
                                2,    // 等级
                                null,    // 排序
                                1,    // 状态
                                now,    // 添加时间
                                null,    // 添加人员
                                now,    // 修改时间
                                null,    // 修改人员
                                null    // 备注
                        );
                        if (tagMapper.insert(priTag) == 0) {
                            throw new CoolException("服务器内部错误,请联系管理员");
                        }
                    }
                    // 二级分类
                    Tag secTag = tagService.selectByName(matParam.getGroupName(), 3);
                    if (secTag == null) {
                        NodeUtils nodeUtils = new NodeUtils();
                        nodeUtils.executePath(priTag.getId());
                        secTag = new Tag(
                                null,    // 编号
                                matParam.getGroupName(),    // 名称
                                priTag.getId(),    // 父级
                                priTag.getName(),    // 父级名称
                                nodeUtils.path.toString(),    // 关联路径
                                nodeUtils.pathName.toString(),    // 关联路径名
                                0,    // 类型
                                null,    // 负责人
                                null,    // 图片
                                null,    // 简要描述
                                null,    // 数量
                                3,    // 等级
                                null,    // 排序
                                1,    // 状态
                                now,    // 添加时间
                                null,    // 添加人员
                                now,    // 修改时间
                                null,    // 修改人员
                                null    // 备注
                        );
                        if (tagMapper.insert(secTag) == 0) {
                            throw new CoolException("服务器内部错误,请联系管理员");
                        }
                    }
                    tagId = secTag.getId();
                } else {
                    tagId = tagService.getTop().getId();
                }
//                if (!Cools.isEmpty(matParam.getGroupCode()) && !Cools.isEmpty(matParam.getGroupName())) {
//                    Tag priTag = tagService.selectOne(new EntityWrapper<Tag>().eq("name", matParam.getGroupCode()));
//                    if (priTag == null) {
//                        Tag top = tagService.getTop();
//                        NodeUtils nodeUtils = new NodeUtils();
//                        nodeUtils.executePath(top.getId());
//                        priTag = new Tag(
//                                null,    // 编号
//                                matParam.getGroupCode(),    // 名称
//                                top.getId(),    // 父级
//                                top.getName(),    // 父级名称
//                                nodeUtils.path.toString(),    // 关联路径
//                                nodeUtils.pathName.toString(),    // 关联路径名
//                                0,    // 类型
//                                null,    // 负责人
//                                null,    // 图片
//                                null,    // 简要描述
//                                null,    // 数量
//                                2,    // 等级
//                                null,    // 排序
//                                1,    // 状态
//                                now,    // 添加时间
//                                null,    // 添加人员
//                                now,    // 修改时间
//                                null,    // 修改人员
//                                null    // 备注
//                        );
//                        if (tagMapper.insert(priTag) == 0) {
//                            throw new CoolException("服务器内部错误,请联系管理员");
//                        }
//                    }
//                    // 二级分类
//                    Tag secTag = tagService.selectByName(matParam.getGroupName(), 3);
//                    if (secTag == null) {
//                        NodeUtils nodeUtils = new NodeUtils();
//                        nodeUtils.executePath(priTag.getId());
//                        secTag = new Tag(
//                                null,    // 编号
//                                matParam.getGroupName(),    // 名称
//                                priTag.getId(),    // 父级
//                                priTag.getName(),    // 父级名称
//                                nodeUtils.path.toString(),    // 关联路径
//                                nodeUtils.pathName.toString(),    // 关联路径名
//                                0,    // 类型
//                                null,    // 负责人
//                                null,    // 图片
//                                null,    // 简要描述
//                                null,    // 数量
//                                3,    // 等级
//                                null,    // 排序
//                                1,    // 状态
//                                now,    // 添加时间
//                                null,    // 添加人员
//                                now,    // 修改时间
//                                null,    // 修改人员
//                                null    // 备注
//                        );
//                        if (tagMapper.insert(secTag) == 0) {
//                            throw new CoolException("服务器内部错误,请联系管理员");
//                        }
//                    }
//                    tagId = secTag.getId();
//                } else {
//                    tagId = tagService.getTop().getId();
//                }
                mat.sync(matParam);
                mat.setTagId(tagId);
                mat.setTagId(Long.parseLong(matParam.getGroupCode()));
                mat.setStatus(1);
                mat.setCreateTime(now);
                mat.setUpdateTime(now);