WagesUtils.java 1.95 KB
Newer Older
Fuzy's avatar
1  
Fuzy committed
1 2 3 4 5 6
package com.ruoyi.system.utils;

import com.ruoyi.system.mapper.WagesCompilationMapper;
import com.ruoyi.system.mapper.WagesVersionMapper;
import com.ruoyi.system.model.wages.dao.WagesCompilationExcelDAO;
import com.ruoyi.system.model.wages.dao.WagesVersionDAO;
Fuzy's avatar
1  
Fuzy committed
7
import org.springframework.stereotype.Component;
Fuzy's avatar
1  
Fuzy committed
8 9 10 11 12 13 14 15

import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

/**
 * 2024/6/13
 */
Fuzy's avatar
1  
Fuzy committed
16
@Component
Fuzy's avatar
1  
Fuzy committed
17
public class WagesUtils {
Fuzy's avatar
1  
Fuzy committed
18 19
    private WagesVersionMapper wagesVersionMapper;
    private WagesCompilationMapper wagesCompilationMapper;
Fuzy's avatar
1  
Fuzy committed
20 21 22 23 24 25 26 27 28 29 30 31

    public WagesUtils(WagesVersionMapper wagesVersionMapper, WagesCompilationMapper wagesCompilationMapper) {
        this.wagesVersionMapper = wagesVersionMapper;
        this.wagesCompilationMapper = wagesCompilationMapper;
    }

    /**
     * 根据矿id和type获取对应的对照表id
     * @param mineId
     * @param type
     * @return
     */
Fuzy's avatar
1  
Fuzy committed
32
    public Integer getComparisonId(String mineId, String type) {
Fuzy's avatar
1  
Fuzy committed
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
        List<WagesCompilationExcelDAO> wagesCompilationExcelDAO = wagesCompilationMapper.selectByMineIdAndType(mineId, type);
        if (wagesCompilationExcelDAO == null || wagesCompilationExcelDAO.size() == 0) {
            return null;
        }
        List<Integer> collect = wagesCompilationExcelDAO.stream().map(v -> v.getVersionId()).collect(Collectors.toList());
        List<WagesVersionDAO> wagesVersionDAO = wagesVersionMapper.selectByVersionId();
        if (wagesVersionDAO == null || wagesVersionDAO.size() == 0) {
            return null;
        }
        Optional<WagesVersionDAO> first = wagesVersionDAO.stream().filter(v -> collect.contains(v.getVersionId()) && "1".equals(v.getOpenOrClose())).findFirst();
        if (first.isPresent()) {
            Integer id = first.get().getVersionId();
            return wagesCompilationExcelDAO.parallelStream().filter(v -> id.equals(v.getVersionId())).map(v -> v.getComparisonId()).findFirst().get();
        }
        return null;
    }
}