diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/MesWmProductionIssueController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueController.java index 9f8d383..09e5a4b 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/MesWmProductionIssueController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueController.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue; +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; @@ -8,15 +8,15 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.collection.MapUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssuePageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssueRespVO; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssueSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssuePageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssueRespVO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssueSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDO; import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationService; import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderService; -import cn.iocoder.yudao.module.mes.service.wm.productionissue.MesWmProductionIssueService; +import cn.iocoder.yudao.module.mes.service.wm.productissue.MesWmProductIssueService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -38,12 +38,12 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils. @Tag(name = "管理后台 - MES 领料出库单") @RestController -@RequestMapping("/mes/wm/production-issue") +@RequestMapping("/mes/wm/product-issue") @Validated -public class MesWmProductionIssueController { +public class MesWmProductIssueController { @Resource - private MesWmProductionIssueService issueService; + private MesWmProductIssueService issueService; @Resource private MesMdWorkstationService workstationService; @Resource @@ -51,34 +51,34 @@ public class MesWmProductionIssueController { @PostMapping("/create") @Operation(summary = "创建领料出库单") - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:create')") - public CommonResult createProductionIssue(@Valid @RequestBody MesWmProductionIssueSaveReqVO createReqVO) { - return success(issueService.createProductionIssue(createReqVO)); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:create')") + public CommonResult createProductIssue(@Valid @RequestBody MesWmProductIssueSaveReqVO createReqVO) { + return success(issueService.createProductIssue(createReqVO)); } @PutMapping("/update") @Operation(summary = "修改领料出库单") - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:update')") - public CommonResult updateProductionIssue(@Valid @RequestBody MesWmProductionIssueSaveReqVO updateReqVO) { - issueService.updateProductionIssue(updateReqVO); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:update')") + public CommonResult updateProductIssue(@Valid @RequestBody MesWmProductIssueSaveReqVO updateReqVO) { + issueService.updateProductIssue(updateReqVO); return success(true); } @DeleteMapping("/delete") @Operation(summary = "删除领料出库单") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:delete')") - public CommonResult deleteProductionIssue(@RequestParam("id") Long id) { - issueService.deleteProductionIssue(id); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:delete')") + public CommonResult deleteProductIssue(@RequestParam("id") Long id) { + issueService.deleteProductIssue(id); return success(true); } @GetMapping("/get") @Operation(summary = "获得领料出库单") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')") - public CommonResult getProductionIssue(@RequestParam("id") Long id) { - MesWmProductionIssueDO issue = issueService.getProductionIssue(id); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')") + public CommonResult getProductIssue(@RequestParam("id") Long id) { + MesWmProductIssueDO issue = issueService.getProductIssue(id); if (issue == null) { return success(null); } @@ -87,82 +87,82 @@ public class MesWmProductionIssueController { @GetMapping("/page") @Operation(summary = "获得领料出库单分页") - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')") - public CommonResult> getProductionIssuePage( - @Valid MesWmProductionIssuePageReqVO pageReqVO) { - PageResult pageResult = issueService.getProductionIssuePage(pageReqVO); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')") + public CommonResult> getProductIssuePage( + @Valid MesWmProductIssuePageReqVO pageReqVO) { + PageResult pageResult = issueService.getProductIssuePage(pageReqVO); return success(new PageResult<>(buildRespVOList(pageResult.getList()), pageResult.getTotal())); } @GetMapping("/export-excel") @Operation(summary = "导出领料出库单 Excel") - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:export')") + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:export')") @ApiAccessLog(operateType = EXPORT) - public void exportProductionIssueExcel(@Valid MesWmProductionIssuePageReqVO pageReqVO, + public void exportProductIssueExcel(@Valid MesWmProductIssuePageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - PageResult pageResult = issueService.getProductionIssuePage(pageReqVO); - ExcelUtils.write(response, "领料出库单.xls", "数据", MesWmProductionIssueRespVO.class, + PageResult pageResult = issueService.getProductIssuePage(pageReqVO); + ExcelUtils.write(response, "领料出库单.xls", "数据", MesWmProductIssueRespVO.class, buildRespVOList(pageResult.getList())); } @PutMapping("/finish") @Operation(summary = "完成领料出库单") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:finish')") - public CommonResult finishProductionIssue(@RequestParam("id") Long id) { - issueService.finishProductionIssue(id); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:finish')") + public CommonResult finishProductIssue(@RequestParam("id") Long id) { + issueService.finishProductIssue(id); return success(true); } @PutMapping("/submit") @Operation(summary = "提交领料出库单") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:update')") - public CommonResult submitProductionIssue(@RequestParam("id") Long id) { - issueService.submitProductionIssue(id); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:update')") + public CommonResult submitProductIssue(@RequestParam("id") Long id) { + issueService.submitProductIssue(id); return success(true); } @PutMapping("/stock") @Operation(summary = "执行拣货") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:update')") - public CommonResult stockProductionIssue(@RequestParam("id") Long id) { - issueService.stockProductionIssue(id); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:update')") + public CommonResult stockProductIssue(@RequestParam("id") Long id) { + issueService.stockProductIssue(id); return success(true); } @PutMapping("/cancel") @Operation(summary = "取消领料出库单") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:update')") - public CommonResult cancelProductionIssue(@RequestParam("id") Long id) { - issueService.cancelProductionIssue(id); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:update')") + public CommonResult cancelProductIssue(@RequestParam("id") Long id) { + issueService.cancelProductIssue(id); return success(true); } @GetMapping("/check-quantity") @Operation(summary = "校验领料出库单数量", description = "校验每行明细数量之和是否等于行领料数量") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')") - public CommonResult checkProductionIssueQuantity(@RequestParam("id") Long id) { - return success(issueService.checkProductionIssueQuantity(id)); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')") + public CommonResult checkProductIssueQuantity(@RequestParam("id") Long id) { + return success(issueService.checkProductIssueQuantity(id)); } // ==================== 拼接 VO ==================== - private List buildRespVOList(List list) { + private List buildRespVOList(List list) { if (CollUtil.isEmpty(list)) { return Collections.emptyList(); } // 1. 获得关联数据 Map workstationMap = workstationService.getWorkstationMap( - convertSet(list, MesWmProductionIssueDO::getWorkstationId)); + convertSet(list, MesWmProductIssueDO::getWorkstationId)); Map workOrderMap = workOrderService.getWorkOrderMap( - convertSet(list, MesWmProductionIssueDO::getWorkOrderId)); + convertSet(list, MesWmProductIssueDO::getWorkOrderId)); // 2. 构建结果 - return BeanUtils.toBean(list, MesWmProductionIssueRespVO.class, vo -> { + return BeanUtils.toBean(list, MesWmProductIssueRespVO.class, vo -> { // 2.1 填充工作站名称 MapUtils.findAndThen(workstationMap, vo.getWorkstationId(), workstation -> vo.setWorkstationName(workstation.getName())); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/MesWmProductionIssueDetailController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueDetailController.java index fab15b1..0d7a1aa 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/MesWmProductionIssueDetailController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueDetailController.java @@ -1,20 +1,20 @@ -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue; +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.collection.MapUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.detail.MesWmProductionIssueDetailRespVO; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.detail.MesWmProductionIssueDetailSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.detail.MesWmProductIssueDetailRespVO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.detail.MesWmProductIssueDetailSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDetailDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDetailDO; import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseAreaDO; import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseDO; import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseLocationDO; import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService; import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService; -import cn.iocoder.yudao.module.mes.service.wm.productionissue.MesWmProductionIssueDetailService; +import cn.iocoder.yudao.module.mes.service.wm.productissue.MesWmProductIssueDetailService; import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseAreaService; import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseLocationService; import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseService; @@ -36,12 +36,12 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils. @Tag(name = "管理后台 - MES 领料出库明细") @RestController -@RequestMapping("/mes/wm/production-issue-detail") +@RequestMapping("/mes/wm/product-issue-detail") @Validated -public class MesWmProductionIssueDetailController { +public class MesWmProductIssueDetailController { @Resource - private MesWmProductionIssueDetailService issueDetailService; + private MesWmProductIssueDetailService issueDetailService; @Resource private MesMdItemService itemService; @@ -60,34 +60,34 @@ public class MesWmProductionIssueDetailController { @PostMapping("/create") @Operation(summary = "创建领料出库明细") - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:create')") - public CommonResult createProductionIssueDetail(@Valid @RequestBody MesWmProductionIssueDetailSaveReqVO createReqVO) { - return success(issueDetailService.createProductionIssueDetail(createReqVO)); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:create')") + public CommonResult createProductIssueDetail(@Valid @RequestBody MesWmProductIssueDetailSaveReqVO createReqVO) { + return success(issueDetailService.createProductIssueDetail(createReqVO)); } @PutMapping("/update") @Operation(summary = "修改领料出库明细") - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:update')") - public CommonResult updateProductionIssueDetail(@Valid @RequestBody MesWmProductionIssueDetailSaveReqVO updateReqVO) { - issueDetailService.updateProductionIssueDetail(updateReqVO); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:update')") + public CommonResult updateProductIssueDetail(@Valid @RequestBody MesWmProductIssueDetailSaveReqVO updateReqVO) { + issueDetailService.updateProductIssueDetail(updateReqVO); return success(true); } @DeleteMapping("/delete") @Operation(summary = "删除领料出库明细") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:delete')") - public CommonResult deleteProductionIssueDetail(@RequestParam("id") Long id) { - issueDetailService.deleteProductionIssueDetail(id); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:delete')") + public CommonResult deleteProductIssueDetail(@RequestParam("id") Long id) { + issueDetailService.deleteProductIssueDetail(id); return success(true); } @GetMapping("/get") @Operation(summary = "获得领料出库明细") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')") - public CommonResult getProductionIssueDetail(@RequestParam("id") Long id) { - MesWmProductionIssueDetailDO detail = issueDetailService.getProductionIssueDetail(id); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')") + public CommonResult getProductIssueDetail(@RequestParam("id") Long id) { + MesWmProductIssueDetailDO detail = issueDetailService.getProductIssueDetail(id); if (detail == null) { return success(null); } @@ -97,32 +97,32 @@ public class MesWmProductionIssueDetailController { @GetMapping("/list-by-line") @Operation(summary = "获得领料出库明细列表(按行编号)") @Parameter(name = "lineId", description = "行编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')") - public CommonResult> getProductionIssueDetailListByLineId( + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')") + public CommonResult> getProductIssueDetailListByLineId( @RequestParam("lineId") Long lineId) { - List list = issueDetailService.getProductionIssueDetailListByLineId(lineId); + List list = issueDetailService.getProductIssueDetailListByLineId(lineId); return success(buildRespVOList(list)); } // ==================== 拼接 VO ==================== - private List buildRespVOList(List list) { + private List buildRespVOList(List list) { if (CollUtil.isEmpty(list)) { return Collections.emptyList(); } // 1. 获得关联数据 Map itemMap = itemService.getItemMap( - convertSet(list, MesWmProductionIssueDetailDO::getItemId)); + convertSet(list, MesWmProductIssueDetailDO::getItemId)); Map unitMeasureMap = unitMeasureService.getUnitMeasureMap( convertSet(itemMap.values(), MesMdItemDO::getUnitMeasureId)); Map warehouseMap = warehouseService.getWarehouseMap( - convertSet(list, MesWmProductionIssueDetailDO::getWarehouseId)); + convertSet(list, MesWmProductIssueDetailDO::getWarehouseId)); Map locationMap = locationService.getWarehouseLocationMap( - convertSet(list, MesWmProductionIssueDetailDO::getLocationId)); + convertSet(list, MesWmProductIssueDetailDO::getLocationId)); Map areaMap = areaService.getWarehouseAreaMap( - convertSet(list, MesWmProductionIssueDetailDO::getAreaId)); + convertSet(list, MesWmProductIssueDetailDO::getAreaId)); // 2. 构建结果 - return BeanUtils.toBean(list, MesWmProductionIssueDetailRespVO.class, vo -> { + return BeanUtils.toBean(list, MesWmProductIssueDetailRespVO.class, vo -> { MapUtils.findAndThen(itemMap, vo.getItemId(), item -> { vo.setItemCode(item.getCode()).setItemName(item.getName()).setSpecification(item.getSpecification()); MapUtils.findAndThen(unitMeasureMap, item.getUnitMeasureId(), diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/MesWmProductionIssueLineController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueLineController.java index 295ae58..e9b01d0 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/MesWmProductionIssueLineController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueLineController.java @@ -1,19 +1,19 @@ -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue; +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.collection.MapUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLinePageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLineRespVO; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLineSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLinePageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLineRespVO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLineSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueLineDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueLineDO; import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService; import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService; -import cn.iocoder.yudao.module.mes.service.wm.productionissue.MesWmProductionIssueLineService; +import cn.iocoder.yudao.module.mes.service.wm.productissue.MesWmProductIssueLineService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -32,12 +32,12 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils. @Tag(name = "管理后台 - MES 领料出库单行") @RestController -@RequestMapping("/mes/wm/production-issue-line") +@RequestMapping("/mes/wm/product-issue-line") @Validated -public class MesWmProductionIssueLineController { +public class MesWmProductIssueLineController { @Resource - private MesWmProductionIssueLineService issueLineService; + private MesWmProductIssueLineService issueLineService; @Resource private MesMdItemService itemService; @@ -47,34 +47,34 @@ public class MesWmProductionIssueLineController { @PostMapping("/create") @Operation(summary = "创建领料出库单行") - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:create')") - public CommonResult createProductionIssueLine(@Valid @RequestBody MesWmProductionIssueLineSaveReqVO createReqVO) { - return success(issueLineService.createProductionIssueLine(createReqVO)); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:create')") + public CommonResult createProductIssueLine(@Valid @RequestBody MesWmProductIssueLineSaveReqVO createReqVO) { + return success(issueLineService.createProductIssueLine(createReqVO)); } @PutMapping("/update") @Operation(summary = "修改领料出库单行") - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:update')") - public CommonResult updateProductionIssueLine(@Valid @RequestBody MesWmProductionIssueLineSaveReqVO updateReqVO) { - issueLineService.updateProductionIssueLine(updateReqVO); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:update')") + public CommonResult updateProductIssueLine(@Valid @RequestBody MesWmProductIssueLineSaveReqVO updateReqVO) { + issueLineService.updateProductIssueLine(updateReqVO); return success(true); } @DeleteMapping("/delete") @Operation(summary = "删除领料出库单行") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:delete')") - public CommonResult deleteProductionIssueLine(@RequestParam("id") Long id) { - issueLineService.deleteProductionIssueLine(id); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:delete')") + public CommonResult deleteProductIssueLine(@RequestParam("id") Long id) { + issueLineService.deleteProductIssueLine(id); return success(true); } @GetMapping("/get") @Operation(summary = "获得领料出库单行") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')") - public CommonResult getProductionIssueLine(@RequestParam("id") Long id) { - MesWmProductionIssueLineDO line = issueLineService.getProductionIssueLine(id); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')") + public CommonResult getProductIssueLine(@RequestParam("id") Long id) { + MesWmProductIssueLineDO line = issueLineService.getProductIssueLine(id); if (line == null) { return success(null); } @@ -83,36 +83,36 @@ public class MesWmProductionIssueLineController { @GetMapping("/page") @Operation(summary = "获得领料出库单行分页") - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')") - public CommonResult> getProductionIssueLinePage( - @Valid MesWmProductionIssueLinePageReqVO pageReqVO) { - PageResult pageResult = issueLineService.getProductionIssueLinePage(pageReqVO); + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')") + public CommonResult> getProductIssueLinePage( + @Valid MesWmProductIssueLinePageReqVO pageReqVO) { + PageResult pageResult = issueLineService.getProductIssueLinePage(pageReqVO); return success(new PageResult<>(buildRespVOList(pageResult.getList()), pageResult.getTotal())); } @GetMapping("/list-by-issue") @Operation(summary = "获得领料出库单行列表(按领料单编号)") @Parameter(name = "issueId", description = "领料单编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')") - public CommonResult> getProductionIssueLineListByIssueId( + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')") + public CommonResult> getProductIssueLineListByIssueId( @RequestParam("issueId") Long issueId) { - List list = issueLineService.getProductionIssueLineListByIssueId(issueId); + List list = issueLineService.getProductIssueLineListByIssueId(issueId); return success(buildRespVOList(list)); } // ==================== 拼接 VO ==================== - private List buildRespVOList(List list) { + private List buildRespVOList(List list) { if (CollUtil.isEmpty(list)) { return Collections.emptyList(); } // 1. 获得关联数据 Map itemMap = itemService.getItemMap( - convertSet(list, MesWmProductionIssueLineDO::getItemId)); + convertSet(list, MesWmProductIssueLineDO::getItemId)); Map unitMeasureMap = unitMeasureService.getUnitMeasureMap( convertSet(itemMap.values(), MesMdItemDO::getUnitMeasureId)); // 2. 构建结果 - return BeanUtils.toBean(list, MesWmProductionIssueLineRespVO.class, vo -> { + return BeanUtils.toBean(list, MesWmProductIssueLineRespVO.class, vo -> { MapUtils.findAndThen(itemMap, vo.getItemId(), item -> { vo.setItemCode(item.getCode()).setItemName(item.getName()).setSpecification(item.getSpecification()); MapUtils.findAndThen(unitMeasureMap, item.getUnitMeasureId(), diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/MesWmProductionIssuePageReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/MesWmProductIssuePageReqVO.java index 2c1b64f..4fafa97 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/MesWmProductionIssuePageReqVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/MesWmProductIssuePageReqVO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo; +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo; import cn.iocoder.yudao.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; @@ -13,7 +13,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ @Schema(description = "管理后台 - MES 领料出库单分页 Request VO") @Data @EqualsAndHashCode(callSuper = true) -public class MesWmProductionIssuePageReqVO extends PageParam { +public class MesWmProductIssuePageReqVO extends PageParam { @Schema(description = "领料单编号", example = "ISSUE20250226001") private String code; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/MesWmProductionIssueRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/MesWmProductIssueRespVO.java index 570ba2b..b93084b 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/MesWmProductionIssueRespVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/MesWmProductIssueRespVO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo; +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -7,7 +7,7 @@ import java.time.LocalDateTime; @Schema(description = "管理后台 - MES 领料出库单 Response VO") @Data -public class MesWmProductionIssueRespVO { +public class MesWmProductIssueRespVO { @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") private Long id; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/MesWmProductionIssueSaveReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/MesWmProductIssueSaveReqVO.java index b71d65c..7dbec27 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/MesWmProductionIssueSaveReqVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/MesWmProductIssueSaveReqVO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo; +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; @@ -9,7 +9,7 @@ import java.time.LocalDateTime; @Schema(description = "管理后台 - MES 领料出库单新增/修改 Request VO") @Data -public class MesWmProductionIssueSaveReqVO { +public class MesWmProductIssueSaveReqVO { @Schema(description = "编号", example = "1024") private Long id; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/detail/MesWmProductionIssueDetailRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/detail/MesWmProductIssueDetailRespVO.java index a31fdf1..601d393 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/detail/MesWmProductionIssueDetailRespVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/detail/MesWmProductIssueDetailRespVO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.detail; +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.detail; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -8,7 +8,7 @@ import java.time.LocalDateTime; @Schema(description = "管理后台 - MES 领料出库明细 Response VO") @Data -public class MesWmProductionIssueDetailRespVO { +public class MesWmProductIssueDetailRespVO { @Schema(description = "编号", example = "1") private Long id; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/detail/MesWmProductionIssueDetailSaveReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/detail/MesWmProductIssueDetailSaveReqVO.java index 2b3c983..96e8c69 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/detail/MesWmProductionIssueDetailSaveReqVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/detail/MesWmProductIssueDetailSaveReqVO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.detail; +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.detail; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; @@ -8,7 +8,7 @@ import java.math.BigDecimal; @Schema(description = "管理后台 - MES 领料出库明细新增/修改 Request VO") @Data -public class MesWmProductionIssueDetailSaveReqVO { +public class MesWmProductIssueDetailSaveReqVO { @Schema(description = "编号", example = "1024") private Long id; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/line/MesWmProductionIssueLinePageReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/line/MesWmProductIssueLinePageReqVO.java index 480710f..c5ca6c5 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/line/MesWmProductionIssueLinePageReqVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/line/MesWmProductIssueLinePageReqVO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line; +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line; import cn.iocoder.yudao.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; @@ -11,7 +11,7 @@ import lombok.ToString; @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) -public class MesWmProductionIssueLinePageReqVO extends PageParam { +public class MesWmProductIssueLinePageReqVO extends PageParam { @Schema(description = "领料单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "领料单编号不能为空") diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/line/MesWmProductionIssueLineRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/line/MesWmProductIssueLineRespVO.java index 2403cf2..f21b4b7 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/line/MesWmProductionIssueLineRespVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/line/MesWmProductIssueLineRespVO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line; +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -8,7 +8,7 @@ import java.time.LocalDateTime; @Schema(description = "管理后台 - MES 领料出库单行 Response VO") @Data -public class MesWmProductionIssueLineRespVO { +public class MesWmProductIssueLineRespVO { @Schema(description = "行ID", example = "1") private Long id; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/line/MesWmProductionIssueLineSaveReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/line/MesWmProductIssueLineSaveReqVO.java index 0188767..314b2b4 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/line/MesWmProductionIssueLineSaveReqVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/line/MesWmProductIssueLineSaveReqVO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line; +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.DecimalMin; @@ -9,7 +9,7 @@ import java.math.BigDecimal; @Schema(description = "管理后台 - MES 领料出库单行 Save Request VO") @Data -public class MesWmProductionIssueLineSaveReqVO { +public class MesWmProductIssueLineSaveReqVO { @Schema(description = "行ID", example = "1") private Long id; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productionissue/MesWmProductionIssueDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productissue/MesWmProductIssueDO.java index 47481a1..83f414c 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productionissue/MesWmProductionIssueDO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productissue/MesWmProductIssueDO.java @@ -1,10 +1,10 @@ -package cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue; +package cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskDO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO; -import cn.iocoder.yudao.module.mes.enums.wm.MesWmProductionIssueStatusEnum; +import cn.iocoder.yudao.module.mes.enums.wm.MesWmProductIssueStatusEnum; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -15,15 +15,15 @@ import java.time.LocalDateTime; /** * MES 领料出库单 DO */ -@TableName("mes_wm_production_issue") -@KeySequence("mes_wm_production_issue_seq") +@TableName("mes_wm_product_issue") +@KeySequence("mes_wm_product_issue_seq") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor -public class MesWmProductionIssueDO extends BaseDO { +public class MesWmProductIssueDO extends BaseDO { /** * 编号 @@ -69,7 +69,7 @@ public class MesWmProductionIssueDO extends BaseDO { /** * 状态 * - * 枚举 {@link MesWmProductionIssueStatusEnum} + * 枚举 {@link MesWmProductIssueStatusEnum} */ private Integer status; /** diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productionissue/MesWmProductionIssueDetailDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productissue/MesWmProductIssueDetailDO.java index c22ee0c..6690dbf 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productionissue/MesWmProductionIssueDetailDO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productissue/MesWmProductIssueDetailDO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue; +package cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; @@ -16,15 +16,15 @@ import java.math.BigDecimal; /** * MES 领料出库明细 DO */ -@TableName("mes_wm_production_issue_detail") -@KeySequence("mes_wm_production_issue_detail_seq") +@TableName("mes_wm_product_issue_detail") +@KeySequence("mes_wm_product_issue_detail_seq") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor -public class MesWmProductionIssueDetailDO extends BaseDO { +public class MesWmProductIssueDetailDO extends BaseDO { /** * 编号 @@ -34,13 +34,13 @@ public class MesWmProductionIssueDetailDO extends BaseDO { /** * 领料单ID * - * 关联 {@link MesWmProductionIssueDO#getId()} + * 关联 {@link MesWmProductIssueDO#getId()} */ private Long issueId; /** * 行ID * - * 关联 {@link MesWmProductionIssueLineDO#getId()} + * 关联 {@link MesWmProductIssueLineDO#getId()} */ private Long lineId; /** diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productionissue/MesWmProductionIssueLineDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productissue/MesWmProductIssueLineDO.java index b0cf524..89d8d6a 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productionissue/MesWmProductionIssueLineDO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productissue/MesWmProductIssueLineDO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue; +package cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; @@ -12,15 +12,15 @@ import java.math.BigDecimal; /** * MES 领料出库单行 DO */ -@TableName("mes_wm_production_issue_line") -@KeySequence("mes_wm_production_issue_line_seq") +@TableName("mes_wm_product_issue_line") +@KeySequence("mes_wm_product_issue_line_seq") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor -public class MesWmProductionIssueLineDO extends BaseDO { +public class MesWmProductIssueLineDO extends BaseDO { /** * 编号 @@ -30,7 +30,7 @@ public class MesWmProductionIssueLineDO extends BaseDO { /** * 领料单 ID * - * 关联 {@link MesWmProductionIssueDO#getId()} + * 关联 {@link MesWmProductIssueDO#getId()} */ private Long issueId; /** diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productionissue/MesWmProductionIssueLineMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productionissue/MesWmProductionIssueLineMapper.java deleted file mode 100644 index e203071..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productionissue/MesWmProductionIssueLineMapper.java +++ /dev/null @@ -1,32 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.wm.productionissue; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLinePageReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueLineDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * MES 领料出库单行 Mapper - */ -@Mapper -public interface MesWmProductionIssueLineMapper extends BaseMapperX { - - default PageResult selectPage(MesWmProductionIssueLinePageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(MesWmProductionIssueLineDO::getIssueId, reqVO.getIssueId()) - .orderByDesc(MesWmProductionIssueLineDO::getId)); - } - - default List selectListByIssueId(Long issueId) { - return selectList(MesWmProductionIssueLineDO::getIssueId, issueId); - } - - default void deleteByIssueId(Long issueId) { - delete(MesWmProductionIssueLineDO::getIssueId, issueId); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productionissue/MesWmProductionIssueMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productionissue/MesWmProductionIssueMapper.java deleted file mode 100644 index 0f0060d..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productionissue/MesWmProductionIssueMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.wm.productionissue; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssuePageReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDO; -import org.apache.ibatis.annotations.Mapper; - -/** - * MES 领料出库单 Mapper - */ -@Mapper -public interface MesWmProductionIssueMapper extends BaseMapperX { - - default PageResult selectPage(MesWmProductionIssuePageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(MesWmProductionIssueDO::getCode, reqVO.getCode()) - .likeIfPresent(MesWmProductionIssueDO::getName, reqVO.getName()) - .eqIfPresent(MesWmProductionIssueDO::getWorkstationId, reqVO.getWorkstationId()) - .eqIfPresent(MesWmProductionIssueDO::getWorkOrderId, reqVO.getWorkOrderId()) - .eqIfPresent(MesWmProductionIssueDO::getStatus, reqVO.getStatus()) - .betweenIfPresent(MesWmProductionIssueDO::getIssueDate, reqVO.getIssueDate()) - .orderByDesc(MesWmProductionIssueDO::getId)); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productionissue/MesWmProductionIssueDetailMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productissue/MesWmProductIssueDetailMapper.java index c67bb74..76f5498 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productionissue/MesWmProductionIssueDetailMapper.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productissue/MesWmProductIssueDetailMapper.java @@ -1,7 +1,7 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.wm.productionissue; +package cn.iocoder.yudao.module.mes.dal.mysql.wm.productissue; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDetailDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDetailDO; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -10,18 +10,18 @@ import java.util.List; * MES 领料出库明细 Mapper */ @Mapper -public interface MesWmProductionIssueDetailMapper extends BaseMapperX { +public interface MesWmProductIssueDetailMapper extends BaseMapperX { - default List selectListByLineId(Long lineId) { - return selectList(MesWmProductionIssueDetailDO::getLineId, lineId); + default List selectListByLineId(Long lineId) { + return selectList(MesWmProductIssueDetailDO::getLineId, lineId); } - default List selectListByIssueId(Long issueId) { - return selectList(MesWmProductionIssueDetailDO::getIssueId, issueId); + default List selectListByIssueId(Long issueId) { + return selectList(MesWmProductIssueDetailDO::getIssueId, issueId); } default void deleteByIssueId(Long issueId) { - delete(MesWmProductionIssueDetailDO::getIssueId, issueId); + delete(MesWmProductIssueDetailDO::getIssueId, issueId); } } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productissue/MesWmProductIssueLineMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productissue/MesWmProductIssueLineMapper.java new file mode 100644 index 0000000..265e21e --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productissue/MesWmProductIssueLineMapper.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.wm.productissue; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLinePageReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueLineDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * MES 领料出库单行 Mapper + */ +@Mapper +public interface MesWmProductIssueLineMapper extends BaseMapperX { + + default PageResult selectPage(MesWmProductIssueLinePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MesWmProductIssueLineDO::getIssueId, reqVO.getIssueId()) + .orderByDesc(MesWmProductIssueLineDO::getId)); + } + + default List selectListByIssueId(Long issueId) { + return selectList(MesWmProductIssueLineDO::getIssueId, issueId); + } + + default void deleteByIssueId(Long issueId) { + delete(MesWmProductIssueLineDO::getIssueId, issueId); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productissue/MesWmProductIssueMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productissue/MesWmProductIssueMapper.java new file mode 100644 index 0000000..569cbb7 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productissue/MesWmProductIssueMapper.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.wm.productissue; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssuePageReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * MES 领料出库单 Mapper + */ +@Mapper +public interface MesWmProductIssueMapper extends BaseMapperX { + + default PageResult selectPage(MesWmProductIssuePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(MesWmProductIssueDO::getCode, reqVO.getCode()) + .likeIfPresent(MesWmProductIssueDO::getName, reqVO.getName()) + .eqIfPresent(MesWmProductIssueDO::getWorkstationId, reqVO.getWorkstationId()) + .eqIfPresent(MesWmProductIssueDO::getWorkOrderId, reqVO.getWorkOrderId()) + .eqIfPresent(MesWmProductIssueDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(MesWmProductIssueDO::getIssueDate, reqVO.getIssueDate()) + .orderByDesc(MesWmProductIssueDO::getId)); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java index 731ed73..a144abe 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java @@ -409,16 +409,16 @@ public interface ErrorCodeConstants { ErrorCode WM_OUTSOURCE_ISSUE_DETAIL_NOT_EXISTS = new ErrorCode(1_040_707_200, "外协发料单明细不存在"); // ========== MES 仓库管理-生产领料出库单(1-040-708-000) ========== - ErrorCode WM_PRODUCTION_ISSUE_NOT_EXISTS = new ErrorCode(1_040_708_000, "生产领料出库单不存在"); - ErrorCode WM_PRODUCTION_ISSUE_STATUS_INVALID = new ErrorCode(1_040_708_001, "生产领料出库单状态不正确,无法执行该操作"); - ErrorCode WM_PRODUCTION_ISSUE_NO_LINE = new ErrorCode(1_040_708_002, "生产领料出库单至少需要一条行数据"); - ErrorCode WM_PRODUCTION_ISSUE_DETAIL_QUANTITY_MISMATCH = new ErrorCode(1_040_708_003, "领料出库单行数量与明细数量不一致"); - ErrorCode WM_PRODUCTION_ISSUE_WORKORDER_NOT_EXISTS = new ErrorCode(1_040_708_004, "生产工单不存在"); - ErrorCode WM_PRODUCTION_ISSUE_WORKSTATION_NOT_EXISTS = new ErrorCode(1_040_708_005, "工作站不存在"); - ErrorCode WM_PRODUCTION_ISSUE_CANCEL_NOT_ALLOWED = new ErrorCode(1_040_708_006, "生产领料出库单已完成或已取消,无法取消"); - ErrorCode WM_PRODUCTION_ISSUE_LINE_NOT_EXISTS = new ErrorCode(1_040_708_100, "生产领料出库单行不存在"); - ErrorCode WM_PRODUCTION_ISSUE_LINE_ITEM_NOT_IN_BOM = new ErrorCode(1_040_708_101, "当前物料不在生产工单的 BOM 物料清单中"); - ErrorCode WM_PRODUCTION_ISSUE_DETAIL_NOT_EXISTS = new ErrorCode(1_040_708_200, "生产领料出库单明细不存在"); + ErrorCode WM_PRODUCT_ISSUE_NOT_EXISTS = new ErrorCode(1_040_708_000, "生产领料出库单不存在"); + ErrorCode WM_PRODUCT_ISSUE_STATUS_INVALID = new ErrorCode(1_040_708_001, "生产领料出库单状态不正确,无法执行该操作"); + ErrorCode WM_PRODUCT_ISSUE_NO_LINE = new ErrorCode(1_040_708_002, "生产领料出库单至少需要一条行数据"); + ErrorCode WM_PRODUCT_ISSUE_DETAIL_QUANTITY_MISMATCH = new ErrorCode(1_040_708_003, "领料出库单行数量与明细数量不一致"); + ErrorCode WM_PRODUCT_ISSUE_WORKORDER_NOT_EXISTS = new ErrorCode(1_040_708_004, "生产工单不存在"); + ErrorCode WM_PRODUCT_ISSUE_WORKSTATION_NOT_EXISTS = new ErrorCode(1_040_708_005, "工作站不存在"); + ErrorCode WM_PRODUCT_ISSUE_CANCEL_NOT_ALLOWED = new ErrorCode(1_040_708_006, "生产领料出库单已完成或已取消,无法取消"); + ErrorCode WM_PRODUCT_ISSUE_LINE_NOT_EXISTS = new ErrorCode(1_040_708_100, "生产领料出库单行不存在"); + ErrorCode WM_PRODUCT_ISSUE_LINE_ITEM_NOT_IN_BOM = new ErrorCode(1_040_708_101, "当前物料不在生产工单的 BOM 物料清单中"); + ErrorCode WM_PRODUCT_ISSUE_DETAIL_NOT_EXISTS = new ErrorCode(1_040_708_200, "生产领料出库单明细不存在"); // ========== MES 仓库管理-生产入库单(1-040-709-000) ========== ErrorCode WM_PRODUCT_PRODUCE_NOT_EXISTS = new ErrorCode(1_040_709_000, "生产入库单不存在"); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/MesBizTypeConstants.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/MesBizTypeConstants.java index 3de5c9c..b0e0d47 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/MesBizTypeConstants.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/MesBizTypeConstants.java @@ -35,7 +35,7 @@ public final class MesBizTypeConstants { public static final int WM_TRANSFER_IN = 112; // 调拨入库:MesWmTransferDO public static final int WM_MISC_ISSUE = 113; // 其他出库:MesWmMiscIssueDO public static final int WM_MISC_RECPT = 114; // 其他入库:MesWmMiscReceiptDO - public static final int WM_ISSUE = 115; // 生产领料:MesWmProductionIssueDO + public static final int WM_ISSUE = 115; // 生产领料:MesWmProductIssueDO public static final int WM_RETURN_ISSUE = 116; // 生产退料:MesWmReturnIssueDO public static final int WM_PRODUCT_RECPT = 117; // 生产入库:MesWmProductReceiptDO public static final int WM_PRODUCT_SALES = 118; // 销售出库:MesWmProductSalesDO diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmProductionIssueStatusEnum.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmProductIssueStatusEnum.java index a0f7bd6..7e583ea 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmProductionIssueStatusEnum.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmProductIssueStatusEnum.java @@ -1,9 +1,9 @@ package cn.iocoder.yudao.module.mes.enums.wm; import cn.iocoder.yudao.framework.common.core.ArrayValuable; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssueSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssueSaveReqVO; import cn.iocoder.yudao.module.mes.enums.MesOrderStatusConstants; -import cn.iocoder.yudao.module.mes.service.wm.productionissue.MesWmProductionIssueService; +import cn.iocoder.yudao.module.mes.service.wm.productissue.MesWmProductIssueService; import lombok.AllArgsConstructor; import lombok.Getter; @@ -16,40 +16,40 @@ import java.util.Arrays; */ @Getter @AllArgsConstructor -public enum MesWmProductionIssueStatusEnum implements ArrayValuable { +public enum MesWmProductIssueStatusEnum implements ArrayValuable { /** * 草稿 * - * 对应方法:{@link MesWmProductionIssueService#createProductionIssue(MesWmProductionIssueSaveReqVO)} + * 对应方法:{@link MesWmProductIssueService#createProductIssue(MesWmProductIssueSaveReqVO)} */ PREPARE(MesOrderStatusConstants.PREPARE, "草稿"), /** * 待拣货 * - * 对应方法:{@link MesWmProductionIssueService#submitProductionIssue(Long)} + * 对应方法:{@link MesWmProductIssueService#submitProductIssue(Long)} */ APPROVING(MesOrderStatusConstants.APPROVING, "待拣货"), /** * 待执行领出 * - * 对应方法:{@link MesWmProductionIssueService#stockProductionIssue(Long)} + * 对应方法:{@link MesWmProductIssueService#stockProductIssue(Long)} */ APPROVED(MesOrderStatusConstants.APPROVED, "待执行领出"), /** * 已完成 * - * 对应方法:{@link MesWmProductionIssueService#finishProductionIssue(Long)} + * 对应方法:{@link MesWmProductIssueService#finishProductIssue(Long)} */ FINISHED(MesOrderStatusConstants.FINISHED, "已完成"), /** * 已取消 * - * 对应方法:{@link MesWmProductionIssueService#cancelProductionIssue(Long)} + * 对应方法:{@link MesWmProductIssueService#cancelProductIssue(Long)} */ CANCELED(MesOrderStatusConstants.CANCELLED, "已取消"); - public static final Integer[] ARRAYS = Arrays.stream(values()).map(MesWmProductionIssueStatusEnum::getStatus).toArray(Integer[]::new); + public static final Integer[] ARRAYS = Arrays.stream(values()).map(MesWmProductIssueStatusEnum::getStatus).toArray(Integer[]::new); /** * 状态值 diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmProductProduceStatusEnum.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmProductProduceStatusEnum.java index e425410..c9a278d 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmProductProduceStatusEnum.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmProductProduceStatusEnum.java @@ -16,7 +16,7 @@ import java.util.Arrays; @AllArgsConstructor public enum MesWmProductProduceStatusEnum implements ArrayValuable { - // TODO @AI:对应的方法;参考别的 MesWmProductionIssueStatusEnum + // TODO @AI:对应的方法;参考别的 MesWmProductIssueStatusEnum /** * 草稿 */ diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java index 337dfdd..d9033a9 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java @@ -21,7 +21,6 @@ import java.math.BigDecimal; import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Objects; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; @@ -100,6 +99,7 @@ public class MesWmArrivalNoticeServiceImpl implements MesWmArrivalNoticeService // 2. 检查所有行的 iqcCheckFlag:如果没有需要检验的行,则直接审批通过 boolean needCheck = CollectionUtils.anyMatch(lines, line -> Boolean.TRUE.equals(line.getIqcCheckFlag())); + // TODO @AI:if return;并且不要取反; if (!needCheck) { // 不需要检验,直接进入待入库 arrivalNoticeMapper.updateById(new MesWmArrivalNoticeDO() diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourceissue/MesWmOutsourceIssueLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourceissue/MesWmOutsourceIssueLineServiceImpl.java index c7e79c4..67df79a 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourceissue/MesWmOutsourceIssueLineServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourceissue/MesWmOutsourceIssueLineServiceImpl.java @@ -35,7 +35,7 @@ public class MesWmOutsourceIssueLineServiceImpl implements MesWmOutsourceIssueLi // DONE @AI:校验关联的 issueId;(AI 未修复原因:需要注入 outsourceIssueService 并调用校验方法,需要确认具体校验逻辑) // DONE AI校验关联的 itemId;(AI 未修复原因:需要注入 itemService 并调用校验方法,需要确认具体校验逻辑) - // DONE @AI:wm 里面,有模块实现了 checkBom 类似的逻辑;(AI 未修复原因:需要明确 BOM 校验的具体业务规则,建议参考 productionissue 模块的实现) + // DONE @AI:wm 里面,有模块实现了 checkBom 类似的逻辑;(AI 未修复原因:需要明确 BOM 校验的具体业务规则,建议参考 productissue 模块的实现) // 插入 MesWmOutsourceIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmOutsourceIssueLineDO.class); @@ -48,7 +48,7 @@ public class MesWmOutsourceIssueLineServiceImpl implements MesWmOutsourceIssueLi // DONE @AI:校验关联的 issueId;(AI 未修复原因:需要注入 outsourceIssueService 并调用校验方法,需要确认具体校验逻辑) // DONE AI校验关联的 itemId;(AI 未修复原因:需要注入 itemService 并调用校验方法,需要确认具体校验逻辑) - // DONE @AI:wm 里面,有模块实现了 checkBom 类似的逻辑;(AI 未修复原因:需要明确 BOM 校验的具体业务规则,建议参考 productionissue 模块的实现) + // DONE @AI:wm 里面,有模块实现了 checkBom 类似的逻辑;(AI 未修复原因:需要明确 BOM 校验的具体业务规则,建议参考 productissue 模块的实现) // 校验存在 validateOutsourceIssueLineExists(updateReqVO.getId()); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueDetailService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueDetailService.java index 8251260..430958b 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueDetailService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueDetailService.java @@ -1,7 +1,7 @@ -package cn.iocoder.yudao.module.mes.service.wm.productionissue; +package cn.iocoder.yudao.module.mes.service.wm.productissue; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.detail.MesWmProductionIssueDetailSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDetailDO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.detail.MesWmProductIssueDetailSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDetailDO; import jakarta.validation.Valid; import java.util.List; @@ -9,7 +9,7 @@ import java.util.List; /** * MES 领料出库明细 Service 接口 */ -public interface MesWmProductionIssueDetailService { +public interface MesWmProductIssueDetailService { /** * 创建领料出库明细 @@ -17,21 +17,21 @@ public interface MesWmProductionIssueDetailService { * @param createReqVO 创建信息 * @return 编号 */ - Long createProductionIssueDetail(@Valid MesWmProductionIssueDetailSaveReqVO createReqVO); + Long createProductIssueDetail(@Valid MesWmProductIssueDetailSaveReqVO createReqVO); /** * 更新领料出库明细 * * @param updateReqVO 更新信息 */ - void updateProductionIssueDetail(@Valid MesWmProductionIssueDetailSaveReqVO updateReqVO); + void updateProductIssueDetail(@Valid MesWmProductIssueDetailSaveReqVO updateReqVO); /** * 删除领料出库明细 * * @param id 编号 */ - void deleteProductionIssueDetail(Long id); + void deleteProductIssueDetail(Long id); /** * 获得领料出库明细 @@ -39,7 +39,7 @@ public interface MesWmProductionIssueDetailService { * @param id 编号 * @return 领料出库明细 */ - MesWmProductionIssueDetailDO getProductionIssueDetail(Long id); + MesWmProductIssueDetailDO getProductIssueDetail(Long id); /** * 根据行ID获取明细列表 @@ -47,7 +47,7 @@ public interface MesWmProductionIssueDetailService { * @param lineId 行ID * @return 明细列表 */ - List getProductionIssueDetailListByLineId(Long lineId); + List getProductIssueDetailListByLineId(Long lineId); /** * 根据领料单ID获取明细列表 @@ -55,13 +55,13 @@ public interface MesWmProductionIssueDetailService { * @param issueId 领料单ID * @return 明细列表 */ - List getProductionIssueDetailListByIssueId(Long issueId); + List getProductIssueDetailListByIssueId(Long issueId); /** * 根据领料单ID删除明细 * * @param issueId 领料单ID */ - void deleteProductionIssueDetailByIssueId(Long issueId); + void deleteProductIssueDetailByIssueId(Long issueId); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueDetailServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueDetailServiceImpl.java index b601d44..4de03d7 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueDetailServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueDetailServiceImpl.java @@ -1,9 +1,9 @@ -package cn.iocoder.yudao.module.mes.service.wm.productionissue; +package cn.iocoder.yudao.module.mes.service.wm.productissue; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.detail.MesWmProductionIssueDetailSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDetailDO; -import cn.iocoder.yudao.module.mes.dal.mysql.wm.productionissue.MesWmProductionIssueDetailMapper; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.detail.MesWmProductIssueDetailSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDetailDO; +import cn.iocoder.yudao.module.mes.dal.mysql.wm.productissue.MesWmProductIssueDetailMapper; import jakarta.annotation.Resource; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -12,76 +12,76 @@ import org.springframework.validation.annotation.Validated; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_PRODUCTION_ISSUE_DETAIL_NOT_EXISTS; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_PRODUCT_ISSUE_DETAIL_NOT_EXISTS; /** * MES 领料出库明细 Service 实现类 */ @Service @Validated -public class MesWmProductionIssueDetailServiceImpl implements MesWmProductionIssueDetailService { +public class MesWmProductIssueDetailServiceImpl implements MesWmProductIssueDetailService { @Resource - private MesWmProductionIssueDetailMapper issueDetailMapper; + private MesWmProductIssueDetailMapper issueDetailMapper; @Resource @Lazy - private MesWmProductionIssueLineService issueLineService; + private MesWmProductIssueLineService issueLineService; @Override - public Long createProductionIssueDetail(MesWmProductionIssueDetailSaveReqVO createReqVO) { + public Long createProductIssueDetail(MesWmProductIssueDetailSaveReqVO createReqVO) { // 校验父数据存在 - issueLineService.validateProductionIssueLineExists(createReqVO.getLineId()); + issueLineService.validateProductIssueLineExists(createReqVO.getLineId()); // 插入 - MesWmProductionIssueDetailDO detail = BeanUtils.toBean(createReqVO, MesWmProductionIssueDetailDO.class); + MesWmProductIssueDetailDO detail = BeanUtils.toBean(createReqVO, MesWmProductIssueDetailDO.class); issueDetailMapper.insert(detail); return detail.getId(); } @Override - public void updateProductionIssueDetail(MesWmProductionIssueDetailSaveReqVO updateReqVO) { + public void updateProductIssueDetail(MesWmProductIssueDetailSaveReqVO updateReqVO) { // 校验存在 - validateProductionIssueDetailExists(updateReqVO.getId()); + validateProductIssueDetailExists(updateReqVO.getId()); // 校验父数据存在 - issueLineService.validateProductionIssueLineExists(updateReqVO.getLineId()); + issueLineService.validateProductIssueLineExists(updateReqVO.getLineId()); // 更新 - MesWmProductionIssueDetailDO updateObj = BeanUtils.toBean(updateReqVO, MesWmProductionIssueDetailDO.class); + MesWmProductIssueDetailDO updateObj = BeanUtils.toBean(updateReqVO, MesWmProductIssueDetailDO.class); issueDetailMapper.updateById(updateObj); } @Override - public void deleteProductionIssueDetail(Long id) { + public void deleteProductIssueDetail(Long id) { // 校验存在 - validateProductionIssueDetailExists(id); + validateProductIssueDetailExists(id); // 删除 issueDetailMapper.deleteById(id); } @Override - public MesWmProductionIssueDetailDO getProductionIssueDetail(Long id) { + public MesWmProductIssueDetailDO getProductIssueDetail(Long id) { return issueDetailMapper.selectById(id); } @Override - public List getProductionIssueDetailListByLineId(Long lineId) { + public List getProductIssueDetailListByLineId(Long lineId) { return issueDetailMapper.selectListByLineId(lineId); } @Override - public List getProductionIssueDetailListByIssueId(Long issueId) { + public List getProductIssueDetailListByIssueId(Long issueId) { return issueDetailMapper.selectListByIssueId(issueId); } @Override - public void deleteProductionIssueDetailByIssueId(Long issueId) { + public void deleteProductIssueDetailByIssueId(Long issueId) { issueDetailMapper.deleteByIssueId(issueId); } - private void validateProductionIssueDetailExists(Long id) { + private void validateProductIssueDetailExists(Long id) { if (issueDetailMapper.selectById(id) == null) { - throw exception(WM_PRODUCTION_ISSUE_DETAIL_NOT_EXISTS); + throw exception(WM_PRODUCT_ISSUE_DETAIL_NOT_EXISTS); } } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueLineService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueLineService.java index ca88cc9..ab9b47d 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueLineService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueLineService.java @@ -1,9 +1,9 @@ -package cn.iocoder.yudao.module.mes.service.wm.productionissue; +package cn.iocoder.yudao.module.mes.service.wm.productissue; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLinePageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLineSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueLineDO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLinePageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLineSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueLineDO; import jakarta.validation.Valid; import java.util.List; @@ -11,7 +11,7 @@ import java.util.List; /** * MES 领料出库单行 Service 接口 */ -public interface MesWmProductionIssueLineService { +public interface MesWmProductIssueLineService { /** * 创建领料出库单行 @@ -19,21 +19,21 @@ public interface MesWmProductionIssueLineService { * @param createReqVO 创建信息 * @return 编号 */ - Long createProductionIssueLine(@Valid MesWmProductionIssueLineSaveReqVO createReqVO); + Long createProductIssueLine(@Valid MesWmProductIssueLineSaveReqVO createReqVO); /** * 更新领料出库单行 * * @param updateReqVO 更新信息 */ - void updateProductionIssueLine(@Valid MesWmProductionIssueLineSaveReqVO updateReqVO); + void updateProductIssueLine(@Valid MesWmProductIssueLineSaveReqVO updateReqVO); /** * 删除领料出库单行 * * @param id 编号 */ - void deleteProductionIssueLine(Long id); + void deleteProductIssueLine(Long id); /** * 获得领料出库单行 @@ -41,7 +41,7 @@ public interface MesWmProductionIssueLineService { * @param id 编号 * @return 领料出库单行 */ - MesWmProductionIssueLineDO getProductionIssueLine(Long id); + MesWmProductIssueLineDO getProductIssueLine(Long id); /** * 获得领料出库单行分页 @@ -49,7 +49,7 @@ public interface MesWmProductionIssueLineService { * @param pageReqVO 分页查询 * @return 领料出库单行分页 */ - PageResult getProductionIssueLinePage(MesWmProductionIssueLinePageReqVO pageReqVO); + PageResult getProductIssueLinePage(MesWmProductIssueLinePageReqVO pageReqVO); /** * 根据领料单ID获取行列表 @@ -57,14 +57,14 @@ public interface MesWmProductionIssueLineService { * @param issueId 领料单ID * @return 行列表 */ - List getProductionIssueLineListByIssueId(Long issueId); + List getProductIssueLineListByIssueId(Long issueId); /** * 根据领料单ID删除行 * * @param issueId 领料单ID */ - void deleteProductionIssueLineByIssueId(Long issueId); + void deleteProductIssueLineByIssueId(Long issueId); /** * 校验领料出库单行是否存在 @@ -72,6 +72,6 @@ public interface MesWmProductionIssueLineService { * @param id 编号 * @return 领料出库单行 */ - MesWmProductionIssueLineDO validateProductionIssueLineExists(Long id); + MesWmProductIssueLineDO validateProductIssueLineExists(Long id); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueLineServiceImpl.java index aa5116b..9b9d187 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueLineServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueLineServiceImpl.java @@ -1,14 +1,14 @@ -package cn.iocoder.yudao.module.mes.service.wm.productionissue; +package cn.iocoder.yudao.module.mes.service.wm.productissue; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLinePageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLineSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLinePageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLineSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderBomDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueLineDO; -import cn.iocoder.yudao.module.mes.dal.mysql.wm.productionissue.MesWmProductionIssueLineMapper; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueLineDO; +import cn.iocoder.yudao.module.mes.dal.mysql.wm.productissue.MesWmProductIssueLineMapper; import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService; import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderBomService; import jakarta.annotation.Resource; @@ -19,94 +19,94 @@ import org.springframework.validation.annotation.Validated; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_PRODUCTION_ISSUE_LINE_ITEM_NOT_IN_BOM; -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_PRODUCTION_ISSUE_LINE_NOT_EXISTS; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_PRODUCT_ISSUE_LINE_ITEM_NOT_IN_BOM; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_PRODUCT_ISSUE_LINE_NOT_EXISTS; /** * MES 领料出库单行 Service 实现类 */ @Service @Validated -public class MesWmProductionIssueLineServiceImpl implements MesWmProductionIssueLineService { +public class MesWmProductIssueLineServiceImpl implements MesWmProductIssueLineService { @Resource - private MesWmProductionIssueLineMapper issueLineMapper; + private MesWmProductIssueLineMapper issueLineMapper; @Resource @Lazy - private MesWmProductionIssueService issueService; + private MesWmProductIssueService issueService; @Resource private MesMdItemService itemService; @Resource private MesProWorkOrderBomService workOrderBomService; @Override - public Long createProductionIssueLine(MesWmProductionIssueLineSaveReqVO createReqVO) { + public Long createProductIssueLine(MesWmProductIssueLineSaveReqVO createReqVO) { // 校验父数据存在 + 校验物料在工单 BOM 中 validateItemInWorkOrderBom(createReqVO.getIssueId(), createReqVO.getItemId()); // 校验物料存在 itemService.validateItemExists(createReqVO.getItemId()); // 插入 - MesWmProductionIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmProductionIssueLineDO.class); + MesWmProductIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmProductIssueLineDO.class); issueLineMapper.insert(line); return line.getId(); } @Override - public void updateProductionIssueLine(MesWmProductionIssueLineSaveReqVO updateReqVO) { + public void updateProductIssueLine(MesWmProductIssueLineSaveReqVO updateReqVO) { // 校验存在 - validateProductionIssueLineExists(updateReqVO.getId()); + validateProductIssueLineExists(updateReqVO.getId()); // 校验父数据存在 + 校验物料在工单 BOM 中 validateItemInWorkOrderBom(updateReqVO.getIssueId(), updateReqVO.getItemId()); // 校验物料存在 itemService.validateItemExists(updateReqVO.getItemId()); // 更新 - MesWmProductionIssueLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmProductionIssueLineDO.class); + MesWmProductIssueLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmProductIssueLineDO.class); issueLineMapper.updateById(updateObj); } @Override - public void deleteProductionIssueLine(Long id) { + public void deleteProductIssueLine(Long id) { // 校验存在 - validateProductionIssueLineExists(id); + validateProductIssueLineExists(id); // 删除 issueLineMapper.deleteById(id); } @Override - public MesWmProductionIssueLineDO getProductionIssueLine(Long id) { + public MesWmProductIssueLineDO getProductIssueLine(Long id) { return issueLineMapper.selectById(id); } @Override - public PageResult getProductionIssueLinePage(MesWmProductionIssueLinePageReqVO pageReqVO) { + public PageResult getProductIssueLinePage(MesWmProductIssueLinePageReqVO pageReqVO) { return issueLineMapper.selectPage(pageReqVO); } @Override - public List getProductionIssueLineListByIssueId(Long issueId) { + public List getProductIssueLineListByIssueId(Long issueId) { return issueLineMapper.selectListByIssueId(issueId); } @Override - public void deleteProductionIssueLineByIssueId(Long issueId) { + public void deleteProductIssueLineByIssueId(Long issueId) { issueLineMapper.deleteByIssueId(issueId); } @Override - public MesWmProductionIssueLineDO validateProductionIssueLineExists(Long id) { - MesWmProductionIssueLineDO line = issueLineMapper.selectById(id); + public MesWmProductIssueLineDO validateProductIssueLineExists(Long id) { + MesWmProductIssueLineDO line = issueLineMapper.selectById(id); if (line == null) { - throw exception(WM_PRODUCTION_ISSUE_LINE_NOT_EXISTS); + throw exception(WM_PRODUCT_ISSUE_LINE_NOT_EXISTS); } return line; } private void validateItemInWorkOrderBom(Long issueId, Long itemId) { // 校验领料单存在,并获取工单编号 - MesWmProductionIssueDO issue = issueService.validateProductionIssueExists(issueId); + MesWmProductIssueDO issue = issueService.validateProductIssueExists(issueId); // 校验物料是否在工单 BOM 中(防错料) List workOrderBoms = workOrderBomService.getWorkOrderBomListByWorkOrderId(issue.getWorkOrderId()); if (CollUtil.isEmpty(workOrderBoms)) { @@ -115,7 +115,7 @@ public class MesWmProductionIssueLineServiceImpl implements MesWmProductionIssue MesProWorkOrderBomDO workOrderBom = CollUtil.findOne(workOrderBoms, bom -> bom.getItemId().equals(itemId)); if (workOrderBom == null) { - throw exception(WM_PRODUCTION_ISSUE_LINE_ITEM_NOT_IN_BOM); + throw exception(WM_PRODUCT_ISSUE_LINE_ITEM_NOT_IN_BOM); } } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueService.java index 62841ea..58a5e63 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueService.java @@ -1,15 +1,15 @@ -package cn.iocoder.yudao.module.mes.service.wm.productionissue; +package cn.iocoder.yudao.module.mes.service.wm.productissue; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssuePageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssueSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssuePageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssueSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDO; import jakarta.validation.Valid; /** * MES 领料出库单 Service 接口 */ -public interface MesWmProductionIssueService { +public interface MesWmProductIssueService { /** * 创建领料出库单 @@ -17,21 +17,21 @@ public interface MesWmProductionIssueService { * @param createReqVO 创建信息 * @return 编号 */ - Long createProductionIssue(@Valid MesWmProductionIssueSaveReqVO createReqVO); + Long createProductIssue(@Valid MesWmProductIssueSaveReqVO createReqVO); /** * 修改领料出库单 * * @param updateReqVO 修改信息 */ - void updateProductionIssue(@Valid MesWmProductionIssueSaveReqVO updateReqVO); + void updateProductIssue(@Valid MesWmProductIssueSaveReqVO updateReqVO); /** * 删除领料出库单 * * @param id 编号 */ - void deleteProductionIssue(Long id); + void deleteProductIssue(Long id); /** * 获得领料出库单 @@ -39,7 +39,7 @@ public interface MesWmProductionIssueService { * @param id 编号 * @return 领料出库单 */ - MesWmProductionIssueDO getProductionIssue(Long id); + MesWmProductIssueDO getProductIssue(Long id); /** * 获得领料出库单分页 @@ -47,7 +47,7 @@ public interface MesWmProductionIssueService { * @param pageReqVO 分页参数 * @return 领料出库单分页 */ - PageResult getProductionIssuePage(MesWmProductionIssuePageReqVO pageReqVO); + PageResult getProductIssuePage(MesWmProductIssuePageReqVO pageReqVO); /** * 校验领料出库单是否存在 @@ -55,35 +55,35 @@ public interface MesWmProductionIssueService { * @param id 编号 * @return 领料出库单 */ - MesWmProductionIssueDO validateProductionIssueExists(Long id); + MesWmProductIssueDO validateProductIssueExists(Long id); /** * 提交领料出库单(草稿 → 待拣货) * * @param id 编号 */ - void submitProductionIssue(Long id); + void submitProductIssue(Long id); /** * 执行拣货(待拣货 → 待执行领出) * * @param id 编号 */ - void stockProductionIssue(Long id); + void stockProductIssue(Long id); /** * 执行领出/出库(待执行领出 → 已完成),更新库存台账 * * @param id 编号 */ - void finishProductionIssue(Long id); + void finishProductIssue(Long id); /** * 取消领料出库单(任意非已完成/已取消状态 → 已取消) * * @param id 编号 */ - void cancelProductionIssue(Long id); + void cancelProductIssue(Long id); /** * 校验领料出库单的数量:每行明细数量之和是否等于行领料数量 @@ -91,6 +91,6 @@ public interface MesWmProductionIssueService { * @param id 编号 * @return 是否全部一致 */ - Boolean checkProductionIssueQuantity(Long id); + Boolean checkProductIssueQuantity(Long id); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueServiceImpl.java index ddf209d..67de831 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueServiceImpl.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.mes.service.wm.productionissue; +package cn.iocoder.yudao.module.mes.service.wm.productissue; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjUtil; @@ -6,14 +6,14 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssuePageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssueSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDetailDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueLineDO; -import cn.iocoder.yudao.module.mes.dal.mysql.wm.productionissue.MesWmProductionIssueMapper; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssuePageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssueSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDetailDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueLineDO; +import cn.iocoder.yudao.module.mes.dal.mysql.wm.productissue.MesWmProductIssueMapper; import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants; -import cn.iocoder.yudao.module.mes.enums.wm.MesWmProductionIssueStatusEnum; +import cn.iocoder.yudao.module.mes.enums.wm.MesWmProductIssueStatusEnum; import cn.iocoder.yudao.module.mes.enums.wm.MesWmTransactionTypeEnum; import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationService; import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderService; @@ -41,15 +41,15 @@ import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; */ @Service @Validated -public class MesWmProductionIssueServiceImpl implements MesWmProductionIssueService { +public class MesWmProductIssueServiceImpl implements MesWmProductIssueService { @Resource - private MesWmProductionIssueMapper issueMapper; + private MesWmProductIssueMapper issueMapper; @Resource - private MesWmProductionIssueLineService issueLineService; + private MesWmProductIssueLineService issueLineService; @Resource - private MesWmProductionIssueDetailService issueDetailService; + private MesWmProductIssueDetailService issueDetailService; @Resource private MesMdWorkstationService workstationService; @Resource @@ -65,7 +65,7 @@ public class MesWmProductionIssueServiceImpl implements MesWmProductionIssueServ @Override @Transactional(rollbackFor = Exception.class) - public Long createProductionIssue(MesWmProductionIssueSaveReqVO createReqVO) { + public Long createProductIssue(MesWmProductIssueSaveReqVO createReqVO) { // 1. 校验关联数据 workOrderService.validateWorkOrderExists(createReqVO.getWorkOrderId()); if (createReqVO.getWorkstationId() != null) { @@ -73,17 +73,17 @@ public class MesWmProductionIssueServiceImpl implements MesWmProductionIssueServ } // 2. 插入主表 - MesWmProductionIssueDO issue = BeanUtils.toBean(createReqVO, MesWmProductionIssueDO.class); - issue.setStatus(MesWmProductionIssueStatusEnum.PREPARE.getStatus()); + MesWmProductIssueDO issue = BeanUtils.toBean(createReqVO, MesWmProductIssueDO.class); + issue.setStatus(MesWmProductIssueStatusEnum.PREPARE.getStatus()); issueMapper.insert(issue); return issue.getId(); } @Override @Transactional(rollbackFor = Exception.class) - public void updateProductionIssue(MesWmProductionIssueSaveReqVO updateReqVO) { + public void updateProductIssue(MesWmProductIssueSaveReqVO updateReqVO) { // 1.1 校验存在 + 准备中状态 - validateProductionIssueExistsAndPrepare(updateReqVO.getId()); + validateProductIssueExistsAndPrepare(updateReqVO.getId()); // 1.2 校验关联数据 workOrderService.validateWorkOrderExists(updateReqVO.getWorkOrderId()); if (updateReqVO.getWorkstationId() != null) { @@ -91,89 +91,89 @@ public class MesWmProductionIssueServiceImpl implements MesWmProductionIssueServ } // 2. 更新主表 - MesWmProductionIssueDO updateObj = BeanUtils.toBean(updateReqVO, MesWmProductionIssueDO.class); + MesWmProductIssueDO updateObj = BeanUtils.toBean(updateReqVO, MesWmProductIssueDO.class); issueMapper.updateById(updateObj); } @Override @Transactional(rollbackFor = Exception.class) - public void deleteProductionIssue(Long id) { + public void deleteProductIssue(Long id) { // 1. 校验存在 + 准备中状态 - validateProductionIssueExistsAndPrepare(id); + validateProductIssueExistsAndPrepare(id); // 2.1 级联删除明细 - issueDetailService.deleteProductionIssueDetailByIssueId(id); + issueDetailService.deleteProductIssueDetailByIssueId(id); // 2.2 级联删除行 - issueLineService.deleteProductionIssueLineByIssueId(id); + issueLineService.deleteProductIssueLineByIssueId(id); // 2.3 删除主表 issueMapper.deleteById(id); } @Override - public MesWmProductionIssueDO getProductionIssue(Long id) { + public MesWmProductIssueDO getProductIssue(Long id) { return issueMapper.selectById(id); } @Override - public PageResult getProductionIssuePage(MesWmProductionIssuePageReqVO pageReqVO) { + public PageResult getProductIssuePage(MesWmProductIssuePageReqVO pageReqVO) { return issueMapper.selectPage(pageReqVO); } @Override @Transactional(rollbackFor = Exception.class) - public void submitProductionIssue(Long id) { + public void submitProductIssue(Long id) { // 校验存在 + 草稿状态 - validateProductionIssueExistsAndPrepare(id); + validateProductIssueExistsAndPrepare(id); // 校验至少有一条行 - List lines = issueLineService.getProductionIssueLineListByIssueId(id); + List lines = issueLineService.getProductIssueLineListByIssueId(id); if (CollUtil.isEmpty(lines)) { - throw exception(WM_PRODUCTION_ISSUE_NO_LINE); + throw exception(WM_PRODUCT_ISSUE_NO_LINE); } // 提交(草稿 → 待拣货) - issueMapper.updateById(new MesWmProductionIssueDO() - .setId(id).setStatus(MesWmProductionIssueStatusEnum.APPROVING.getStatus())); + issueMapper.updateById(new MesWmProductIssueDO() + .setId(id).setStatus(MesWmProductIssueStatusEnum.APPROVING.getStatus())); } @Override @Transactional(rollbackFor = Exception.class) - public void stockProductionIssue(Long id) { + public void stockProductIssue(Long id) { // 校验存在 - MesWmProductionIssueDO issue = validateProductionIssueExists(id); - if (ObjUtil.notEqual(MesWmProductionIssueStatusEnum.APPROVING.getStatus(), issue.getStatus())) { - throw exception(WM_PRODUCTION_ISSUE_STATUS_INVALID); + MesWmProductIssueDO issue = validateProductIssueExists(id); + if (ObjUtil.notEqual(MesWmProductIssueStatusEnum.APPROVING.getStatus(), issue.getStatus())) { + throw exception(WM_PRODUCT_ISSUE_STATUS_INVALID); } // 执行拣货(待拣货 → 待执行领出) - issueMapper.updateById(new MesWmProductionIssueDO() - .setId(id).setStatus(MesWmProductionIssueStatusEnum.APPROVED.getStatus())); + issueMapper.updateById(new MesWmProductIssueDO() + .setId(id).setStatus(MesWmProductIssueStatusEnum.APPROVED.getStatus())); } @Override @Transactional(rollbackFor = Exception.class) - public void finishProductionIssue(Long id) { + public void finishProductIssue(Long id) { // 1. 校验存在 - MesWmProductionIssueDO issue = validateProductionIssueExists(id); - if (ObjUtil.notEqual(MesWmProductionIssueStatusEnum.APPROVED.getStatus(), issue.getStatus())) { - throw exception(WM_PRODUCTION_ISSUE_STATUS_INVALID); + MesWmProductIssueDO issue = validateProductIssueExists(id); + if (ObjUtil.notEqual(MesWmProductIssueStatusEnum.APPROVED.getStatus(), issue.getStatus())) { + throw exception(WM_PRODUCT_ISSUE_STATUS_INVALID); } // 2. 遍历所有明细,创建库存事务(扣减库存 + 记录流水) createTransactionList(issue); // 3. 更新出库单状态 - issueMapper.updateById(new MesWmProductionIssueDO() - .setId(id).setStatus(MesWmProductionIssueStatusEnum.FINISHED.getStatus())); + issueMapper.updateById(new MesWmProductIssueDO() + .setId(id).setStatus(MesWmProductIssueStatusEnum.FINISHED.getStatus())); } - private void createTransactionList(MesWmProductionIssueDO issue) { + private void createTransactionList(MesWmProductIssueDO issue) { // 1. 查询虚拟线边库 MesWmWarehouseDO virtualWarehouse = warehouseService.getWarehouseByCode(MesWmWarehouseDO.WIP_VIRTUAL_WAREHOUSE); MesWmWarehouseLocationDO virtualLocation = locationService.getWarehouseLocationByCode(MesWmWarehouseLocationDO.WIP_VIRTUAL_LOCATION); MesWmWarehouseAreaDO virtualArea = areaService.getWarehouseAreaByCode(MesWmWarehouseAreaDO.WIP_VIRTUAL_AREA); // 2. 遍历明细,每条明细产生 OUT(实际仓库扣减)+ IN(虚拟线边库增加) - List details = issueDetailService.getProductionIssueDetailListByIssueId(issue.getId()); - for (MesWmProductionIssueDetailDO detail : details) { + List details = issueDetailService.getProductIssueDetailListByIssueId(issue.getId()); + for (MesWmProductIssueDetailDO detail : details) { // 2.1 先从实际仓库出库(库存减少) Long outTransactionId = wmTransactionService.createTransaction(new MesWmTransactionSaveReqDTO() .setType(MesWmTransactionTypeEnum.OUT.getType()).setItemId(detail.getItemId()) @@ -196,28 +196,28 @@ public class MesWmProductionIssueServiceImpl implements MesWmProductionIssueServ @Override @Transactional(rollbackFor = Exception.class) - public void cancelProductionIssue(Long id) { + public void cancelProductIssue(Long id) { // 校验存在 - MesWmProductionIssueDO issue = validateProductionIssueExists(id); + MesWmProductIssueDO issue = validateProductIssueExists(id); // 已完成和已取消不允许取消 if (ObjectUtils.equalsAny(issue.getStatus(), - MesWmProductionIssueStatusEnum.FINISHED.getStatus(), - MesWmProductionIssueStatusEnum.CANCELED.getStatus())) { - throw exception(WM_PRODUCTION_ISSUE_CANCEL_NOT_ALLOWED); + MesWmProductIssueStatusEnum.FINISHED.getStatus(), + MesWmProductIssueStatusEnum.CANCELED.getStatus())) { + throw exception(WM_PRODUCT_ISSUE_CANCEL_NOT_ALLOWED); } // 取消 - issueMapper.updateById(new MesWmProductionIssueDO() - .setId(id).setStatus(MesWmProductionIssueStatusEnum.CANCELED.getStatus())); + issueMapper.updateById(new MesWmProductIssueDO() + .setId(id).setStatus(MesWmProductIssueStatusEnum.CANCELED.getStatus())); } @Override - public Boolean checkProductionIssueQuantity(Long id) { - List lines = issueLineService.getProductionIssueLineListByIssueId(id); - for (MesWmProductionIssueLineDO line : lines) { - List details = issueDetailService.getProductionIssueDetailListByLineId(line.getId()); + public Boolean checkProductIssueQuantity(Long id) { + List lines = issueLineService.getProductIssueLineListByIssueId(id); + for (MesWmProductIssueLineDO line : lines) { + List details = issueDetailService.getProductIssueDetailListByLineId(line.getId()); BigDecimal totalDetailQty = CollectionUtils.getSumValue(details, - MesWmProductionIssueDetailDO::getQuantity, BigDecimal::add, BigDecimal.ZERO); + MesWmProductIssueDetailDO::getQuantity, BigDecimal::add, BigDecimal.ZERO); if (line.getQuantity() != null && totalDetailQty.compareTo(line.getQuantity()) != 0) { return false; } @@ -226,10 +226,10 @@ public class MesWmProductionIssueServiceImpl implements MesWmProductionIssueServ } @Override - public MesWmProductionIssueDO validateProductionIssueExists(Long id) { - MesWmProductionIssueDO issue = issueMapper.selectById(id); + public MesWmProductIssueDO validateProductIssueExists(Long id) { + MesWmProductIssueDO issue = issueMapper.selectById(id); if (issue == null) { - throw exception(WM_PRODUCTION_ISSUE_NOT_EXISTS); + throw exception(WM_PRODUCT_ISSUE_NOT_EXISTS); } return issue; } @@ -237,10 +237,10 @@ public class MesWmProductionIssueServiceImpl implements MesWmProductionIssueServ /** * 校验领料出库单存在且为准备中状态 */ - private MesWmProductionIssueDO validateProductionIssueExistsAndPrepare(Long id) { - MesWmProductionIssueDO issue = validateProductionIssueExists(id); - if (ObjUtil.notEqual(MesWmProductionIssueStatusEnum.PREPARE.getStatus(), issue.getStatus())) { - throw exception(WM_PRODUCTION_ISSUE_STATUS_INVALID); + private MesWmProductIssueDO validateProductIssueExistsAndPrepare(Long id) { + MesWmProductIssueDO issue = validateProductIssueExists(id); + if (ObjUtil.notEqual(MesWmProductIssueStatusEnum.PREPARE.getStatus(), issue.getStatus())) { + throw exception(WM_PRODUCT_ISSUE_STATUS_INVALID); } return issue; } diff --git a/yudao-module-mes/src/main/resources/mapper/wm/batch/MesWmBatchMapper.xml b/yudao-module-mes/src/main/resources/mapper/wm/batch/MesWmBatchMapper.xml index 86f51dd..b62b82a 100644 --- a/yudao-module-mes/src/main/resources/mapper/wm/batch/MesWmBatchMapper.xml +++ b/yudao-module-mes/src/main/resources/mapper/wm/batch/MesWmBatchMapper.xml @@ -12,13 +12,13 @@ SELECT DISTINCT ic.work_order_id AS workorder_code, icd.item_id, icd.batch_id, icd.batch_code FROM mes_wm_product_produce_detail ppd LEFT JOIN mes_wm_product_produce pp ON ppd.produce_id = pp.id - LEFT JOIN mes_wm_production_issue ic ON pp.work_order_id = ic.work_order_id - LEFT JOIN mes_wm_production_issue_detail icd ON ic.id = icd.issue_id + LEFT JOIN mes_wm_product_issue ic ON pp.work_order_id = ic.work_order_id + LEFT JOIN mes_wm_product_issue_detail icd ON ic.id = icd.issue_id WHERE ppd.batch_code = #{batchCode} AND icd.batch_code IS NOT NULL