From 949b21b91e59dfdcead9f82f05728efe5c1b28fb Mon Sep 17 00:00:00 2001 From: guoapeng Date: Mon, 3 Mar 2025 23:54:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9F=BA=E8=B4=A8=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=92=8C=E5=B7=A5=E8=89=BA=E5=88=97=E8=A1=A8=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- matrix-spray.db | Bin 36864 -> 36864 bytes .../com/qyft/ms/app/controller/CMDController.java | 46 +++++++++++++++++++++ .../qyft/ms/app/controller/MatrixController.java | 10 ++++- .../ms/app/controller/MatrixCraftController.java | 5 ++- .../qyft/ms/app/model/dto/MatrixCraftPageDTO.java | 17 ++++++++ .../java/com/qyft/ms/app/model/dto/MatrixDTO.java | 16 +++++++ .../java/com/qyft/ms/app/service/CMDService.java | 14 +++++++ .../qyft/ms/app/service/MatrixCraftService.java | 3 +- .../app/service/impl/MatrixCraftServiceImpl.java | 12 ++++-- 9 files changed, 115 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/qyft/ms/app/model/dto/MatrixCraftPageDTO.java create mode 100644 src/main/java/com/qyft/ms/app/model/dto/MatrixDTO.java diff --git a/matrix-spray.db b/matrix-spray.db index 1e3319a7410df69c26d09591419a61306d0b58a3..39bc9cb49937c9f8a6578d0d098e461f4aa6c75a 100644 GIT binary patch delta 193 zcmZozz|^pSX@WGP=|mZ4M$?T6A^ME0leg;YF|uraqOTyp#mukEz`vWngkN{FpnyET zyDJMTgQUB=k+HFniII_kk*ThMF%X3q8Cw|}TA7;a8CjZHnwgmy7+{w)w=^>`H!zr7 u;y;UtpBZT8XFhXNR(=Lv4o(gTU;r8oH&?;X)XKoj%E%0h&}OUnV+H_U+bLTB delta 67 zcmZozz|^pSX@WGP(L@<%Mx%`hA^MCgleg;YF*0v{qOTyp!Ngy}z`vWnWV50|20xQ4 W^JIO0vB^FDO+da5|7NTBV+H_?GZU2n diff --git a/src/main/java/com/qyft/ms/app/controller/CMDController.java b/src/main/java/com/qyft/ms/app/controller/CMDController.java index f0985db..da16b33 100644 --- a/src/main/java/com/qyft/ms/app/controller/CMDController.java +++ b/src/main/java/com/qyft/ms/app/controller/CMDController.java @@ -511,4 +511,50 @@ public class CMDController { } } + @Operation(summary = "推出托盘") + @PostMapping("/trayOut") + public Result trayOut(@RequestBody CMDForm cmdForm) { + try { + if (cmdForm.getCommandId() == null || cmdForm.getCommandId().isEmpty()) { + String commandId = UUID.randomUUID().toString(); + cmdForm.setCommandId(commandId); + } + if (cmdForm.getCommandName() == null || cmdForm.getCommandName().isEmpty()) { + cmdForm.setCommandName("trayOut"); + } + log.info("接收到指令: {}", JSONUtil.toJsonStr(cmdForm)); + if (cmdService.trayOut(cmdForm)) { + return Result.success(cmdForm.getCommandId()); + } else { + return Result.failed("参数错误"); + } + } catch (Exception e) { + log.error("指令执行异常: {}", JSONUtil.toJsonStr(cmdForm), e); + return Result.failed("执行失败"); + } + } + + @Operation(summary = "推入托盘") + @PostMapping("/trayIn") + public Result trayIn(@RequestBody CMDForm cmdForm) { + try { + if (cmdForm.getCommandId() == null || cmdForm.getCommandId().isEmpty()) { + String commandId = UUID.randomUUID().toString(); + cmdForm.setCommandId(commandId); + } + if (cmdForm.getCommandName() == null || cmdForm.getCommandName().isEmpty()) { + cmdForm.setCommandName("trayIn"); + } + log.info("接收到指令: {}", JSONUtil.toJsonStr(cmdForm)); + if (cmdService.trayIn(cmdForm)) { + return Result.success(cmdForm.getCommandId()); + } else { + return Result.failed("参数错误"); + } + } catch (Exception e) { + log.error("指令执行异常: {}", JSONUtil.toJsonStr(cmdForm), e); + return Result.failed("执行失败"); + } + } + } diff --git a/src/main/java/com/qyft/ms/app/controller/MatrixController.java b/src/main/java/com/qyft/ms/app/controller/MatrixController.java index 794c55e..71ae1bf 100644 --- a/src/main/java/com/qyft/ms/app/controller/MatrixController.java +++ b/src/main/java/com/qyft/ms/app/controller/MatrixController.java @@ -1,8 +1,13 @@ package com.qyft.ms.app.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.qyft.ms.app.model.dto.MatrixDTO; import com.qyft.ms.app.model.entity.Matrix; import com.qyft.ms.app.service.MatrixService; +import com.qyft.ms.device.model.entity.CtrlFuncStep; import com.qyft.ms.system.common.base.BasePageQuery; import com.qyft.ms.system.common.result.PageResult; import com.qyft.ms.system.common.result.Result; @@ -37,8 +42,9 @@ public class MatrixController { @Operation(summary = "基质列表") @GetMapping("/list") - public PageResult getAll(BasePageQuery pageQuery) { - IPage result = matrixService.page(new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize()), null); + public PageResult getAll(MatrixDTO dto) { + IPage result = matrixService.page(new Page<>(dto.getPageNum(), dto.getPageSize()), new LambdaQueryWrapper() + .like(dto.getMatrixName() != null, Matrix::getName, "%"+dto.getMatrixName()+"%")); return PageResult.success(result); } diff --git a/src/main/java/com/qyft/ms/app/controller/MatrixCraftController.java b/src/main/java/com/qyft/ms/app/controller/MatrixCraftController.java index 4993e21..e0f9e79 100644 --- a/src/main/java/com/qyft/ms/app/controller/MatrixCraftController.java +++ b/src/main/java/com/qyft/ms/app/controller/MatrixCraftController.java @@ -2,6 +2,7 @@ package com.qyft.ms.app.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.qyft.ms.app.model.dto.MatrixCraftDTO; +import com.qyft.ms.app.model.dto.MatrixCraftPageDTO; import com.qyft.ms.app.model.entity.MatrixCraft; import com.qyft.ms.app.model.vo.MatrixCraftResult; import com.qyft.ms.app.service.MatrixCraftService; @@ -53,9 +54,9 @@ public class MatrixCraftController { @Operation(summary = "所有工艺列表") @GetMapping("/list") - public PageResult getAll(BasePageQuery pageQuery) { + public PageResult getAll(MatrixCraftPageDTO dto) { // IPage result = matrixCraftService.page(new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize()), null); - return PageResult.success(matrixCraftService.getAll(pageQuery)); + return PageResult.success(matrixCraftService.getAll(dto)); } @Operation(summary = "基质工艺更新") diff --git a/src/main/java/com/qyft/ms/app/model/dto/MatrixCraftPageDTO.java b/src/main/java/com/qyft/ms/app/model/dto/MatrixCraftPageDTO.java new file mode 100644 index 0000000..790e71a --- /dev/null +++ b/src/main/java/com/qyft/ms/app/model/dto/MatrixCraftPageDTO.java @@ -0,0 +1,17 @@ +package com.qyft.ms.app.model.dto; + +import com.qyft.ms.system.common.base.BasePageQuery; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class MatrixCraftPageDTO extends BasePageQuery { + + @Schema(description = "名称") + private String matrixCraftName; + + @Schema(description = "基质id") + private Long matrixId; +} diff --git a/src/main/java/com/qyft/ms/app/model/dto/MatrixDTO.java b/src/main/java/com/qyft/ms/app/model/dto/MatrixDTO.java new file mode 100644 index 0000000..d91cccc --- /dev/null +++ b/src/main/java/com/qyft/ms/app/model/dto/MatrixDTO.java @@ -0,0 +1,16 @@ +package com.qyft.ms.app.model.dto; + +import com.qyft.ms.system.common.base.BasePageQuery; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class MatrixDTO extends BasePageQuery { + + @Schema(description = "名称") + private String matrixName; + + +} diff --git a/src/main/java/com/qyft/ms/app/service/CMDService.java b/src/main/java/com/qyft/ms/app/service/CMDService.java index 7e1bea2..47ad7a1 100644 --- a/src/main/java/com/qyft/ms/app/service/CMDService.java +++ b/src/main/java/com/qyft/ms/app/service/CMDService.java @@ -477,6 +477,20 @@ public class CMDService { return true; } + public boolean trayOut(CMDForm form) { + List> cmdList = new ArrayList<>(); + cmdList.add(() -> deviceTcpCMDService.moveMotorToPosition("Y", 150)); + initExecutorThread(cmdList, form); + return true; + } + + public boolean trayIn(CMDForm form) { + List> cmdList = new ArrayList<>(); + cmdList.add(() -> deviceTcpCMDService.moveMotorToPosition("Y", 0)); + initExecutorThread(cmdList, form); + return true; + } + public void run(List> cmdList, CMDForm form) { ExecutionResult executionResult = new ExecutionResult(); diff --git a/src/main/java/com/qyft/ms/app/service/MatrixCraftService.java b/src/main/java/com/qyft/ms/app/service/MatrixCraftService.java index ee9e0c8..ec8df52 100644 --- a/src/main/java/com/qyft/ms/app/service/MatrixCraftService.java +++ b/src/main/java/com/qyft/ms/app/service/MatrixCraftService.java @@ -3,6 +3,7 @@ package com.qyft.ms.app.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.qyft.ms.app.model.dto.MatrixCraftDTO; +import com.qyft.ms.app.model.dto.MatrixCraftPageDTO; import com.qyft.ms.app.model.entity.MatrixCraft; import com.qyft.ms.app.model.vo.MatrixCraftResult; import com.qyft.ms.system.common.base.BasePageQuery; @@ -26,5 +27,5 @@ public interface MatrixCraftService extends IService { Boolean deleteMatrixCraft(String ids); - IPage getAll(BasePageQuery pageQuery); + IPage getAll(MatrixCraftPageDTO dto); } diff --git a/src/main/java/com/qyft/ms/app/service/impl/MatrixCraftServiceImpl.java b/src/main/java/com/qyft/ms/app/service/impl/MatrixCraftServiceImpl.java index b4144ba..0641045 100644 --- a/src/main/java/com/qyft/ms/app/service/impl/MatrixCraftServiceImpl.java +++ b/src/main/java/com/qyft/ms/app/service/impl/MatrixCraftServiceImpl.java @@ -1,5 +1,6 @@ package com.qyft.ms.app.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -7,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qyft.ms.app.mapper.MatrixCraftMapper; import com.qyft.ms.app.mapper.MatrixMapper; import com.qyft.ms.app.model.dto.MatrixCraftDTO; +import com.qyft.ms.app.model.dto.MatrixCraftPageDTO; import com.qyft.ms.app.model.entity.Matrix; import com.qyft.ms.app.model.entity.MatrixCraft; import com.qyft.ms.app.model.entity.OperationLog; @@ -60,12 +62,16 @@ public class MatrixCraftServiceImpl extends ServiceImpl getAll(BasePageQuery pageQuery) { + public IPage getAll(MatrixCraftPageDTO dto) { // 构建分页对象 - Page page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize()); + Page page = new Page<>(dto.getPageNum(), dto.getPageSize()); ArrayList matrixCraftResultList = new ArrayList<>(); + // 查询所有工艺 - List matrixCrafts = matrixCraftMapper.selectList(new QueryWrapper<>()); + List matrixCrafts = matrixCraftMapper.selectList( new LambdaQueryWrapper() + .like(dto.getMatrixCraftName() != null, MatrixCraft::getName, "%"+dto.getMatrixCraftName()+"%") + .eq(dto.getMatrixId() != null, MatrixCraft::getMatrixId, dto.getMatrixId()) + ); for (MatrixCraft matrixCraft : matrixCrafts) { Long matrixId = matrixCraft.getMatrixId(); Matrix matrix = matrixMapper.selectOne(new QueryWrapper().eq("id", matrixId));