Commit 5fbd35bb66786fd217a7cd504c7321b19e93d634
1 parent
c96bd633
✨ feat(mes): 更新盘点方案参数及状态管理逻辑
移除不必要的字段,优化参数类型枚举,添加分页请求和响应对象,增强代码可读性和维护性。更新状态管理逻辑,确保盘点方案的启用状态与参数一致性。
Showing
19 changed files
with
255 additions
and
278 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/plan/MesWmStockTakingPlanController.java
| 1 | package cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan; | 1 | package cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan; |
| 2 | 2 | ||
| 3 | -import cn.hutool.core.collection.CollUtil; | ||
| 4 | import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; | 3 | import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; |
| 4 | +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | ||
| 5 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 5 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 6 | import cn.iocoder.yudao.framework.common.pojo.PageParam; | 6 | import cn.iocoder.yudao.framework.common.pojo.PageParam; |
| 7 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 7 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 8 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 8 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 9 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | 9 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| 10 | -import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.*; | ||
| 11 | -import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamRespVO; | 10 | +import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.MesWmStockTakingPlanPageReqVO; |
| 11 | +import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.MesWmStockTakingPlanRespVO; | ||
| 12 | +import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.MesWmStockTakingPlanSaveReqVO; | ||
| 12 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanDO; | 13 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanDO; |
| 13 | -import cn.iocoder.yudao.module.mes.service.wm.stocktaking.plan.MesWmStockTakingPlanParamService; | ||
| 14 | import cn.iocoder.yudao.module.mes.service.wm.stocktaking.plan.MesWmStockTakingPlanService; | 14 | import cn.iocoder.yudao.module.mes.service.wm.stocktaking.plan.MesWmStockTakingPlanService; |
| 15 | import io.swagger.v3.oas.annotations.Operation; | 15 | import io.swagger.v3.oas.annotations.Operation; |
| 16 | import io.swagger.v3.oas.annotations.Parameter; | 16 | import io.swagger.v3.oas.annotations.Parameter; |
| 17 | +import io.swagger.v3.oas.annotations.Parameters; | ||
| 17 | import io.swagger.v3.oas.annotations.tags.Tag; | 18 | import io.swagger.v3.oas.annotations.tags.Tag; |
| 18 | import jakarta.annotation.Resource; | 19 | import jakarta.annotation.Resource; |
| 19 | import jakarta.servlet.http.HttpServletResponse; | 20 | import jakarta.servlet.http.HttpServletResponse; |
| @@ -23,14 +24,10 @@ import org.springframework.validation.annotation.Validated; | @@ -23,14 +24,10 @@ import org.springframework.validation.annotation.Validated; | ||
| 23 | import org.springframework.web.bind.annotation.*; | 24 | import org.springframework.web.bind.annotation.*; |
| 24 | 25 | ||
| 25 | import java.io.IOException; | 26 | import java.io.IOException; |
| 26 | -import java.util.Collection; | ||
| 27 | -import java.util.Collections; | ||
| 28 | import java.util.List; | 27 | import java.util.List; |
| 29 | -import java.util.Map; | ||
| 30 | 28 | ||
| 31 | import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; | 29 | import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; |
| 32 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | 30 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| 33 | -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; | ||
| 34 | 31 | ||
| 35 | @Tag(name = "管理后台 - MES 盘点方案") | 32 | @Tag(name = "管理后台 - MES 盘点方案") |
| 36 | @RestController | 33 | @RestController |
| @@ -40,8 +37,6 @@ public class MesWmStockTakingPlanController { | @@ -40,8 +37,6 @@ public class MesWmStockTakingPlanController { | ||
| 40 | 37 | ||
| 41 | @Resource | 38 | @Resource |
| 42 | private MesWmStockTakingPlanService stockTakingPlanService; | 39 | private MesWmStockTakingPlanService stockTakingPlanService; |
| 43 | - @Resource | ||
| 44 | - private MesWmStockTakingPlanParamService stockTakingPlanParamService; | ||
| 45 | 40 | ||
| 46 | @PostMapping("/create") | 41 | @PostMapping("/create") |
| 47 | @Operation(summary = "创建盘点方案") | 42 | @Operation(summary = "创建盘点方案") |
| @@ -73,10 +68,7 @@ public class MesWmStockTakingPlanController { | @@ -73,10 +68,7 @@ public class MesWmStockTakingPlanController { | ||
| 73 | @PreAuthorize("@ss.hasPermission('mes:wm-stocktaking-plan:query')") | 68 | @PreAuthorize("@ss.hasPermission('mes:wm-stocktaking-plan:query')") |
| 74 | public CommonResult<MesWmStockTakingPlanRespVO> getStockTakingPlan(@RequestParam("id") Long id) { | 69 | public CommonResult<MesWmStockTakingPlanRespVO> getStockTakingPlan(@RequestParam("id") Long id) { |
| 75 | MesWmStockTakingPlanDO plan = stockTakingPlanService.getStockTakingPlan(id); | 70 | MesWmStockTakingPlanDO plan = stockTakingPlanService.getStockTakingPlan(id); |
| 76 | - if (plan == null) { | ||
| 77 | - return success(null); | ||
| 78 | - } | ||
| 79 | - return success(buildRespVOList(Collections.singletonList(plan), true).get(0)); | 71 | + return success(plan == null ? null : BeanUtils.toBean(plan, MesWmStockTakingPlanRespVO.class)); |
| 80 | } | 72 | } |
| 81 | 73 | ||
| 82 | @GetMapping("/page") | 74 | @GetMapping("/page") |
| @@ -84,7 +76,7 @@ public class MesWmStockTakingPlanController { | @@ -84,7 +76,7 @@ public class MesWmStockTakingPlanController { | ||
| 84 | @PreAuthorize("@ss.hasPermission('mes:wm-stocktaking-plan:query')") | 76 | @PreAuthorize("@ss.hasPermission('mes:wm-stocktaking-plan:query')") |
| 85 | public CommonResult<PageResult<MesWmStockTakingPlanRespVO>> getStockTakingPlanPage(@Valid MesWmStockTakingPlanPageReqVO pageReqVO) { | 77 | public CommonResult<PageResult<MesWmStockTakingPlanRespVO>> getStockTakingPlanPage(@Valid MesWmStockTakingPlanPageReqVO pageReqVO) { |
| 86 | PageResult<MesWmStockTakingPlanDO> pageResult = stockTakingPlanService.getStockTakingPlanPage(pageReqVO); | 78 | PageResult<MesWmStockTakingPlanDO> pageResult = stockTakingPlanService.getStockTakingPlanPage(pageReqVO); |
| 87 | - return success(new PageResult<>(buildRespVOList(pageResult.getList(), false), pageResult.getTotal())); | 79 | + return success(BeanUtils.toBean(pageResult, MesWmStockTakingPlanRespVO.class)); |
| 88 | } | 80 | } |
| 89 | 81 | ||
| 90 | @GetMapping("/export-excel") | 82 | @GetMapping("/export-excel") |
| @@ -96,25 +88,7 @@ public class MesWmStockTakingPlanController { | @@ -96,25 +88,7 @@ public class MesWmStockTakingPlanController { | ||
| 96 | pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | 88 | pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); |
| 97 | PageResult<MesWmStockTakingPlanDO> pageResult = stockTakingPlanService.getStockTakingPlanPage(pageReqVO); | 89 | PageResult<MesWmStockTakingPlanDO> pageResult = stockTakingPlanService.getStockTakingPlanPage(pageReqVO); |
| 98 | ExcelUtils.write(response, "盘点方案.xls", "数据", MesWmStockTakingPlanRespVO.class, | 90 | ExcelUtils.write(response, "盘点方案.xls", "数据", MesWmStockTakingPlanRespVO.class, |
| 99 | - buildRespVOList(pageResult.getList(), false)); | ||
| 100 | - } | ||
| 101 | - | ||
| 102 | - // TODO @AI:去掉 confirmStockTakingPlan 方法;改成 updateStatus 这种接口; | ||
| 103 | - @PutMapping("/confirm") | ||
| 104 | - @Operation(summary = "确认盘点方案") | ||
| 105 | - @Parameter(name = "id", description = "编号", required = true) | ||
| 106 | - @PreAuthorize("@ss.hasPermission('mes:wm-stocktaking-plan:update')") | ||
| 107 | - public CommonResult<Boolean> confirmStockTakingPlan(@RequestParam("id") Long id) { | ||
| 108 | - stockTakingPlanService.confirmStockTakingPlan(id); | ||
| 109 | - return success(true); | ||
| 110 | - } | ||
| 111 | - | ||
| 112 | - // TODO @AI:去掉 generateStockTakingTask 方法 | ||
| 113 | - @PostMapping("/generate-task") | ||
| 114 | - @Operation(summary = "根据盘点方案生成盘点任务") | ||
| 115 | - @PreAuthorize("@ss.hasPermission('mes:wm-stocktaking-task:create')") | ||
| 116 | - public CommonResult<Long> generateStockTakingTask(@Valid @RequestBody MesWmStockTakingPlanGenerateReqVO reqVO) { | ||
| 117 | - return success(stockTakingPlanService.generateStockTakingTask(reqVO)); | 91 | + BeanUtils.toBean(pageResult.getList(), MesWmStockTakingPlanRespVO.class)); |
| 118 | } | 92 | } |
| 119 | 93 | ||
| 120 | private List<MesWmStockTakingPlanRespVO> buildRespVOList(List<MesWmStockTakingPlanDO> list, boolean includeParams) { | 94 | private List<MesWmStockTakingPlanRespVO> buildRespVOList(List<MesWmStockTakingPlanDO> list, boolean includeParams) { |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/plan/MesWmStockTakingPlanParamController.java
| 1 | package cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan; | 1 | package cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 4 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 6 | +import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamPageReqVO; | ||
| 5 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamRespVO; | 7 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamRespVO; |
| 6 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamSaveReqVO; | 8 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamSaveReqVO; |
| 7 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanParamDO; | 9 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanParamDO; |
| @@ -15,8 +17,6 @@ import org.springframework.security.access.prepost.PreAuthorize; | @@ -15,8 +17,6 @@ import org.springframework.security.access.prepost.PreAuthorize; | ||
| 15 | import org.springframework.validation.annotation.Validated; | 17 | import org.springframework.validation.annotation.Validated; |
| 16 | import org.springframework.web.bind.annotation.*; | 18 | import org.springframework.web.bind.annotation.*; |
| 17 | 19 | ||
| 18 | -import java.util.List; | ||
| 19 | - | ||
| 20 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | 20 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| 21 | 21 | ||
| 22 | @Tag(name = "管理后台 - MES 盘点方案参数") | 22 | @Tag(name = "管理后台 - MES 盘点方案参数") |
| @@ -61,14 +61,14 @@ public class MesWmStockTakingPlanParamController { | @@ -61,14 +61,14 @@ public class MesWmStockTakingPlanParamController { | ||
| 61 | return success(param == null ? null : BeanUtils.toBean(param, MesWmStockTakingPlanParamRespVO.class)); | 61 | return success(param == null ? null : BeanUtils.toBean(param, MesWmStockTakingPlanParamRespVO.class)); |
| 62 | } | 62 | } |
| 63 | 63 | ||
| 64 | - // TODO @AI:不需要这个接口;前端只需要分页接口; | ||
| 65 | - @GetMapping("/list") | ||
| 66 | - @Operation(summary = "获得盘点方案参数列表") | ||
| 67 | - @Parameter(name = "planId", description = "方案编号", required = true) | ||
| 68 | - @PreAuthorize("@ss.hasPermission('mes:wm-stocktaking-plan:query')") | ||
| 69 | - public CommonResult<List<MesWmStockTakingPlanParamRespVO>> getStockTakingPlanParamList(@RequestParam("planId") Long planId) { | ||
| 70 | - return success(BeanUtils.toBean(stockTakingPlanParamService.getStockTakingPlanParamList(planId), | ||
| 71 | - MesWmStockTakingPlanParamRespVO.class)); | 64 | + @GetMapping("/page") |
| 65 | + @Operation(summary = "获得盘点方案参数分页") | ||
| 66 | + @PreAuthorize("@ss.hasPermission('mes:wm-stock-taking-plan:query')") | ||
| 67 | + public CommonResult<PageResult<MesWmStockTakingPlanParamRespVO>> getStockTakingPlanParamPage( | ||
| 68 | + @Valid MesWmStockTakingPlanParamPageReqVO pageReqVO) { | ||
| 69 | + PageResult<MesWmStockTakingPlanParamDO> pageResult = stockTakingPlanParamService.getStockTakingPlanParamPage(pageReqVO); | ||
| 70 | + return success(new PageResult<>(BeanUtils.toBean(pageResult.getList(), MesWmStockTakingPlanParamRespVO.class), pageResult.getTotal())); | ||
| 72 | } | 71 | } |
| 73 | 72 | ||
| 73 | + | ||
| 74 | } | 74 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/plan/vo/MesWmStockTakingPlanGenerateReqVO.java deleted
| 1 | -package cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo; | ||
| 2 | - | ||
| 3 | -import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamSaveReqVO; | ||
| 4 | -import io.swagger.v3.oas.annotations.media.Schema; | ||
| 5 | -import jakarta.validation.constraints.NotEmpty; | ||
| 6 | -import jakarta.validation.constraints.NotNull; | ||
| 7 | -import lombok.Data; | ||
| 8 | - | ||
| 9 | -import java.time.LocalDateTime; | ||
| 10 | -import java.util.List; | ||
| 11 | - | ||
| 12 | -@Schema(description = "管理后台 - MES 盘点方案生成任务 Request VO") | ||
| 13 | -@Data | ||
| 14 | -public class MesWmStockTakingPlanGenerateReqVO { | ||
| 15 | - | ||
| 16 | - @Schema(description = "方案编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | ||
| 17 | - @NotNull(message = "方案编号不能为空") | ||
| 18 | - private Long planId; | ||
| 19 | - | ||
| 20 | - @Schema(description = "任务编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "ST202603080001") | ||
| 21 | - @NotEmpty(message = "任务编码不能为空") | ||
| 22 | - private String code; | ||
| 23 | - | ||
| 24 | - @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "原料仓月度盘点任务") | ||
| 25 | - @NotEmpty(message = "任务名称不能为空") | ||
| 26 | - private String name; | ||
| 27 | - | ||
| 28 | - @Schema(description = "盘点日期") | ||
| 29 | - private LocalDateTime takingDate; | ||
| 30 | - | ||
| 31 | - @Schema(description = "盘点人 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | ||
| 32 | - @NotNull(message = "盘点人不能为空") | ||
| 33 | - private Long userId; | ||
| 34 | - | ||
| 35 | - @Schema(description = "备注", example = "备注") | ||
| 36 | - private String remark; | ||
| 37 | - | ||
| 38 | - @Schema(description = "方案参数列表,为空时使用方案自身参数") | ||
| 39 | - private List<MesWmStockTakingPlanParamSaveReqVO> params; | ||
| 40 | - | ||
| 41 | -} |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/plan/vo/MesWmStockTakingPlanPageReqVO.java
| @@ -4,11 +4,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam; | @@ -4,11 +4,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 4 | import io.swagger.v3.oas.annotations.media.Schema; | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | import lombok.Data; | 5 | import lombok.Data; |
| 6 | import lombok.EqualsAndHashCode; | 6 | import lombok.EqualsAndHashCode; |
| 7 | -import org.springframework.format.annotation.DateTimeFormat; | ||
| 8 | - | ||
| 9 | -import java.time.LocalDateTime; | ||
| 10 | - | ||
| 11 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | 7 | ||
| 13 | @Schema(description = "管理后台 - MES 盘点方案分页 Request VO") | 8 | @Schema(description = "管理后台 - MES 盘点方案分页 Request VO") |
| 14 | @Data | 9 | @Data |
| @@ -24,14 +19,4 @@ public class MesWmStockTakingPlanPageReqVO extends PageParam { | @@ -24,14 +19,4 @@ public class MesWmStockTakingPlanPageReqVO extends PageParam { | ||
| 24 | @Schema(description = "盘点类型", example = "1") | 19 | @Schema(description = "盘点类型", example = "1") |
| 25 | private Integer type; | 20 | private Integer type; |
| 26 | 21 | ||
| 27 | - @Schema(description = "状态", example = "0") | ||
| 28 | - private Integer status; | ||
| 29 | - | ||
| 30 | - @Schema(description = "是否启用", example = "true") | ||
| 31 | - private Boolean enableFlag; | ||
| 32 | - | ||
| 33 | - @Schema(description = "计划开始时间范围") | ||
| 34 | - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 35 | - private LocalDateTime[] startTime; | ||
| 36 | - | ||
| 37 | } | 22 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/plan/vo/MesWmStockTakingPlanRespVO.java
| @@ -2,12 +2,10 @@ package cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo; | @@ -2,12 +2,10 @@ package cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo; | ||
| 2 | 2 | ||
| 3 | import cn.idev.excel.annotation.ExcelIgnoreUnannotated; | 3 | import cn.idev.excel.annotation.ExcelIgnoreUnannotated; |
| 4 | import cn.idev.excel.annotation.ExcelProperty; | 4 | import cn.idev.excel.annotation.ExcelProperty; |
| 5 | -import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamRespVO; | ||
| 6 | import io.swagger.v3.oas.annotations.media.Schema; | 5 | import io.swagger.v3.oas.annotations.media.Schema; |
| 7 | import lombok.Data; | 6 | import lombok.Data; |
| 8 | 7 | ||
| 9 | import java.time.LocalDateTime; | 8 | import java.time.LocalDateTime; |
| 10 | -import java.util.List; | ||
| 11 | 9 | ||
| 12 | @Schema(description = "管理后台 - MES 盘点方案 Response VO") | 10 | @Schema(description = "管理后台 - MES 盘点方案 Response VO") |
| 13 | @Data | 11 | @Data |
| @@ -46,10 +44,6 @@ public class MesWmStockTakingPlanRespVO { | @@ -46,10 +44,6 @@ public class MesWmStockTakingPlanRespVO { | ||
| 46 | @ExcelProperty("是否冻结库存") | 44 | @ExcelProperty("是否冻结库存") |
| 47 | private Boolean frozenFlag; | 45 | private Boolean frozenFlag; |
| 48 | 46 | ||
| 49 | - @Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") | ||
| 50 | - @ExcelProperty("是否启用") | ||
| 51 | - private Boolean enableFlag; | ||
| 52 | - | ||
| 53 | @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") | 47 | @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") |
| 54 | @ExcelProperty("状态") | 48 | @ExcelProperty("状态") |
| 55 | private Integer status; | 49 | private Integer status; |
| @@ -58,9 +52,6 @@ public class MesWmStockTakingPlanRespVO { | @@ -58,9 +52,6 @@ public class MesWmStockTakingPlanRespVO { | ||
| 58 | @ExcelProperty("备注") | 52 | @ExcelProperty("备注") |
| 59 | private String remark; | 53 | private String remark; |
| 60 | 54 | ||
| 61 | - @Schema(description = "方案参数列表") | ||
| 62 | - private List<MesWmStockTakingPlanParamRespVO> params; | ||
| 63 | - | ||
| 64 | @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) | 55 | @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) |
| 65 | @ExcelProperty("创建时间") | 56 | @ExcelProperty("创建时间") |
| 66 | private LocalDateTime createTime; | 57 | private LocalDateTime createTime; |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/plan/vo/MesWmStockTakingPlanSaveReqVO.java
| @@ -40,10 +40,6 @@ public class MesWmStockTakingPlanSaveReqVO { | @@ -40,10 +40,6 @@ public class MesWmStockTakingPlanSaveReqVO { | ||
| 40 | @NotNull(message = "是否冻结库存不能为空") | 40 | @NotNull(message = "是否冻结库存不能为空") |
| 41 | private Boolean frozenFlag; | 41 | private Boolean frozenFlag; |
| 42 | 42 | ||
| 43 | - @Schema(description = "是否启用", example = "true") | ||
| 44 | - @NotNull(message = "是否启用不能为空") | ||
| 45 | - private Boolean enableFlag; | ||
| 46 | - | ||
| 47 | @Schema(description = "备注", example = "备注") | 43 | @Schema(description = "备注", example = "备注") |
| 48 | private String remark; | 44 | private String remark; |
| 49 | 45 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/plan/vo/param/MesWmStockTakingPlanParamPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 4 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 5 | +import jakarta.validation.constraints.NotNull; | ||
| 6 | +import lombok.Data; | ||
| 7 | +import lombok.EqualsAndHashCode; | ||
| 8 | +import lombok.ToString; | ||
| 9 | + | ||
| 10 | +@Schema(description = "管理后台 - MES 盘点方案参数分页 Request VO") | ||
| 11 | +@Data | ||
| 12 | +@EqualsAndHashCode(callSuper = true) | ||
| 13 | +@ToString(callSuper = true) | ||
| 14 | +public class MesWmStockTakingPlanParamPageReqVO extends PageParam { | ||
| 15 | + | ||
| 16 | + @Schema(description = "方案 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | ||
| 17 | + @NotNull(message = "方案 ID 不能为空") | ||
| 18 | + private Long planId; | ||
| 19 | + | ||
| 20 | +} |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/stocktaking/plan/MesWmStockTakingPlanDO.java
| 1 | package cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan; | 1 | package cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | -import cn.iocoder.yudao.module.mes.enums.wm.MesWmStockTakingPlanStatusEnum; | ||
| 5 | import cn.iocoder.yudao.module.mes.enums.wm.MesWmStockTakingTypeEnum; | 5 | import cn.iocoder.yudao.module.mes.enums.wm.MesWmStockTakingTypeEnum; |
| 6 | import com.baomidou.mybatisplus.annotation.KeySequence; | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 7 | import com.baomidou.mybatisplus.annotation.TableId; | 7 | import com.baomidou.mybatisplus.annotation.TableId; |
| @@ -10,8 +10,6 @@ import lombok.*; | @@ -10,8 +10,6 @@ import lombok.*; | ||
| 10 | 10 | ||
| 11 | import java.time.LocalDateTime; | 11 | import java.time.LocalDateTime; |
| 12 | 12 | ||
| 13 | -// TODO @AI:缺少注释; | ||
| 14 | - | ||
| 15 | /** | 13 | /** |
| 16 | * MES 盘点方案 DO | 14 | * MES 盘点方案 DO |
| 17 | */ | 15 | */ |
| @@ -25,35 +23,56 @@ import java.time.LocalDateTime; | @@ -25,35 +23,56 @@ import java.time.LocalDateTime; | ||
| 25 | @AllArgsConstructor | 23 | @AllArgsConstructor |
| 26 | public class MesWmStockTakingPlanDO extends BaseDO { | 24 | public class MesWmStockTakingPlanDO extends BaseDO { |
| 27 | 25 | ||
| 26 | + /** | ||
| 27 | + * 编号 | ||
| 28 | + */ | ||
| 28 | @TableId | 29 | @TableId |
| 29 | private Long id; | 30 | private Long id; |
| 30 | 31 | ||
| 32 | + /** | ||
| 33 | + * 方案编码 | ||
| 34 | + */ | ||
| 31 | private String code; | 35 | private String code; |
| 32 | 36 | ||
| 37 | + /** | ||
| 38 | + * 方案名称 | ||
| 39 | + */ | ||
| 33 | private String name; | 40 | private String name; |
| 34 | 41 | ||
| 35 | /** | 42 | /** |
| 43 | + * 盘点类型 | ||
| 44 | + * | ||
| 36 | * 枚举 {@link MesWmStockTakingTypeEnum} | 45 | * 枚举 {@link MesWmStockTakingTypeEnum} |
| 37 | */ | 46 | */ |
| 38 | private Integer type; | 47 | private Integer type; |
| 39 | - | 48 | + /** |
| 49 | + * 计划开始时间 | ||
| 50 | + */ | ||
| 40 | private LocalDateTime startTime; | 51 | private LocalDateTime startTime; |
| 41 | - | 52 | + /** |
| 53 | + * 计划结束时间 | ||
| 54 | + */ | ||
| 42 | private LocalDateTime endTime; | 55 | private LocalDateTime endTime; |
| 43 | 56 | ||
| 57 | + /** | ||
| 58 | + * 是否盲盘 | ||
| 59 | + */ | ||
| 44 | private Boolean blindFlag; | 60 | private Boolean blindFlag; |
| 45 | - | 61 | + /** |
| 62 | + * 是否冻结库存 | ||
| 63 | + */ | ||
| 46 | private Boolean frozenFlag; | 64 | private Boolean frozenFlag; |
| 47 | 65 | ||
| 48 | - // TODO @AI:这个 enableFlag 改成 status,对应 CommonStatus; | ||
| 49 | - private Boolean enableFlag; | ||
| 50 | - | ||
| 51 | - // TODO @AI:这个字段没用,可以删除掉; | ||
| 52 | /** | 66 | /** |
| 53 | - * 枚举 {@link MesWmStockTakingPlanStatusEnum} | 67 | + * 状态 |
| 68 | + * | ||
| 69 | + * 枚举 {@link CommonStatusEnum} | ||
| 54 | */ | 70 | */ |
| 55 | private Integer status; | 71 | private Integer status; |
| 56 | 72 | ||
| 73 | + /** | ||
| 74 | + * 备注 | ||
| 75 | + */ | ||
| 57 | private String remark; | 76 | private String remark; |
| 58 | 77 | ||
| 59 | } | 78 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/stocktaking/plan/MesWmStockTakingPlanParamDO.java
| @@ -20,9 +20,11 @@ import lombok.*; | @@ -20,9 +20,11 @@ import lombok.*; | ||
| 20 | @AllArgsConstructor | 20 | @AllArgsConstructor |
| 21 | public class MesWmStockTakingPlanParamDO extends BaseDO { | 21 | public class MesWmStockTakingPlanParamDO extends BaseDO { |
| 22 | 22 | ||
| 23 | + /** | ||
| 24 | + * 编号 | ||
| 25 | + */ | ||
| 23 | @TableId | 26 | @TableId |
| 24 | private Long id; | 27 | private Long id; |
| 25 | - | ||
| 26 | /** | 28 | /** |
| 27 | * 盘点方案编号 | 29 | * 盘点方案编号 |
| 28 | * | 30 | * |
| @@ -31,6 +33,8 @@ public class MesWmStockTakingPlanParamDO extends BaseDO { | @@ -31,6 +33,8 @@ public class MesWmStockTakingPlanParamDO extends BaseDO { | ||
| 31 | private Long planId; | 33 | private Long planId; |
| 32 | 34 | ||
| 33 | /** | 35 | /** |
| 36 | + * 参数值类型 | ||
| 37 | + * | ||
| 34 | * 枚举 {@link MesWmStockTakingPlanParamTypeEnum} | 38 | * 枚举 {@link MesWmStockTakingPlanParamTypeEnum} |
| 35 | */ | 39 | */ |
| 36 | private Integer type; | 40 | private Integer type; |
| @@ -39,19 +43,18 @@ public class MesWmStockTakingPlanParamDO extends BaseDO { | @@ -39,19 +43,18 @@ public class MesWmStockTakingPlanParamDO extends BaseDO { | ||
| 39 | * 参数值编号,例如仓库、库区、库位、物料、批次的主键 ID | 43 | * 参数值编号,例如仓库、库区、库位、物料、批次的主键 ID |
| 40 | */ | 44 | */ |
| 41 | private Long valueId; | 45 | private Long valueId; |
| 42 | - | ||
| 43 | /** | 46 | /** |
| 44 | * 参数值编码,例如仓库编码、库区编码、库位编码、物料编码、批次编码 | 47 | * 参数值编码,例如仓库编码、库区编码、库位编码、物料编码、批次编码 |
| 45 | */ | 48 | */ |
| 46 | private String valueCode; | 49 | private String valueCode; |
| 47 | - | ||
| 48 | /** | 50 | /** |
| 49 | * 参数值名称,例如仓库名称、库区名称、库位名称、物料名称、批次名称 | 51 | * 参数值名称,例如仓库名称、库区名称、库位名称、物料名称、批次名称 |
| 50 | */ | 52 | */ |
| 51 | private String valueName; | 53 | private String valueName; |
| 52 | 54 | ||
| 55 | + /** | ||
| 56 | + * 备注 | ||
| 57 | + */ | ||
| 53 | private String remark; | 58 | private String remark; |
| 54 | 59 | ||
| 55 | - private Long tenantId; | ||
| 56 | - | ||
| 57 | } | 60 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/stocktaking/plan/MesWmStockTakingPlanMapper.java
| @@ -24,16 +24,12 @@ public interface MesWmStockTakingPlanMapper extends BaseMapperX<MesWmStockTaking | @@ -24,16 +24,12 @@ public interface MesWmStockTakingPlanMapper extends BaseMapperX<MesWmStockTaking | ||
| 24 | .likeIfPresent(MesWmStockTakingPlanDO::getCode, reqVO.getCode()) | 24 | .likeIfPresent(MesWmStockTakingPlanDO::getCode, reqVO.getCode()) |
| 25 | .likeIfPresent(MesWmStockTakingPlanDO::getName, reqVO.getName()) | 25 | .likeIfPresent(MesWmStockTakingPlanDO::getName, reqVO.getName()) |
| 26 | .eqIfPresent(MesWmStockTakingPlanDO::getType, reqVO.getType()) | 26 | .eqIfPresent(MesWmStockTakingPlanDO::getType, reqVO.getType()) |
| 27 | - .eqIfPresent(MesWmStockTakingPlanDO::getStatus, reqVO.getStatus()) | ||
| 28 | - .eqIfPresent(MesWmStockTakingPlanDO::getEnableFlag, reqVO.getEnableFlag()) | ||
| 29 | - .betweenIfPresent(MesWmStockTakingPlanDO::getStartTime, reqVO.getStartTime()) | ||
| 30 | .orderByDesc(MesWmStockTakingPlanDO::getId)); | 27 | .orderByDesc(MesWmStockTakingPlanDO::getId)); |
| 31 | } | 28 | } |
| 32 | 29 | ||
| 33 | default List<MesWmStockTakingPlanDO> selectListByStatus(Integer status) { | 30 | default List<MesWmStockTakingPlanDO> selectListByStatus(Integer status) { |
| 34 | return selectList(new LambdaQueryWrapperX<MesWmStockTakingPlanDO>() | 31 | return selectList(new LambdaQueryWrapperX<MesWmStockTakingPlanDO>() |
| 35 | .eqIfPresent(MesWmStockTakingPlanDO::getStatus, status) | 32 | .eqIfPresent(MesWmStockTakingPlanDO::getStatus, status) |
| 36 | - .eq(MesWmStockTakingPlanDO::getEnableFlag, true) | ||
| 37 | .orderByDesc(MesWmStockTakingPlanDO::getId)); | 33 | .orderByDesc(MesWmStockTakingPlanDO::getId)); |
| 38 | } | 34 | } |
| 39 | 35 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/stocktaking/plan/MesWmStockTakingPlanParamMapper.java
| 1 | package cn.iocoder.yudao.module.mes.dal.mysql.wm.stocktaking.plan; | 1 | package cn.iocoder.yudao.module.mes.dal.mysql.wm.stocktaking.plan; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | 4 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 4 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | 5 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| 6 | +import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamPageReqVO; | ||
| 5 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanParamDO; | 7 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanParamDO; |
| 6 | import org.apache.ibatis.annotations.Mapper; | 8 | import org.apache.ibatis.annotations.Mapper; |
| 7 | 9 | ||
| 8 | -import java.util.Collection; | ||
| 9 | import java.util.List; | 10 | import java.util.List; |
| 10 | 11 | ||
| 11 | /** | 12 | /** |
| @@ -14,23 +15,18 @@ import java.util.List; | @@ -14,23 +15,18 @@ import java.util.List; | ||
| 14 | @Mapper | 15 | @Mapper |
| 15 | public interface MesWmStockTakingPlanParamMapper extends BaseMapperX<MesWmStockTakingPlanParamDO> { | 16 | public interface MesWmStockTakingPlanParamMapper extends BaseMapperX<MesWmStockTakingPlanParamDO> { |
| 16 | 17 | ||
| 17 | - default List<MesWmStockTakingPlanParamDO> selectListByPlanId(Long planId) { | ||
| 18 | - return selectList(MesWmStockTakingPlanParamDO::getPlanId, planId); | 18 | + default PageResult<MesWmStockTakingPlanParamDO> selectPage(MesWmStockTakingPlanParamPageReqVO reqVO) { |
| 19 | + return selectPage(reqVO, new LambdaQueryWrapperX<MesWmStockTakingPlanParamDO>() | ||
| 20 | + .eqIfPresent(MesWmStockTakingPlanParamDO::getPlanId, reqVO.getPlanId()) | ||
| 21 | + .orderByAsc(MesWmStockTakingPlanParamDO::getId)); | ||
| 19 | } | 22 | } |
| 20 | 23 | ||
| 21 | - default List<MesWmStockTakingPlanParamDO> selectListByPlanIds(Collection<Long> planIds) { | ||
| 22 | - return selectList(MesWmStockTakingPlanParamDO::getPlanId, planIds); | 24 | + default List<MesWmStockTakingPlanParamDO> selectListByPlanId(Long planId) { |
| 25 | + return selectList(MesWmStockTakingPlanParamDO::getPlanId, planId); | ||
| 23 | } | 26 | } |
| 24 | 27 | ||
| 25 | default void deleteByPlanId(Long planId) { | 28 | default void deleteByPlanId(Long planId) { |
| 26 | delete(MesWmStockTakingPlanParamDO::getPlanId, planId); | 29 | delete(MesWmStockTakingPlanParamDO::getPlanId, planId); |
| 27 | } | 30 | } |
| 28 | 31 | ||
| 29 | - default List<MesWmStockTakingPlanParamDO> selectListByPlanIdAndType(Long planId, Integer type) { | ||
| 30 | - return selectList(new LambdaQueryWrapperX<MesWmStockTakingPlanParamDO>() | ||
| 31 | - .eq(MesWmStockTakingPlanParamDO::getPlanId, planId) | ||
| 32 | - .eq(MesWmStockTakingPlanParamDO::getType, type) | ||
| 33 | - .orderByAsc(MesWmStockTakingPlanParamDO::getId)); | ||
| 34 | - } | ||
| 35 | - | ||
| 36 | } | 32 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
| @@ -472,8 +472,8 @@ public interface ErrorCodeConstants { | @@ -472,8 +472,8 @@ public interface ErrorCodeConstants { | ||
| 472 | // ========== MES 仓库管理-盘点方案/任务/结果(1-040-714-100) ========== | 472 | // ========== MES 仓库管理-盘点方案/任务/结果(1-040-714-100) ========== |
| 473 | ErrorCode WM_STOCK_TAKING_PLAN_NOT_EXISTS = new ErrorCode(1_040_714_100, "盘点方案不存在"); | 473 | ErrorCode WM_STOCK_TAKING_PLAN_NOT_EXISTS = new ErrorCode(1_040_714_100, "盘点方案不存在"); |
| 474 | ErrorCode WM_STOCK_TAKING_PLAN_CODE_DUPLICATE = new ErrorCode(1_040_714_101, "盘点方案编码已存在"); | 474 | ErrorCode WM_STOCK_TAKING_PLAN_CODE_DUPLICATE = new ErrorCode(1_040_714_101, "盘点方案编码已存在"); |
| 475 | - ErrorCode WM_STOCK_TAKING_PLAN_NOT_PREPARE = new ErrorCode(1_040_714_102, "只有草稿状态的盘点方案才允许此操作"); | ||
| 476 | - ErrorCode WM_STOCK_TAKING_PLAN_NOT_CONFIRMED = new ErrorCode(1_040_714_103, "只有已确认状态的盘点方案才允许生成任务"); | 475 | + ErrorCode WM_STOCK_TAKING_PLAN_NOT_DISABLED = new ErrorCode(1_040_714_102, "只有禁用状态的盘点方案才允许修改、删除或维护参数"); |
| 476 | + ErrorCode WM_STOCK_TAKING_PLAN_NOT_ENABLED = new ErrorCode(1_040_714_103, "只有启用状态的盘点方案才允许生成任务"); | ||
| 477 | ErrorCode WM_STOCK_TAKING_PLAN_PARAM_NOT_EXISTS = new ErrorCode(1_040_714_104, "盘点方案参数不存在"); | 477 | ErrorCode WM_STOCK_TAKING_PLAN_PARAM_NOT_EXISTS = new ErrorCode(1_040_714_104, "盘点方案参数不存在"); |
| 478 | ErrorCode WM_STOCK_TAKING_TASK_NOT_EXISTS = new ErrorCode(1_040_714_110, "盘点任务不存在"); | 478 | ErrorCode WM_STOCK_TAKING_TASK_NOT_EXISTS = new ErrorCode(1_040_714_110, "盘点任务不存在"); |
| 479 | ErrorCode WM_STOCK_TAKING_TASK_CODE_DUPLICATE = new ErrorCode(1_040_714_111, "盘点任务编码已存在"); | 479 | ErrorCode WM_STOCK_TAKING_TASK_CODE_DUPLICATE = new ErrorCode(1_040_714_111, "盘点任务编码已存在"); |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmStockTakingPlanParamTypeEnum.java
| @@ -7,7 +7,6 @@ import lombok.Getter; | @@ -7,7 +7,6 @@ import lombok.Getter; | ||
| 7 | 7 | ||
| 8 | import java.util.Arrays; | 8 | import java.util.Arrays; |
| 9 | 9 | ||
| 10 | -// TODO @AI:缺少注释;type + name 这种; | ||
| 11 | /** | 10 | /** |
| 12 | * MES 盘点方案参数类型枚举 | 11 | * MES 盘点方案参数类型枚举 |
| 13 | */ | 12 | */ |
| @@ -24,7 +23,13 @@ public enum MesWmStockTakingPlanParamTypeEnum implements ArrayValuable<Integer> | @@ -24,7 +23,13 @@ public enum MesWmStockTakingPlanParamTypeEnum implements ArrayValuable<Integer> | ||
| 24 | public static final Integer[] ARRAYS = Arrays.stream(values()) | 23 | public static final Integer[] ARRAYS = Arrays.stream(values()) |
| 25 | .map(MesWmStockTakingPlanParamTypeEnum::getType).toArray(Integer[]::new); | 24 | .map(MesWmStockTakingPlanParamTypeEnum::getType).toArray(Integer[]::new); |
| 26 | 25 | ||
| 26 | + /** | ||
| 27 | + * 参数类型 | ||
| 28 | + */ | ||
| 27 | private final Integer type; | 29 | private final Integer type; |
| 30 | + /** | ||
| 31 | + * 类型名称 | ||
| 32 | + */ | ||
| 28 | private final String name; | 33 | private final String name; |
| 29 | 34 | ||
| 30 | @Override | 35 | @Override |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmStockTakingPlanStatusEnum.java deleted
| 1 | -package cn.iocoder.yudao.module.mes.enums.wm; | ||
| 2 | - | ||
| 3 | -import cn.iocoder.yudao.framework.common.core.ArrayValuable; | ||
| 4 | -import cn.iocoder.yudao.module.mes.enums.MesOrderStatusConstants; | ||
| 5 | -import lombok.AllArgsConstructor; | ||
| 6 | -import lombok.Getter; | ||
| 7 | - | ||
| 8 | -import java.util.Arrays; | ||
| 9 | - | ||
| 10 | -// TODO @AI:缺少注释;status + name 这种; | ||
| 11 | -/** | ||
| 12 | - * MES 盘点方案状态枚举 | ||
| 13 | - */ | ||
| 14 | -@Getter | ||
| 15 | -@AllArgsConstructor | ||
| 16 | -public enum MesWmStockTakingPlanStatusEnum implements ArrayValuable<Integer> { | ||
| 17 | - | ||
| 18 | - PREPARE(MesOrderStatusConstants.PREPARE, "草稿"), | ||
| 19 | - CONFIRMED(MesOrderStatusConstants.CONFIRMED, "已确认"); | ||
| 20 | - | ||
| 21 | - public static final Integer[] ARRAYS = Arrays.stream(values()) | ||
| 22 | - .map(MesWmStockTakingPlanStatusEnum::getStatus).toArray(Integer[]::new); | ||
| 23 | - | ||
| 24 | - private final Integer status; | ||
| 25 | - private final String name; | ||
| 26 | - | ||
| 27 | - @Override | ||
| 28 | - public Integer[] array() { | ||
| 29 | - return ARRAYS; | ||
| 30 | - } | ||
| 31 | - | ||
| 32 | -} |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmStockTakingTypeEnum.java
| @@ -6,7 +6,6 @@ import lombok.Getter; | @@ -6,7 +6,6 @@ import lombok.Getter; | ||
| 6 | 6 | ||
| 7 | import java.util.Arrays; | 7 | import java.util.Arrays; |
| 8 | 8 | ||
| 9 | -// TODO @AI:缺少注释;type + name 这种; | ||
| 10 | /** | 9 | /** |
| 11 | * MES 盘点类型枚举 | 10 | * MES 盘点类型枚举 |
| 12 | */ | 11 | */ |
| @@ -14,15 +13,19 @@ import java.util.Arrays; | @@ -14,15 +13,19 @@ import java.util.Arrays; | ||
| 14 | @AllArgsConstructor | 13 | @AllArgsConstructor |
| 15 | public enum MesWmStockTakingTypeEnum implements ArrayValuable<Integer> { | 14 | public enum MesWmStockTakingTypeEnum implements ArrayValuable<Integer> { |
| 16 | 15 | ||
| 17 | - // TODO @AI:只有 2 种:动态盘点、静态盘点;按照这个顺序枚举; | ||
| 18 | - OPEN(1, "开放盘点"), | ||
| 19 | - CYCLE(2, "循环盘点"), | ||
| 20 | - DYNAMIC(3, "动态盘点"); | 16 | + STATIC(1, "静态盘点"), |
| 17 | + DYNAMIC(2, "动态盘点"); | ||
| 21 | 18 | ||
| 22 | public static final Integer[] ARRAYS = Arrays.stream(values()) | 19 | public static final Integer[] ARRAYS = Arrays.stream(values()) |
| 23 | .map(MesWmStockTakingTypeEnum::getType).toArray(Integer[]::new); | 20 | .map(MesWmStockTakingTypeEnum::getType).toArray(Integer[]::new); |
| 24 | 21 | ||
| 22 | + /** | ||
| 23 | + * 盘点类型 | ||
| 24 | + */ | ||
| 25 | private final Integer type; | 25 | private final Integer type; |
| 26 | + /** | ||
| 27 | + * 类型名称 | ||
| 28 | + */ | ||
| 26 | private final String name; | 29 | private final String name; |
| 27 | 30 | ||
| 28 | @Override | 31 | @Override |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/plan/MesWmStockTakingPlanParamService.java
| 1 | package cn.iocoder.yudao.module.mes.service.wm.stocktaking.plan; | 1 | package cn.iocoder.yudao.module.mes.service.wm.stocktaking.plan; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | +import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamPageReqVO; | ||
| 3 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamSaveReqVO; | 5 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamSaveReqVO; |
| 4 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanParamDO; | 6 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanParamDO; |
| 5 | import jakarta.validation.Valid; | 7 | import jakarta.validation.Valid; |
| 6 | 8 | ||
| 7 | -import java.util.Collection; | ||
| 8 | -import java.util.List; | ||
| 9 | -import java.util.Map; | ||
| 10 | - | ||
| 11 | -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMultiMap; | ||
| 12 | - | ||
| 13 | -// TODO @AI:必要的注释 | ||
| 14 | /** | 9 | /** |
| 15 | * MES 盘点方案参数 Service 接口 | 10 | * MES 盘点方案参数 Service 接口 |
| 16 | */ | 11 | */ |
| 17 | public interface MesWmStockTakingPlanParamService { | 12 | public interface MesWmStockTakingPlanParamService { |
| 18 | 13 | ||
| 14 | + /** | ||
| 15 | + * 创建盘点方案参数 | ||
| 16 | + * | ||
| 17 | + * @param createReqVO 创建信息 | ||
| 18 | + * @return 参数编号 | ||
| 19 | + */ | ||
| 19 | Long createStockTakingPlanParam(@Valid MesWmStockTakingPlanParamSaveReqVO createReqVO); | 20 | Long createStockTakingPlanParam(@Valid MesWmStockTakingPlanParamSaveReqVO createReqVO); |
| 20 | 21 | ||
| 22 | + /** | ||
| 23 | + * 更新盘点方案参数 | ||
| 24 | + * | ||
| 25 | + * @param updateReqVO 更新信息 | ||
| 26 | + */ | ||
| 21 | void updateStockTakingPlanParam(@Valid MesWmStockTakingPlanParamSaveReqVO updateReqVO); | 27 | void updateStockTakingPlanParam(@Valid MesWmStockTakingPlanParamSaveReqVO updateReqVO); |
| 22 | 28 | ||
| 29 | + /** | ||
| 30 | + * 删除盘点方案参数 | ||
| 31 | + * | ||
| 32 | + * @param id 参数编号 | ||
| 33 | + */ | ||
| 23 | void deleteStockTakingPlanParam(Long id); | 34 | void deleteStockTakingPlanParam(Long id); |
| 24 | 35 | ||
| 36 | + /** | ||
| 37 | + * 获得盘点方案参数 | ||
| 38 | + * | ||
| 39 | + * @param id 参数编号 | ||
| 40 | + * @return 盘点方案参数 | ||
| 41 | + */ | ||
| 25 | MesWmStockTakingPlanParamDO getStockTakingPlanParam(Long id); | 42 | MesWmStockTakingPlanParamDO getStockTakingPlanParam(Long id); |
| 26 | 43 | ||
| 27 | - List<MesWmStockTakingPlanParamDO> getStockTakingPlanParamList(Long planId); | ||
| 28 | - | ||
| 29 | - default Map<Long, List<MesWmStockTakingPlanParamDO>> getStockTakingPlanParamMap(Collection<Long> planIds) { | ||
| 30 | - return convertMultiMap(getStockTakingPlanParamList(planIds), MesWmStockTakingPlanParamDO::getPlanId); | ||
| 31 | - } | ||
| 32 | - | ||
| 33 | - List<MesWmStockTakingPlanParamDO> getStockTakingPlanParamList(Collection<Long> planIds); | 44 | + /** |
| 45 | + * 分页查询盘点方案参数 | ||
| 46 | + * | ||
| 47 | + * @param pageReqVO 分页查询条件 | ||
| 48 | + * @return 盘点方案参数分页结果 | ||
| 49 | + */ | ||
| 50 | + PageResult<MesWmStockTakingPlanParamDO> getStockTakingPlanParamPage(MesWmStockTakingPlanParamPageReqVO pageReqVO); | ||
| 34 | 51 | ||
| 52 | + /** | ||
| 53 | + * 根据盘点方案编号删除参数 | ||
| 54 | + * | ||
| 55 | + * @param planId 盘点方案编号 | ||
| 56 | + */ | ||
| 35 | void deleteStockTakingPlanParamByPlanId(Long planId); | 57 | void deleteStockTakingPlanParamByPlanId(Long planId); |
| 36 | 58 | ||
| 59 | + /** | ||
| 60 | + * 校验盘点方案参数是否存在 | ||
| 61 | + * | ||
| 62 | + * @param id 参数编号 | ||
| 63 | + * @return 盘点方案参数 | ||
| 64 | + */ | ||
| 37 | MesWmStockTakingPlanParamDO validateStockTakingPlanParamExists(Long id); | 65 | MesWmStockTakingPlanParamDO validateStockTakingPlanParamExists(Long id); |
| 38 | 66 | ||
| 39 | } | 67 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/plan/MesWmStockTakingPlanParamServiceImpl.java
| 1 | package cn.iocoder.yudao.module.mes.service.wm.stocktaking.plan; | 1 | package cn.iocoder.yudao.module.mes.service.wm.stocktaking.plan; |
| 2 | 2 | ||
| 3 | -import cn.hutool.core.collection.CollUtil; | 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | +import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamPageReqVO; | ||
| 5 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamSaveReqVO; | 6 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamSaveReqVO; |
| 6 | -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanDO; | ||
| 7 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanParamDO; | 7 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanParamDO; |
| 8 | import cn.iocoder.yudao.module.mes.dal.mysql.wm.stocktaking.plan.MesWmStockTakingPlanParamMapper; | 8 | import cn.iocoder.yudao.module.mes.dal.mysql.wm.stocktaking.plan.MesWmStockTakingPlanParamMapper; |
| 9 | import jakarta.annotation.Resource; | 9 | import jakarta.annotation.Resource; |
| @@ -11,14 +11,9 @@ import org.springframework.context.annotation.Lazy; | @@ -11,14 +11,9 @@ import org.springframework.context.annotation.Lazy; | ||
| 11 | import org.springframework.stereotype.Service; | 11 | import org.springframework.stereotype.Service; |
| 12 | import org.springframework.validation.annotation.Validated; | 12 | import org.springframework.validation.annotation.Validated; |
| 13 | 13 | ||
| 14 | -import java.util.Collection; | ||
| 15 | -import java.util.Collections; | ||
| 16 | -import java.util.List; | ||
| 17 | - | ||
| 18 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 14 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 19 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_STOCK_TAKING_PLAN_PARAM_NOT_EXISTS; | 15 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_STOCK_TAKING_PLAN_PARAM_NOT_EXISTS; |
| 20 | 16 | ||
| 21 | -// TODO @AI:必要的注释 | ||
| 22 | /** | 17 | /** |
| 23 | * MES 盘点方案参数 Service 实现类 | 18 | * MES 盘点方案参数 Service 实现类 |
| 24 | */ | 19 | */ |
| @@ -34,19 +29,23 @@ public class MesWmStockTakingPlanParamServiceImpl implements MesWmStockTakingPla | @@ -34,19 +29,23 @@ public class MesWmStockTakingPlanParamServiceImpl implements MesWmStockTakingPla | ||
| 34 | 29 | ||
| 35 | @Override | 30 | @Override |
| 36 | public Long createStockTakingPlanParam(MesWmStockTakingPlanParamSaveReqVO createReqVO) { | 31 | public Long createStockTakingPlanParam(MesWmStockTakingPlanParamSaveReqVO createReqVO) { |
| 37 | - MesWmStockTakingPlanDO plan = stockTakingPlanService.validateStockTakingPlanEditable(createReqVO.getPlanId()); | 32 | + // 校验盘点方案是否可编辑 |
| 33 | + stockTakingPlanService.validateStockTakingPlanEditable(createReqVO.getPlanId()); | ||
| 38 | 34 | ||
| 35 | + // 创建盘点方案参数 | ||
| 39 | MesWmStockTakingPlanParamDO param = BeanUtils.toBean(createReqVO, MesWmStockTakingPlanParamDO.class); | 36 | MesWmStockTakingPlanParamDO param = BeanUtils.toBean(createReqVO, MesWmStockTakingPlanParamDO.class); |
| 40 | - param.setPlanId(plan.getId()); | ||
| 41 | stockTakingPlanParamMapper.insert(param); | 37 | stockTakingPlanParamMapper.insert(param); |
| 42 | return param.getId(); | 38 | return param.getId(); |
| 43 | } | 39 | } |
| 44 | 40 | ||
| 45 | @Override | 41 | @Override |
| 46 | public void updateStockTakingPlanParam(MesWmStockTakingPlanParamSaveReqVO updateReqVO) { | 42 | public void updateStockTakingPlanParam(MesWmStockTakingPlanParamSaveReqVO updateReqVO) { |
| 43 | + // 校验盘点方案参数存在 | ||
| 47 | MesWmStockTakingPlanParamDO param = validateStockTakingPlanParamExists(updateReqVO.getId()); | 44 | MesWmStockTakingPlanParamDO param = validateStockTakingPlanParamExists(updateReqVO.getId()); |
| 45 | + // 校验盘点方案是否可编辑 | ||
| 48 | stockTakingPlanService.validateStockTakingPlanEditable(param.getPlanId()); | 46 | stockTakingPlanService.validateStockTakingPlanEditable(param.getPlanId()); |
| 49 | 47 | ||
| 48 | + // 更新盘点方案参数 | ||
| 50 | MesWmStockTakingPlanParamDO updateObj = BeanUtils.toBean(updateReqVO, MesWmStockTakingPlanParamDO.class); | 49 | MesWmStockTakingPlanParamDO updateObj = BeanUtils.toBean(updateReqVO, MesWmStockTakingPlanParamDO.class); |
| 51 | updateObj.setPlanId(param.getPlanId()); | 50 | updateObj.setPlanId(param.getPlanId()); |
| 52 | stockTakingPlanParamMapper.updateById(updateObj); | 51 | stockTakingPlanParamMapper.updateById(updateObj); |
| @@ -54,8 +53,12 @@ public class MesWmStockTakingPlanParamServiceImpl implements MesWmStockTakingPla | @@ -54,8 +53,12 @@ public class MesWmStockTakingPlanParamServiceImpl implements MesWmStockTakingPla | ||
| 54 | 53 | ||
| 55 | @Override | 54 | @Override |
| 56 | public void deleteStockTakingPlanParam(Long id) { | 55 | public void deleteStockTakingPlanParam(Long id) { |
| 56 | + // 校验盘点方案参数存在 | ||
| 57 | MesWmStockTakingPlanParamDO param = validateStockTakingPlanParamExists(id); | 57 | MesWmStockTakingPlanParamDO param = validateStockTakingPlanParamExists(id); |
| 58 | + // 校验盘点方案是否可编辑 | ||
| 58 | stockTakingPlanService.validateStockTakingPlanEditable(param.getPlanId()); | 59 | stockTakingPlanService.validateStockTakingPlanEditable(param.getPlanId()); |
| 60 | + | ||
| 61 | + // 删除盘点方案参数 | ||
| 59 | stockTakingPlanParamMapper.deleteById(id); | 62 | stockTakingPlanParamMapper.deleteById(id); |
| 60 | } | 63 | } |
| 61 | 64 | ||
| @@ -65,16 +68,8 @@ public class MesWmStockTakingPlanParamServiceImpl implements MesWmStockTakingPla | @@ -65,16 +68,8 @@ public class MesWmStockTakingPlanParamServiceImpl implements MesWmStockTakingPla | ||
| 65 | } | 68 | } |
| 66 | 69 | ||
| 67 | @Override | 70 | @Override |
| 68 | - public List<MesWmStockTakingPlanParamDO> getStockTakingPlanParamList(Long planId) { | ||
| 69 | - return stockTakingPlanParamMapper.selectListByPlanId(planId); | ||
| 70 | - } | ||
| 71 | - | ||
| 72 | - @Override | ||
| 73 | - public List<MesWmStockTakingPlanParamDO> getStockTakingPlanParamList(Collection<Long> planIds) { | ||
| 74 | - if (CollUtil.isEmpty(planIds)) { | ||
| 75 | - return Collections.emptyList(); | ||
| 76 | - } | ||
| 77 | - return stockTakingPlanParamMapper.selectListByPlanIds(planIds); | 71 | + public PageResult<MesWmStockTakingPlanParamDO> getStockTakingPlanParamPage(MesWmStockTakingPlanParamPageReqVO pageReqVO) { |
| 72 | + return stockTakingPlanParamMapper.selectPage(pageReqVO); | ||
| 78 | } | 73 | } |
| 79 | 74 | ||
| 80 | @Override | 75 | @Override |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/plan/MesWmStockTakingPlanService.java
| 1 | package cn.iocoder.yudao.module.mes.service.wm.stocktaking.plan; | 1 | package cn.iocoder.yudao.module.mes.service.wm.stocktaking.plan; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | -import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.MesWmStockTakingPlanGenerateReqVO; | ||
| 5 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.MesWmStockTakingPlanPageReqVO; | 4 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.MesWmStockTakingPlanPageReqVO; |
| 6 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.MesWmStockTakingPlanSaveReqVO; | 5 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.MesWmStockTakingPlanSaveReqVO; |
| 7 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanDO; | 6 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanDO; |
| @@ -13,34 +12,97 @@ import java.util.Map; | @@ -13,34 +12,97 @@ import java.util.Map; | ||
| 13 | 12 | ||
| 14 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; | 13 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; |
| 15 | 14 | ||
| 16 | -// TODO @AI:必要的注释 | ||
| 17 | /** | 15 | /** |
| 18 | * MES 盘点方案 Service 接口 | 16 | * MES 盘点方案 Service 接口 |
| 19 | */ | 17 | */ |
| 20 | public interface MesWmStockTakingPlanService { | 18 | public interface MesWmStockTakingPlanService { |
| 21 | 19 | ||
| 20 | + /** | ||
| 21 | + * 创建盘点方案 | ||
| 22 | + * | ||
| 23 | + * @param createReqVO 创建信息 | ||
| 24 | + * @return 盘点方案编号 | ||
| 25 | + */ | ||
| 22 | Long createStockTakingPlan(@Valid MesWmStockTakingPlanSaveReqVO createReqVO); | 26 | Long createStockTakingPlan(@Valid MesWmStockTakingPlanSaveReqVO createReqVO); |
| 23 | 27 | ||
| 28 | + /** | ||
| 29 | + * 更新盘点方案 | ||
| 30 | + * | ||
| 31 | + * @param updateReqVO 更新信息 | ||
| 32 | + */ | ||
| 24 | void updateStockTakingPlan(@Valid MesWmStockTakingPlanSaveReqVO updateReqVO); | 33 | void updateStockTakingPlan(@Valid MesWmStockTakingPlanSaveReqVO updateReqVO); |
| 25 | 34 | ||
| 35 | + /** | ||
| 36 | + * 删除盘点方案 | ||
| 37 | + * | ||
| 38 | + * @param id 盘点方案编号 | ||
| 39 | + */ | ||
| 26 | void deleteStockTakingPlan(Long id); | 40 | void deleteStockTakingPlan(Long id); |
| 27 | 41 | ||
| 28 | - void confirmStockTakingPlan(Long id); | ||
| 29 | - | ||
| 30 | - Long generateStockTakingTask(@Valid MesWmStockTakingPlanGenerateReqVO reqVO); | ||
| 31 | - | 42 | + /** |
| 43 | + * 更新盘点方案状态。 | ||
| 44 | + * | ||
| 45 | + * @param id 盘点方案编号 | ||
| 46 | + * @param status 状态 | ||
| 47 | + */ | ||
| 48 | + void updateStockTakingPlanStatus(Long id, Integer status); | ||
| 49 | + | ||
| 50 | + /** | ||
| 51 | + * 获得盘点方案 | ||
| 52 | + * | ||
| 53 | + * @param id 盘点方案编号 | ||
| 54 | + * @return 盘点方案 | ||
| 55 | + */ | ||
| 32 | MesWmStockTakingPlanDO getStockTakingPlan(Long id); | 56 | MesWmStockTakingPlanDO getStockTakingPlan(Long id); |
| 33 | 57 | ||
| 58 | + /** | ||
| 59 | + * 校验盘点方案是否存在 | ||
| 60 | + * | ||
| 61 | + * @param id 盘点方案编号 | ||
| 62 | + * @return 盘点方案 | ||
| 63 | + */ | ||
| 34 | MesWmStockTakingPlanDO validateStockTakingPlanExists(Long id); | 64 | MesWmStockTakingPlanDO validateStockTakingPlanExists(Long id); |
| 35 | 65 | ||
| 66 | + /** | ||
| 67 | + * 校验盘点方案是否可编辑 | ||
| 68 | + * | ||
| 69 | + * @param id 盘点方案编号 | ||
| 70 | + * @return 盘点方案 | ||
| 71 | + */ | ||
| 36 | MesWmStockTakingPlanDO validateStockTakingPlanEditable(Long id); | 72 | MesWmStockTakingPlanDO validateStockTakingPlanEditable(Long id); |
| 37 | 73 | ||
| 74 | + /** | ||
| 75 | + * 获得盘点方案列表。 | ||
| 76 | + * | ||
| 77 | + * @param ids 盘点方案编号集合 | ||
| 78 | + * @return 盘点方案列表 | ||
| 79 | + */ | ||
| 38 | List<MesWmStockTakingPlanDO> getStockTakingPlanList(Collection<Long> ids); | 80 | List<MesWmStockTakingPlanDO> getStockTakingPlanList(Collection<Long> ids); |
| 39 | 81 | ||
| 82 | + /** | ||
| 83 | + * 获得盘点方案 Map | ||
| 84 | + * | ||
| 85 | + * @param ids 盘点方案编号集合 | ||
| 86 | + * @return 盘点方案 Map | ||
| 87 | + */ | ||
| 40 | default Map<Long, MesWmStockTakingPlanDO> getStockTakingPlanMap(Collection<Long> ids) { | 88 | default Map<Long, MesWmStockTakingPlanDO> getStockTakingPlanMap(Collection<Long> ids) { |
| 41 | return convertMap(getStockTakingPlanList(ids), MesWmStockTakingPlanDO::getId); | 89 | return convertMap(getStockTakingPlanList(ids), MesWmStockTakingPlanDO::getId); |
| 42 | } | 90 | } |
| 43 | 91 | ||
| 92 | + /** | ||
| 93 | + * 分页查询盘点方案 | ||
| 94 | + * | ||
| 95 | + * @param pageReqVO 分页查询条件 | ||
| 96 | + * @return 盘点方案分页结果 | ||
| 97 | + */ | ||
| 44 | PageResult<MesWmStockTakingPlanDO> getStockTakingPlanPage(MesWmStockTakingPlanPageReqVO pageReqVO); | 98 | PageResult<MesWmStockTakingPlanDO> getStockTakingPlanPage(MesWmStockTakingPlanPageReqVO pageReqVO); |
| 45 | 99 | ||
| 100 | + /** | ||
| 101 | + * 根据状态获得盘点方案列表。 | ||
| 102 | + * | ||
| 103 | + * @param status 状态 | ||
| 104 | + * @return 盘点方案列表 | ||
| 105 | + */ | ||
| 106 | + List<MesWmStockTakingPlanDO> getStockTakingPlanListByStatus(Integer status); | ||
| 107 | + | ||
| 46 | } | 108 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/plan/MesWmStockTakingPlanServiceImpl.java
| 1 | package cn.iocoder.yudao.module.mes.service.wm.stocktaking.plan; | 1 | package cn.iocoder.yudao.module.mes.service.wm.stocktaking.plan; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | +import cn.hutool.core.util.ObjUtil; | ||
| 5 | +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | ||
| 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 7 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 6 | -import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.MesWmStockTakingPlanGenerateReqVO; | ||
| 7 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.MesWmStockTakingPlanPageReqVO; | 8 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.MesWmStockTakingPlanPageReqVO; |
| 8 | -import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.param.MesWmStockTakingPlanParamSaveReqVO; | ||
| 9 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.MesWmStockTakingPlanSaveReqVO; | 9 | import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.plan.vo.MesWmStockTakingPlanSaveReqVO; |
| 10 | -import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.vo.task.MesWmStockTakingTaskSaveReqVO; | ||
| 11 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanDO; | 10 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.plan.MesWmStockTakingPlanDO; |
| 12 | import cn.iocoder.yudao.module.mes.dal.mysql.wm.stocktaking.plan.MesWmStockTakingPlanMapper; | 11 | import cn.iocoder.yudao.module.mes.dal.mysql.wm.stocktaking.plan.MesWmStockTakingPlanMapper; |
| 13 | -import cn.iocoder.yudao.module.mes.enums.wm.MesWmStockTakingPlanStatusEnum; | ||
| 14 | -import cn.iocoder.yudao.module.mes.service.wm.stocktaking.MesWmStockTakingTaskService; | ||
| 15 | import jakarta.annotation.Resource; | 12 | import jakarta.annotation.Resource; |
| 16 | import org.springframework.stereotype.Service; | 13 | import org.springframework.stereotype.Service; |
| 17 | import org.springframework.transaction.annotation.Transactional; | 14 | import org.springframework.transaction.annotation.Transactional; |
| @@ -20,12 +17,13 @@ import org.springframework.validation.annotation.Validated; | @@ -20,12 +17,13 @@ import org.springframework.validation.annotation.Validated; | ||
| 20 | import java.util.Collection; | 17 | import java.util.Collection; |
| 21 | import java.util.Collections; | 18 | import java.util.Collections; |
| 22 | import java.util.List; | 19 | import java.util.List; |
| 23 | -import java.util.Objects; | ||
| 24 | 20 | ||
| 25 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 21 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 26 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; | 22 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; |
| 27 | 23 | ||
| 28 | -// TODO @AI:必要的注释 | 24 | +/** |
| 25 | + * MES 盘点方案 Service 实现类 | ||
| 26 | + */ | ||
| 29 | @Service | 27 | @Service |
| 30 | @Validated | 28 | @Validated |
| 31 | public class MesWmStockTakingPlanServiceImpl implements MesWmStockTakingPlanService { | 29 | public class MesWmStockTakingPlanServiceImpl implements MesWmStockTakingPlanService { |
| @@ -34,67 +32,50 @@ public class MesWmStockTakingPlanServiceImpl implements MesWmStockTakingPlanServ | @@ -34,67 +32,50 @@ public class MesWmStockTakingPlanServiceImpl implements MesWmStockTakingPlanServ | ||
| 34 | private MesWmStockTakingPlanMapper stockTakingPlanMapper; | 32 | private MesWmStockTakingPlanMapper stockTakingPlanMapper; |
| 35 | @Resource | 33 | @Resource |
| 36 | private MesWmStockTakingPlanParamService stockTakingPlanParamService; | 34 | private MesWmStockTakingPlanParamService stockTakingPlanParamService; |
| 37 | - @Resource | ||
| 38 | - private MesWmStockTakingTaskService stockTakingTaskService; | ||
| 39 | 35 | ||
| 40 | @Override | 36 | @Override |
| 41 | - @Transactional(rollbackFor = Exception.class) | ||
| 42 | public Long createStockTakingPlan(MesWmStockTakingPlanSaveReqVO createReqVO) { | 37 | public Long createStockTakingPlan(MesWmStockTakingPlanSaveReqVO createReqVO) { |
| 38 | + // 校验 code 的唯一性 | ||
| 43 | validatePlanCodeUnique(null, createReqVO.getCode()); | 39 | validatePlanCodeUnique(null, createReqVO.getCode()); |
| 44 | 40 | ||
| 41 | + // 插入数据 | ||
| 45 | MesWmStockTakingPlanDO plan = BeanUtils.toBean(createReqVO, MesWmStockTakingPlanDO.class); | 42 | MesWmStockTakingPlanDO plan = BeanUtils.toBean(createReqVO, MesWmStockTakingPlanDO.class); |
| 46 | - plan.setStatus(MesWmStockTakingPlanStatusEnum.PREPARE.getStatus()); | 43 | + plan.setStatus(CommonStatusEnum.DISABLE.getStatus()); |
| 47 | stockTakingPlanMapper.insert(plan); | 44 | stockTakingPlanMapper.insert(plan); |
| 48 | return plan.getId(); | 45 | return plan.getId(); |
| 49 | } | 46 | } |
| 50 | 47 | ||
| 51 | - // TODO @AI:开启后,就不允许编辑、删除了; | ||
| 52 | @Override | 48 | @Override |
| 53 | - @Transactional(rollbackFor = Exception.class) | ||
| 54 | public void updateStockTakingPlan(MesWmStockTakingPlanSaveReqVO updateReqVO) { | 49 | public void updateStockTakingPlan(MesWmStockTakingPlanSaveReqVO updateReqVO) { |
| 55 | - validatePlanExistsAndPrepare(updateReqVO.getId()); | 50 | + // 校验盘点方案存在,并且是可编辑状态 |
| 51 | + validatePlanEditable(updateReqVO.getId()); | ||
| 52 | + // 校验 code 的唯一性 | ||
| 56 | validatePlanCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); | 53 | validatePlanCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); |
| 57 | 54 | ||
| 55 | + // 更新数据 | ||
| 58 | MesWmStockTakingPlanDO updateObj = BeanUtils.toBean(updateReqVO, MesWmStockTakingPlanDO.class); | 56 | MesWmStockTakingPlanDO updateObj = BeanUtils.toBean(updateReqVO, MesWmStockTakingPlanDO.class); |
| 59 | stockTakingPlanMapper.updateById(updateObj); | 57 | stockTakingPlanMapper.updateById(updateObj); |
| 60 | } | 58 | } |
| 61 | 59 | ||
| 62 | - // TODO @AI:开启后,就不允许编辑、删除了; | ||
| 63 | @Override | 60 | @Override |
| 64 | @Transactional(rollbackFor = Exception.class) | 61 | @Transactional(rollbackFor = Exception.class) |
| 65 | public void deleteStockTakingPlan(Long id) { | 62 | public void deleteStockTakingPlan(Long id) { |
| 66 | - validatePlanExistsAndPrepare(id); | 63 | + // 校验盘点方案存在,并且是可编辑状态 |
| 64 | + validatePlanEditable(id); | ||
| 65 | + | ||
| 66 | + // 删除盘点方案参数 | ||
| 67 | stockTakingPlanParamService.deleteStockTakingPlanParamByPlanId(id); | 67 | stockTakingPlanParamService.deleteStockTakingPlanParamByPlanId(id); |
| 68 | + // 删除盘点方案 | ||
| 68 | stockTakingPlanMapper.deleteById(id); | 69 | stockTakingPlanMapper.deleteById(id); |
| 69 | } | 70 | } |
| 70 | 71 | ||
| 71 | @Override | 72 | @Override |
| 72 | - public void confirmStockTakingPlan(Long id) { | ||
| 73 | - MesWmStockTakingPlanDO plan = validatePlanExistsAndPrepare(id); | ||
| 74 | - plan.setStatus(MesWmStockTakingPlanStatusEnum.CONFIRMED.getStatus()); | ||
| 75 | - stockTakingPlanMapper.updateById(plan); | ||
| 76 | - } | 73 | + public void updateStockTakingPlanStatus(Long id, Integer status) { |
| 74 | + // 校验盘点方案存在 | ||
| 75 | + validateStockTakingPlanExists(id); | ||
| 77 | 76 | ||
| 78 | - // TODO @AI:这个方法不需要了呀; | ||
| 79 | - @Override | ||
| 80 | - public Long generateStockTakingTask(MesWmStockTakingPlanGenerateReqVO reqVO) { | ||
| 81 | - MesWmStockTakingPlanDO plan = validatePlanExistsAndConfirmed(reqVO.getPlanId()); | ||
| 82 | - MesWmStockTakingTaskSaveReqVO taskSaveReqVO = new MesWmStockTakingTaskSaveReqVO(); | ||
| 83 | - taskSaveReqVO.setCode(reqVO.getCode()); | ||
| 84 | - taskSaveReqVO.setName(reqVO.getName()); | ||
| 85 | - taskSaveReqVO.setTakingDate(reqVO.getTakingDate()); | ||
| 86 | - taskSaveReqVO.setType(plan.getType()); | ||
| 87 | - taskSaveReqVO.setUserId(reqVO.getUserId()); | ||
| 88 | - taskSaveReqVO.setPlanId(plan.getId()); | ||
| 89 | - taskSaveReqVO.setBlindFlag(plan.getBlindFlag()); | ||
| 90 | - taskSaveReqVO.setFrozenFlag(plan.getFrozenFlag()); | ||
| 91 | - taskSaveReqVO.setRemark(reqVO.getRemark()); | ||
| 92 | - | ||
| 93 | - List<MesWmStockTakingPlanParamSaveReqVO> params = reqVO.getParams(); | ||
| 94 | - if (CollUtil.isEmpty(params)) { | ||
| 95 | - params = BeanUtils.toBean(stockTakingPlanParamService.getStockTakingPlanParamList(plan.getId()), MesWmStockTakingPlanParamSaveReqVO.class); | ||
| 96 | - } | ||
| 97 | - return stockTakingTaskService.createStockTakingTaskByPlan(reqVO, taskSaveReqVO, params); | 77 | + // 更新状态 |
| 78 | + stockTakingPlanMapper.updateById(new MesWmStockTakingPlanDO().setId(id).setStatus(status)); | ||
| 98 | } | 79 | } |
| 99 | 80 | ||
| 100 | @Override | 81 | @Override |
| @@ -113,7 +94,7 @@ public class MesWmStockTakingPlanServiceImpl implements MesWmStockTakingPlanServ | @@ -113,7 +94,7 @@ public class MesWmStockTakingPlanServiceImpl implements MesWmStockTakingPlanServ | ||
| 113 | 94 | ||
| 114 | @Override | 95 | @Override |
| 115 | public MesWmStockTakingPlanDO validateStockTakingPlanEditable(Long id) { | 96 | public MesWmStockTakingPlanDO validateStockTakingPlanEditable(Long id) { |
| 116 | - return validatePlanExistsAndPrepare(id); | 97 | + return validatePlanEditable(id); |
| 117 | } | 98 | } |
| 118 | 99 | ||
| 119 | @Override | 100 | @Override |
| @@ -129,29 +110,25 @@ public class MesWmStockTakingPlanServiceImpl implements MesWmStockTakingPlanServ | @@ -129,29 +110,25 @@ public class MesWmStockTakingPlanServiceImpl implements MesWmStockTakingPlanServ | ||
| 129 | return stockTakingPlanMapper.selectPage(pageReqVO); | 110 | return stockTakingPlanMapper.selectPage(pageReqVO); |
| 130 | } | 111 | } |
| 131 | 112 | ||
| 113 | + @Override | ||
| 114 | + public List<MesWmStockTakingPlanDO> getStockTakingPlanListByStatus(Integer status) { | ||
| 115 | + return stockTakingPlanMapper.selectListByStatus(status); | ||
| 116 | + } | ||
| 132 | 117 | ||
| 133 | private void validatePlanCodeUnique(Long id, String code) { | 118 | private void validatePlanCodeUnique(Long id, String code) { |
| 134 | MesWmStockTakingPlanDO plan = stockTakingPlanMapper.selectByCode(code); | 119 | MesWmStockTakingPlanDO plan = stockTakingPlanMapper.selectByCode(code); |
| 135 | if (plan == null) { | 120 | if (plan == null) { |
| 136 | return; | 121 | return; |
| 137 | } | 122 | } |
| 138 | - if (id == null || !Objects.equals(plan.getId(), id)) { | 123 | + if (ObjUtil.notEqual(plan.getId(), id)) { |
| 139 | throw exception(WM_STOCK_TAKING_PLAN_CODE_DUPLICATE); | 124 | throw exception(WM_STOCK_TAKING_PLAN_CODE_DUPLICATE); |
| 140 | } | 125 | } |
| 141 | } | 126 | } |
| 142 | 127 | ||
| 143 | - private MesWmStockTakingPlanDO validatePlanExistsAndPrepare(Long id) { | ||
| 144 | - MesWmStockTakingPlanDO plan = validateStockTakingPlanExists(id); | ||
| 145 | - if (!MesWmStockTakingPlanStatusEnum.PREPARE.getStatus().equals(plan.getStatus())) { | ||
| 146 | - throw exception(WM_STOCK_TAKING_PLAN_NOT_PREPARE); | ||
| 147 | - } | ||
| 148 | - return plan; | ||
| 149 | - } | ||
| 150 | - | ||
| 151 | - private MesWmStockTakingPlanDO validatePlanExistsAndConfirmed(Long id) { | 128 | + private MesWmStockTakingPlanDO validatePlanEditable(Long id) { |
| 152 | MesWmStockTakingPlanDO plan = validateStockTakingPlanExists(id); | 129 | MesWmStockTakingPlanDO plan = validateStockTakingPlanExists(id); |
| 153 | - if (!MesWmStockTakingPlanStatusEnum.CONFIRMED.getStatus().equals(plan.getStatus())) { | ||
| 154 | - throw exception(WM_STOCK_TAKING_PLAN_NOT_CONFIRMED); | 130 | + if (!CommonStatusEnum.isDisable(plan.getStatus())) { |
| 131 | + throw exception(WM_STOCK_TAKING_PLAN_NOT_DISABLED); | ||
| 155 | } | 132 | } |
| 156 | return plan; | 133 | return plan; |
| 157 | } | 134 | } |