Commit c680dc2e35f79cdd854105b54d6a4f326c4ea267
1 parent
a297b060
feat(mes): 新增车间管理、工位管理模块后端
新增车间(workshop)和工位(workstation)5 张表的完整后端实现: - DDL 建表 + 菜单 SQL + 螺丝刀工厂演示数据 21 条 - DO/Mapper/Service/VO/Controller 共 37 个 Java 文件 - 工位支持设备、工具、人员三类子资源的 CRUD
Showing
37 changed files
with
1752 additions
and
0 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkshopController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; | |
| 4 | +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | |
| 5 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |
| 6 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | |
| 7 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 8 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | |
| 9 | +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | |
| 10 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop.MesMdWorkshopPageReqVO; | |
| 11 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop.MesMdWorkshopRespVO; | |
| 12 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop.MesMdWorkshopSaveReqVO; | |
| 13 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkshopDO; | |
| 14 | +import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkshopService; | |
| 15 | +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; | |
| 16 | +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | |
| 17 | +import io.swagger.v3.oas.annotations.Operation; | |
| 18 | +import io.swagger.v3.oas.annotations.Parameter; | |
| 19 | +import io.swagger.v3.oas.annotations.tags.Tag; | |
| 20 | +import jakarta.annotation.Resource; | |
| 21 | +import jakarta.servlet.http.HttpServletResponse; | |
| 22 | +import jakarta.validation.Valid; | |
| 23 | +import org.springframework.security.access.prepost.PreAuthorize; | |
| 24 | +import org.springframework.validation.annotation.Validated; | |
| 25 | +import org.springframework.web.bind.annotation.*; | |
| 26 | + | |
| 27 | +import java.io.IOException; | |
| 28 | +import java.util.List; | |
| 29 | +import java.util.Map; | |
| 30 | + | |
| 31 | +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; | |
| 32 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | |
| 33 | +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; | |
| 34 | +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; | |
| 35 | +import static cn.iocoder.yudao.framework.common.util.collection.MapUtils.findAndThen; | |
| 36 | + | |
| 37 | +@Tag(name = "管理后台 - MES 车间") | |
| 38 | +@RestController | |
| 39 | +@RequestMapping("/mes/md-workshop") | |
| 40 | +@Validated | |
| 41 | +public class MesMdWorkshopController { | |
| 42 | + | |
| 43 | + @Resource | |
| 44 | + private MesMdWorkshopService workshopService; | |
| 45 | + | |
| 46 | + @Resource | |
| 47 | + private AdminUserApi adminUserApi; | |
| 48 | + | |
| 49 | + @PostMapping("/create") | |
| 50 | + @Operation(summary = "创建车间") | |
| 51 | + @PreAuthorize("@ss.hasPermission('mes:md-workshop:create')") | |
| 52 | + public CommonResult<Long> createWorkshop(@Valid @RequestBody MesMdWorkshopSaveReqVO createReqVO) { | |
| 53 | + return success(workshopService.createWorkshop(createReqVO)); | |
| 54 | + } | |
| 55 | + | |
| 56 | + @PutMapping("/update") | |
| 57 | + @Operation(summary = "更新车间") | |
| 58 | + @PreAuthorize("@ss.hasPermission('mes:md-workshop:update')") | |
| 59 | + public CommonResult<Boolean> updateWorkshop(@Valid @RequestBody MesMdWorkshopSaveReqVO updateReqVO) { | |
| 60 | + workshopService.updateWorkshop(updateReqVO); | |
| 61 | + return success(true); | |
| 62 | + } | |
| 63 | + | |
| 64 | + @DeleteMapping("/delete") | |
| 65 | + @Operation(summary = "删除车间") | |
| 66 | + @Parameter(name = "id", description = "编号", required = true) | |
| 67 | + @PreAuthorize("@ss.hasPermission('mes:md-workshop:delete')") | |
| 68 | + public CommonResult<Boolean> deleteWorkshop(@RequestParam("id") Long id) { | |
| 69 | + workshopService.deleteWorkshop(id); | |
| 70 | + return success(true); | |
| 71 | + } | |
| 72 | + | |
| 73 | + @GetMapping("/get") | |
| 74 | + @Operation(summary = "获得车间") | |
| 75 | + @Parameter(name = "id", description = "编号", required = true, example = "1024") | |
| 76 | + @PreAuthorize("@ss.hasPermission('mes:md-workshop:query')") | |
| 77 | + public CommonResult<MesMdWorkshopRespVO> getWorkshop(@RequestParam("id") Long id) { | |
| 78 | + MesMdWorkshopDO workshop = workshopService.getWorkshop(id); | |
| 79 | + MesMdWorkshopRespVO respVO = BeanUtils.toBean(workshop, MesMdWorkshopRespVO.class); | |
| 80 | + if (respVO != null && respVO.getChargeUserId() != null) { | |
| 81 | + AdminUserRespDTO user = adminUserApi.getUser(respVO.getChargeUserId()); | |
| 82 | + if (user != null) { | |
| 83 | + respVO.setChargeUserName(user.getNickname()); | |
| 84 | + } | |
| 85 | + } | |
| 86 | + return success(respVO); | |
| 87 | + } | |
| 88 | + | |
| 89 | + @GetMapping("/page") | |
| 90 | + @Operation(summary = "获得车间分页") | |
| 91 | + @PreAuthorize("@ss.hasPermission('mes:md-workshop:query')") | |
| 92 | + public CommonResult<PageResult<MesMdWorkshopRespVO>> getWorkshopPage(@Valid MesMdWorkshopPageReqVO pageReqVO) { | |
| 93 | + PageResult<MesMdWorkshopDO> pageResult = workshopService.getWorkshopPage(pageReqVO); | |
| 94 | + PageResult<MesMdWorkshopRespVO> voPageResult = BeanUtils.toBean(pageResult, MesMdWorkshopRespVO.class); | |
| 95 | + // 拼装负责人名称 | |
| 96 | + Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap( | |
| 97 | + convertSet(voPageResult.getList(), MesMdWorkshopRespVO::getChargeUserId)); | |
| 98 | + voPageResult.getList().forEach(vo -> findAndThen(userMap, vo.getChargeUserId(), | |
| 99 | + user -> vo.setChargeUserName(user.getNickname()))); | |
| 100 | + return success(voPageResult); | |
| 101 | + } | |
| 102 | + | |
| 103 | + @GetMapping("/simple-list") | |
| 104 | + @Operation(summary = "获得车间精简列表", description = "只包含被开启的车间,主要用于前端的下拉选项") | |
| 105 | + public CommonResult<List<MesMdWorkshopRespVO>> getWorkshopSimpleList() { | |
| 106 | + List<MesMdWorkshopDO> list = workshopService.getWorkshopListByStatus(CommonStatusEnum.ENABLE.getStatus()); | |
| 107 | + return success(convertList(list, workshop -> new MesMdWorkshopRespVO() | |
| 108 | + .setId(workshop.getId()).setName(workshop.getName()).setCode(workshop.getCode()))); | |
| 109 | + } | |
| 110 | + | |
| 111 | + @GetMapping("/export-excel") | |
| 112 | + @Operation(summary = "导出车间 Excel") | |
| 113 | + @PreAuthorize("@ss.hasPermission('mes:md-workshop:export')") | |
| 114 | + @ApiAccessLog(operateType = EXPORT) | |
| 115 | + public void exportWorkshopExcel(@Valid MesMdWorkshopPageReqVO pageReqVO, | |
| 116 | + HttpServletResponse response) throws IOException { | |
| 117 | + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | |
| 118 | + List<MesMdWorkshopDO> list = workshopService.getWorkshopPage(pageReqVO).getList(); | |
| 119 | + // TODO @AI:导出是不是也要拼接关联字段? | |
| 120 | + ExcelUtils.write(response, "车间.xls", "数据", MesMdWorkshopRespVO.class, | |
| 121 | + BeanUtils.toBean(list, MesMdWorkshopRespVO.class)); | |
| 122 | + } | |
| 123 | + | |
| 124 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; | |
| 4 | +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | |
| 5 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |
| 6 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | |
| 7 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 8 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | |
| 9 | +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | |
| 10 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationPageReqVO; | |
| 11 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationRespVO; | |
| 12 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationSaveReqVO; | |
| 13 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkshopDO; | |
| 14 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO; | |
| 15 | +import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkshopService; | |
| 16 | +import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationService; | |
| 17 | +import io.swagger.v3.oas.annotations.Operation; | |
| 18 | +import io.swagger.v3.oas.annotations.Parameter; | |
| 19 | +import io.swagger.v3.oas.annotations.tags.Tag; | |
| 20 | +import jakarta.annotation.Resource; | |
| 21 | +import jakarta.servlet.http.HttpServletResponse; | |
| 22 | +import jakarta.validation.Valid; | |
| 23 | +import org.springframework.security.access.prepost.PreAuthorize; | |
| 24 | +import org.springframework.validation.annotation.Validated; | |
| 25 | +import org.springframework.web.bind.annotation.*; | |
| 26 | + | |
| 27 | +import java.io.IOException; | |
| 28 | +import java.util.List; | |
| 29 | +import java.util.Map; | |
| 30 | + | |
| 31 | +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; | |
| 32 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | |
| 33 | +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; | |
| 34 | +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; | |
| 35 | +import static cn.iocoder.yudao.framework.common.util.collection.MapUtils.findAndThen; | |
| 36 | + | |
| 37 | +@Tag(name = "管理后台 - MES 工位") | |
| 38 | +@RestController | |
| 39 | +@RequestMapping("/mes/md-workstation") | |
| 40 | +@Validated | |
| 41 | +public class MesMdWorkstationController { | |
| 42 | + | |
| 43 | + @Resource | |
| 44 | + private MesMdWorkstationService workstationService; | |
| 45 | + | |
| 46 | + @Resource | |
| 47 | + private MesMdWorkshopService workshopService; | |
| 48 | + | |
| 49 | + @PostMapping("/create") | |
| 50 | + @Operation(summary = "创建工位") | |
| 51 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:create')") | |
| 52 | + public CommonResult<Long> createWorkstation(@Valid @RequestBody MesMdWorkstationSaveReqVO createReqVO) { | |
| 53 | + return success(workstationService.createWorkstation(createReqVO)); | |
| 54 | + } | |
| 55 | + | |
| 56 | + @PutMapping("/update") | |
| 57 | + @Operation(summary = "更新工位") | |
| 58 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") | |
| 59 | + public CommonResult<Boolean> updateWorkstation(@Valid @RequestBody MesMdWorkstationSaveReqVO updateReqVO) { | |
| 60 | + workstationService.updateWorkstation(updateReqVO); | |
| 61 | + return success(true); | |
| 62 | + } | |
| 63 | + | |
| 64 | + @DeleteMapping("/delete") | |
| 65 | + @Operation(summary = "删除工位") | |
| 66 | + @Parameter(name = "id", description = "编号", required = true) | |
| 67 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:delete')") | |
| 68 | + public CommonResult<Boolean> deleteWorkstation(@RequestParam("id") Long id) { | |
| 69 | + workstationService.deleteWorkstation(id); | |
| 70 | + return success(true); | |
| 71 | + } | |
| 72 | + | |
| 73 | + @GetMapping("/get") | |
| 74 | + @Operation(summary = "获得工位") | |
| 75 | + @Parameter(name = "id", description = "编号", required = true, example = "1024") | |
| 76 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:query')") | |
| 77 | + public CommonResult<MesMdWorkstationRespVO> getWorkstation(@RequestParam("id") Long id) { | |
| 78 | + MesMdWorkstationDO workstation = workstationService.getWorkstation(id); | |
| 79 | + MesMdWorkstationRespVO respVO = BeanUtils.toBean(workstation, MesMdWorkstationRespVO.class); | |
| 80 | + if (respVO != null && respVO.getWorkshopId() != null) { | |
| 81 | + MesMdWorkshopDO workshop = workshopService.getWorkshop(respVO.getWorkshopId()); | |
| 82 | + if (workshop != null) { | |
| 83 | + respVO.setWorkshopName(workshop.getName()); | |
| 84 | + } | |
| 85 | + } | |
| 86 | + return success(respVO); | |
| 87 | + } | |
| 88 | + | |
| 89 | + @GetMapping("/page") | |
| 90 | + @Operation(summary = "获得工位分页") | |
| 91 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:query')") | |
| 92 | + public CommonResult<PageResult<MesMdWorkstationRespVO>> getWorkstationPage(@Valid MesMdWorkstationPageReqVO pageReqVO) { | |
| 93 | + PageResult<MesMdWorkstationDO> pageResult = workstationService.getWorkstationPage(pageReqVO); | |
| 94 | + PageResult<MesMdWorkstationRespVO> voPageResult = BeanUtils.toBean(pageResult, MesMdWorkstationRespVO.class); | |
| 95 | + // 拼装车间名称 | |
| 96 | + Map<Long, MesMdWorkshopDO> workshopMap = cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap( | |
| 97 | + workshopService.getWorkshopListByStatus(null), | |
| 98 | + MesMdWorkshopDO::getId); | |
| 99 | + voPageResult.getList().forEach(vo -> findAndThen(workshopMap, vo.getWorkshopId(), | |
| 100 | + workshop -> vo.setWorkshopName(workshop.getName()))); | |
| 101 | + return success(voPageResult); | |
| 102 | + } | |
| 103 | + | |
| 104 | + @GetMapping("/simple-list") | |
| 105 | + @Operation(summary = "获得工位精简列表", description = "只包含被开启的工位,主要用于前端的下拉选项") | |
| 106 | + public CommonResult<List<MesMdWorkstationRespVO>> getWorkstationSimpleList() { | |
| 107 | + List<MesMdWorkstationDO> list = workstationService.getWorkstationListByStatus(CommonStatusEnum.ENABLE.getStatus()); | |
| 108 | + return success(convertList(list, ws -> new MesMdWorkstationRespVO() | |
| 109 | + .setId(ws.getId()).setName(ws.getName()).setCode(ws.getCode()))); | |
| 110 | + } | |
| 111 | + | |
| 112 | + @GetMapping("/export-excel") | |
| 113 | + @Operation(summary = "导出工位 Excel") | |
| 114 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:export')") | |
| 115 | + @ApiAccessLog(operateType = EXPORT) | |
| 116 | + public void exportWorkstationExcel(@Valid MesMdWorkstationPageReqVO pageReqVO, | |
| 117 | + HttpServletResponse response) throws IOException { | |
| 118 | + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | |
| 119 | + // TODO @AI:导出是不是也要处理下关联字段?比如车间名称。 | |
| 120 | + List<MesMdWorkstationDO> list = workstationService.getWorkstationPage(pageReqVO).getList(); | |
| 121 | + ExcelUtils.write(response, "工位.xls", "数据", MesMdWorkstationRespVO.class, | |
| 122 | + BeanUtils.toBean(list, MesMdWorkstationRespVO.class)); | |
| 123 | + } | |
| 124 | + | |
| 125 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationMachineController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |
| 4 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | |
| 5 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationMachineRespVO; | |
| 6 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationMachineSaveReqVO; | |
| 7 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationMachineDO; | |
| 8 | +import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationMachineService; | |
| 9 | +import io.swagger.v3.oas.annotations.Operation; | |
| 10 | +import io.swagger.v3.oas.annotations.Parameter; | |
| 11 | +import io.swagger.v3.oas.annotations.tags.Tag; | |
| 12 | +import jakarta.annotation.Resource; | |
| 13 | +import jakarta.validation.Valid; | |
| 14 | +import org.springframework.security.access.prepost.PreAuthorize; | |
| 15 | +import org.springframework.validation.annotation.Validated; | |
| 16 | +import org.springframework.web.bind.annotation.*; | |
| 17 | + | |
| 18 | +import java.util.List; | |
| 19 | + | |
| 20 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | |
| 21 | + | |
| 22 | +@Tag(name = "管理后台 - MES 工位设备") | |
| 23 | +@RestController | |
| 24 | +@RequestMapping("/mes/md-workstation-machine") | |
| 25 | +@Validated | |
| 26 | +public class MesMdWorkstationMachineController { | |
| 27 | + | |
| 28 | + @Resource | |
| 29 | + private MesMdWorkstationMachineService workstationMachineService; | |
| 30 | + | |
| 31 | + @PostMapping("/create") | |
| 32 | + @Operation(summary = "创建工位设备") | |
| 33 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") | |
| 34 | + public CommonResult<Long> createWorkstationMachine(@Valid @RequestBody MesMdWorkstationMachineSaveReqVO createReqVO) { | |
| 35 | + return success(workstationMachineService.createWorkstationMachine(createReqVO)); | |
| 36 | + } | |
| 37 | + | |
| 38 | + @DeleteMapping("/delete") | |
| 39 | + @Operation(summary = "删除工位设备") | |
| 40 | + @Parameter(name = "id", description = "编号", required = true) | |
| 41 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") | |
| 42 | + public CommonResult<Boolean> deleteWorkstationMachine(@RequestParam("id") Long id) { | |
| 43 | + workstationMachineService.deleteWorkstationMachine(id); | |
| 44 | + return success(true); | |
| 45 | + } | |
| 46 | + | |
| 47 | + @GetMapping("/list-by-workstation") | |
| 48 | + @Operation(summary = "获得工位设备列表") | |
| 49 | + @Parameter(name = "workstationId", description = "工位编号", required = true) | |
| 50 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:query')") | |
| 51 | + public CommonResult<List<MesMdWorkstationMachineRespVO>> getWorkstationMachineList( | |
| 52 | + @RequestParam("workstationId") Long workstationId) { | |
| 53 | + List<MesMdWorkstationMachineDO> list = workstationMachineService.getWorkstationMachineListByWorkstationId(workstationId); | |
| 54 | + // TODO @芋艿:拼装设备编码/名称,等 DV 设备模块完成后对接 | |
| 55 | + return success(BeanUtils.toBean(list, MesMdWorkstationMachineRespVO.class)); | |
| 56 | + } | |
| 57 | + | |
| 58 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationToolController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |
| 4 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | |
| 5 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.tool.MesMdWorkstationToolRespVO; | |
| 6 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.tool.MesMdWorkstationToolSaveReqVO; | |
| 7 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationToolDO; | |
| 8 | +import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationToolService; | |
| 9 | +import io.swagger.v3.oas.annotations.Operation; | |
| 10 | +import io.swagger.v3.oas.annotations.Parameter; | |
| 11 | +import io.swagger.v3.oas.annotations.tags.Tag; | |
| 12 | +import jakarta.annotation.Resource; | |
| 13 | +import jakarta.validation.Valid; | |
| 14 | +import org.springframework.security.access.prepost.PreAuthorize; | |
| 15 | +import org.springframework.validation.annotation.Validated; | |
| 16 | +import org.springframework.web.bind.annotation.*; | |
| 17 | + | |
| 18 | +import java.util.List; | |
| 19 | + | |
| 20 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | |
| 21 | + | |
| 22 | +@Tag(name = "管理后台 - MES 工位工具") | |
| 23 | +@RestController | |
| 24 | +@RequestMapping("/mes/md-workstation-tool") | |
| 25 | +@Validated | |
| 26 | +public class MesMdWorkstationToolController { | |
| 27 | + | |
| 28 | + @Resource | |
| 29 | + private MesMdWorkstationToolService workstationToolService; | |
| 30 | + | |
| 31 | + @PostMapping("/create") | |
| 32 | + @Operation(summary = "创建工位工具") | |
| 33 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") | |
| 34 | + public CommonResult<Long> createWorkstationTool(@Valid @RequestBody MesMdWorkstationToolSaveReqVO createReqVO) { | |
| 35 | + return success(workstationToolService.createWorkstationTool(createReqVO)); | |
| 36 | + } | |
| 37 | + | |
| 38 | + @PutMapping("/update") | |
| 39 | + @Operation(summary = "更新工位工具") | |
| 40 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") | |
| 41 | + public CommonResult<Boolean> updateWorkstationTool(@Valid @RequestBody MesMdWorkstationToolSaveReqVO updateReqVO) { | |
| 42 | + workstationToolService.updateWorkstationTool(updateReqVO); | |
| 43 | + return success(true); | |
| 44 | + } | |
| 45 | + | |
| 46 | + @DeleteMapping("/delete") | |
| 47 | + @Operation(summary = "删除工位工具") | |
| 48 | + @Parameter(name = "id", description = "编号", required = true) | |
| 49 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") | |
| 50 | + public CommonResult<Boolean> deleteWorkstationTool(@RequestParam("id") Long id) { | |
| 51 | + workstationToolService.deleteWorkstationTool(id); | |
| 52 | + return success(true); | |
| 53 | + } | |
| 54 | + | |
| 55 | + @GetMapping("/list-by-workstation") | |
| 56 | + @Operation(summary = "获得工位工具列表") | |
| 57 | + @Parameter(name = "workstationId", description = "工位编号", required = true) | |
| 58 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:query')") | |
| 59 | + public CommonResult<List<MesMdWorkstationToolRespVO>> getWorkstationToolList( | |
| 60 | + @RequestParam("workstationId") Long workstationId) { | |
| 61 | + List<MesMdWorkstationToolDO> list = workstationToolService.getWorkstationToolListByWorkstationId(workstationId); | |
| 62 | + // TODO @芋艿:拼装工具类型名称,等 TM 工具模块完成后对接 | |
| 63 | + return success(BeanUtils.toBean(list, MesMdWorkstationToolRespVO.class)); | |
| 64 | + } | |
| 65 | + | |
| 66 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationWorkerController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |
| 4 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | |
| 5 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.worker.MesMdWorkstationWorkerRespVO; | |
| 6 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.worker.MesMdWorkstationWorkerSaveReqVO; | |
| 7 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationWorkerDO; | |
| 8 | +import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationWorkerService; | |
| 9 | +import io.swagger.v3.oas.annotations.Operation; | |
| 10 | +import io.swagger.v3.oas.annotations.Parameter; | |
| 11 | +import io.swagger.v3.oas.annotations.tags.Tag; | |
| 12 | +import jakarta.annotation.Resource; | |
| 13 | +import jakarta.validation.Valid; | |
| 14 | +import org.springframework.security.access.prepost.PreAuthorize; | |
| 15 | +import org.springframework.validation.annotation.Validated; | |
| 16 | +import org.springframework.web.bind.annotation.*; | |
| 17 | + | |
| 18 | +import java.util.List; | |
| 19 | + | |
| 20 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | |
| 21 | + | |
| 22 | +@Tag(name = "管理后台 - MES 工位人员") | |
| 23 | +@RestController | |
| 24 | +@RequestMapping("/mes/md-workstation-worker") | |
| 25 | +@Validated | |
| 26 | +public class MesMdWorkstationWorkerController { | |
| 27 | + | |
| 28 | + @Resource | |
| 29 | + private MesMdWorkstationWorkerService workstationWorkerService; | |
| 30 | + | |
| 31 | + @PostMapping("/create") | |
| 32 | + @Operation(summary = "创建工位人员") | |
| 33 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") | |
| 34 | + public CommonResult<Long> createWorkstationWorker(@Valid @RequestBody MesMdWorkstationWorkerSaveReqVO createReqVO) { | |
| 35 | + return success(workstationWorkerService.createWorkstationWorker(createReqVO)); | |
| 36 | + } | |
| 37 | + | |
| 38 | + @PutMapping("/update") | |
| 39 | + @Operation(summary = "更新工位人员") | |
| 40 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") | |
| 41 | + public CommonResult<Boolean> updateWorkstationWorker(@Valid @RequestBody MesMdWorkstationWorkerSaveReqVO updateReqVO) { | |
| 42 | + workstationWorkerService.updateWorkstationWorker(updateReqVO); | |
| 43 | + return success(true); | |
| 44 | + } | |
| 45 | + | |
| 46 | + @DeleteMapping("/delete") | |
| 47 | + @Operation(summary = "删除工位人员") | |
| 48 | + @Parameter(name = "id", description = "编号", required = true) | |
| 49 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:update')") | |
| 50 | + public CommonResult<Boolean> deleteWorkstationWorker(@RequestParam("id") Long id) { | |
| 51 | + workstationWorkerService.deleteWorkstationWorker(id); | |
| 52 | + return success(true); | |
| 53 | + } | |
| 54 | + | |
| 55 | + @GetMapping("/list-by-workstation") | |
| 56 | + @Operation(summary = "获得工位人员列表") | |
| 57 | + @Parameter(name = "workstationId", description = "工位编号", required = true) | |
| 58 | + @PreAuthorize("@ss.hasPermission('mes:md-workstation:query')") | |
| 59 | + public CommonResult<List<MesMdWorkstationWorkerRespVO>> getWorkstationWorkerList( | |
| 60 | + @RequestParam("workstationId") Long workstationId) { | |
| 61 | + List<MesMdWorkstationWorkerDO> list = workstationWorkerService.getWorkstationWorkerListByWorkstationId(workstationId); | |
| 62 | + // TODO @芋艿:拼装岗位名称,等前端从 system_post 获取岗位下拉列表 | |
| 63 | + // TODO @AI:拼接下! | |
| 64 | + return success(BeanUtils.toBean(list, MesMdWorkstationWorkerRespVO.class)); | |
| 65 | + } | |
| 66 | + | |
| 67 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/vo/MesMdWorkstationMachineRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo; | |
| 2 | + | |
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 4 | +import lombok.Data; | |
| 5 | + | |
| 6 | +import java.time.LocalDateTime; | |
| 7 | + | |
| 8 | +@Schema(description = "管理后台 - MES 工位设备 Response VO") | |
| 9 | +@Data | |
| 10 | +public class MesMdWorkstationMachineRespVO { | |
| 11 | + | |
| 12 | + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | |
| 13 | + private Long id; | |
| 14 | + | |
| 15 | + @Schema(description = "工位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 16 | + private Long workstationId; | |
| 17 | + | |
| 18 | + @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 19 | + private Long machineryId; | |
| 20 | + | |
| 21 | + @Schema(description = "设备编码", example = "M001") | |
| 22 | + private String machineryCode; | |
| 23 | + | |
| 24 | + @Schema(description = "设备名称", example = "CNC数控机床") | |
| 25 | + private String machineryName; | |
| 26 | + | |
| 27 | + @Schema(description = "数量", example = "1") | |
| 28 | + private Integer quantity; | |
| 29 | + | |
| 30 | + @Schema(description = "备注") | |
| 31 | + private String remark; | |
| 32 | + | |
| 33 | + @Schema(description = "创建时间") | |
| 34 | + private LocalDateTime createTime; | |
| 35 | + | |
| 36 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/vo/MesMdWorkstationMachineSaveReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo; | |
| 2 | + | |
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 4 | +import jakarta.validation.constraints.NotNull; | |
| 5 | +import lombok.Data; | |
| 6 | + | |
| 7 | +@Schema(description = "管理后台 - MES 工位设备新增 Request VO") | |
| 8 | +@Data | |
| 9 | +public class MesMdWorkstationMachineSaveReqVO { | |
| 10 | + | |
| 11 | + @Schema(description = "编号", example = "1024") | |
| 12 | + private Long id; | |
| 13 | + | |
| 14 | + @Schema(description = "工位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 15 | + @NotNull(message = "工位不能为空") | |
| 16 | + private Long workstationId; | |
| 17 | + | |
| 18 | + @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 19 | + @NotNull(message = "设备不能为空") | |
| 20 | + private Long machineryId; | |
| 21 | + | |
| 22 | + @Schema(description = "数量", example = "1") | |
| 23 | + private Integer quantity; | |
| 24 | + | |
| 25 | + @Schema(description = "备注") | |
| 26 | + private String remark; | |
| 27 | + | |
| 28 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/vo/MesMdWorkstationPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | |
| 4 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 5 | +import lombok.Data; | |
| 6 | +import lombok.EqualsAndHashCode; | |
| 7 | +import lombok.ToString; | |
| 8 | + | |
| 9 | +@Schema(description = "管理后台 - MES 工位分页 Request VO") | |
| 10 | +@Data | |
| 11 | +@EqualsAndHashCode(callSuper = true) | |
| 12 | +@ToString(callSuper = true) | |
| 13 | +public class MesMdWorkstationPageReqVO extends PageParam { | |
| 14 | + | |
| 15 | + @Schema(description = "工位编码", example = "WK001") | |
| 16 | + private String code; | |
| 17 | + | |
| 18 | + @Schema(description = "工位名称", example = "一号工位") | |
| 19 | + private String name; | |
| 20 | + | |
| 21 | + @Schema(description = "所在车间编号", example = "1") | |
| 22 | + private Long workshopId; | |
| 23 | + | |
| 24 | + @Schema(description = "状态", example = "0") | |
| 25 | + private Integer status; | |
| 26 | + | |
| 27 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/vo/MesMdWorkstationRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo; | |
| 2 | + | |
| 3 | +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; | |
| 4 | +import cn.idev.excel.annotation.ExcelProperty; | |
| 5 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 6 | +import lombok.Data; | |
| 7 | + | |
| 8 | +import java.time.LocalDateTime; | |
| 9 | + | |
| 10 | +@Schema(description = "管理后台 - MES 工位 Response VO") | |
| 11 | +@Data | |
| 12 | +@ExcelIgnoreUnannotated | |
| 13 | +public class MesMdWorkstationRespVO { | |
| 14 | + | |
| 15 | + @Schema(description = "工位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | |
| 16 | + @ExcelProperty("工位编号") | |
| 17 | + private Long id; | |
| 18 | + | |
| 19 | + @Schema(description = "工位编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "WK001") | |
| 20 | + @ExcelProperty("工位编码") | |
| 21 | + private String code; | |
| 22 | + | |
| 23 | + @Schema(description = "工位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "一号工位") | |
| 24 | + @ExcelProperty("工位名称") | |
| 25 | + private String name; | |
| 26 | + | |
| 27 | + @Schema(description = "工位地点", example = "A区1号线") | |
| 28 | + @ExcelProperty("工位地点") | |
| 29 | + private String address; | |
| 30 | + | |
| 31 | + @Schema(description = "所在车间编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 32 | + private Long workshopId; | |
| 33 | + | |
| 34 | + @Schema(description = "车间名称", example = "一号车间") | |
| 35 | + @ExcelProperty("车间名称") | |
| 36 | + private String workshopName; | |
| 37 | + | |
| 38 | + @Schema(description = "工序编号", example = "1") | |
| 39 | + private Long processId; | |
| 40 | + | |
| 41 | + @Schema(description = "线边库编号", example = "1") | |
| 42 | + private Long warehouseId; | |
| 43 | + | |
| 44 | + @Schema(description = "库区编号", example = "1") | |
| 45 | + private Long locationId; | |
| 46 | + | |
| 47 | + @Schema(description = "库位编号", example = "1") | |
| 48 | + private Long areaId; | |
| 49 | + | |
| 50 | + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") | |
| 51 | + @ExcelProperty("状态") | |
| 52 | + private Integer status; | |
| 53 | + | |
| 54 | + @Schema(description = "备注", example = "备注") | |
| 55 | + @ExcelProperty("备注") | |
| 56 | + private String remark; | |
| 57 | + | |
| 58 | + @Schema(description = "预留字段1") | |
| 59 | + private String attribute1; | |
| 60 | + | |
| 61 | + @Schema(description = "预留字段2") | |
| 62 | + private String attribute2; | |
| 63 | + | |
| 64 | + @Schema(description = "预留字段3") | |
| 65 | + private Integer attribute3; | |
| 66 | + | |
| 67 | + @Schema(description = "预留字段4") | |
| 68 | + private Integer attribute4; | |
| 69 | + | |
| 70 | + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) | |
| 71 | + @ExcelProperty("创建时间") | |
| 72 | + private LocalDateTime createTime; | |
| 73 | + | |
| 74 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/vo/MesMdWorkstationSaveReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo; | |
| 2 | + | |
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 4 | +import jakarta.validation.constraints.NotEmpty; | |
| 5 | +import jakarta.validation.constraints.NotNull; | |
| 6 | +import lombok.Data; | |
| 7 | + | |
| 8 | +@Schema(description = "管理后台 - MES 工位新增/修改 Request VO") | |
| 9 | +@Data | |
| 10 | +public class MesMdWorkstationSaveReqVO { | |
| 11 | + | |
| 12 | + @Schema(description = "工位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | |
| 13 | + private Long id; | |
| 14 | + | |
| 15 | + @Schema(description = "工位编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "WK001") | |
| 16 | + @NotEmpty(message = "工位编码不能为空") | |
| 17 | + private String code; | |
| 18 | + | |
| 19 | + @Schema(description = "工位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "一号工位") | |
| 20 | + @NotEmpty(message = "工位名称不能为空") | |
| 21 | + private String name; | |
| 22 | + | |
| 23 | + @Schema(description = "工位地点", example = "A区1号线") | |
| 24 | + private String address; | |
| 25 | + | |
| 26 | + @Schema(description = "所在车间编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 27 | + @NotNull(message = "所在车间不能为空") | |
| 28 | + private Long workshopId; | |
| 29 | + | |
| 30 | + @Schema(description = "工序编号", example = "1") | |
| 31 | + private Long processId; | |
| 32 | + | |
| 33 | + @Schema(description = "线边库编号", example = "1") | |
| 34 | + private Long warehouseId; | |
| 35 | + | |
| 36 | + @Schema(description = "库区编号", example = "1") | |
| 37 | + private Long locationId; | |
| 38 | + | |
| 39 | + @Schema(description = "库位编号", example = "1") | |
| 40 | + private Long areaId; | |
| 41 | + | |
| 42 | + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") | |
| 43 | + @NotNull(message = "状态不能为空") | |
| 44 | + private Integer status; | |
| 45 | + | |
| 46 | + @Schema(description = "备注", example = "备注") | |
| 47 | + private String remark; | |
| 48 | + | |
| 49 | + @Schema(description = "预留字段1") | |
| 50 | + private String attribute1; | |
| 51 | + | |
| 52 | + @Schema(description = "预留字段2") | |
| 53 | + private String attribute2; | |
| 54 | + | |
| 55 | + @Schema(description = "预留字段3") | |
| 56 | + private Integer attribute3; | |
| 57 | + | |
| 58 | + @Schema(description = "预留字段4") | |
| 59 | + private Integer attribute4; | |
| 60 | + | |
| 61 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/vo/tool/MesMdWorkstationToolRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.tool; | |
| 2 | + | |
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 4 | +import lombok.Data; | |
| 5 | + | |
| 6 | +import java.time.LocalDateTime; | |
| 7 | + | |
| 8 | +@Schema(description = "管理后台 - MES 工位工具 Response VO") | |
| 9 | +@Data | |
| 10 | +public class MesMdWorkstationToolRespVO { | |
| 11 | + | |
| 12 | + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | |
| 13 | + private Long id; | |
| 14 | + | |
| 15 | + @Schema(description = "工位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 16 | + private Long workstationId; | |
| 17 | + | |
| 18 | + @Schema(description = "工具类型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 19 | + private Long toolTypeId; | |
| 20 | + | |
| 21 | + @Schema(description = "工具类型名称", example = "钻头") | |
| 22 | + private String toolTypeName; | |
| 23 | + | |
| 24 | + @Schema(description = "数量", example = "1") | |
| 25 | + private Integer quantity; | |
| 26 | + | |
| 27 | + @Schema(description = "备注") | |
| 28 | + private String remark; | |
| 29 | + | |
| 30 | + @Schema(description = "创建时间") | |
| 31 | + private LocalDateTime createTime; | |
| 32 | + | |
| 33 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/vo/tool/MesMdWorkstationToolSaveReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.tool; | |
| 2 | + | |
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 4 | +import jakarta.validation.constraints.NotNull; | |
| 5 | +import lombok.Data; | |
| 6 | + | |
| 7 | +@Schema(description = "管理后台 - MES 工位工具新增/修改 Request VO") | |
| 8 | +@Data | |
| 9 | +public class MesMdWorkstationToolSaveReqVO { | |
| 10 | + | |
| 11 | + @Schema(description = "编号", example = "1024") | |
| 12 | + private Long id; | |
| 13 | + | |
| 14 | + @Schema(description = "工位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 15 | + @NotNull(message = "工位不能为空") | |
| 16 | + private Long workstationId; | |
| 17 | + | |
| 18 | + @Schema(description = "工具类型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 19 | + @NotNull(message = "工具类型不能为空") | |
| 20 | + private Long toolTypeId; | |
| 21 | + | |
| 22 | + @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 23 | + @NotNull(message = "数量不能为空") | |
| 24 | + private Integer quantity; | |
| 25 | + | |
| 26 | + @Schema(description = "备注") | |
| 27 | + private String remark; | |
| 28 | + | |
| 29 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/vo/worker/MesMdWorkstationWorkerRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.worker; | |
| 2 | + | |
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 4 | +import lombok.Data; | |
| 5 | + | |
| 6 | +import java.time.LocalDateTime; | |
| 7 | + | |
| 8 | +@Schema(description = "管理后台 - MES 工位人员 Response VO") | |
| 9 | +@Data | |
| 10 | +public class MesMdWorkstationWorkerRespVO { | |
| 11 | + | |
| 12 | + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | |
| 13 | + private Long id; | |
| 14 | + | |
| 15 | + @Schema(description = "工位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 16 | + private Long workstationId; | |
| 17 | + | |
| 18 | + @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 19 | + private Long postId; | |
| 20 | + | |
| 21 | + @Schema(description = "岗位名称", example = "操作员") | |
| 22 | + private String postName; | |
| 23 | + | |
| 24 | + @Schema(description = "数量", example = "1") | |
| 25 | + private Integer quantity; | |
| 26 | + | |
| 27 | + @Schema(description = "备注") | |
| 28 | + private String remark; | |
| 29 | + | |
| 30 | + @Schema(description = "创建时间") | |
| 31 | + private LocalDateTime createTime; | |
| 32 | + | |
| 33 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/vo/worker/MesMdWorkstationWorkerSaveReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.worker; | |
| 2 | + | |
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 4 | +import jakarta.validation.constraints.NotNull; | |
| 5 | +import lombok.Data; | |
| 6 | + | |
| 7 | +@Schema(description = "管理后台 - MES 工位人员新增/修改 Request VO") | |
| 8 | +@Data | |
| 9 | +public class MesMdWorkstationWorkerSaveReqVO { | |
| 10 | + | |
| 11 | + @Schema(description = "编号", example = "1024") | |
| 12 | + private Long id; | |
| 13 | + | |
| 14 | + @Schema(description = "工位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 15 | + @NotNull(message = "工位不能为空") | |
| 16 | + private Long workstationId; | |
| 17 | + | |
| 18 | + @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 19 | + @NotNull(message = "岗位不能为空") | |
| 20 | + private Long postId; | |
| 21 | + | |
| 22 | + @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 23 | + @NotNull(message = "数量不能为空") | |
| 24 | + private Integer quantity; | |
| 25 | + | |
| 26 | + @Schema(description = "备注") | |
| 27 | + private String remark; | |
| 28 | + | |
| 29 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/vo/workshop/MesMdWorkshopPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | |
| 4 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 5 | +import lombok.Data; | |
| 6 | +import lombok.EqualsAndHashCode; | |
| 7 | +import lombok.ToString; | |
| 8 | + | |
| 9 | +@Schema(description = "管理后台 - MES 车间分页 Request VO") | |
| 10 | +@Data | |
| 11 | +@EqualsAndHashCode(callSuper = true) | |
| 12 | +@ToString(callSuper = true) | |
| 13 | +public class MesMdWorkshopPageReqVO extends PageParam { | |
| 14 | + | |
| 15 | + @Schema(description = "车间编码", example = "WS001") | |
| 16 | + private String code; | |
| 17 | + | |
| 18 | + @Schema(description = "车间名称", example = "一号车间") | |
| 19 | + private String name; | |
| 20 | + | |
| 21 | + @Schema(description = "状态", example = "0") | |
| 22 | + private Integer status; | |
| 23 | + | |
| 24 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/vo/workshop/MesMdWorkshopRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop; | |
| 2 | + | |
| 3 | +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; | |
| 4 | +import cn.idev.excel.annotation.ExcelProperty; | |
| 5 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 6 | +import lombok.Data; | |
| 7 | + | |
| 8 | +import java.math.BigDecimal; | |
| 9 | +import java.time.LocalDateTime; | |
| 10 | + | |
| 11 | +@Schema(description = "管理后台 - MES 车间 Response VO") | |
| 12 | +@Data | |
| 13 | +@ExcelIgnoreUnannotated | |
| 14 | +public class MesMdWorkshopRespVO { | |
| 15 | + | |
| 16 | + @Schema(description = "车间编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | |
| 17 | + @ExcelProperty("车间编号") | |
| 18 | + private Long id; | |
| 19 | + | |
| 20 | + @Schema(description = "车间编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "WS001") | |
| 21 | + @ExcelProperty("车间编码") | |
| 22 | + private String code; | |
| 23 | + | |
| 24 | + @Schema(description = "车间名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "一号车间") | |
| 25 | + @ExcelProperty("车间名称") | |
| 26 | + private String name; | |
| 27 | + | |
| 28 | + @Schema(description = "面积", example = "1000.00") | |
| 29 | + @ExcelProperty("面积") | |
| 30 | + private BigDecimal area; | |
| 31 | + | |
| 32 | + @Schema(description = "负责人用户编号", example = "1") | |
| 33 | + private Long chargeUserId; | |
| 34 | + | |
| 35 | + @Schema(description = "负责人名称", example = "张三") | |
| 36 | + @ExcelProperty("负责人") | |
| 37 | + private String chargeUserName; | |
| 38 | + | |
| 39 | + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") | |
| 40 | + @ExcelProperty("状态") | |
| 41 | + private Integer status; | |
| 42 | + | |
| 43 | + @Schema(description = "备注", example = "备注") | |
| 44 | + @ExcelProperty("备注") | |
| 45 | + private String remark; | |
| 46 | + | |
| 47 | + @Schema(description = "预留字段1") | |
| 48 | + private String attribute1; | |
| 49 | + | |
| 50 | + @Schema(description = "预留字段2") | |
| 51 | + private String attribute2; | |
| 52 | + | |
| 53 | + @Schema(description = "预留字段3") | |
| 54 | + private Integer attribute3; | |
| 55 | + | |
| 56 | + @Schema(description = "预留字段4") | |
| 57 | + private Integer attribute4; | |
| 58 | + | |
| 59 | + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) | |
| 60 | + @ExcelProperty("创建时间") | |
| 61 | + private LocalDateTime createTime; | |
| 62 | + | |
| 63 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/vo/workshop/MesMdWorkshopSaveReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop; | |
| 2 | + | |
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 4 | +import jakarta.validation.constraints.NotEmpty; | |
| 5 | +import jakarta.validation.constraints.NotNull; | |
| 6 | +import lombok.Data; | |
| 7 | + | |
| 8 | +import java.math.BigDecimal; | |
| 9 | + | |
| 10 | +@Schema(description = "管理后台 - MES 车间新增/修改 Request VO") | |
| 11 | +@Data | |
| 12 | +public class MesMdWorkshopSaveReqVO { | |
| 13 | + | |
| 14 | + @Schema(description = "车间编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | |
| 15 | + private Long id; | |
| 16 | + | |
| 17 | + @Schema(description = "车间编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "WS001") | |
| 18 | + @NotEmpty(message = "车间编码不能为空") | |
| 19 | + private String code; | |
| 20 | + | |
| 21 | + @Schema(description = "车间名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "一号车间") | |
| 22 | + @NotEmpty(message = "车间名称不能为空") | |
| 23 | + private String name; | |
| 24 | + | |
| 25 | + @Schema(description = "面积", example = "1000.00") | |
| 26 | + private BigDecimal area; | |
| 27 | + | |
| 28 | + @Schema(description = "负责人用户编号", example = "1") | |
| 29 | + private Long chargeUserId; | |
| 30 | + | |
| 31 | + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") | |
| 32 | + @NotNull(message = "状态不能为空") | |
| 33 | + private Integer status; | |
| 34 | + | |
| 35 | + @Schema(description = "备注", example = "备注") | |
| 36 | + private String remark; | |
| 37 | + | |
| 38 | + @Schema(description = "预留字段1") | |
| 39 | + private String attribute1; | |
| 40 | + | |
| 41 | + @Schema(description = "预留字段2") | |
| 42 | + private String attribute2; | |
| 43 | + | |
| 44 | + @Schema(description = "预留字段3") | |
| 45 | + private Integer attribute3; | |
| 46 | + | |
| 47 | + @Schema(description = "预留字段4") | |
| 48 | + private Integer attribute4; | |
| 49 | + | |
| 50 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/workstation/MesMdWorkshopDO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | |
| 4 | +import com.baomidou.mybatisplus.annotation.KeySequence; | |
| 5 | +import com.baomidou.mybatisplus.annotation.TableId; | |
| 6 | +import com.baomidou.mybatisplus.annotation.TableName; | |
| 7 | +import lombok.*; | |
| 8 | + | |
| 9 | +import java.math.BigDecimal; | |
| 10 | + | |
| 11 | +// TODO @AI:注释;以及关联; | |
| 12 | +@TableName("mes_md_workshop") | |
| 13 | +@KeySequence("mes_md_workshop_seq") | |
| 14 | +@Data | |
| 15 | +@EqualsAndHashCode(callSuper = true) | |
| 16 | +@ToString(callSuper = true) | |
| 17 | +@Builder | |
| 18 | +@NoArgsConstructor | |
| 19 | +@AllArgsConstructor | |
| 20 | +public class MesMdWorkshopDO extends BaseDO { | |
| 21 | + | |
| 22 | + @TableId | |
| 23 | + private Long id; | |
| 24 | + private String code; | |
| 25 | + private String name; | |
| 26 | + private BigDecimal area; | |
| 27 | + private Long chargeUserId; | |
| 28 | + private Integer status; | |
| 29 | + private String remark; | |
| 30 | + private String attribute1; | |
| 31 | + private String attribute2; | |
| 32 | + private Integer attribute3; | |
| 33 | + private Integer attribute4; | |
| 34 | + | |
| 35 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/workstation/MesMdWorkstationDO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | |
| 4 | +import com.baomidou.mybatisplus.annotation.KeySequence; | |
| 5 | +import com.baomidou.mybatisplus.annotation.TableId; | |
| 6 | +import com.baomidou.mybatisplus.annotation.TableName; | |
| 7 | +import lombok.*; | |
| 8 | + | |
| 9 | +// TODO @AI:注释;以及关联; | |
| 10 | +@TableName("mes_md_workstation") | |
| 11 | +@KeySequence("mes_md_workstation_seq") | |
| 12 | +@Data | |
| 13 | +@EqualsAndHashCode(callSuper = true) | |
| 14 | +@ToString(callSuper = true) | |
| 15 | +@Builder | |
| 16 | +@NoArgsConstructor | |
| 17 | +@AllArgsConstructor | |
| 18 | +public class MesMdWorkstationDO extends BaseDO { | |
| 19 | + | |
| 20 | + @TableId | |
| 21 | + private Long id; | |
| 22 | + private String code; | |
| 23 | + private String name; | |
| 24 | + private String address; | |
| 25 | + private Long workshopId; | |
| 26 | + private Long processId; | |
| 27 | + private Long warehouseId; | |
| 28 | + private Long locationId; | |
| 29 | + private Long areaId; | |
| 30 | + private Integer status; | |
| 31 | + private String remark; | |
| 32 | + private String attribute1; | |
| 33 | + private String attribute2; | |
| 34 | + private Integer attribute3; | |
| 35 | + private Integer attribute4; | |
| 36 | + | |
| 37 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/workstation/MesMdWorkstationMachineDO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | |
| 4 | +import com.baomidou.mybatisplus.annotation.KeySequence; | |
| 5 | +import com.baomidou.mybatisplus.annotation.TableId; | |
| 6 | +import com.baomidou.mybatisplus.annotation.TableName; | |
| 7 | +import lombok.*; | |
| 8 | + | |
| 9 | +// TODO @AI:注释;以及关联; | |
| 10 | +@TableName("mes_md_workstation_machine") | |
| 11 | +@KeySequence("mes_md_workstation_machine_seq") | |
| 12 | +@Data | |
| 13 | +@EqualsAndHashCode(callSuper = true) | |
| 14 | +@ToString(callSuper = true) | |
| 15 | +@Builder | |
| 16 | +@NoArgsConstructor | |
| 17 | +@AllArgsConstructor | |
| 18 | +public class MesMdWorkstationMachineDO extends BaseDO { | |
| 19 | + | |
| 20 | + @TableId | |
| 21 | + private Long id; | |
| 22 | + private Long workstationId; | |
| 23 | + private Long machineryId; | |
| 24 | + private Integer quantity; | |
| 25 | + private String remark; | |
| 26 | + private String attribute1; | |
| 27 | + private String attribute2; | |
| 28 | + private Integer attribute3; | |
| 29 | + private Integer attribute4; | |
| 30 | + | |
| 31 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/workstation/MesMdWorkstationToolDO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | |
| 4 | +import com.baomidou.mybatisplus.annotation.KeySequence; | |
| 5 | +import com.baomidou.mybatisplus.annotation.TableId; | |
| 6 | +import com.baomidou.mybatisplus.annotation.TableName; | |
| 7 | +import lombok.*; | |
| 8 | + | |
| 9 | +// TODO @AI:注释;以及关联; | |
| 10 | +@TableName("mes_md_workstation_tool") | |
| 11 | +@KeySequence("mes_md_workstation_tool_seq") | |
| 12 | +@Data | |
| 13 | +@EqualsAndHashCode(callSuper = true) | |
| 14 | +@ToString(callSuper = true) | |
| 15 | +@Builder | |
| 16 | +@NoArgsConstructor | |
| 17 | +@AllArgsConstructor | |
| 18 | +public class MesMdWorkstationToolDO extends BaseDO { | |
| 19 | + | |
| 20 | + @TableId | |
| 21 | + private Long id; | |
| 22 | + private Long workstationId; | |
| 23 | + private Long toolTypeId; | |
| 24 | + private Integer quantity; | |
| 25 | + private String remark; | |
| 26 | + private String attribute1; | |
| 27 | + private String attribute2; | |
| 28 | + private Integer attribute3; | |
| 29 | + private Integer attribute4; | |
| 30 | + | |
| 31 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/workstation/MesMdWorkstationWorkerDO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | |
| 4 | +import com.baomidou.mybatisplus.annotation.KeySequence; | |
| 5 | +import com.baomidou.mybatisplus.annotation.TableId; | |
| 6 | +import com.baomidou.mybatisplus.annotation.TableName; | |
| 7 | +import lombok.*; | |
| 8 | + | |
| 9 | +// TODO @AI:注释;以及关联; | |
| 10 | +@TableName("mes_md_workstation_worker") | |
| 11 | +@KeySequence("mes_md_workstation_worker_seq") | |
| 12 | +@Data | |
| 13 | +@EqualsAndHashCode(callSuper = true) | |
| 14 | +@ToString(callSuper = true) | |
| 15 | +@Builder | |
| 16 | +@NoArgsConstructor | |
| 17 | +@AllArgsConstructor | |
| 18 | +public class MesMdWorkstationWorkerDO extends BaseDO { | |
| 19 | + | |
| 20 | + @TableId | |
| 21 | + private Long id; | |
| 22 | + private Long workstationId; | |
| 23 | + private Long postId; | |
| 24 | + private Integer quantity; | |
| 25 | + private String remark; | |
| 26 | + private String attribute1; | |
| 27 | + private String attribute2; | |
| 28 | + private Integer attribute3; | |
| 29 | + private Integer attribute4; | |
| 30 | + | |
| 31 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkshopMapper.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.dal.mysql.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | |
| 5 | +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | |
| 6 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop.MesMdWorkshopPageReqVO; | |
| 7 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkshopDO; | |
| 8 | +import org.apache.ibatis.annotations.Mapper; | |
| 9 | + | |
| 10 | +import java.util.List; | |
| 11 | + | |
| 12 | +// TODO @AI:注释; | |
| 13 | +@Mapper | |
| 14 | +public interface MesMdWorkshopMapper extends BaseMapperX<MesMdWorkshopDO> { | |
| 15 | + | |
| 16 | + default PageResult<MesMdWorkshopDO> selectPage(MesMdWorkshopPageReqVO reqVO) { | |
| 17 | + return selectPage(reqVO, new LambdaQueryWrapperX<MesMdWorkshopDO>() | |
| 18 | + .eqIfPresent(MesMdWorkshopDO::getCode, reqVO.getCode()) | |
| 19 | + .likeIfPresent(MesMdWorkshopDO::getName, reqVO.getName()) | |
| 20 | + .eqIfPresent(MesMdWorkshopDO::getStatus, reqVO.getStatus()) | |
| 21 | + .orderByDesc(MesMdWorkshopDO::getId)); | |
| 22 | + } | |
| 23 | + | |
| 24 | + default MesMdWorkshopDO selectByCode(String code) { | |
| 25 | + return selectOne(MesMdWorkshopDO::getCode, code); | |
| 26 | + } | |
| 27 | + | |
| 28 | + default MesMdWorkshopDO selectByName(String name) { | |
| 29 | + return selectOne(MesMdWorkshopDO::getName, name); | |
| 30 | + } | |
| 31 | + | |
| 32 | + default List<MesMdWorkshopDO> selectListByStatus(Integer status) { | |
| 33 | + return selectList(MesMdWorkshopDO::getStatus, status); | |
| 34 | + } | |
| 35 | + | |
| 36 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkstationMachineMapper.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.dal.mysql.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | |
| 4 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationMachineDO; | |
| 5 | +import org.apache.ibatis.annotations.Mapper; | |
| 6 | + | |
| 7 | +import java.util.List; | |
| 8 | + | |
| 9 | +// TODO @AI:注释; | |
| 10 | +@Mapper | |
| 11 | +public interface MesMdWorkstationMachineMapper extends BaseMapperX<MesMdWorkstationMachineDO> { | |
| 12 | + | |
| 13 | + default List<MesMdWorkstationMachineDO> selectListByWorkstationId(Long workstationId) { | |
| 14 | + return selectList(MesMdWorkstationMachineDO::getWorkstationId, workstationId); | |
| 15 | + } | |
| 16 | + | |
| 17 | + default MesMdWorkstationMachineDO selectByMachineryId(Long machineryId) { | |
| 18 | + return selectOne(MesMdWorkstationMachineDO::getMachineryId, machineryId); | |
| 19 | + } | |
| 20 | + | |
| 21 | + default void deleteByWorkstationId(Long workstationId) { | |
| 22 | + delete(MesMdWorkstationMachineDO::getWorkstationId, workstationId); | |
| 23 | + } | |
| 24 | + | |
| 25 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkstationMapper.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.dal.mysql.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | |
| 5 | +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | |
| 6 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationPageReqVO; | |
| 7 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO; | |
| 8 | +import org.apache.ibatis.annotations.Mapper; | |
| 9 | + | |
| 10 | +import java.util.List; | |
| 11 | + | |
| 12 | +// TODO @AI:注释; | |
| 13 | +@Mapper | |
| 14 | +public interface MesMdWorkstationMapper extends BaseMapperX<MesMdWorkstationDO> { | |
| 15 | + | |
| 16 | + default PageResult<MesMdWorkstationDO> selectPage(MesMdWorkstationPageReqVO reqVO) { | |
| 17 | + return selectPage(reqVO, new LambdaQueryWrapperX<MesMdWorkstationDO>() | |
| 18 | + .eqIfPresent(MesMdWorkstationDO::getCode, reqVO.getCode()) | |
| 19 | + .likeIfPresent(MesMdWorkstationDO::getName, reqVO.getName()) | |
| 20 | + .eqIfPresent(MesMdWorkstationDO::getWorkshopId, reqVO.getWorkshopId()) | |
| 21 | + .eqIfPresent(MesMdWorkstationDO::getStatus, reqVO.getStatus()) | |
| 22 | + .orderByDesc(MesMdWorkstationDO::getId)); | |
| 23 | + } | |
| 24 | + | |
| 25 | + default MesMdWorkstationDO selectByCode(String code) { | |
| 26 | + return selectOne(MesMdWorkstationDO::getCode, code); | |
| 27 | + } | |
| 28 | + | |
| 29 | + default MesMdWorkstationDO selectByName(String name) { | |
| 30 | + return selectOne(MesMdWorkstationDO::getName, name); | |
| 31 | + } | |
| 32 | + | |
| 33 | + default List<MesMdWorkstationDO> selectListByStatus(Integer status) { | |
| 34 | + return selectList(MesMdWorkstationDO::getStatus, status); | |
| 35 | + } | |
| 36 | + | |
| 37 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkstationToolMapper.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.dal.mysql.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | |
| 4 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationToolDO; | |
| 5 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |
| 6 | +import org.apache.ibatis.annotations.Mapper; | |
| 7 | + | |
| 8 | +import java.util.List; | |
| 9 | + | |
| 10 | +// TODO @AI:注释; | |
| 11 | +@Mapper | |
| 12 | +public interface MesMdWorkstationToolMapper extends BaseMapperX<MesMdWorkstationToolDO> { | |
| 13 | + | |
| 14 | + default List<MesMdWorkstationToolDO> selectListByWorkstationId(Long workstationId) { | |
| 15 | + return selectList(MesMdWorkstationToolDO::getWorkstationId, workstationId); | |
| 16 | + } | |
| 17 | + | |
| 18 | + default MesMdWorkstationToolDO selectByWorkstationIdAndToolTypeId(Long workstationId, Long toolTypeId) { | |
| 19 | + return selectOne(new LambdaQueryWrapper<MesMdWorkstationToolDO>() | |
| 20 | + .eq(MesMdWorkstationToolDO::getWorkstationId, workstationId) | |
| 21 | + .eq(MesMdWorkstationToolDO::getToolTypeId, toolTypeId)); | |
| 22 | + } | |
| 23 | + | |
| 24 | + default void deleteByWorkstationId(Long workstationId) { | |
| 25 | + delete(MesMdWorkstationToolDO::getWorkstationId, workstationId); | |
| 26 | + } | |
| 27 | + | |
| 28 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/workstation/MesMdWorkstationWorkerMapper.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.dal.mysql.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | |
| 4 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationWorkerDO; | |
| 5 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |
| 6 | +import org.apache.ibatis.annotations.Mapper; | |
| 7 | + | |
| 8 | +import java.util.List; | |
| 9 | + | |
| 10 | +// TODO @AI:注释; | |
| 11 | +@Mapper | |
| 12 | +public interface MesMdWorkstationWorkerMapper extends BaseMapperX<MesMdWorkstationWorkerDO> { | |
| 13 | + | |
| 14 | + default List<MesMdWorkstationWorkerDO> selectListByWorkstationId(Long workstationId) { | |
| 15 | + return selectList(MesMdWorkstationWorkerDO::getWorkstationId, workstationId); | |
| 16 | + } | |
| 17 | + | |
| 18 | + default MesMdWorkstationWorkerDO selectByWorkstationIdAndPostId(Long workstationId, Long postId) { | |
| 19 | + return selectOne(new LambdaQueryWrapper<MesMdWorkstationWorkerDO>() | |
| 20 | + .eq(MesMdWorkstationWorkerDO::getWorkstationId, workstationId) | |
| 21 | + .eq(MesMdWorkstationWorkerDO::getPostId, postId)); | |
| 22 | + } | |
| 23 | + | |
| 24 | + default void deleteByWorkstationId(Long workstationId) { | |
| 25 | + delete(MesMdWorkstationWorkerDO::getWorkstationId, workstationId); | |
| 26 | + } | |
| 27 | + | |
| 28 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkshopService.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.service.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop.MesMdWorkshopPageReqVO; | |
| 5 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.workshop.MesMdWorkshopSaveReqVO; | |
| 6 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkshopDO; | |
| 7 | +import jakarta.validation.Valid; | |
| 8 | + | |
| 9 | +import java.util.List; | |
| 10 | + | |
| 11 | +// TODO @AI:注释; | |
| 12 | +public interface MesMdWorkshopService { | |
| 13 | + | |
| 14 | + Long createWorkshop(@Valid MesMdWorkshopSaveReqVO createReqVO); | |
| 15 | + | |
| 16 | + void updateWorkshop(@Valid MesMdWorkshopSaveReqVO updateReqVO); | |
| 17 | + | |
| 18 | + void deleteWorkshop(Long id); | |
| 19 | + | |
| 20 | + MesMdWorkshopDO getWorkshop(Long id); | |
| 21 | + | |
| 22 | + PageResult<MesMdWorkshopDO> getWorkshopPage(MesMdWorkshopPageReqVO pageReqVO); | |
| 23 | + | |
| 24 | + List<MesMdWorkshopDO> getWorkshopListByStatus(Integer status); | |
| 25 | + | |
| 26 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkshopServiceImpl.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.service.md.workstation; | |
| 2 | + | |
| 3 | +import cn.hutool.core.util.ObjUtil; | |
| 4 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 5 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | |
| 6 | +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.MesMdWorkshopSaveReqVO; | |
| 8 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkshopDO; | |
| 9 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO; | |
| 10 | +import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkshopMapper; | |
| 11 | +import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationMapper; | |
| 12 | +import jakarta.annotation.Resource; | |
| 13 | +import org.springframework.context.annotation.Lazy; | |
| 14 | +import org.springframework.stereotype.Service; | |
| 15 | +import org.springframework.validation.annotation.Validated; | |
| 16 | + | |
| 17 | +import java.util.List; | |
| 18 | + | |
| 19 | +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | |
| 20 | +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; | |
| 21 | + | |
| 22 | +// TODO @AI:注释; | |
| 23 | +@Service | |
| 24 | +@Validated | |
| 25 | +public class MesMdWorkshopServiceImpl implements MesMdWorkshopService { | |
| 26 | + | |
| 27 | + @Resource | |
| 28 | + private MesMdWorkshopMapper workshopMapper; | |
| 29 | + | |
| 30 | + @Resource | |
| 31 | + @Lazy | |
| 32 | + private MesMdWorkstationMapper workstationMapper; | |
| 33 | + | |
| 34 | + @Override | |
| 35 | + public Long createWorkshop(MesMdWorkshopSaveReqVO createReqVO) { | |
| 36 | + validateWorkshopCodeUnique(null, createReqVO.getCode()); | |
| 37 | + validateWorkshopNameUnique(null, createReqVO.getName()); | |
| 38 | + | |
| 39 | + MesMdWorkshopDO workshop = BeanUtils.toBean(createReqVO, MesMdWorkshopDO.class); | |
| 40 | + workshopMapper.insert(workshop); | |
| 41 | + return workshop.getId(); | |
| 42 | + } | |
| 43 | + | |
| 44 | + @Override | |
| 45 | + public void updateWorkshop(MesMdWorkshopSaveReqVO updateReqVO) { | |
| 46 | + validateWorkshopExists(updateReqVO.getId()); | |
| 47 | + validateWorkshopCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); | |
| 48 | + validateWorkshopNameUnique(updateReqVO.getId(), updateReqVO.getName()); | |
| 49 | + | |
| 50 | + MesMdWorkshopDO updateObj = BeanUtils.toBean(updateReqVO, MesMdWorkshopDO.class); | |
| 51 | + workshopMapper.updateById(updateObj); | |
| 52 | + } | |
| 53 | + | |
| 54 | + @Override | |
| 55 | + public void deleteWorkshop(Long id) { | |
| 56 | + validateWorkshopExists(id); | |
| 57 | + // 校验车间下是否存在工位 | |
| 58 | + Long count = workstationMapper.selectCount(MesMdWorkstationDO::getWorkshopId, id); | |
| 59 | + if (count > 0) { | |
| 60 | + throw exception(MD_WORKSHOP_HAS_WORKSTATION); | |
| 61 | + } | |
| 62 | + workshopMapper.deleteById(id); | |
| 63 | + } | |
| 64 | + | |
| 65 | + private void validateWorkshopExists(Long id) { | |
| 66 | + if (workshopMapper.selectById(id) == null) { | |
| 67 | + throw exception(MD_WORKSHOP_NOT_EXISTS); | |
| 68 | + } | |
| 69 | + } | |
| 70 | + | |
| 71 | + private void validateWorkshopCodeUnique(Long id, String code) { | |
| 72 | + MesMdWorkshopDO workshop = workshopMapper.selectByCode(code); | |
| 73 | + if (workshop == null) { | |
| 74 | + return; | |
| 75 | + } | |
| 76 | + if (ObjUtil.notEqual(workshop.getId(), id)) { | |
| 77 | + throw exception(MD_WORKSHOP_CODE_DUPLICATE); | |
| 78 | + } | |
| 79 | + } | |
| 80 | + | |
| 81 | + private void validateWorkshopNameUnique(Long id, String name) { | |
| 82 | + MesMdWorkshopDO workshop = workshopMapper.selectByName(name); | |
| 83 | + if (workshop == null) { | |
| 84 | + return; | |
| 85 | + } | |
| 86 | + if (ObjUtil.notEqual(workshop.getId(), id)) { | |
| 87 | + throw exception(MD_WORKSHOP_NAME_DUPLICATE); | |
| 88 | + } | |
| 89 | + } | |
| 90 | + | |
| 91 | + @Override | |
| 92 | + public MesMdWorkshopDO getWorkshop(Long id) { | |
| 93 | + return workshopMapper.selectById(id); | |
| 94 | + } | |
| 95 | + | |
| 96 | + @Override | |
| 97 | + public PageResult<MesMdWorkshopDO> getWorkshopPage(MesMdWorkshopPageReqVO pageReqVO) { | |
| 98 | + return workshopMapper.selectPage(pageReqVO); | |
| 99 | + } | |
| 100 | + | |
| 101 | + @Override | |
| 102 | + public List<MesMdWorkshopDO> getWorkshopListByStatus(Integer status) { | |
| 103 | + return workshopMapper.selectListByStatus(status); | |
| 104 | + } | |
| 105 | + | |
| 106 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationMachineService.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.service.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationMachineSaveReqVO; | |
| 4 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationMachineDO; | |
| 5 | +import jakarta.validation.Valid; | |
| 6 | + | |
| 7 | +import java.util.List; | |
| 8 | + | |
| 9 | +// TODO @AI:注释; | |
| 10 | +public interface MesMdWorkstationMachineService { | |
| 11 | + | |
| 12 | + Long createWorkstationMachine(@Valid MesMdWorkstationMachineSaveReqVO createReqVO); | |
| 13 | + | |
| 14 | + void deleteWorkstationMachine(Long id); | |
| 15 | + | |
| 16 | + List<MesMdWorkstationMachineDO> getWorkstationMachineListByWorkstationId(Long workstationId); | |
| 17 | + | |
| 18 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationMachineServiceImpl.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.service.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | |
| 4 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationMachineSaveReqVO; | |
| 5 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationMachineDO; | |
| 6 | +import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationMachineMapper; | |
| 7 | +import jakarta.annotation.Resource; | |
| 8 | +import org.springframework.stereotype.Service; | |
| 9 | +import org.springframework.validation.annotation.Validated; | |
| 10 | + | |
| 11 | +import java.util.List; | |
| 12 | + | |
| 13 | +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | |
| 14 | +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; | |
| 15 | + | |
| 16 | +// TODO @AI:注释; | |
| 17 | +@Service | |
| 18 | +@Validated | |
| 19 | +public class MesMdWorkstationMachineServiceImpl implements MesMdWorkstationMachineService { | |
| 20 | + | |
| 21 | + @Resource | |
| 22 | + private MesMdWorkstationMachineMapper workstationMachineMapper; | |
| 23 | + | |
| 24 | + @Override | |
| 25 | + public Long createWorkstationMachine(MesMdWorkstationMachineSaveReqVO createReqVO) { | |
| 26 | + // 校验该设备是否已分配到其他工位 | |
| 27 | + MesMdWorkstationMachineDO existing = workstationMachineMapper.selectByMachineryId(createReqVO.getMachineryId()); | |
| 28 | + if (existing != null) { | |
| 29 | + throw exception(MD_WORKSTATION_MACHINE_EXISTS); | |
| 30 | + } | |
| 31 | + | |
| 32 | + MesMdWorkstationMachineDO machine = BeanUtils.toBean(createReqVO, MesMdWorkstationMachineDO.class); | |
| 33 | + workstationMachineMapper.insert(machine); | |
| 34 | + return machine.getId(); | |
| 35 | + } | |
| 36 | + | |
| 37 | + @Override | |
| 38 | + public void deleteWorkstationMachine(Long id) { | |
| 39 | + if (workstationMachineMapper.selectById(id) == null) { | |
| 40 | + throw exception(MD_WORKSTATION_MACHINE_NOT_EXISTS); | |
| 41 | + } | |
| 42 | + workstationMachineMapper.deleteById(id); | |
| 43 | + } | |
| 44 | + | |
| 45 | + @Override | |
| 46 | + public List<MesMdWorkstationMachineDO> getWorkstationMachineListByWorkstationId(Long workstationId) { | |
| 47 | + return workstationMachineMapper.selectListByWorkstationId(workstationId); | |
| 48 | + } | |
| 49 | + | |
| 50 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationService.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.service.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationPageReqVO; | |
| 5 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationSaveReqVO; | |
| 6 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO; | |
| 7 | +import jakarta.validation.Valid; | |
| 8 | + | |
| 9 | +import java.util.List; | |
| 10 | + | |
| 11 | +// TODO @AI:注释; | |
| 12 | +public interface MesMdWorkstationService { | |
| 13 | + | |
| 14 | + Long createWorkstation(@Valid MesMdWorkstationSaveReqVO createReqVO); | |
| 15 | + | |
| 16 | + void updateWorkstation(@Valid MesMdWorkstationSaveReqVO updateReqVO); | |
| 17 | + | |
| 18 | + void deleteWorkstation(Long id); | |
| 19 | + | |
| 20 | + MesMdWorkstationDO getWorkstation(Long id); | |
| 21 | + | |
| 22 | + PageResult<MesMdWorkstationDO> getWorkstationPage(MesMdWorkstationPageReqVO pageReqVO); | |
| 23 | + | |
| 24 | + List<MesMdWorkstationDO> getWorkstationListByStatus(Integer status); | |
| 25 | + | |
| 26 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationServiceImpl.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.service.md.workstation; | |
| 2 | + | |
| 3 | +import cn.hutool.core.util.ObjUtil; | |
| 4 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 5 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | |
| 6 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationPageReqVO; | |
| 7 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationSaveReqVO; | |
| 8 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO; | |
| 9 | +import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationMachineMapper; | |
| 10 | +import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationMapper; | |
| 11 | +import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationToolMapper; | |
| 12 | +import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationWorkerMapper; | |
| 13 | +import jakarta.annotation.Resource; | |
| 14 | +import org.springframework.stereotype.Service; | |
| 15 | +import org.springframework.transaction.annotation.Transactional; | |
| 16 | +import org.springframework.validation.annotation.Validated; | |
| 17 | + | |
| 18 | +import java.util.List; | |
| 19 | + | |
| 20 | +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | |
| 21 | +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; | |
| 22 | + | |
| 23 | +// TODO @AI:注释; | |
| 24 | +@Service | |
| 25 | +@Validated | |
| 26 | +public class MesMdWorkstationServiceImpl implements MesMdWorkstationService { | |
| 27 | + | |
| 28 | + @Resource | |
| 29 | + private MesMdWorkstationMapper workstationMapper; | |
| 30 | + | |
| 31 | + @Resource | |
| 32 | + private MesMdWorkstationMachineMapper workstationMachineMapper; | |
| 33 | + | |
| 34 | + @Resource | |
| 35 | + private MesMdWorkstationToolMapper workstationToolMapper; | |
| 36 | + | |
| 37 | + @Resource | |
| 38 | + private MesMdWorkstationWorkerMapper workstationWorkerMapper; | |
| 39 | + | |
| 40 | + @Resource | |
| 41 | + private MesMdWorkshopService workshopService; | |
| 42 | + | |
| 43 | + @Override | |
| 44 | + public Long createWorkstation(MesMdWorkstationSaveReqVO createReqVO) { | |
| 45 | + validateWorkstationCodeUnique(null, createReqVO.getCode()); | |
| 46 | + validateWorkstationNameUnique(null, createReqVO.getName()); | |
| 47 | + // 校验车间存在 | |
| 48 | + workshopService.getWorkshop(createReqVO.getWorkshopId()); // validateWorkshopExists via getWorkshop | |
| 49 | + | |
| 50 | + MesMdWorkstationDO workstation = BeanUtils.toBean(createReqVO, MesMdWorkstationDO.class); | |
| 51 | + workstationMapper.insert(workstation); | |
| 52 | + return workstation.getId(); | |
| 53 | + } | |
| 54 | + | |
| 55 | + @Override | |
| 56 | + public void updateWorkstation(MesMdWorkstationSaveReqVO updateReqVO) { | |
| 57 | + validateWorkstationExists(updateReqVO.getId()); | |
| 58 | + validateWorkstationCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); | |
| 59 | + validateWorkstationNameUnique(updateReqVO.getId(), updateReqVO.getName()); | |
| 60 | + // 校验车间存在 | |
| 61 | + workshopService.getWorkshop(updateReqVO.getWorkshopId()); | |
| 62 | + | |
| 63 | + MesMdWorkstationDO updateObj = BeanUtils.toBean(updateReqVO, MesMdWorkstationDO.class); | |
| 64 | + workstationMapper.updateById(updateObj); | |
| 65 | + } | |
| 66 | + | |
| 67 | + @Override | |
| 68 | + @Transactional(rollbackFor = Exception.class) | |
| 69 | + public void deleteWorkstation(Long id) { | |
| 70 | + validateWorkstationExists(id); | |
| 71 | + // 级联删除子资源 | |
| 72 | + workstationMachineMapper.deleteByWorkstationId(id); | |
| 73 | + workstationToolMapper.deleteByWorkstationId(id); | |
| 74 | + workstationWorkerMapper.deleteByWorkstationId(id); | |
| 75 | + // 删除工位 | |
| 76 | + workstationMapper.deleteById(id); | |
| 77 | + } | |
| 78 | + | |
| 79 | + private void validateWorkstationExists(Long id) { | |
| 80 | + if (workstationMapper.selectById(id) == null) { | |
| 81 | + throw exception(MD_WORKSTATION_NOT_EXISTS); | |
| 82 | + } | |
| 83 | + } | |
| 84 | + | |
| 85 | + private void validateWorkstationCodeUnique(Long id, String code) { | |
| 86 | + MesMdWorkstationDO workstation = workstationMapper.selectByCode(code); | |
| 87 | + if (workstation == null) { | |
| 88 | + return; | |
| 89 | + } | |
| 90 | + if (ObjUtil.notEqual(workstation.getId(), id)) { | |
| 91 | + throw exception(MD_WORKSTATION_CODE_DUPLICATE); | |
| 92 | + } | |
| 93 | + } | |
| 94 | + | |
| 95 | + private void validateWorkstationNameUnique(Long id, String name) { | |
| 96 | + MesMdWorkstationDO workstation = workstationMapper.selectByName(name); | |
| 97 | + if (workstation == null) { | |
| 98 | + return; | |
| 99 | + } | |
| 100 | + if (ObjUtil.notEqual(workstation.getId(), id)) { | |
| 101 | + throw exception(MD_WORKSTATION_NAME_DUPLICATE); | |
| 102 | + } | |
| 103 | + } | |
| 104 | + | |
| 105 | + @Override | |
| 106 | + public MesMdWorkstationDO getWorkstation(Long id) { | |
| 107 | + return workstationMapper.selectById(id); | |
| 108 | + } | |
| 109 | + | |
| 110 | + @Override | |
| 111 | + public PageResult<MesMdWorkstationDO> getWorkstationPage(MesMdWorkstationPageReqVO pageReqVO) { | |
| 112 | + return workstationMapper.selectPage(pageReqVO); | |
| 113 | + } | |
| 114 | + | |
| 115 | + @Override | |
| 116 | + public List<MesMdWorkstationDO> getWorkstationListByStatus(Integer status) { | |
| 117 | + return workstationMapper.selectListByStatus(status); | |
| 118 | + } | |
| 119 | + | |
| 120 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationToolService.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.service.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.tool.MesMdWorkstationToolSaveReqVO; | |
| 4 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationToolDO; | |
| 5 | +import jakarta.validation.Valid; | |
| 6 | + | |
| 7 | +import java.util.List; | |
| 8 | + | |
| 9 | +// TODO @AI:注释; | |
| 10 | +public interface MesMdWorkstationToolService { | |
| 11 | + | |
| 12 | + Long createWorkstationTool(@Valid MesMdWorkstationToolSaveReqVO createReqVO); | |
| 13 | + | |
| 14 | + void updateWorkstationTool(@Valid MesMdWorkstationToolSaveReqVO updateReqVO); | |
| 15 | + | |
| 16 | + void deleteWorkstationTool(Long id); | |
| 17 | + | |
| 18 | + List<MesMdWorkstationToolDO> getWorkstationToolListByWorkstationId(Long workstationId); | |
| 19 | + | |
| 20 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationToolServiceImpl.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.service.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | |
| 4 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.tool.MesMdWorkstationToolSaveReqVO; | |
| 5 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationToolDO; | |
| 6 | +import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationToolMapper; | |
| 7 | +import jakarta.annotation.Resource; | |
| 8 | +import org.springframework.stereotype.Service; | |
| 9 | +import org.springframework.validation.annotation.Validated; | |
| 10 | + | |
| 11 | +import java.util.List; | |
| 12 | + | |
| 13 | +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | |
| 14 | +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; | |
| 15 | + | |
| 16 | +// TODO @AI:注释; | |
| 17 | +@Service | |
| 18 | +@Validated | |
| 19 | +public class MesMdWorkstationToolServiceImpl implements MesMdWorkstationToolService { | |
| 20 | + | |
| 21 | + @Resource | |
| 22 | + private MesMdWorkstationToolMapper workstationToolMapper; | |
| 23 | + | |
| 24 | + @Override | |
| 25 | + public Long createWorkstationTool(MesMdWorkstationToolSaveReqVO createReqVO) { | |
| 26 | + // 校验同一工位下工具类型不重复 | |
| 27 | + MesMdWorkstationToolDO existing = workstationToolMapper.selectByWorkstationIdAndToolTypeId( | |
| 28 | + createReqVO.getWorkstationId(), createReqVO.getToolTypeId()); | |
| 29 | + if (existing != null) { | |
| 30 | + throw exception(MD_WORKSTATION_TOOL_TYPE_EXISTS); | |
| 31 | + } | |
| 32 | + | |
| 33 | + MesMdWorkstationToolDO tool = BeanUtils.toBean(createReqVO, MesMdWorkstationToolDO.class); | |
| 34 | + workstationToolMapper.insert(tool); | |
| 35 | + return tool.getId(); | |
| 36 | + } | |
| 37 | + | |
| 38 | + @Override | |
| 39 | + public void updateWorkstationTool(MesMdWorkstationToolSaveReqVO updateReqVO) { | |
| 40 | + if (workstationToolMapper.selectById(updateReqVO.getId()) == null) { | |
| 41 | + throw exception(MD_WORKSTATION_TOOL_NOT_EXISTS); | |
| 42 | + } | |
| 43 | + MesMdWorkstationToolDO updateObj = BeanUtils.toBean(updateReqVO, MesMdWorkstationToolDO.class); | |
| 44 | + workstationToolMapper.updateById(updateObj); | |
| 45 | + } | |
| 46 | + | |
| 47 | + @Override | |
| 48 | + public void deleteWorkstationTool(Long id) { | |
| 49 | + if (workstationToolMapper.selectById(id) == null) { | |
| 50 | + throw exception(MD_WORKSTATION_TOOL_NOT_EXISTS); | |
| 51 | + } | |
| 52 | + workstationToolMapper.deleteById(id); | |
| 53 | + } | |
| 54 | + | |
| 55 | + @Override | |
| 56 | + public List<MesMdWorkstationToolDO> getWorkstationToolListByWorkstationId(Long workstationId) { | |
| 57 | + return workstationToolMapper.selectListByWorkstationId(workstationId); | |
| 58 | + } | |
| 59 | + | |
| 60 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationWorkerService.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.service.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.worker.MesMdWorkstationWorkerSaveReqVO; | |
| 4 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationWorkerDO; | |
| 5 | +import jakarta.validation.Valid; | |
| 6 | + | |
| 7 | +import java.util.List; | |
| 8 | + | |
| 9 | +// TODO @AI:注释; | |
| 10 | +public interface MesMdWorkstationWorkerService { | |
| 11 | + | |
| 12 | + Long createWorkstationWorker(@Valid MesMdWorkstationWorkerSaveReqVO createReqVO); | |
| 13 | + | |
| 14 | + void updateWorkstationWorker(@Valid MesMdWorkstationWorkerSaveReqVO updateReqVO); | |
| 15 | + | |
| 16 | + void deleteWorkstationWorker(Long id); | |
| 17 | + | |
| 18 | + List<MesMdWorkstationWorkerDO> getWorkstationWorkerListByWorkstationId(Long workstationId); | |
| 19 | + | |
| 20 | +} | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/workstation/MesMdWorkstationWorkerServiceImpl.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.service.md.workstation; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | |
| 4 | +import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.worker.MesMdWorkstationWorkerSaveReqVO; | |
| 5 | +import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationWorkerDO; | |
| 6 | +import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationWorkerMapper; | |
| 7 | +import jakarta.annotation.Resource; | |
| 8 | +import org.springframework.stereotype.Service; | |
| 9 | +import org.springframework.validation.annotation.Validated; | |
| 10 | + | |
| 11 | +import java.util.List; | |
| 12 | + | |
| 13 | +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | |
| 14 | +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; | |
| 15 | + | |
| 16 | +// TODO @AI:注释; | |
| 17 | +@Service | |
| 18 | +@Validated | |
| 19 | +public class MesMdWorkstationWorkerServiceImpl implements MesMdWorkstationWorkerService { | |
| 20 | + | |
| 21 | + @Resource | |
| 22 | + private MesMdWorkstationWorkerMapper workstationWorkerMapper; | |
| 23 | + | |
| 24 | + @Override | |
| 25 | + public Long createWorkstationWorker(MesMdWorkstationWorkerSaveReqVO createReqVO) { | |
| 26 | + // 校验同一工位下岗位不重复 | |
| 27 | + MesMdWorkstationWorkerDO existing = workstationWorkerMapper.selectByWorkstationIdAndPostId( | |
| 28 | + createReqVO.getWorkstationId(), createReqVO.getPostId()); | |
| 29 | + if (existing != null) { | |
| 30 | + throw exception(MD_WORKSTATION_WORKER_POST_EXISTS); | |
| 31 | + } | |
| 32 | + | |
| 33 | + MesMdWorkstationWorkerDO worker = BeanUtils.toBean(createReqVO, MesMdWorkstationWorkerDO.class); | |
| 34 | + workstationWorkerMapper.insert(worker); | |
| 35 | + return worker.getId(); | |
| 36 | + } | |
| 37 | + | |
| 38 | + @Override | |
| 39 | + public void updateWorkstationWorker(MesMdWorkstationWorkerSaveReqVO updateReqVO) { | |
| 40 | + if (workstationWorkerMapper.selectById(updateReqVO.getId()) == null) { | |
| 41 | + throw exception(MD_WORKSTATION_WORKER_NOT_EXISTS); | |
| 42 | + } | |
| 43 | + MesMdWorkstationWorkerDO updateObj = BeanUtils.toBean(updateReqVO, MesMdWorkstationWorkerDO.class); | |
| 44 | + workstationWorkerMapper.updateById(updateObj); | |
| 45 | + } | |
| 46 | + | |
| 47 | + @Override | |
| 48 | + public void deleteWorkstationWorker(Long id) { | |
| 49 | + if (workstationWorkerMapper.selectById(id) == null) { | |
| 50 | + throw exception(MD_WORKSTATION_WORKER_NOT_EXISTS); | |
| 51 | + } | |
| 52 | + workstationWorkerMapper.deleteById(id); | |
| 53 | + } | |
| 54 | + | |
| 55 | + @Override | |
| 56 | + public List<MesMdWorkstationWorkerDO> getWorkstationWorkerListByWorkstationId(Long workstationId) { | |
| 57 | + return workstationWorkerMapper.selectListByWorkstationId(workstationId); | |
| 58 | + } | |
| 59 | + | |
| 60 | +} | ... | ... |