自动化立体仓库 - WCS系统
#
luxiaotao1123
2022-10-25 04e434d4d2671546870375675b79dc53f619f446
#
4个文件已修改
72 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/LocMastService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/Utils.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/LocMastService.java
@@ -56,7 +56,7 @@
     * @param locNo
     * @return
     */
    Boolean isOutMost(String locNo);
    Boolean isOutMost(String locNo, Boolean pakin);
    List<String> getDemoNextLoc(Integer crnNo);
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -54,8 +54,8 @@
    }
    @Override
    public Boolean isOutMost(String locNo) {
        return Integer.parseInt(locNo.substring(0, 2)) == Utils.getGroupRow(locNo);
    public Boolean isOutMost(String locNo, Boolean pakin) {
        return Integer.parseInt(locNo.substring(0, 2)) == Utils.getGroupRow(locNo, pakin);
    }
    @Override
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -788,7 +788,7 @@
                }
            } else {
                // 目标库位 ===>> 最外层库位
                if (locMastService.isOutMost(wrkMast.getLocNo())) {
                if (locMastService.isOutMost(wrkMast.getLocNo(), true)) {
                    // 判断小车是否在最外层库位,如果是则搬走,如果不是,则直接堆垛机入库
                    Integer steNo = this.hasCar(wrkMast.getLocNo());
                    // 有小车
@@ -979,7 +979,7 @@
                wrkMastMapper.updateById(wrkMast);
                // 最外层库位,直接堆垛机出库
                if (locMastService.isOutMost(wrkMast.getSourceLocNo())) {
                if (locMastService.isOutMost(wrkMast.getSourceLocNo(), false)) {
                    // 已经存在吊车执行任务时,则过滤
                    if (wrkMastMapper.selectWorking(slave.getId()) != null) {
                        continue;
src/main/java/com/zy/asrs/utils/Utils.java
@@ -2,7 +2,6 @@
import com.core.common.Arith;
import com.core.common.Cools;
import com.zy.core.enums.SteABType;
import com.zy.core.properties.SlaveProperties;
import java.text.DecimalFormat;
@@ -13,6 +12,15 @@
 * Created by vincent on 2020/8/27
 */
public class Utils {
    public static final List<Integer> FIRST_GROUP_ROW_LIST = new ArrayList<Integer>() {{
        add(2);add(3);add(4);add(5);add(6);add(7);add(8);add(9);add(10);
        add(11);add(12);add(13);add(14);add(15);add(16);add(17);
    }};
    public static final List<Integer> SECOND_GROUP_ROW_LIST = new ArrayList<Integer>() {{
        add(18);add(19);add(20);
        add(21);add(22);add(23);add(24);add(25);add(26);add(27);add(28);add(29);add(30);
    }};
    private static final DecimalFormat fmt = new DecimalFormat("##0.00");
@@ -37,44 +45,28 @@
        }
    }
    public static Integer getGroupRow(String locNo){
    public static Integer getGroupRow(String locNo, Boolean pakin){
        int row = getRow(locNo);
        return getGroupRow(row);
        return getGroupRow(row, pakin);
    }
    public static Integer getGroupRow(Integer row) {
        switch (row) {
            case 0:
                return 0;
            case 1:
            case 2:
            case 3:
                return 3;
            case 4:
            case 5:
            case 6:
            case 7:
                return 4;
            case 8:
            case 9:
            case 10:
            case 11:
                return 11;
            case 12:
            case 13:
            case 14:
                return 12;
            case 15:
            case 16:
            case 17:
            case 18:
    public static Integer getGroupRow(Integer row, Boolean pakin) {
        if (pakin) {
            if (FIRST_GROUP_ROW_LIST.contains(row)) {
                return 17;
            } else if (SECOND_GROUP_ROW_LIST.contains(row)) {
                return 18;
            case 19:
            case 20:
            case 21:
                return 19;
            default:
                throw new RuntimeException("库位解析异常");
            } else {
                return 0;
            }
        } else {
            if (FIRST_GROUP_ROW_LIST.contains(row)) {
                return 2;
            } else if (SECOND_GROUP_ROW_LIST.contains(row)) {
                return 30;
            } else {
                return 0;
            }
        }
    }