Commit 08e5dc716c47e23e2c5f46a9979aa5fd6abb507b

Authored by YunaiV
1 parent 0635d13d

✨ feat(workstation): 新增获取指定车间工作站数量的功能

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<MesMdWorkstationDO> @@ -39,6 +39,10 @@ public interface MesMdWorkstationMapper extends BaseMapperX<MesMdWorkstationDO>
39 return selectList(MesMdWorkstationDO::getStatus, status); 39 return selectList(MesMdWorkstationDO::getStatus, status);
40 } 40 }
41 41
  42 + default Long selectCountByWorkshopId(Long workshopId) {
  43 + return selectCount(MesMdWorkstationDO::getWorkshopId, workshopId);
  44 + }
  45 +
42 default Long selectCountByWarehouseId(Long warehouseId) { 46 default Long selectCountByWarehouseId(Long warehouseId) {
43 return selectCount(MesMdWorkstationDO::getWarehouseId, warehouseId); 47 return selectCount(MesMdWorkstationDO::getWarehouseId, warehouseId);
44 } 48 }
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; @@ -7,9 +7,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
7 import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop.MesMdWorkshopPageReqVO; 7 import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop.MesMdWorkshopPageReqVO;
8 import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop.MesMdWorkshopSaveReqVO; 8 import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop.MesMdWorkshopSaveReqVO;
9 import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkshopDO; 9 import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkshopDO;
10 -import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO;  
11 import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkshopMapper; 10 import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkshopMapper;
12 -import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationMapper;  
13 import cn.iocoder.yudao.module.mes.enums.wm.BarcodeBizTypeEnum; 11 import cn.iocoder.yudao.module.mes.enums.wm.BarcodeBizTypeEnum;
14 import cn.iocoder.yudao.module.mes.service.wm.barcode.MesWmBarcodeService; 12 import cn.iocoder.yudao.module.mes.service.wm.barcode.MesWmBarcodeService;
15 import jakarta.annotation.Resource; 13 import jakarta.annotation.Resource;
@@ -38,8 +36,7 @@ public class MesMdWorkshopServiceImpl implements MesMdWorkshopService { @@ -38,8 +36,7 @@ public class MesMdWorkshopServiceImpl implements MesMdWorkshopService {
38 36
39 @Resource 37 @Resource
40 @Lazy 38 @Lazy
41 - private MesMdWorkstationMapper workstationMapper;  
42 - 39 + private MesMdWorkstationService workstationService;
43 @Resource 40 @Resource
44 private MesWmBarcodeService barcodeService; 41 private MesWmBarcodeService barcodeService;
45 42
@@ -79,7 +76,7 @@ public class MesMdWorkshopServiceImpl implements MesMdWorkshopService { @@ -79,7 +76,7 @@ public class MesMdWorkshopServiceImpl implements MesMdWorkshopService {
79 // 校验存在 76 // 校验存在
80 validateWorkshopExists(id); 77 validateWorkshopExists(id);
81 // 校验车间下是否存在工作站 78 // 校验车间下是否存在工作站
82 - Long count = workstationMapper.selectCount(MesMdWorkstationDO::getWorkshopId, id); 79 + Long count = workstationService.getWorkstationCountByWorkshopId(id);
83 if (count > 0) { 80 if (count > 0) {
84 throw exception(MD_WORKSHOP_HAS_WORKSTATION); 81 throw exception(MD_WORKSHOP_HAS_WORKSTATION);
85 } 82 }
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 @@ -5,7 +5,6 @@ import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.machine.Me
5 import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO; 5 import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO;
6 import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationMachineDO; 6 import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationMachineDO;
7 import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationMachineMapper; 7 import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationMachineMapper;
8 -import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationMapper;  
9 import cn.iocoder.yudao.module.mes.service.dv.machinery.MesDvMachineryService; 8 import cn.iocoder.yudao.module.mes.service.dv.machinery.MesDvMachineryService;
10 import jakarta.annotation.Resource; 9 import jakarta.annotation.Resource;
11 import org.springframework.stereotype.Service; 10 import org.springframework.stereotype.Service;
@@ -29,8 +28,7 @@ public class MesMdWorkstationMachineServiceImpl implements MesMdWorkstationMachi @@ -29,8 +28,7 @@ public class MesMdWorkstationMachineServiceImpl implements MesMdWorkstationMachi
29 private MesMdWorkstationMachineMapper workstationMachineMapper; 28 private MesMdWorkstationMachineMapper workstationMachineMapper;
30 29
31 @Resource 30 @Resource
32 - private MesMdWorkstationMapper workstationMapper;  
33 - 31 + private MesMdWorkstationService workstationService;
34 @Resource 32 @Resource
35 private MesDvMachineryService machineryService; 33 private MesDvMachineryService machineryService;
36 34
@@ -51,7 +49,7 @@ public class MesMdWorkstationMachineServiceImpl implements MesMdWorkstationMachi @@ -51,7 +49,7 @@ public class MesMdWorkstationMachineServiceImpl implements MesMdWorkstationMachi
51 // 校验该设备是否已分配到其他工作站(一台设备只能分配到一个工作站) 49 // 校验该设备是否已分配到其他工作站(一台设备只能分配到一个工作站)
52 MesMdWorkstationMachineDO existing = workstationMachineMapper.selectByMachineryId(reqVO.getMachineryId()); 50 MesMdWorkstationMachineDO existing = workstationMachineMapper.selectByMachineryId(reqVO.getMachineryId());
53 if (existing != null) { 51 if (existing != null) {
54 - MesMdWorkstationDO workstation = workstationMapper.selectById(existing.getWorkstationId()); 52 + MesMdWorkstationDO workstation = workstationService.getWorkstation(existing.getWorkstationId());
55 throw exception(MD_WORKSTATION_MACHINE_EXISTS, 53 throw exception(MD_WORKSTATION_MACHINE_EXISTS,
56 workstation != null ? workstation.getName() : String.valueOf(existing.getWorkstationId())); 54 workstation != null ? workstation.getName() : String.valueOf(existing.getWorkstationId()));
57 } 55 }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationService.java
@@ -106,6 +106,14 @@ public interface MesMdWorkstationService { @@ -106,6 +106,14 @@ public interface MesMdWorkstationService {
106 Long getWorkstationCountByAreaId(Long areaId); 106 Long getWorkstationCountByAreaId(Long areaId);
107 107
108 /** 108 /**
  109 + * 获得指定车间下的工作站数量
  110 + *
  111 + * @param workshopId 车间编号
  112 + * @return 工作站数量
  113 + */
  114 + Long getWorkstationCountByWorkshopId(Long workshopId);
  115 +
  116 + /**
109 * 获得工作站列表 117 * 获得工作站列表
110 * 118 *
111 * @param ids 编号数组 119 * @param ids 编号数组
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 { @@ -243,6 +243,11 @@ public class MesMdWorkstationServiceImpl implements MesMdWorkstationService {
243 } 243 }
244 244
245 @Override 245 @Override
  246 + public Long getWorkstationCountByWorkshopId(Long workshopId) {
  247 + return workstationMapper.selectCountByWorkshopId(workshopId);
  248 + }
  249 +
  250 + @Override
246 public Long getWorkstationCountByWarehouseId(Long warehouseId) { 251 public Long getWorkstationCountByWarehouseId(Long warehouseId) {
247 return workstationMapper.selectCountByWarehouseId(warehouseId); 252 return workstationMapper.selectCountByWarehouseId(warehouseId);
248 } 253 }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolService.java
@@ -65,6 +65,14 @@ public interface MesTmToolService { @@ -65,6 +65,14 @@ public interface MesTmToolService {
65 List<MesTmToolDO> getToolList(); 65 List<MesTmToolDO> getToolList();
66 66
67 /** 67 /**
  68 + * 获得指定工具类型下的工具数量
  69 + *
  70 + * @param toolTypeId 工具类型编号
  71 + * @return 工具数量
  72 + */
  73 + Long getToolCountByToolTypeId(Long toolTypeId);
  74 +
  75 + /**
68 * 获得工具列表 76 * 获得工具列表
69 * 77 *
70 * @param ids 编号列表 78 * @param ids 编号列表
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 { @@ -121,6 +121,11 @@ public class MesTmToolServiceImpl implements MesTmToolService {
121 } 121 }
122 122
123 @Override 123 @Override
  124 + public Long getToolCountByToolTypeId(Long toolTypeId) {
  125 + return toolMapper.selectCountByToolTypeId(toolTypeId);
  126 + }
  127 +
  128 + @Override
124 public List<MesTmToolDO> getToolList() { 129 public List<MesTmToolDO> getToolList() {
125 return toolMapper.selectList(); 130 return toolMapper.selectList();
126 } 131 }
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; @@ -6,9 +6,9 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
6 import cn.iocoder.yudao.module.mes.controller.admin.tm.tool.vo.type.MesTmToolTypePageReqVO; 6 import cn.iocoder.yudao.module.mes.controller.admin.tm.tool.vo.type.MesTmToolTypePageReqVO;
7 import cn.iocoder.yudao.module.mes.controller.admin.tm.tool.vo.type.MesTmToolTypeSaveReqVO; 7 import cn.iocoder.yudao.module.mes.controller.admin.tm.tool.vo.type.MesTmToolTypeSaveReqVO;
8 import cn.iocoder.yudao.module.mes.dal.dataobject.tm.tool.MesTmToolTypeDO; 8 import cn.iocoder.yudao.module.mes.dal.dataobject.tm.tool.MesTmToolTypeDO;
9 -import cn.iocoder.yudao.module.mes.dal.mysql.tm.tool.MesTmToolMapper;  
10 import cn.iocoder.yudao.module.mes.dal.mysql.tm.tool.MesTmToolTypeMapper; 9 import cn.iocoder.yudao.module.mes.dal.mysql.tm.tool.MesTmToolTypeMapper;
11 import jakarta.annotation.Resource; 10 import jakarta.annotation.Resource;
  11 +import org.springframework.context.annotation.Lazy;
12 import org.springframework.stereotype.Service; 12 import org.springframework.stereotype.Service;
13 import org.springframework.validation.annotation.Validated; 13 import org.springframework.validation.annotation.Validated;
14 14
@@ -34,7 +34,8 @@ public class MesTmToolTypeServiceImpl implements MesTmToolTypeService { @@ -34,7 +34,8 @@ public class MesTmToolTypeServiceImpl implements MesTmToolTypeService {
34 private MesTmToolTypeMapper toolTypeMapper; 34 private MesTmToolTypeMapper toolTypeMapper;
35 35
36 @Resource 36 @Resource
37 - private MesTmToolMapper toolMapper; 37 + @Lazy
  38 + private MesTmToolService toolService;
38 39
39 @Override 40 @Override
40 public Long createToolType(MesTmToolTypeSaveReqVO createReqVO) { 41 public Long createToolType(MesTmToolTypeSaveReqVO createReqVO) {
@@ -71,7 +72,7 @@ public class MesTmToolTypeServiceImpl implements MesTmToolTypeService { @@ -71,7 +72,7 @@ public class MesTmToolTypeServiceImpl implements MesTmToolTypeService {
71 // 校验存在 72 // 校验存在
72 validateToolTypeExists(id); 73 validateToolTypeExists(id);
73 // 校验是否被工具引用 74 // 校验是否被工具引用
74 - if (toolMapper.selectCountByToolTypeId(id) > 0) { 75 + if (toolService.getToolCountByToolTypeId(id) > 0) {
75 throw exception(TM_TOOL_TYPE_HAS_TOOL); 76 throw exception(TM_TOOL_TYPE_HAS_TOOL);
76 } 77 }
77 78