From d43fdde84cd44b60895e8d1da26cd3cb9851311f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Sat, 26 Jul 2025 20:47:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=B0=83=E6=95=B4=E5=B7=A5=E8=89=BA?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=AF=95=E7=AE=A1=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/controller/CraftsController.java | 5 ++-- .../colortitration/app/model/dto/SetCraftsDTO.java | 12 ++++----- .../common/service/CraftsService.java | 30 ++++++++++------------ 3 files changed, 22 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/iflytop/colortitration/app/controller/CraftsController.java b/src/main/java/com/iflytop/colortitration/app/controller/CraftsController.java index 641eb87..6ad2c28 100644 --- a/src/main/java/com/iflytop/colortitration/app/controller/CraftsController.java +++ b/src/main/java/com/iflytop/colortitration/app/controller/CraftsController.java @@ -19,6 +19,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.Arrays; +import java.util.List; @Tag(name = "\uD83E\uDD16工艺管理") @RestController @@ -74,8 +75,8 @@ public class CraftsController { @Operation(summary = "配置试管工艺") @PostMapping("/set-crafts") - public Result setCrafts(@Valid @RequestBody SetCraftsDTO startCraftsDTO) { - craftsService.setCrafts(startCraftsDTO); + public Result setCrafts(@Valid @RequestBody List startCraftsDTOList) { + craftsService.setCrafts(startCraftsDTOList); return Result.success(); } diff --git a/src/main/java/com/iflytop/colortitration/app/model/dto/SetCraftsDTO.java b/src/main/java/com/iflytop/colortitration/app/model/dto/SetCraftsDTO.java index 717c6db..041edd7 100644 --- a/src/main/java/com/iflytop/colortitration/app/model/dto/SetCraftsDTO.java +++ b/src/main/java/com/iflytop/colortitration/app/model/dto/SetCraftsDTO.java @@ -2,7 +2,6 @@ package com.iflytop.colortitration.app.model.dto; import com.iflytop.colortitration.app.common.enums.MultipleModuleCode; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; import lombok.Data; import java.util.List; @@ -10,13 +9,12 @@ import java.util.List; @Schema(description = "设置试管工艺") @Data public class SetCraftsDTO { - @NotNull - @Schema(description = "工艺id") - private Long craftId; + @Schema(description = "配置的工艺id") + private Long craftsId; @Schema(description = "可以使用的滴定模块") - private List moduleCodes; + private List titrationModuleCodes; - @Schema(description = "试管编号") - private List tubeNums; + @Schema(description = "试管位编号") + private Integer tubeNum; } diff --git a/src/main/java/com/iflytop/colortitration/common/service/CraftsService.java b/src/main/java/com/iflytop/colortitration/common/service/CraftsService.java index c50afd1..6aa029a 100644 --- a/src/main/java/com/iflytop/colortitration/common/service/CraftsService.java +++ b/src/main/java/com/iflytop/colortitration/common/service/CraftsService.java @@ -2,7 +2,6 @@ package com.iflytop.colortitration.common.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.iflytop.colortitration.app.common.enums.TitrationStatus; import com.iflytop.colortitration.app.core.crafts.CraftsContext; import com.iflytop.colortitration.app.core.crafts.CraftsDispatcher; import com.iflytop.colortitration.app.core.state.DeviceState; @@ -14,6 +13,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.util.List; + /** * 工艺接口服务 */ @@ -31,21 +32,18 @@ public class CraftsService extends ServiceImpl { /** * 设置试管的工艺 */ - public void setCrafts(SetCraftsDTO startCraftsDTO) { - Crafts crafts = this.getById(startCraftsDTO.getCraftId()); - for (Integer tubeNum : startCraftsDTO.getTubeNums()) { - TubeState tubeState = deviceState.getTrayTubeStateMap().get(tubeNum); - if (tubeState != null && tubeState.getTitrationStatus() == TitrationStatus.NOT_STARTED) { - tubeState.setCraftsId(crafts.getId()); - tubeState.setCraftsName(crafts.getName()); - tubeState.setTitrationModuleCodes(startCraftsDTO.getModuleCodes()); - - CraftsContext job = new CraftsContext(); - job.setTubeNum(tubeNum); - job.setCrafts(crafts); - job.setSelectedModules(startCraftsDTO.getModuleCodes()); - craftsDispatcher.addCraftsJob(job); - } + public void setCrafts(List startCraftsDTOList) { + for (SetCraftsDTO startCraftsDTO : startCraftsDTOList) { + TubeState tubeState = deviceState.getTrayTubeStateMap().get(startCraftsDTO.getTubeNum()); + Crafts crafts = this.getById(startCraftsDTO.getCraftsId()); + tubeState.setCraftsId(crafts.getId()); + tubeState.setCraftsName(crafts.getName()); + tubeState.setTitrationModuleCodes(startCraftsDTO.getTitrationModuleCodes()); + CraftsContext job = new CraftsContext(); + job.setTubeNum(startCraftsDTO.getTubeNum()); + job.setCrafts(crafts); + job.setSelectedModules(startCraftsDTO.getTitrationModuleCodes()); + craftsDispatcher.addCraftsJob(job); } }