From e41c3a2f9f64516a455819cde40f825b6a5dd9ef Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期五, 22 八月 2025 18:02:02 +0800 Subject: [PATCH] 设备管理首页 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java | 216 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 216 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 497be66..49c94db 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 @@ -19,11 +19,16 @@ import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.DataBaseConstant; import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.common.system.vo.DictModel; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.StrUtils; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog; import org.jeecg.modules.eam.constant.*; +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; @@ -51,6 +56,7 @@ import javax.annotation.Resource; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; @@ -591,6 +597,216 @@ } /** + * 鎵归噺鎵撳嵃鍔犲伐璁惧涓夌骇淇濆吇瀹屽伐绉讳氦鍗� + * @param ids + * @return + */ + @Override + public List<EamThirdMaintenanceOrderExportYj> export(String ids){ + QueryWrapper<EamThirdMaintenanceOrderExport> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("wmo.del_flag",CommonConstant.DEL_FLAG_0.toString()); + queryWrapper.eq("wmo.maintenance_status",SecondMaintenanceStatusEnum.COMPLETE.name()); + //鐢ㄦ埛鏁版嵁鏉冮檺 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return new ArrayList<>(); + } + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧 + 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)){ + Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); + Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); + queryWrapper.in("e.factory_org_code", factoryCode); + } else { + return new ArrayList<>(); + } + } + //鏌ヨ鏉′欢杩囨护 + if (StrUtil.isNotEmpty(ids)) { + List<String> idList = Arrays.asList(ids.split(",")); + queryWrapper.in("wmo.id", idList); + } else { + queryWrapper.orderByDesc("wmo.create_time"); + } + List<EamThirdMaintenanceOrderExport> eamThirdMaintenanceOrderExports=this.baseMapper.queryList(queryWrapper); + List<EamThirdMaintenanceOrderExportYj> eamThirdMaintenanceOrderExportYjs=new ArrayList<>(); + if (!eamThirdMaintenanceOrderExports.isEmpty()){ + for (EamThirdMaintenanceOrderExport eamThirdMaintenanceOrderExport:eamThirdMaintenanceOrderExports) { + EamThirdMaintenanceOrderExportYj eamThirdMaintenanceOrderExportYj = new EamThirdMaintenanceOrderExportYj(); + BeanUtils.copyProperties(eamThirdMaintenanceOrderExport, eamThirdMaintenanceOrderExportYj); + eamThirdMaintenanceOrderExportYjs.add(eamThirdMaintenanceOrderExportYj); + } + } + //濉厖瀵瑰簲淇悊鏇存崲澶囦欢鏄庣粏 + eamThirdMaintenanceOrderExportYjs.forEach(eamThirdMaintenanceOrderExportYj->{ + List<EamThirdMaintenanceSpare> eamThirdMaintenanceSpares=eamThirdMaintenanceSpareService.list( + new QueryWrapper<EamThirdMaintenanceSpare>().eq("order_Id",eamThirdMaintenanceOrderExportYj.getId())); + if (!eamThirdMaintenanceSpares.isEmpty()){ + eamThirdMaintenanceOrderExportYj.setEamThirdMaintenanceSpareList(eamThirdMaintenanceSpares); + } + }); + return eamThirdMaintenanceOrderExportYjs; + } + + /** + * 鎵归噺鎵撳嵃鍔犲伐璁惧涓夌骇淇濆吇楠屾敹鍗� + */ + @Override + public List<EamThirdMaintenanceOrderExport> exportAcceptance(String ids){ + QueryWrapper<EamThirdMaintenanceOrderExport> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("wmo.del_flag",CommonConstant.DEL_FLAG_0.toString()); + queryWrapper.eq("wmo.maintenance_status",SecondMaintenanceStatusEnum.COMPLETE.name()); + //鐢ㄦ埛鏁版嵁鏉冮檺 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return new ArrayList<>(); + } + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧 + 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)){ + Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); + Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); + queryWrapper.in("e.factory_org_code", factoryCode); + } else { + return new ArrayList<>(); + } + } + //鏌ヨ鏉′欢杩囨护 + if (StrUtil.isNotEmpty(ids)) { + List<String> idList = Arrays.asList(ids.split(",")); + queryWrapper.in("wmo.id", idList); + } else { + queryWrapper.orderByDesc("wmo.create_time"); + } + List<EamThirdMaintenanceOrderExport> eamThirdMaintenanceOrderExports=this.baseMapper.queryList(queryWrapper); + //濉厖瀵瑰簲淇濆吇椤规槑缁� + eamThirdMaintenanceOrderExports.forEach(eamThirdMaintenanceOrderExport->{ + List<EamThirdMaintenanceOrderDetail> eamThirdMaintenanceSpares=eamThirdMaintenanceOrderDetailService.list( + new QueryWrapper<EamThirdMaintenanceOrderDetail>().eq("order_Id",eamThirdMaintenanceOrderExport.getId())); + if (!eamThirdMaintenanceSpares.isEmpty()){ + eamThirdMaintenanceOrderExport.setEamThirdMaintenanceOrderDetailList(eamThirdMaintenanceSpares); + } + }); + return eamThirdMaintenanceOrderExports; + } + + /** + * 璁惧绠$悊棣栭〉-涓変繚璁″垝 + * @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")); + + // 浠庡瓧鍏歌〃鑾峰彇閰嶇疆鍊� + String bysbjh = sysDictService.queryEnableDictItemsByCode("eam_home_third_number_bysbzs").get(0).getValue(); + String bywc = sysDictService.queryEnableDictItemsByCode("eam_home_third_number_bwc").get(0).getValue(); + String xysb = sysDictService.queryEnableDictItemsByCode("eam_home_third_number_xysb").get(0).getValue(); + String xxysb = sysDictService.queryEnableDictItemsByCode("eam_home_third_number_xxysb").get(0).getValue(); + + // 鏈湀涓変繚璁″垝鎬绘暟 + if ("0".equals(bysbjh)) { + List<EamThirdMaintenanceOrder> currentMonthOrders = this.baseMapper.queryAsList( + queryWrapper.clone().like("maintenance_date", currentYearMonth) + ); + echartsDtos.add(new EchartsDto("bysbzs", "鏈湀涓変繚璁″垝鎬绘暟", + String.valueOf(currentMonthOrders.size()), null, null)); + } else { + echartsDtos.add(new EchartsDto("bysbzs", "鏈湀涓変繚璁″垝鎬绘暟", + bysbjh, null, null)); + } + + // 鏈湀瀹屾垚 + if ("0".equals(bywc)) { + 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)); + } else { + echartsDtos.add(new EchartsDto("bwc", "鏈湀瀹屾垚", + bywc, null, null)); + } + + // 涓嬫湀涓変繚璁″垝 + if ("0".equals(xysb)) { + List<EamThirdMaintenanceOrder> nextMonthOrders = this.baseMapper.queryAsList( + queryWrapper.clone().like("maintenance_date", nextMonth) + ); + echartsDtos.add(new EchartsDto("xysb", "涓嬫湀涓変繚璁″垝", + String.valueOf(nextMonthOrders.size()), null, null)); + } else { + echartsDtos.add(new EchartsDto("xysb", "涓嬫湀涓変繚璁″垝", + xysb, null, null)); + } + + // 涓嬩笅鏈堜笁淇濊鍒� + if ("0".equals(xxysb)) { + List<EamThirdMaintenanceOrder> nextNextMonthOrders = this.baseMapper.queryAsList( + queryWrapper.clone().like("maintenance_date", nextNextMonth) + ); + echartsDtos.add(new EchartsDto("xxysb", "涓嬩笅鏈堜笁淇濊鍒�", + String.valueOf(nextNextMonthOrders.size()), null, null)); + } else { + echartsDtos.add(new EchartsDto("xxysb", "涓嬩笅鏈堜笁淇濊鍒�", + xxysb, null, null)); + } + + return echartsDtos; + } + + /** * 鏇存柊宸ュ崟鐘舵�� */ private void updateOrderStatus(Result result, EamThirdMaintenanceRequest request, EamThirdMaintenanceOrder order, LoginUser user) { -- Gitblit v1.9.3