自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-04-23 b8975f62b72528006a840e63810f1644560ac4fd
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -5,16 +5,14 @@
import com.core.common.DateUtils;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.DocType;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.*;
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.result.OpenOrderCompeteResult;
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
import com.zy.common.model.DetlDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -44,6 +42,10 @@
    private MatService matService;
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
    private PackService packService;
    @Autowired
    private TagService tagService;
    @Override
    @Transactional
@@ -311,4 +313,48 @@
        return locDetlService.queryStockTotal();
    }
    @Override
    @Transactional
    public void packageUp(String barcode) {
        Mat analyse = MatUtils.analyseMat(barcode);
        Pack pack = packService.selectByBarcode(barcode);
        if (null != pack) {
            throw new CoolException(barcode + "重复提交");
        }
        Date now = new Date();
        pack = new Pack(
                barcode,    // 条码[非空]
                analyse.getMatnr(),    // 商品编号
                analyse.getBarcode(),    // 批号
                1L,    // 订单状态
                1,    // 状态
                now,    // 添加时间
                null,    // 添加人员
                now,    // 修改时间
                null,    // 修改人员
                null    // 备注
        );
        if (!packService.insert(pack)) {
            throw new CoolException("服务器内部错误,请联系管理员");
        }
        Mat mat = matService.selectByMatnr(analyse.getMatnr());
        if (mat == null) {
            mat = new Mat();
            // todo
            mat.setTagId(tagService.getTop().getId());
            mat.setMatnr(analyse.getMatnr());
            mat.setMaktx(barcode);
            mat.setStatus(1);
            mat.setCreateTime(now);
            mat.setUpdateTime(now);
            mat.setMemo("打包上线");
            if (!matService.insert(mat)) {
                throw new CoolException("服务器内部错误,请联系管理员");
            } else {
                log.info("打包上线添加新物料[商品编号:{}]", mat.getMatnr());
            }
        }
    }
}