自动化立体仓库 - WMS系统
pang.jiabao
2025-04-15 b4227b5145943e067351a2a59ca34826b41d6fb7
src/main/java/com/zy/asrs/utils/VersionUtils.java
@@ -1,51 +1,140 @@
package com.zy.asrs.utils;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.MatCode;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.result.Pakin;
import com.zy.common.model.LocTypeDto;
/**
 * Created by vincent on 2020/7/14
 */
public class VersionUtils {
    public static void setWrkDetl(WrkDetl wrkDetl, MatCode matCode) {
        wrkDetl.setMatnr(matCode.getMatNo()); // 物料编号
        wrkDetl.setMaktx(matCode.getMatName()); // 物料描述
        wrkDetl.setLgnum(matCode.getStr2()); // 规格
        wrkDetl.setZmatid(matCode.getStr3()); // 颜色
        wrkDetl.setAltme(matCode.getStr1()); // 单位
        wrkDetl.setBname(matCode.getStr4()); // 用户ID
    // 业务 ----------------------------------------------------------------------
    //    public static void setWrkDetl(WrkDetl wrkDetl, Mat mat) {
//        wrkDetl.setMatnr(matCode.getMatNo()); // 物料编号
//        wrkDetl.setMaktx(matCode.getMatName()); // 物料描述
//        wrkDetl.setLgnum(matCode.getStr2()); // 规格
//        wrkDetl.setType(matCode.getStr5()); // 型号
//        wrkDetl.setColor(matCode.getBarcode()); // 条码
//        wrkDetl.setSupplier(matCode.getStr6()); // 序列码
//        wrkDetl.setWarehouse(matCode.getStr7()); // 单据编号
//        wrkDetl.setBrand(matCode.getStr3()); // 品项数
//        wrkDetl.setAltme(matCode.getStr1()); // 单位
//        wrkDetl.setBname(matCode.getStr4()); // 客户名称
//    }
//
//    public static void setWrkDetl(WrkDetl wrkDetl, LocDetl locDetl) {
//        wrkDetl.setMatnr(locDetl.getMatnr()); // 物料编号
//        wrkDetl.setMaktx(locDetl.getMaktx()); // 物料描述w
//        wrkDetl.setBatch(locDetl.getBatch());
//        wrkDetl.setOrderNo(locDetl.getOrderNo());
//        wrkDetl.setLgnum(locDetl.getLgnum()); // 规格
//        wrkDetl.setType(locDetl.getType()); // 型号
//        wrkDetl.setColor(locDetl.getColor()); // 条码
//        wrkDetl.setSupplier(locDetl.getSupplier()); // 序列码
//        wrkDetl.setWarehouse(locDetl.getWarehouse()); // 单据编号
//        wrkDetl.setBrand(locDetl.getBrand()); // 品项数
//        wrkDetl.setAltme(locDetl.getAltme()); // 单位
//        wrkDetl.setBname(locDetl.getBname()); // 客户名称
//        wrkDetl.setZpallet(locDetl.getZpallet()); // 托盘条码
//    }
//
//    public static void setLocDetl(LocDetl locDetl, MatCode matCode) {
//        locDetl.setMatnr(matCode.getMatNo()); // 物料编号
//        locDetl.setMaktx(matCode.getMatName()); // 物料描述
//        locDetl.setLgnum(matCode.getStr2()); // 规格
//        locDetl.setType(matCode.getStr5()); // 型号
//        locDetl.setColor(matCode.getBarcode()); // 条码
//        locDetl.setSupplier(matCode.getStr6()); // 序列码
//        locDetl.setWarehouse(matCode.getStr7()); // 单据编号
//        locDetl.setBrand(matCode.getStr3()); // 品项数
//        locDetl.setAltme(matCode.getStr1()); // 单位
//        locDetl.setBname(matCode.getStr4()); // 客户名称
//    }
//
//    public static void setLocDetl(LocDetl locDetl, WrkDetl wrkDetl) {
//        locDetl.setMatnr(wrkDetl.getMatnr()); // 物料编号
//        locDetl.setMaktx(wrkDetl.getMaktx()); // 物料描述
//        locDetl.setBatch(wrkDetl.getBatch());
//        locDetl.setOrderNo(wrkDetl.getOrderNo());
//        locDetl.setLgnum(wrkDetl.getLgnum()); // 规格
//        locDetl.setType(wrkDetl.getType()); // 型号
//        locDetl.setColor(wrkDetl.getColor()); // 条码
//        locDetl.setSupplier(wrkDetl.getSupplier()); // 序列码
//        locDetl.setWarehouse(wrkDetl.getWarehouse()); // 单据编号
//        locDetl.setBrand(wrkDetl.getBrand()); // 品项数
//        locDetl.setAltme(wrkDetl.getAltme()); // 单位
//        locDetl.setBname(wrkDetl.getBname()); // 客户名称
//        locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
//    }
//
//    public static void setWaitPakIn(WaitPakin waitPakIn, MatCode matCode) {
//        waitPakIn.setMatnr(matCode.getMatNo()); // 物料编号
//        waitPakIn.setMaktx(matCode.getMatName()); // 物料描述
//        waitPakIn.setLgnum(matCode.getStr2()); // 规格
//        waitPakIn.setType(matCode.getStr5()); // 型号
//        waitPakIn.setColor(matCode.getBarcode()); // 条码
//        waitPakIn.setSupplier(matCode.getStr6()); // 序列码
//        waitPakIn.setWarehouse(matCode.getStr7()); // 单据编号
//        waitPakIn.setBrand(matCode.getStr3()); // 品项数
//        waitPakIn.setAltme(matCode.getStr1()); // 单位
//        waitPakIn.setBname(matCode.getStr4()); // 客户名称
//    }
//
//    public static void setOrderDetl(OrderDetl orderDetl, MatCode matCode) {
//        orderDetl.setMatnr(matCode.getMatNo()); // 物料编号
//        orderDetl.setMaktx(matCode.getMatName()); // 物料描述
//        orderDetl.setSpecs(matCode.getStr2()); // 规格
//        orderDetl.setSupplier(matCode.getStr6()); // 序列码
//    }
//
//    public static void setWaitPakIn(WaitPakin waitPakIn, OrderDetl orderDetl) {
//        waitPakIn.setMatnr(orderDetl.getMatnr()); // 物料编号
//        waitPakIn.setMaktx(orderDetl.getMaktx()); // 物料描述
//        waitPakIn.setBatch(orderDetl.getBatch());
//        waitPakIn.setOrderNo(orderDetl.getOrderNo());
//        waitPakIn.setLgnum(orderDetl.getSpecs()); // 规格
//        waitPakIn.setType(orderDetl.getModel()); // 型号
//        waitPakIn.setSupplier(orderDetl.getSupplier()); // 序列码
//        waitPakIn.setAltme(orderDetl.getUnit()); // 单位
//    }
//
//    public static void setWrkDetl(WrkDetl wrkDetl, OrderDetl orderDetl) {
//        wrkDetl.setMatnr(orderDetl.getMatnr()); // 物料编号
//        wrkDetl.setMaktx(orderDetl.getMaktx()); // 物料描述
//        wrkDetl.setBatch(orderDetl.getBatch());
//        wrkDetl.setOrderNo(orderDetl.getOrderNo());
//        wrkDetl.setLgnum(orderDetl.getSpecs()); // 规格
//        wrkDetl.setType(orderDetl.getModel()); // 型号
//        wrkDetl.setSupplier(orderDetl.getSupplier()); // 序列码
//        wrkDetl.setAltme(orderDetl.getUnit()); // 单位
//    }
    public static void setPakin(Pakin pakin, Mat mat) {
        pakin.setMatnr(mat.getMatnr());
        pakin.setMaktx(mat.getMaktx());
        pakin.setName(mat.getName());
        pakin.setSpecs(mat.getSpecs());
        pakin.setModel(mat.getModel());
        pakin.setUnit(mat.getUnit());
        pakin.setBarcode(mat.getBarcode());
        pakin.setItemNum(Integer.valueOf(mat.getItemNum()));
        pakin.setPrice(mat.getPrice());
        pakin.setWeight(mat.getWeight());
    }
    public static void setWrkDetl(WrkDetl wrkDetl, LocDetl locDetl) {
        wrkDetl.setMatnr(locDetl.getMatnr()); // 物料编号
        wrkDetl.setMaktx(locDetl.getMaktx()); // 物料描述
        wrkDetl.setLgnum(locDetl.getLgnum()); // 规格
        wrkDetl.setZmatid(locDetl.getZmatid()); // 颜色
        wrkDetl.setAltme(locDetl.getAltme()); // 单位
        wrkDetl.setBname(locDetl.getBname()); // 用户ID
        wrkDetl.setZpallet(locDetl.getZpallet()); // 托盘条码
    }
    public static void setLocDetl(LocDetl locDetl, MatCode matCode) {
        locDetl.setMatnr(matCode.getMatNo()); // 物料编号
        locDetl.setMaktx(matCode.getMatName()); // 物料描述
        locDetl.setLgnum(matCode.getStr2()); // 规格
        locDetl.setZmatid(matCode.getStr3()); // 颜色
        locDetl.setAltme(matCode.getStr1()); // 单位
        locDetl.setBname(matCode.getStr4()); // 用户ID
    }
    public static void setLocDetl(LocDetl locDetl, WrkDetl wrkDetl) {
        locDetl.setMatnr(wrkDetl.getMatnr()); // 物料编号
        locDetl.setMaktx(wrkDetl.getMaktx()); // 物料描述
        locDetl.setLgnum(wrkDetl.getLgnum()); // 规格
        locDetl.setZmatid(wrkDetl.getZmatid()); // 颜色
        locDetl.setAnfme(wrkDetl.getAnfme()); // 数量
        locDetl.setAltme(wrkDetl.getAltme()); // 单位
        locDetl.setBname(wrkDetl.getBname()); // 用户ID
        locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
    /**
     * 库位移转时类型检测
     **/
    public static boolean locMoveCheckLocType(LocMast loc, LocTypeDto dto) {
        // 如果源库位是高库位,目标库位是低库位
        if (dto.getLocType1() == 2 && loc.getLocType1() == 1) {
            return false;
        }
        return true;
    }
}