自动化立体仓库 - WMS系统
#
野心家
2024-12-02 4d0fb4ddb8d307088c8a41399dc436cdaa3d4d2c
#
4个文件已修改
57 ■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/LocMast.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/properties/SystemProperties.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/LocMast.java
@@ -90,7 +90,7 @@
    @TableField("loc_type")
    private String locType;
    @ApiModelProperty(value= "库位类型:1:测试库位、2:静置库位、3:测试前暂存库为、4:测试失败库位、0:未知")
    @ApiModelProperty(value= "库位类型:1:测试库位、2:静置库位、3:测试前暂存库为、4:测试失败库位、5:低库位、6:高库位")
    @TableField("loc_type1")
    private Short locType1;
src/main/java/com/zy/common/properties/SystemProperties.java
@@ -63,7 +63,7 @@
    // 生成激活码
    public static void main(String[] args) {
        String timeStr = "2021-08-01 17:48:35";
        String timeStr = "6024-11-30 13:00:35";
        Date exprTime = DateUtils.convert(timeStr);
        String code = AesUtils.encrypt(DateUtils.convert(exprTime, DateUtils.yyyyMMddHHmmss), SystemProperties.SALT);
        System.out.println("激活码:"+code);
src/main/java/com/zy/common/service/CommonService.java
@@ -146,41 +146,38 @@
        if (crnNo==1){
            LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>()
                    .eq("loc_sts", "F")
                    .eq("loc_type1", (short) 3));
                    .eq("loc_type1", (short) 3));//待测库位
            LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
                    .eq("loc_sts", "O")
                    .eq("loc_type1", (short) 1));
                    .eq("loc_type1", (short) 1));//测试库位
            if (!Cools.isEmpty(locMast1)||Cools.isEmpty(locMast2)){
                locMast = locMastService.queryFreeLocMast(2,(short)3);
                if (Cools.isEmpty(locMast)){
                    locMast = locMastService.queryFreeLocMast(1,(short)3);
                List<LocMast> locMasts=locMastService.selectList(new EntityWrapper<LocMast>()
                        .eq("loc_sts", "O").eq("loc_type1", (short) 3)
                        .orderBy("row1",false).orderBy("bay1",true));
                if(!Cools.isEmpty(locMasts)){
                    locMast = locMasts.get(0);
                }else{
                    throw new CoolException("没有待测库位无法入库!!!");
                }
            }
        }
        if (Cools.isEmpty(locMast)){
            // 开始查找库位 ==============================>
            int ruleId = Integer.parseInt(Parameter.get().getFindLocRule());
            if (whsType != 1) {
                locMast = locMastService.queryFreeLocMast(curRow, locTypeDto.getLocType1());
            } else if (ruleId == 1) {  //按测试设备排序,优先排满单台设备
                locMast = locMastService.queryFreeLocMast1(curRow, locTypeDto.getLocType1(), channelMax + 1);
            } else if (ruleId == 2) {  //按通道排序,均匀分配每台设备
                Short locType2 = getLocType2Small(curRow, locTypeDto.getLocType1());
                locMast = locMastService.queryFreeLocMast2(curRow, locTypeDto.getLocType1(), locType2);
            } else { //默认规则
                locMast = locMastService.queryFreeLocMast(curRow, locTypeDto.getLocType1());
            locMast = locMastService.queryFreeLocMast(1, locTypeDto.getLocType1());
//            // 开始查找库位 ==============================>
//            int ruleId = Integer.parseInt(Parameter.get().getFindLocRule());
//            if (whsType != 1) {
//                locMast = locMastService.queryFreeLocMast(curRow, locTypeDto.getLocType1());
//            } else if (ruleId == 1) {  //按测试设备排序,优先排满单台设备
//                locMast = locMastService.queryFreeLocMast1(curRow, locTypeDto.getLocType1(), channelMax + 1);
//            } else if (ruleId == 2) {  //按通道排序,均匀分配每台设备
//                Short locType2 = getLocType2Small(curRow, locTypeDto.getLocType1());
//                locMast = locMastService.queryFreeLocMast2(curRow, locTypeDto.getLocType1(), locType2);
//            } else { //默认规则
//                locMast = locMastService.queryFreeLocMast(curRow, locTypeDto.getLocType1());
//            }
            }
        }
        // 2.库位当前所属尺寸无空库位时,调整尺寸参数,向上兼容检索库位
        if (Cools.isEmpty(locMast)) {
            // 当前巷道无空库位时,递归调整至下一巷道,检索全部巷道无果后,跳出递归
            if (times < rowCount) {
                times = times + 1;
                return getLocNo(1, staDescId, sourceStaNo, matNos, locTypeDto, times);
            }
            log.error("系统没有空库位!!! 尺寸规格: {}, 轮询次数:{}", JSON.toJSONString(locTypeDto), times);
            throw new CoolException("没有空库位");
        }
        String locNo = locMast.getLocNo();
src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
  port: 8080
  port: 8081
  servlet:
    context-path: /@pom.build.finalName@
#  tomcat:
@@ -55,8 +55,8 @@
# 下位机配置
wcs-slave:
  # 双深
  doubleDeep: false
  # 双深库位排号  1,4,5,8,9,12,13,16
  doubleDeep: true
  # 双深库位排号  3,1,4
  doubleLocs:
  # 一个堆垛机负责的货架排数
  groupCount: 2