From ac8e03a06d463aafcbe810af31e2da5037491a07 Mon Sep 17 00:00:00 2001
From: Houjie <714924425@qq.com>
Date: 星期五, 13 六月 2025 13:10:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaThreadingToolMapper.java            |    5 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaThreadingToolService.java         |    5 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolsToDncController.java           |  138 ++++++++++---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaMillToolServiceImpl.java      |   35 ++-
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaBladeMapper.xml                 |   39 +++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaHoleToolsMapper.xml             |    1 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaBladeServiceImpl.java         |   36 +++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaThreadingToolServiceImpl.java |   34 +++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/dto/ToolQueryParamDto.java              |  104 +++++++++-
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaBladeMapper.java                    |    6 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaTurningToolsServiceImpl.java  |   43 ++-
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaMillToolMapper.java                 |    4 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaTurningToolsMapper.java             |    4 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaThreadingToolMapper.xml         |   45 ++++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaMillToolMapper.xml              |    3 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaBladeService.java                 |    5 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaHoleToolsServiceImpl.java     |   31 +-
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaHoleToolsMapper.java                |    3 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaTurningToolsMapper.xml          |    1 
 19 files changed, 442 insertions(+), 100 deletions(-)

diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolsToDncController.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolsToDncController.java
index 9bc6c00..d5d3798 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolsToDncController.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolsToDncController.java
@@ -1,15 +1,14 @@
 package org.jeecg.modules.tms.controller;
 
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import io.swagger.annotations.ApiOperation;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.modules.tms.entity.ToolsClassify;
 import org.jeecg.modules.tms.entity.dto.ToolQueryParamDto;
-import org.jeecg.modules.tms.entity.vo.ParaHolesToolsVo;
-import org.jeecg.modules.tms.entity.vo.ParaMillToolVo;
-import org.jeecg.modules.tms.entity.vo.ParaTurningToolsVo;
+import org.jeecg.modules.tms.entity.vo.*;
 import org.jeecg.modules.tms.enums.ToolParaType;
 import org.jeecg.modules.tms.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -18,9 +17,10 @@
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
+import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("/tms/toolsToDnc")
@@ -34,57 +34,125 @@
     private IParaMillToolService paraMillToolService;
     @Autowired
     private IParaTurningToolsService paraTurningToolsService;
+    @Autowired
+    private IParaThreadingToolService paraThreadingToolService;
+    @Autowired
+    private IParaBladeService paraBladeService;
 
+    @ApiOperation(value = "閫氳繃宸ュ叿绠�绉版煡璇㈠伐鍏峰垎绫讳俊鎭紝閫夊垁椤甸潰宸ュ叿绫诲瀷涓嬫媺妗嗙敤", notes = "閫氳繃宸ュ叿绠�绉版煡璇㈠伐鍏峰垎绫讳俊鎭紝閫夊垁椤甸潰宸ュ叿绫诲瀷涓嬫媺妗嗙敤")
+    @GetMapping("/queryToolClassifyByParam")
+    public Result<?> queryToolClassifyByParam(@RequestParam("aliasLabel") String aliasLabel) {
+        List<ToolsClassify> classifyList = toolsClassifyService.list(new LambdaQueryWrapper<ToolsClassify>()
+                .eq(ToolsClassify::getAliasLabel, aliasLabel)
+                .eq(ToolsClassify::getStatus, CommonConstant.STATUS_1));
+        List<Map<String, String>> list = classifyList.stream()
+                .map(classify -> new HashMap<String, String>() {{
+                    put("value", classify.getId());
+                    put("label", classify.getTypeName());
+                }})
+                .collect(Collectors.toList());
+        return Result.ok(list);
+    }
     /**
      * 閫氳繃宸ュ叿绠�绉�/鐩村緞鍙傛暟鏌ヨ鍏蜂綋宸ュ叿鍙傛暟淇℃伅(缁橠NC鎻愪緵鎺ュ彛)锛屽弬鏁扮ず渚嬶細3E锛�3涓哄伐鍏风洿寰勫弬鏁般�丒涓哄姞宸ヤ腑蹇冨垁鍏风畝绉帮級
+     *
      * @param queryParam
      * @return
      */
     @ApiOperation(value = "閫氳繃宸ュ叿绠�绉�/鐩村緞鍙傛暟鏌ヨ鍏蜂綋宸ュ叿鍙傛暟淇℃伅(缁橠NC鎻愪緵鎺ュ彛)", notes = "閫氳繃宸ュ叿绠�绉�/鐩村緞鍙傛暟鏌ヨ鍏蜂綋宸ュ叿鍙傛暟淇℃伅(缁橠NC鎻愪緵鎺ュ彛)")
     @GetMapping("/queryToolByParam")
-    public Result<?> queryToolByParam(@RequestParam("param") ToolQueryParamDto queryParam){
-        String param = queryParam.getParam();
-        // 姝e垯琛ㄨ揪寮忥細鍓嶅崐閮ㄥ垎涓烘暟瀛楋紙鏀寔灏忔暟锛夛紝鍚庡崐閮ㄥ垎涓哄ぇ鍐欐垨灏忓啓瀛楁瘝
-        String regex = "^([\\d.]+)([A-Za-z]+)$";
-        Pattern pattern = Pattern.compile(regex);
-        Matcher matcher = pattern.matcher(param);
-        if (matcher.find()) {
-            String diameter = matcher.group(1);
-            String toolAliasName = matcher.group(2);
+    public Result<?> queryToolByParam(ToolQueryParamDto queryParam) {
+        String aliasLabel = queryParam.getAliasLabel();
+        String diameter = queryParam.getDiameter();
+        if (StrUtil.isBlank(aliasLabel)) {
+            return Result.error("缂哄皯蹇呰鍙傛暟");
+        }
 
+        Result<Object> res = Result.OK();
+        Map<String, Object> result = new HashMap<>();
+        int pageNo = Objects.isNull(queryParam.getPageNo()) || queryParam.getPageNo() < 1 ? 1 : queryParam.getPageNo();
+        int pageSize = Objects.isNull(queryParam.getPageSize()) || queryParam.getPageSize() < 1 ? 10 : queryParam.getPageSize();
+
+        List<Object> toolList = CollectionUtil.newArrayList();
+        String classifyId = queryParam.getClassifyId();
+        if (StrUtil.isNotBlank(classifyId)) {
+            //宸茬粡杩涘叆浜嗛�夊垁椤甸潰锛屽伐鍏峰垎绫诲凡缁忕‘瀹�
+            ToolsClassify toolsClassify = toolsClassifyService.getById(classifyId);
+            ToolParaType toolParaType = ToolParaType.fromValue(toolsClassify.getParaTypeFlag());
+            matchTypeSelectTools(queryParam, toolList, toolParaType);
+        } else {
+            //绗竴娆¤繘鍏ラ�夊垁椤甸潰锛屾牴鎹垁鍏风畝绉板拰鐩村緞鍙傛暟鏌ヨ宸ュ叿鍒嗙被
             List<ToolsClassify> classifyList = toolsClassifyService.list(new LambdaQueryWrapper<ToolsClassify>()
-                    .eq(ToolsClassify::getAliasLabel, toolAliasName)
+                    .eq(ToolsClassify::getAliasLabel, aliasLabel)
                     .eq(ToolsClassify::getStatus, CommonConstant.STATUS_1));
             if (CollectionUtil.isEmpty(classifyList)) {
-                return Result.error("鏈壘鍒板尮閰嶇殑宸ュ叿鍒嗙被");
+                result.put("records", CollectionUtil.newArrayList());
+                result.put("total", 0);
+                result.put("current", pageNo);
+                result.put("size", pageSize);
+                res.setResult(result);
+                return res;
             }
-            List<Object> toolList = CollectionUtil.newArrayList();
             for (ToolsClassify classify : classifyList) {
                 String paraTypeFlag = classify.getParaTypeFlag();
                 queryParam.setClassifyId(classify.getId());
                 queryParam.setDiameter(diameter);
                 ToolParaType toolParaType = ToolParaType.fromValue(paraTypeFlag);
-                if (toolParaType != null) {
-                    switch (toolParaType) {
-                        case HOLE:
-                            List<ParaHolesToolsVo> paraHoleToolsList = paraHoleToolsService.selectByClassifyAndDiameter(queryParam);
-                            toolList.addAll(paraHoleToolsList);
-                            break;
-                        case MILL:
-                            List<ParaMillToolVo> paraMillToolList = paraMillToolService.selectByClassifyAndDiameter(queryParam);
-                            toolList.addAll(paraMillToolList);
-                            break;
-                        case TURNING:
-                            List<ParaTurningToolsVo> paraTurningToolsList = paraTurningToolsService.selectByClassifyAndDiameter(queryParam);
-                            toolList.addAll(paraTurningToolsList);
-                            break;
-                        default:
-                    }
-                }
+                matchTypeSelectTools(queryParam, toolList, toolParaType);
             }
-            return Result.OK(toolList);
+        }
+
+        // ====== 鍒嗛〉閫昏緫 start ======
+        int total = toolList.size();
+        int fromIndex = (pageNo - 1) * pageSize;
+        int toIndex = Math.min(fromIndex + pageSize, total);
+
+        List<Object> pagedList;
+        if (fromIndex > total) {
+            pagedList = Collections.emptyList();
         } else {
-            return Result.error("鍙傛暟鏍煎紡涓嶆纭�");
+            pagedList = toolList.subList(fromIndex, toIndex);
+        }
+
+        result.put("records", pagedList);
+        result.put("total", total);
+        result.put("current", pageNo);
+        result.put("size", pageSize);
+        res.setResult(result);
+        return res;
+        // ====== 鍒嗛〉閫昏緫 end ======
+    }
+
+    private void matchTypeSelectTools(ToolQueryParamDto queryParam, List<Object> toolList, ToolParaType toolParaType) {
+        if (toolParaType != null) {
+            String diameter = queryParam.getDiameter();
+            switch (toolParaType) {
+                case HOLE:
+                    List<ParaHolesToolsVo> paraHoleToolsList = paraHoleToolsService.selectByClassifyAndDiameter(queryParam);
+                    toolList.addAll(paraHoleToolsList);
+                    break;
+                case THREADING://铻虹汗鍒�鍏锋病鏈夌洿寰勫弬鏁帮紝濡傛灉浼犲叆鐩村緞锛岀洿鎺ョ暐杩�
+                    if (StrUtil.isBlank(diameter)) {
+                        List<ParaThreadingToolVo> paraThreadingToolList = paraThreadingToolService.selectByClassifyAndParam(queryParam);
+                        toolList.addAll(paraThreadingToolList);
+                    }
+                    break;
+                case MILL:
+                    List<ParaMillToolVo> paraMillToolList = paraMillToolService.selectByClassifyAndDiameter(queryParam);
+                    toolList.addAll(paraMillToolList);
+                    break;
+                case TURNING:
+                    List<ParaTurningToolsVo> paraTurningToolsList = paraTurningToolsService.selectByClassifyAndDiameter(queryParam);
+                    toolList.addAll(paraTurningToolsList);
+                    break;
+                case BLADE://鍒�鐗囨病鏈夌洿寰勫弬鏁帮紝濡傛灉浼犲叆鐩村緞锛岀洿鎺ョ暐杩�
+                    if (StrUtil.isBlank(diameter)) {
+                        List<ParaBladeVo> paraBladeToolsList = paraBladeService.selectByClassifyAndParam(queryParam);
+                        toolList.addAll(paraBladeToolsList);
+                    }
+                    break;
+                default:
+            }
         }
     }
 
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/dto/ToolQueryParamDto.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/dto/ToolQueryParamDto.java
index 77621b9..2305953 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/dto/ToolQueryParamDto.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/dto/ToolQueryParamDto.java
@@ -9,13 +9,23 @@
  */
 @Data
 public class ToolQueryParamDto {
-    /**澶嶅悎鍙傛暟(宸ュ叿绠�绉�/鐩村緞鍙傛暟)锛屼緥濡傦細3E*/
-    @ApiModelProperty(value = "澶嶅悎鍙傛暟(宸ュ叿绠�绉�/鐩村緞鍙傛暟)锛屼緥濡傦細3E")
-    private String param;
+    /**宸ュ叿绠�绉�*/
+    @ApiModelProperty(value = "宸ュ叿绠�绉�")
+    private String aliasLabel;
+    /**鍒�鍏风洿寰�*/
+    @ApiModelProperty(value = "鍒�鍏风洿寰�")
+    private String diameter;
     /**鍒�鍏峰垎绫籌D(涓嶇敤鍓嶇浼狅紝鍚庡彴璁板綍鍙傛暟鐢�)*/
     private String classifyId;
-    /**鍒�鍏风洿寰�(涓嶇敤鍓嶇浼狅紝鍚庡彴璁板綍鍙傛暟鐢�)*/
-    private String diameter;
+    /**宸ュ叿缂栫爜*/
+    @ApiModelProperty(value = "宸ュ叿缂栫爜(tms_base_tool琛╰ool_code瀛楁)")
+    private String toolCode;
+    /**鍨嬪彿/鍥惧彿*/
+    @ApiModelProperty(value = "鍨嬪彿/鍥惧彿")
+    private String toolModel;
+    /**涓枃鍚嶇О*/
+    @ApiModelProperty(value = "涓枃鍚嶇О")
+    private String chineseName;
     /**鍒�鍏锋�婚暱*/
     @ApiModelProperty(value = "鍒�鍏锋�婚暱")
     private String totalLength;
@@ -23,7 +33,7 @@
     @ApiModelProperty(value = "鍒�鍏锋潗鏂�")
     private String toolMaterial;
     /**鍒囧墛鍒冮暱*/
-    @ApiModelProperty(value = "鍒囧墛鍒冮暱(瀛斿姞宸ュ垁鍏枫�侀摚鍓婂垁鍏�)")
+    @ApiModelProperty(value = "鍒囧墛鍒冮暱(瀛斿姞宸ュ垁鍏枫�侀摚鍓婂垁鍏枫�佽灪绾瑰垁鍏�)")
     private String edgeLength;
     /**鍒冩暟(瀛斿姞宸ュ垁鍏�)*/
     @ApiModelProperty(value = "鍒冩暟(瀛斿姞宸ュ垁鍏�)")
@@ -69,7 +79,7 @@
     @ApiModelProperty(value = "鎮几闀垮害(閾e墛鍒�鍏�)")
     private String overhangingLength;
     /**铻鸿窛*/
-    @ApiModelProperty(value = "铻鸿窛(閾e墛鍒�鍏�)")
+    @ApiModelProperty(value = "铻鸿窛(閾e墛鍒�鍏枫�佽灪绾瑰垁鍏枫�佸垁鐗�)")
     private String pitch;
     /**鏈�灏忓姞宸ョ洿寰�*/
     @ApiModelProperty(value = "鏈�灏忓姞宸ョ洿寰�(閾e墛鍒�鍏�)")
@@ -78,7 +88,7 @@
     @ApiModelProperty(value = "閰嶅鍒�鐗囧彿(杞﹀墛鍒�鍏�)")
     private String matchingNumber;
     /**鍒囧墛鏂瑰悜*/
-    @ApiModelProperty(value = "鍒囧墛鏂瑰悜(杞﹀墛鍒�鍏�)")
+    @ApiModelProperty(value = "鍒囧墛鏂瑰悜(杞﹀墛鍒�鍏枫�佸垁鐗�)")
     private String cuttingDirection;
     /**鍒�鐗囧昂瀵�*/
     @ApiModelProperty(value = "鍒�鐗囧昂瀵�(杞﹀墛鍒�鍏�)")
@@ -87,7 +97,7 @@
     @ApiModelProperty(value = "闀楁潌鐩村緞(杞﹀墛鍒�鍏�)")
     private String boringBarDiameter;
     /**鍒�鏉嗛暱搴�*/
-    @ApiModelProperty(value = "鍒�鏉嗛暱搴�(杞﹀墛鍒�鍏�)")
+    @ApiModelProperty(value = "鍒�鏉嗛暱搴�(杞﹀墛鍒�鍏枫�佸垁鐗�)")
     private String bladeLength;
     /**鍒�鏉嗘柟鍚�*/
     @ApiModelProperty(value = "鍒�鏉嗘柟鍚�(杞﹀墛鍒�鍏�)")
@@ -96,7 +106,7 @@
     @ApiModelProperty(value = "鍒�鏉嗛珮搴�(杞﹀墛鍒�鍏�)")
     private String bladeHeight;
     /**鍒�鏉嗗搴�*/
-    @ApiModelProperty(value = "鍒�鏉嗗搴�(杞﹀墛鍒�鍏�)")
+    @ApiModelProperty(value = "鍒�鏉嗗搴�(杞﹀墛鍒�鍏枫�佸垁鐗�)")
     private String bladeWide;
     /**鍒�鐗囨Ы瀹�*/
     @ApiModelProperty(value = "鍒�鐗囨Ы瀹�(杞﹀墛鍒�鍏�)")
@@ -108,9 +118,81 @@
     @ApiModelProperty(value = "鏈�澶у垏妲芥繁搴�(杞﹀墛鍒�鍏�)")
     private String maxDepth;
     /**鍒�鏉垮帤搴�*/
-    @ApiModelProperty(value = "鍒�鏉垮帤搴�(杞﹀墛鍒�鍏�)")
+    @ApiModelProperty(value = "鍒�鏉垮帤搴�(杞﹀墛鍒�鍏枫�佸垁鐗囧帤搴�)")
     private String bladeThickness;
     /**鏈�灏忓姞宸ョ洿寰�*/
     @ApiModelProperty(value = "鏈�灏忓姞宸ョ洿寰�(杞﹀墛鍒�鍏�)")
     private String minDiameter;
+    /**铻虹汗浠e彿*/
+    @ApiModelProperty(value = "铻虹汗浠e彿(铻虹汗鍒�鍏�)")
+    private String threadCode;
+    /**铻虹汗鏃嬪悜*/
+    @ApiModelProperty(value = "铻虹汗鏃嬪悜(铻虹汗鍒�鍏�)")
+    private String rotationDirection;
+    /**铻虹汗鍏樊甯︿唬鍙�/绮惧害绛夌骇*/
+    @ApiModelProperty(value = "铻虹汗鍏樊甯︿唬鍙�/绮惧害绛夌骇(铻虹汗鍒�鍏�)")
+    private String tolerancezoneLevel;
+    /**澶栧瀷灏哄*/
+    @ApiModelProperty(value = "澶栧瀷灏哄(铻虹汗鍒�鍏�)")
+    private String externalDimensions;
+    /**鏌勯儴瑙勬牸*/
+    @ApiModelProperty(value = "鏌勯儴瑙勬牸(铻虹汗鍒�鍏�)")
+    private String handleSpecifications;
+    /**铻哄瓟绫诲瀷*/
+    @ApiModelProperty(value = "铻哄瓟绫诲瀷(铻虹汗鍒�鍏�)")
+    private String screwHoleType;
+    /**铻虹汗鏍囧噯*/
+    @ApiModelProperty(value = "铻虹汗鏍囧噯(铻虹汗鍒�鍏枫�佸垁鐗�)")
+    private String threadStandard;
+    /**鎺掑睉妲藉瀷*/
+    @ApiModelProperty(value = "鎺掑睉妲藉瀷(铻虹汗鍒�鍏�)")
+    private String fluteSoltType;
+    /**铻虹汗绫诲瀷*/
+    @ApiModelProperty(value = "铻虹汗绫诲瀷(铻虹汗鍒�鍏�)")
+    private String threadType;
+    /**瀵煎悜灏哄*/
+    @ApiModelProperty(value = "瀵煎悜灏哄(铻虹汗鍒�鍏�)")
+    private String guidingSize;
+    /**杩炴帴瀛斿緞*/
+    @ApiModelProperty(value = "杩炴帴瀛斿緞(铻虹汗鍒�鍏�)")
+    private String connectionAperture;
+    /**杩炴帴閿Ы*/
+    @ApiModelProperty(value = "杩炴帴閿Ы(铻虹汗鍒�鍏�)")
+    private String connectingKeyway;
+    /**鍒�鐗囧舰鐘�*/
+    @ApiModelProperty(value = "鍒�鐗囧舰鐘�(鍒�鐗�)")
+    private String bladeShape;
+    /**鍒囧墛鍒冩暟*/
+    @ApiModelProperty(value = "鍒囧墛鍒冩暟(鍒�鐗�)")
+    private String cuttingEdgeCount;
+    /**澶瑰浐鍨嬪紡*/
+    @ApiModelProperty(value = "澶瑰浐鍨嬪紡(鍒�鐗�)")
+    private String clampingType;
+    /**鍒�灏朢*/
+    @ApiModelProperty(value = "鍒�灏朢(鍒�鐗�)")
+    private String noseAngleR;
+    /**鍔犲伐鍒嗙被*/
+    @ApiModelProperty(value = "鍔犲伐鍒嗙被(鍒�鐗�)")
+    private String processingClassify;
+    /**鍒�鐗囧悗瑙�*/
+    @ApiModelProperty(value = "鍒�鐗囧悗瑙�(鍒�鐗�)")
+    private String bladePosterior;
+    /**鍒�鐗囧昂瀵�*/
+    @ApiModelProperty(value = "鍒�鐗囧昂瀵�(鍒�鐗�)")
+    private String bladeSize;
+    /**鍐呭铻虹汗*/
+    @ApiModelProperty(value = "鍐呭铻虹汗(鍒�鐗�)")
+    private String inOutThread;
+    /**鐗欏瀷瑙掑害*/
+    @ApiModelProperty(value = "鐗欏瀷瑙掑害(鍒�鐗�)")
+    private String dentalAngle;
+    /**鏈�灏忓姞宸ュ唴铻虹汗鍏О鐩村緞*/
+    @ApiModelProperty(value = "鏈�灏忓姞宸ュ唴铻虹汗鍏О鐩村緞(鍒�鐗�)")
+    private String minInternalThread;
+
+    //鍒嗛〉鍙傛暟
+    @ApiModelProperty(value = "椤电爜")
+    private Integer pageNo = 1;   // 褰撳墠椤电爜锛岄粯璁ょ涓�椤�
+    @ApiModelProperty(value = "姣忛〉鏁伴噺")
+    private Integer pageSize = 10; // 姣忛〉鏁伴噺锛岄粯璁�10鏉�
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaBladeMapper.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaBladeMapper.java
index 9a186f5..85fdf83 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaBladeMapper.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaBladeMapper.java
@@ -2,9 +2,14 @@
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.commons.math3.analysis.function.Constant;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.tms.entity.ParaBlade;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.tms.entity.vo.ParaBladeVo;
 
 /**
  * @Description: tms_para_blade
@@ -14,4 +19,5 @@
  */
 public interface ParaBladeMapper extends BaseMapper<ParaBlade> {
 
+    List<ParaBladeVo> selectByClassifyAndParam(@Param(Constants.WRAPPER) Wrapper<ParaBlade> queryWrapper);
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaHoleToolsMapper.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaHoleToolsMapper.java
index d906762..d3f1199 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaHoleToolsMapper.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaHoleToolsMapper.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import org.apache.ibatis.annotations.Param;
@@ -18,5 +19,5 @@
 public interface ParaHoleToolsMapper extends BaseMapper<ParaHoleTools> {
 
     List<ParaHolesToolsVo> selectByClassifyAndDiameter(@Param(Constants.WRAPPER)
-                                                       LambdaQueryWrapper<ParaHolesToolsVo> queryWrapper);
+                                                       Wrapper<ParaHoleTools> queryWrapper);
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaMillToolMapper.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaMillToolMapper.java
index 3298150..775a9c5 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaMillToolMapper.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaMillToolMapper.java
@@ -2,7 +2,7 @@
 
 import java.util.List;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.tms.entity.ParaMillTool;
@@ -18,5 +18,5 @@
 public interface ParaMillToolMapper extends BaseMapper<ParaMillTool> {
 
     List<ParaMillToolVo> selectByClassifyAndDiameter(@Param(Constants.WRAPPER)
-                                                     LambdaQueryWrapper<ParaMillTool> queryWrapper);
+                                                     Wrapper<ParaMillTool> queryWrapper);
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaThreadingToolMapper.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaThreadingToolMapper.java
index 9e6e997..7a64693 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaThreadingToolMapper.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaThreadingToolMapper.java
@@ -2,9 +2,13 @@
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.tms.entity.ParaThreadingTool;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.tms.entity.vo.ParaThreadingToolVo;
 
 /**
  * @Description: tms_para_threading_tool
@@ -14,4 +18,5 @@
  */
 public interface ParaThreadingToolMapper extends BaseMapper<ParaThreadingTool> {
 
+    List<ParaThreadingToolVo> selectByClassifyAndParam(@Param(Constants.WRAPPER) Wrapper<ParaThreadingTool> queryWrapper);
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaTurningToolsMapper.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaTurningToolsMapper.java
index ed9b386..4c78fee 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaTurningToolsMapper.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaTurningToolsMapper.java
@@ -2,7 +2,7 @@
 
 import java.util.List;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.tms.entity.ParaTurningTools;
@@ -18,5 +18,5 @@
 public interface ParaTurningToolsMapper extends BaseMapper<ParaTurningTools> {
 
     List<ParaTurningToolsVo> selectByClassifyAndDiameter(@Param(Constants.WRAPPER)
-                                                         LambdaQueryWrapper<ParaTurningTools> queryWrapper);
+                                                         Wrapper<ParaTurningTools> queryWrapper);
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaBladeMapper.xml b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaBladeMapper.xml
index edaca31..c50113c 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaBladeMapper.xml
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaBladeMapper.xml
@@ -2,4 +2,43 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.tms.mapper.ParaBladeMapper">
 
+    <select id="selectByClassifyAndParam" resultType="org.jeecg.modules.tms.entity.vo.ParaBladeVo">
+        SELECT
+            t.id,
+            t.classify_id AS classifyId,
+            t2.classify_id AS classifyNum,
+            t2.type_name AS classifyName,
+            t1.id AS toolId,
+            t1.tool_code AS toolCode,
+            t1.parama_table_name AS paramaTableName,
+            t.sign_code AS signCode,
+            t.chinese_name AS chineseName,
+            t.foreign_language_name AS foreignLanguageName,
+            t.standard_level AS standardLevel,
+            t.standard_code AS standardCode,
+            t.position_code AS positionCode,
+            t.tool_model AS toolModel,
+            t.tool_material AS toolMaterial,
+            t.part_material AS partMaterial,
+            t.technical_conditions AS technicalConditions,
+            t.conditions_info AS conditionsInfo,
+            t.brand,
+            t.types,
+            <!-- 鍒�鐗囩壒鏈夊瓧娈� -->
+            t.blade_shape AS bladeShape,
+            t.cutting_edge_count AS cuttingEdgeCount,
+            t.clamping_type AS clampingType,
+            t.nose_angle_r AS noseAngleR,
+            t.processing_classify AS processingClassify,
+            t.blade_posterior AS bladePosterior,
+            t.blade_size AS bladeSize,
+            t.in_out_thread AS inOutThread,
+            t.dental_angle AS dentalAngle,
+            t.min_internal_thread AS minInternalThread,
+            t.thread_standard AS threadStandard
+        FROM tms_para_blade t
+        LEFT JOIN tms_base_tools t1 ON t.tool_code = t1.id
+        LEFT JOIN tms_tools_classify t2 ON t.classify_id = t2.id
+        ${ew.customSqlSegment}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaHoleToolsMapper.xml b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaHoleToolsMapper.xml
index f5d2a9c..75bb798 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaHoleToolsMapper.xml
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaHoleToolsMapper.xml
@@ -10,6 +10,7 @@
             t2.type_name AS classifyName,
             t1.id AS toolId,
             t1.tool_code AS toolCode,
+            t1.parama_table_name AS paramaTableName,
             t.sign_code AS signCode,
             t.chinese_name AS chineseName,
             t.foreign_language_name AS foreignLanguageName,
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaMillToolMapper.xml b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaMillToolMapper.xml
index 544f022..aee5ca4 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaMillToolMapper.xml
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaMillToolMapper.xml
@@ -9,7 +9,8 @@
             t2.classify_id AS classifyNum,
             t2.type_name AS classifyName,
             t1.id AS toolId,
-            t.tool_code AS toolCode,
+            t1.tool_code AS toolCode,
+            t1.parama_table_name AS paramaTableName,
             t.sign_code AS signCode,
             t.chinese_name AS chineseName,
             t.foreign_language_name AS foreignLanguageName,
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaThreadingToolMapper.xml b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaThreadingToolMapper.xml
index 83456b7..2fdf9fc 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaThreadingToolMapper.xml
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaThreadingToolMapper.xml
@@ -2,4 +2,49 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.tms.mapper.ParaThreadingToolMapper">
 
+    <select id="selectByClassifyAndParam" resultType="org.jeecg.modules.tms.entity.vo.ParaThreadingToolVo">
+        SELECT
+            t.id,
+            t.classify_id AS classifyId,
+            t2.classify_id AS classifyNum,
+            t2.type_name AS classifyName,
+            t1.id AS toolId,
+            t1.tool_code AS toolCode,
+            t1.parama_table_name AS paramaTableName,
+            t.sign_code AS signCode,
+            t.chinese_name AS chineseName,
+            t.foreign_language_name AS foreignLanguageName,
+            t.standard_level AS standardLevel,
+            t.standard_code AS standardCode,
+            t.position_code AS positionCode,
+            t.tool_model AS toolModel,
+            t.edge_length AS edgeLength,
+            t.total_length AS totalLength,
+            t.tool_material AS toolMaterial,
+            t.part_material AS partMaterial,
+            t.paintcoat_flag AS paintcoatFlag,
+            t.handle_specifications AS handleSpecifications,
+            t.cooling_method AS coolingMethod,
+            t.technical_conditions AS technicalConditions,
+            t.conditions_info AS conditionsInfo,
+            t.brand,
+            t.types,
+            <!-- 铻虹汗鍒�鍏风壒鏈夊瓧娈� -->
+            t.thread_code AS threadCode,
+            t.rotation_direction AS rotationDirection,
+            t.tolerancezone_level AS tolerancezoneLevel,
+            t.external_dimensions AS externalDimensions,
+            t.handle_specifications AS handleSpecifications,
+            t.screw_hole_type AS screwHoleType,
+            t.thread_standard AS threadStandard,
+            t.flute_solt_type AS fluteSoltType,
+            t.thread_type AS threadType,
+            t.guiding_size AS guidingSize,
+            t.connection_aperture AS connectionAperture,
+            t.connecting_keyway AS connectingKeyway
+        FROM tms_para_threading_tool t
+        LEFT JOIN tms_base_tools t1 ON t.tool_code = t1.id
+        LEFT JOIN tms_tools_classify t2 ON t.classify_id = t2.id
+        ${ew.customSqlSegment}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaTurningToolsMapper.xml b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaTurningToolsMapper.xml
index 6b78110..1cf19ef 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaTurningToolsMapper.xml
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaTurningToolsMapper.xml
@@ -10,6 +10,7 @@
             t2.type_name AS classifyName,
             t1.id AS toolId,
             t1.tool_code AS toolCode,
+            t1.parama_table_name AS paramaTableName,
             t.sign_code AS signCode,
             t.chinese_name AS chineseName,
             t.foreign_language_name AS foreignLanguageName,
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaBladeService.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaBladeService.java
index e0ece86..832accf 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaBladeService.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaBladeService.java
@@ -2,6 +2,10 @@
 
 import org.jeecg.modules.tms.entity.ParaBlade;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.tms.entity.dto.ToolQueryParamDto;
+import org.jeecg.modules.tms.entity.vo.ParaBladeVo;
+
+import java.util.List;
 
 /**
  * @Description: tms_para_blade
@@ -11,4 +15,5 @@
  */
 public interface IParaBladeService extends IService<ParaBlade> {
 
+    List<ParaBladeVo> selectByClassifyAndParam(ToolQueryParamDto queryParam);
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaThreadingToolService.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaThreadingToolService.java
index 625d9a3..1ee565e 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaThreadingToolService.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaThreadingToolService.java
@@ -2,6 +2,10 @@
 
 import org.jeecg.modules.tms.entity.ParaThreadingTool;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.tms.entity.dto.ToolQueryParamDto;
+import org.jeecg.modules.tms.entity.vo.ParaThreadingToolVo;
+
+import java.util.List;
 
 /**
  * @Description: tms_para_threading_tool
@@ -11,4 +15,5 @@
  */
 public interface IParaThreadingToolService extends IService<ParaThreadingTool> {
 
+    List<ParaThreadingToolVo> selectByClassifyAndParam(ToolQueryParamDto queryParam);
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaBladeServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaBladeServiceImpl.java
index c4cb7c3..f0fd1b8 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaBladeServiceImpl.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaBladeServiceImpl.java
@@ -1,11 +1,19 @@
 package org.jeecg.modules.tms.service.impl;
 
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.jeecg.modules.tms.entity.ParaBlade;
+import org.jeecg.modules.tms.entity.dto.ToolQueryParamDto;
+import org.jeecg.modules.tms.entity.vo.ParaBladeVo;
 import org.jeecg.modules.tms.mapper.ParaBladeMapper;
 import org.jeecg.modules.tms.service.IParaBladeService;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.Collections;
+import java.util.List;
 
 /**
  * @Description: tms_para_blade
@@ -16,4 +24,32 @@
 @Service
 public class ParaBladeServiceImpl extends ServiceImpl<ParaBladeMapper, ParaBlade> implements IParaBladeService {
 
+    @Override
+    public List<ParaBladeVo> selectByClassifyAndParam(ToolQueryParamDto paramDto) {
+        QueryWrapper<ParaBlade> queryWrapper = Wrappers.query();
+        if (paramDto != null) {
+            // 鍒�鐗囩浉鍏冲弬鏁板瓧娈�
+            queryWrapper
+                    .like(StrUtil.isNotBlank(paramDto.getToolCode()), "t1.tool_code", paramDto.getToolCode())
+                    .like(StrUtil.isNotBlank(paramDto.getToolModel()), "t.tool_model", paramDto.getToolModel())
+                    .like(StrUtil.isNotBlank(paramDto.getChineseName()), "t.chinese_name", paramDto.getChineseName())
+                    .eq(StrUtil.isNotBlank(paramDto.getClassifyId()), "t.classify_id", paramDto.getClassifyId())
+                    .eq(StrUtil.isNotBlank(paramDto.getPitch()), "t.pitch", paramDto.getPitch())
+                    .eq(StrUtil.isNotBlank(paramDto.getCuttingDirection()), "t.cutting_direction", paramDto.getCuttingDirection())
+                    .eq(StrUtil.isNotBlank(paramDto.getBladeLength()), "t.blade_length", paramDto.getBladeLength())
+                    .eq(StrUtil.isNotBlank(paramDto.getBladeWide()), "t.blade_wide", paramDto.getBladeWide())
+                    .eq(StrUtil.isNotBlank(paramDto.getBladeShape()), "t.blade_shape", paramDto.getBladeShape())
+                    .eq(StrUtil.isNotBlank(paramDto.getCuttingEdgeCount()), "t.cutting_edge_count", paramDto.getCuttingEdgeCount())
+                    .eq(StrUtil.isNotBlank(paramDto.getClampingType()), "t.clamping_type", paramDto.getClampingType())
+                    .eq(StrUtil.isNotBlank(paramDto.getNoseAngleR()), "t.nose_angle_r", paramDto.getNoseAngleR())
+                    .eq(StrUtil.isNotBlank(paramDto.getProcessingClassify()), "t.processing_classify", paramDto.getProcessingClassify())
+                    .eq(StrUtil.isNotBlank(paramDto.getBladePosterior()), "t.blade_posterior", paramDto.getBladePosterior())
+                    .eq(StrUtil.isNotBlank(paramDto.getBladeSize()), "t.blade_size", paramDto.getBladeSize())
+                    .eq(StrUtil.isNotBlank(paramDto.getInOutThread()), "t.in_out_thread", paramDto.getInOutThread())
+                    .eq(StrUtil.isNotBlank(paramDto.getDentalAngle()), "t.dental_angle", paramDto.getDentalAngle())
+                    .eq(StrUtil.isNotBlank(paramDto.getMinInternalThread()), "t.min_internal_thread", paramDto.getMinInternalThread())
+                    .eq(StrUtil.isNotBlank(paramDto.getThreadStandard()), "t.thread_standard", paramDto.getThreadStandard());
+        }
+        return this.baseMapper.selectByClassifyAndParam(queryWrapper);
+    }
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaHoleToolsServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaHoleToolsServiceImpl.java
index 2de5809..660b368 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaHoleToolsServiceImpl.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaHoleToolsServiceImpl.java
@@ -27,23 +27,26 @@
 
     @Override
     public List<ParaHolesToolsVo> selectByClassifyAndDiameter(ToolQueryParamDto paramDto) {
-        LambdaQueryWrapper<ParaHolesToolsVo> queryWrapper = new LambdaQueryWrapper<>();
+        QueryWrapper<ParaHoleTools> queryWrapper = Wrappers.query();
         if (paramDto != null) {
             // 瀛斿姞宸ュ垁鍏风浉鍏冲弬鏁板瓧娈�
             queryWrapper
-                    .eq(StrUtil.isNotBlank(paramDto.getClassifyId()), ParaHolesToolsVo::getClassifyId, paramDto.getClassifyId())
-                    .eq(StrUtil.isNotBlank(paramDto.getDiameter()), ParaHolesToolsVo::getDiameter, paramDto.getDiameter())
-                    .eq(StrUtil.isNotBlank(paramDto.getTotalLength()), ParaHolesToolsVo::getTotalLength, paramDto.getTotalLength())
-                    .eq(StrUtil.isNotBlank(paramDto.getToolMaterial()), ParaHolesToolsVo::getToolMaterial, paramDto.getToolMaterial())
-                    .eq(StrUtil.isNotBlank(paramDto.getEdgeLength()), ParaHolesToolsVo::getEdgeLength, paramDto.getEdgeLength())
-                    .eq(StrUtil.isNotBlank(paramDto.getBladeCount()), ParaHolesToolsVo::getBladeCount, paramDto.getBladeCount())
-                    .eq(StrUtil.isNotBlank(paramDto.getEffectiveLength()), ParaHolesToolsVo::getEffectiveLength, paramDto.getEffectiveLength())
-                    .eq(StrUtil.isNotBlank(paramDto.getLatestBoringDiameter()), ParaHolesToolsVo::getLatestBoringDiameter, paramDto.getLatestBoringDiameter())
-                    .eq(StrUtil.isNotBlank(paramDto.getMaxBoringDiameter()), ParaHolesToolsVo::getMaxBoringDiameter, paramDto.getMaxBoringDiameter())
-                    .eq(StrUtil.isNotBlank(paramDto.getKnifeDiameter()), ParaHolesToolsVo::getKnifeDiameter, paramDto.getKnifeDiameter())
-                    .eq(StrUtil.isNotBlank(paramDto.getBoreDiameter()), ParaHolesToolsVo::getBoreDiameter, paramDto.getBoreDiameter())
-                    .eq(StrUtil.isNotBlank(paramDto.getHeadsNumber()), ParaHolesToolsVo::getHeadsNumber, paramDto.getHeadsNumber())
-                    .eq(StrUtil.isNotBlank(paramDto.getSmallDiameter()), ParaHolesToolsVo::getSmallDiameter, paramDto.getSmallDiameter());
+                    .like(StrUtil.isNotBlank(paramDto.getToolCode()), "t1.tool_code", paramDto.getToolCode())
+                    .like(StrUtil.isNotBlank(paramDto.getToolModel()), "t.tool_model", paramDto.getToolModel())
+                    .like(StrUtil.isNotBlank(paramDto.getChineseName()), "t.chinese_name", paramDto.getChineseName())
+                    .eq(StrUtil.isNotBlank(paramDto.getClassifyId()), "t.classify_id", paramDto.getClassifyId())
+                    .eq(StrUtil.isNotBlank(paramDto.getDiameter()), "t.diameter", paramDto.getDiameter())
+                    .eq(StrUtil.isNotBlank(paramDto.getTotalLength()), "t.total_length", paramDto.getTotalLength())
+                    .eq(StrUtil.isNotBlank(paramDto.getToolMaterial()), "t.tool_material", paramDto.getToolMaterial())
+                    .eq(StrUtil.isNotBlank(paramDto.getEdgeLength()), "t.edge_length", paramDto.getEdgeLength())
+                    .eq(StrUtil.isNotBlank(paramDto.getBladeCount()), "t.blade_count", paramDto.getBladeCount())
+                    .eq(StrUtil.isNotBlank(paramDto.getEffectiveLength()), "t.effective_length", paramDto.getEffectiveLength())
+                    .eq(StrUtil.isNotBlank(paramDto.getLatestBoringDiameter()), "t.latest_boring_diameter", paramDto.getLatestBoringDiameter())
+                    .eq(StrUtil.isNotBlank(paramDto.getMaxBoringDiameter()), "t.max_boring_diameter", paramDto.getMaxBoringDiameter())
+                    .eq(StrUtil.isNotBlank(paramDto.getKnifeDiameter()), "t.knife_diameter", paramDto.getKnifeDiameter())
+                    .eq(StrUtil.isNotBlank(paramDto.getBoreDiameter()), "t.bore_diameter", paramDto.getBoreDiameter())
+                    .eq(StrUtil.isNotBlank(paramDto.getHeadsNumber()), "t.heads_number", paramDto.getHeadsNumber())
+                    .eq(StrUtil.isNotBlank(paramDto.getSmallDiameter()), "t.small_diameter", paramDto.getSmallDiameter());
         }
         return this.baseMapper.selectByClassifyAndDiameter(queryWrapper);
     }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaMillToolServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaMillToolServiceImpl.java
index 35778ed..2943246 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaMillToolServiceImpl.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaMillToolServiceImpl.java
@@ -2,6 +2,8 @@
 
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.jeecg.modules.tms.entity.ParaMillTool;
 import org.jeecg.modules.tms.entity.dto.ToolQueryParamDto;
 import org.jeecg.modules.tms.entity.vo.ParaMillToolVo;
@@ -25,24 +27,27 @@
 
     @Override
     public List<ParaMillToolVo> selectByClassifyAndDiameter(ToolQueryParamDto paramDto) {
-        LambdaQueryWrapper<ParaMillTool> queryWrapper = new LambdaQueryWrapper<>();
+        QueryWrapper<ParaMillTool> queryWrapper = Wrappers.query();
         if (paramDto != null) {
             //閾e墛鍒�鍏风浉鍏冲弬鏁板瓧娈�
             queryWrapper
-                    .eq(StrUtil.isNotBlank(paramDto.getClassifyId()), ParaMillTool::getClassifyId, paramDto.getClassifyId())
-                    .eq(StrUtil.isNotBlank(paramDto.getDiameter()), ParaMillTool::getDiameter, paramDto.getDiameter())
-                    .eq(StrUtil.isNotBlank(paramDto.getTotalLength()), ParaMillTool::getTotalLength, paramDto.getTotalLength())
-                    .eq(StrUtil.isNotBlank(paramDto.getToolMaterial()), ParaMillTool::getToolMaterial, paramDto.getToolMaterial())
-                    .eq(StrUtil.isNotBlank(paramDto.getEdgeLength()), ParaMillTool::getEdgeLength, paramDto.getEdgeLength())
-                    .eq(StrUtil.isNotBlank(paramDto.getNumberOfTeeth()), ParaMillTool::getNumberOfTeeth, paramDto.getNumberOfTeeth())
-                    .eq(StrUtil.isNotBlank(paramDto.getNeckDiameter()), ParaMillTool::getNeckDiameter, paramDto.getNeckDiameter())
-                    .eq(StrUtil.isNotBlank(paramDto.getSmallDiameter()), ParaMillTool::getSmallDiameter, paramDto.getSmallDiameter())
-                    .eq(StrUtil.isNotBlank(paramDto.getHandleLength()), ParaMillTool::getHandleLength, paramDto.getHandleLength())
-                    .eq(StrUtil.isNotBlank(paramDto.getDeepestDepth()), ParaMillTool::getDeepestDepth, paramDto.getDeepestDepth())
-                    .eq(StrUtil.isNotBlank(paramDto.getHandleNeckLength()), ParaMillTool::getHandleNeckLength, paramDto.getHandleNeckLength())
-                    .eq(StrUtil.isNotBlank(paramDto.getOverhangingLength()), ParaMillTool::getOverhangingLength, paramDto.getOverhangingLength())
-                    .eq(StrUtil.isNotBlank(paramDto.getPitch()), ParaMillTool::getPitch, paramDto.getPitch())
-                    .eq(StrUtil.isNotBlank(paramDto.getRecentlyDiameter()), ParaMillTool::getRecentlyDiameter, paramDto.getRecentlyDiameter());
+                    .like(StrUtil.isNotBlank(paramDto.getToolCode()), "t1.tool_code", paramDto.getToolCode())
+                    .like(StrUtil.isNotBlank(paramDto.getToolModel()), "t.tool_model", paramDto.getToolModel())
+                    .like(StrUtil.isNotBlank(paramDto.getChineseName()), "t.chinese_name", paramDto.getChineseName())
+                    .eq(StrUtil.isNotBlank(paramDto.getClassifyId()), "t.classify_id", paramDto.getClassifyId())
+                    .eq(StrUtil.isNotBlank(paramDto.getDiameter()), "t.diameter", paramDto.getDiameter())
+                    .eq(StrUtil.isNotBlank(paramDto.getTotalLength()), "t.total_length", paramDto.getTotalLength())
+                    .eq(StrUtil.isNotBlank(paramDto.getToolMaterial()), "t.tool_material", paramDto.getToolMaterial())
+                    .eq(StrUtil.isNotBlank(paramDto.getEdgeLength()), "t.edge_length", paramDto.getEdgeLength())
+                    .eq(StrUtil.isNotBlank(paramDto.getNumberOfTeeth()), "t.number_of_teeth", paramDto.getNumberOfTeeth())
+                    .eq(StrUtil.isNotBlank(paramDto.getNeckDiameter()), "t.neck_diameter", paramDto.getNeckDiameter())
+                    .eq(StrUtil.isNotBlank(paramDto.getSmallDiameter()), "t.small_diameter", paramDto.getSmallDiameter())
+                    .eq(StrUtil.isNotBlank(paramDto.getHandleLength()), "t.handle_length", paramDto.getHandleLength())
+                    .eq(StrUtil.isNotBlank(paramDto.getDeepestDepth()), "t.deepest_depth", paramDto.getDeepestDepth())
+                    .eq(StrUtil.isNotBlank(paramDto.getHandleNeckLength()), "t.handle_neck_length", paramDto.getHandleNeckLength())
+                    .eq(StrUtil.isNotBlank(paramDto.getOverhangingLength()), "t.overhanging_length", paramDto.getOverhangingLength())
+                    .eq(StrUtil.isNotBlank(paramDto.getPitch()), "t.pitch", paramDto.getPitch())
+                    .eq(StrUtil.isNotBlank(paramDto.getRecentlyDiameter()), "t.recently_diameter", paramDto.getRecentlyDiameter());
         }
         return this.baseMapper.selectByClassifyAndDiameter(queryWrapper);
     }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaThreadingToolServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaThreadingToolServiceImpl.java
index 7ec1e9f..dffea5d 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaThreadingToolServiceImpl.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaThreadingToolServiceImpl.java
@@ -1,11 +1,19 @@
 package org.jeecg.modules.tms.service.impl;
 
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.jeecg.modules.tms.entity.ParaThreadingTool;
+import org.jeecg.modules.tms.entity.dto.ToolQueryParamDto;
+import org.jeecg.modules.tms.entity.vo.ParaThreadingToolVo;
 import org.jeecg.modules.tms.mapper.ParaThreadingToolMapper;
 import org.jeecg.modules.tms.service.IParaThreadingToolService;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.Collections;
+import java.util.List;
 
 /**
  * @Description: tms_para_threading_tool
@@ -16,4 +24,30 @@
 @Service
 public class ParaThreadingToolServiceImpl extends ServiceImpl<ParaThreadingToolMapper, ParaThreadingTool> implements IParaThreadingToolService {
 
+    @Override
+    public List<ParaThreadingToolVo> selectByClassifyAndParam(ToolQueryParamDto paramDto) {
+        QueryWrapper<ParaThreadingTool> queryWrapper = Wrappers.query();
+        if (paramDto != null) {
+            // 铻虹汗鍒�鍏风浉鍏冲弬鏁板瓧娈�
+            queryWrapper
+                    .like(StrUtil.isNotBlank(paramDto.getToolCode()), "t1.tool_code", paramDto.getToolCode())
+                    .like(StrUtil.isNotBlank(paramDto.getToolModel()), "t.tool_model", paramDto.getToolModel())
+                    .like(StrUtil.isNotBlank(paramDto.getChineseName()), "t.chinese_name", paramDto.getChineseName())
+                    .eq(StrUtil.isNotBlank(paramDto.getClassifyId()), "t.classify_id", paramDto.getClassifyId())
+                    .eq(StrUtil.isNotBlank(paramDto.getThreadCode()), "t.thread_code", paramDto.getThreadCode())
+                    .eq(StrUtil.isNotBlank(paramDto.getPitch()), "t.pitch", paramDto.getPitch())
+                    .eq(StrUtil.isNotBlank(paramDto.getRotationDirection()), "t.rotation_direction", paramDto.getRotationDirection())
+                    .eq(StrUtil.isNotBlank(paramDto.getTolerancezoneLevel()), "t.tolerancezone_level", paramDto.getTolerancezoneLevel())
+                    .eq(StrUtil.isNotBlank(paramDto.getExternalDimensions()), "t.external_dimensions", paramDto.getExternalDimensions())
+                    .eq(StrUtil.isNotBlank(paramDto.getHandleSpecifications()), "t.handle_specifications", paramDto.getHandleSpecifications())
+                    .eq(StrUtil.isNotBlank(paramDto.getScrewHoleType()), "t.screw_hole_type", paramDto.getScrewHoleType())
+                    .eq(StrUtil.isNotBlank(paramDto.getThreadStandard()), "t.thread_standard", paramDto.getThreadStandard())
+                    .eq(StrUtil.isNotBlank(paramDto.getFluteSoltType()), "t.flute_solt_type", paramDto.getFluteSoltType())
+                    .eq(StrUtil.isNotBlank(paramDto.getThreadType()), "t.thread_type", paramDto.getThreadType())
+                    .eq(StrUtil.isNotBlank(paramDto.getGuidingSize()), "t.guiding_size", paramDto.getGuidingSize())
+                    .eq(StrUtil.isNotBlank(paramDto.getConnectionAperture()), "t.connection_aperture", paramDto.getConnectionAperture())
+                    .eq(StrUtil.isNotBlank(paramDto.getConnectingKeyway()), "t.connecting_keyway", paramDto.getConnectingKeyway());
+        }
+        return this.baseMapper.selectByClassifyAndParam(queryWrapper);
+    }
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaTurningToolsServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaTurningToolsServiceImpl.java
index 739f410..e68f980 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaTurningToolsServiceImpl.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaTurningToolsServiceImpl.java
@@ -2,6 +2,8 @@
 
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.jeecg.modules.tms.entity.ParaTurningTools;
 import org.jeecg.modules.tms.entity.dto.ToolQueryParamDto;
 import org.jeecg.modules.tms.entity.vo.ParaTurningToolsVo;
@@ -25,28 +27,31 @@
 
     @Override
     public List<ParaTurningToolsVo> selectByClassifyAndDiameter(ToolQueryParamDto paramDto) {
-        LambdaQueryWrapper<ParaTurningTools> queryWrapper = new LambdaQueryWrapper<>();
+        QueryWrapper<ParaTurningTools> queryWrapper = Wrappers.query();
         if (paramDto != null) {
             //杞﹀墛鍒�鍏风浉鍏冲弬鏁板瓧娈�
             queryWrapper
-                    .eq(StrUtil.isNotBlank(paramDto.getClassifyId()), ParaTurningTools::getClassifyId, paramDto.getClassifyId())
-                    .eq(StrUtil.isNotBlank(paramDto.getDiameter()), ParaTurningTools::getToolDiameter, paramDto.getDiameter())
-                    .eq(StrUtil.isNotBlank(paramDto.getTotalLength()), ParaTurningTools::getTotalLength, paramDto.getTotalLength())
-                    .eq(StrUtil.isNotBlank(paramDto.getToolMaterial()), ParaTurningTools::getToolMaterial, paramDto.getToolMaterial())
-                    .eq(StrUtil.isNotBlank(paramDto.getSmallDiameter()), ParaTurningTools::getSmallDiameter, paramDto.getSmallDiameter())
-                    .eq(StrUtil.isNotBlank(paramDto.getCuttingDirection()), ParaTurningTools::getCuttingDirection, paramDto.getCuttingDirection())
-                    .eq(StrUtil.isNotBlank(paramDto.getKnifeSize()), ParaTurningTools::getKnifeSize, paramDto.getKnifeSize())
-                    .eq(StrUtil.isNotBlank(paramDto.getBoringBarDiameter()), ParaTurningTools::getBoringBarDiameter, paramDto.getBoringBarDiameter())
-                    .eq(StrUtil.isNotBlank(paramDto.getBladeLength()), ParaTurningTools::getBladeLength, paramDto.getBladeLength())
-                    .eq(StrUtil.isNotBlank(paramDto.getBarDirection()), ParaTurningTools::getBarDirection, paramDto.getBarDirection())
-                    .eq(StrUtil.isNotBlank(paramDto.getBladeHeight()), ParaTurningTools::getBladeHeight, paramDto.getBladeHeight())
-                    .eq(StrUtil.isNotBlank(paramDto.getBladeWide()), ParaTurningTools::getBladeWide, paramDto.getBladeWide())
-                    .eq(StrUtil.isNotBlank(paramDto.getSlotWidth()), ParaTurningTools::getSlotWidth, paramDto.getSlotWidth())
-                    .eq(StrUtil.isNotBlank(paramDto.getMaxDiameter()), ParaTurningTools::getMaxDiameter, paramDto.getMaxDiameter())
-                    .eq(StrUtil.isNotBlank(paramDto.getMaxDepth()), ParaTurningTools::getMaxDepth, paramDto.getMaxDepth())
-                    .eq(StrUtil.isNotBlank(paramDto.getBladeThickness()), ParaTurningTools::getBladeThickness, paramDto.getBladeThickness())
-                    .eq(StrUtil.isNotBlank(paramDto.getMinDiameter()), ParaTurningTools::getMinDiameter, paramDto.getMinDiameter())
-                    .eq(StrUtil.isNotBlank(paramDto.getMatchingNumber()), ParaTurningTools::getMatchingNumber, paramDto.getMatchingNumber());
+                    .like(StrUtil.isNotBlank(paramDto.getToolCode()), "t1.tool_code", paramDto.getToolCode())
+                    .like(StrUtil.isNotBlank(paramDto.getToolModel()), "t.tool_model", paramDto.getToolModel())
+                    .like(StrUtil.isNotBlank(paramDto.getChineseName()), "t.chinese_name", paramDto.getChineseName())
+                    .eq(StrUtil.isNotBlank(paramDto.getClassifyId()), "t.classify_id", paramDto.getClassifyId())
+                    .eq(StrUtil.isNotBlank(paramDto.getDiameter()), "t.tool_diameter", paramDto.getDiameter())
+                    .eq(StrUtil.isNotBlank(paramDto.getTotalLength()), "t.total_length", paramDto.getTotalLength())
+                    .eq(StrUtil.isNotBlank(paramDto.getToolMaterial()), "t.tool_material", paramDto.getToolMaterial())
+                    .eq(StrUtil.isNotBlank(paramDto.getSmallDiameter()), "t.small_diameter", paramDto.getSmallDiameter())
+                    .eq(StrUtil.isNotBlank(paramDto.getCuttingDirection()), "t.cutting_direction", paramDto.getCuttingDirection())
+                    .eq(StrUtil.isNotBlank(paramDto.getKnifeSize()), "t.knife_size", paramDto.getKnifeSize())
+                    .eq(StrUtil.isNotBlank(paramDto.getBoringBarDiameter()), "t.boring_bar_diameter", paramDto.getBoringBarDiameter())
+                    .eq(StrUtil.isNotBlank(paramDto.getBladeLength()), "t.blade_length", paramDto.getBladeLength())
+                    .eq(StrUtil.isNotBlank(paramDto.getBarDirection()), "t.bar_direction", paramDto.getBarDirection())
+                    .eq(StrUtil.isNotBlank(paramDto.getBladeHeight()), "t.blade_height", paramDto.getBladeHeight())
+                    .eq(StrUtil.isNotBlank(paramDto.getBladeWide()), "t.blade_wide", paramDto.getBladeWide())
+                    .eq(StrUtil.isNotBlank(paramDto.getSlotWidth()), "t.slot_width", paramDto.getSlotWidth())
+                    .eq(StrUtil.isNotBlank(paramDto.getMaxDiameter()), "t.max_diameter", paramDto.getMaxDiameter())
+                    .eq(StrUtil.isNotBlank(paramDto.getMaxDepth()), "t.max_depth", paramDto.getMaxDepth())
+                    .eq(StrUtil.isNotBlank(paramDto.getBladeThickness()), "t.blade_thickness", paramDto.getBladeThickness())
+                    .eq(StrUtil.isNotBlank(paramDto.getMinDiameter()), "t.min_diameter", paramDto.getMinDiameter())
+                    .eq(StrUtil.isNotBlank(paramDto.getMatchingNumber()), "t.matching_number", paramDto.getMatchingNumber());
         }
         return this.baseMapper.selectByClassifyAndDiameter(queryWrapper);
     }

--
Gitblit v1.9.3