| | |
| | | package com.ruoyi.production.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.production.dto.ProcessRouteDto; |
| | | import com.ruoyi.production.pojo.ProcessRoute; |
| | | import com.ruoyi.production.pojo.ProcessRouteItem; |
| | | import com.ruoyi.production.service.ProcessRouteItemService; |
| | | import com.ruoyi.production.service.ProcessRouteService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.StringUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @RestController |
| | | @RequestMapping("processRoute") |
| | | @RequestMapping("/processRoute") |
| | | @Api(tags = "工艺路线") |
| | | public class ProcessRouteController { |
| | | |
| | | @Autowired |
| | | private ProcessRouteService processRouteService; |
| | | |
| | | @GetMapping("page") |
| | | @GetMapping("/page") |
| | | @ApiOperation("分页查询") |
| | | public R page(Page<ProcessRouteDto> page, ProcessRouteDto processRouteDto) { |
| | | public R page(Page<ProcessRouteDto> page, ProcessRouteDto processRouteDto) { |
| | | return R.ok(processRouteService.pageProcessRouteDto(page, processRouteDto)); |
| | | } |
| | | |
| | | @ApiOperation("新增工艺路线") |
| | | @PostMapping () |
| | | public R add(@RequestBody ProcessRoute processRoute) { |
| | | @PostMapping |
| | | public R add(@RequestBody ProcessRoute processRoute) { |
| | | normalizeProductBinding(processRoute); |
| | | return R.ok(processRouteService.saveProcessRoute(processRoute)); |
| | | } |
| | | |
| | | @ApiOperation("修改工艺路线") |
| | | @PutMapping () |
| | | public R update(@RequestBody ProcessRoute processRoute) { |
| | | @PutMapping |
| | | public R update(@RequestBody ProcessRoute processRoute) { |
| | | normalizeProductBinding(processRoute); |
| | | return R.ok(processRouteService.updateById(processRoute)); |
| | | } |
| | | |
| | | @ApiOperation("删除工艺路线") |
| | | @DeleteMapping("/{ids}") |
| | | public R delete(@PathVariable("ids") Long[] ids) { |
| | | return R.ok(processRouteService.batchDelete(Arrays.asList(ids))); |
| | | } |
| | | |
| | | private void normalizeProductBinding(ProcessRoute processRoute) { |
| | | if (processRoute == null) { |
| | | return; |
| | | } |
| | | String ids = null; |
| | | List<Long> idList = processRoute.getProductModelIdList(); |
| | | if (idList != null && !idList.isEmpty()) { |
| | | ids = idList.stream() |
| | | .filter(item -> item != null && item > 0) |
| | | .distinct() |
| | | .map(String::valueOf) |
| | | .collect(Collectors.joining(",")); |
| | | } else if (StringUtils.hasText(processRoute.getProductModelIds())) { |
| | | ids = Arrays.stream(processRoute.getProductModelIds().split(",")) |
| | | .map(String::trim) |
| | | .filter(StringUtils::hasText) |
| | | .distinct() |
| | | .collect(Collectors.joining(",")); |
| | | } else if (processRoute.getProductModelId() != null) { |
| | | ids = String.valueOf(processRoute.getProductModelId()); |
| | | } |
| | | processRoute.setProductModelIds(ids); |
| | | if (StringUtils.hasText(ids)) { |
| | | processRoute.setProductModelId(Long.valueOf(ids.split(",")[0])); |
| | | } |
| | | } |
| | | } |