From 582bb2627712f66157b5608c8f5798775fc38266 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期五, 22 八月 2025 15:20:31 +0800 Subject: [PATCH] 设备管理首页 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java | 80 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 80 insertions(+), 0 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java index be80f73..ffdd2f4 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java @@ -27,6 +27,7 @@ import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport; import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport; import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExportYj; +import org.jeecg.modules.eam.dto.EchartsDto; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.mapper.EamThirdMaintenanceOrderMapper; import org.jeecg.modules.eam.request.EamThirdMaintenanceBaseResponse; @@ -54,6 +55,7 @@ import javax.annotation.Resource; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; @@ -700,6 +702,84 @@ } /** + * 璁惧绠$悊棣栭〉-涓変繚璁″垝 + * @return + */ + @Override + public List<EchartsDto> selectList() { + List<EchartsDto> echartsDtos = new ArrayList<>(); + + // 鐢ㄦ埛鏁版嵁鏉冮檺妫�鏌� + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return echartsDtos; // 杩斿洖绌哄垪琛ㄨ�岄潪null + } + + QueryWrapper<EamThirdMaintenanceOrder> queryWrapper = new QueryWrapper<>(); + + // 璁惧杩囨护閫昏緫 + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService + .list(new LambdaQueryWrapper<BaseFactoryUser>() + .eq(BaseFactoryUser::getUserId, sysUser.getId())); + + if (CollectionUtils.isEmpty(baseFactoryUserList)) { + return echartsDtos; // 杩斿洖绌哄垪琛ㄨ�岄潪null + } + + Set<String> factoryIds = baseFactoryUserList.stream() + .map(BaseFactoryUser::getFactoryId) + .collect(Collectors.toSet()); + + Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds) + .stream() + .map(BaseFactory::getOrgCode) + .collect(Collectors.toSet()); + + queryWrapper.in("e.factory_org_code", factoryCodes); + } + + // 鑾峰彇褰撳墠骞存湀鍜屼笅涓や釜鏈堢殑骞存湀瀛楃涓� + String currentYearMonth = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM")); + String nextMonth = LocalDate.now().plusMonths(1).format(DateTimeFormatter.ofPattern("yyyy-MM")); + String nextNextMonth = LocalDate.now().plusMonths(2).format(DateTimeFormatter.ofPattern("yyyy-MM")); + + // 鏈湀涓変繚璁″垝鎬绘暟 + List<EamThirdMaintenanceOrder> currentMonthOrders = this.baseMapper.queryAsList( + queryWrapper.clone().like("maintenance_date", currentYearMonth) + ); + echartsDtos.add(new EchartsDto("bysbzs", "鏈湀涓変繚璁″垝鎬绘暟", + String.valueOf(currentMonthOrders.size()), null, null)); + + // 鏈湀瀹屾垚 + List<EamThirdMaintenanceOrder> currentMonthCompleted = this.baseMapper.queryAsList( + queryWrapper.clone().like("maintenance_date", currentYearMonth) + .eq("maintenance_status", ThirdMaintenanceStatusEnum.COMPLETE.name()) + ); + echartsDtos.add(new EchartsDto("bwc", "鏈湀瀹屾垚", + String.valueOf(currentMonthCompleted.size()), null, null)); + + // 涓嬫湀涓変繚璁″垝 + List<EamThirdMaintenanceOrder> nextMonthOrders = this.baseMapper.queryAsList( + queryWrapper.clone().like("maintenance_date", nextMonth) + ); + echartsDtos.add(new EchartsDto("xysb", "涓嬫湀涓変繚璁″垝", + String.valueOf(nextMonthOrders.size()), null, null)); + + // 涓嬩笅鏈堜笁淇濊鍒� + List<EamThirdMaintenanceOrder> nextNextMonthOrders = this.baseMapper.queryAsList( + queryWrapper.clone().like("maintenance_date", nextNextMonth) + ); + echartsDtos.add(new EchartsDto("xxysb", "涓嬩笅鏈堜笁淇濊鍒�", + String.valueOf(nextNextMonthOrders.size()), null, null)); + + return echartsDtos; + } + + /** * 鏇存柊宸ュ崟鐘舵�� */ private void updateOrderStatus(Result result, EamThirdMaintenanceRequest request, EamThirdMaintenanceOrder order, LoginUser user) { -- Gitblit v1.9.3