| | |
| | | |
| | | import com.example.springboot.entity.GlassInfo; |
| | | import com.example.springboot.entity.MeasureSetting; |
| | | import com.example.springboot.entity.Queue; |
| | | import com.example.springboot.mapper.GlassInfoMapper; |
| | | import com.example.springboot.mapper.MeasureSettingMapper; |
| | | import com.example.springboot.mapper.QueueMapper; |
| | |
| | | return Results; |
| | | } |
| | | |
| | | //Execl表格 传入文件路径 |
| | | // 匹配逻辑 |
| | | public boolean Normal(double width, double height, String line) { |
| | | List<Queue> ErrowQueues= QueueMapper.selectErrorQueues(); |
| | | if (ErrowQueues.size()>0) { |
| | | //System.out.println("有匹配失败数据未去除"); |
| | | return false; |
| | | } |
| | | //查询当前领取的任务 |
| | | List<GlassInfo> Result = NormalGlassInfo(width, height, "1"); |
| | | if (Result.size() == 1) { |
| | | // 匹配成功 就一种类型 添加数据 |
| | | GlassInfo GlassInfo = Result.get(0); |
| | | QueueMapper.insert(GlassInfo.getGlassid(), width, height, 1); |
| | | GlassInfoMapper.updatemeasurenumber(GlassInfo.getId()); |
| | | System.out.println("匹配成功"); |
| | | System.out.println(GlassInfo.getGlassid()); |
| | | return true; |
| | | } else if (Result.size() > 1) { |
| | | // 匹配失败 匹配到多条符合的数据 添加数据 |
| | | QueueMapper.insertMatchFailure(width, height, 0); |
| | | System.out.println("匹配失败"); |
| | | |
| | | } else { |
| | | // 匹配失败 未找到符合的数据 添加数据 |
| | | QueueMapper.insertMatchFailure(width, height, -1); |
| | | System.out.println("未找到符合的数据"); |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | // Execl表格 传入文件路径 |
| | | public List ReadExecl(String filename) { |
| | | try { |
| | | // 创建文件对象 |
| | | File file = new File(filename); |
| | | // 创建文件输入流对象 |
| | | FileInputStream inputStream = new FileInputStream(file); |
| | | // 创建工作簿对象 |
| | | Workbook workbook = WorkbookFactory.create(inputStream); |
| | | // 获取第一个工作表对象 |
| | | Sheet sheet = workbook.getSheetAt(0); |
| | | // 创建一个实体类集合,用于存储Excel数据 |
| | | |
| | | List Results=new ArrayList(); |
| | | int i=0; |
| | | // 遍历行 |
| | | for (Row row : sheet) { |
| | | // 遍历单元格 |
| | | List ResultRow=new ArrayList(); |
| | | //System.out.println(); |
| | | for (Cell cell : row) { |
| | | String LastCellvalue=""; |
| | | // 判断单元格类型是否为公式类型 |
| | | if (cell.getCellType() == CellType.FORMULA) { |
| | | // 使用公式计算器计算单元格的值 |
| | | FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator(); |
| | | CellValue cellValue = evaluator.evaluate(cell); |
| | | // 计算后的单元格值 |
| | | LastCellvalue=cellValue.getNumberValue()+""; |
| | | }else if(cell.getCellType() == CellType.NUMERIC){ |
| | | double value = cell.getNumericCellValue(); |
| | | if (value%1==0) { |
| | | LastCellvalue=Math.round(value)+""; |
| | | }else{ |
| | | LastCellvalue=value+""; |
| | | } |
| | | } else { |
| | | // 单元格值 |
| | | LastCellvalue=cell.toString(); |
| | | } |
| | | ResultRow.add(LastCellvalue); |
| | | //System.out.print(LastCellvalue+" "); |
| | | // 创建文件对象 |
| | | File file = new File(filename); |
| | | if (!file.exists()) { |
| | | System.out.println("文件不存在! "+filename); |
| | | return new ArrayList<>(); |
| | | } |
| | | Results.add(ResultRow); |
| | | i++; |
| | | } |
| | | System.out.println(i); |
| | | // 关闭工作簿和输入流对象 |
| | | workbook.close(); |
| | | inputStream.close(); |
| | | return Results; |
| | | // 创建文件输入流对象 |
| | | FileInputStream inputStream = new FileInputStream(file); |
| | | // 创建工作簿对象 |
| | | Workbook workbook = WorkbookFactory.create(inputStream); |
| | | // 获取第一个工作表对象 |
| | | Sheet sheet = workbook.getSheetAt(0); |
| | | // 创建一个实体类集合,用于存储Excel数据 |
| | | |
| | | List Results = new ArrayList(); |
| | | int i = 0; |
| | | // 遍历行 |
| | | for (Row row : sheet) { |
| | | // 遍历单元格 |
| | | List ResultRow = new ArrayList(); |
| | | // System.out.println(); |
| | | for (Cell cell : row) { |
| | | String LastCellvalue = ""; |
| | | // 判断单元格类型是否为公式类型 |
| | | if (cell.getCellType() == CellType.FORMULA) { |
| | | // 使用公式计算器计算单元格的值 |
| | | FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator(); |
| | | CellValue cellValue = evaluator.evaluate(cell); |
| | | // 计算后的单元格值 |
| | | LastCellvalue = cellValue.getNumberValue() + ""; |
| | | } else if (cell.getCellType() == CellType.NUMERIC) { |
| | | double value = cell.getNumericCellValue(); |
| | | if (value % 1 == 0) { |
| | | LastCellvalue = Math.round(value) + ""; |
| | | } else { |
| | | LastCellvalue = value + ""; |
| | | } |
| | | } else { |
| | | // 单元格值 |
| | | LastCellvalue = cell.toString(); |
| | | } |
| | | ResultRow.add(LastCellvalue); |
| | | // System.out.print(LastCellvalue+" "); |
| | | } |
| | | Results.add(ResultRow); |
| | | i++; |
| | | } |
| | | System.out.println(i); |
| | | // 关闭工作簿和输入流对象 |
| | | workbook.close(); |
| | | inputStream.close(); |
| | | return Results; |
| | | } catch (Exception e) { |
| | | // TODO: handle exception |
| | | System.out.println("异常"); |
| | | return new ArrayList(); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |