From 73be743ff89b54fa14fb07afa72e6d833406a381 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期一, 16 六月 2025 16:49:09 +0800
Subject: [PATCH] 工具管理-调整参数导入增加集团公司编码、标记、工具简称字段

---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaMillToolController.java |  405 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 402 insertions(+), 3 deletions(-)

diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaMillToolController.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaMillToolController.java
index 1cd21bb..43b7694 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaMillToolController.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaMillToolController.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,20 @@
 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.ParaMillTool;
+import org.jeecg.modules.tms.entity.*;
+import org.jeecg.modules.tms.enums.AccuracyClass;
+import org.jeecg.modules.tms.service.IBaseToolsService;
 import org.jeecg.modules.tms.service.IParaMillToolService;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -20,6 +33,9 @@
 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.service.IToolsConfigPropertyService;
+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;
@@ -49,6 +65,12 @@
 public class ParaMillToolController extends JeecgController<ParaMillTool, IParaMillToolService> {
 	@Autowired
 	private IParaMillToolService paraMillToolService;
+	@Autowired
+	private IToolsClassifyService toolsClassifyService;
+	@Autowired
+	private IBaseToolsService baseToolsService;
+	@Autowired
+	private IToolsConfigPropertyService toolsConfigPropertyService;
 	
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
@@ -171,7 +193,384 @@
     //@RequiresPermissions("tms_para_mill_tool:importExcel")
     @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, ParaMillTool.class);
-    }
+		MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+		Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+		// 閿欒淇℃伅
+		List<String> errorMessage = new ArrayList<>();
+		int successLines = 0, errorLines = 0, dataLines = 0;
+		List<ParaMillTool> paraMillToolImportList = 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) {
+					ParaMillTool paraMillTool = new ParaMillTool();
+					int rowNum = row.getRowNum();
+					int currentRowNum = rowNum + 1;
+					//琛ㄥご琛屽拰绌鸿鐣ヨ繃
+					if (rowNum == 0 || ExcelUtils.isRowEmpty(row)) {
+						continue;
+					}
+					dataLines++;
+					Cell cell0 = row.getCell(0);
+					if (cell0 == null || cell0.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏风紪鐮佷负绌�! ");
+						errorLines++;
+						continue;
+					}
+					Cell cell1 = row.getCell(1);
+					if (cell1 == null || cell1.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 cell5 = row.getCell(5);
+					if (cell5 == null || cell5.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,涓夌骇鍒嗙被鍚嶇О涓虹┖! ");
+						errorLines++;
+						continue;
+					}
+					Cell cell6 = row.getCell(6);
+					if (cell6 == null || cell6.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍥涚骇鍒嗙被鍚嶇О涓虹┖! ");
+						errorLines++;
+						continue;
+					}
+
+					ToolsClassify classify;
+					List<ToolsClassify> class1List = toolsClassifyService.list(new LambdaQueryWrapper<ToolsClassify>()
+							.eq(ToolsClassify::getTypeName, ExcelUtils.getCellValueAsString(cell3))
+							.eq(ToolsClassify::getStatus, CommonConstant.STATUS_1));
+					if (CollectionUtil.isEmpty(class1List)) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄨ涓�绾у垎绫诲悕绉�! ");
+						errorLines++;
+						continue;
+					} else {
+						ToolsClassify classify1 = class1List.get(0);
+						List<ToolsClassify> class2List = toolsClassifyService.list(new LambdaQueryWrapper<ToolsClassify>()
+								.eq(ToolsClassify::getParentId, classify1.getId())
+								.eq(ToolsClassify::getTypeName, ExcelUtils.getCellValueAsString(cell4))
+								.eq(ToolsClassify::getStatus, CommonConstant.STATUS_1));
+						if (CollectionUtil.isEmpty(class2List)) {
+							errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄨ浜岀骇鍒嗙被鍚嶇О! ");
+							errorLines++;
+							continue;
+						} else {
+							ToolsClassify classify2 = class2List.get(0);
+							List<ToolsClassify> class3List = toolsClassifyService.list(new LambdaQueryWrapper<ToolsClassify>()
+									.eq(ToolsClassify::getParentId, classify2.getId())
+									.eq(ToolsClassify::getTypeName, ExcelUtils.getCellValueAsString(cell5))
+									.eq(ToolsClassify::getStatus, CommonConstant.STATUS_1));
+							if (CollectionUtil.isEmpty(class3List)) {
+								errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄨ涓夌骇鍒嗙被鍚嶇О! ");
+								errorLines++;
+								continue;
+							} else {
+								ToolsClassify classify3 = class3List.get(0);
+								List<ToolsClassify> class4List = toolsClassifyService.list(new LambdaQueryWrapper<ToolsClassify>()
+										.eq(ToolsClassify::getParentId, classify3.getId())
+										.eq(ToolsClassify::getTypeName, ExcelUtils.getCellValueAsString(cell6))
+										.eq(ToolsClassify::getStatus, CommonConstant.STATUS_1));
+								if (CollectionUtil.isEmpty(class4List)) {
+									errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄨ鍥涚骇鍒嗙被鍚嶇О! ");
+									errorLines++;
+									continue;
+								} else {
+									classify = class4List.get(0);
+									paraMillTool.setClassifyId(classify.getId());
+								}
+							}
+						}
+					}
+
+					Cell cell2 = row.getCell(2);//搴忓彿(鎴栦紒涓氬唴鍘熶唬鐮�)
+					paraMillTool.setSignCode(ExcelUtils.getCellValueAsString(cell2));
+					Cell cell7 = row.getCell(7);//鐗╁搧涓枃鍚嶇О
+					if (cell7 == null || cell7.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鐗╁搧涓枃鍚嶇О涓虹┖! ");
+						errorLines++;
+						continue;
+					} else {
+						paraMillTool.setChineseName(ExcelUtils.getCellValueAsString(cell7));
+					}
+					Cell cell8 = row.getCell(8);//鐗╁搧澶栨枃鍚嶇О
+					paraMillTool.setForeignLanguageName(ExcelUtils.getCellValueAsString(cell8));
+					Cell cell9 = row.getCell(9);//鏍囧噯绾у埆
+					paraMillTool.setStandardLevel(ExcelUtils.getCellValueAsString(cell9));
+					Cell cell10 = row.getCell(10);//鏍囧噯鍙�
+					paraMillTool.setStandardCode(ExcelUtils.getCellValueAsString(cell10));
+					Cell cell11 = row.getCell(11);
+					if (cell11 == null || cell11.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍨嬪彿/鍥惧彿涓虹┖! ");
+						errorLines++;
+						continue;
+					} else {
+						paraMillTool.setToolModel(ExcelUtils.getCellValueAsString(cell11));
+					}
+					Cell cell12 = row.getCell(12);
+					String accuracyClassCode;
+					if (cell12 == null || cell12.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,绮惧害绛夌骇涓虹┖! ");
+						errorLines++;
+						continue;
+					} else {
+						accuracyClassCode = AccuracyClass.getCodeFromValue(ExcelUtils.getCellValueAsString(cell12));
+						if (accuracyClassCode == null) {
+							errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,绮惧害绛夌骇涓嶇鍚堣姹�! ");
+							errorLines++;
+							continue;
+						}
+					}
+
+					BaseTools baseTools = new BaseTools()
+							.setToolCode(ExcelUtils.getCellValueAsString(cell0))
+							.setClassifyId(classify.getId())
+							.setSignCode(ExcelUtils.getCellValueAsString(cell2))
+							.setChineseName(ExcelUtils.getCellValueAsString(cell7))
+							.setForeignLanguageName(ExcelUtils.getCellValueAsString(cell8))
+							.setStandardLevel(ExcelUtils.getCellValueAsString(cell9))
+							.setStandardCode(ExcelUtils.getCellValueAsString(cell10))
+							.setToolModel(ExcelUtils.getCellValueAsString(cell11))
+							.setCurrentCode("0000")//褰撳墠缂栫爜鍒濆鍖�
+							.setParamaTableName("3")//4锛氶摚鍓婂垁鍏�
+							.setAccuracyClass(accuracyClassCode);
+
+					//鏍规嵁鍒�鍏风紪鐮併�佸瀷鍙�/鍥惧彿銆佸垎绫籭d鏌ヨ鍒�鍏蜂俊鎭�
+					List<BaseTools> toolsList = baseToolsService.list(new LambdaQueryWrapper<BaseTools>()
+							.eq(BaseTools::getToolCode, ExcelUtils.getCellValueAsString(cell0))
+							.eq(BaseTools::getClassifyId, classify.getId())
+							.eq(BaseTools::getToolModel, ExcelUtils.getCellValueAsString(cell11)));
+					if (CollectionUtil.isEmpty(toolsList)) {
+						//涓嶅瓨鍦ㄧ浉搴斿垁鍏凤紝鏂板
+						baseToolsService.save(baseTools);
+					} else {
+						//瀛樺湪鐩稿簲鍒�鍏凤紝鏇存柊
+						BaseTools tools = toolsList.get(0);
+						baseTools.setId(tools.getId());
+						baseToolsService.updateById(baseTools);
+					}
+
+					paraMillTool.setToolCode(baseTools.getId());
+					ToolsConfigProperty configProperty = new ToolsConfigProperty()
+							.setChineseName(ExcelUtils.getCellValueAsString(cell7))
+							.setForeignLanguageName(ExcelUtils.getCellValueAsString(cell8))
+							.setStandardLevel(ExcelUtils.getCellValueAsString(cell9))
+							.setStandardCode(ExcelUtils.getCellValueAsString(cell10))
+							.setToolModel(ExcelUtils.getCellValueAsString(cell11))
+							.setPositionCode(ExcelUtils.getCellValueAsString(cell1))
+							.setApplicationType("1");//1:閫氱敤宸ュ叿绫诲瀷
+					//鏍规嵁鍒�鍏穒d銆佸垎绫籭d鏌ヨ閫氱敤鍙傛暟淇℃伅
+					List<ToolsConfigProperty> configPropertyList = toolsConfigPropertyService.list(new LambdaQueryWrapper<ToolsConfigProperty>()
+							.eq(ToolsConfigProperty::getToolCode, baseTools.getId())
+							.eq(ToolsConfigProperty::getClassifyId, classify.getId())
+							.eq(ToolsConfigProperty::getStatus, CommonConstant.STATUS_1));
+					if (CollectionUtil.isEmpty(configPropertyList)) {
+						//涓嶅瓨鍦ㄩ�氱敤鍙傛暟淇℃伅锛屾柊澧�
+						configProperty.setStatus(CommonConstant.STATUS_1);
+						configProperty.setToolCode(baseTools.getId());
+						configProperty.setClassifyId(classify.getId());
+						toolsConfigPropertyService.save(configProperty);
+					} else {
+						//瀛樺湪閫氱敤鍙傛暟淇℃伅锛屾洿鏂�
+						ToolsConfigProperty property = configPropertyList.get(0);
+						configProperty.setId(property.getId());
+						toolsConfigPropertyService.updateById(configProperty);
+					}
+
+					List<ParaMillTool> paraMillToolList = paraMillToolService.list(new LambdaQueryWrapper<ParaMillTool>()
+							.eq(ParaMillTool::getToolCode, baseTools.getId())
+							.eq(ParaMillTool::getClassifyId, classify.getId())
+							.eq(ParaMillTool::getToolModel, ExcelUtils.getCellValueAsString(cell11)));
+					if (CollectionUtil.isNotEmpty(paraMillToolList)) {
+						//瀛樺湪璇ラ摚鍓婂垁鍏峰弬鏁颁俊鎭紝鏇存柊
+						ParaMillTool millTool = paraMillToolList.get(0);
+						paraMillTool.setId(millTool.getId());
+					}
+
+					Cell cell13 = row.getCell(13);//鍒�鍏风洿寰�
+					if (cell13 == null || cell13.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏风洿寰勪负绌�! ");
+						errorLines++;
+						continue;
+					} else {
+						paraMillTool.setDiameter(ExcelUtils.getCellValueAsString(cell13));
+					}
+					Cell cell14 = row.getCell(14);//鍒�灏栬R
+					if (cell14 == null || cell11.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�灏栬R涓虹┖! ");
+					} else {
+						paraMillTool.setNoseAngleR(ExcelUtils.getCellValueAsString(cell14));
+					}
+					Cell cell15 = row.getCell(15);//榻挎暟
+					if (cell15 == null || cell15.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,榻挎暟涓虹┖! ");
+						errorLines++;
+						continue;
+					} else {
+						paraMillTool.setNumberOfTeeth(ExcelUtils.getCellValueAsString(cell15));
+					}
+					Cell cell16 = row.getCell(16);//鍒囧墛鍒冮暱
+					if (cell16 == null || cell16.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒囧墛鍒冮暱涓虹┖! ");
+						errorLines++;
+						continue;
+					} else {
+						paraMillTool.setEdgeLength(ExcelUtils.getCellValueAsString(cell16));
+					}
+					Cell cell17 = row.getCell(17);//鍒�鍏锋�婚暱
+					if (cell17 == null || cell17.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏锋�婚暱涓虹┖! ");
+						errorLines++;
+						continue;
+					} else {
+						paraMillTool.setTotalLength(ExcelUtils.getCellValueAsString(cell17));
+					}
+					Cell cell18 = row.getCell(18);//鍒�鍏锋潗鏂�
+					if (cell18 == null || cell15.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏锋潗鏂欎负绌�! ");
+					} else {
+						paraMillTool.setToolMaterial(ExcelUtils.getCellValueAsString(cell18));
+					}
+
+					Cell cell19 = row.getCell(19);//闆朵欢鏉愭枡
+					paraMillTool.setPartMaterial(ExcelUtils.getCellValueAsString(cell19));
+					Cell cell20 = row.getCell(20);//鏄惁娑傚眰
+					if (cell20 == null || cell20.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鏄惁娑傚眰涓虹┖! ");
+						errorLines++;
+						continue;
+					} else {
+						paraMillTool.setPaintcoatFlag(ExcelUtils.getCellValueAsString(cell20));
+					}
+					Cell cell21 = row.getCell(21);//鍒�鍏峰瀷寮�
+					if (cell21 == null || cell21.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏峰瀷寮忎负绌�! ");
+						errorLines++;
+						continue;
+					} else {
+						paraMillTool.setToolPattern(ExcelUtils.getCellValueAsString(cell21));
+					}
+					Cell cell22 = row.getCell(22);//瑁呭す瑙勬牸
+					if (cell22 == null || cell22.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,瑁呭す瑙勬牸涓虹┖锛�");
+						errorLines++;
+						continue;
+					} else {
+						paraMillTool.setClampingSpecifications(ExcelUtils.getCellValueAsString(cell22));
+					}
+					Cell cell23 = row.getCell(23);//鍐峰嵈鏂瑰紡
+					if (cell23 == null || cell23.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍐峰嵈鏂瑰紡涓虹┖锛�");
+						errorLines++;
+						continue;
+					} else {
+						paraMillTool.setCoolingMethod(ExcelUtils.getCellValueAsString(cell23));
+					}
+					Cell cell24 = row.getCell(24);//闄勫姞鎶�鏈潯浠�
+					if (cell24 == null || cell24.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,闄勫姞鎶�鏈潯浠朵负绌猴紒");
+					} else {
+						paraMillTool.setTechnicalConditions(ExcelUtils.getCellValueAsString(cell24));
+					}
+					Cell cell25 = row.getCell(25);//闄勫姞鎶�鏈潯浠惰鏄�
+					paraMillTool.setConditionsInfo(ExcelUtils.getCellValueAsString(cell25));
+					Cell cell26 = row.getCell(26);//鍝佺墝
+					paraMillTool.setBrand(ExcelUtils.getCellValueAsString(cell26));
+					Cell cell27 = row.getCell(27);//棰堝緞
+					paraMillTool.setNeckDiameter(ExcelUtils.getCellValueAsString(cell27));
+					Cell cell28 = row.getCell(28);//鏌勯儴褰㈠紡
+					paraMillTool.setHandleForm(ExcelUtils.getCellValueAsString(cell28));
+					Cell cell29 = row.getCell(29);//鍒�灏栬C
+					paraMillTool.setNoseAngleC(ExcelUtils.getCellValueAsString(cell29));
+					Cell cell30 = row.getCell(30);//鍒�灏栬鍐匯
+					paraMillTool.setAngleInsideR(ExcelUtils.getCellValueAsString(cell30));
+					Cell cell31 = row.getCell(31);//鏈�灏忕洿寰�
+					paraMillTool.setSmallDiameter(ExcelUtils.getCellValueAsString(cell31));
+					Cell cell32 = row.getCell(32);//鍒�鍏疯搴�
+					paraMillTool.setToolAngle(ExcelUtils.getCellValueAsString(cell32));
+					Cell cell33 = row.getCell(33);//鏌勯暱
+					paraMillTool.setHandleLength(ExcelUtils.getCellValueAsString(cell33));
+					Cell cell34 = row.getCell(34);//涓诲亸瑙扠
+					paraMillTool.setMainAngleK(ExcelUtils.getCellValueAsString(cell34));
+					Cell cell35 = row.getCell(35);//鏈�澶у垏娣�
+					paraMillTool.setDeepestDepth(ExcelUtils.getCellValueAsString(cell35));
+					Cell cell36 = row.getCell(36);//閫傞厤鍒�鐗�
+					paraMillTool.setAdaptBlade(ExcelUtils.getCellValueAsString(cell36));
+					Cell cell37 = row.getCell(37);//鏌勯褰㈠紡
+					paraMillTool.setHandleNeckForm(ExcelUtils.getCellValueAsString(cell37));
+					Cell cell38 = row.getCell(38);//鏌勯闀垮害
+					paraMillTool.setHandleNeckLength(ExcelUtils.getCellValueAsString(cell38));
+					Cell cell39 = row.getCell(39);//鎺ュ彛灏哄瑙勬牸
+					paraMillTool.setSizeSpecifications(ExcelUtils.getCellValueAsString(cell39));
+					Cell cell40 = row.getCell(40);//閾e垁澶村舰寮�
+					paraMillTool.setMillingHeadForm(ExcelUtils.getCellValueAsString(cell40));
+					Cell cell41 = row.getCell(41);//鎮几闀垮害
+					paraMillTool.setOverhangingLength(ExcelUtils.getCellValueAsString(cell41));
+					Cell cell42 = row.getCell(42);//鍒囧墛鍒冨舰寮�
+					paraMillTool.setCuttingEdgeForm(ExcelUtils.getCellValueAsString(cell42));
+					Cell cell43 = row.getCell(43);//鍐呭铻虹汗
+					paraMillTool.setNumberPatterns(ExcelUtils.getCellValueAsString(cell43));
+					Cell cell44 = row.getCell(44);//铻鸿窛
+					paraMillTool.setPitch(ExcelUtils.getCellValueAsString(cell44));
+					Cell cell45 = row.getCell(45);//鏈�灏忓姞宸ョ洿寰�
+					paraMillTool.setRecentlyDiameter(ExcelUtils.getCellValueAsString(cell45));
+					Cell cell46 = row.getCell(46);//闆嗗洟鍏徃缂栫爜
+					paraMillTool.setGroupCompanyCode(ExcelUtils.getCellValueAsString(cell46));
+					Cell cell47 = row.getCell(47);//闆嗗洟鍏徃鏍囪
+					if (cell47 == null || cell47.getCellType() == CellType.BLANK) {
+						//鏍囪涓虹┖锛屾嫾鎺�
+						String sign = ExcelUtils.getCellValueAsString(cell7)//涓崍鍚嶇О
+								+ "-" + ExcelUtils.getCellValueAsString(cell11)//鍨嬪彿/鍥惧彿
+								+ "-" + ExcelUtils.getCellValueAsString(cell13)//鍒�鍏风洿寰�
+								//+ "-" + ExcelUtils.getCellValueAsString()//绔垉搴曡瀛楁涓嶆槑纭紝鍏堢┖鐫�
+								+ "-" + ExcelUtils.getCellValueAsString(cell17);//鍒�鍏锋�婚暱
+						paraMillTool.setGroupCompanySign(sign);
+					} else {
+						paraMillTool.setGroupCompanySign(ExcelUtils.getCellValueAsString(cell47));
+					}
+					Cell cell48 = row.getCell(48);//宸ュ叿绠�绉�
+					paraMillTool.setShortCalled(ExcelUtils.getCellValueAsString(cell48));
+
+					paraMillToolImportList.add(paraMillTool);
+					successLines++;
+				}
+			}
+			paraMillToolService.saveOrUpdateBatch(paraMillToolImportList);
+			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