自动化立体仓库 - WMS系统
18516761980
2021-12-06 3d57910ed5c971d143b71af4f9bfb4c18dcf6e9d
src/main/java/com/zy/asrs/utils/VersionUtils.java
@@ -1,8 +1,8 @@
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.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.common.model.LocTypeDto;
import com.zy.common.utils.excel.matcode.MatCodeExcel;
/**
@@ -13,54 +13,55 @@
    // 业务 ----------------------------------------------------------------------
    public static void setWrkDetl(WrkDetl wrkDetl, MatCode matCode) {
        wrkDetl.setMatnr(matCode.getMatNo()); // 物料编号
        wrkDetl.setMaktx(matCode.getMatName()); // 物料描述
        wrkDetl.setLgnum(matCode.getStr3()); // 规格
        wrkDetl.setType(matCode.getStr2()); // 物料类别
        wrkDetl.setMnemonic(matCode.getStr5()); // 助记码
        wrkDetl.setSupplier(matCode.getStr6()); // 默认供应商
        wrkDetl.setWarehouse(matCode.getStr7()); // 默认仓库
        wrkDetl.setBrand(matCode.getStr8()); // 品牌
        wrkDetl.setAltme(matCode.getStr1()); // 单位
        wrkDetl.setMatNo(matCode.getMatNo()); // 产品编码
        wrkDetl.setMatName(matCode.getMatName()); // 产品名称
        wrkDetl.setSpecs(matCode.getSpecs()); // 规格
        wrkDetl.setUnit(matCode.getUnit()); // 单位
        wrkDetl.setSize(matCode.getSize()); // 尺寸
        wrkDetl.setColor(matCode.getColor()); // 颜色
        wrkDetl.setWeight(matCode.getWeight()); // 单重
    }
    public static void setWrkDetl(WrkDetl wrkDetl, LocDetl locDetl) {
        wrkDetl.setMatnr(locDetl.getMatnr()); // 物料编号
        wrkDetl.setMaktx(locDetl.getMaktx()); // 物料描述
        wrkDetl.setLgnum(locDetl.getLgnum()); // 规格
        wrkDetl.setType(locDetl.getType()); // 物料类别
        wrkDetl.setMnemonic(locDetl.getMnemonic()); // 助记码
        wrkDetl.setSupplier(locDetl.getSupplier()); // 默认供应商
        wrkDetl.setWarehouse(locDetl.getWarehouse()); // 默认仓库
        wrkDetl.setBrand(locDetl.getBrand()); // 品牌
        wrkDetl.setAltme(locDetl.getAltme()); // 单位
        wrkDetl.setMatNo(locDetl.getMatNo()); // 产品编号
        wrkDetl.setMatName(locDetl.getMatName()); // 产品描述
        wrkDetl.setSpecs(locDetl.getSpecs()); // 规格
        wrkDetl.setUnit(locDetl.getUnit()); // 单位
        wrkDetl.setSize(locDetl.getSize()); // 尺寸
        wrkDetl.setColor(locDetl.getColor()); // 颜色
        wrkDetl.setWeight(locDetl.getWeight()); // 单重
        wrkDetl.setZpallet(locDetl.getZpallet()); // 托盘条码
    }
    public static void setLocDetl(LocDetl locDetl, MatCode matCode) {
        locDetl.setMatnr(matCode.getMatNo()); // 物料编号
        locDetl.setMaktx(matCode.getMatName()); // 物料描述
        locDetl.setLgnum(matCode.getStr3()); // 规格
        locDetl.setType(matCode.getStr2()); // 物料类别
        locDetl.setMnemonic(matCode.getStr5()); // 助记码
        locDetl.setSupplier(matCode.getStr6()); // 默认供应商
        locDetl.setWarehouse(matCode.getStr7()); // 默认仓库
        locDetl.setBrand(matCode.getStr8()); // 品牌
        locDetl.setAltme(matCode.getStr1()); // 单位
        locDetl.setMatNo(matCode.getMatNo()); // 产品编号
        locDetl.setMatName(matCode.getMatName()); // 产品描述
        locDetl.setSpecs(matCode.getSpecs()); // 规格
        locDetl.setUnit(matCode.getUnit()); // 单位
        locDetl.setSize(matCode.getSize()); // 尺寸
        locDetl.setColor(matCode.getColor()); // 颜色
        locDetl.setWeight(matCode.getWeight()); // 单重
    }
    public static void setLocDetl(LocDetl locDetl, WrkDetl wrkDetl) {
        locDetl.setMatnr(wrkDetl.getMatnr()); // 物料编号
        locDetl.setMaktx(wrkDetl.getMaktx()); // 物料描述
        locDetl.setLgnum(wrkDetl.getLgnum()); // 规格
        locDetl.setType(wrkDetl.getType()); // 物料类别
        locDetl.setMnemonic(wrkDetl.getMnemonic()); // 助记码
        locDetl.setSupplier(wrkDetl.getSupplier()); // 默认供应商
        locDetl.setWarehouse(wrkDetl.getWarehouse()); // 默认仓库
        locDetl.setBrand(wrkDetl.getBrand()); // 品牌
        locDetl.setAnfme(wrkDetl.getAnfme()); // 数量
        locDetl.setAltme(wrkDetl.getAltme()); // 单位
        locDetl.setMatNo(wrkDetl.getMatNo()); // 产品编号
        locDetl.setMatName(wrkDetl.getMatName()); // 产品描述
        locDetl.setSpecs(wrkDetl.getSpecs()); // 规格
        locDetl.setUnit(wrkDetl.getUnit()); // 单位
        locDetl.setSize(wrkDetl.getSize()); // 尺寸
        locDetl.setColor(wrkDetl.getColor()); // 颜色
        locDetl.setQty(wrkDetl.getQty()); // 数量
        locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
    }
    public static void setWaitPakIn(WaitPakin waitPakIn, MatCode matCode) {
        waitPakIn.setMatnr(matCode.getMatNo()); // 产品编号
        waitPakIn.setMaktx(matCode.getMatName()); // 产品描述
        waitPakIn.setLgnum(matCode.getSpecs()); // 规格
        waitPakIn.setAltme(matCode.getUnit()); // 单位
        waitPakIn.setType(matCode.getSize()); // 尺寸
        waitPakIn.setColor(matCode.getColor()); // 颜色
        //waitPakIn.setWeight(matCode.getWeight()); // 单重
    }
    // excel ----------------------------------------------------------------------
@@ -70,6 +71,11 @@
                matCode.getMatNo(),
                matCode.getBarcode(),
                matCode.getMatName(),
                matCode.getSpecs(),
                matCode.getUnit(),
                matCode.getSize(),
                matCode.getColor(),
                matCode.getWeight(),
                matCode.getStr1(),
                matCode.getStr2(),
                matCode.getStr3(),
@@ -80,25 +86,11 @@
                matCode.getStr8(),
                matCode.getStr9(),
                matCode.getStr10(),
                matCode.getStr11(),
                matCode.getStr12(),
                matCode.getStr13(),
                matCode.getStr14(),
                matCode.getStr15(),
                matCode.getStr16(),
                matCode.getStr17(),
                matCode.getStr18(),
                matCode.getStr19(),
                matCode.getStr20(),
                matCode.getStr21(),
                matCode.getStr22(),
                matCode.getStr23(),
                matCode.getNum1(),
                matCode.getNum2(),
                matCode.getNum3(),
                matCode.getNum4(),
                matCode.getNum5(),
                matCode.getNum6()
                matCode.getNum5()
        );
    }
@@ -106,6 +98,11 @@
        matCode.setMatNo(excel.getMatNo());
        matCode.setMatName(excel.getMatName());
        matCode.setBarcode(excel.getBarcode());
        matCode.setSpecs(excel.getSpecs());
        matCode.setUnit(excel.getUnit());
        matCode.setSize(excel.getSize());
        matCode.setColor(excel.getColor());
        matCode.setWeight(excel.getWeight());
        matCode.setStr1(excel.getStr1());
        matCode.setStr2(excel.getStr2());
        matCode.setStr3(excel.getStr3());
@@ -116,26 +113,48 @@
        matCode.setStr8(excel.getStr8());
        matCode.setStr9(excel.getStr9());
        matCode.setStr10(excel.getStr10());
        matCode.setStr11(excel.getStr11());
        matCode.setStr12(excel.getStr12());
        matCode.setStr13(excel.getStr13());
        matCode.setStr14(excel.getStr14());
        matCode.setStr15(excel.getStr15());
        matCode.setStr16(excel.getStr16());
        matCode.setStr17(excel.getStr17());
        matCode.setStr18(excel.getStr18());
        matCode.setStr19(excel.getStr19());
        matCode.setStr20(excel.getStr20());
        matCode.setStr21(excel.getStr21());
        matCode.setStr22(excel.getStr22());
        matCode.setStr23(excel.getStr23());
        matCode.setNum1(excel.getNum1());
        matCode.setNum2(excel.getNum2());
        matCode.setNum3(excel.getNum3());
        matCode.setNum4(excel.getNum4());
        matCode.setNum5(excel.getNum5());
        matCode.setNum6(excel.getNum6());
    }
    /**
     *  库位移转时类型检测
     **/
    public static void locMoveCheckLocType(LocMast sourceLoc, LocMast loc){
        // 如果源库位是高库位,目标库位是低库位
        if (sourceLoc.getLocType1() == 2 && loc.getLocType1() == 1) {
            throw new CoolException("高库位不能移转至低库位");
        }
//        // 如果源库位是宽库位,目标库位是窄库位
//        if (sourceLoc.getLocType2() == 2 && loc.getLocType2() == 1) {
//            throw new CoolException("宽库位不能移转至窄库位");
//        }
//        // 如果源库位是重库位,目标库位是轻库位
//        if (sourceLoc.getLocType3() == 2 && loc.getLocType3() == 1) {
//            throw new CoolException("重库位不能移转至轻库位");
//        }
    }
    /**
     *  库位移转时类型检测
     **/
    public static boolean locMoveCheckLocType(LocMast loc, LocTypeDto dto){
        // 如果源库位是高库位,目标库位是低库位
        if (dto.getLocType1() == 2 && loc.getLocType1() == 1) {
            return false;
        }
//        // 如果源库位是宽库位,目标库位是窄库位
//        if (dto.getLocType2() == 2 && loc.getLocType2() == 1) {
//            return false;
//        }
//        // 如果源库位是重库位,目标库位是轻库位
//        if (dto.getLocType3() == 2 && loc.getLocType3() == 1) {
//            return false;
//        }
        return true;
    }
}