From fbd45b5367da79ca5001fe7aba53b3220b5e1384 Mon Sep 17 00:00:00 2001 From: “linengliang” <vanSuperEnergy@163.com> Date: 星期二, 10 十月 2023 17:21:26 +0800 Subject: [PATCH] 精度参数模板导入1.0 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionParametersTemplateController.java | 97 ++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 76 insertions(+), 21 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionParametersTemplateController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionParametersTemplateController.java index 11444dc..1899651 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionParametersTemplateController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionParametersTemplateController.java @@ -5,6 +5,7 @@ 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; @@ -250,31 +251,77 @@ 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("瀵煎叆澶辫触,缁熶竴缂栫爜鏍煎紡閿欒锛岃姝g‘濉啓琛ㄥご"); } } catch (IOException e) { e.printStackTrace(); @@ -283,7 +330,11 @@ } return Result.error("鏂囦欢瀵煎叆澶辫触锛�"); } - // 妫�鏌ュ崟鍏冩牸鏄惁鍦ㄥ悎骞跺崟鍏冩牸鑼冨洿鍐� + /** + * + * 妫�鏌ュ崟鍏冩牸鏄惁鍦ㄥ悎骞跺崟鍏冩牸鑼冨洿鍐�. + * + */ private boolean isMergedCell(Sheet sheet, Cell cell) { for (CellRangeAddress mergedRegion : sheet.getMergedRegions()) { if (mergedRegion.isInRange(cell.getRowIndex(), cell.getColumnIndex())) { @@ -292,8 +343,11 @@ } return false; } - - // 鑾峰彇鍚堝苟鍗曞厓鏍肩殑鍊� + /** + * + * 鑾峰彇鍚堝苟鍗曞厓鏍肩殑鍊�. + * + */ private String getMergedCellValue(Sheet sheet, Cell cell) { for (CellRangeAddress mergedRegion : sheet.getMergedRegions()) { if (mergedRegion.isInRange(cell.getRowIndex(), cell.getColumnIndex())) { @@ -312,4 +366,5 @@ } + } -- Gitblit v1.9.3