package com.ruoyi.production.controller;
|
|
import com.ruoyi.framework.aspectj.lang.annotation.Log;
|
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
|
import com.ruoyi.framework.web.domain.AjaxResult;
|
import com.ruoyi.framework.web.domain.R;
|
import com.ruoyi.production.dto.ProcessRouteItemDto;
|
import com.ruoyi.production.pojo.ProcessRouteItem;
|
import com.ruoyi.production.service.ProcessRouteItemService;
|
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("processRouteItem")
|
@Api(tags = "工艺路线明细")
|
public class ProcessRouteItemController {
|
|
@Autowired
|
private ProcessRouteItemService processRouteItemService;
|
|
@GetMapping("list")
|
public R listProcessRouteItemDto(ProcessRouteItemDto processRouteItemDto) {
|
return R.ok(processRouteItemService.listProcessRouteItemDto(processRouteItemDto));
|
}
|
|
@PostMapping
|
@ApiOperation("新增修改")
|
public R addOrUpdate(@RequestBody ProcessRouteItem processRouteItem) {
|
normalizeProductBinding(processRouteItem);
|
return R.ok(processRouteItemService.saveOrUpdate(processRouteItem));
|
}
|
|
@PostMapping("/sort")
|
@ApiOperation("排序")
|
public R sort(@RequestBody ProcessRouteItem processRouteItem) {
|
return R.ok(processRouteItemService.sort(processRouteItem));
|
}
|
|
@ApiOperation("删除工艺路线明细")
|
@DeleteMapping("/batchDelete/{id}")
|
@Log(title = "删除", businessType = BusinessType.DELETE)
|
public AjaxResult batchDelete(@PathVariable("id") Long id) {
|
return AjaxResult.success(processRouteItemService.batchDelete(id));
|
}
|
|
private void normalizeProductBinding(ProcessRouteItem processRouteItem) {
|
if (processRouteItem == null) {
|
return;
|
}
|
String ids = null;
|
List<Long> idList = processRouteItem.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(processRouteItem.getProductModelIds())) {
|
ids = Arrays.stream(processRouteItem.getProductModelIds().split(","))
|
.map(String::trim)
|
.filter(StringUtils::hasText)
|
.distinct()
|
.collect(Collectors.joining(","));
|
} else if (processRouteItem.getProductModelId() != null) {
|
ids = String.valueOf(processRouteItem.getProductModelId());
|
}
|
processRouteItem.setProductModelIds(ids);
|
if (StringUtils.hasText(ids)) {
|
processRouteItem.setProductModelId(Long.valueOf(ids.split(",")[0]));
|
}
|
}
|
}
|