自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-04-23 49ffaeabe598b7f5ce781ce78c338e96408df90f
#
3个文件已修改
1个文件已添加
128 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/PackParam.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -7,6 +7,7 @@
import com.zy.asrs.entity.param.OpenOrderCompleteParam;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.entity.param.PackParam;
import com.zy.asrs.service.OpenService;
import com.zy.common.model.DetlDto;
import com.zy.common.web.BaseController;
@@ -44,12 +45,12 @@
    @PostMapping("/order/pakin/new/package/v1")
    @AppAuth(memo = "打包上线接口")
    public synchronized R pakinOrderPackage(@RequestHeader(required = false) String appkey,
                                            @RequestParam(required = false) String barcode) {
        auth(appkey, barcode);
        if (Cools.isEmpty(barcode)) {
                                            @RequestBody(required = false) PackParam param) {
        auth(appkey, param);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        openService.packageUp(barcode);
        openService.packageUp(param);
        return R.ok();
    }
src/main/java/com/zy/asrs/entity/param/PackParam.java
New file
@@ -0,0 +1,22 @@
package com.zy.asrs.entity.param;
import lombok.Data;
/**
 * {"barcode": "", "materialName": "", "groupCode": "", "groupName": "", "configureDesc": ""}
 * Created by vincent on 2022/4/23
 */
@Data
public class PackParam {
    private String barcode;
    private String materialName;
    private String groupCode;
    private String groupName;
    private String configureDesc;
}
src/main/java/com/zy/asrs/service/OpenService.java
@@ -3,6 +3,7 @@
import com.zy.asrs.entity.param.OpenOrderCompleteParam;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.entity.param.PackParam;
import com.zy.asrs.entity.result.OpenOrderCompeteResult;
import com.zy.asrs.entity.result.StockVo;
@@ -38,6 +39,6 @@
    // ------------------------------------------
    // 打包上线
    void packageUp(String barcode);
    void packageUp(PackParam param);
}
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -9,11 +9,14 @@
import com.zy.asrs.entity.param.OpenOrderCompleteParam;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.entity.param.PackParam;
import com.zy.asrs.entity.result.OpenOrderCompeteResult;
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.mapper.TagMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
import com.zy.common.model.DetlDto;
import com.zy.common.utils.NodeUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -46,6 +49,8 @@
    private PackService packService;
    @Autowired
    private TagService tagService;
    @Autowired
    private TagMapper tagMapper;
    @Override
    @Transactional
@@ -315,15 +320,18 @@
    @Override
    @Transactional
    public void packageUp(String barcode) {
        Mat analyse = MatUtils.analyseMat(barcode);
        Pack pack = packService.selectByBarcode(barcode);
    public void packageUp(PackParam param) {
        if (Cools.isEmpty(param.getBarcode())) {
            throw new CoolException("barcode不能为空");
        }
        Mat analyse = MatUtils.analyseMat(param.getBarcode());
        Pack pack = packService.selectByBarcode(param.getBarcode());
        if (null != pack) {
            throw new CoolException(barcode + "重复提交");
            throw new CoolException(param.getBarcode() + "重复提交");
        }
        Date now = new Date();
        pack = new Pack(
                barcode,    // 条码[非空]
                param.getBarcode(),    // 条码[非空]
                analyse.getMatnr(),    // 商品编号
                analyse.getBarcode(),    // 批号
                1L,    // 订单状态
@@ -341,14 +349,82 @@
        Mat mat = matService.selectByMatnr(analyse.getMatnr());
        if (mat == null) {
            mat = new Mat();
            // todo
            mat.setTagId(tagService.getTop().getId());
            // 分类
            Long tagId;
            // 一级分类
            if (!Cools.isEmpty(param.getGroupCode()) && !Cools.isEmpty(param.getGroupName())) {
                Tag priTag = tagService.selectByName(param.getGroupCode(), 2);
                if (priTag == null) {
                    Tag top = tagService.getTop();
                    NodeUtils nodeUtils = new NodeUtils();
                    nodeUtils.executePath(top.getId());
                    priTag = new Tag(
                            null,    // 编号
                            param.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(param.getGroupName(), 3);
                if (secTag == null) {
                    NodeUtils nodeUtils = new NodeUtils();
                    nodeUtils.executePath(priTag.getId());
                    secTag = new Tag(
                            null,    // 编号
                            param.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.setTagId(tagId);
            mat.setMatnr(analyse.getMatnr());
            mat.setMaktx(barcode);
            mat.setMaktx(param.getMaterialName());
            mat.setSpecs(param.getConfigureDesc());
            mat.setModel(analyse.getModel());
            mat.setStatus(1);
            mat.setCreateTime(now);
            mat.setUpdateTime(now);
            mat.setMemo("打包上线");
            if (!matService.insert(mat)) {
                throw new CoolException("服务器内部错误,请联系管理员");
            } else {