自动化立体仓库 - WMS系统
zwl
5 天以前 38501f5760daefd634e00099ebe7019fd7247731
src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -7,11 +7,13 @@
import com.zy.asrs.entity.result.FindLocNoAttributeVo;
import com.zy.asrs.mapper.WrkMastLogMapper;
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.InboundCameraCaptureService;
import com.zy.asrs.service.WrkMastService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -36,6 +38,18 @@
    @Override
    public List<WrkMast> selectToBeHistoryData() {
        return this.baseMapper.selectToBeHistoryData();
    }
    @Override
    public List<WrkMast> selectPendingInboundCameraCapture() {
        return this.baseMapper.selectPendingInboundCameraCapture(
                InboundCameraCaptureService.CAPTURE_PENDING,
                InboundCameraCaptureService.CAPTURE_RUNNING);
    }
    @Override
    public boolean updateMemoIfCurrent(Integer wrkNo, String current, String next) {
        return this.baseMapper.updateMemoIfCurrent(wrkNo, current, next) > 0;
    }
    @Override
@@ -85,6 +99,33 @@
        return h;
    }
    @Override
    public Date firstInboundCreateTimeByTrainNo(String trainNo) {
        if (Cools.isEmpty(trainNo)) {
            return null;
        }
        Date fromMast = baseMapper.selectFirstInboundCreateTimeByTrainNo(trainNo);
        Date fromLog = wrkMastLogMapper.selectFirstInboundCreateTimeByTrainNo(trainNo);
        if (fromMast == null) {
            return fromLog;
        }
        if (fromLog == null) {
            return fromMast;
        }
        return fromMast.before(fromLog) ? fromMast : fromLog;
    }
    @Override
    public int finishedInboundPalletCountByTrainNo(String trainNo) {
        if (Cools.isEmpty(trainNo)) {
            return 0;
        }
        Set<Integer> wrkNos = new HashSet<>();
        addPositiveWrkNos(baseMapper.listFinishedInboundWrkNosByTrainNo(trainNo), wrkNos);
        addPositiveWrkNos(wrkMastLogMapper.listFinishedInboundWrkNosByTrainNo(trainNo), wrkNos);
        return wrkNos.size();
    }
    private static void addPositivePlt(List<Integer> list, Set<Integer> target) {
        if (list == null) {
            return;
@@ -95,4 +136,15 @@
            }
        }
    }
    private static void addPositiveWrkNos(List<Integer> list, Set<Integer> target) {
        if (list == null) {
            return;
        }
        for (Integer wrkNo : list) {
            if (wrkNo != null && wrkNo > 0) {
                target.add(wrkNo);
            }
        }
    }
}