From 0ea5c25c84ec189aad8fdd3f412b1e6399a30612 Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期日, 18 九月 2022 15:58:42 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 34 ++++++++++++++++------------------ 1 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java index 06a94c9..15d1175 100644 --- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java @@ -7,12 +7,14 @@ import com.zy.asrs.mapper.LocMastMapper; import com.zy.asrs.service.LocMastService; import com.zy.asrs.service.RowLastnoService; +import com.zy.asrs.service.WorkService; import com.zy.asrs.utils.Utils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Comparator; +import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; @@ -21,20 +23,12 @@ @Autowired private RowLastnoService rowLastnoService; + @Autowired + private WorkService workService; @Override - public LocMast queryFreeLocMast(List<Integer> rows, Integer rowsLen, Short locType1) { - List<LocMast> locMasts = this.baseMapper.queryFreeLocMast(rows, rowsLen, locType1); - if (Cools.isEmpty(locMasts)) { - return null; - } - Integer innermostRow = Utils.getInnermostRow(locMasts.get(0).getLocNo()); - for (LocMast locMast : locMasts) { - if (locMast.getRow1().equals(innermostRow)) { - return locMast; - } - } - return null; + public List<LocMast> queryFreeLocMast(List<Integer> rows, Integer rowsLen, Short locType1) { + return this.baseMapper.queryFreeLocMast(rows, rowsLen, locType1); } @Override @@ -91,14 +85,18 @@ } @Override - public synchronized void breakUp(String locNo) { + public synchronized void breakUp(String locNo, List<String> excludeLocNos) { List<String> groupLoc = Utils.getGroupOuterLoc(locNo); - for (String outerLocNo : groupLoc) { - LocMast locMast = this.selectById(outerLocNo); - + Iterator<String> iterator = groupLoc.iterator(); + while (iterator.hasNext()) { + String next = iterator.next(); + LocMast locMast = this.selectById(next); + if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || !excludeLocNos.contains(locMast.getLocNo())) { + continue; + } + iterator.remove(); } - - + workService.shuttleTransfer(groupLoc); } } -- Gitblit v1.9.1