| | |
| | | List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService. |
| | | list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId())); |
| | | if(!CollectionUtils.isEmpty(baseFactoryUserList)){ |
| | | List<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toList()); |
| | | List<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getFactoryCode).collect(Collectors.toList()); |
| | | 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 page; |
| | | } |
| | | } |
| | | if(eamMaintenanceStandard != null) { |
| | |
| | | //删除标记 |
| | | entity.setDelFlag(CommonConstant.DEL_FLAG_0); |
| | | //重复性校验 |
| | | EamMaintenanceStandard exist = checkDuplicate(entity.getEquipmentId(), entity.getMaintenanceCategory()); |
| | | EamMaintenanceStandard exist = checkDuplicate(entity.getEquipmentId(), entity.getMaintenanceCategory(),MaintenanceStandardStatusEnum.WAIT_SUBMIT.name()); |
| | | if(exist != null){ |
| | | throw new JeecgBootException("设备标准已存在,不能重复添加!"); |
| | | } |
| | |
| | | //删除标记 |
| | | newEntity.setDelFlag(CommonConstant.DEL_FLAG_0); |
| | | //重复性校验 |
| | | EamMaintenanceStandard exist = checkDuplicate(newEntity.getEquipmentId(), newEntity.getMaintenanceCategory()); |
| | | EamMaintenanceStandard exist = checkDuplicate(newEntity.getEquipmentId(), newEntity.getMaintenanceCategory(),MaintenanceStandardStatusEnum.WAIT_SUBMIT.name()); |
| | | if(exist != null){ |
| | | throw new JeecgBootException("设备标准已存在,不能重复添加!"); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public EamMaintenanceStandard checkDuplicate(String equipmentId, String maintenanceCategory) { |
| | | public EamMaintenanceStandard checkDuplicate(String equipmentId, String maintenanceCategory,String standardStatus) { |
| | | LambdaQueryWrapper<EamMaintenanceStandard> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(EamMaintenanceStandard::getEquipmentId, equipmentId); |
| | | queryWrapper.eq(EamMaintenanceStandard::getMaintenanceCategory, maintenanceCategory); |
| | | queryWrapper.eq(EamMaintenanceStandard::getDelFlag, CommonConstant.DEL_FLAG_0); |
| | | queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, MaintenanceStandardStatusEnum.WAIT_SUBMIT.name()); |
| | | queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, standardStatus); |
| | | queryWrapper.orderByDesc(EamMaintenanceStandard::getStandardVersion); |
| | | |
| | | List<EamMaintenanceStandard> list = eamMaintenanceStandardMapper.selectList(queryWrapper); |
| | |
| | | } |
| | | |
| | | eamMaintenanceStandard.setStandardName(name); |
| | | |
| | | EamMaintenanceStandard exist = checkDuplicate(eamMaintenanceStandard.getEquipmentId(), eamMaintenanceStandard.getMaintenanceCategory(),MaintenanceStandardStatusEnum.START.name()); |
| | | if(exist != null){ |
| | | return Result.error(name + ": 设备标准已存在,不能重复添加"); |
| | | } |
| | | |
| | | eamMaintenanceStandardMapper.insert(eamMaintenanceStandard); |
| | | |
| | | // 2. 提取每日点检项目 |
| | |
| | | /*导入点检文件Excel--------------------------结束*/ |
| | | |
| | | /*导入二保三保文件Excel--------------------------开始*/ |
| | | |
| | | /** |
| | | * 统一保养规范导入入口 |
| | | * @param file 上传文件 |
| | |
| | | } |
| | | |
| | | // 提取设备信息 |
| | | standard = extractDeviceInfo(table); |
| | | standard = extractDeviceInfo(table,type); |
| | | if (standard == null) { |
| | | return Result.error(fileName + ": 设备信息提取失败"); |
| | | } |
| | | |
| | | // 配置类型相关参数 |
| | | configureStandard(standard, type, file); |
| | | EamMaintenanceStandard exist = checkDuplicate(standard.getEquipmentId(), standard.getMaintenanceCategory(),MaintenanceStandardStatusEnum.START.name()); |
| | | if(exist != null){ |
| | | return Result.error(fileName + ": 设备标准已存在,不能重复添加"); |
| | | } |
| | | eamMaintenanceStandardMapper.insert(standard); |
| | | standardId = standard.getId(); |
| | | |
| | |
| | | items.addAll(extractThirdMaintenanceItems(table, standardId, true)); |
| | | } |
| | | |
| | | firstTableProcessed = true; |
| | | } else if (firstTableProcessed) { // 后续页面 |
| | | } else { // 后续页面 |
| | | // 提取后续页面的保养项目 |
| | | if ("SECOND".equals(type)) { |
| | | items.addAll(extractSecondMaintenanceItems(table, standardId, false)); |
| | |
| | | /** |
| | | * 提取设备基本信息 |
| | | */ |
| | | private EamMaintenanceStandard extractDeviceInfo(XWPFTable table) { |
| | | private EamMaintenanceStandard extractDeviceInfo(XWPFTable table,String type) { |
| | | if (table.getNumberOfRows() < 2) return null; |
| | | |
| | | // 提取前两行数据 |
| | |
| | | }else { |
| | | standard.setEquipmentId(equipments.getId()); |
| | | } |
| | | if (type.equals("THIRD")){ |
| | | EamEquipmentExtend eamEquipmentExtend=eamEquipmentExtendService.getById(standard.getEquipmentId()); |
| | | standard.setMaintenancePeriod(eamEquipmentExtend.getThirdMaintenancePeriod()); |
| | | } |
| | | } |
| | | |
| | | return standard; |
| | | } |
| | | |
| | | // 简易版字符串非空判断 |
| | | private boolean isNotBlank(String str) { |
| | | return str != null && !str.trim().isEmpty(); |
| | | } |
| | | |
| | | /** |
| | | * 表格行数据解析 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 创建保养项目 |
| | | */ |
| | | private EamMaintenanceStandardDetail createItem( |
| | | EamMaintenanceStandardDetailCategory category, |
| | | String content, |
| | | String standardId) { |
| | | |
| | | EamMaintenanceStandardDetail item = new EamMaintenanceStandardDetail(); |
| | | item.setItemCategory(category.name()); |
| | | item.setStandardId(standardId); |
| | | item.setItemName(cleanContent(content)); |
| | | return item; |
| | | } |
| | | |
| | | /** |
| | | * 兼容版单元格文本提取 |
| | | */ |
| | | private String getCellText(XWPFTableCell cell) { |
| | |
| | | } |
| | | } |
| | | return text.toString(); |
| | | } |
| | | |
| | | /** |
| | | * 内容清理 |
| | | */ |
| | | private String cleanContent(String text) { |
| | | if (text == null) return ""; |
| | | |
| | | // 替换特殊空格和合并连续空格 |
| | | text = text.replace('\u00A0', ' ') |
| | | .replace('\u2007', ' ') |
| | | .replace('\u202F', ' ') |
| | | .replaceAll("\\s+", " "); |
| | | |
| | | // 规范标点符号 |
| | | return text.replace(',', '、') |
| | | .replace(',', '、') |
| | | .replace(';', ';') |
| | | .replace(';', ';') |
| | | .replace(':', ':') |
| | | .replace(':', ':') |
| | | .trim(); |
| | | } |
| | | |
| | | /** |