| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | InputStream fis = file.getInputStream(); |
| | | Workbook workbook = new XSSFWorkbook(fis); |
| | | Sheet sheet = workbook.getSheetAt(0); |
| | | PrecisionParametersTemplate precisionParametersTemplate = new PrecisionParametersTemplate(); |
| | | Row row1 = sheet.getRow(1); |
| | | Cell cell15 = row1.getCell(5); |
| | | if(ObjectUtils.isNotNull(cell15)&&cell15.getCellType()==CellType.NUMERIC){ |
| | | String num = (int)cell15.getNumericCellValue()+""; |
| | | precisionParametersTemplate.setNum(num); |
| | | EquipmentPrecisionParameters equipmentPrecisionParameters = new EquipmentPrecisionParameters(); |
| | | } |
| | | |
| | | for (Row row : sheet) { |
| | | Cell cell1 = row.getCell(1); |
| | | |
| | | if(row.getRowNum()>4){ |
| | | |
| | | PrecisionParametersTemplate precisionParametersTemplate = precisionParametersTemplateService.getOne(new QueryWrapper<PrecisionParametersTemplate>().eq("num",num).eq("del_flag",0),false); |
| | | if(ObjectUtils.isNull(precisionParametersTemplate)){ |
| | | precisionParametersTemplate = new PrecisionParametersTemplate(); |
| | | precisionParametersTemplate.setNum(num); |
| | | precisionParametersTemplate.setName(num+"精度检验单"); |
| | | precisionParametersTemplate.setDelFlag(0); |
| | | precisionParametersTemplateService.save(precisionParametersTemplate); |
| | | } |
| | | for (Cell cell : row) { |
| | | String cellValue = ""; |
| | | if (cell.getCellType() == CellType.STRING) { |
| | | cellValue = cell.getStringCellValue(); |
| | | } else if (cell.getCellType() == CellType.NUMERIC) { |
| | | cellValue = String.valueOf(cell.getNumericCellValue()); |
| | | precisionParametersTemplateDetailService.remove(new QueryWrapper<PrecisionParametersTemplateDetail>().eq("precision_parameters_template_id",precisionParametersTemplate.getId())); |
| | | for (Row row : sheet) { |
| | | if(row.getRowNum()>3&&row.getRowNum()<sheet.getLastRowNum()){ |
| | | PrecisionParametersTemplateDetail precisionParametersTemplateDetail = new PrecisionParametersTemplateDetail(); |
| | | Cell cell1 = row.getCell(1); |
| | | String cellValue1 = ""; |
| | | if(isMergedCell(sheet,cell1)){ |
| | | cellValue1 = getMergedCellValue(sheet,cell1); |
| | | } |
| | | else if (cell1.getCellType() == CellType.STRING) { |
| | | cellValue1 = cell1.getStringCellValue(); |
| | | } |
| | | Cell cell3 = row.getCell(3); |
| | | String cellValue3 = ""; |
| | | if (cell3.getCellType() == CellType.STRING) { |
| | | cellValue3 = cell3.getStringCellValue(); |
| | | } |
| | | Cell cell4 = row.getCell(4); |
| | | String cellValue4 = ""; |
| | | if(isMergedCell(sheet,cell4)){ |
| | | cellValue4 = getMergedCellValue(sheet,cell4); |
| | | } |
| | | else if (cell4.getCellType() == CellType.STRING) { |
| | | cellValue4 = cell4.getStringCellValue(); |
| | | }else if(cell4.getCellType() == CellType.NUMERIC){ |
| | | cellValue4 = String.valueOf(cell4.getNumericCellValue()); |
| | | } |
| | | PrecisionParameters precisionParameters = precisionParametersService.getOne(new QueryWrapper<PrecisionParameters>().eq("name",cellValue1).eq("precision_parameters_uda1",cellValue3).eq("del_flag",0)); |
| | | if(ObjectUtils.isNull(precisionParameters)){ |
| | | precisionParameters = new PrecisionParameters(); |
| | | precisionParameters.setName(cellValue1); |
| | | precisionParameters.setPrecisionParametersUda1(cellValue3); |
| | | precisionParameters.setDelFlag(0); |
| | | precisionParametersService.save(precisionParameters); |
| | | } |
| | | precisionParametersTemplateDetail.setPrecisionParametersTemplateId(precisionParametersTemplate.getId()); |
| | | precisionParametersTemplateDetail.setPrecisionParametersId(precisionParameters.getId()); |
| | | precisionParametersTemplateDetail.setPrecisionParametersUda1(cellValue3); |
| | | precisionParametersTemplateDetail.setTolerance(cellValue4); |
| | | String[] needs = cellValue4.split("/"); |
| | | if(needs.length==2){ |
| | | precisionParametersTemplateDetail.setDistance(Double.valueOf(needs[1])); |
| | | } |
| | | if(StringUtils.isNotBlank(needs[0])){ |
| | | precisionParametersTemplateDetail.setBase(Double.valueOf(needs[0])); |
| | | } |
| | | precisionParametersTemplateDetail.setSort(row.getRowNum()-4); |
| | | precisionParametersTemplateDetailService.save(precisionParametersTemplateDetail); |
| | | } |
| | | // 在这里可以根据您的逻辑处理和清理数据 |
| | | System.out.println("Cell Value: " + cellValue); |
| | | } |
| | | Equipment equipment = equipmentService.getOne(new QueryWrapper<Equipment>().eq("num",num).eq("del_flag",0),false); |
| | | if(ObjectUtils.isNotNull(equipment)&&StringUtils.isBlank(equipment.getPrecisionParametersTemplateId())){ |
| | | equipment.setPrecisionParametersTemplateId(precisionParametersTemplate.getId()); |
| | | equipmentService.updateById(equipment); |
| | | } |
| | | return Result.OK("导入成功"); |
| | | } |
| | | else { |
| | | return Result.OK("导入失败,统一编码格式错误,请正确填写表头"); |
| | | } |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | |
| | | } |
| | | return Result.error("文件导入失败!"); |
| | | } |
| | | // 检查单元格是否在合并单元格范围内 |
| | | /** |
| | | * |
| | | * 检查单元格是否在合并单元格范围内. |
| | | * |
| | | */ |
| | | private boolean isMergedCell(Sheet sheet, Cell cell) { |
| | | for (CellRangeAddress mergedRegion : sheet.getMergedRegions()) { |
| | | if (mergedRegion.isInRange(cell.getRowIndex(), cell.getColumnIndex())) { |
| | |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | // 获取合并单元格的值 |
| | | /** |
| | | * |
| | | * 获取合并单元格的值. |
| | | * |
| | | */ |
| | | private String getMergedCellValue(Sheet sheet, Cell cell) { |
| | | for (CellRangeAddress mergedRegion : sheet.getMergedRegions()) { |
| | | if (mergedRegion.isInRange(cell.getRowIndex(), cell.getColumnIndex())) { |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | } |