| | |
| | | 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 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.*; |
| | |
| | | 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("请选择工具分类"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 分页列表查询 |
| | |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |