| | |
| | | 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; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.time.LocalDate; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 批量打印加工设备三级保养完工移交单 |
| | | * @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.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) { |