pang.jiabao
1 天以前 b1dfb711a89033765eccf16e536a90edbd4b8f1f
src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -846,10 +846,16 @@
        WrkMast wrkMast1050 = wrkMastMapper.selectPakInStep2(4, workNo1050);
        // 判断1050没有被堆垛机取,并且没有尾拖信号
        if(wrkMast1050 != null && wrkMast1050.getCtnType() != 1) {
            WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo1050));
            String model = wrkDetl.getModel();
            // 判断这两个货是不是一种类型,不是给1050分配库位,给尾拖标识,是则给两个货分配库位
             if(wrkMast1050.getPdcType().equals(wrkMast1049.getPdcType())) {
                 // 取新库位组的第一个库位
                 List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("crn_no", 4).eq("loc_sts", "O"));
                 Wrapper<LocMast> wrapper = new EntityWrapper<LocMast>().eq("crn_no", 4).eq("loc_sts", "O");
                 if (model.equals("IBC")) { // 最上面一层只能放208L
                     wrapper.ne("lev1", 11);
                 }
                 List<LocMast> locMasts = locMastService.selectList(wrapper);
                 List<LocMast> collect = locMasts.stream().filter(locMast1 -> locMast1.getRow1() == 9 || locMast1.getRow1() == 11).collect(Collectors.toList());
                 List<LocMast> collect1 = locMasts.stream().filter(locMast1 -> locMast1.getRow1() == 10 || locMast1.getRow1() == 12).collect(Collectors.toList());
                 if (collect.size() <= 0 && collect1.size()  <= 0) {
@@ -868,8 +874,7 @@
                     News.error("站点:{},任务号{}:入库空桶库无对应空空桶组",1050,workNo1050);
                     return true;
                 }
                 WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo1050));
                 if (wrkDetl.getModel().equals("208L") && locMastList.size() <= 40 * 2 * 2) { // 最上面一层只能放208L,库位剩余量不多时,如果是208L桶入库,则先从最顶层放
                 if (model.equals("208L") && locMastList.size() <= 40 * 2 * 2) { // 最上面一层只能放208L,库位剩余量不多时,如果是208L桶入库,则先从最顶层放
                     locMastList = locMastList.stream().sorted(Comparator.comparing(LocMast::getLev1).reversed().thenComparing(LocMast::getBay1).thenComparing(LocMast::getRow1)).collect(Collectors.toList());
                 } else {
                     locMastList = locMastList.stream().sorted(Comparator.comparing(LocMast::getLev1).thenComparing(LocMast::getBay1).thenComparing(LocMast::getRow1)).collect(Collectors.toList());
@@ -905,7 +910,11 @@
                 }
             } else {
                 // 取新库位组的第一个库位
                 List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("crn_no", 4).eq("loc_sts", "O"));
                 Wrapper<LocMast> wrapper = new EntityWrapper<LocMast>().eq("crn_no", 4).eq("loc_sts", "O");
                 if (model.equals("IBC")) { // 最上面一层只能放208L
                     wrapper.ne("lev1", 11);
                 }
                 List<LocMast> locMasts = locMastService.selectList(wrapper);
                 List<LocMast> collect = locMasts.stream().filter(locMast1 -> locMast1.getRow1() == 9 || locMast1.getRow1() == 11).collect(Collectors.toList());
                 List<LocMast> collect1 = locMasts.stream().filter(locMast1 -> locMast1.getRow1() == 10 || locMast1.getRow1() == 12).collect(Collectors.toList()); // 第一个先放这两排
                 if (collect.size() <= 0 && collect1.size()  <= 0) {
@@ -924,8 +933,7 @@
                    News.error("站点:{},任务号{}:入库空桶库无对应空空桶组",1050,workNo1050);
                    return true;
                }
                 WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo1050));
                if (wrkDetl.getModel().equals("208L") && locMastList.size() <= 40 * 2 * 2) { // 最上面一层只能放208L,库位剩余量不多时,如果是208L桶入库,则先从最顶层放
                if (model.equals("208L") && locMastList.size() <= 40 * 2 * 2) { // 最上面一层只能放208L,库位剩余量不多时,如果是208L桶入库,则先从最顶层放
                    locMastList = locMastList.stream().sorted(Comparator.comparing(LocMast::getLev1).reversed().thenComparing(LocMast::getBay1).thenComparing(LocMast::getRow1)).collect(Collectors.toList());
                } else {
                    locMastList = locMastList.stream().sorted(Comparator.comparing(LocMast::getLev1).thenComparing(LocMast::getBay1).thenComparing(LocMast::getRow1)).collect(Collectors.toList());
@@ -1356,6 +1364,10 @@
     * 堆垛机回原点
     */
    public synchronized void originGo() throws InterruptedException {
        Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "autoHome").eq("status", 1));
        if (config == null || Cools.isEmpty(config.getValue()) || !config.getValue().equals("Y")) {
            return;
        }
        for (CrnSlave crn : slaveProperties.getCrn()) {
            // 获取堆垛机信息
@@ -1410,7 +1422,7 @@
                    basCrnpService.updateById(basCrnp); // 设置更新时间,避免重复下发回原点
                    log.info("{}号堆垛机回原点任务下发成功:{}", crn.getId(), JSON.toJSON(crnCommand));
                }
                Thread.sleep(3000);
                Thread.sleep(4000);
            }
        }
    }