From 3091802b7b8f65fa26a208bbd03e56f00424b0a0 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期三, 04 六月 2025 16:08:49 +0800
Subject: [PATCH] 工具管理-孔加工、车削、铣削、刀片、工具标识参数导入接口调整

---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaTurningToolsController.java |  372 ++++++++----
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaCommonToolController.java   |  218 ++++++-
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaHoleToolsController.java    |  355 ++++++++----
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaBladeController.java        |  322 +++++++---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ParaCommonTool.java                 |    8 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaMillToolController.java     |  363 ++++++++----
 6 files changed, 1,109 insertions(+), 529 deletions(-)

diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaBladeController.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaBladeController.java
index 686f12c..3723d0e 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaBladeController.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaBladeController.java
@@ -22,9 +22,8 @@
 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.ParaBlade;
-import org.jeecg.modules.tms.entity.ToolsClassify;
+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.IParaBladeService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -32,6 +31,7 @@
 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;
@@ -66,6 +66,8 @@
 	private IToolsClassifyService toolsClassifyService;
 	@Autowired
 	private IBaseToolsService baseToolsService;
+	@Autowired
+	private IToolsConfigPropertyService toolsConfigPropertyService;
 	
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
@@ -210,188 +212,298 @@
 						continue;
 					}
 					dataLines++;
-					Cell cell1 = row.getCell(1);
-					if (cell1 == null || cell1.getCellType() == CellType.BLANK) {
-						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,涓�绾у垎绫诲悕绉颁负绌�! ");
+					Cell cell0 = row.getCell(0);
+					if (cell0 == null || cell0.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏风紪鐮佷负绌�! ");
 						errorLines++;
 						continue;
 					}
-					Cell cell2 = row.getCell(2);
-					if (cell2 == null || cell2.getCellType() == CellType.BLANK) {
-						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,浜岀骇鍒嗙被鍚嶇О涓虹┖! ");
+					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 cell4 = row.getCell(4);
-					if (cell4 == null || cell4.getCellType() == CellType.BLANK) {
+					Cell cell6 = row.getCell(6);
+					if (cell6 == null || cell6.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))
+
+					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(toolClassifyList)) {
-						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄨ鍥涚骇鍒嗙被鍚嶇О! ");
+					if (CollectionUtil.isEmpty(class1List)) {
+						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 + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄥ搴旂殑宸ュ叿淇℃伅! ");
+						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 {
-							BaseTools baseTools = baseToolsList.get(0);
-							List<ParaBlade> paraThreadingToolList = paraBladeService.list(new LambdaQueryWrapper<ParaBlade>()
-									.eq(ParaBlade::getToolCode, baseTools.getId())
-									.eq(ParaBlade::getToolModel, ExcelUtils.getCellValueAsString(cell9)));
-							if (CollectionUtil.isEmpty(paraThreadingToolList)) {
-								paraBlade.setClassifyId(toolsClassify.getId());
-								paraBlade.setToolCode(baseTools.getId());
-								paraBlade.setToolModel(ExcelUtils.getCellValueAsString(cell9));
+							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 {
-								paraBlade = paraThreadingToolList.get(0);
+								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);
+									paraBlade.setClassifyId(classify.getId());
+								}
 							}
 						}
 					}
 
-					Cell cell0 = row.getCell(0);//搴忓彿(鎴栦紒涓氬唴鍘熶唬鐮�)
-					paraBlade.setSignCode(ExcelUtils.getCellValueAsString(cell0));
-					Cell cell5 = row.getCell(5);//鐗╁搧涓枃鍚嶇О
-					if (cell5 == null || cell5.getCellType() == CellType.BLANK) {
+					Cell cell2 = row.getCell(2);//搴忓彿(鎴栦紒涓氬唴鍘熶唬鐮�)
+					paraBlade.setSignCode(ExcelUtils.getCellValueAsString(cell2));
+					Cell cell7 = row.getCell(7);//鐗╁搧涓枃鍚嶇О
+					if (cell7 == null || cell7.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鐗╁搧涓枃鍚嶇О涓虹┖! ");
 						errorLines++;
 						continue;
 					} else {
-						paraBlade.setChineseName(ExcelUtils.getCellValueAsString(cell5));
+						paraBlade.setChineseName(ExcelUtils.getCellValueAsString(cell7));
 					}
-					Cell cell6 = row.getCell(6);//鐗╁搧澶栨枃鍚嶇О
-					paraBlade.setForeignLanguageName(ExcelUtils.getCellValueAsString(cell6));
-					Cell cell7 = row.getCell(7);//鏍囧噯绾у埆
-					paraBlade.setStandardLevel(ExcelUtils.getCellValueAsString(cell7));
-					Cell cell8 = row.getCell(8);//鏍囧噯鍙�
-					paraBlade.setStandardCode(ExcelUtils.getCellValueAsString(cell8));
-					Cell cell10 = row.getCell(10);//鍒�鐗囧舰鐘�
-					if (cell10 == null || cell10.getCellType() == CellType.BLANK) {
+					Cell cell8 = row.getCell(8);//鐗╁搧澶栨枃鍚嶇О
+					paraBlade.setForeignLanguageName(ExcelUtils.getCellValueAsString(cell8));
+					Cell cell9 = row.getCell(9);//鏍囧噯绾у埆
+					paraBlade.setStandardLevel(ExcelUtils.getCellValueAsString(cell9));
+					Cell cell10 = row.getCell(10);//鏍囧噯鍙�
+					paraBlade.setStandardCode(ExcelUtils.getCellValueAsString(cell10));
+					Cell cell11 = row.getCell(11);
+					if (cell11 == null || cell11.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍨嬪彿/鍥惧彿涓虹┖! ");
+						errorLines++;
+						continue;
+					} else {
+						paraBlade.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("6")//6锛氬垁鐗�
+							.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);
+					}
+
+					paraBlade.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<ParaBlade> paraBladeList = paraBladeService.list(new LambdaQueryWrapper<ParaBlade>()
+							.eq(ParaBlade::getToolCode, baseTools.getId())
+							.eq(ParaBlade::getClassifyId, classify.getId())
+							.eq(ParaBlade::getToolModel, ExcelUtils.getCellValueAsString(cell11)));
+					if (CollectionUtil.isNotEmpty(paraBladeList)) {
+						//瀛樺湪璇ュ垁鐗囧弬鏁颁俊鎭紝鏇存柊
+						ParaBlade blade = paraBladeList.get(0);
+						paraBlade.setId(blade.getId());
+					}
+
+					Cell cell13 = row.getCell(13);//鍒�鐗囧舰鐘�
+					if (cell13 == null || cell13.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鐗囧舰鐘朵负绌�! ");
 						errorLines++;
 						continue;
 					} else {
-						paraBlade.setBladeShape(ExcelUtils.getCellValueAsString(cell10));
+						paraBlade.setBladeShape(ExcelUtils.getCellValueAsString(cell13));
 					}
-					Cell cell11 = row.getCell(11);//鍒�鐗囬暱搴�
-					if (cell11 == null || cell11.getCellType() == CellType.BLANK) {
+					Cell cell14 = row.getCell(14);//鍒�鐗囬暱搴�
+					if (cell14 == null || cell14.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鐗囬暱搴︿负绌�! ");
 						errorLines++;
 						continue;
 					} else {
-						paraBlade.setBladeLength(ExcelUtils.getCellValueAsString(cell11));
+						paraBlade.setBladeLength(ExcelUtils.getCellValueAsString(cell14));
 					}
 
-					Cell cell12 = row.getCell(12);//鍒囧墛鍒冩暟
-					if (cell12 == null || cell12.getCellType() == CellType.BLANK) {
+					Cell cell15 = row.getCell(15);//鍒囧墛鍒冩暟
+					if (cell15 == null || cell15.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒囧墛鍒冩暟涓虹┖! ");
 						errorLines++;
 						continue;
 					} else {
-						paraBlade.setCuttingEdgeCount(ExcelUtils.getCellValueAsString(cell12));
+						paraBlade.setCuttingEdgeCount(ExcelUtils.getCellValueAsString(cell15));
 					}
-					Cell cell13 = row.getCell(13);//鍒�鐗囧帤搴�
-					if (cell13 == null || cell13.getCellType() == CellType.BLANK) {
+					Cell cell16 = row.getCell(16);//鍒�鐗囧帤搴�
+					if (cell16 == null || cell16.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鐗囧帤搴︿负绌�! ");
 						errorLines++;
 						continue;
 					} else {
-						paraBlade.setBladeThickness(ExcelUtils.getCellValueAsString(cell13));
+						paraBlade.setBladeThickness(ExcelUtils.getCellValueAsString(cell16));
 					}
-					Cell cell14 = row.getCell(14);//澶瑰浐褰㈠紡
-					if (cell14 == null || cell14.getCellType() == CellType.BLANK) {
+					Cell cell17 = row.getCell(17);//澶瑰浐褰㈠紡
+					if (cell17 == null || cell17.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,澶瑰浐褰㈠紡涓虹┖! ");
 						errorLines++;
 						continue;
 					} else {
-						paraBlade.setClampingType(ExcelUtils.getCellValueAsString(cell14));
+						paraBlade.setClampingType(ExcelUtils.getCellValueAsString(cell17));
 					}
-					Cell cell15 = row.getCell(15);//鍒�灏朢
-					if (cell15 == null || cell15.getCellType() == CellType.BLANK) {
+					Cell cell18 = row.getCell(18);//鍒�灏朢
+					if (cell18 == null || cell18.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�灏朢涓虹┖! ");
 						errorLines++;
 						continue;
 					} else {
-						paraBlade.setNoseAngleR(ExcelUtils.getCellValueAsString(cell15));
+						paraBlade.setNoseAngleR(ExcelUtils.getCellValueAsString(cell18));
 					}
 
-					Cell cell16 = row.getCell(16);//鍒�鐗囨潗鏂�
-					if (cell16 == null || cell16.getCellType() == CellType.BLANK) {
+					Cell cell19 = row.getCell(19);//鍒�鐗囨潗鏂�
+					if (cell19 == null || cell19.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鐗囨潗鏂欎负绌�! ");
 						errorLines++;
 						continue;
 					} else {
-						paraBlade.setToolMaterial(ExcelUtils.getCellValueAsString(cell16));
+						paraBlade.setToolMaterial(ExcelUtils.getCellValueAsString(cell19));
 					}
-					Cell cell17 = row.getCell(17);//闆朵欢鏉愭枡
-					paraBlade.setPartMaterial(ExcelUtils.getCellValueAsString(cell17));
-					Cell cell18 = row.getCell(18);//鏄惁娑傚眰
-					if (cell18 == null || cell18.getCellType() == CellType.BLANK) {
+					Cell cell20 = row.getCell(20);//闆朵欢鏉愭枡
+					paraBlade.setPartMaterial(ExcelUtils.getCellValueAsString(cell20));
+					Cell cell21 = row.getCell(21);//鏄惁娑傚眰
+					if (cell21 == null || cell21.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鏄惁娑傚眰涓虹┖! ");
 						errorLines++;
 						continue;
 					} else {
-						paraBlade.setPaintcoatFlag(ExcelUtils.getCellValueAsString(cell18));
+						paraBlade.setPaintcoatFlag(ExcelUtils.getCellValueAsString(cell21));
 					}
-					Cell cell19 = row.getCell(19);//闄勫姞鎶�鏈潯浠�
-					if (cell19 == null || cell19.getCellType() == CellType.BLANK) {
+					Cell cell22 = row.getCell(22);//闄勫姞鎶�鏈潯浠�
+					if (cell22 == null || cell22.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,闄勫姞鎶�鏈潯浠朵负绌猴紒");
 						errorLines++;
 						continue;
 					} else {
-						paraBlade.setTechnicalConditions(ExcelUtils.getCellValueAsString(cell19));
+						paraBlade.setTechnicalConditions(ExcelUtils.getCellValueAsString(cell22));
 					}
-					Cell cell20 = row.getCell(20);//闄勫姞鎶�鏈潯浠惰鏄�
-					paraBlade.setConditionsInfo(ExcelUtils.getCellValueAsString(cell20));
-					Cell cell21 = row.getCell(21);//鍝佺墝
-					paraBlade.setBrand(ExcelUtils.getCellValueAsString(cell21));
-					Cell cell22 = row.getCell(22);//鍒跺紡
-					paraBlade.setTypes(ExcelUtils.getCellValueAsString(cell22));
-					Cell cell23 = row.getCell(23);//娑傚眰鏉愭枡
-					paraBlade.setCoatingMaterial(ExcelUtils.getCellValueAsString(cell23));
-					Cell cell24 = row.getCell(24);//鍔犲伐鍒嗙被
-					paraBlade.setProcessingClassify(ExcelUtils.getCellValueAsString(cell24));
-					Cell cell25 = row.getCell(25);//鍒�鐗囧悗瑙�
-					paraBlade.setBladePosterior(ExcelUtils.getCellValueAsString(cell25));
-					Cell cell26 = row.getCell(26);//鍒囧墛鏂瑰悜
-					paraBlade.setCuttingDirection(ExcelUtils.getCellValueAsString(cell26));
-					Cell cell27 = row.getCell(27);//鍒�鐗囧搴�
-					paraBlade.setBladeWide(ExcelUtils.getCellValueAsString(cell27));
-					Cell cell28 = row.getCell(28);//鍒�鐗囧昂瀵�
-					paraBlade.setBladeSize(ExcelUtils.getCellValueAsString(cell28));
-					Cell cell29 = row.getCell(29);//鍐呭铻虹汗
-					paraBlade.setInOutThread(ExcelUtils.getCellValueAsString(cell29));
-					Cell cell30 = row.getCell(30);//铻虹汗鏍囧噯
-					paraBlade.setThreadStandard(ExcelUtils.getCellValueAsString(cell30));
-					Cell cell31 = row.getCell(31);//鐗欏瀷瑙掑害
-					paraBlade.setDentalAngle(ExcelUtils.getCellValueAsString(cell31));
-					Cell cell32 = row.getCell(32);//铻鸿窛
-					paraBlade.setPitch(ExcelUtils.getCellValueAsString(cell32));
-					Cell cell33 = row.getCell(33);//鏈�灏忓姞宸ュ唴铻虹汗鍏О鐩村緞
-					paraBlade.setMinInternalThread(ExcelUtils.getCellValueAsString(cell33));
+					Cell cell23 = row.getCell(23);//闄勫姞鎶�鏈潯浠惰鏄�
+					paraBlade.setConditionsInfo(ExcelUtils.getCellValueAsString(cell23));
+					Cell cell24 = row.getCell(24);//鍝佺墝
+					paraBlade.setBrand(ExcelUtils.getCellValueAsString(cell24));
+					Cell cell25 = row.getCell(25);//鍒跺紡
+					paraBlade.setTypes(ExcelUtils.getCellValueAsString(cell25));
+					Cell cell26 = row.getCell(26);//娑傚眰鏉愭枡
+					paraBlade.setCoatingMaterial(ExcelUtils.getCellValueAsString(cell26));
+					Cell cell27 = row.getCell(27);//鍔犲伐鍒嗙被
+					paraBlade.setProcessingClassify(ExcelUtils.getCellValueAsString(cell27));
+					Cell cell28 = row.getCell(28);//鍒�鐗囧悗瑙�
+					paraBlade.setBladePosterior(ExcelUtils.getCellValueAsString(cell28));
+					Cell cell29 = row.getCell(29);//鍒囧墛鏂瑰悜
+					paraBlade.setCuttingDirection(ExcelUtils.getCellValueAsString(cell29));
+					Cell cell30 = row.getCell(30);//鍒�鐗囧搴�
+					paraBlade.setBladeWide(ExcelUtils.getCellValueAsString(cell30));
+					Cell cell31 = row.getCell(31);//鍒�鐗囧昂瀵�
+					paraBlade.setBladeSize(ExcelUtils.getCellValueAsString(cell31));
+					Cell cell32 = row.getCell(32);//鍐呭铻虹汗
+					paraBlade.setInOutThread(ExcelUtils.getCellValueAsString(cell32));
+					Cell cell33 = row.getCell(33);//铻虹汗鏍囧噯
+					paraBlade.setThreadStandard(ExcelUtils.getCellValueAsString(cell33));
+					Cell cell34 = row.getCell(34);//鐗欏瀷瑙掑害
+					paraBlade.setDentalAngle(ExcelUtils.getCellValueAsString(cell34));
+					Cell cell35 = row.getCell(35);//铻鸿窛
+					paraBlade.setPitch(ExcelUtils.getCellValueAsString(cell35));
+					Cell cell36 = row.getCell(36);//鏈�灏忓姞宸ュ唴铻虹汗鍏О鐩村緞
+					paraBlade.setMinInternalThread(ExcelUtils.getCellValueAsString(cell36));
 
 					paraBladeImportList.add(paraBlade);
 					successLines++;
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaCommonToolController.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaCommonToolController.java
index 56e9c7e..b09c212 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaCommonToolController.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaCommonToolController.java
@@ -22,9 +22,8 @@
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.PmsUtil;
-import org.jeecg.modules.tms.entity.BaseTools;
-import org.jeecg.modules.tms.entity.ParaCommonTool;
-import org.jeecg.modules.tms.entity.ToolsClassify;
+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.IParaCommonToolService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -32,6 +31,7 @@
 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;
@@ -66,6 +66,8 @@
 	private IToolsClassifyService toolsClassifyService;
 	@Autowired
 	private IBaseToolsService baseToolsService;
+	@Autowired
+	private IToolsConfigPropertyService toolsConfigPropertyService;
 	
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
@@ -210,84 +212,204 @@
 						continue;
 					}
 					dataLines++;
-					Cell cell1 = row.getCell(1);
-					if (cell1 == null || cell1.getCellType() == CellType.BLANK) {
-						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,涓�绾у垎绫诲悕绉颁负绌�! ");
+					Cell cell0 = row.getCell(0);
+					if (cell0 == null || cell0.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏风紪鐮佷负绌�! ");
 						errorLines++;
 						continue;
 					}
-					Cell cell2 = row.getCell(2);
-					if (cell2 == null || cell2.getCellType() == CellType.BLANK) {
-						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,浜岀骇鍒嗙被鍚嶇О涓虹┖! ");
+					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 cell4 = row.getCell(4);
-					if (cell4 == null || cell4.getCellType() == CellType.BLANK) {
+					Cell cell6 = row.getCell(6);
+					if (cell6 == null || cell6.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))
+
+					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(toolClassifyList)) {
-						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄨ鍥涚骇鍒嗙被鍚嶇О! ");
+					if (CollectionUtil.isEmpty(class1List)) {
+						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 + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄥ搴旂殑宸ュ叿淇℃伅! ");
+						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 {
-							BaseTools baseTools = baseToolsList.get(0);
-							List<ParaCommonTool> paraCommonToolList = paraCommonToolService.list(new LambdaQueryWrapper<ParaCommonTool>()
-									.eq(ParaCommonTool::getToolCode, baseTools.getId())
-									.eq(ParaCommonTool::getToolModel, ExcelUtils.getCellValueAsString(cell9)));
-							if (CollectionUtil.isEmpty(paraCommonToolList)) {
-								paraCommonTool.setClassifyId(toolsClassify.getId());
-								paraCommonTool.setToolCode(baseTools.getId());
-								paraCommonTool.setToolModel(ExcelUtils.getCellValueAsString(cell9));
+							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 {
-								paraCommonTool = paraCommonToolList.get(0);
+								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);
+									paraCommonTool.setClassifyId(classify.getId());
+								}
 							}
 						}
 					}
 
-					Cell cell0 = row.getCell(0);//搴忓彿(鎴栦紒涓氬唴鍘熶唬鐮�)
-					paraCommonTool.setSignCode(ExcelUtils.getCellValueAsString(cell0));
-					Cell cell5 = row.getCell(5);//鐗╁搧涓枃鍚嶇О
-					if (cell5 == null || cell5.getCellType() == CellType.BLANK) {
+					Cell cell2 = row.getCell(2);//搴忓彿(鎴栦紒涓氬唴鍘熶唬鐮�)
+					paraCommonTool.setSignCode(ExcelUtils.getCellValueAsString(cell2));
+					Cell cell7 = row.getCell(7);//鐗╁搧涓枃鍚嶇О
+					if (cell7 == null || cell7.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鐗╁搧涓枃鍚嶇О涓虹┖! ");
 						errorLines++;
 						continue;
 					} else {
-						paraCommonTool.setChineseName(ExcelUtils.getCellValueAsString(cell5));
+						paraCommonTool.setChineseName(ExcelUtils.getCellValueAsString(cell7));
 					}
-					Cell cell6 = row.getCell(6);//鐗╁搧澶栨枃鍚嶇О
-					paraCommonTool.setForeignLanguageName(ExcelUtils.getCellValueAsString(cell6));
-					Cell cell7 = row.getCell(7);//鏍囧噯绾у埆
-					paraCommonTool.setStandardLevel(ExcelUtils.getCellValueAsString(cell7));
-					Cell cell8 = row.getCell(8);//鏍囧噯鍙�
-					paraCommonTool.setStandardCode(ExcelUtils.getCellValueAsString(cell8));
+					Cell cell8 = row.getCell(8);//鐗╁搧澶栨枃鍚嶇О
+					paraCommonTool.setForeignLanguageName(ExcelUtils.getCellValueAsString(cell8));
+					Cell cell9 = row.getCell(9);//鏍囧噯绾у埆
+					paraCommonTool.setStandardLevel(ExcelUtils.getCellValueAsString(cell9));
+					Cell cell10 = row.getCell(10);//鏍囧噯鍙�
+					paraCommonTool.setStandardCode(ExcelUtils.getCellValueAsString(cell10));
+					Cell cell11 = row.getCell(11);
+					if (cell11 == null || cell11.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍨嬪彿/鍥惧彿涓虹┖! ");
+						errorLines++;
+						continue;
+					} else {
+						paraCommonTool.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("1")//1锛氶�氱敤鍙傛暟绫诲瀷
+							.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);
+					}
+
+					paraCommonTool.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<ParaCommonTool> paraCommonToolList = paraCommonToolService.list(new LambdaQueryWrapper<ParaCommonTool>()
+							.eq(ParaCommonTool::getToolCode, baseTools.getId())
+							.eq(ParaCommonTool::getClassifyId, classify.getId())
+							.eq(ParaCommonTool::getToolModel, ExcelUtils.getCellValueAsString(cell11)));
+					if (CollectionUtil.isNotEmpty(paraCommonToolList)) {
+						//瀛樺湪璇ラ�氱敤鍙傛暟淇℃伅锛屾洿鏂�
+						ParaCommonTool commonTool = paraCommonToolList.get(0);
+						paraCommonTool.setId(commonTool.getId());
+					}
+
+					Cell cell13 = row.getCell(13);//鍒�鍏锋潗鏂�
+					if (cell13 == null || cell13.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏锋潗鏂欎负绌�! ");
+						errorLines++;
+						continue;
+					} else {
+						paraCommonTool.setToolMaterial(ExcelUtils.getCellValueAsString(cell13));
+					}
+					Cell cell14 = row.getCell(14);//闆朵欢鏉愭枡
+					paraCommonTool.setPartMaterial(ExcelUtils.getCellValueAsString(cell14));
 
 					paraCommonToolImportList.add(paraCommonTool);
 					successLines++;
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 addf487..dc9a762 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
@@ -26,6 +26,8 @@
 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.entity.ToolsConfigProperty;
+import org.jeecg.modules.tms.enums.AccuracyClass;
 import org.jeecg.modules.tms.service.IBaseToolsService;
 import org.jeecg.modules.tms.service.IParaHoleToolsService;
 
@@ -35,6 +37,7 @@
 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;
@@ -69,6 +72,8 @@
     private IToolsClassifyService toolsClassifyService;
     @Autowired
     private IBaseToolsService baseToolsService;
+    @Autowired
+    private IToolsConfigPropertyService toolsConfigPropertyService;
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -213,204 +218,314 @@
                         continue;
                     }
                     dataLines++;
-                    Cell cell1 = row.getCell(1);
-                    if (cell1 == null || cell1.getCellType() == CellType.BLANK) {
-                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,涓�绾у垎绫诲悕绉颁负绌�! ");
+                    Cell cell0 = row.getCell(0);
+                    if (cell0 == null || cell0.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏风紪鐮佷负绌�! ");
                         errorLines++;
                         continue;
                     }
-                    Cell cell2 = row.getCell(2);
-                    if (cell2 == null || cell2.getCellType() == CellType.BLANK) {
-                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,浜岀骇鍒嗙被鍚嶇О涓虹┖! ");
+                    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 cell4 = row.getCell(4);
-                    if (cell4 == null || cell4.getCellType() == CellType.BLANK) {
+                    Cell cell6 = row.getCell(6);
+                    if (cell6 == null || cell6.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))
+
+                    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(toolClassifyList)) {
-                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄨ鍥涚骇鍒嗙被鍚嶇О! ");
+                    if (CollectionUtil.isEmpty(class1List)) {
+                        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 + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄥ搴旂殑宸ュ叿淇℃伅! ");
+                        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 {
-                            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));
+                            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 {
-                                paraHoleTools = paraHoleToolsList.get(0);
+                                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);
+                                    paraHoleTools.setClassifyId(classify.getId());
+                                }
                             }
                         }
                     }
 
-                    Cell cell0 = row.getCell(0);
-                    paraHoleTools.setSignCode(cell0.getStringCellValue());
-                    Cell cell5 = row.getCell(5);//鐗╁搧涓枃鍚嶇О
-                    if (cell5 == null || cell5.getCellType() == CellType.BLANK) {
+                    Cell cell2 = row.getCell(2);//搴忓彿(鎴栦紒涓氬唴鍘熶唬鐮�)
+                    paraHoleTools.setSignCode(ExcelUtils.getCellValueAsString(cell2));
+                    Cell cell7 = row.getCell(7);//鐗╁搧涓枃鍚嶇О
+                    if (cell7 == null || cell7.getCellType() == CellType.BLANK) {
                         errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鐗╁搧涓枃鍚嶇О涓虹┖! ");
                         errorLines++;
                         continue;
                     } else {
-                        paraHoleTools.setChineseName(ExcelUtils.getCellValueAsString(cell5));
+                        paraHoleTools.setChineseName(ExcelUtils.getCellValueAsString(cell7));
                     }
-                    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) {
+                    Cell cell8 = row.getCell(8);//鐗╁搧澶栨枃鍚嶇О
+                    paraHoleTools.setForeignLanguageName(ExcelUtils.getCellValueAsString(cell8));
+                    Cell cell9 = row.getCell(9);//鏍囧噯绾у埆
+                    paraHoleTools.setStandardLevel(ExcelUtils.getCellValueAsString(cell9));
+                    Cell cell10 = row.getCell(10);//鏍囧噯鍙�
+                    paraHoleTools.setStandardCode(ExcelUtils.getCellValueAsString(cell10));
+                    Cell cell11 = row.getCell(11);
+                    if (cell11 == null || cell11.getCellType() == CellType.BLANK) {
+                        errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍨嬪彿/鍥惧彿涓虹┖! ");
+                        errorLines++;
+                        continue;
+                    } else {
+                        paraHoleTools.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("2")//2锛氬瓟鍔犲伐宸ュ叿
+                            .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);
+                    }
+
+                    paraHoleTools.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<ParaHoleTools> paraHoleToolsList = paraHoleToolsService.list(new LambdaQueryWrapper<ParaHoleTools>()
+                            .eq(ParaHoleTools::getToolCode, baseTools.getId())
+                            .eq(ParaHoleTools::getClassifyId, classify.getId())
+                            .eq(ParaHoleTools::getToolModel, ExcelUtils.getCellValueAsString(cell11)));
+                    if (CollectionUtil.isNotEmpty(paraHoleToolsList)) {
+                        //瀛樺湪璇ュ瓟鍔犲伐宸ュ叿鍙傛暟淇℃伅锛屾洿鏂�
+                        ParaHoleTools paraHoleTool = paraHoleToolsList.get(0);
+                        paraHoleTools.setId(paraHoleTool.getId());
+                    }
+
+                    Cell cell13 = row.getCell(13);//鍒�鍏风洿寰�
+                    if (cell13 == null || cell13.getCellType() == CellType.BLANK) {
                         errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏风洿寰勪负绌�! ");
                         errorLines++;
                         continue;
                     } else {
-                        paraHoleTools.setDiameter(ExcelUtils.getCellValueAsString(cell10));
+                        paraHoleTools.setDiameter(ExcelUtils.getCellValueAsString(cell13));
                     }
-                    Cell cell11 = row.getCell(11);//鍒囧墛鍒冮敟瑙�
-                    paraHoleTools.setConeAngle(ExcelUtils.getCellValueAsString(cell11));
-                    Cell cell12 = row.getCell(12);//鍒囧墛鍒冮暱
-                    if (cell12 == null || cell12.getCellType() == CellType.BLANK) {
+                    Cell cell14 = row.getCell(14);//鍒囧墛鍒冮敟瑙�
+                    paraHoleTools.setConeAngle(ExcelUtils.getCellValueAsString(cell14));
+                    Cell cell15 = row.getCell(15);//鍒囧墛鍒冮暱
+                    if (cell15 == null || cell15.getCellType() == CellType.BLANK) {
                         errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒囧墛鍒冮暱涓虹┖! ");
                         errorLines++;
                         continue;
                     } else {
-                        paraHoleTools.setEdgeLength(ExcelUtils.getCellValueAsString(cell12));
+                        paraHoleTools.setEdgeLength(ExcelUtils.getCellValueAsString(cell15));
                     }
-                    Cell cell13 = row.getCell(13);//鍒�鍏锋�婚暱
-                    if (cell13 == null || cell13.getCellType() == CellType.BLANK) {
+                    Cell cell16 = row.getCell(16);//鍒�鍏锋�婚暱
+                    if (cell16 == null || cell16.getCellType() == CellType.BLANK) {
                         errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏锋�婚暱涓虹┖! ");
                         errorLines++;
                         continue;
                     } else {
-                        paraHoleTools.setTotalLength(ExcelUtils.getCellValueAsString(cell13));
+                        paraHoleTools.setTotalLength(ExcelUtils.getCellValueAsString(cell16));
                     }
-                    Cell cell14 = row.getCell(14);//鍒�鍏锋潗鏂�
-                    if (cell14 == null || cell14.getCellType() == CellType.BLANK) {
+                    Cell cell17 = row.getCell(17);//鍒�鍏锋潗鏂�
+                    if (cell17 == null || cell17.getCellType() == CellType.BLANK) {
                         errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏锋潗鏂欎负绌�! ");
                         errorLines++;
                         continue;
                     } else {
-                        paraHoleTools.setToolMaterial(ExcelUtils.getCellValueAsString(cell14));
+                        paraHoleTools.setToolMaterial(ExcelUtils.getCellValueAsString(cell17));
                     }
-                    Cell cell15 = row.getCell(15);//闆朵欢鏉愭枡
-                    paraHoleTools.setPartMaterial(ExcelUtils.getCellValueAsString(cell15));
-                    Cell cell16 = row.getCell(16);//鏄惁娑傚眰
-                    if (cell16 == null || cell16.getCellType() == CellType.BLANK) {
+                    Cell cell18 = row.getCell(18);//闆朵欢鏉愭枡
+                    paraHoleTools.setPartMaterial(ExcelUtils.getCellValueAsString(cell18));
+                    Cell cell19 = row.getCell(19);//鏄惁娑傚眰
+                    if (cell19 == null || cell19.getCellType() == CellType.BLANK) {
                         errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鏄惁娑傚眰涓虹┖! ");
                         errorLines++;
                         continue;
                     } else {
-                        paraHoleTools.setPaintcoatFlag(ExcelUtils.getCellValueAsString(cell16));
+                        paraHoleTools.setPaintcoatFlag(ExcelUtils.getCellValueAsString(cell19));
                     }
-                    Cell cell17 = row.getCell(17);//鍒�鍏峰瀷寮�
-                    if (cell17 == null || cell17.getCellType() == CellType.BLANK) {
+                    Cell cell20 = row.getCell(20);//鍒�鍏峰瀷寮�
+                    if (cell20 == null || cell20.getCellType() == CellType.BLANK) {
                         errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏峰瀷寮忎负绌�! ");
                         errorLines++;
                         continue;
                     } else {
-                        paraHoleTools.setToolPattern(ExcelUtils.getCellValueAsString(cell17));
+                        paraHoleTools.setToolPattern(ExcelUtils.getCellValueAsString(cell20));
                     }
-                    Cell cell18 = row.getCell(18);//鏌勯儴瑙勬牸
-                    if (cell18 == null || cell18.getCellType() == CellType.BLANK) {
+                    Cell cell21 = row.getCell(21);//鏌勯儴瑙勬牸
+                    if (cell21 == null || cell21.getCellType() == CellType.BLANK) {
                         errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鏌勯儴瑙勬牸涓虹┖! ");
                         errorLines++;
                         continue;
                     } else {
-                        paraHoleTools.setHandleSpecifications(ExcelUtils.getCellValueAsString(cell18));
+                        paraHoleTools.setHandleSpecifications(ExcelUtils.getCellValueAsString(cell21));
                     }
-                    Cell cell19 = row.getCell(19);//鍐峰嵈鏂瑰紡
-                    if (cell19 == null || cell19.getCellType() == CellType.BLANK) {
+                    Cell cell22 = row.getCell(22);//鍐峰嵈鏂瑰紡
+                    if (cell22 == null || cell22.getCellType() == CellType.BLANK) {
                         errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍐峰嵈鏂瑰紡涓虹┖锛�");
                         errorLines++;
                         continue;
                     } else {
-                        paraHoleTools.setCoolingMethod(ExcelUtils.getCellValueAsString(cell19));
+                        paraHoleTools.setCoolingMethod(ExcelUtils.getCellValueAsString(cell22));
                     }
-                    Cell cell20 = row.getCell(20);//闄勫姞鎶�鏈潯浠�
-                    if (cell20 == null || cell20.getCellType() == CellType.BLANK) {
+                    Cell cell23 = row.getCell(23);//闄勫姞鎶�鏈潯浠�
+                    if (cell23 == null || cell23.getCellType() == CellType.BLANK) {
                         errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,闄勫姞鎶�鏈潯浠朵负绌猴紒");
                         errorLines++;
                         continue;
                     } else {
-                        paraHoleTools.setTechnicalConditions(ExcelUtils.getCellValueAsString(cell20));
+                        paraHoleTools.setTechnicalConditions(ExcelUtils.getCellValueAsString(cell23));
                     }
-                    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));
+                    Cell cell24 = row.getCell(24);//闄勫姞鎶�鏈潯浠惰鏄�
+                    paraHoleTools.setConditionsInfo(ExcelUtils.getCellValueAsString(cell24));
+                    Cell cell25 = row.getCell(25);//鍝佺墝
+                    paraHoleTools.setBrand(ExcelUtils.getCellValueAsString(cell25));
+                    Cell cell26 = row.getCell(26);//鍒跺紡
+                    paraHoleTools.setTypes(ExcelUtils.getCellValueAsString(cell26));
+                    Cell cell27 = row.getCell(27);//鍏樊绛夌骇
+                    paraHoleTools.setToleranceClass(ExcelUtils.getCellValueAsString(cell27));
+                    Cell cell28 = row.getCell(28);//鎺掑睉妲藉舰寮�
+                    paraHoleTools.setFluteForm(ExcelUtils.getCellValueAsString(cell28));
+                    Cell cell29 = row.getCell(29);//鏌勯儴褰㈠紡
+                    paraHoleTools.setHandleForm(ExcelUtils.getCellValueAsString(cell29));
+                    Cell cell30 = row.getCell(30);//鍒冩暟
+                    paraHoleTools.setBladeCount(ExcelUtils.getCellValueAsString(cell30));
+                    Cell cell31 = row.getCell(31);//鏈�灏忕洿寰�
+                    paraHoleTools.setSmallDiameter(ExcelUtils.getCellValueAsString(cell31));
+                    Cell cell32 = row.getCell(32);//鍊掕瑙掑害
+                    paraHoleTools.setChamferAngle(ExcelUtils.getCellValueAsString(cell32));
+                    Cell cell33 = row.getCell(33);//閫傞厤鍒�鐗�-鍒�澶�-鍒�鏉�
+                    paraHoleTools.setFitterPart(ExcelUtils.getCellValueAsString(cell33));
+                    Cell cell34 = row.getCell(34);//鏈夋晥鍔犲伐闀垮害
+                    paraHoleTools.setEffectiveLength(ExcelUtils.getCellValueAsString(cell34));
+                    Cell cell35 = row.getCell(35);//閽诲ご鐩村緞鑼冨洿
+                    paraHoleTools.setDrillDiameterRange(ExcelUtils.getCellValueAsString(cell35));
+                    Cell cell36 = row.getCell(36);//鍒�鏉嗙洿寰�
+                    paraHoleTools.setKnifeDiameter(ExcelUtils.getCellValueAsString(cell36));
+                    Cell cell37 = row.getCell(37);//瀛斿緞
+                    paraHoleTools.setBoreDiameter(ExcelUtils.getCellValueAsString(cell37));
+                    Cell cell38 = row.getCell(38);//鎺ュ彛褰㈠紡
+                    paraHoleTools.setConnectorType(ExcelUtils.getCellValueAsString(cell38));
+                    Cell cell39 = row.getCell(39);//鎺ュ彛妲介暱瑙勬牸
+                    paraHoleTools.setSlotSpecification(ExcelUtils.getCellValueAsString(cell39));
+                    Cell cell40 = row.getCell(40);//閫傜敤鑼冨洿
+                    paraHoleTools.setScopeOfApplication(ExcelUtils.getCellValueAsString(cell40));
+                    Cell cell41 = row.getCell(41);//鏈�灏忛晽瀛旂洿寰�
+                    paraHoleTools.setLatestBoringDiameter(ExcelUtils.getCellValueAsString(cell41));
+                    Cell cell42 = row.getCell(42);//鏈�澶ч晽瀛旂洿寰�
+                    paraHoleTools.setMaxBoringDiameter(ExcelUtils.getCellValueAsString(cell42));
+                    Cell cell43 = row.getCell(43);//鍔犲伐鏂瑰紡
+                    paraHoleTools.setProcessingmethod(ExcelUtils.getCellValueAsString(cell43));
+                    Cell cell44 = row.getCell(44);//鍒�澶存暟
+                    paraHoleTools.setHeadsNumber(ExcelUtils.getCellValueAsString(cell44));
+                    Cell cell45 = row.getCell(45);//閫傞厤鍒�搴�
+                    paraHoleTools.setAdaptHolder(ExcelUtils.getCellValueAsString(cell45));
 
                     paraHoleToolsImportList.add(paraHoleTools);
                     successLines++;
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 4dad6a3..441e08c 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
@@ -23,10 +23,8 @@
 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.ParaMillTool;
-import org.jeecg.modules.tms.entity.ToolsClassify;
+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;
 
@@ -36,6 +34,7 @@
 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;
@@ -70,6 +69,8 @@
 	private IToolsClassifyService toolsClassifyService;
 	@Autowired
 	private IBaseToolsService baseToolsService;
+	@Autowired
+	private IToolsConfigPropertyService toolsConfigPropertyService;
 	
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
@@ -214,211 +215,321 @@
 						continue;
 					}
 					dataLines++;
-					Cell cell1 = row.getCell(1);
-					if (cell1 == null || cell1.getCellType() == CellType.BLANK) {
-						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,涓�绾у垎绫诲悕绉颁负绌�! ");
+					Cell cell0 = row.getCell(0);
+					if (cell0 == null || cell0.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏风紪鐮佷负绌�! ");
 						errorLines++;
 						continue;
 					}
-					Cell cell2 = row.getCell(2);
-					if (cell2 == null || cell2.getCellType() == CellType.BLANK) {
-						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,浜岀骇鍒嗙被鍚嶇О涓虹┖! ");
+					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 cell4 = row.getCell(4);
-					if (cell4 == null || cell4.getCellType() == CellType.BLANK) {
+					Cell cell6 = row.getCell(6);
+					if (cell6 == null || cell6.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))
+
+					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(toolClassifyList)) {
-						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄨ鍥涚骇鍒嗙被鍚嶇О! ");
+					if (CollectionUtil.isEmpty(class1List)) {
+						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 + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄥ搴旂殑宸ュ叿淇℃伅! ");
+						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 {
-							BaseTools baseTools = baseToolsList.get(0);
-							List<ParaMillTool> paraMillToolList = paraMillToolService.list(new LambdaQueryWrapper<ParaMillTool>()
-									.eq(ParaMillTool::getToolCode, baseTools.getId())
-									.eq(ParaMillTool::getToolModel, ExcelUtils.getCellValueAsString(cell9)));
-							if (CollectionUtil.isEmpty(paraMillToolList)) {
-								paraMillTool.setClassifyId(toolsClassify.getId());
-								paraMillTool.setToolCode(baseTools.getId());
-								paraMillTool.setToolModel(ExcelUtils.getCellValueAsString(cell9));
+							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 {
-								paraMillTool = paraMillToolList.get(0);
+								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 cell0 = row.getCell(0);
-					paraMillTool.setSignCode(cell0.getStringCellValue());
-					Cell cell5 = row.getCell(5);//鐗╁搧涓枃鍚嶇О
-					if (cell5 == null || cell5.getCellType() == CellType.BLANK) {
+					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(cell5));
+						paraMillTool.setChineseName(ExcelUtils.getCellValueAsString(cell7));
 					}
-					Cell cell6 = row.getCell(6);//鐗╁搧澶栨枃鍚嶇О
-					paraMillTool.setForeignLanguageName(ExcelUtils.getCellValueAsString(cell6));
-					Cell cell7 = row.getCell(7);//鏍囧噯绾у埆
-					paraMillTool.setStandardLevel(ExcelUtils.getCellValueAsString(cell7));
-					Cell cell8 = row.getCell(8);//鏍囧噯鍙�
-					paraMillTool.setStandardCode(ExcelUtils.getCellValueAsString(cell8));
-					Cell cell10 = row.getCell(10);//鍒�鍏风洿寰�
-					if (cell10 == null || cell10.getCellType() == CellType.BLANK) {
+					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(cell10));
+						paraMillTool.setDiameter(ExcelUtils.getCellValueAsString(cell13));
 					}
-					Cell cell11 = row.getCell(11);//鍒�灏栬R
-					if (cell11 == null || cell11.getCellType() == CellType.BLANK) {
+					Cell cell14 = row.getCell(14);//鍒�灏栬R
+					if (cell14 == null || cell11.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�灏栬R涓虹┖! ");
 					} else {
-						paraMillTool.setNoseAngleR(ExcelUtils.getCellValueAsString(cell11));
+						paraMillTool.setNoseAngleR(ExcelUtils.getCellValueAsString(cell14));
 					}
-					Cell cell12 = row.getCell(12);//榻挎暟
-					if (cell12 == null || cell12.getCellType() == CellType.BLANK) {
+					Cell cell15 = row.getCell(15);//榻挎暟
+					if (cell15 == null || cell15.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,榻挎暟涓虹┖! ");
 						errorLines++;
 						continue;
 					} else {
-						paraMillTool.setNumberOfTeeth(ExcelUtils.getCellValueAsString(cell12));
+						paraMillTool.setNumberOfTeeth(ExcelUtils.getCellValueAsString(cell15));
 					}
-					Cell cell13 = row.getCell(13);//鍒囧墛鍒冮暱
-					if (cell13 == null || cell13.getCellType() == CellType.BLANK) {
+					Cell cell16 = row.getCell(16);//鍒囧墛鍒冮暱
+					if (cell16 == null || cell16.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒囧墛鍒冮暱涓虹┖! ");
 						errorLines++;
 						continue;
 					} else {
-						paraMillTool.setEdgeLength(ExcelUtils.getCellValueAsString(cell13));
+						paraMillTool.setEdgeLength(ExcelUtils.getCellValueAsString(cell16));
 					}
-					Cell cell14 = row.getCell(14);//鍒�鍏锋�婚暱
-					if (cell14 == null || cell14.getCellType() == CellType.BLANK) {
+					Cell cell17 = row.getCell(17);//鍒�鍏锋�婚暱
+					if (cell17 == null || cell17.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏锋�婚暱涓虹┖! ");
 						errorLines++;
 						continue;
 					} else {
-						paraMillTool.setTotalLength(ExcelUtils.getCellValueAsString(cell14));
+						paraMillTool.setTotalLength(ExcelUtils.getCellValueAsString(cell17));
 					}
-					Cell cell15 = row.getCell(15);//鍒�鍏锋潗鏂�
-					if (cell15 == null || cell15.getCellType() == CellType.BLANK) {
+					Cell cell18 = row.getCell(18);//鍒�鍏锋潗鏂�
+					if (cell18 == null || cell15.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏锋潗鏂欎负绌�! ");
 					} else {
-						paraMillTool.setToolMaterial(ExcelUtils.getCellValueAsString(cell15));
+						paraMillTool.setToolMaterial(ExcelUtils.getCellValueAsString(cell18));
 					}
 
-					Cell cell16 = row.getCell(16);//闆朵欢鏉愭枡
-					paraMillTool.setPartMaterial(ExcelUtils.getCellValueAsString(cell16));
-					Cell cell17 = row.getCell(17);//鏄惁娑傚眰
-					if (cell17 == null || cell17.getCellType() == CellType.BLANK) {
+					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(cell17));
+						paraMillTool.setPaintcoatFlag(ExcelUtils.getCellValueAsString(cell20));
 					}
-					Cell cell18 = row.getCell(18);//鍒�鍏峰瀷寮�
-					if (cell18 == null || cell18.getCellType() == CellType.BLANK) {
+					Cell cell21 = row.getCell(21);//鍒�鍏峰瀷寮�
+					if (cell21 == null || cell21.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏峰瀷寮忎负绌�! ");
 						errorLines++;
 						continue;
 					} else {
-						paraMillTool.setToolPattern(ExcelUtils.getCellValueAsString(cell18));
+						paraMillTool.setToolPattern(ExcelUtils.getCellValueAsString(cell21));
 					}
-					Cell cell19 = row.getCell(19);//瑁呭す瑙勬牸
-					if (cell19 == null || cell19.getCellType() == CellType.BLANK) {
+					Cell cell22 = row.getCell(22);//瑁呭す瑙勬牸
+					if (cell22 == null || cell22.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,瑁呭す瑙勬牸涓虹┖锛�");
 						errorLines++;
 						continue;
 					} else {
-						paraMillTool.setClampingSpecifications(ExcelUtils.getCellValueAsString(cell19));
+						paraMillTool.setClampingSpecifications(ExcelUtils.getCellValueAsString(cell22));
 					}
-					Cell cell20 = row.getCell(20);//鍐峰嵈鏂瑰紡
-					if (cell20 == null || cell20.getCellType() == CellType.BLANK) {
+					Cell cell23 = row.getCell(23);//鍐峰嵈鏂瑰紡
+					if (cell23 == null || cell23.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍐峰嵈鏂瑰紡涓虹┖锛�");
 						errorLines++;
 						continue;
 					} else {
-						paraMillTool.setCoolingMethod(ExcelUtils.getCellValueAsString(cell20));
+						paraMillTool.setCoolingMethod(ExcelUtils.getCellValueAsString(cell23));
 					}
-					Cell cell21 = row.getCell(21);//闄勫姞鎶�鏈潯浠�
-					if (cell21 == null || cell20.getCellType() == CellType.BLANK) {
+					Cell cell24 = row.getCell(24);//闄勫姞鎶�鏈潯浠�
+					if (cell24 == null || cell24.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,闄勫姞鎶�鏈潯浠朵负绌猴紒");
 					} else {
-						paraMillTool.setTechnicalConditions(ExcelUtils.getCellValueAsString(cell21));
+						paraMillTool.setTechnicalConditions(ExcelUtils.getCellValueAsString(cell24));
 					}
-					Cell cell22 = row.getCell(22);//闄勫姞鎶�鏈潯浠惰鏄�
-					paraMillTool.setConditionsInfo(ExcelUtils.getCellValueAsString(cell22));
-					Cell cell23 = row.getCell(23);//鍝佺墝
-					paraMillTool.setBrand(ExcelUtils.getCellValueAsString(cell23));
-					Cell cell24 = row.getCell(24);//棰堝緞
-					paraMillTool.setNeckDiameter(ExcelUtils.getCellValueAsString(cell24));
-					Cell cell25 = row.getCell(25);//鏌勯儴褰㈠紡
-					paraMillTool.setHandleForm(ExcelUtils.getCellValueAsString(cell25));
-					Cell cell26 = row.getCell(26);//鍒�灏栬C
-					paraMillTool.setNoseAngleC(ExcelUtils.getCellValueAsString(cell26));
-					Cell cell27 = row.getCell(27);//鍒�灏栬鍐匯
-					paraMillTool.setAngleInsideR(ExcelUtils.getCellValueAsString(cell27));
-					Cell cell28 = row.getCell(28);//鏈�灏忕洿寰�
-					paraMillTool.setSmallDiameter(ExcelUtils.getCellValueAsString(cell28));
-					Cell cell29 = row.getCell(29);//鍒�鍏疯搴�
-					paraMillTool.setToolAngle(ExcelUtils.getCellValueAsString(cell29));
-					Cell cell30 = row.getCell(30);//鏌勯暱
-					paraMillTool.setHandleLength(ExcelUtils.getCellValueAsString(cell30));
-					Cell cell31 = row.getCell(31);//涓诲亸瑙扠
-					paraMillTool.setMainAngleK(ExcelUtils.getCellValueAsString(cell31));
-					Cell cell32 = row.getCell(32);//鏈�澶у垏娣�
-					paraMillTool.setDeepestDepth(ExcelUtils.getCellValueAsString(cell32));
-					Cell cell33 = row.getCell(33);//閫傞厤鍒�鐗�
-					paraMillTool.setAdaptBlade(ExcelUtils.getCellValueAsString(cell33));
-					Cell cell34 = row.getCell(34);//鏌勯褰㈠紡
-					paraMillTool.setHandleNeckForm(ExcelUtils.getCellValueAsString(cell34));
-					Cell cell35 = row.getCell(35);//鏌勯闀垮害
-					paraMillTool.setHandleNeckLength(ExcelUtils.getCellValueAsString(cell35));
-					Cell cell36 = row.getCell(36);//鎺ュ彛灏哄瑙勬牸
-					paraMillTool.setSizeSpecifications(ExcelUtils.getCellValueAsString(cell36));
-					Cell cell37 = row.getCell(37);//閾e垁澶村舰寮�
-					paraMillTool.setMillingHeadForm(ExcelUtils.getCellValueAsString(cell37));
-					Cell cell38 = row.getCell(38);//鎮几闀垮害
-					paraMillTool.setOverhangingLength(ExcelUtils.getCellValueAsString(cell38));
-					Cell cell39 = row.getCell(39);//鍒囧墛鍒冨舰寮�
-					paraMillTool.setCuttingEdgeForm(ExcelUtils.getCellValueAsString(cell39));
-					Cell cell40 = row.getCell(40);//鍐呭铻虹汗
-					paraMillTool.setNumberPatterns(ExcelUtils.getCellValueAsString(cell40));
-					Cell cell41 = row.getCell(41);//铻鸿窛
-					paraMillTool.setPitch(ExcelUtils.getCellValueAsString(cell41));
-					Cell cell42 = row.getCell(42);//鏈�灏忓姞宸ョ洿寰�
-					paraMillTool.setRecentlyDiameter(ExcelUtils.getCellValueAsString(cell42));
+					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));
 
 					paraMillToolImportList.add(paraMillTool);
 					successLines++;
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaTurningToolsController.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaTurningToolsController.java
index e541fe2..2448abb 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaTurningToolsController.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaTurningToolsController.java
@@ -22,9 +22,8 @@
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.PmsUtil;
-import org.jeecg.modules.tms.entity.BaseTools;
-import org.jeecg.modules.tms.entity.ParaTurningTools;
-import org.jeecg.modules.tms.entity.ToolsClassify;
+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.IParaTurningToolsService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -32,6 +31,7 @@
 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;
@@ -66,6 +66,8 @@
 	private IToolsClassifyService toolsClassifyService;
 	@Autowired
 	private IBaseToolsService baseToolsService;
+	@Autowired
+	private IToolsConfigPropertyService toolsConfigPropertyService;
 	
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
@@ -210,217 +212,327 @@
 						continue;
 					}
 					dataLines++;
-					Cell cell1 = row.getCell(1);
-					if (cell1 == null || cell1.getCellType() == CellType.BLANK) {
-						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,涓�绾у垎绫诲悕绉颁负绌�! ");
+					Cell cell0 = row.getCell(0);
+					if (cell0 == null || cell0.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏风紪鐮佷负绌�! ");
 						errorLines++;
 						continue;
 					}
-					Cell cell2 = row.getCell(2);
-					if (cell2 == null || cell2.getCellType() == CellType.BLANK) {
-						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,浜岀骇鍒嗙被鍚嶇О涓虹┖! ");
+					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 cell4 = row.getCell(4);
-					if (cell4 == null || cell4.getCellType() == CellType.BLANK) {
+					Cell cell6 = row.getCell(6);
+					if (cell6 == null || cell6.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))
+
+					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(toolClassifyList)) {
-						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄨ鍥涚骇鍒嗙被鍚嶇О! ");
+					if (CollectionUtil.isEmpty(class1List)) {
+						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 + "琛岋紝鏁版嵁瀵煎叆澶辫触,绯荤粺涓嶅瓨鍦ㄥ搴旂殑宸ュ叿淇℃伅! ");
+						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 {
-							BaseTools baseTools = baseToolsList.get(0);
-							List<ParaTurningTools> paraTurningToolsList = paraTurningToolsService.list(new LambdaQueryWrapper<ParaTurningTools>()
-									.eq(ParaTurningTools::getToolCode, baseTools.getId())
-									.eq(ParaTurningTools::getToolModel, ExcelUtils.getCellValueAsString(cell9)));
-							if (CollectionUtil.isEmpty(paraTurningToolsList)) {
-								paraTurningTools.setClassifyId(toolsClassify.getId());
-								paraTurningTools.setToolCode(baseTools.getId());
-								paraTurningTools.setToolModel(ExcelUtils.getCellValueAsString(cell9));
+							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 {
-								paraTurningTools = paraTurningToolsList.get(0);
+								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);
+									paraTurningTools.setClassifyId(classify.getId());
+								}
 							}
 						}
 					}
 
-					Cell cell0 = row.getCell(0);
-					paraTurningTools.setSignCode(cell0.getStringCellValue());
-					Cell cell5 = row.getCell(5);//鐗╁搧涓枃鍚嶇О
-					if (cell5 == null || cell5.getCellType() == CellType.BLANK) {
+					Cell cell2 = row.getCell(2);//搴忓彿(鎴栦紒涓氬唴鍘熶唬鐮�)
+					paraTurningTools.setSignCode(ExcelUtils.getCellValueAsString(cell2));
+					Cell cell7 = row.getCell(7);//鐗╁搧涓枃鍚嶇О
+					if (cell7 == null || cell7.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鐗╁搧涓枃鍚嶇О涓虹┖! ");
 						errorLines++;
 						continue;
 					} else {
-						paraTurningTools.setChineseName(ExcelUtils.getCellValueAsString(cell5));
+						paraTurningTools.setChineseName(ExcelUtils.getCellValueAsString(cell7));
 					}
-					Cell cell6 = row.getCell(6);//鐗╁搧澶栨枃鍚嶇О
-					paraTurningTools.setForeignLanguageName(ExcelUtils.getCellValueAsString(cell6));
-					Cell cell7 = row.getCell(7);//鏍囧噯绾у埆
-					paraTurningTools.setStandardLevel(ExcelUtils.getCellValueAsString(cell7));
-					Cell cell8 = row.getCell(8);//鏍囧噯鍙�
-					paraTurningTools.setStandardCode(ExcelUtils.getCellValueAsString(cell8));
-					Cell cell10 = row.getCell(10);//鍒�澶磋鏍�
-					if (cell10 == null || cell10.getCellType() == CellType.BLANK) {
+					Cell cell8 = row.getCell(8);//鐗╁搧澶栨枃鍚嶇О
+					paraTurningTools.setForeignLanguageName(ExcelUtils.getCellValueAsString(cell8));
+					Cell cell9 = row.getCell(9);//鏍囧噯绾у埆
+					paraTurningTools.setStandardLevel(ExcelUtils.getCellValueAsString(cell9));
+					Cell cell10 = row.getCell(10);//鏍囧噯鍙�
+					paraTurningTools.setStandardCode(ExcelUtils.getCellValueAsString(cell10));
+					Cell cell11 = row.getCell(11);
+					if (cell11 == null || cell11.getCellType() == CellType.BLANK) {
+						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍨嬪彿/鍥惧彿涓虹┖! ");
+						errorLines++;
+						continue;
+					} else {
+						paraTurningTools.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("5")//5锛氳溅鍓婂垁鍏�
+							.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);
+					}
+
+					paraTurningTools.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<ParaTurningTools> paraTurningToolsList = paraTurningToolsService.list(new LambdaQueryWrapper<ParaTurningTools>()
+							.eq(ParaTurningTools::getToolCode, baseTools.getId())
+							.eq(ParaTurningTools::getClassifyId, classify.getId())
+							.eq(ParaTurningTools::getToolModel, ExcelUtils.getCellValueAsString(cell11)));
+					if (CollectionUtil.isNotEmpty(paraTurningToolsList)) {
+						//瀛樺湪璇ヨ溅鍓婂垁鍏峰弬鏁颁俊鎭紝鏇存柊
+						ParaTurningTools turningTools = paraTurningToolsList.get(0);
+						paraTurningTools.setId(turningTools.getId());
+					}
+
+					Cell cell13 = row.getCell(13);//鍒�澶磋鏍�
+					if (cell13 == null || cell13.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�澶磋鏍间负绌�! ");
 						errorLines++;
 						continue;
 					} else {
-						paraTurningTools.setHeadSpecifications(ExcelUtils.getCellValueAsString(cell10));
+						paraTurningTools.setHeadSpecifications(ExcelUtils.getCellValueAsString(cell13));
 					}
-					Cell cell11 = row.getCell(11);//閰嶅鍒�鐗囧彿
-					if (cell11 == null || cell11.getCellType() == CellType.BLANK) {
+					Cell cell14 = row.getCell(14);//閰嶅鍒�鐗囧彿
+					if (cell14 == null || cell14.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,閰嶅鍒�鐗囧彿涓虹┖! ");
 						errorLines++;
 						continue;
 					} else {
-						paraTurningTools.setMatchingNumber(ExcelUtils.getCellValueAsString(cell11));
+						paraTurningTools.setMatchingNumber(ExcelUtils.getCellValueAsString(cell14));
 					}
-					Cell cell12 = row.getCell(12);//涓诲亸瑙�
-					if (cell12 == null || cell12.getCellType() == CellType.BLANK) {
+					Cell cell15 = row.getCell(15);//涓诲亸瑙�
+					if (cell15 == null || cell15.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,涓诲亸瑙掍负绌�! ");
 						errorLines++;
 						continue;
 					} else {
-						paraTurningTools.setLeadAngle(ExcelUtils.getCellValueAsString(cell12));
+						paraTurningTools.setLeadAngle(ExcelUtils.getCellValueAsString(cell15));
 					}
-					Cell cell13 = row.getCell(13);//鍒�鍏锋埅闈㈠昂瀵�
-					if (cell13 == null || cell13.getCellType() == CellType.BLANK) {
+					Cell cell16 = row.getCell(16);//鍒�鍏锋埅闈㈠昂瀵�
+					if (cell16 == null || cell16.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏锋埅闈㈠昂瀵镐负绌�! ");
 						errorLines++;
 						continue;
 					} else {
-						paraTurningTools.setCrossSectionalSize(ExcelUtils.getCellValueAsString(cell13));
+						paraTurningTools.setCrossSectionalSize(ExcelUtils.getCellValueAsString(cell16));
 					}
-					Cell cell14 = row.getCell(14);//鍒�鍏锋�婚暱
-					if (cell14 == null || cell14.getCellType() == CellType.BLANK) {
+					Cell cell17 = row.getCell(17);//鍒�鍏锋�婚暱
+					if (cell17 == null || cell17.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏锋�婚暱涓虹┖! ");
 						errorLines++;
 						continue;
 					} else {
-						paraTurningTools.setTotalLength(ExcelUtils.getCellValueAsString(cell14));
+						paraTurningTools.setTotalLength(ExcelUtils.getCellValueAsString(cell17));
 					}
-					Cell cell15 = row.getCell(15);//鍒囧墛鏂瑰悜
-					if (cell15 == null || cell15.getCellType() == CellType.BLANK) {
+					Cell cell18 = row.getCell(18);//鍒囧墛鏂瑰悜
+					if (cell18 == null || cell18.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒囧墛鏂瑰悜涓虹┖! ");
 						errorLines++;
 						continue;
 					} else {
-						paraTurningTools.setCuttingDirection(ExcelUtils.getCellValueAsString(cell15));
+						paraTurningTools.setCuttingDirection(ExcelUtils.getCellValueAsString(cell18));
 					}
 
-					Cell cell16 = row.getCell(16);//鍒�鍏锋潗鏂�
-					if (cell16 == null || cell16.getCellType() == CellType.BLANK) {
+					Cell cell19 = row.getCell(19);//鍒�鍏锋潗鏂�
+					if (cell19 == null || cell19.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏锋潗鏂欎负绌�! ");
 						errorLines++;
 						continue;
 					} else {
-						paraTurningTools.setToolMaterial(ExcelUtils.getCellValueAsString(cell16));
+						paraTurningTools.setToolMaterial(ExcelUtils.getCellValueAsString(cell19));
 					}
-					Cell cell17 = row.getCell(17);//闆朵欢鏉愭枡
-					paraTurningTools.setPartMaterial(ExcelUtils.getCellValueAsString(cell17));
-					Cell cell18 = row.getCell(18);//鍒�鍏峰瀷寮�
-					if (cell18 == null || cell18.getCellType() == CellType.BLANK) {
+					Cell cell20 = row.getCell(20);//闆朵欢鏉愭枡
+					paraTurningTools.setPartMaterial(ExcelUtils.getCellValueAsString(cell20));
+					Cell cell21 = row.getCell(21);//鍒�鍏峰瀷寮�
+					if (cell21 == null || cell21.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鍒�鍏峰瀷寮忎负绌�! ");
 						errorLines++;
 						continue;
 					} else {
-						paraTurningTools.setToolPattern(ExcelUtils.getCellValueAsString(cell18));
+						paraTurningTools.setToolPattern(ExcelUtils.getCellValueAsString(cell21));
 					}
-					Cell cell19 = row.getCell(19);//鏄惁娑傚眰
-					if (cell19 == null || cell19.getCellType() == CellType.BLANK) {
+					Cell cell22 = row.getCell(22);//鏄惁娑傚眰
+					if (cell22 == null || cell22.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,鏄惁娑傚眰涓虹┖锛�");
 						errorLines++;
 						continue;
 					} else {
-						paraTurningTools.setPaintcoatFlag(ExcelUtils.getCellValueAsString(cell19));
+						paraTurningTools.setPaintcoatFlag(ExcelUtils.getCellValueAsString(cell22));
 					}
-					Cell cell20 = row.getCell(20);//闄勫姞鎶�鏈潯浠�
-					if (cell20 == null || cell20.getCellType() == CellType.BLANK) {
+					Cell cell23 = row.getCell(23);//闄勫姞鎶�鏈潯浠�
+					if (cell23 == null || cell23.getCellType() == CellType.BLANK) {
 						errorMessage.add("绗�" + currentRowNum + "琛岋紝鏁版嵁瀵煎叆澶辫触,闄勫姞鎶�鏈潯浠朵负绌猴紒");
 						errorLines++;
 						continue;
 					} else {
-						paraTurningTools.setTechnicalConditions(ExcelUtils.getCellValueAsString(cell20));
+						paraTurningTools.setTechnicalConditions(ExcelUtils.getCellValueAsString(cell23));
 					}
-					Cell cell21 = row.getCell(21);//闄勫姞鎶�鏈潯浠惰鏄�
-					paraTurningTools.setConditionsInfo(ExcelUtils.getCellValueAsString(cell21));
-					Cell cell22 = row.getCell(22);//鍝佺墝
-					paraTurningTools.setBrand(ExcelUtils.getCellValueAsString(cell22));
-					Cell cell23 = row.getCell(23);//鍒跺紡
-					paraTurningTools.setTypes(ExcelUtils.getCellValueAsString(cell23));
-					Cell cell24 = row.getCell(24);//鍒�鐗囧昂瀵�
-					paraTurningTools.setKnifeSize(ExcelUtils.getCellValueAsString(cell24));
-					Cell cell25 = row.getCell(25);//鍐峰嵈鏂瑰紡
-					paraTurningTools.setCoolingMethod(ExcelUtils.getCellValueAsString(cell25));
-					Cell cell26 = row.getCell(26);//鍒�鏉嗙被鍒�
-					paraTurningTools.setHolderCategory(ExcelUtils.getCellValueAsString(cell26));
-					Cell cell27 = row.getCell(27);//鍒�鍏风洿寰�
-					paraTurningTools.setToolDiameter(ExcelUtils.getCellValueAsString(cell27));
-					Cell cell28 = row.getCell(28);//鎺ュ彛绱у浐褰㈠紡
-					paraTurningTools.setFasteningForm(ExcelUtils.getCellValueAsString(cell28));
-					Cell cell29 = row.getCell(29);//闀楁潌鐩村緞
-					paraTurningTools.setBoringBarDiameter(ExcelUtils.getCellValueAsString(cell29));
-					Cell cell30 = row.getCell(30);//鍒�鏉嗛暱搴�
-					paraTurningTools.setBladeLength(ExcelUtils.getCellValueAsString(cell30));
-					Cell cell31 = row.getCell(31);//鍒�鐗囧舰鐘�
-					paraTurningTools.setBladeShape(ExcelUtils.getCellValueAsString(cell31));
-					Cell cell32 = row.getCell(32);//鍒�鐗囧悗瑙�
-					paraTurningTools.setBladePosterior(ExcelUtils.getCellValueAsString(cell32));
-					Cell cell33 = row.getCell(33);//鍒�鏉嗘柟鍚�
-					paraTurningTools.setBarDirection(ExcelUtils.getCellValueAsString(cell33));
-					Cell cell34 = row.getCell(34);//鍒�鏉嗛珮搴�
-					paraTurningTools.setBladeHeight(ExcelUtils.getCellValueAsString(cell34));
-					Cell cell35 = row.getCell(35);//鍒�鏉嗗搴�
-					paraTurningTools.setBladeWide(ExcelUtils.getCellValueAsString(cell35));
-					Cell cell36 = row.getCell(36);//鍒�鏉嗗昂瀵�
-					paraTurningTools.setBladeSize(ExcelUtils.getCellValueAsString(cell36));
-					Cell cell37 = row.getCell(37);//鍒�澶瑰瀷鍙�
-					paraTurningTools.setKnifeClipModel(ExcelUtils.getCellValueAsString(cell37));
-					Cell cell38 = row.getCell(38);//鍒�鐗囪澶规柟寮�
-					paraTurningTools.setClampingMethod(ExcelUtils.getCellValueAsString(cell38));
-					Cell cell39 = row.getCell(39);//鍒�鐗囨Ы瀹�
-					paraTurningTools.setSlotWidth(ExcelUtils.getCellValueAsString(cell39));
-					Cell cell40 = row.getCell(40);//鏈�灏忓垏鍏ョ洿寰�
-					paraTurningTools.setSmallDiameter(ExcelUtils.getCellValueAsString(cell40));
-					Cell cell41 = row.getCell(41);//鏈�澶у垏鍏ョ洿寰�
-					paraTurningTools.setMaxDiameter(ExcelUtils.getCellValueAsString(cell41));
-					Cell cell42 = row.getCell(42);//鏈�澶у垏妲芥繁搴�
-					paraTurningTools.setMaxDepth(ExcelUtils.getCellValueAsString(cell42));
-					Cell cell43 = row.getCell(43);//鍒�鏉嗗舰寮�
-					paraTurningTools.setKnifeBarForm(ExcelUtils.getCellValueAsString(cell43));
-					Cell cell44 = row.getCell(44);//鍒�鏉垮帤搴�
-					paraTurningTools.setBladeThickness(ExcelUtils.getCellValueAsString(cell44));
-					Cell cell45 = row.getCell(45);//鏈�灏忓姞宸ョ洿寰�
-					paraTurningTools.setMinDiameter(ExcelUtils.getCellValueAsString(cell45));
+					Cell cell24 = row.getCell(24);//闄勫姞鎶�鏈潯浠惰鏄�
+					paraTurningTools.setConditionsInfo(ExcelUtils.getCellValueAsString(cell24));
+					Cell cell25 = row.getCell(25);//鍝佺墝
+					paraTurningTools.setBrand(ExcelUtils.getCellValueAsString(cell25));
+					Cell cell26 = row.getCell(26);//鍒跺紡
+					paraTurningTools.setTypes(ExcelUtils.getCellValueAsString(cell26));
+					Cell cell27 = row.getCell(27);//鍒�鐗囧昂瀵�
+					paraTurningTools.setKnifeSize(ExcelUtils.getCellValueAsString(cell27));
+					Cell cell28 = row.getCell(28);//鍐峰嵈鏂瑰紡
+					paraTurningTools.setCoolingMethod(ExcelUtils.getCellValueAsString(cell28));
+					Cell cell29 = row.getCell(29);//鍒�鏉嗙被鍒�
+					paraTurningTools.setHolderCategory(ExcelUtils.getCellValueAsString(cell29));
+					Cell cell30 = row.getCell(30);//鍒�鍏风洿寰�
+					paraTurningTools.setToolDiameter(ExcelUtils.getCellValueAsString(cell30));
+					Cell cell31 = row.getCell(31);//鎺ュ彛绱у浐褰㈠紡
+					paraTurningTools.setFasteningForm(ExcelUtils.getCellValueAsString(cell31));
+					Cell cell32 = row.getCell(32);//闀楁潌鐩村緞
+					paraTurningTools.setBoringBarDiameter(ExcelUtils.getCellValueAsString(cell32));
+					Cell cell33 = row.getCell(33);//鍒�鏉嗛暱搴�
+					paraTurningTools.setBladeLength(ExcelUtils.getCellValueAsString(cell33));
+					Cell cell34 = row.getCell(34);//鍒�鐗囧舰鐘�
+					paraTurningTools.setBladeShape(ExcelUtils.getCellValueAsString(cell34));
+					Cell cell35 = row.getCell(35);//鍒�鐗囧悗瑙�
+					paraTurningTools.setBladePosterior(ExcelUtils.getCellValueAsString(cell35));
+					Cell cell36 = row.getCell(36);//鍒�鏉嗘柟鍚�
+					paraTurningTools.setBarDirection(ExcelUtils.getCellValueAsString(cell36));
+					Cell cell37 = row.getCell(37);//鍒�鏉嗛珮搴�
+					paraTurningTools.setBladeHeight(ExcelUtils.getCellValueAsString(cell37));
+					Cell cell38 = row.getCell(38);//鍒�鏉嗗搴�
+					paraTurningTools.setBladeWide(ExcelUtils.getCellValueAsString(cell38));
+					Cell cell39 = row.getCell(39);//鍒�鏉嗗昂瀵�
+					paraTurningTools.setBladeSize(ExcelUtils.getCellValueAsString(cell39));
+					Cell cell40 = row.getCell(40);//鍒�澶瑰瀷鍙�
+					paraTurningTools.setKnifeClipModel(ExcelUtils.getCellValueAsString(cell40));
+					Cell cell41 = row.getCell(41);//鍒�鐗囪澶规柟寮�
+					paraTurningTools.setClampingMethod(ExcelUtils.getCellValueAsString(cell41));
+					Cell cell42 = row.getCell(42);//鍒�鐗囨Ы瀹�
+					paraTurningTools.setSlotWidth(ExcelUtils.getCellValueAsString(cell42));
+					Cell cell43 = row.getCell(43);//鏈�灏忓垏鍏ョ洿寰�
+					paraTurningTools.setSmallDiameter(ExcelUtils.getCellValueAsString(cell43));
+					Cell cell44 = row.getCell(44);//鏈�澶у垏鍏ョ洿寰�
+					paraTurningTools.setMaxDiameter(ExcelUtils.getCellValueAsString(cell44));
+					Cell cell45 = row.getCell(45);//鏈�澶у垏妲芥繁搴�
+					paraTurningTools.setMaxDepth(ExcelUtils.getCellValueAsString(cell45));
+					Cell cell46 = row.getCell(46);//鍒�鏉嗗舰寮�
+					paraTurningTools.setKnifeBarForm(ExcelUtils.getCellValueAsString(cell46));
+					Cell cell47 = row.getCell(47);//鍒�鏉垮帤搴�
+					paraTurningTools.setBladeThickness(ExcelUtils.getCellValueAsString(cell47));
+					Cell cell48 = row.getCell(48);//鏈�灏忓姞宸ョ洿寰�
+					paraTurningTools.setMinDiameter(ExcelUtils.getCellValueAsString(cell48));
 
 					paraTurningToolsImportList.add(paraTurningTools);
 					successLines++;
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ParaCommonTool.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ParaCommonTool.java
index a1134e9..4c858c9 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ParaCommonTool.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ParaCommonTool.java
@@ -72,6 +72,14 @@
 	@Excel(name = "鍨嬪彿/鍥惧彿", width = 15)
     @ApiModelProperty(value = "鍨嬪彿/鍥惧彿")
     private String toolModel;
+    /**鍒�鍏锋潗鏂�*/
+    @Excel(name = "鍒�鍏锋潗鏂�", width = 15)
+    @ApiModelProperty(value = "鍒�鍏锋潗鏂�")
+    private String toolMaterial;
+    /**闆朵欢鏉愭枡*/
+    @Excel(name = "闆朵欢鏉愭枡", width = 15)
+    @ApiModelProperty(value = "闆朵欢鏉愭枡")
+    private String partMaterial;
 	/**澶囨敞*/
 	@Excel(name = "澶囨敞", width = 15)
     @ApiModelProperty(value = "澶囨敞")

--
Gitblit v1.9.3