| | |
| | | } |
| | | |
| | | @Override |
| | | public String importData(MultipartFile file, boolean updateSupport) throws IOException, IOException { |
| | | public String importData(MultipartFile file, boolean updateSupport) { |
| | | try { |
| | | // 点检项目列表(假设存在对应的点检项VO) |
| | | InspectCheckItemImportListener checkItemImportListener = new InspectCheckItemImportListener(updateSupport); |
| | | EasyExcel.read(file.getInputStream(), InspectCheckItemVo.class, checkItemImportListener).headRowNumber(3).sheet().doRead(); |
| | | EasyExcel.read(file.getInputStream(), InspectCheckItemVo.class, checkItemImportListener) |
| | | .headRowNumber(3).sheet().doRead(); |
| | | List<InspectCheckItemVo> successList = checkItemImportListener.getSuccessList(); |
| | | |
| | | // 读取固定资产编号(假设位置不同) |
| | |
| | | return colonIndex != -1 ? value.substring(colonIndex + 1) : value; |
| | | }) |
| | | .map(String::trim) |
| | | .orElseThrow(() -> new ServiceException("导入失败,无法读取固定资产编号")); |
| | | .orElse(""); |
| | | |
| | | if (assetNo.isEmpty()) { |
| | | return file.getOriginalFilename() + " 导入失败,无法读取固定资产编号"; |
| | | } |
| | | |
| | | // 查询设备信息 |
| | | QueryWrapper<EimsEqu> query = new QueryWrapper<>(); |
| | | query.eq("asset_no", assetNo); |
| | | EimsEquVo equVo = equMapper.selectVoOne(query); |
| | | if (equVo == null) throw new ServiceException("设备未找到,请先在设备台帐中添加"); |
| | | if (equVo == null) { |
| | | return file.getOriginalFilename() + " 设备未找到,请先在设备台帐中添加"; |
| | | } |
| | | |
| | | int successNum = 0; |
| | | int failureNum = 0; |
| | | StringBuilder successMsg = new StringBuilder(); |
| | | StringBuilder failureMsg = new StringBuilder(); |
| | | |
| | | for (InspectCheckItemVo itemVo : successList) { |
| | | if ("设备状态卡状态".equals(itemVo.getItemName())) break; |
| | | if ("设备状态卡状态".equals(itemVo.getItemName()) || itemVo.getItemName().contains("运行时间")) { |
| | | break; |
| | | } |
| | | |
| | | // 如果允许覆盖,则删除已存在的记录 |
| | | if (updateSupport) { |
| | |
| | | |
| | | if (!insertByBo(bo)) { |
| | | failureNum++; |
| | | failureMsg.append(failureNum).append("、导入失败<br>"); |
| | | } else { |
| | | successNum++; |
| | | successMsg.append(successNum).append("、导入成功<br>"); |
| | | } |
| | | } |
| | | |
| | | return failureNum > 0 ? failureMsg.toString() : successMsg.toString(); |
| | | return file.getOriginalFilename() + " 导入成功:" + successNum + "条,导入失败:" + failureNum + "条"; |
| | | } catch (Exception e) { |
| | | return file.getOriginalFilename() + " 导入异常:" + e.getMessage(); |
| | | } |
| | | } |
| | | |
| | | |