| | |
| | | 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; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.time.LocalDate; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<EamThirdMaintenanceOrderExport> export(String ids){ |
| | | 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()); |
| | |
| | | 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); |
| | | } |
| | | } |
| | | //填充对应修理更换备件明细 |
| | | eamThirdMaintenanceOrderExports.forEach(eamThirdMaintenanceOrderExport->{ |
| | | eamThirdMaintenanceOrderExportYjs.forEach(eamThirdMaintenanceOrderExportYj->{ |
| | | List<EamThirdMaintenanceSpare> eamThirdMaintenanceSpares=eamThirdMaintenanceSpareService.list( |
| | | new QueryWrapper<EamThirdMaintenanceSpare>().eq("order_Id",eamThirdMaintenanceOrderExport.getId())); |
| | | new QueryWrapper<EamThirdMaintenanceSpare>().eq("order_Id",eamThirdMaintenanceOrderExportYj.getId())); |
| | | if (!eamThirdMaintenanceSpares.isEmpty()){ |
| | | eamThirdMaintenanceOrderExport.setEamThirdMaintenanceSpareList(eamThirdMaintenanceSpares); |
| | | eamThirdMaintenanceOrderExportYj.setEamThirdMaintenanceSpareList(eamThirdMaintenanceSpares); |
| | | } |
| | | }); |
| | | return eamThirdMaintenanceOrderExports; |
| | | return eamThirdMaintenanceOrderExportYjs; |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | /** |
| | | * 设备管理首页-三保计划 |
| | | * @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.queryDictTextByKey("eam_home_third_number_bysbzs", "bysbzs"); |
| | | String bywc = sysDictService.queryDictTextByKey("eam_home_third_number_bwc", "bwc"); |
| | | String xysb = sysDictService.queryDictTextByKey("eam_home_third_number_xysb", "xysb"); |
| | | String xxysb = sysDictService.queryDictTextByKey("eam_home_third_number_xxysb", "xxysb"); |
| | | |
| | | // 本月三保计划总数 |
| | | 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) { |