自动化立体仓库 - WMS系统
dubin
昨天 2a9f6d72baa207bc91c98d0a5cd2235be9816691
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,50 @@
    }
    @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 List<LocDetl> queryInventoryDetails(String locId, String matNr, String orderNo, String planNo, String batch) {
        return this.baseMapper.queryInventoryDetails(locId, matNr, orderNo, planNo, batch);
    }
    @Override
    public Double queryInventorySummary(String wareHouseId, String s) {
        return this.baseMapper.queryInventorySummary(wareHouseId, s);
    }
    @Override
    public LocDetl selectItem(String locNo, WrkDetl wrkDetl) {
        List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, wrkDetl.getMatnr());
        if (locDetls != null) {