From 14681dfe7052cb76eefcc0c17d0a0d708e1ac9dd Mon Sep 17 00:00:00 2001 From: zhuguifei <zhuguifei@zhuguifeideiMac.local> Date: 星期二, 13 五月 2025 16:31:14 +0800 Subject: [PATCH] 完成移动端基本功能 --- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java | 110 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 99 insertions(+), 11 deletions(-) diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java index dc31019..199219d 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java +++ b/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; @@ -21,6 +23,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.*; @@ -37,6 +41,7 @@ public class EimsInspectStServiceImpl implements IEimsInspectStService { private final EimsInspectStMapper baseMapper; + private final EimsEquMapper equMapper; private final EimsInspectRecordMapper recordMapper; /** @@ -47,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()); + + } /** @@ -59,23 +130,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 +161,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 +183,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 +244,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()); -- Gitblit v1.9.3