车间能级提升-智能设备管理系统
baoshiwei
2025-04-24 89a5fedfe041ebacb2d81ecae1023b206cd3f353
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java
@@ -21,6 +21,8 @@
import org.dromara.eims.service.IEimsInspectStService;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.temporal.TemporalAdjusters;
import java.util.*;
@@ -59,23 +61,29 @@
     */
    @Override
    public TableDataInfo<EimsInspectStVo> queryPageList(EimsInspectStBo bo, PageQuery pageQuery) {
        bo.setType(bo.getViewMode());
        // 月视图
        if(bo.getViewMode().equals("Month")){
//        if(bo.getViewMode().equals("Month")){
            QueryWrapper<EimsInspectSt> qw = buildWrapper(bo);
            Page<EimsInspectStVo> result = baseMapper.selectInspStList(pageQuery.build(), qw);
            // 填充数据
            fillStData(result);
            fillStData(result,bo.getViewMode());
            return TableDataInfo.build(result);
            // 日视图
        }else if(bo.getViewMode().equals("Day")){
            Page<EimsInspectStVo> result = recordMapper.selectInspRecordDayList(pageQuery.build(), buildGroupWrapper(bo));
            return TableDataInfo.build(result);
        }
//        }else if(bo.getViewMode().equals("Day")){
//            Page<EimsInspectStVo> result = recordMapper.selectInspRecordDayList(pageQuery.build(), buildGroupWrapper(bo));
//            return TableDataInfo.build(result);
//        }
       return null;
//       return null;
    }
    private void fillStData(Page<EimsInspectStVo> result) {
    /**
     *
      * @param result
     * @param type Day-日视图 Month-月视图
     */
    private void fillStData(Page<EimsInspectStVo> result,String type) {
        List<EimsInspectStVo> records = result.getRecords();
        for (int i = 0; i < records.size(); i++) {
            EimsInspectStVo stVo = records.get(i);
@@ -84,9 +92,19 @@
            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());
            recordLqw.between(EimsInspectRecord::getPlanTime, startOfMonth, endOfMonth);
            // 日视图查询范围
            if(type.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
@@ -96,7 +114,7 @@
            // 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::getStatus, Collectors.counting()));
                .collect(Collectors.groupingBy(EimsInspectRecordVo::getInspResult, Collectors.counting()));
            stVo.setRecordCount(recordList.size());
            stVo.setUnCheckCount(cMap.getOrDefault("0", 0L).intValue());
@@ -157,6 +175,7 @@
        qw.like(StringUtils.isNotBlank(bo.getTitle()), "st.title", bo.getTitle());
        qw.like(StringUtils.isNotBlank(bo.getEquName()), "equ.equ_name", bo.getEquName());
        qw.like(StringUtils.isNotBlank(bo.getAssetNo()), "equ.asset_no", bo.getAssetNo());
        qw.eq( "st.type", bo.getType());
        qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null,
            "st.plan_time", params.get("beginPlanTime"), params.get("endPlanTime"));
        qw.eq(bo.getInspUser() != null, "st.maint_user", bo.getInspUser());