自动化立体仓库 - WMS系统
18516761980
2021-12-06 3d57910ed5c971d143b71af4f9bfb4c18dcf6e9d
src/main/java/com/zy/common/service/CommonService.java
@@ -49,7 +49,7 @@
    /**
     * 生成工作号
     * @param wrkMk 0:入出库 ; 1:其他
     * @param wrkMk 0:入库 ; 1:出库;2拣选
     * @return workNo(工作号)
     */
    public int getWorkNo(Integer wrkMk) {
@@ -59,7 +59,7 @@
        }
        int workNo = 0;
        // 入出库类型
        if (wrkLastno.getWrkMk() == 0) {
        if (wrkLastno.getWrkMk() == 0 || wrkLastno.getWrkMk() == 1 || wrkLastno.getWrkMk() == 2) {
            workNo = wrkLastno.getWrkNo();
            int sNo = wrkLastno.getSNo();
            int eNo = wrkLastno.getENo();
@@ -105,11 +105,15 @@
    public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, boolean emptyMk, List<String> matNos, LocTypeDto locTypeDto, LocTypeDto oldLocType, int times) {
        StartupDto startupDto = new StartupDto();
        // 生成工作号
        if (sourceStaNo == 103) {
        int crnNo = 0;
        if (sourceStaNo < 200) {
            whsType = 1;
        } else if (sourceStaNo == 203) {
            crnNo=1;
        } else if (sourceStaNo >= 200) {
            whsType = 2;
            crnNo=2;
        }
        int workNo = getWorkNo(0);
        RowLastno rowLastno = rowLastnoService.selectById(whsType);
        if (Cools.isEmpty(rowLastno)) {
@@ -121,12 +125,12 @@
        int crn_qty = rowLastno.getCrnQty();     // 堆垛机数量(巷道数量)
        int rowCount = eRow - sRow + 1;          // 库排总数
        // 目标堆垛机号
        int crnNo = 0;
//        int crnNo = 0;
        // 目标库位
        LocMast locMast = null;
        // 靠近摆放规则 --- 同天同规格物料
        if (!Cools.isEmpty(matNos)) {
        if (!Cools.isEmpty(matNos) && sourceStaNo < 200) {
            List<String> locNos = locDetlService.getSameDetlToday(matNos.get(0), sRow, eRow);
            for (String locNo : locNos) {
                if (Utils.isShallowLoc(slaveProperties, locNo)) {
@@ -235,7 +239,12 @@
        // 1.当检索库排为浅库位排时,优先寻找当前库排的深库位排
        if (locMast == null) {
            if (Utils.isShallowLoc(slaveProperties, curRow)) {
                Integer deepRow = Utils.getDeepRow(slaveProperties, curRow);
                Integer deepRow = 0;
                if(curRow == 2) {
                    deepRow = Utils.getDeepRow(slaveProperties, curRow);
                } else {
                    deepRow = curRow;
                }
                locMast = locMastService.queryFreeLocMast(deepRow, locTypeDto.getLocType1(), locTypeDto.getLocType2(), locTypeDto.getLocType3());
                // 因库位移转、需预留空库位
                if (!locMastService.checkEmptyCount(locMast)) {
@@ -420,6 +429,7 @@
//        startupDto.setLocNo(locNo);
//        return startupDto;
//    }
//出深库位托盘
    public static void main(String[] args) {
        System.out.println(Arith.remainder(1, 4));