From 3290343e7674eab7b35913cfcb5a6872720c940e Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期二, 13 五月 2025 16:06:51 +0800
Subject: [PATCH] 工具管理-工具分类特征参数:孔加工工具参数、螺纹刀具参数导入

---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaHoleToolsController.java |  497 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 381 insertions(+), 116 deletions(-)

diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaHoleToolsController.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaHoleToolsController.java
index 0f6e662..40c7643 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaHoleToolsController.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaHoleToolsController.java
@@ -1,5 +1,8 @@
 package org.jeecg.modules.tms.controller;
 
+import java.io.File;
+import java.io.InputStream;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
@@ -9,10 +12,21 @@
 import java.net.URLDecoder;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.PmsUtil;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.tms.entity.BaseTools;
 import org.jeecg.modules.tms.entity.ParaHoleTools;
+import org.jeecg.modules.tms.entity.ToolsClassify;
+import org.jeecg.modules.tms.service.IBaseToolsService;
 import org.jeecg.modules.tms.service.IParaHoleToolsService;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -20,6 +34,8 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 
+import org.jeecg.modules.tms.service.IToolsClassifyService;
+import org.jeecg.modules.tms.utils.ExcelUtils;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -36,125 +52,129 @@
 import io.swagger.annotations.ApiOperation;
 import org.jeecg.common.aspect.annotation.AutoLog;
 
- /**
+/**
  * @Description: tms_para_hole_tools
  * @Author: jeecg-boot
- * @Date:   2025-05-12
+ * @Date: 2025-05-12
  * @Version: V1.0
  */
-@Api(tags="tms_para_hole_tools")
+@Api(tags = "tms_para_hole_tools")
 @RestController
 @RequestMapping("/tms/paraHoleTools")
 @Slf4j
 public class ParaHoleToolsController extends JeecgController<ParaHoleTools, IParaHoleToolsService> {
-	@Autowired
-	private IParaHoleToolsService paraHoleToolsService;
-	
-	/**
-	 * 鍒嗛〉鍒楄〃鏌ヨ
-	 *
-	 * @param paraHoleTools
-	 * @param pageNo
-	 * @param pageSize
-	 * @param req
-	 * @return
-	 */
-	//@AutoLog(value = "tms_para_hole_tools-鍒嗛〉鍒楄〃鏌ヨ")
-	@ApiOperation(value="tms_para_hole_tools-鍒嗛〉鍒楄〃鏌ヨ", notes="tms_para_hole_tools-鍒嗛〉鍒楄〃鏌ヨ")
-	@GetMapping(value = "/list")
-	public Result<IPage<ParaHoleTools>> queryPageList(ParaHoleTools paraHoleTools,
-								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-								   HttpServletRequest req) {
-		QueryWrapper<ParaHoleTools> queryWrapper = QueryGenerator.initQueryWrapper(paraHoleTools, req.getParameterMap());
-		Page<ParaHoleTools> page = new Page<ParaHoleTools>(pageNo, pageSize);
-		IPage<ParaHoleTools> pageList = paraHoleToolsService.page(page, queryWrapper);
-		return Result.OK(pageList);
-	}
-	
-	/**
-	 *   娣诲姞
-	 *
-	 * @param paraHoleTools
-	 * @return
-	 */
-	@AutoLog(value = "tms_para_hole_tools-娣诲姞")
-	@ApiOperation(value="tms_para_hole_tools-娣诲姞", notes="tms_para_hole_tools-娣诲姞")
-	//@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:add")
-	@PostMapping(value = "/add")
-	public Result<String> add(@RequestBody ParaHoleTools paraHoleTools) {
-		paraHoleToolsService.save(paraHoleTools);
-		return Result.OK("娣诲姞鎴愬姛锛�");
-	}
-	
-	/**
-	 *  缂栬緫
-	 *
-	 * @param paraHoleTools
-	 * @return
-	 */
-	@AutoLog(value = "tms_para_hole_tools-缂栬緫")
-	@ApiOperation(value="tms_para_hole_tools-缂栬緫", notes="tms_para_hole_tools-缂栬緫")
-	//@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:edit")
-	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-	public Result<String> edit(@RequestBody ParaHoleTools paraHoleTools) {
-		paraHoleToolsService.updateById(paraHoleTools);
-		return Result.OK("缂栬緫鎴愬姛!");
-	}
-	
-	/**
-	 *   閫氳繃id鍒犻櫎
-	 *
-	 * @param id
-	 * @return
-	 */
-	@AutoLog(value = "tms_para_hole_tools-閫氳繃id鍒犻櫎")
-	@ApiOperation(value="tms_para_hole_tools-閫氳繃id鍒犻櫎", notes="tms_para_hole_tools-閫氳繃id鍒犻櫎")
-	//@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:delete")
-	@DeleteMapping(value = "/delete")
-	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-		paraHoleToolsService.removeById(id);
-		return Result.OK("鍒犻櫎鎴愬姛!");
-	}
-	
-	/**
-	 *  鎵归噺鍒犻櫎
-	 *
-	 * @param ids
-	 * @return
-	 */
-	@AutoLog(value = "tms_para_hole_tools-鎵归噺鍒犻櫎")
-	@ApiOperation(value="tms_para_hole_tools-鎵归噺鍒犻櫎", notes="tms_para_hole_tools-鎵归噺鍒犻櫎")
-	//@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:deleteBatch")
-	@DeleteMapping(value = "/deleteBatch")
-	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		this.paraHoleToolsService.removeByIds(Arrays.asList(ids.split(",")));
-		return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
-	}
-	
-	/**
-	 * 閫氳繃id鏌ヨ
-	 *
-	 * @param id
-	 * @return
-	 */
-	//@AutoLog(value = "tms_para_hole_tools-閫氳繃id鏌ヨ")
-	@ApiOperation(value="tms_para_hole_tools-閫氳繃id鏌ヨ", notes="tms_para_hole_tools-閫氳繃id鏌ヨ")
-	@GetMapping(value = "/queryById")
-	public Result<ParaHoleTools> queryById(@RequestParam(name="id",required=true) String id) {
-		ParaHoleTools paraHoleTools = paraHoleToolsService.getById(id);
-		if(paraHoleTools==null) {
-			return Result.error("鏈壘鍒板搴旀暟鎹�");
-		}
-		return Result.OK(paraHoleTools);
-	}
+    @Autowired
+    private IParaHoleToolsService paraHoleToolsService;
+    @Autowired
+    private IToolsClassifyService toolsClassifyService;
+    @Autowired
+    private IBaseToolsService baseToolsService;
 
     /**
-    * 瀵煎嚭excel
-    *
-    * @param request
-    * @param paraHoleTools
-    */
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param paraHoleTools
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    //@AutoLog(value = "tms_para_hole_tools-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "tms_para_hole_tools-鍒嗛〉鍒楄〃鏌ヨ", notes = "tms_para_hole_tools-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<IPage<ParaHoleTools>> queryPageList(ParaHoleTools paraHoleTools,
+                                                      @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                      @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                      HttpServletRequest req) {
+        QueryWrapper<ParaHoleTools> queryWrapper = QueryGenerator.initQueryWrapper(paraHoleTools, req.getParameterMap());
+        Page<ParaHoleTools> page = new Page<ParaHoleTools>(pageNo, pageSize);
+        IPage<ParaHoleTools> pageList = paraHoleToolsService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @param paraHoleTools
+     * @return
+     */
+    @AutoLog(value = "tms_para_hole_tools-娣诲姞")
+    @ApiOperation(value = "tms_para_hole_tools-娣诲姞", notes = "tms_para_hole_tools-娣诲姞")
+    //@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:add")
+    @PostMapping(value = "/add")
+    public Result<String> add(@RequestBody ParaHoleTools paraHoleTools) {
+        paraHoleToolsService.save(paraHoleTools);
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
+     * 缂栬緫
+     *
+     * @param paraHoleTools
+     * @return
+     */
+    @AutoLog(value = "tms_para_hole_tools-缂栬緫")
+    @ApiOperation(value = "tms_para_hole_tools-缂栬緫", notes = "tms_para_hole_tools-缂栬緫")
+    //@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:edit")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> edit(@RequestBody ParaHoleTools paraHoleTools) {
+        paraHoleToolsService.updateById(paraHoleTools);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "tms_para_hole_tools-閫氳繃id鍒犻櫎")
+    @ApiOperation(value = "tms_para_hole_tools-閫氳繃id鍒犻櫎", notes = "tms_para_hole_tools-閫氳繃id鍒犻櫎")
+    //@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:delete")
+    @DeleteMapping(value = "/delete")
+    public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
+        paraHoleToolsService.removeById(id);
+        return Result.OK("鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "tms_para_hole_tools-鎵归噺鍒犻櫎")
+    @ApiOperation(value = "tms_para_hole_tools-鎵归噺鍒犻櫎", notes = "tms_para_hole_tools-鎵归噺鍒犻櫎")
+    //@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:deleteBatch")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.paraHoleToolsService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 閫氳繃id鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    //@AutoLog(value = "tms_para_hole_tools-閫氳繃id鏌ヨ")
+    @ApiOperation(value = "tms_para_hole_tools-閫氳繃id鏌ヨ", notes = "tms_para_hole_tools-閫氳繃id鏌ヨ")
+    @GetMapping(value = "/queryById")
+    public Result<ParaHoleTools> queryById(@RequestParam(name = "id", required = true) String id) {
+        ParaHoleTools paraHoleTools = paraHoleToolsService.getById(id);
+        if (paraHoleTools == null) {
+            return Result.error("鏈壘鍒板搴旀暟鎹�");
+        }
+        return Result.OK(paraHoleTools);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param paraHoleTools
+     */
     //@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:exportXls")
     @RequestMapping(value = "/exportXls")
     public ModelAndView exportXls(HttpServletRequest request, ParaHoleTools paraHoleTools) {
@@ -162,16 +182,261 @@
     }
 
     /**
-      * 閫氳繃excel瀵煎叆鏁版嵁
-    *
-    * @param request
-    * @param response
-    * @return
-    */
+     * 閫氳繃excel瀵煎叆鏁版嵁
+     *
+     * @param request
+     * @param response
+     * @return
+     */
     //@RequiresPermissions("tms_para_hole_tools:importExcel")
     @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, ParaHoleTools.class);
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        // 閿欒淇℃伅
+        List<String> errorMessage = new ArrayList<>();
+        int successLines = 0, errorLines = 0, dataLines = 0;
+        List<ParaHoleTools> paraHoleToolsImportList = new ArrayList<>();
+        try {
+            for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+                // 鑾峰彇涓婁紶鏂囦欢瀵硅薄
+                MultipartFile file = entity.getValue();
+                InputStream inputStream = file.getInputStream();
+                Workbook workbook = new XSSFWorkbook(inputStream);
+                Sheet sheet = workbook.getSheetAt(0);
+                for (Row row : sheet) {
+                    ParaHoleTools paraHoleTools = new ParaHoleTools();
+                    int rowNum = row.getRowNum();
+                    int currentRowNum  = rowNum + 1;
+                    //琛ㄥご琛屽拰绌鸿鐣ヨ繃
+                    if (rowNum == 0 || ExcelUtils.isRowEmpty(row)) {
+                        continue;
+                    }
+                    dataLines++;
+                    Cell cell1 = row.getCell(1);
+                    if (cell1 == null || cell1.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,涓�绾у垎绫诲悕绉颁负绌�! ");
+                        errorLines++;
+                        continue;
+                    }
+                    Cell cell2 = row.getCell(2);
+                    if (cell2 == null || cell2.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,浜岀骇鍒嗙被鍚嶇О涓虹┖! ");
+                        errorLines++;
+                        continue;
+                    }
+                    Cell cell3 = row.getCell(3);
+                    if (cell3 == null || cell3.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,涓夌骇鍒嗙被鍚嶇О涓虹┖! ");
+                        errorLines++;
+                        continue;
+                    }
+                    Cell cell4 = row.getCell(4);
+                    if (cell4 == null || cell4.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍥涚骇鍒嗙被鍚嶇О涓虹┖! ");
+                        errorLines++;
+                        continue;
+                    }
+                    Cell cell9 = row.getCell(9);
+                    if (cell9 == null || cell9.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍨嬪彿/鍥惧彿涓虹┖! ");
+                        errorLines++;
+                        continue;
+                    }
+                    //鏍规嵁鍥涚骇鍒嗙被鍚嶇О鍜屽瀷鍙�/鍥惧彿鏌ヨ宸ュ叿淇℃伅
+                    List<ToolsClassify> toolClassifyList = toolsClassifyService.list(new LambdaQueryWrapper<ToolsClassify>()
+                            .eq(ToolsClassify::getTypeName, ExcelUtils.getCellValueAsString(cell4))
+                            .eq(ToolsClassify::getStatus, CommonConstant.STATUS_1));
+                    if (CollectionUtil.isEmpty(toolClassifyList)) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄨ鍥涚骇鍒嗙被鍚嶇О! ");
+                        errorLines++;
+                        continue;
+                    } else {
+                        ToolsClassify toolsClassify = toolClassifyList.get(0);
+                        List<BaseTools> baseToolsList = baseToolsService.list(new LambdaQueryWrapper<BaseTools>()
+                                .eq(BaseTools::getClassifyId, toolsClassify.getId())
+                                .eq(BaseTools::getToolModel, ExcelUtils.getCellValueAsString(cell9)));
+                        if (CollectionUtil.isEmpty(baseToolsList)) {
+                            errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄥ搴旂殑宸ュ叿淇℃伅! ");
+                            errorLines++;
+                            continue;
+                        } else {
+                            BaseTools baseTools = baseToolsList.get(0);
+                            List<ParaHoleTools> paraHoleToolsList = paraHoleToolsService.list(new LambdaQueryWrapper<ParaHoleTools>()
+                                    .eq(ParaHoleTools::getToolCode, baseTools.getId())
+                                    .eq(ParaHoleTools::getToolModel, ExcelUtils.getCellValueAsString(cell9)));
+                            if (CollectionUtil.isEmpty(paraHoleToolsList)) {
+                                paraHoleTools.setClassifyId(toolsClassify.getId());
+                                paraHoleTools.setToolCode(baseTools.getId());
+                                paraHoleTools.setToolModel(ExcelUtils.getCellValueAsString(cell9));
+                            } else {
+                                paraHoleTools = paraHoleToolsList.get(0);
+                            }
+                        }
+                    }
+
+                    Cell cell0 = row.getCell(0);
+                    paraHoleTools.setSignCode(cell0.getStringCellValue());
+                    Cell cell5 = row.getCell(5);//鐗╁搧涓枃鍚嶇О
+                    if (cell5 == null || cell5.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鐗╁搧涓枃鍚嶇О涓虹┖! ");
+                        errorLines++;
+                        continue;
+                    } else {
+                        paraHoleTools.setChineseName(ExcelUtils.getCellValueAsString(cell5));
+                    }
+                    Cell cell6 = row.getCell(6);//鐗╁搧澶栨枃鍚嶇О
+                    paraHoleTools.setForeignLanguageName(ExcelUtils.getCellValueAsString(cell6));
+                    Cell cell7 = row.getCell(7);//鏍囧噯绾у埆
+                    paraHoleTools.setStandardLevel(ExcelUtils.getCellValueAsString(cell7));
+                    Cell cell8 = row.getCell(8);//鏍囧噯鍙�
+                    paraHoleTools.setStandardCode(ExcelUtils.getCellValueAsString(cell8));
+                    Cell cell10 = row.getCell(10);//鍒�鍏风洿寰�
+                    if (cell10 == null || cell10.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏风洿寰勪负绌�! ");
+                        errorLines++;
+                        continue;
+                    } else {
+                        paraHoleTools.setDiameter(ExcelUtils.getCellValueAsString(cell10));
+                    }
+                    Cell cell11 = row.getCell(11);//鍒囧墛鍒冮敟瑙�
+                    paraHoleTools.setConeAngle(ExcelUtils.getCellValueAsString(cell11));
+                    Cell cell12 = row.getCell(12);//鍒囧墛鍒冮暱
+                    if (cell12 == null || cell12.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒囧墛鍒冮暱涓虹┖! ");
+                        errorLines++;
+                        continue;
+                    } else {
+                        paraHoleTools.setEdgeLength(ExcelUtils.getCellValueAsString(cell12));
+                    }
+                    Cell cell13 = row.getCell(13);//鍒�鍏锋�婚暱
+                    if (cell13 == null || cell13.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏锋�婚暱涓虹┖! ");
+                        errorLines++;
+                        continue;
+                    } else {
+                        paraHoleTools.setTotalLength(ExcelUtils.getCellValueAsString(cell13));
+                    }
+                    Cell cell14 = row.getCell(14);//鍒�鍏锋潗鏂�
+                    if (cell14 == null || cell14.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏锋潗鏂欎负绌�! ");
+                        errorLines++;
+                        continue;
+                    } else {
+                        paraHoleTools.setToolMaterial(ExcelUtils.getCellValueAsString(cell14));
+                    }
+                    Cell cell15 = row.getCell(15);//闆朵欢鏉愭枡
+                    paraHoleTools.setPartMaterial(ExcelUtils.getCellValueAsString(cell15));
+                    Cell cell16 = row.getCell(16);//鏄惁娑傚眰
+                    if (cell16 == null || cell16.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鏄惁娑傚眰涓虹┖! ");
+                        errorLines++;
+                        continue;
+                    } else {
+                        paraHoleTools.setPaintcoatFlag(ExcelUtils.getCellValueAsString(cell16));
+                    }
+                    Cell cell17 = row.getCell(17);//鍒�鍏峰瀷寮�
+                    if (cell17 == null || cell17.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏峰瀷寮忎负绌�! ");
+                        errorLines++;
+                        continue;
+                    } else {
+                        paraHoleTools.setToolPattern(ExcelUtils.getCellValueAsString(cell17));
+                    }
+                    Cell cell18 = row.getCell(18);//鏌勯儴瑙勬牸
+                    if (cell18 == null || cell18.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鏌勯儴瑙勬牸涓虹┖! ");
+                        errorLines++;
+                        continue;
+                    } else {
+                        paraHoleTools.setHandleSpecifications(ExcelUtils.getCellValueAsString(cell18));
+                    }
+                    Cell cell19 = row.getCell(19);//鍐峰嵈鏂瑰紡
+                    if (cell19 == null || cell19.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍐峰嵈鏂瑰紡涓虹┖锛�");
+                        errorLines++;
+                        continue;
+                    } else {
+                        paraHoleTools.setCoolingMethod(ExcelUtils.getCellValueAsString(cell19));
+                    }
+                    Cell cell20 = row.getCell(20);//闄勫姞鎶�鏈潯浠�
+                    if (cell20 == null || cell20.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,闄勫姞鎶�鏈潯浠朵负绌猴紒");
+                        errorLines++;
+                        continue;
+                    } else {
+                        paraHoleTools.setTechnicalConditions(ExcelUtils.getCellValueAsString(cell20));
+                    }
+                    Cell cell21 = row.getCell(21);//闄勫姞鎶�鏈潯浠惰鏄�
+                    paraHoleTools.setConditionsInfo(ExcelUtils.getCellValueAsString(cell21));
+                    Cell cell22 = row.getCell(22);//鍝佺墝
+                    paraHoleTools.setBrand(ExcelUtils.getCellValueAsString(cell22));
+                    Cell cell23 = row.getCell(23);//鍒跺紡
+                    paraHoleTools.setTypes(ExcelUtils.getCellValueAsString(cell23));
+                    Cell cell24 = row.getCell(24);//鍏樊绛夌骇
+                    paraHoleTools.setToleranceClass(ExcelUtils.getCellValueAsString(cell24));
+                    Cell cell25 = row.getCell(25);//鎺掑睉妲藉舰寮�
+                    paraHoleTools.setFluteForm(ExcelUtils.getCellValueAsString(cell25));
+                    Cell cell26 = row.getCell(26);//鏌勯儴褰㈠紡
+                    paraHoleTools.setHandleForm(ExcelUtils.getCellValueAsString(cell26));
+                    Cell cell27 = row.getCell(27);//鍒冩暟
+                    paraHoleTools.setBladeCount(ExcelUtils.getCellValueAsString(cell27));
+                    Cell cell28 = row.getCell(28);//鏈�灏忕洿寰�
+                    paraHoleTools.setSmallDiameter(ExcelUtils.getCellValueAsString(cell28));
+                    Cell cell29 = row.getCell(29);//鍊掕瑙掑害
+                    paraHoleTools.setChamferAngle(ExcelUtils.getCellValueAsString(cell29));
+                    Cell cell30 = row.getCell(30);//閫傞厤鍒�鐗�-鍒�澶�-鍒�鏉�
+                    paraHoleTools.setFitterPart(ExcelUtils.getCellValueAsString(cell30));
+                    Cell cell31 = row.getCell(31);//鏈夋晥鍔犲伐闀垮害
+                    paraHoleTools.setEffectiveLength(ExcelUtils.getCellValueAsString(cell31));
+                    Cell cell32 = row.getCell(32);//閽诲ご鐩村緞鑼冨洿
+                    paraHoleTools.setDrillDiameterRange(ExcelUtils.getCellValueAsString(cell32));
+                    Cell cell33 = row.getCell(33);//鍒�鏉嗙洿寰�
+                    paraHoleTools.setKnifeDiameter(ExcelUtils.getCellValueAsString(cell33));
+                    Cell cell34 = row.getCell(34);//瀛斿緞
+                    paraHoleTools.setBoreDiameter(ExcelUtils.getCellValueAsString(cell34));
+                    Cell cell35 = row.getCell(35);//鎺ュ彛褰㈠紡
+                    paraHoleTools.setConnectorType(ExcelUtils.getCellValueAsString(cell35));
+                    Cell cell36 = row.getCell(36);//鎺ュ彛妲介暱瑙勬牸
+                    paraHoleTools.setSlotSpecification(ExcelUtils.getCellValueAsString(cell36));
+                    Cell cell37 = row.getCell(37);//閫傜敤鑼冨洿
+                    paraHoleTools.setScopeOfApplication(ExcelUtils.getCellValueAsString(cell37));
+                    Cell cell38 = row.getCell(38);//鏈�灏忛晽瀛旂洿寰�
+                    paraHoleTools.setLatestBoringDiameter(ExcelUtils.getCellValueAsString(cell38));
+                    Cell cell39 = row.getCell(39);//鏈�澶ч晽瀛旂洿寰�
+                    paraHoleTools.setMaxBoringDiameter(ExcelUtils.getCellValueAsString(cell39));
+                    Cell cell40 = row.getCell(40);//鍔犲伐鏂瑰紡
+                    paraHoleTools.setProcessingmethod(ExcelUtils.getCellValueAsString(cell40));
+                    Cell cell41 = row.getCell(41);//鍒�澶存暟
+                    paraHoleTools.setHeadsNumber(ExcelUtils.getCellValueAsString(cell41));
+                    Cell cell42 = row.getCell(42);//閫傞厤鍒�搴�
+                    paraHoleTools.setAdaptHolder(ExcelUtils.getCellValueAsString(cell42));
+
+                    paraHoleToolsImportList.add(paraHoleTools);
+                    successLines++;
+                }
+            }
+            paraHoleToolsService.saveOrUpdateBatch(paraHoleToolsImportList);
+            if (successLines == dataLines) {
+                return Result.OK("鍏�" + dataLines + "琛屾暟鎹叏閮ㄥ鍏ユ垚鍔燂紒");
+            } else {
+                JSONObject result = new JSONObject(5);
+                result.put("successCount", successLines);
+                result.put("msg", "鎬讳笂浼犺鏁帮細" + dataLines + "锛屾垚鍔熷鍏ヨ鏁帮細" + successLines);
+                result.put("errorMsg", errorMessage);
+                String fileUrl = PmsUtil.saveErrorMsgByList(errorMessage, "userImportExcelErrorLog");
+                int lastIndex = fileUrl.lastIndexOf(File.separator);
+                String fileName = fileUrl.substring(lastIndex + 1);
+                result.put("fileUrl", "/sys/common/static/" + fileUrl);
+                result.put("fileName", fileName);
+                Result res = Result.ok(result);
+                res.setCode(201);
+                res.setMessage("鏂囦欢瀵煎叆鎴愬姛锛屼絾鏈夐敊璇��");
+                return res;
+            }
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
     }
 
 }

--
Gitblit v1.9.3