自动化立体仓库 - WMS系统
dubin
2026-02-07 8bc35cc4f75cfb435577e34763002f69def6a1a2
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -1,5 +1,6 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.entity.LocDetl;
@@ -14,9 +15,8 @@
import com.zy.asrs.utils.MatCompareUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@Service("locDetlService")
public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService {
@@ -211,6 +211,40 @@
    }
    @Override
    public Map<String, Double> getAnfmeByLocNos(List<String> locNos) {
        if (locNos == null || locNos.isEmpty()) {
            return new HashMap<>();
        }
        // 构建查询条件
        EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
        wrapper.in("loc_no", locNos);
        // 执行查询
        List<LocDetl> list = this.selectList(wrapper);
        // 按loc_no分组并累加anfme值
        Map<String, Double> resultMap = new HashMap<>();
        for (LocDetl item : list) {
            if (item.getLocNo() != null && item.getAnfme() != null) {
                String locNo = item.getLocNo();
                Double anfmeValue = item.getAnfme();
                if (resultMap.containsKey(locNo)) {
                    // 累加已存在的值
                    Double sum = resultMap.get(locNo) + anfmeValue;
                    resultMap.put(locNo, sum);
                } else {
                    // 第一次添加
                    resultMap.put(locNo, anfmeValue);
                }
            }
        }
        return resultMap;
    }
    @Override
    public LocDetl selectItem(String locNo, WrkDetl wrkDetl) {
        List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, wrkDetl.getMatnr());
        if (locDetls != null) {