自动化立体仓库 - WMS系统
pang.jiabao
2025-04-15 b4227b5145943e067351a2a59ca34826b41d6fb7
src/main/java/com/zy/asrs/task/handler/CheckDeepHandler.java
@@ -29,10 +29,6 @@
    @Value("${wcs-slave.doubleDeep}")
    private boolean confirmDeep;
    @Value("${wcs-slave.doubleLocs}")
    private String deepLocs;
    @Value("${wcs-slave.shallowLocs}")
    private String shallowLocs;
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
@@ -49,43 +45,64 @@
    @Transactional
    public synchronized ReturnT<String> start() {
        try {
            for (int crnNo = 1; crnNo < 3; crnNo++){
            for (int crnNo = 1; crnNo < 5; crnNo++) {
                List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
                        .eq("crn_no",crnNo)
                        .eq("crn_no", crnNo)
                        .last(" and wrk_sts in (2,3,4,11,12)")
                );
                if (wrkMasts.size() > 0) continue;
//                //暂停移库
//                BasCrnp crnp = basCrnpService.selectById(crnNo);
//                if(!Cools.isEmpty(crnp) && crnp.getOrigin()!=0){
//                    continue;
//                }
                //暂停移库
                BasCrnp crnp = basCrnpService.selectById(crnNo);
                if(!Cools.isEmpty(crnp) && !Cools.isEmpty(crnp.getTankQty()) && crnp.getTankQty()==0){
                    continue;
                }
                LocMast locMast = locMastService.queryNeedMoveShallLoc(crnNo);
                if (crnNo==2 || crnNo == 4){
                    locMast=locMastService.queryNeedMoveShallLocD(crnNo);
                }
                List<LocMast> locMasts = locMastService.queryShallowLocFMast(crnNo);
                if (null == locMasts) continue;
                for (LocMast sourceLoc : locMasts){
                    String deep = Utils.getDeepLoc(slaveProperties, sourceLoc.getLocNo());
                    LocMast destLoc = locMastService.selectById(deep);
                    if(!Cools.isEmpty(sourceLoc) && !Cools.isEmpty(destLoc)) {
                        //查找源库位是否有转移任务,如果有,不生成库位移转
                        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
                                .eq("source_loc_no", sourceLoc.getLocNo()));
                        if (Cools.isEmpty(wrkMast) && destLoc.getLocSts().equals("O") &&
                                (sourceLoc.getLocSts().equals("F") || sourceLoc.getLocSts().equals("D"))) {
                            workService.locMove(sourceLoc.getLocNo(), deep, 1L);
                        }
                    }
//                LocMast targetLoc = locMastService.queryEmptyDeepLoc(crnNo);
                if (!Cools.isEmpty(locMast)) {
                    workService.locMove(locMast.getLocNo(), 1L);
                }
            }
                return SUCCESS;
//                //暂停移库
//                BasCrnp crnp = basCrnpService.selectById(crnNo);
//                if(!Cools.isEmpty(crnp) && !Cools.isEmpty(crnp.getTankQty()) && crnp.getTankQty()==0){
//                    continue;
//                }
//
//                List<LocMast> locMasts = locMastService.queryShallowLocFMast(crnNo);
//                if (null == locMasts) continue;
//
//                for (LocMast sourceLoc : locMasts){
//                    String deep = Utils.getDeepLoc(slaveProperties, sourceLoc.getLocNo());
//                    LocMast destLoc = locMastService.selectById(deep);
//
//                    if(!Cools.isEmpty(sourceLoc) && !Cools.isEmpty(destLoc)) {
//                        //查找源库位是否有转移任务,如果有,不生成库位移转
//                        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
//                                .eq("source_loc_no", sourceLoc.getLocNo()));
//                        if (Cools.isEmpty(wrkMast) && destLoc.getLocSts().equals("O") &&
//                                (sourceLoc.getLocSts().equals("F") || sourceLoc.getLocSts().equals("D"))) {
//                            workService.locMove(sourceLoc.getLocNo(), deep, 1L);
//
//                        }
//                    }
//                }
//            }
        } catch (Exception e) {
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return FAIL.setMsg(e.getMessage());
        }
        return SUCCESS;
    }
    /**