From 89a5fedfe041ebacb2d81ecae1023b206cd3f353 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期四, 24 四月 2025 09:10:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/main' --- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java | 68 ++++++++++++++++++++++++++++------ 1 files changed, 56 insertions(+), 12 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 f938a05..6db24c0 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 @@ -21,12 +21,11 @@ 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.Date; -import java.util.List; -import java.util.Map; -import java.util.Collection; +import java.util.*; import java.util.stream.Collectors; /** @@ -62,14 +61,29 @@ */ @Override public TableDataInfo<EimsInspectStVo> queryPageList(EimsInspectStBo bo, PageQuery pageQuery) { - QueryWrapper<EimsInspectSt> lqw = buildWrapper(bo); - Page<EimsInspectStVo> result = baseMapper.selectInspStList(pageQuery.build(), lqw); - // 濉厖鏁版嵁 - fillStData(result); - return TableDataInfo.build(result); + bo.setType(bo.getViewMode()); + // 鏈堣鍥� +// if(bo.getViewMode().equals("Month")){ + QueryWrapper<EimsInspectSt> qw = buildWrapper(bo); + Page<EimsInspectStVo> result = baseMapper.selectInspStList(pageQuery.build(), qw); + // 濉厖鏁版嵁 + 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); +// } + +// 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); @@ -78,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 @@ -90,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()); @@ -101,6 +125,25 @@ } + } + + private QueryWrapper<EimsInspectSt> buildGroupWrapper(EimsInspectStBo bo) { + Map<String, Object> params = bo.getParams(); + QueryWrapper<EimsInspectSt> qw = Wrappers.query(); + qw.like(StringUtils.isNotBlank(bo.getTitle()), "CONCAT(DATE_FORMAT(ir.plan_time, '%Y%m%d'), equ.equ_name)", 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.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null, + "ir.plan_time", params.get("beginPlanTime"), params.get("endPlanTime")); + qw.eq(bo.getInspUser() != null, "ir.insp_user", bo.getInspUser()); + qw.eq(bo.getVerifyUser() != null, "ir.verify_user", bo.getVerifyUser()); + qw.eq(bo.getStatus() != null, "ir.status", bo.getStatus()); + qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null, + "ir.plan_time", params.get("beginPlanTime"), params.get("endPlanTime")); + qw.groupBy(Arrays.asList("ir.equ_id","ir.plan_time")); + qw.orderByDesc( "ir.plan_time"); + + return qw; } /** @@ -132,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()); -- Gitblit v1.9.3