车间能级提升-智能设备管理系统
zhuguifei
2025-05-13 14681dfe7052cb76eefcc0c17d0a0d708e1ac9dd
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java
@@ -10,8 +10,10 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.eims.domain.EimsEqu;
import org.dromara.eims.domain.EimsInspectRecord;
import org.dromara.eims.domain.vo.EimsInspectRecordVo;
import org.dromara.eims.mapper.EimsEquMapper;
import org.dromara.eims.mapper.EimsInspectRecordMapper;
import org.springframework.stereotype.Service;
import org.dromara.eims.domain.bo.EimsInspectStBo;
@@ -39,6 +41,7 @@
public class EimsInspectStServiceImpl implements IEimsInspectStService {
    private final EimsInspectStMapper baseMapper;
    private final EimsEquMapper equMapper;
    private final EimsInspectRecordMapper recordMapper;
    /**
@@ -49,7 +52,73 @@
     */
    @Override
    public EimsInspectStVo queryById(Long id){
        return baseMapper.selectVoById(id);
        EimsInspectStVo stVo = baseMapper.selectVoById(id);
        if(stVo!=null&&stVo.getEquId()!=null){
            EimsEqu eimsEqu = equMapper.selectById(stVo.getEquId());
            stVo.setEquName(eimsEqu.getEquName());
            stVo.setAssetNo(eimsEqu.getAssetNo());
        }
        // fillStDataSingle(stVo);
        return stVo;
    }
    @Override
    public EimsInspectStVo queryByStId(String stId) {
        QueryWrapper<EimsInspectSt> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("st_id", stId);
        EimsInspectStVo stVo = baseMapper.selectVoOne(queryWrapper);
        if(stVo!=null&&stVo.getEquId()!=null){
            EimsEqu eimsEqu = equMapper.selectById(stVo.getEquId());
            stVo.setEquName(eimsEqu.getEquName());
            stVo.setAssetNo(eimsEqu.getAssetNo());
        }
        // fillStDataSingle(stVo);
        return stVo;
    }
    /**
     *
     * @param stVo type Day-日视图 Month-月视图
     * @param
     */
    private void fillStDataSingle(EimsInspectStVo stVo) {
            LambdaQueryWrapper<EimsInspectRecord> recordLqw = Wrappers.lambdaQuery();
            recordLqw.eq(EimsInspectRecord::getEquId, stVo.getEquId());
            LocalDate planTime = stVo.getPlanTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
            // 月视图查询范围
            LocalDate startOfMonth = planTime.with(TemporalAdjusters.firstDayOfMonth());
            LocalDate endOfMonth = planTime.with(TemporalAdjusters.lastDayOfMonth());
            // 日视图查询范围
            if(stVo.getType().equals("Day")){
                recordLqw.between(EimsInspectRecord::getPlanTime, planTime, planTime);
            }else {
                //  月视图查询范围
                recordLqw.between(EimsInspectRecord::getPlanTime, startOfMonth, endOfMonth);
            }
            // 执行查询
            List<EimsInspectRecordVo> recordList = recordMapper.selectVoList(recordLqw);
            // TODO 根据字典eims_inspect_status
            Map<String, Long> cMap = recordList.stream()
                .filter(order -> List.of("0", "1").contains(order.getStatus()))
                .collect(Collectors.groupingBy(EimsInspectRecordVo::getStatus, Collectors.counting()));
            // TODO 根据字典eims_inspect_result
            Map<String, Long> rMap = recordList.stream()
                .filter(order ->order.getInspResult()!=null && List.of("1", "2").contains(order.getInspResult()))
                .collect(Collectors.groupingBy(EimsInspectRecordVo::getInspResult, Collectors.counting()));
            stVo.setRecordCount(recordList.size());
            stVo.setUnCheckCount(cMap.getOrDefault("0", 0L).intValue());
            stVo.setCheckCount(cMap.getOrDefault("1", 0L).intValue());
            stVo.setNormalNum(rMap.getOrDefault("1", 0L).intValue());
            stVo.setAbNormalNum(rMap.getOrDefault("2", 0L).intValue());
    }
    /**