自动化立体仓库 - WMS系统
whycq
2023-07-24 b7e08df5a07b3fa832a46ecc31983e16f2bccc8c
src/main/java/com/zy/asrs/utils/VersionUtils.java
@@ -1,9 +1,8 @@
package com.zy.asrs.utils;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.MatCode;
import com.zy.asrs.entity.WaitPakin;
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;
/**
@@ -14,51 +13,57 @@
    // 业务 ----------------------------------------------------------------------
    public static void setWrkDetl(WrkDetl wrkDetl, MatCode matCode) {
        wrkDetl.setMatnr(matCode.getMatNo()); // 产品编号
        wrkDetl.setMaktx(matCode.getMatName()); // 产品描述
        wrkDetl.setLgnum(matCode.getStr2()); // 规格
        wrkDetl.setColor(matCode.getStr3()); // 助记码
        wrkDetl.setAltme(matCode.getStr1()); // 单位
        wrkDetl.setBname(matCode.getStr4()); // 库位名称
        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.setColor(locDetl.getColor()); // 助记码
        wrkDetl.setBname(locDetl.getBname()); // 库位名称
        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()); // 托盘条码
        wrkDetl.setSupplier(locDetl.getSupplier());
    }
    public static void setLocDetl(LocDetl locDetl, MatCode matCode) {
        locDetl.setMatnr(matCode.getMatNo()); // 产品编号
        locDetl.setMaktx(matCode.getMatName()); // 产品描述
        locDetl.setLgnum(matCode.getStr2()); // 规格
        locDetl.setColor(matCode.getStr3()); // 助记码
        locDetl.setBname(matCode.getStr4()); // 库位名称
        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.setColor(wrkDetl.getColor()); // 助记码
        locDetl.setBname(wrkDetl.getBname()); // 库位名称
        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()); // 托盘条码
        locDetl.setSupplier(wrkDetl.getSupplier());
    }
    public static void setWaitPakIn(WaitPakin waitPakIn, MatCode matCode) {
        waitPakIn.setMatnr(matCode.getMatNo()); // 产品编号
        waitPakIn.setMaktx(matCode.getMatName()); // 产品描述
        waitPakIn.setLgnum(matCode.getStr2()); // 规格
        waitPakIn.setColor(matCode.getStr3()); // 助记码
        waitPakIn.setAltme(matCode.getStr1()); // 单位
        waitPakIn.setBname(matCode.getStr4()); // 库位名称
        waitPakIn.setLgnum(matCode.getSpecs()); // 规格
        waitPakIn.setAltme(matCode.getUnit()); // 单位
        waitPakIn.setType(matCode.getSize()); // 尺寸
        waitPakIn.setColor(matCode.getColor()); // 颜色
        //waitPakIn.setWeight(matCode.getWeight()); // 单重
    }
    // excel ----------------------------------------------------------------------
@@ -117,5 +122,41 @@
        matCode.setNum5(excel.getNum5());
    }
    /**
     *  库位移转时类型检测
     **/
    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;
    }
}