¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.*; |
| | | import org.jeecg.modules.tms.enums.ToolParaType; |
| | | import org.jeecg.modules.tms.service.*; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.*; |
| | | import java.util.regex.Matcher; |
| | | import java.util.regex.Pattern; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @RestController |
| | | @RequestMapping("/tms/toolsToDnc") |
| | | public class ToolsToDncController { |
| | | |
| | | @Autowired |
| | | private IToolsClassifyService toolsClassifyService; |
| | | @Autowired |
| | | private IParaHoleToolsService paraHoleToolsService; |
| | | @Autowired |
| | | 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); |
| | | } |
| | | /** |
| | | * éè¿å·¥å
·ç®ç§°/ç´å¾åæ°æ¥è¯¢å
·ä½å·¥å
·åæ°ä¿¡æ¯(ç»DNCæä¾æ¥å£)ï¼åæ°ç¤ºä¾ï¼3Eï¼3为工å
·ç´å¾åæ°ãE为å å·¥ä¸å¿åå
·ç®ç§°ï¼ |
| | | * |
| | | * @param queryParam |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "éè¿å·¥å
·ç®ç§°/ç´å¾åæ°æ¥è¯¢å
·ä½å·¥å
·åæ°ä¿¡æ¯(ç»DNCæä¾æ¥å£)", notes = "éè¿å·¥å
·ç®ç§°/ç´å¾åæ°æ¥è¯¢å
·ä½å·¥å
·åæ°ä¿¡æ¯(ç»DNCæä¾æ¥å£)") |
| | | @GetMapping("/queryToolByParam") |
| | | 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, aliasLabel) |
| | | .eq(ToolsClassify::getStatus, CommonConstant.STATUS_1)); |
| | | if (CollectionUtil.isEmpty(classifyList)) { |
| | | result.put("records", CollectionUtil.newArrayList()); |
| | | result.put("total", 0); |
| | | result.put("current", pageNo); |
| | | result.put("size", pageSize); |
| | | res.setResult(result); |
| | | return res; |
| | | } |
| | | for (ToolsClassify classify : classifyList) { |
| | | String paraTypeFlag = classify.getParaTypeFlag(); |
| | | queryParam.setClassifyId(classify.getId()); |
| | | queryParam.setDiameter(diameter); |
| | | ToolParaType toolParaType = ToolParaType.fromValue(paraTypeFlag); |
| | | matchTypeSelectTools(queryParam, toolList, toolParaType); |
| | | } |
| | | } |
| | | |
| | | // ====== å页é»è¾ 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 { |
| | | 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: |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |