zhangherong
2025-06-25 23855599412c4d61b38d78f0f3abd3430a48b5b1
lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/BaseToolsController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,677 @@
package org.jeecg.modules.tms.controller;
import java.io.File;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.Arrays;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.tms.entity.*;
import org.jeecg.modules.tms.entity.vo.*;
import org.jeecg.modules.tms.service.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
 /**
 * @Description: tms_base_tools
 * @Author: jeecg-boot
 * @Date:   2025-05-09
 * @Version: V1.0
 */
@Api(tags="tms_base_tools")
@RestController
@RequestMapping("/tms/baseTools")
@Slf4j
public class BaseToolsController extends JeecgController<BaseTools, IBaseToolsService> {
   @Autowired
   private IBaseToolsService baseToolsService;
    @Autowired
    private IToolsConfigPropertyService toolsConfigPropertyService;
    @Autowired
    private IParaHoleToolsService paraHoleToolsService;
    @Autowired
    private IParaThreadingToolService paraThreadingToolService;
    @Autowired
    private IParaTurningToolsService paraTurningToolsService;
    @Autowired
    private IParaMillToolService paraMillToolService;
    @Autowired
    private IParaCommonToolService paraCommonToolService;
    @Autowired
    private IParaBladeService paraBladeService;
   /**
    * åˆ†é¡µåˆ—表查询
    *
    * @param baseTools
    * @param pageNo
    * @param pageSize
    * @param req
    * @return
    */
   //@AutoLog(value = "tms_base_tools-分页列表查询")
   @ApiOperation(value="tms_base_tools-分页列表查询", notes="tms_base_tools-分页列表查询")
   @GetMapping(value = "/list")
   public Result<IPage<BaseTools>> queryPageList(BaseTools baseTools,
                                           @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                           @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                           HttpServletRequest req) {
      QueryWrapper<BaseTools> queryWrapper = QueryGenerator.initQueryWrapper(baseTools, req.getParameterMap());
      Page<BaseTools> page = new Page<BaseTools>(pageNo, pageSize);
      IPage<BaseTools> pageList = baseToolsService.page(page, queryWrapper);
      return Result.OK(pageList);
   }
    /**
     * æ ¹æ®åˆ†ç±»é€‰æ‹©å·¥å…·
     *
     * @param baseTools
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    @ApiOperation(value="根据分类选择工具", notes="根据分类选择工具")
    @GetMapping(value = "/queryToolByClassifyId")
    public Result<?> queryToolByClassifyId(BaseTools baseTools,
                                        @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                        @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                        HttpServletRequest req) {
       Map<String, String[]> parameterMap = req.getParameterMap();
       String[] classifyIds = parameterMap.get("classifyId");
       if (classifyIds != null && classifyIds.length > 0) {
          if("1".equals(classifyIds[0])){
             Page<ParaCommonToolVo> page = new Page<ParaCommonToolVo>(pageNo, pageSize);
             IPage<ParaCommonToolVo> pageList = baseToolsService.paraCommonToolList(page, parameterMap);
             return Result.OK(pageList);
          }else if("2".equals(classifyIds[0])){
             Page<ParaHolesToolsVo> page = new Page<ParaHolesToolsVo>(pageNo, pageSize);
             IPage<ParaHolesToolsVo> pageList = baseToolsService.paraHolesToolsList(page, parameterMap);
             return Result.OK(pageList);
          }else if("3".equals(classifyIds[0])){
             Page<ParaThreadingToolVo> page = new Page<ParaThreadingToolVo>(pageNo, pageSize);
             IPage<ParaThreadingToolVo> pageList = baseToolsService.paraThreadingToolList(page, parameterMap);
             return Result.OK(pageList);
          }else if("4".equals(classifyIds[0])){
             Page<ParaMillToolVo> page = new Page<ParaMillToolVo>(pageNo, pageSize);
             IPage<ParaMillToolVo> pageList = baseToolsService.paraMillToolList(page, parameterMap);
             return Result.OK(pageList);
          }else if("5".equals(classifyIds[0])){
             Page<ParaTurningToolsVo> page = new Page<ParaTurningToolsVo>(pageNo, pageSize);
             IPage<ParaTurningToolsVo> pageList = baseToolsService.paraTurningToolsList(page, parameterMap);
             return Result.OK(pageList);
          }else if("6".equals(classifyIds[0])){
             Page<ParaBladeVo> page = new Page<ParaBladeVo>(pageNo, pageSize);
             IPage<ParaBladeVo> pageList = baseToolsService.paraBladeList(page, parameterMap);
             return Result.OK(pageList);
          }else {
             return Result.error("请选择工具分类");
          }
       }else {
          return Result.error("请选择工具分类");
       }
    }
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param baseTools
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "tms_base_tools-分页列表查询")
    @ApiOperation(value="tms_base_tools-分页列表查询", notes="tms_base_tools-分页列表查询")
    @GetMapping(value = "/paraHolesToolsList")
    public Result<IPage<ParaHolesToolsVo>> paraHolesToolsList(BaseTools baseTools,
                                            @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                            @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                            HttpServletRequest req) {
       Map<String, String[]> parameterMap = req.getParameterMap();
       Page<ParaHolesToolsVo> page = new Page<ParaHolesToolsVo>(pageNo, pageSize);
       IPage<ParaHolesToolsVo> pageList = baseToolsService.paraHolesToolsList(page, parameterMap);
       return Result.OK(pageList);
    }
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param baseTools
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "tms_base_tools-分页列表查询")
    @ApiOperation(value="tms_base_tools-分页列表查询", notes="tms_base_tools-分页列表查询")
    @GetMapping(value = "/paraCommonToolList")
    public Result<IPage<ParaCommonToolVo>> paraCommonToolList(BaseTools baseTools,
                                                  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                                  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                                  HttpServletRequest req) {
       Map<String, String[]> parameterMap = req.getParameterMap();
       Page<ParaCommonToolVo> page = new Page<ParaCommonToolVo>(pageNo, pageSize);
       IPage<ParaCommonToolVo> pageList = baseToolsService.paraCommonToolList(page, parameterMap);
       return Result.OK(pageList);
    }
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param baseTools
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "tms_base_tools-分页列表查询")
    @ApiOperation(value="tms_base_tools-分页列表查询", notes="tms_base_tools-分页列表查询")
    @GetMapping(value = "/paraThreadingToolList")
    public Result<IPage<ParaThreadingToolVo>> paraThreadingToolList(BaseTools baseTools,
                                            @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                            @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                            HttpServletRequest req) {
       Map<String, String[]> parameterMap = req.getParameterMap();
       Page<ParaThreadingToolVo> page = new Page<ParaThreadingToolVo>(pageNo, pageSize);
       IPage<ParaThreadingToolVo> pageList = baseToolsService.paraThreadingToolList(page, parameterMap);
       return Result.OK(pageList);
    }
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param baseTools
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "tms_base_tools-分页列表查询")
    @ApiOperation(value="tms_base_tools-分页列表查询", notes="tms_base_tools-分页列表查询")
    @GetMapping(value = "/paraMillToolList")
    public Result<IPage<ParaMillToolVo>> paraMillToolList(BaseTools baseTools,
                                             @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                             @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                             HttpServletRequest req) {
       Map<String, String[]> parameterMap = req.getParameterMap();
       Page<ParaMillToolVo> page = new Page<ParaMillToolVo>(pageNo, pageSize);
       IPage<ParaMillToolVo> pageList = baseToolsService.paraMillToolList(page, parameterMap);
       return Result.OK(pageList);
    }
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param baseTools
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "tms_base_tools-分页列表查询")
    @ApiOperation(value="tms_base_tools-分页列表查询", notes="tms_base_tools-分页列表查询")
    @GetMapping(value = "/paraTurningToolsList")
    public Result<IPage<ParaTurningToolsVo>> paraTurningToolsList(BaseTools baseTools,
                                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                                   HttpServletRequest req) {
       Map<String, String[]> parameterMap = req.getParameterMap();
       Page<ParaTurningToolsVo> page = new Page<ParaTurningToolsVo>(pageNo, pageSize);
       IPage<ParaTurningToolsVo> pageList = baseToolsService.paraTurningToolsList(page, parameterMap);
       return Result.OK(pageList);
    }
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param baseTools
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "tms_base_tools-分页列表查询")
    @ApiOperation(value="tms_base_tools-分页列表查询", notes="tms_base_tools-分页列表查询")
    @GetMapping(value = "/paraBladeList")
    public Result<IPage<ParaBladeVo>> paraBladeList(BaseTools baseTools,
                                        @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                        @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                        HttpServletRequest req) {
       Map<String, String[]> parameterMap = req.getParameterMap();
       Page<ParaBladeVo> page = new Page<ParaBladeVo>(pageNo, pageSize);
       IPage<ParaBladeVo> pageList = baseToolsService.paraBladeList(page, parameterMap);
       return Result.OK(pageList);
    }
   /**
    *   æ·»åŠ 
    *
    * @param jSONObject
    * @return
    */
   @AutoLog(value = "tms_base_tools-添加")
   @ApiOperation(value="tms_base_tools-添加", notes="tms_base_tools-添加")
   //@RequiresPermissions("org.jeecg.modules:tms_base_tools:add")
   @PostMapping(value = "/add")
   public Result<String> add(@RequestBody JSONObject jSONObject) {
      BaseTools baseTools = jSONObject.toJavaObject(BaseTools.class);
      String paramaTableName = jSONObject.getString("paraTypeFlag");
      ToolsConfigProperty toolsConfigProperty = jSONObject.toJavaObject(ToolsConfigProperty.class);
      ParaHoleTools paraHoleTools = jSONObject.toJavaObject(ParaHoleTools.class);
      ParaCommonTool paraCommonTool = jSONObject.toJavaObject(ParaCommonTool.class);
      ParaThreadingTool paraThreadingTool = jSONObject.toJavaObject(ParaThreadingTool.class);
      ParaTurningTools paraTurningTools = jSONObject.toJavaObject(ParaTurningTools.class);
      ParaMillTool paraMillTool = jSONObject.toJavaObject(ParaMillTool.class);
      ParaBlade paraBlade = jSONObject.toJavaObject(ParaBlade.class);
      baseTools.setParamaTableName(paramaTableName);
      if(baseToolsService.save(baseTools)){
         toolsConfigProperty.setToolCode(baseTools.getId());
         toolsConfigPropertyService.save(toolsConfigProperty);
         if("1".equals(paramaTableName)){
            paraCommonTool.setToolCode(baseTools.getId());
            paraCommonToolService.save(paraCommonTool);
         }else if("2".equals(paramaTableName)){
            paraHoleTools.setToolCode(baseTools.getId());
            paraHoleToolsService.save(paraHoleTools);
         }else if("3".equals(paramaTableName)){
            paraThreadingTool.setToolCode(baseTools.getId());
            paraThreadingToolService.save(paraThreadingTool);
         }else if("4".equals(paramaTableName)){
            paraMillTool.setToolCode(baseTools.getId());
            paraMillToolService.save(paraMillTool);
         }else if("5".equals(paramaTableName)){
            paraTurningTools.setToolCode(baseTools.getId());
            paraTurningToolsService.save(paraTurningTools);
         }else if("6".equals(paramaTableName)){
            paraBlade.setToolCode(baseTools.getId());
            paraBladeService.save(paraBlade);
         }
      }
      return Result.OK("添加成功!");
   }
   /**
    *  ç¼–辑
    *
    * @param jSONObject
    * @return
    */
   @AutoLog(value = "tms_base_tools-编辑")
   @ApiOperation(value="tms_base_tools-编辑", notes="tms_base_tools-编辑")
   //@RequiresPermissions("org.jeecg.modules:tms_base_tools:edit")
   @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
   public Result<String> edit(@RequestBody JSONObject jSONObject) {
      BaseTools baseTools = jSONObject.toJavaObject(BaseTools.class);
      ToolsConfigProperty toolsConfigProperty = jSONObject.toJavaObject(ToolsConfigProperty.class);
      ParaHoleTools paraHoleTools = jSONObject.toJavaObject(ParaHoleTools.class);
      ParaCommonTool paraCommonTool = jSONObject.toJavaObject(ParaCommonTool.class);
      ParaThreadingTool paraThreadingTool = jSONObject.toJavaObject(ParaThreadingTool.class);
      ParaTurningTools paraTurningTools = jSONObject.toJavaObject(ParaTurningTools.class);
      ParaMillTool paraMillTool = jSONObject.toJavaObject(ParaMillTool.class);
      ParaBlade paraBlade = jSONObject.toJavaObject(ParaBlade.class);
      if(baseToolsService.updateById(baseTools)){
         ToolsConfigProperty toolsConfigProperty1 = toolsConfigPropertyService.lambdaQuery().eq(ToolsConfigProperty::getToolCode,baseTools.getId()).one();
         if(toolsConfigProperty1 != null){
            toolsConfigProperty.setId(toolsConfigProperty1.getId());
            toolsConfigProperty.setToolCode(baseTools.getId());
            toolsConfigPropertyService.updateById(toolsConfigProperty);
         }else {
            toolsConfigProperty.setToolCode(baseTools.getId());
            toolsConfigPropertyService.save(toolsConfigProperty);
         }
         if("1".equals(baseTools.getParamaTableName())){
            ParaCommonTool paraCommonTool1 = paraCommonToolService.lambdaQuery().eq(ParaCommonTool::getToolCode,baseTools.getId()).one();
            if(paraCommonTool1 != null){
               paraCommonTool.setId(paraCommonTool1.getId());
               paraCommonTool.setToolCode(baseTools.getId());
               paraCommonToolService.updateById(paraCommonTool);
            }else {
               paraCommonTool.setToolCode(baseTools.getId());
               paraCommonToolService.save(paraCommonTool);
            }
         }else if("2".equals(baseTools.getParamaTableName())){
            ParaHoleTools paraHoleTools1 = paraHoleToolsService.lambdaQuery().eq(ParaHoleTools::getToolCode,baseTools.getId()).one();
            if(paraHoleTools1 != null){
               paraHoleTools.setId(paraHoleTools1.getId());
               paraHoleTools.setToolCode(baseTools.getId());
               paraHoleToolsService.updateById(paraHoleTools);
            }else {
               paraHoleTools.setToolCode(baseTools.getId());
               paraHoleToolsService.save(paraHoleTools);
            }
         }else if("3".equals(baseTools.getParamaTableName())){
            ParaThreadingTool paraThreadingTool1 = paraThreadingToolService.lambdaQuery().eq(ParaThreadingTool::getToolCode,baseTools.getId()).one();
            if(paraThreadingTool1 != null){
               paraThreadingTool.setId(paraThreadingTool1.getId());
               paraThreadingTool.setToolCode(baseTools.getId());
               paraThreadingToolService.updateById(paraThreadingTool);
            }else {
               paraThreadingTool.setToolCode(baseTools.getId());
               paraThreadingToolService.save(paraThreadingTool);
            }
         }else if("4".equals(baseTools.getParamaTableName())){
            ParaMillTool paraMillTool1 = paraMillToolService.lambdaQuery().eq(ParaMillTool::getToolCode,baseTools.getId()).one();
            if(paraMillTool1 != null){
               paraMillTool.setId(paraMillTool1.getId());
               paraMillTool.setToolCode(baseTools.getId());
               paraMillToolService.updateById(paraMillTool);
            }else {
               paraMillTool.setToolCode(baseTools.getId());
               paraMillToolService.save(paraMillTool);
            }
         }else if("5".equals(baseTools.getParamaTableName())){
            ParaTurningTools paraTurningTools1 = paraTurningToolsService.lambdaQuery().eq(ParaTurningTools::getToolCode,baseTools.getId()).one();
            if(paraTurningTools1 != null){
               paraTurningTools.setId(paraTurningTools1.getId());
               paraTurningTools.setToolCode(baseTools.getId());
               paraTurningToolsService.updateById(paraTurningTools);
            }else {
               paraTurningTools.setToolCode(baseTools.getId());
               paraTurningToolsService.save(paraTurningTools);
            }
         }else if("6".equals(baseTools.getParamaTableName())){
            ParaBlade paraBlade1 = paraBladeService.lambdaQuery().eq(ParaBlade::getToolCode,baseTools.getId()).one();
            if(paraBlade1 != null){
               paraBlade.setId(paraBlade1.getId());
               paraBlade.setToolCode(baseTools.getId());
               paraBladeService.updateById(paraBlade);
            }else {
               paraBlade.setToolCode(baseTools.getId());
               paraBladeService.save(paraBlade);
            }
         }
      }
      return Result.OK("编辑成功!");
   }
   /**
    *   é€šè¿‡id删除
    *
    * @param id
    * @return
    */
   @AutoLog(value = "tms_base_tools-通过id删除")
   @ApiOperation(value="tms_base_tools-通过id删除", notes="tms_base_tools-通过id删除")
   //@RequiresPermissions("org.jeecg.modules:tms_base_tools:delete")
   @DeleteMapping(value = "/delete")
   public Result<String> delete(@RequestParam(name="id",required=true) String id) {
      baseToolsService.removeById(id);
      BaseTools baseTools = baseToolsService.getById(id);
      ToolsConfigProperty toolsConfigProperty = toolsConfigPropertyService.lambdaQuery().eq(ToolsConfigProperty::getToolCode,baseTools.getId()).one();
      if(toolsConfigProperty != null){
         toolsConfigPropertyService.removeById(toolsConfigProperty.getId());
      }
      if("1".equals(baseTools.getParamaTableName())){
         ParaCommonTool paraCommonTool = paraCommonToolService.lambdaQuery().eq(ParaCommonTool::getToolCode,baseTools.getId()).one();
         if(paraCommonTool != null){
            paraCommonToolService.removeById(paraCommonTool.getId());
         }
      }else if("2".equals(baseTools.getParamaTableName())){
         ParaHoleTools paraHoleTools = paraHoleToolsService.lambdaQuery().eq(ParaHoleTools::getToolCode,baseTools.getId()).one();
         if(paraHoleTools != null){
            paraHoleToolsService.removeById(paraHoleTools.getId());
         }
      }else if("3".equals(baseTools.getParamaTableName())){
         ParaThreadingTool paraThreadingTool = paraThreadingToolService.lambdaQuery().eq(ParaThreadingTool::getToolCode,baseTools.getId()).one();
         if(paraThreadingTool != null){
            paraThreadingToolService.removeById(paraThreadingTool.getId());
         }
      }else if("4".equals(baseTools.getParamaTableName())){
         ParaMillTool paraMillTool = paraMillToolService.lambdaQuery().eq(ParaMillTool::getToolCode,baseTools.getId()).one();
         if(paraMillTool != null){
            paraMillToolService.removeById(paraMillTool.getId());
         }
      }else if("5".equals(baseTools.getParamaTableName())){
         ParaTurningTools paraTurningTools = paraTurningToolsService.lambdaQuery().eq(ParaTurningTools::getToolCode,baseTools.getId()).one();
         if(paraTurningTools != null){
            paraTurningToolsService.removeById(paraTurningTools.getId());
         }
      }else if("6".equals(baseTools.getParamaTableName())){
         ParaBlade paraBlade = paraBladeService.lambdaQuery().eq(ParaBlade::getToolCode,baseTools.getId()).one();
         if(paraBlade != null){
            paraBladeService.removeById(paraBlade.getId());
         }
      }
      return Result.OK("删除成功!");
   }
   /**
    *  æ‰¹é‡åˆ é™¤
    *
    * @param ids
    * @return
    */
   @AutoLog(value = "tms_base_tools-批量删除")
   @ApiOperation(value="tms_base_tools-批量删除", notes="tms_base_tools-批量删除")
   //@RequiresPermissions("org.jeecg.modules:tms_base_tools:deleteBatch")
   @DeleteMapping(value = "/deleteBatch")
   public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
      this.baseToolsService.removeByIds(Arrays.asList(ids.split(",")));
      return Result.OK("批量删除成功!");
   }
   /**
    * é€šè¿‡id查询
    *
    * @param id
    * @return
    */
   //@AutoLog(value = "tms_base_tools-通过id查询")
   @ApiOperation(value="tms_base_tools-通过id查询", notes="tms_base_tools-通过id查询")
   @GetMapping(value = "/queryById")
   public Result<BaseTools> queryById(@RequestParam(name="id",required=true) String id) {
      BaseTools baseTools = baseToolsService.getById(id);
      if(baseTools==null) {
         return Result.error("未找到对应数据");
      }
      return Result.OK(baseTools);
   }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param baseTools
    */
    //@RequiresPermissions("org.jeecg.modules:tms_base_tools:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, BaseTools baseTools) {
        return super.exportXls(request, baseTools, BaseTools.class, "tms_base_tools");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("tms_base_tools:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, BaseTools.class);
    }
    /**
     * é€šè¿‡å·¥å…·id查询
     *
     * @param toolCode
     * @return
     */
    @GetMapping(value = "/queryByToolCode")
    public Result<?> queryByToolCode(@RequestParam(name="toolCode",required=true) String toolCode,@RequestParam(name="paraTypeFlag",required=true) String paraTypeFlag) {
       if("1".equals(paraTypeFlag)){
          ParaCommonTool paraCommonTool = paraCommonToolService.lambdaQuery().eq(ParaCommonTool::getToolCode,toolCode).one();
          return Result.OK(paraCommonTool);
       }else if("2".equals(paraTypeFlag)){
          ParaHoleTools paraHoleTools = paraHoleToolsService.lambdaQuery().eq(ParaHoleTools::getToolCode,toolCode).one();
          return Result.OK(paraHoleTools);
       }else if("3".equals(paraTypeFlag)){
          ParaThreadingTool paraThreadingTool = paraThreadingToolService.lambdaQuery().eq(ParaThreadingTool::getToolCode,toolCode).one();
          return Result.OK(paraThreadingTool);
       }else if("4".equals(paraTypeFlag)){
          ParaMillTool paraMillTool = paraMillToolService.lambdaQuery().eq(ParaMillTool::getToolCode,toolCode).one();
          return Result.OK(paraMillTool);
       }else if("5".equals(paraTypeFlag)){
          ParaTurningTools paraTurningTools = paraTurningToolsService.lambdaQuery().eq(ParaTurningTools::getToolCode,toolCode).one();
          return Result.OK(paraTurningTools);
       }else if("6".equals(paraTypeFlag)){
         ParaBlade paraBlade = paraBladeService.lambdaQuery().eq(ParaBlade::getToolCode,toolCode).one();
          return Result.OK(paraBlade);
       }else {
          return Result.OK("");
       }
    }
    @GetMapping("/listWithLedgerAndConfig")
    public Result<IPage<StocktakingPoundVo>> listWithLedgerAndConfig(
          StocktakingPoundVo stocktakingPoundVo,
          @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
          @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
          HttpServletRequest req) {
       // ä½¿ç”¨ QueryGenerator æž„建 QueryWrapper
       QueryWrapper<StocktakingPoundVo> queryWrapper = QueryGenerator.initQueryWrapper(stocktakingPoundVo, req.getParameterMap());
       Page<StocktakingPoundVo> page = new Page<>(pageNo, pageSize);
       IPage<StocktakingPoundVo> resultPage = baseToolsService.pageWithLedgerAndConfig(page, queryWrapper);
       return Result.OK(resultPage);
    }
    @GetMapping("/listWithSharpedAndConfig")
    public Result<IPage<SharpeeningVo>> listWithSharpedAndConfig(
          SharpeeningVo sharpeeningVo,
          @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
          @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
          HttpServletRequest req) {
       // ä½¿ç”¨ QueryGenerator æž„建 QueryWrapper
       QueryWrapper<SharpeeningVo> queryWrapper = QueryGenerator.initQueryWrapper(sharpeeningVo, req.getParameterMap());
       Page<SharpeeningVo> page = new Page<>(pageNo, pageSize);
       IPage<SharpeeningVo> resultPage = baseToolsService.pageWithSharpedAndConfig(page, queryWrapper);
       return Result.OK(resultPage);
    }
    /**
     * å¯¼å…¥æ¨¡æ¿ä¸‹è½½
     *
     */
    @RequestMapping(value = "/loadTemplate")
    public void loadTemplate(HttpServletRequest request, HttpServletResponse response) throws IOException {
       Map<String,String[]> req = request.getParameterMap();
       String paraTypeFlag = "";
       if(req.get("paraTypeFlag") != null){
          paraTypeFlag = req.get("paraTypeFlag")[0];
       }
       if("1".equals(paraTypeFlag)){
          Workbook workbook = WorkbookFactory.create(new File("D:\\opt\\upFiles\\刀具信息导入模板-通用参数.xlsx"));
          //导出Workbook
          //设置响应头
          String fileName = "刀具信息导入模板-通用参数.xlsx";
          // å¯¹æ–‡ä»¶åè¿›è¡ŒURL编码,防止中文乱码
          String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
          response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
          response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName);
          // å°†Workbook写入响应输出流
          try { // try-with-resources自动关闭资源
             workbook.write(response.getOutputStream());
             response.flushBuffer();
          } catch (IOException e) {
             // å¼‚常处理(如记录日志)
             throw new IOException("下载模板失败", e);
          }
       }else if("2".equals(paraTypeFlag)){
          Workbook workbook = WorkbookFactory.create(new File("D:\\opt\\upFiles\\刀具信息导入模板-孔加工工具.xlsx"));
          String fileName = "刀具信息导入模板-孔加工工具.xlsx";
          String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
          response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
          response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName);
          try {
             workbook.write(response.getOutputStream());
             response.flushBuffer();
          } catch (IOException e) {
             throw new IOException("下载模板失败", e);
          }
       }else if("3".equals(paraTypeFlag)){
          Workbook workbook = WorkbookFactory.create(new File("D:\\opt\\upFiles\\刀具信息导入模板-螺纹工具.xlsx"));
          String fileName = "刀具信息导入模板-螺纹工具.xlsx";
          String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
          response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
          response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName);
          try {
             workbook.write(response.getOutputStream());
             response.flushBuffer();
          } catch (IOException e) {
             throw new IOException("下载模板失败", e);
          }
       }else if("4".equals(paraTypeFlag)){
          Workbook workbook = WorkbookFactory.create(new File("D:\\opt\\upFiles\\刀具信息导入模板-铣削工具.xlsx"));
          String fileName = "刀具信息导入模板-铣削工具.xlsx";
          String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
          response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
          response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName);
          try {
             workbook.write(response.getOutputStream());
             response.flushBuffer();
          } catch (IOException e) {
             throw new IOException("下载模板失败", e);
          }
       }else if("5".equals(paraTypeFlag)){
          Workbook workbook = WorkbookFactory.create(new File("D:\\opt\\upFiles\\刀具信息导入模板-车削工具.xlsx"));
          String fileName = "刀具信息导入模板-车削工具.xlsx";
          String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
          response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
          response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName);
          try {
             workbook.write(response.getOutputStream());
             response.flushBuffer();
          } catch (IOException e) {
             throw new IOException("下载模板失败", e);
          }
       }else if("6".equals(paraTypeFlag)){
          Workbook workbook = WorkbookFactory.create(new File("D:\\opt\\upFiles\\刀具信息导入模板-刀片.xlsx"));
          String fileName = "刀具信息导入模板-刀片.xlsx";
          String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
          response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
          response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName);
          try {
             workbook.write(response.getOutputStream());
             response.flushBuffer();
          } catch (IOException e) {
             throw new IOException("下载模板失败", e);
          }
       }
    }
}