From 6ad5c2cdc193cf7bb02884961b7434cd7f607a0d Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 16 四月 2026 10:48:09 +0800
Subject: [PATCH] feat(production): 扩展生产工艺路线支持多产品绑定及工单权限控制
---
src/main/java/com/ruoyi/production/controller/ProcessRouteController.java | 51 +++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 41 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/controller/ProcessRouteController.java b/src/main/java/com/ruoyi/production/controller/ProcessRouteController.java
index 50ac4a8..c80542a 100644
--- a/src/main/java/com/ruoyi/production/controller/ProcessRouteController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProcessRouteController.java
@@ -1,47 +1,78 @@
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]));
+ }
+ }
}
--
Gitblit v1.9.3