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