自动化立体仓库 - WMS系统
#
zwl
21 小时以前 8bc69dccd6683a7bf13bfbcfffd8fec9bd688887
src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -79,7 +79,7 @@
     * @date 2026/1/10 14:42
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    private void autoPubTasks() {
    private synchronized void autoPubTasks() {
        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", Arrays.asList(1L, 11L)));
        if (wrkMasts.isEmpty()) {
            return;
@@ -104,11 +104,18 @@
                    continue;
                }
            Integer crnNo = wrkMast.getCrnNo();
            //该堆垛机已经下发任务给wcs后不再下发新的搬运任务
            List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("wrk_sts", Arrays.asList(12L)));
            if (!wrkMasts1.isEmpty()) {
                continue;
            }
            //如果任务是移库任务时:该堆垛机已经下发任务给wcs后不再下发新的搬运任务
                if(wrkMast.getIoType()==101&&!Cools.isEmpty(wrkMast.getLocNo())){
                    LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("crn_no", crnNo).eq("loc_no", wrkMast.getLocNo()));
                    if (!Cools.isEmpty(locMast)) {
                        List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("wrk_sts", Arrays.asList(12L)));
                        if (!wrkMasts1.isEmpty()) {
                            continue;
                        }
                    }
                }
                //源库位为冻结库位时禁止下发搬运任务给堆垛机
                if (!Cools.isEmpty(wrkMast.getSourceLocNo())) {
                    LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()