From d4328b5fac8a01d685a3068f097668132095807d Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期四, 29 五月 2025 22:28:45 +0800
Subject: [PATCH] 工具管理-修改DNC刀具查询接口,满足多参数查询需求

---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaHoleToolsService.java            |    3 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaTurningToolsService.java         |    3 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolsToDncController.java          |   14 +
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaMillToolServiceImpl.java     |   26 ++++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaHoleToolsMapper.xml            |  101 +++++++---------
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/dto/ToolQueryParamDto.java             |  116 +++++++++++++++++++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaTurningToolsServiceImpl.java |   30 ++++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaMillToolMapper.java                |    6 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaTurningToolsMapper.java            |    6 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaMillToolMapper.xml             |    9 -
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ParaHoleToolsServiceImpl.java    |   27 ++++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/ParaHoleToolsMapper.java               |    6 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaTurningToolsMapper.xml         |    9 -
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaMillToolService.java             |    3 
 14 files changed, 269 insertions(+), 90 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 f0597cc..9bc6c00 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
@@ -6,6 +6,7 @@
 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;
@@ -36,12 +37,13 @@
 
     /**
      * 閫氳繃宸ュ叿绠�绉�/鐩村緞鍙傛暟鏌ヨ鍏蜂綋宸ュ叿鍙傛暟淇℃伅(缁橠NC鎻愪緵鎺ュ彛)锛屽弬鏁扮ず渚嬶細3E锛�3涓哄伐鍏风洿寰勫弬鏁般�丒涓哄姞宸ヤ腑蹇冨垁鍏风畝绉帮級
-     * @param param
+     * @param queryParam
      * @return
      */
     @ApiOperation(value = "閫氳繃宸ュ叿绠�绉�/鐩村緞鍙傛暟鏌ヨ鍏蜂綋宸ュ叿鍙傛暟淇℃伅(缁橠NC鎻愪緵鎺ュ彛)", notes = "閫氳繃宸ュ叿绠�绉�/鐩村緞鍙傛暟鏌ヨ鍏蜂綋宸ュ叿鍙傛暟淇℃伅(缁橠NC鎻愪緵鎺ュ彛)")
     @GetMapping("/queryToolByParam")
-    public Result<?> queryToolByParam(@RequestParam("param") String param){
+    public Result<?> queryToolByParam(@RequestParam("param") ToolQueryParamDto queryParam){
+        String param = queryParam.getParam();
         // 姝e垯琛ㄨ揪寮忥細鍓嶅崐閮ㄥ垎涓烘暟瀛楋紙鏀寔灏忔暟锛夛紝鍚庡崐閮ㄥ垎涓哄ぇ鍐欐垨灏忓啓瀛楁瘝
         String regex = "^([\\d.]+)([A-Za-z]+)$";
         Pattern pattern = Pattern.compile(regex);
@@ -59,19 +61,21 @@
             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(classify.getId(), diameter);
+                            List<ParaHolesToolsVo> paraHoleToolsList = paraHoleToolsService.selectByClassifyAndDiameter(queryParam);
                             toolList.addAll(paraHoleToolsList);
                             break;
                         case MILL:
-                            List<ParaMillToolVo> paraMillToolList = paraMillToolService.selectByClassifyAndDiameter(classify.getId(), diameter);
+                            List<ParaMillToolVo> paraMillToolList = paraMillToolService.selectByClassifyAndDiameter(queryParam);
                             toolList.addAll(paraMillToolList);
                             break;
                         case TURNING:
-                            List<ParaTurningToolsVo> paraTurningToolsList = paraTurningToolsService.selectByClassifyAndDiameter(classify.getId(), diameter);
+                            List<ParaTurningToolsVo> paraTurningToolsList = paraTurningToolsService.selectByClassifyAndDiameter(queryParam);
                             toolList.addAll(paraTurningToolsList);
                             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
new file mode 100644
index 0000000..77621b9
--- /dev/null
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/dto/ToolQueryParamDto.java
@@ -0,0 +1,116 @@
+package org.jeecg.modules.tms.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/***
+ * DNC宸ュ叿鏌ヨ鍙傛暟灏佽
+ */
+@Data
+public class ToolQueryParamDto {
+    /**澶嶅悎鍙傛暟(宸ュ叿绠�绉�/鐩村緞鍙傛暟)锛屼緥濡傦細3E*/
+    @ApiModelProperty(value = "澶嶅悎鍙傛暟(宸ュ叿绠�绉�/鐩村緞鍙傛暟)锛屼緥濡傦細3E")
+    private String param;
+    /**鍒�鍏峰垎绫籌D(涓嶇敤鍓嶇浼狅紝鍚庡彴璁板綍鍙傛暟鐢�)*/
+    private String classifyId;
+    /**鍒�鍏风洿寰�(涓嶇敤鍓嶇浼狅紝鍚庡彴璁板綍鍙傛暟鐢�)*/
+    private String diameter;
+    /**鍒�鍏锋�婚暱*/
+    @ApiModelProperty(value = "鍒�鍏锋�婚暱")
+    private String totalLength;
+    /**鍒�鍏锋潗鏂�*/
+    @ApiModelProperty(value = "鍒�鍏锋潗鏂�")
+    private String toolMaterial;
+    /**鍒囧墛鍒冮暱*/
+    @ApiModelProperty(value = "鍒囧墛鍒冮暱(瀛斿姞宸ュ垁鍏枫�侀摚鍓婂垁鍏�)")
+    private String edgeLength;
+    /**鍒冩暟(瀛斿姞宸ュ垁鍏�)*/
+    @ApiModelProperty(value = "鍒冩暟(瀛斿姞宸ュ垁鍏�)")
+    private String bladeCount;
+    /**鏈夋晥鍔犲伐闀垮害*/
+    @ApiModelProperty(value = "鏈夋晥鍔犲伐闀垮害(瀛斿姞宸ュ垁鍏�)")
+    private String effectiveLength;
+    /**鏈�灏忛晽瀛旂洿寰�(瀛斿姞宸ュ垁鍏�)*/
+    @ApiModelProperty(value = "鏈�灏忛晽瀛旂洿寰�(瀛斿姞宸ュ垁鍏�)")
+    private String latestBoringDiameter;
+    /**鏈�澶ч晽瀛旂洿寰�(瀛斿姞宸ュ垁鍏�)*/
+    @ApiModelProperty(value = "鏈�澶ч晽瀛旂洿寰�(瀛斿姞宸ュ垁鍏�)")
+    private String maxBoringDiameter;
+    /**鍒�鏉嗙洿寰�*/
+    @ApiModelProperty(value = "鍒�鏉嗙洿寰�(瀛斿姞宸ュ垁鍏�)")
+    private String knifeDiameter;
+    /**瀛斿緞*/
+    @ApiModelProperty(value = "瀛斿緞(瀛斿姞宸ュ垁鍏�)")
+    private String boreDiameter;
+    /**鍒�澶存暟*/
+    @ApiModelProperty(value = "鍒�澶存暟(瀛斿姞宸ュ垁鍏�)")
+    private String headsNumber;
+    /**榻挎暟*/
+    @ApiModelProperty(value = "榻挎暟(閾e墛鍒�鍏�)")
+    private String numberOfTeeth;
+    /**棰堝緞*/
+    @ApiModelProperty(value = "棰堝緞(閾e墛鍒�鍏�)")
+    private String neckDiameter;
+    /**鏈�灏忕洿寰�*/
+    @Excel(name = "鏈�灏忕洿寰�", width = 15)
+    @ApiModelProperty(value = "鏈�灏忕洿寰�(瀛斿姞宸ュ垁鍏枫�侀摚鍓婂垁鍏枫�佽溅鍓婂垁鍏�)")
+    private String smallDiameter;
+    /**鏌勯暱*/
+    @ApiModelProperty(value = "鏌勯暱(閾e墛鍒�鍏�)")
+    private String handleLength;
+    /**鏈�澶у垏娣�*/
+    @ApiModelProperty(value = "鏈�澶у垏娣�(閾e墛鍒�鍏�)")
+    private String deepestDepth;
+    /**鏌勯闀垮害*/
+    @ApiModelProperty(value = "鏌勯闀垮害(閾e墛鍒�鍏�)")
+    private String handleNeckLength;
+    /**鎮几闀垮害*/
+    @ApiModelProperty(value = "鎮几闀垮害(閾e墛鍒�鍏�)")
+    private String overhangingLength;
+    /**铻鸿窛*/
+    @ApiModelProperty(value = "铻鸿窛(閾e墛鍒�鍏�)")
+    private String pitch;
+    /**鏈�灏忓姞宸ョ洿寰�*/
+    @ApiModelProperty(value = "鏈�灏忓姞宸ョ洿寰�(閾e墛鍒�鍏�)")
+    private String recentlyDiameter;
+    /**閰嶅鍒�鐗囧彿*/
+    @ApiModelProperty(value = "閰嶅鍒�鐗囧彿(杞﹀墛鍒�鍏�)")
+    private String matchingNumber;
+    /**鍒囧墛鏂瑰悜*/
+    @ApiModelProperty(value = "鍒囧墛鏂瑰悜(杞﹀墛鍒�鍏�)")
+    private String cuttingDirection;
+    /**鍒�鐗囧昂瀵�*/
+    @ApiModelProperty(value = "鍒�鐗囧昂瀵�(杞﹀墛鍒�鍏�)")
+    private String knifeSize;
+    /**闀楁潌鐩村緞*/
+    @ApiModelProperty(value = "闀楁潌鐩村緞(杞﹀墛鍒�鍏�)")
+    private String boringBarDiameter;
+    /**鍒�鏉嗛暱搴�*/
+    @ApiModelProperty(value = "鍒�鏉嗛暱搴�(杞﹀墛鍒�鍏�)")
+    private String bladeLength;
+    /**鍒�鏉嗘柟鍚�*/
+    @ApiModelProperty(value = "鍒�鏉嗘柟鍚�(杞﹀墛鍒�鍏�)")
+    private String barDirection;
+    /**鍒�鏉嗛珮搴�*/
+    @ApiModelProperty(value = "鍒�鏉嗛珮搴�(杞﹀墛鍒�鍏�)")
+    private String bladeHeight;
+    /**鍒�鏉嗗搴�*/
+    @ApiModelProperty(value = "鍒�鏉嗗搴�(杞﹀墛鍒�鍏�)")
+    private String bladeWide;
+    /**鍒�鐗囨Ы瀹�*/
+    @ApiModelProperty(value = "鍒�鐗囨Ы瀹�(杞﹀墛鍒�鍏�)")
+    private String slotWidth;
+    /**鏈�澶у垏鍏ョ洿寰�*/
+    @ApiModelProperty(value = "鏈�澶у垏鍏ョ洿寰�(杞﹀墛鍒�鍏�)")
+    private String maxDiameter;
+    /**鏈�澶у垏妲芥繁搴�*/
+    @ApiModelProperty(value = "鏈�澶у垏妲芥繁搴�(杞﹀墛鍒�鍏�)")
+    private String maxDepth;
+    /**鍒�鏉垮帤搴�*/
+    @ApiModelProperty(value = "鍒�鏉垮帤搴�(杞﹀墛鍒�鍏�)")
+    private String bladeThickness;
+    /**鏈�灏忓姞宸ョ洿寰�*/
+    @ApiModelProperty(value = "鏈�灏忓姞宸ョ洿寰�(杞﹀墛鍒�鍏�)")
+    private String minDiameter;
+}
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 f77fe90..d906762 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,8 @@
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.tms.entity.ParaHoleTools;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -15,6 +17,6 @@
  */
 public interface ParaHoleToolsMapper extends BaseMapper<ParaHoleTools> {
 
-    List<ParaHolesToolsVo> selectByClassifyAndDiameter(@Param("classifyId") String classifyId,
-                                                       @Param("diameter") String diameter);
+    List<ParaHolesToolsVo> selectByClassifyAndDiameter(@Param(Constants.WRAPPER)
+                                                       LambdaQueryWrapper<ParaHolesToolsVo> 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 cfbc4c4..3298150 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,6 +2,8 @@
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.tms.entity.ParaMillTool;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -15,6 +17,6 @@
  */
 public interface ParaMillToolMapper extends BaseMapper<ParaMillTool> {
 
-    List<ParaMillToolVo> selectByClassifyAndDiameter(@Param("classifyId") String classifyId,
-                                                     @Param("diameter") String diameter);
+    List<ParaMillToolVo> selectByClassifyAndDiameter(@Param(Constants.WRAPPER)
+                                                     LambdaQueryWrapper<ParaMillTool> 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 137e748..ed9b386 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,6 +2,8 @@
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.tms.entity.ParaTurningTools;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -15,6 +17,6 @@
  */
 public interface ParaTurningToolsMapper extends BaseMapper<ParaTurningTools> {
 
-    List<ParaTurningToolsVo> selectByClassifyAndDiameter(@Param("classifyId") String classifyId,
-                                                         @Param("diameter") String diameter);
+    List<ParaTurningToolsVo> selectByClassifyAndDiameter(@Param(Constants.WRAPPER)
+                                                         LambdaQueryWrapper<ParaTurningTools> queryWrapper);
 }
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 11de71a..f5d2a9c 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
@@ -4,62 +4,55 @@
 
     <select id="selectByClassifyAndDiameter" resultType="org.jeecg.modules.tms.entity.vo.ParaHolesToolsVo">
         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,
-        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.diameter,
-        t.cone_angle AS coneAngle,
-        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.tool_pattern AS toolPattern,
-        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.tolerance_class AS toleranceClass,
-        t.flute_form AS fluteForm,
-        t.handle_form AS handleForm,
-        t.blade_count AS bladeCount,
-        t.small_diameter AS smallDiameter,
-        t.chamfer_angle AS chamferAngle,
-        t.fitter_part AS fitterPart,
-        t.effective_length AS effectiveLength,
-        t.drill_diameter_range AS drillDiameterRange,
-        t.knife_diameter AS knifeDiameter,
-        t.bore_diameter AS boreDiameter,
-        t.connector_type AS connectorType,
-        t.slot_specification AS slotSpecification,
-        t.scope_of_application AS scopeOfApplication,
-        t.latest_boring_diameter AS latestBoringDiameter,
-        t.max_boring_diameter AS maxBoringDiameter,
-        t.processingmethod,
-        t.heads_number AS headsNumber,
-        t.adapt_holder AS adaptHolder
+            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,
+            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.diameter,
+            t.cone_angle AS coneAngle,
+            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.tool_pattern AS toolPattern,
+            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.tolerance_class AS toleranceClass,
+            t.flute_form AS fluteForm,
+            t.handle_form AS handleForm,
+            t.blade_count AS bladeCount,
+            t.small_diameter AS smallDiameter,
+            t.chamfer_angle AS chamferAngle,
+            t.fitter_part AS fitterPart,
+            t.effective_length AS effectiveLength,
+            t.drill_diameter_range AS drillDiameterRange,
+            t.knife_diameter AS knifeDiameter,
+            t.bore_diameter AS boreDiameter,
+            t.connector_type AS connectorType,
+            t.slot_specification AS slotSpecification,
+            t.scope_of_application AS scopeOfApplication,
+            t.latest_boring_diameter AS latestBoringDiameter,
+            t.max_boring_diameter AS maxBoringDiameter,
+            t.processingmethod,
+            t.heads_number AS headsNumber,
+            t.adapt_holder AS adaptHolder
         FROM tms_para_hole_tools 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
-        <where>
-            <if test="classifyId != null and classifyId != ''">
-                AND t.classify_id = #{classifyId}
-            </if>
-            <if test="diameter != null and diameter != ''">
-                AND t.diameter = #{diameter}
-            </if>
-        </where>
+        ${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/ParaMillToolMapper.xml b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ParaMillToolMapper.xml
index 9a4f98e..544f022 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
@@ -53,13 +53,6 @@
         FROM tms_para_mill_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
-        <where>
-            <if test="classifyId != null and classifyId != ''">
-                AND t.classify_id = #{classifyId}
-            </if>
-            <if test="diameter != null and diameter != ''">
-                AND t.diameter = #{diameter}
-            </if>
-        </where>
+        ${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 29827a6..6b78110 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
@@ -56,13 +56,6 @@
         FROM tms_para_turning_tools 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
-        <where>
-            <if test="classifyId != null and classifyId != ''">
-                AND t.classify_id = #{classifyId}
-            </if>
-            <if test="diameter != null and diameter != ''">
-                AND t.diameter = #{diameter}
-            </if>
-        </where>
+        ${ew.customSqlSegment}
     </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaHoleToolsService.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaHoleToolsService.java
index 41ad1f1..6c78fe0 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaHoleToolsService.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaHoleToolsService.java
@@ -2,6 +2,7 @@
 
 import org.jeecg.modules.tms.entity.ParaHoleTools;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.tms.entity.dto.ToolQueryParamDto;
 import org.jeecg.modules.tms.entity.vo.ParaHolesToolsVo;
 
 import java.util.List;
@@ -14,5 +15,5 @@
  */
 public interface IParaHoleToolsService extends IService<ParaHoleTools> {
 
-    List<ParaHolesToolsVo> selectByClassifyAndDiameter(String classifyId, String diameter);
+    List<ParaHolesToolsVo> selectByClassifyAndDiameter(ToolQueryParamDto queryParamDto);
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaMillToolService.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaMillToolService.java
index 1e8b44e..d673dfc 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaMillToolService.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaMillToolService.java
@@ -2,6 +2,7 @@
 
 import org.jeecg.modules.tms.entity.ParaMillTool;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.tms.entity.dto.ToolQueryParamDto;
 import org.jeecg.modules.tms.entity.vo.ParaMillToolVo;
 
 import java.util.List;
@@ -14,5 +15,5 @@
  */
 public interface IParaMillToolService extends IService<ParaMillTool> {
 
-    List<ParaMillToolVo> selectByClassifyAndDiameter(String classifyId, String diameter);
+    List<ParaMillToolVo> selectByClassifyAndDiameter(ToolQueryParamDto queryParamDto);
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaTurningToolsService.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaTurningToolsService.java
index cbd883b..b65885a 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaTurningToolsService.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IParaTurningToolsService.java
@@ -2,6 +2,7 @@
 
 import org.jeecg.modules.tms.entity.ParaTurningTools;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.tms.entity.dto.ToolQueryParamDto;
 import org.jeecg.modules.tms.entity.vo.ParaTurningToolsVo;
 
 import java.util.List;
@@ -14,5 +15,5 @@
  */
 public interface IParaTurningToolsService extends IService<ParaTurningTools> {
 
-    List<ParaTurningToolsVo> selectByClassifyAndDiameter(String classifyId, String diameter);
+    List<ParaTurningToolsVo> selectByClassifyAndDiameter(ToolQueryParamDto queryParamDto);
 }
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 be20fe0..2de5809 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
@@ -1,6 +1,11 @@
 package org.jeecg.modules.tms.service.impl;
 
+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.ParaHoleTools;
+import org.jeecg.modules.tms.entity.dto.ToolQueryParamDto;
 import org.jeecg.modules.tms.entity.vo.ParaHolesToolsVo;
 import org.jeecg.modules.tms.mapper.ParaHoleToolsMapper;
 import org.jeecg.modules.tms.service.IParaHoleToolsService;
@@ -21,7 +26,25 @@
 public class ParaHoleToolsServiceImpl extends ServiceImpl<ParaHoleToolsMapper, ParaHoleTools> implements IParaHoleToolsService {
 
     @Override
-    public List<ParaHolesToolsVo> selectByClassifyAndDiameter(String classifyId, String diameter) {
-        return this.baseMapper.selectByClassifyAndDiameter(classifyId, diameter);
+    public List<ParaHolesToolsVo> selectByClassifyAndDiameter(ToolQueryParamDto paramDto) {
+        LambdaQueryWrapper<ParaHolesToolsVo> queryWrapper = new LambdaQueryWrapper<>();
+        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());
+        }
+        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 61b4899..35778ed 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
@@ -1,6 +1,9 @@
 package org.jeecg.modules.tms.service.impl;
 
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.jeecg.modules.tms.entity.ParaMillTool;
+import org.jeecg.modules.tms.entity.dto.ToolQueryParamDto;
 import org.jeecg.modules.tms.entity.vo.ParaMillToolVo;
 import org.jeecg.modules.tms.mapper.ParaMillToolMapper;
 import org.jeecg.modules.tms.service.IParaMillToolService;
@@ -21,7 +24,26 @@
 public class ParaMillToolServiceImpl extends ServiceImpl<ParaMillToolMapper, ParaMillTool> implements IParaMillToolService {
 
     @Override
-    public List<ParaMillToolVo> selectByClassifyAndDiameter(String classifyId, String diameter) {
-        return this.baseMapper.selectByClassifyAndDiameter(classifyId, diameter);
+    public List<ParaMillToolVo> selectByClassifyAndDiameter(ToolQueryParamDto paramDto) {
+        LambdaQueryWrapper<ParaMillTool> queryWrapper = new LambdaQueryWrapper<>();
+        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());
+        }
+        return this.baseMapper.selectByClassifyAndDiameter(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 c9ab2b1..739f410 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
@@ -1,6 +1,9 @@
 package org.jeecg.modules.tms.service.impl;
 
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.jeecg.modules.tms.entity.ParaTurningTools;
+import org.jeecg.modules.tms.entity.dto.ToolQueryParamDto;
 import org.jeecg.modules.tms.entity.vo.ParaTurningToolsVo;
 import org.jeecg.modules.tms.mapper.ParaTurningToolsMapper;
 import org.jeecg.modules.tms.service.IParaTurningToolsService;
@@ -21,7 +24,30 @@
 public class ParaTurningToolsServiceImpl extends ServiceImpl<ParaTurningToolsMapper, ParaTurningTools> implements IParaTurningToolsService {
 
     @Override
-    public List<ParaTurningToolsVo> selectByClassifyAndDiameter(String classifyId, String diameter) {
-        return this.baseMapper.selectByClassifyAndDiameter(classifyId, diameter);
+    public List<ParaTurningToolsVo> selectByClassifyAndDiameter(ToolQueryParamDto paramDto) {
+        LambdaQueryWrapper<ParaTurningTools> queryWrapper = new LambdaQueryWrapper<>();
+        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());
+        }
+        return this.baseMapper.selectByClassifyAndDiameter(queryWrapper);
     }
 }

--
Gitblit v1.9.3