From 08e5dc716c47e23e2c5f46a9979aa5fd6abb507b Mon Sep 17 00:00:00 2001 From: YunaiV Date: Thu, 9 Apr 2026 19:16:58 +0800 Subject: [PATCH] ✨ feat(workstation): 新增获取指定车间工作站数量的功能 --- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkstationMapper.java | 4 ++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkshopServiceImpl.java | 7 ++----- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationMachineServiceImpl.java | 6 ++---- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationService.java | 8 ++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java | 5 +++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolService.java | 8 ++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolServiceImpl.java | 5 +++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolTypeServiceImpl.java | 7 ++++--- 8 files changed, 38 insertions(+), 12 deletions(-) diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkstationMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkstationMapper.java index 8819cf6..43c403a 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkstationMapper.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkstationMapper.java @@ -39,6 +39,10 @@ public interface MesMdWorkstationMapper extends BaseMapperX return selectList(MesMdWorkstationDO::getStatus, status); } + default Long selectCountByWorkshopId(Long workshopId) { + return selectCount(MesMdWorkstationDO::getWorkshopId, workshopId); + } + default Long selectCountByWarehouseId(Long warehouseId) { return selectCount(MesMdWorkstationDO::getWarehouseId, warehouseId); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkshopServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkshopServiceImpl.java index e54f88a..57e9538 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkshopServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkshopServiceImpl.java @@ -7,9 +7,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop.MesMdWorkshopPageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop.MesMdWorkshopSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkshopDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO; import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkshopMapper; -import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationMapper; import cn.iocoder.yudao.module.mes.enums.wm.BarcodeBizTypeEnum; import cn.iocoder.yudao.module.mes.service.wm.barcode.MesWmBarcodeService; import jakarta.annotation.Resource; @@ -38,8 +36,7 @@ public class MesMdWorkshopServiceImpl implements MesMdWorkshopService { @Resource @Lazy - private MesMdWorkstationMapper workstationMapper; - + private MesMdWorkstationService workstationService; @Resource private MesWmBarcodeService barcodeService; @@ -79,7 +76,7 @@ public class MesMdWorkshopServiceImpl implements MesMdWorkshopService { // 校验存在 validateWorkshopExists(id); // 校验车间下是否存在工作站 - Long count = workstationMapper.selectCount(MesMdWorkstationDO::getWorkshopId, id); + Long count = workstationService.getWorkstationCountByWorkshopId(id); if (count > 0) { throw exception(MD_WORKSHOP_HAS_WORKSTATION); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationMachineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationMachineServiceImpl.java index e5cf60a..6e0c973 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationMachineServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationMachineServiceImpl.java @@ -5,7 +5,6 @@ import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.machine.Me import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationMachineDO; import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationMachineMapper; -import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationMapper; import cn.iocoder.yudao.module.mes.service.dv.machinery.MesDvMachineryService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; @@ -29,8 +28,7 @@ public class MesMdWorkstationMachineServiceImpl implements MesMdWorkstationMachi private MesMdWorkstationMachineMapper workstationMachineMapper; @Resource - private MesMdWorkstationMapper workstationMapper; - + private MesMdWorkstationService workstationService; @Resource private MesDvMachineryService machineryService; @@ -51,7 +49,7 @@ public class MesMdWorkstationMachineServiceImpl implements MesMdWorkstationMachi // 校验该设备是否已分配到其他工作站(一台设备只能分配到一个工作站) MesMdWorkstationMachineDO existing = workstationMachineMapper.selectByMachineryId(reqVO.getMachineryId()); if (existing != null) { - MesMdWorkstationDO workstation = workstationMapper.selectById(existing.getWorkstationId()); + MesMdWorkstationDO workstation = workstationService.getWorkstation(existing.getWorkstationId()); throw exception(MD_WORKSTATION_MACHINE_EXISTS, workstation != null ? workstation.getName() : String.valueOf(existing.getWorkstationId())); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationService.java index 1a41b92..3a3b395 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationService.java @@ -106,6 +106,14 @@ public interface MesMdWorkstationService { Long getWorkstationCountByAreaId(Long areaId); /** + * 获得指定车间下的工作站数量 + * + * @param workshopId 车间编号 + * @return 工作站数量 + */ + Long getWorkstationCountByWorkshopId(Long workshopId); + + /** * 获得工作站列表 * * @param ids 编号数组 diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java index 06e7e0a..0e2bf0d 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java @@ -243,6 +243,11 @@ public class MesMdWorkstationServiceImpl implements MesMdWorkstationService { } @Override + public Long getWorkstationCountByWorkshopId(Long workshopId) { + return workstationMapper.selectCountByWorkshopId(workshopId); + } + + @Override public Long getWorkstationCountByWarehouseId(Long warehouseId) { return workstationMapper.selectCountByWarehouseId(warehouseId); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolService.java index 243faf2..149feca 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolService.java @@ -65,6 +65,14 @@ public interface MesTmToolService { List getToolList(); /** + * 获得指定工具类型下的工具数量 + * + * @param toolTypeId 工具类型编号 + * @return 工具数量 + */ + Long getToolCountByToolTypeId(Long toolTypeId); + + /** * 获得工具列表 * * @param ids 编号列表 diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolServiceImpl.java index c3bf911..756bd3f 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolServiceImpl.java @@ -121,6 +121,11 @@ public class MesTmToolServiceImpl implements MesTmToolService { } @Override + public Long getToolCountByToolTypeId(Long toolTypeId) { + return toolMapper.selectCountByToolTypeId(toolTypeId); + } + + @Override public List getToolList() { return toolMapper.selectList(); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolTypeServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolTypeServiceImpl.java index 6a5d1f6..664dc4f 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolTypeServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolTypeServiceImpl.java @@ -6,9 +6,9 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.tm.tool.vo.type.MesTmToolTypePageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.tm.tool.vo.type.MesTmToolTypeSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.tm.tool.MesTmToolTypeDO; -import cn.iocoder.yudao.module.mes.dal.mysql.tm.tool.MesTmToolMapper; import cn.iocoder.yudao.module.mes.dal.mysql.tm.tool.MesTmToolTypeMapper; import jakarta.annotation.Resource; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -34,7 +34,8 @@ public class MesTmToolTypeServiceImpl implements MesTmToolTypeService { private MesTmToolTypeMapper toolTypeMapper; @Resource - private MesTmToolMapper toolMapper; + @Lazy + private MesTmToolService toolService; @Override public Long createToolType(MesTmToolTypeSaveReqVO createReqVO) { @@ -71,7 +72,7 @@ public class MesTmToolTypeServiceImpl implements MesTmToolTypeService { // 校验存在 validateToolTypeExists(id); // 校验是否被工具引用 - if (toolMapper.selectCountByToolTypeId(id) > 0) { + if (toolService.getToolCountByToolTypeId(id) > 0) { throw exception(TM_TOOL_TYPE_HAS_TOOL); } -- libgit2 0.21.4