cuilei
2025-05-29 d4328b5fac8a01d685a3068f097668132095807d
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 @@
    /**
     * 通过工具简称/直径参数查询具体工具参数信息(给DNC提供接口),参数示例:3E(3为工具直径参数、E为加工中心刀具简称)
     * @param param
     * @param queryParam
     * @return
     */
    @ApiOperation(value = "通过工具简称/直径参数查询具体工具参数信息(给DNC提供接口)", notes = "通过工具简称/直径参数查询具体工具参数信息(给DNC提供接口)")
    @GetMapping("/queryToolByParam")
    public Result<?> queryToolByParam(@RequestParam("param") String param){
    public Result<?> queryToolByParam(@RequestParam("param") ToolQueryParamDto queryParam){
        String param = queryParam.getParam();
        // 正则表达式:前半部分为数字(支持小数),后半部分为大写或小写字母
        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: