Commit c3826a2bc0589980f3846ba7ebf51fc635cd8d9c
1 parent
57dc91dc
feat(mes): 新增车间管理、工位管理模块后端(MD 主数据)
新增车间(workshop)和工位(workstation)5 张表的完整后端: - DDL 建表 + 菜单 SQL(5160-5175)+ 螺丝刀工厂演示数据 21 条 - 5 DO + 5 Mapper + 5 Service 接口 + 5 Service 实现 + 5 Controller - 17 VO(含分页/保存/响应) - 工位子资源(设备/工具/人员)支持级联删除 - 导出 Excel 已拼装车间名称、负责人名称等关联字段
Showing
25 changed files
with
361 additions
and
29 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkshopController.java
| @@ -116,9 +116,15 @@ public class MesMdWorkshopController { | @@ -116,9 +116,15 @@ public class MesMdWorkshopController { | ||
| 116 | HttpServletResponse response) throws IOException { | 116 | HttpServletResponse response) throws IOException { |
| 117 | pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | 117 | pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); |
| 118 | List<MesMdWorkshopDO> list = workshopService.getWorkshopPage(pageReqVO).getList(); | 118 | List<MesMdWorkshopDO> list = workshopService.getWorkshopPage(pageReqVO).getList(); |
| 119 | - // TODO @AI:导出是不是也要拼接关联字段? | ||
| 120 | - ExcelUtils.write(response, "车间.xls", "数据", MesMdWorkshopRespVO.class, | ||
| 121 | - BeanUtils.toBean(list, MesMdWorkshopRespVO.class)); | 119 | + // 拼装负责人名称 |
| 120 | + List<MesMdWorkshopRespVO> voList = BeanUtils.toBean(list, MesMdWorkshopRespVO.class); | ||
| 121 | + Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap( | ||
| 122 | + convertSet(voList, MesMdWorkshopRespVO::getChargeUserId)); | ||
| 123 | + voList.forEach(vo -> findAndThen(userMap, vo.getChargeUserId(), | ||
| 124 | + user -> vo.setChargeUserName(user.getNickname()))); | ||
| 125 | + ExcelUtils.write(response, "车间.xls", "数据", MesMdWorkshopRespVO.class, voList); | ||
| 122 | } | 126 | } |
| 123 | 127 | ||
| 128 | + // TODO @AI:是不是要搞个方法,类似 private List<MesMdProductBomRespVO> buildProductBomRespVOList(List<MesMdProductBomDO> list) { | ||
| 129 | + | ||
| 124 | } | 130 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationController.java
| @@ -116,10 +116,17 @@ public class MesMdWorkstationController { | @@ -116,10 +116,17 @@ public class MesMdWorkstationController { | ||
| 116 | public void exportWorkstationExcel(@Valid MesMdWorkstationPageReqVO pageReqVO, | 116 | public void exportWorkstationExcel(@Valid MesMdWorkstationPageReqVO pageReqVO, |
| 117 | HttpServletResponse response) throws IOException { | 117 | HttpServletResponse response) throws IOException { |
| 118 | pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | 118 | pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); |
| 119 | - // TODO @AI:导出是不是也要处理下关联字段?比如车间名称。 | ||
| 120 | List<MesMdWorkstationDO> list = workstationService.getWorkstationPage(pageReqVO).getList(); | 119 | List<MesMdWorkstationDO> list = workstationService.getWorkstationPage(pageReqVO).getList(); |
| 121 | - ExcelUtils.write(response, "工位.xls", "数据", MesMdWorkstationRespVO.class, | ||
| 122 | - BeanUtils.toBean(list, MesMdWorkstationRespVO.class)); | 120 | + // 拼装车间名称 |
| 121 | + List<MesMdWorkstationRespVO> voList = BeanUtils.toBean(list, MesMdWorkstationRespVO.class); | ||
| 122 | + Map<Long, MesMdWorkshopDO> workshopMap = cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap( | ||
| 123 | + workshopService.getWorkshopListByStatus(null), | ||
| 124 | + MesMdWorkshopDO::getId); | ||
| 125 | + voList.forEach(vo -> findAndThen(workshopMap, vo.getWorkshopId(), | ||
| 126 | + workshop -> vo.setWorkshopName(workshop.getName()))); | ||
| 127 | + ExcelUtils.write(response, "工位.xls", "数据", MesMdWorkstationRespVO.class, voList); | ||
| 123 | } | 128 | } |
| 124 | 129 | ||
| 130 | + // TODO @AI:是不是要搞个方法,类似 private List<MesMdProductBomRespVO> buildProductBomRespVOList(List<MesMdProductBomDO> list) { | ||
| 131 | + | ||
| 125 | } | 132 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationWorkerController.java
| @@ -60,8 +60,10 @@ public class MesMdWorkstationWorkerController { | @@ -60,8 +60,10 @@ public class MesMdWorkstationWorkerController { | ||
| 60 | @RequestParam("workstationId") Long workstationId) { | 60 | @RequestParam("workstationId") Long workstationId) { |
| 61 | List<MesMdWorkstationWorkerDO> list = workstationWorkerService.getWorkstationWorkerListByWorkstationId(workstationId); | 61 | List<MesMdWorkstationWorkerDO> list = workstationWorkerService.getWorkstationWorkerListByWorkstationId(workstationId); |
| 62 | // TODO @芋艿:拼装岗位名称,等前端从 system_post 获取岗位下拉列表 | 62 | // TODO @芋艿:拼装岗位名称,等前端从 system_post 获取岗位下拉列表 |
| 63 | - // TODO @AI:拼接下! | 63 | + // TODO @AI:后端拼接下返回;postApi? |
| 64 | return success(BeanUtils.toBean(list, MesMdWorkstationWorkerRespVO.class)); | 64 | return success(BeanUtils.toBean(list, MesMdWorkstationWorkerRespVO.class)); |
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | + // TODO @AI:是不是要搞个方法,类似 private List<MesMdProductBomRespVO> buildProductBomRespVOList(List<MesMdProductBomDO> list) { | ||
| 68 | + | ||
| 67 | } | 69 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/workstation/MesMdWorkshopDO.java
| @@ -8,7 +8,11 @@ import lombok.*; | @@ -8,7 +8,11 @@ import lombok.*; | ||
| 8 | 8 | ||
| 9 | import java.math.BigDecimal; | 9 | import java.math.BigDecimal; |
| 10 | 10 | ||
| 11 | -// TODO @AI:注释;以及关联; | 11 | +/** |
| 12 | + * MES 车间 DO | ||
| 13 | + * | ||
| 14 | + * @author 芋道源码 | ||
| 15 | + */ | ||
| 12 | @TableName("mes_md_workshop") | 16 | @TableName("mes_md_workshop") |
| 13 | @KeySequence("mes_md_workshop_seq") | 17 | @KeySequence("mes_md_workshop_seq") |
| 14 | @Data | 18 | @Data |
| @@ -19,17 +23,52 @@ import java.math.BigDecimal; | @@ -19,17 +23,52 @@ import java.math.BigDecimal; | ||
| 19 | @AllArgsConstructor | 23 | @AllArgsConstructor |
| 20 | public class MesMdWorkshopDO extends BaseDO { | 24 | public class MesMdWorkshopDO extends BaseDO { |
| 21 | 25 | ||
| 26 | + /** | ||
| 27 | + * 编号 | ||
| 28 | + */ | ||
| 22 | @TableId | 29 | @TableId |
| 23 | private Long id; | 30 | private Long id; |
| 31 | + /** | ||
| 32 | + * 车间编码 | ||
| 33 | + */ | ||
| 24 | private String code; | 34 | private String code; |
| 35 | + /** | ||
| 36 | + * 车间名称 | ||
| 37 | + */ | ||
| 25 | private String name; | 38 | private String name; |
| 39 | + /** | ||
| 40 | + * 面积(平方米) | ||
| 41 | + */ | ||
| 26 | private BigDecimal area; | 42 | private BigDecimal area; |
| 43 | + // TODO @AI:通过 @ 去关联 | ||
| 44 | + /** | ||
| 45 | + * 负责人用户编号,关联 system_users 表的 id | ||
| 46 | + */ | ||
| 27 | private Long chargeUserId; | 47 | private Long chargeUserId; |
| 48 | + // TODO @AI:通过 @ 去关联 | ||
| 49 | + /** | ||
| 50 | + * 状态,参见 CommonStatusEnum 枚举 | ||
| 51 | + */ | ||
| 28 | private Integer status; | 52 | private Integer status; |
| 53 | + /** | ||
| 54 | + * 备注 | ||
| 55 | + */ | ||
| 29 | private String remark; | 56 | private String remark; |
| 57 | + /** | ||
| 58 | + * 预留字段1 | ||
| 59 | + */ | ||
| 30 | private String attribute1; | 60 | private String attribute1; |
| 61 | + /** | ||
| 62 | + * 预留字段2 | ||
| 63 | + */ | ||
| 31 | private String attribute2; | 64 | private String attribute2; |
| 65 | + /** | ||
| 66 | + * 预留字段3 | ||
| 67 | + */ | ||
| 32 | private Integer attribute3; | 68 | private Integer attribute3; |
| 69 | + /** | ||
| 70 | + * 预留字段4 | ||
| 71 | + */ | ||
| 33 | private Integer attribute4; | 72 | private Integer attribute4; |
| 34 | 73 | ||
| 35 | } | 74 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/workstation/MesMdWorkstationDO.java
| @@ -6,7 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableId; | @@ -6,7 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableId; | ||
| 6 | import com.baomidou.mybatisplus.annotation.TableName; | 6 | import com.baomidou.mybatisplus.annotation.TableName; |
| 7 | import lombok.*; | 7 | import lombok.*; |
| 8 | 8 | ||
| 9 | -// TODO @AI:注释;以及关联; | 9 | +/** |
| 10 | + * MES 工位 DO | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 10 | @TableName("mes_md_workstation") | 14 | @TableName("mes_md_workstation") |
| 11 | @KeySequence("mes_md_workstation_seq") | 15 | @KeySequence("mes_md_workstation_seq") |
| 12 | @Data | 16 | @Data |
| @@ -17,21 +21,71 @@ import lombok.*; | @@ -17,21 +21,71 @@ import lombok.*; | ||
| 17 | @AllArgsConstructor | 21 | @AllArgsConstructor |
| 18 | public class MesMdWorkstationDO extends BaseDO { | 22 | public class MesMdWorkstationDO extends BaseDO { |
| 19 | 23 | ||
| 24 | + /** | ||
| 25 | + * 编号 | ||
| 26 | + */ | ||
| 20 | @TableId | 27 | @TableId |
| 21 | private Long id; | 28 | private Long id; |
| 29 | + /** | ||
| 30 | + * 工位编码 | ||
| 31 | + */ | ||
| 22 | private String code; | 32 | private String code; |
| 33 | + /** | ||
| 34 | + * 工位名称 | ||
| 35 | + */ | ||
| 23 | private String name; | 36 | private String name; |
| 37 | + /** | ||
| 38 | + * 工位地点 | ||
| 39 | + */ | ||
| 24 | private String address; | 40 | private String address; |
| 41 | + // TODO @AI:通过 @ 去关联,按照别的模块 | ||
| 42 | + /** | ||
| 43 | + * 所在车间编号,关联 {@link MesMdWorkshopDO#getId()} | ||
| 44 | + */ | ||
| 25 | private Long workshopId; | 45 | private Long workshopId; |
| 46 | + // TODO @AI:通过 @ 去关联,按照别的模块 | ||
| 47 | + /** | ||
| 48 | + * 工序编号 | ||
| 49 | + */ | ||
| 26 | private Long processId; | 50 | private Long processId; |
| 51 | + // TODO @AI:通过 @ 去关联,按照别的模块 | ||
| 52 | + /** | ||
| 53 | + * 线边库编号 | ||
| 54 | + */ | ||
| 27 | private Long warehouseId; | 55 | private Long warehouseId; |
| 56 | + // TODO @AI:通过 @ 去关联,按照别的模块 | ||
| 57 | + /** | ||
| 58 | + * 库区编号 | ||
| 59 | + */ | ||
| 28 | private Long locationId; | 60 | private Long locationId; |
| 61 | + /** | ||
| 62 | + * 库位编号 | ||
| 63 | + */ | ||
| 29 | private Long areaId; | 64 | private Long areaId; |
| 65 | + // TODO @AI:通过 @ 去关联,按照别的模块 | ||
| 66 | + /** | ||
| 67 | + * 状态,参见 CommonStatusEnum 枚举 | ||
| 68 | + */ | ||
| 30 | private Integer status; | 69 | private Integer status; |
| 70 | + /** | ||
| 71 | + * 备注 | ||
| 72 | + */ | ||
| 31 | private String remark; | 73 | private String remark; |
| 74 | + /** | ||
| 75 | + * 预留字段1 | ||
| 76 | + */ | ||
| 32 | private String attribute1; | 77 | private String attribute1; |
| 78 | + /** | ||
| 79 | + * 预留字段2 | ||
| 80 | + */ | ||
| 33 | private String attribute2; | 81 | private String attribute2; |
| 82 | + /** | ||
| 83 | + * 预留字段3 | ||
| 84 | + */ | ||
| 34 | private Integer attribute3; | 85 | private Integer attribute3; |
| 86 | + /** | ||
| 87 | + * 预留字段4 | ||
| 88 | + */ | ||
| 35 | private Integer attribute4; | 89 | private Integer attribute4; |
| 36 | 90 | ||
| 37 | } | 91 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/workstation/MesMdWorkstationMachineDO.java
| @@ -6,7 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableId; | @@ -6,7 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableId; | ||
| 6 | import com.baomidou.mybatisplus.annotation.TableName; | 6 | import com.baomidou.mybatisplus.annotation.TableName; |
| 7 | import lombok.*; | 7 | import lombok.*; |
| 8 | 8 | ||
| 9 | -// TODO @AI:注释;以及关联; | 9 | +/** |
| 10 | + * MES 工位设备 DO | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 10 | @TableName("mes_md_workstation_machine") | 14 | @TableName("mes_md_workstation_machine") |
| 11 | @KeySequence("mes_md_workstation_machine_seq") | 15 | @KeySequence("mes_md_workstation_machine_seq") |
| 12 | @Data | 16 | @Data |
| @@ -17,15 +21,44 @@ import lombok.*; | @@ -17,15 +21,44 @@ import lombok.*; | ||
| 17 | @AllArgsConstructor | 21 | @AllArgsConstructor |
| 18 | public class MesMdWorkstationMachineDO extends BaseDO { | 22 | public class MesMdWorkstationMachineDO extends BaseDO { |
| 19 | 23 | ||
| 24 | + /** | ||
| 25 | + * 编号 | ||
| 26 | + */ | ||
| 20 | @TableId | 27 | @TableId |
| 21 | private Long id; | 28 | private Long id; |
| 29 | + // TODO @AI:通过 @ 去关联,按照别的模块 | ||
| 30 | + /** | ||
| 31 | + * 工位编号,关联 {@link MesMdWorkstationDO#id} | ||
| 32 | + */ | ||
| 22 | private Long workstationId; | 33 | private Long workstationId; |
| 34 | + // TODO @AI:通过 @ 去关联,按照别的模块 | ||
| 35 | + /** | ||
| 36 | + * 设备编号 | ||
| 37 | + */ | ||
| 23 | private Long machineryId; | 38 | private Long machineryId; |
| 39 | + /** | ||
| 40 | + * 数量 | ||
| 41 | + */ | ||
| 24 | private Integer quantity; | 42 | private Integer quantity; |
| 43 | + /** | ||
| 44 | + * 备注 | ||
| 45 | + */ | ||
| 25 | private String remark; | 46 | private String remark; |
| 47 | + /** | ||
| 48 | + * 预留字段1 | ||
| 49 | + */ | ||
| 26 | private String attribute1; | 50 | private String attribute1; |
| 51 | + /** | ||
| 52 | + * 预留字段2 | ||
| 53 | + */ | ||
| 27 | private String attribute2; | 54 | private String attribute2; |
| 55 | + /** | ||
| 56 | + * 预留字段3 | ||
| 57 | + */ | ||
| 28 | private Integer attribute3; | 58 | private Integer attribute3; |
| 59 | + /** | ||
| 60 | + * 预留字段4 | ||
| 61 | + */ | ||
| 29 | private Integer attribute4; | 62 | private Integer attribute4; |
| 30 | 63 | ||
| 31 | } | 64 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/workstation/MesMdWorkstationToolDO.java
| @@ -6,7 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableId; | @@ -6,7 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableId; | ||
| 6 | import com.baomidou.mybatisplus.annotation.TableName; | 6 | import com.baomidou.mybatisplus.annotation.TableName; |
| 7 | import lombok.*; | 7 | import lombok.*; |
| 8 | 8 | ||
| 9 | -// TODO @AI:注释;以及关联; | 9 | +/** |
| 10 | + * MES 工位工具 DO | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 10 | @TableName("mes_md_workstation_tool") | 14 | @TableName("mes_md_workstation_tool") |
| 11 | @KeySequence("mes_md_workstation_tool_seq") | 15 | @KeySequence("mes_md_workstation_tool_seq") |
| 12 | @Data | 16 | @Data |
| @@ -17,15 +21,44 @@ import lombok.*; | @@ -17,15 +21,44 @@ import lombok.*; | ||
| 17 | @AllArgsConstructor | 21 | @AllArgsConstructor |
| 18 | public class MesMdWorkstationToolDO extends BaseDO { | 22 | public class MesMdWorkstationToolDO extends BaseDO { |
| 19 | 23 | ||
| 24 | + /** | ||
| 25 | + * 编号 | ||
| 26 | + */ | ||
| 20 | @TableId | 27 | @TableId |
| 21 | private Long id; | 28 | private Long id; |
| 29 | + // TODO @AI:通过 @ 去关联,按照别的模块 | ||
| 30 | + /** | ||
| 31 | + * 工位编号,关联 {@link MesMdWorkstationDO#id} | ||
| 32 | + */ | ||
| 22 | private Long workstationId; | 33 | private Long workstationId; |
| 34 | + // TODO @AI:通过 @ 去关联,按照别的模块 | ||
| 35 | + /** | ||
| 36 | + * 工具类型编号 | ||
| 37 | + */ | ||
| 23 | private Long toolTypeId; | 38 | private Long toolTypeId; |
| 39 | + /** | ||
| 40 | + * 数量 | ||
| 41 | + */ | ||
| 24 | private Integer quantity; | 42 | private Integer quantity; |
| 43 | + /** | ||
| 44 | + * 备注 | ||
| 45 | + */ | ||
| 25 | private String remark; | 46 | private String remark; |
| 47 | + /** | ||
| 48 | + * 预留字段1 | ||
| 49 | + */ | ||
| 26 | private String attribute1; | 50 | private String attribute1; |
| 51 | + /** | ||
| 52 | + * 预留字段2 | ||
| 53 | + */ | ||
| 27 | private String attribute2; | 54 | private String attribute2; |
| 55 | + /** | ||
| 56 | + * 预留字段3 | ||
| 57 | + */ | ||
| 28 | private Integer attribute3; | 58 | private Integer attribute3; |
| 59 | + /** | ||
| 60 | + * 预留字段4 | ||
| 61 | + */ | ||
| 29 | private Integer attribute4; | 62 | private Integer attribute4; |
| 30 | 63 | ||
| 31 | } | 64 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/workstation/MesMdWorkstationWorkerDO.java
| @@ -6,7 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableId; | @@ -6,7 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableId; | ||
| 6 | import com.baomidou.mybatisplus.annotation.TableName; | 6 | import com.baomidou.mybatisplus.annotation.TableName; |
| 7 | import lombok.*; | 7 | import lombok.*; |
| 8 | 8 | ||
| 9 | -// TODO @AI:注释;以及关联; | 9 | +/** |
| 10 | + * MES 工位人员 DO | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 10 | @TableName("mes_md_workstation_worker") | 14 | @TableName("mes_md_workstation_worker") |
| 11 | @KeySequence("mes_md_workstation_worker_seq") | 15 | @KeySequence("mes_md_workstation_worker_seq") |
| 12 | @Data | 16 | @Data |
| @@ -17,15 +21,44 @@ import lombok.*; | @@ -17,15 +21,44 @@ import lombok.*; | ||
| 17 | @AllArgsConstructor | 21 | @AllArgsConstructor |
| 18 | public class MesMdWorkstationWorkerDO extends BaseDO { | 22 | public class MesMdWorkstationWorkerDO extends BaseDO { |
| 19 | 23 | ||
| 24 | + /** | ||
| 25 | + * 编号 | ||
| 26 | + */ | ||
| 20 | @TableId | 27 | @TableId |
| 21 | private Long id; | 28 | private Long id; |
| 29 | + // TODO @AI:通过 @ 去关联,按照别的模块 | ||
| 30 | + /** | ||
| 31 | + * 工位编号,关联 {@link MesMdWorkstationDO#id} | ||
| 32 | + */ | ||
| 22 | private Long workstationId; | 33 | private Long workstationId; |
| 34 | + // TODO @AI:通过 @ 去关联,按照别的模块 | ||
| 35 | + /** | ||
| 36 | + * 岗位编号,关联 system_post 表的 id | ||
| 37 | + */ | ||
| 23 | private Long postId; | 38 | private Long postId; |
| 39 | + /** | ||
| 40 | + * 数量 | ||
| 41 | + */ | ||
| 24 | private Integer quantity; | 42 | private Integer quantity; |
| 43 | + /** | ||
| 44 | + * 备注 | ||
| 45 | + */ | ||
| 25 | private String remark; | 46 | private String remark; |
| 47 | + /** | ||
| 48 | + * 预留字段1 | ||
| 49 | + */ | ||
| 26 | private String attribute1; | 50 | private String attribute1; |
| 51 | + /** | ||
| 52 | + * 预留字段2 | ||
| 53 | + */ | ||
| 27 | private String attribute2; | 54 | private String attribute2; |
| 55 | + /** | ||
| 56 | + * 预留字段3 | ||
| 57 | + */ | ||
| 28 | private Integer attribute3; | 58 | private Integer attribute3; |
| 59 | + /** | ||
| 60 | + * 预留字段4 | ||
| 61 | + */ | ||
| 29 | private Integer attribute4; | 62 | private Integer attribute4; |
| 30 | 63 | ||
| 31 | } | 64 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkshopMapper.java
| @@ -9,7 +9,11 @@ import org.apache.ibatis.annotations.Mapper; | @@ -9,7 +9,11 @@ import org.apache.ibatis.annotations.Mapper; | ||
| 9 | 9 | ||
| 10 | import java.util.List; | 10 | import java.util.List; |
| 11 | 11 | ||
| 12 | -// TODO @AI:注释; | 12 | +/** |
| 13 | + * MES 车间 Mapper | ||
| 14 | + * | ||
| 15 | + * @author 芋道源码 | ||
| 16 | + */ | ||
| 13 | @Mapper | 17 | @Mapper |
| 14 | public interface MesMdWorkshopMapper extends BaseMapperX<MesMdWorkshopDO> { | 18 | public interface MesMdWorkshopMapper extends BaseMapperX<MesMdWorkshopDO> { |
| 15 | 19 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkstationMachineMapper.java
| @@ -6,7 +6,11 @@ import org.apache.ibatis.annotations.Mapper; | @@ -6,7 +6,11 @@ import org.apache.ibatis.annotations.Mapper; | ||
| 6 | 6 | ||
| 7 | import java.util.List; | 7 | import java.util.List; |
| 8 | 8 | ||
| 9 | -// TODO @AI:注释; | 9 | +/** |
| 10 | + * MES 工位设备 Mapper | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 10 | @Mapper | 14 | @Mapper |
| 11 | public interface MesMdWorkstationMachineMapper extends BaseMapperX<MesMdWorkstationMachineDO> { | 15 | public interface MesMdWorkstationMachineMapper extends BaseMapperX<MesMdWorkstationMachineDO> { |
| 12 | 16 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkstationMapper.java
| @@ -9,7 +9,11 @@ import org.apache.ibatis.annotations.Mapper; | @@ -9,7 +9,11 @@ import org.apache.ibatis.annotations.Mapper; | ||
| 9 | 9 | ||
| 10 | import java.util.List; | 10 | import java.util.List; |
| 11 | 11 | ||
| 12 | -// TODO @AI:注释; | 12 | +/** |
| 13 | + * MES 工位 Mapper | ||
| 14 | + * | ||
| 15 | + * @author 芋道源码 | ||
| 16 | + */ | ||
| 13 | @Mapper | 17 | @Mapper |
| 14 | public interface MesMdWorkstationMapper extends BaseMapperX<MesMdWorkstationDO> { | 18 | public interface MesMdWorkstationMapper extends BaseMapperX<MesMdWorkstationDO> { |
| 15 | 19 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkstationToolMapper.java
| @@ -7,7 +7,11 @@ import org.apache.ibatis.annotations.Mapper; | @@ -7,7 +7,11 @@ import org.apache.ibatis.annotations.Mapper; | ||
| 7 | 7 | ||
| 8 | import java.util.List; | 8 | import java.util.List; |
| 9 | 9 | ||
| 10 | -// TODO @AI:注释; | 10 | +/** |
| 11 | + * MES 工位工具 Mapper | ||
| 12 | + * | ||
| 13 | + * @author 芋道源码 | ||
| 14 | + */ | ||
| 11 | @Mapper | 15 | @Mapper |
| 12 | public interface MesMdWorkstationToolMapper extends BaseMapperX<MesMdWorkstationToolDO> { | 16 | public interface MesMdWorkstationToolMapper extends BaseMapperX<MesMdWorkstationToolDO> { |
| 13 | 17 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkstationWorkerMapper.java
| @@ -7,7 +7,11 @@ import org.apache.ibatis.annotations.Mapper; | @@ -7,7 +7,11 @@ import org.apache.ibatis.annotations.Mapper; | ||
| 7 | 7 | ||
| 8 | import java.util.List; | 8 | import java.util.List; |
| 9 | 9 | ||
| 10 | -// TODO @AI:注释; | 10 | +/** |
| 11 | + * MES 工位人员 Mapper | ||
| 12 | + * | ||
| 13 | + * @author 芋道源码 | ||
| 14 | + */ | ||
| 11 | @Mapper | 15 | @Mapper |
| 12 | public interface MesMdWorkstationWorkerMapper extends BaseMapperX<MesMdWorkstationWorkerDO> { | 16 | public interface MesMdWorkstationWorkerMapper extends BaseMapperX<MesMdWorkstationWorkerDO> { |
| 13 | 17 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
| @@ -70,6 +70,16 @@ public interface ErrorCodeConstants { | @@ -70,6 +70,16 @@ public interface ErrorCodeConstants { | ||
| 70 | 70 | ||
| 71 | // ========== MES 基础数据-产品BOM(1-040-107-000) ========== | 71 | // ========== MES 基础数据-产品BOM(1-040-107-000) ========== |
| 72 | ErrorCode MD_PRODUCT_BOM_NOT_EXISTS = new ErrorCode(1_040_107_000, "产品BOM不存在"); | 72 | ErrorCode MD_PRODUCT_BOM_NOT_EXISTS = new ErrorCode(1_040_107_000, "产品BOM不存在"); |
| 73 | + ErrorCode MD_PRODUCT_BOM_SELF_REFERENCE = new ErrorCode(1_040_107_001, "产品不能作为自身的BOM物料"); | ||
| 74 | + ErrorCode MD_PRODUCT_BOM_CIRCULAR = new ErrorCode(1_040_107_002, "BOM物料存在闭环,无法新增"); | ||
| 75 | + | ||
| 76 | + // ========== MES 基础数据-产品SOP(1-040-108-000) ========== | ||
| 77 | + ErrorCode MD_PRODUCT_SOP_NOT_EXISTS = new ErrorCode(1_040_108_000, "产品SOP不存在"); | ||
| 78 | + ErrorCode MD_PRODUCT_SOP_ORDER_NUM_DUPLICATE = new ErrorCode(1_040_108_001, "该展示序号已存在"); | ||
| 79 | + | ||
| 80 | + // ========== MES 基础数据-产品SIP(1-040-109-000) ========== | ||
| 81 | + ErrorCode MD_PRODUCT_SIP_NOT_EXISTS = new ErrorCode(1_040_109_000, "产品SIP不存在"); | ||
| 82 | + ErrorCode MD_PRODUCT_SIP_ORDER_NUM_DUPLICATE = new ErrorCode(1_040_109_001, "该展示序号已存在"); | ||
| 73 | 83 | ||
| 74 | // ========== MES 日历排班-班次(1-040-200-000) ========== | 84 | // ========== MES 日历排班-班次(1-040-200-000) ========== |
| 75 | ErrorCode CAL_SHIFT_NOT_EXISTS = new ErrorCode(1_040_200_000, "班次不存在"); | 85 | ErrorCode CAL_SHIFT_NOT_EXISTS = new ErrorCode(1_040_200_000, "班次不存在"); |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java
| @@ -43,12 +43,16 @@ public class MesMdItemServiceImpl implements MesMdItemService { | @@ -43,12 +43,16 @@ public class MesMdItemServiceImpl implements MesMdItemService { | ||
| 43 | 43 | ||
| 44 | @Resource | 44 | @Resource |
| 45 | private MesMdItemTypeService itemTypeService; | 45 | private MesMdItemTypeService itemTypeService; |
| 46 | - | ||
| 47 | @Resource | 46 | @Resource |
| 48 | private MesMdUnitMeasureService unitMeasureService; | 47 | private MesMdUnitMeasureService unitMeasureService; |
| 49 | - | ||
| 50 | @Resource | 48 | @Resource |
| 51 | private MesMdItemBatchConfigService itemBatchConfigService; | 49 | private MesMdItemBatchConfigService itemBatchConfigService; |
| 50 | + @Resource | ||
| 51 | + private MesMdProductBomService productBomService; | ||
| 52 | + @Resource | ||
| 53 | + private MesMdProductSopService productSopService; | ||
| 54 | + @Resource | ||
| 55 | + private MesMdProductSipService productSipService; | ||
| 52 | 56 | ||
| 53 | @Override | 57 | @Override |
| 54 | public Long createItem(MesMdItemSaveReqVO createReqVO) { | 58 | public Long createItem(MesMdItemSaveReqVO createReqVO) { |
| @@ -91,11 +95,19 @@ public class MesMdItemServiceImpl implements MesMdItemService { | @@ -91,11 +95,19 @@ public class MesMdItemServiceImpl implements MesMdItemService { | ||
| 91 | } | 95 | } |
| 92 | 96 | ||
| 93 | @Override | 97 | @Override |
| 98 | + @Transactional(rollbackFor = Exception.class) | ||
| 94 | public void deleteItem(Long id) { | 99 | public void deleteItem(Long id) { |
| 95 | // 校验存在 | 100 | // 校验存在 |
| 96 | validateItemExists(id); | 101 | validateItemExists(id); |
| 102 | + | ||
| 97 | // 级联删除批次属性配置 | 103 | // 级联删除批次属性配置 |
| 98 | itemBatchConfigService.deleteItemBatchConfigByItemId(id); | 104 | itemBatchConfigService.deleteItemBatchConfigByItemId(id); |
| 105 | + // 级联删除产品BOM | ||
| 106 | + productBomService.deleteProductBomByItemId(id); | ||
| 107 | + // 级联删除产品SOP | ||
| 108 | + productSopService.deleteProductSopByItemId(id); | ||
| 109 | + // 级联删除产品SIP | ||
| 110 | + productSipService.deleteProductSipByItemId(id); | ||
| 99 | // 删除 | 111 | // 删除 |
| 100 | itemMapper.deleteById(id); | 112 | itemMapper.deleteById(id); |
| 101 | } | 113 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkshopService.java
| @@ -8,7 +8,12 @@ import jakarta.validation.Valid; | @@ -8,7 +8,12 @@ import jakarta.validation.Valid; | ||
| 8 | 8 | ||
| 9 | import java.util.List; | 9 | import java.util.List; |
| 10 | 10 | ||
| 11 | -// TODO @AI:注释; | 11 | +// TODO @AI:方法注释? |
| 12 | +/** | ||
| 13 | + * MES 车间 Service 接口 | ||
| 14 | + * | ||
| 15 | + * @author 芋道源码 | ||
| 16 | + */ | ||
| 12 | public interface MesMdWorkshopService { | 17 | public interface MesMdWorkshopService { |
| 13 | 18 | ||
| 14 | Long createWorkshop(@Valid MesMdWorkshopSaveReqVO createReqVO); | 19 | Long createWorkshop(@Valid MesMdWorkshopSaveReqVO createReqVO); |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkshopServiceImpl.java
| @@ -19,7 +19,11 @@ import java.util.List; | @@ -19,7 +19,11 @@ import java.util.List; | ||
| 19 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 19 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 20 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; | 20 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; |
| 21 | 21 | ||
| 22 | -// TODO @AI:注释; | 22 | +/** |
| 23 | + * MES 车间 Service 实现类 | ||
| 24 | + * | ||
| 25 | + * @author 芋道源码 | ||
| 26 | + */ | ||
| 23 | @Service | 27 | @Service |
| 24 | @Validated | 28 | @Validated |
| 25 | public class MesMdWorkshopServiceImpl implements MesMdWorkshopService { | 29 | public class MesMdWorkshopServiceImpl implements MesMdWorkshopService { |
| @@ -33,9 +37,12 @@ public class MesMdWorkshopServiceImpl implements MesMdWorkshopService { | @@ -33,9 +37,12 @@ public class MesMdWorkshopServiceImpl implements MesMdWorkshopService { | ||
| 33 | 37 | ||
| 34 | @Override | 38 | @Override |
| 35 | public Long createWorkshop(MesMdWorkshopSaveReqVO createReqVO) { | 39 | public Long createWorkshop(MesMdWorkshopSaveReqVO createReqVO) { |
| 40 | + // TODO @AI:注释 | ||
| 36 | validateWorkshopCodeUnique(null, createReqVO.getCode()); | 41 | validateWorkshopCodeUnique(null, createReqVO.getCode()); |
| 42 | + // TODO @AI:注释 | ||
| 37 | validateWorkshopNameUnique(null, createReqVO.getName()); | 43 | validateWorkshopNameUnique(null, createReqVO.getName()); |
| 38 | 44 | ||
| 45 | + // 插入 | ||
| 39 | MesMdWorkshopDO workshop = BeanUtils.toBean(createReqVO, MesMdWorkshopDO.class); | 46 | MesMdWorkshopDO workshop = BeanUtils.toBean(createReqVO, MesMdWorkshopDO.class); |
| 40 | workshopMapper.insert(workshop); | 47 | workshopMapper.insert(workshop); |
| 41 | return workshop.getId(); | 48 | return workshop.getId(); |
| @@ -43,22 +50,29 @@ public class MesMdWorkshopServiceImpl implements MesMdWorkshopService { | @@ -43,22 +50,29 @@ public class MesMdWorkshopServiceImpl implements MesMdWorkshopService { | ||
| 43 | 50 | ||
| 44 | @Override | 51 | @Override |
| 45 | public void updateWorkshop(MesMdWorkshopSaveReqVO updateReqVO) { | 52 | public void updateWorkshop(MesMdWorkshopSaveReqVO updateReqVO) { |
| 53 | + // TODO @AI:注释 | ||
| 46 | validateWorkshopExists(updateReqVO.getId()); | 54 | validateWorkshopExists(updateReqVO.getId()); |
| 55 | + // TODO @AI:注释 | ||
| 47 | validateWorkshopCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); | 56 | validateWorkshopCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); |
| 57 | + // TODO @AI:注释 | ||
| 48 | validateWorkshopNameUnique(updateReqVO.getId(), updateReqVO.getName()); | 58 | validateWorkshopNameUnique(updateReqVO.getId(), updateReqVO.getName()); |
| 49 | 59 | ||
| 60 | + // 更新 | ||
| 50 | MesMdWorkshopDO updateObj = BeanUtils.toBean(updateReqVO, MesMdWorkshopDO.class); | 61 | MesMdWorkshopDO updateObj = BeanUtils.toBean(updateReqVO, MesMdWorkshopDO.class); |
| 51 | workshopMapper.updateById(updateObj); | 62 | workshopMapper.updateById(updateObj); |
| 52 | } | 63 | } |
| 53 | 64 | ||
| 54 | @Override | 65 | @Override |
| 55 | public void deleteWorkshop(Long id) { | 66 | public void deleteWorkshop(Long id) { |
| 67 | + // TODO @AI:注释 | ||
| 56 | validateWorkshopExists(id); | 68 | validateWorkshopExists(id); |
| 57 | // 校验车间下是否存在工位 | 69 | // 校验车间下是否存在工位 |
| 58 | Long count = workstationMapper.selectCount(MesMdWorkstationDO::getWorkshopId, id); | 70 | Long count = workstationMapper.selectCount(MesMdWorkstationDO::getWorkshopId, id); |
| 59 | if (count > 0) { | 71 | if (count > 0) { |
| 60 | throw exception(MD_WORKSHOP_HAS_WORKSTATION); | 72 | throw exception(MD_WORKSHOP_HAS_WORKSTATION); |
| 61 | } | 73 | } |
| 74 | + | ||
| 75 | + // 删除 | ||
| 62 | workshopMapper.deleteById(id); | 76 | workshopMapper.deleteById(id); |
| 63 | } | 77 | } |
| 64 | 78 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationMachineService.java
| @@ -6,9 +6,15 @@ import jakarta.validation.Valid; | @@ -6,9 +6,15 @@ import jakarta.validation.Valid; | ||
| 6 | 6 | ||
| 7 | import java.util.List; | 7 | import java.util.List; |
| 8 | 8 | ||
| 9 | -// TODO @AI:注释; | 9 | +/** |
| 10 | + * MES 工位设备 Service 接口 | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 10 | public interface MesMdWorkstationMachineService { | 14 | public interface MesMdWorkstationMachineService { |
| 11 | 15 | ||
| 16 | +// TODO @AI:方法注释? | ||
| 17 | + | ||
| 12 | Long createWorkstationMachine(@Valid MesMdWorkstationMachineSaveReqVO createReqVO); | 18 | Long createWorkstationMachine(@Valid MesMdWorkstationMachineSaveReqVO createReqVO); |
| 13 | 19 | ||
| 14 | void deleteWorkstationMachine(Long id); | 20 | void deleteWorkstationMachine(Long id); |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationMachineServiceImpl.java
| @@ -13,7 +13,11 @@ import java.util.List; | @@ -13,7 +13,11 @@ import java.util.List; | ||
| 13 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 13 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 14 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; | 14 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; |
| 15 | 15 | ||
| 16 | -// TODO @AI:注释; | 16 | +/** |
| 17 | + * MES 工位设备 Service 实现类 | ||
| 18 | + * | ||
| 19 | + * @author 芋道源码 | ||
| 20 | + */ | ||
| 17 | @Service | 21 | @Service |
| 18 | @Validated | 22 | @Validated |
| 19 | public class MesMdWorkstationMachineServiceImpl implements MesMdWorkstationMachineService { | 23 | public class MesMdWorkstationMachineServiceImpl implements MesMdWorkstationMachineService { |
| @@ -29,6 +33,7 @@ public class MesMdWorkstationMachineServiceImpl implements MesMdWorkstationMachi | @@ -29,6 +33,7 @@ public class MesMdWorkstationMachineServiceImpl implements MesMdWorkstationMachi | ||
| 29 | throw exception(MD_WORKSTATION_MACHINE_EXISTS); | 33 | throw exception(MD_WORKSTATION_MACHINE_EXISTS); |
| 30 | } | 34 | } |
| 31 | 35 | ||
| 36 | + // 插入 | ||
| 32 | MesMdWorkstationMachineDO machine = BeanUtils.toBean(createReqVO, MesMdWorkstationMachineDO.class); | 37 | MesMdWorkstationMachineDO machine = BeanUtils.toBean(createReqVO, MesMdWorkstationMachineDO.class); |
| 33 | workstationMachineMapper.insert(machine); | 38 | workstationMachineMapper.insert(machine); |
| 34 | return machine.getId(); | 39 | return machine.getId(); |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationService.java
| @@ -8,9 +8,15 @@ import jakarta.validation.Valid; | @@ -8,9 +8,15 @@ import jakarta.validation.Valid; | ||
| 8 | 8 | ||
| 9 | import java.util.List; | 9 | import java.util.List; |
| 10 | 10 | ||
| 11 | -// TODO @AI:注释; | 11 | +/** |
| 12 | + * MES 工位 Service 接口 | ||
| 13 | + * | ||
| 14 | + * @author 芋道源码 | ||
| 15 | + */ | ||
| 12 | public interface MesMdWorkstationService { | 16 | public interface MesMdWorkstationService { |
| 13 | 17 | ||
| 18 | + // TODO @AI:方法注释? | ||
| 19 | + | ||
| 14 | Long createWorkstation(@Valid MesMdWorkstationSaveReqVO createReqVO); | 20 | Long createWorkstation(@Valid MesMdWorkstationSaveReqVO createReqVO); |
| 15 | 21 | ||
| 16 | void updateWorkstation(@Valid MesMdWorkstationSaveReqVO updateReqVO); | 22 | void updateWorkstation(@Valid MesMdWorkstationSaveReqVO updateReqVO); |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java
| @@ -20,7 +20,11 @@ import java.util.List; | @@ -20,7 +20,11 @@ import java.util.List; | ||
| 20 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 20 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 21 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; | 21 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; |
| 22 | 22 | ||
| 23 | -// TODO @AI:注释; | 23 | +/** |
| 24 | + * MES 工位 Service 实现类 | ||
| 25 | + * | ||
| 26 | + * @author 芋道源码 | ||
| 27 | + */ | ||
| 24 | @Service | 28 | @Service |
| 25 | @Validated | 29 | @Validated |
| 26 | public class MesMdWorkstationServiceImpl implements MesMdWorkstationService { | 30 | public class MesMdWorkstationServiceImpl implements MesMdWorkstationService { |
| @@ -42,11 +46,14 @@ public class MesMdWorkstationServiceImpl implements MesMdWorkstationService { | @@ -42,11 +46,14 @@ public class MesMdWorkstationServiceImpl implements MesMdWorkstationService { | ||
| 42 | 46 | ||
| 43 | @Override | 47 | @Override |
| 44 | public Long createWorkstation(MesMdWorkstationSaveReqVO createReqVO) { | 48 | public Long createWorkstation(MesMdWorkstationSaveReqVO createReqVO) { |
| 49 | + // TODO @AI:注释 | ||
| 45 | validateWorkstationCodeUnique(null, createReqVO.getCode()); | 50 | validateWorkstationCodeUnique(null, createReqVO.getCode()); |
| 51 | + // TODO @AI:注释 | ||
| 46 | validateWorkstationNameUnique(null, createReqVO.getName()); | 52 | validateWorkstationNameUnique(null, createReqVO.getName()); |
| 47 | // 校验车间存在 | 53 | // 校验车间存在 |
| 48 | workshopService.getWorkshop(createReqVO.getWorkshopId()); // validateWorkshopExists via getWorkshop | 54 | workshopService.getWorkshop(createReqVO.getWorkshopId()); // validateWorkshopExists via getWorkshop |
| 49 | 55 | ||
| 56 | + // 插入 | ||
| 50 | MesMdWorkstationDO workstation = BeanUtils.toBean(createReqVO, MesMdWorkstationDO.class); | 57 | MesMdWorkstationDO workstation = BeanUtils.toBean(createReqVO, MesMdWorkstationDO.class); |
| 51 | workstationMapper.insert(workstation); | 58 | workstationMapper.insert(workstation); |
| 52 | return workstation.getId(); | 59 | return workstation.getId(); |
| @@ -54,12 +61,16 @@ public class MesMdWorkstationServiceImpl implements MesMdWorkstationService { | @@ -54,12 +61,16 @@ public class MesMdWorkstationServiceImpl implements MesMdWorkstationService { | ||
| 54 | 61 | ||
| 55 | @Override | 62 | @Override |
| 56 | public void updateWorkstation(MesMdWorkstationSaveReqVO updateReqVO) { | 63 | public void updateWorkstation(MesMdWorkstationSaveReqVO updateReqVO) { |
| 64 | + // TODO @AI:注释 | ||
| 57 | validateWorkstationExists(updateReqVO.getId()); | 65 | validateWorkstationExists(updateReqVO.getId()); |
| 66 | + // TODO @AI:注释 | ||
| 58 | validateWorkstationCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); | 67 | validateWorkstationCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); |
| 68 | + // TODO @AI:注释 | ||
| 59 | validateWorkstationNameUnique(updateReqVO.getId(), updateReqVO.getName()); | 69 | validateWorkstationNameUnique(updateReqVO.getId(), updateReqVO.getName()); |
| 60 | // 校验车间存在 | 70 | // 校验车间存在 |
| 61 | workshopService.getWorkshop(updateReqVO.getWorkshopId()); | 71 | workshopService.getWorkshop(updateReqVO.getWorkshopId()); |
| 62 | 72 | ||
| 73 | + // 更新 | ||
| 63 | MesMdWorkstationDO updateObj = BeanUtils.toBean(updateReqVO, MesMdWorkstationDO.class); | 74 | MesMdWorkstationDO updateObj = BeanUtils.toBean(updateReqVO, MesMdWorkstationDO.class); |
| 64 | workstationMapper.updateById(updateObj); | 75 | workstationMapper.updateById(updateObj); |
| 65 | } | 76 | } |
| @@ -67,7 +78,9 @@ public class MesMdWorkstationServiceImpl implements MesMdWorkstationService { | @@ -67,7 +78,9 @@ public class MesMdWorkstationServiceImpl implements MesMdWorkstationService { | ||
| 67 | @Override | 78 | @Override |
| 68 | @Transactional(rollbackFor = Exception.class) | 79 | @Transactional(rollbackFor = Exception.class) |
| 69 | public void deleteWorkstation(Long id) { | 80 | public void deleteWorkstation(Long id) { |
| 81 | + // TODO @AI:注释 | ||
| 70 | validateWorkstationExists(id); | 82 | validateWorkstationExists(id); |
| 83 | + | ||
| 71 | // 级联删除子资源 | 84 | // 级联删除子资源 |
| 72 | workstationMachineMapper.deleteByWorkstationId(id); | 85 | workstationMachineMapper.deleteByWorkstationId(id); |
| 73 | workstationToolMapper.deleteByWorkstationId(id); | 86 | workstationToolMapper.deleteByWorkstationId(id); |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationToolService.java
| @@ -6,9 +6,14 @@ import jakarta.validation.Valid; | @@ -6,9 +6,14 @@ import jakarta.validation.Valid; | ||
| 6 | 6 | ||
| 7 | import java.util.List; | 7 | import java.util.List; |
| 8 | 8 | ||
| 9 | -// TODO @AI:注释; | 9 | +/** |
| 10 | + * MES 工位工具 Service 接口 | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 10 | public interface MesMdWorkstationToolService { | 14 | public interface MesMdWorkstationToolService { |
| 11 | 15 | ||
| 16 | + // TODO @AI:方法注释? | ||
| 12 | Long createWorkstationTool(@Valid MesMdWorkstationToolSaveReqVO createReqVO); | 17 | Long createWorkstationTool(@Valid MesMdWorkstationToolSaveReqVO createReqVO); |
| 13 | 18 | ||
| 14 | void updateWorkstationTool(@Valid MesMdWorkstationToolSaveReqVO updateReqVO); | 19 | void updateWorkstationTool(@Valid MesMdWorkstationToolSaveReqVO updateReqVO); |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationToolServiceImpl.java
| @@ -13,7 +13,11 @@ import java.util.List; | @@ -13,7 +13,11 @@ import java.util.List; | ||
| 13 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 13 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 14 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; | 14 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; |
| 15 | 15 | ||
| 16 | -// TODO @AI:注释; | 16 | +/** |
| 17 | + * MES 工位工具 Service 实现类 | ||
| 18 | + * | ||
| 19 | + * @author 芋道源码 | ||
| 20 | + */ | ||
| 17 | @Service | 21 | @Service |
| 18 | @Validated | 22 | @Validated |
| 19 | public class MesMdWorkstationToolServiceImpl implements MesMdWorkstationToolService { | 23 | public class MesMdWorkstationToolServiceImpl implements MesMdWorkstationToolService { |
| @@ -30,6 +34,7 @@ public class MesMdWorkstationToolServiceImpl implements MesMdWorkstationToolServ | @@ -30,6 +34,7 @@ public class MesMdWorkstationToolServiceImpl implements MesMdWorkstationToolServ | ||
| 30 | throw exception(MD_WORKSTATION_TOOL_TYPE_EXISTS); | 34 | throw exception(MD_WORKSTATION_TOOL_TYPE_EXISTS); |
| 31 | } | 35 | } |
| 32 | 36 | ||
| 37 | + // 插入 | ||
| 33 | MesMdWorkstationToolDO tool = BeanUtils.toBean(createReqVO, MesMdWorkstationToolDO.class); | 38 | MesMdWorkstationToolDO tool = BeanUtils.toBean(createReqVO, MesMdWorkstationToolDO.class); |
| 34 | workstationToolMapper.insert(tool); | 39 | workstationToolMapper.insert(tool); |
| 35 | return tool.getId(); | 40 | return tool.getId(); |
| @@ -37,18 +42,25 @@ public class MesMdWorkstationToolServiceImpl implements MesMdWorkstationToolServ | @@ -37,18 +42,25 @@ public class MesMdWorkstationToolServiceImpl implements MesMdWorkstationToolServ | ||
| 37 | 42 | ||
| 38 | @Override | 43 | @Override |
| 39 | public void updateWorkstationTool(MesMdWorkstationToolSaveReqVO updateReqVO) { | 44 | public void updateWorkstationTool(MesMdWorkstationToolSaveReqVO updateReqVO) { |
| 45 | + // 校验存在 | ||
| 46 | + // TODO @AI:要不要抽个方法,参考别的模块 | ||
| 40 | if (workstationToolMapper.selectById(updateReqVO.getId()) == null) { | 47 | if (workstationToolMapper.selectById(updateReqVO.getId()) == null) { |
| 41 | throw exception(MD_WORKSTATION_TOOL_NOT_EXISTS); | 48 | throw exception(MD_WORKSTATION_TOOL_NOT_EXISTS); |
| 42 | } | 49 | } |
| 50 | + | ||
| 51 | + // 更新 | ||
| 43 | MesMdWorkstationToolDO updateObj = BeanUtils.toBean(updateReqVO, MesMdWorkstationToolDO.class); | 52 | MesMdWorkstationToolDO updateObj = BeanUtils.toBean(updateReqVO, MesMdWorkstationToolDO.class); |
| 44 | workstationToolMapper.updateById(updateObj); | 53 | workstationToolMapper.updateById(updateObj); |
| 45 | } | 54 | } |
| 46 | 55 | ||
| 47 | @Override | 56 | @Override |
| 48 | public void deleteWorkstationTool(Long id) { | 57 | public void deleteWorkstationTool(Long id) { |
| 58 | + // 校验存在 | ||
| 49 | if (workstationToolMapper.selectById(id) == null) { | 59 | if (workstationToolMapper.selectById(id) == null) { |
| 50 | throw exception(MD_WORKSTATION_TOOL_NOT_EXISTS); | 60 | throw exception(MD_WORKSTATION_TOOL_NOT_EXISTS); |
| 51 | } | 61 | } |
| 62 | + | ||
| 63 | + // 删除 | ||
| 52 | workstationToolMapper.deleteById(id); | 64 | workstationToolMapper.deleteById(id); |
| 53 | } | 65 | } |
| 54 | 66 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationWorkerService.java
| @@ -6,9 +6,15 @@ import jakarta.validation.Valid; | @@ -6,9 +6,15 @@ import jakarta.validation.Valid; | ||
| 6 | 6 | ||
| 7 | import java.util.List; | 7 | import java.util.List; |
| 8 | 8 | ||
| 9 | -// TODO @AI:注释; | 9 | +/** |
| 10 | + * MES 工位人员 Service 接口 | ||
| 11 | + * | ||
| 12 | + * @author 芋道源码 | ||
| 13 | + */ | ||
| 10 | public interface MesMdWorkstationWorkerService { | 14 | public interface MesMdWorkstationWorkerService { |
| 11 | 15 | ||
| 16 | + // TODO @AI:方法注释; | ||
| 17 | + | ||
| 12 | Long createWorkstationWorker(@Valid MesMdWorkstationWorkerSaveReqVO createReqVO); | 18 | Long createWorkstationWorker(@Valid MesMdWorkstationWorkerSaveReqVO createReqVO); |
| 13 | 19 | ||
| 14 | void updateWorkstationWorker(@Valid MesMdWorkstationWorkerSaveReqVO updateReqVO); | 20 | void updateWorkstationWorker(@Valid MesMdWorkstationWorkerSaveReqVO updateReqVO); |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationWorkerServiceImpl.java
| @@ -13,7 +13,11 @@ import java.util.List; | @@ -13,7 +13,11 @@ import java.util.List; | ||
| 13 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 13 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 14 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; | 14 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; |
| 15 | 15 | ||
| 16 | -// TODO @AI:注释; | 16 | +/** |
| 17 | + * MES 工位人员 Service 实现类 | ||
| 18 | + * | ||
| 19 | + * @author 芋道源码 | ||
| 20 | + */ | ||
| 17 | @Service | 21 | @Service |
| 18 | @Validated | 22 | @Validated |
| 19 | public class MesMdWorkstationWorkerServiceImpl implements MesMdWorkstationWorkerService { | 23 | public class MesMdWorkstationWorkerServiceImpl implements MesMdWorkstationWorkerService { |
| @@ -30,6 +34,7 @@ public class MesMdWorkstationWorkerServiceImpl implements MesMdWorkstationWorker | @@ -30,6 +34,7 @@ public class MesMdWorkstationWorkerServiceImpl implements MesMdWorkstationWorker | ||
| 30 | throw exception(MD_WORKSTATION_WORKER_POST_EXISTS); | 34 | throw exception(MD_WORKSTATION_WORKER_POST_EXISTS); |
| 31 | } | 35 | } |
| 32 | 36 | ||
| 37 | + // 插入 | ||
| 33 | MesMdWorkstationWorkerDO worker = BeanUtils.toBean(createReqVO, MesMdWorkstationWorkerDO.class); | 38 | MesMdWorkstationWorkerDO worker = BeanUtils.toBean(createReqVO, MesMdWorkstationWorkerDO.class); |
| 34 | workstationWorkerMapper.insert(worker); | 39 | workstationWorkerMapper.insert(worker); |
| 35 | return worker.getId(); | 40 | return worker.getId(); |
| @@ -37,18 +42,24 @@ public class MesMdWorkstationWorkerServiceImpl implements MesMdWorkstationWorker | @@ -37,18 +42,24 @@ public class MesMdWorkstationWorkerServiceImpl implements MesMdWorkstationWorker | ||
| 37 | 42 | ||
| 38 | @Override | 43 | @Override |
| 39 | public void updateWorkstationWorker(MesMdWorkstationWorkerSaveReqVO updateReqVO) { | 44 | public void updateWorkstationWorker(MesMdWorkstationWorkerSaveReqVO updateReqVO) { |
| 45 | + // TODO @AI:抽个方法,参考别的模块 | ||
| 40 | if (workstationWorkerMapper.selectById(updateReqVO.getId()) == null) { | 46 | if (workstationWorkerMapper.selectById(updateReqVO.getId()) == null) { |
| 41 | throw exception(MD_WORKSTATION_WORKER_NOT_EXISTS); | 47 | throw exception(MD_WORKSTATION_WORKER_NOT_EXISTS); |
| 42 | } | 48 | } |
| 49 | + | ||
| 50 | + // 更新 | ||
| 43 | MesMdWorkstationWorkerDO updateObj = BeanUtils.toBean(updateReqVO, MesMdWorkstationWorkerDO.class); | 51 | MesMdWorkstationWorkerDO updateObj = BeanUtils.toBean(updateReqVO, MesMdWorkstationWorkerDO.class); |
| 44 | workstationWorkerMapper.updateById(updateObj); | 52 | workstationWorkerMapper.updateById(updateObj); |
| 45 | } | 53 | } |
| 46 | 54 | ||
| 47 | @Override | 55 | @Override |
| 48 | public void deleteWorkstationWorker(Long id) { | 56 | public void deleteWorkstationWorker(Long id) { |
| 57 | + // TODO @AI:抽个方法,参考别的模块 | ||
| 49 | if (workstationWorkerMapper.selectById(id) == null) { | 58 | if (workstationWorkerMapper.selectById(id) == null) { |
| 50 | throw exception(MD_WORKSTATION_WORKER_NOT_EXISTS); | 59 | throw exception(MD_WORKSTATION_WORKER_NOT_EXISTS); |
| 51 | } | 60 | } |
| 61 | + | ||
| 62 | + // 删除 | ||
| 52 | workstationWorkerMapper.deleteById(id); | 63 | workstationWorkerMapper.deleteById(id); |
| 53 | } | 64 | } |
| 54 | 65 |