Commit b5b79b96db8edd91fdf4703bccd797268423bea0
1 parent
c5407a6f
✨ feat(mes): 添加杂项出库单类型及状态枚举支持
新增杂项出库单类型和状态枚举,更新相关接口和前端表单以支持业务类型选择。确保系统能够正确处理杂项出库单的状态和类型,提高用户体验和系统的灵活性。
Showing
4 changed files
with
38 additions
and
10 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/miscissue/MesWmMiscIssueDO.java
| @@ -35,9 +35,10 @@ public class MesWmMiscIssueDO extends BaseDO { | @@ -35,9 +35,10 @@ public class MesWmMiscIssueDO extends BaseDO { | ||
| 35 | * 出库单名称 | 35 | * 出库单名称 |
| 36 | */ | 36 | */ |
| 37 | private String name; | 37 | private String name; |
| 38 | - // TODO @AI:字典;需要写在 dict constants 里; | ||
| 39 | /** | 38 | /** |
| 40 | * 杂项类型 | 39 | * 杂项类型 |
| 40 | + * | ||
| 41 | + * 枚举 {@link cn.iocoder.yudao.module.mes.enums.DictTypeConstants#MES_WM_MISC_ISSUE_TYPE} | ||
| 41 | */ | 42 | */ |
| 42 | private String type; | 43 | private String type; |
| 43 | // TODO @芋艿:这里还没定,关联哪些; | 44 | // TODO @芋艿:这里还没定,关联哪些; |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/DictTypeConstants.java
| @@ -50,5 +50,7 @@ public interface DictTypeConstants { | @@ -50,5 +50,7 @@ public interface DictTypeConstants { | ||
| 50 | String MES_WM_QUALITY_STATUS = "mes_wm_quality_status"; // MES 质量状态(待检/合格/不合格) | 50 | String MES_WM_QUALITY_STATUS = "mes_wm_quality_status"; // MES 质量状态(待检/合格/不合格) |
| 51 | String MES_WM_RETURN_ISSUE_STATUS = "mes_return_issue_status"; // MES 生产退料单状态 | 51 | String MES_WM_RETURN_ISSUE_STATUS = "mes_return_issue_status"; // MES 生产退料单状态 |
| 52 | String MES_WM_RETURN_ISSUE_TYPE = "mes_return_issue_type"; // MES 生产退料类型 | 52 | String MES_WM_RETURN_ISSUE_TYPE = "mes_return_issue_type"; // MES 生产退料类型 |
| 53 | + String MES_WM_MISC_ISSUE_TYPE = "mes_wm_misc_issue_type"; // MES 杂项出库类型 | ||
| 54 | + String MES_WM_MISC_ISSUE_STATUS = "mes_wm_misc_issue_status"; // MES 杂项出库单状态 | ||
| 53 | 55 | ||
| 54 | } | 56 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmMiscIssueStatusEnum.java
| 1 | package cn.iocoder.yudao.module.mes.enums.wm; | 1 | package cn.iocoder.yudao.module.mes.enums.wm; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.core.ArrayValuable; | 3 | import cn.iocoder.yudao.framework.common.core.ArrayValuable; |
| 4 | +import cn.iocoder.yudao.module.mes.enums.MesOrderStatusConstants; | ||
| 5 | +import cn.iocoder.yudao.module.mes.service.wm.miscissue.MesWmMiscIssueService; | ||
| 4 | import lombok.AllArgsConstructor; | 6 | import lombok.AllArgsConstructor; |
| 5 | import lombok.Getter; | 7 | import lombok.Getter; |
| 6 | 8 | ||
| @@ -9,29 +11,38 @@ import java.util.Arrays; | @@ -9,29 +11,38 @@ import java.util.Arrays; | ||
| 9 | /** | 11 | /** |
| 10 | * MES 杂项出库单状态枚举 | 12 | * MES 杂项出库单状态枚举 |
| 11 | * | 13 | * |
| 14 | + * 对应字典 mes_wm_misc_issue_status | ||
| 15 | + * | ||
| 12 | * @author 芋道源码 | 16 | * @author 芋道源码 |
| 13 | */ | 17 | */ |
| 14 | @Getter | 18 | @Getter |
| 15 | @AllArgsConstructor | 19 | @AllArgsConstructor |
| 16 | public enum MesWmMiscIssueStatusEnum implements ArrayValuable<Integer> { | 20 | public enum MesWmMiscIssueStatusEnum implements ArrayValuable<Integer> { |
| 17 | 21 | ||
| 18 | - // TODO @AI:/Users/yunai/Java/yudao-all-in-one/ruoyi-vue-pro/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmProductSalesStatusEnum.java,关联 orderstatus;然后有“对应方法” | ||
| 19 | /** | 22 | /** |
| 20 | * 草稿 | 23 | * 草稿 |
| 24 | + * | ||
| 25 | + * 对应方法:{@link MesWmMiscIssueService#createMiscIssue} | ||
| 21 | */ | 26 | */ |
| 22 | - PREPARE(0, "草稿"), | 27 | + PREPARE(MesOrderStatusConstants.PREPARE, "草稿"), |
| 23 | /** | 28 | /** |
| 24 | * 待执行出库 | 29 | * 待执行出库 |
| 30 | + * | ||
| 31 | + * 对应方法:{@link MesWmMiscIssueService#submitMiscIssue} | ||
| 25 | */ | 32 | */ |
| 26 | - APPROVED(1, "待执行出库"), | 33 | + APPROVED(MesOrderStatusConstants.APPROVED, "待执行出库"), |
| 27 | /** | 34 | /** |
| 28 | * 已完成 | 35 | * 已完成 |
| 36 | + * | ||
| 37 | + * 对应方法:{@link MesWmMiscIssueService#finishMiscIssue} | ||
| 29 | */ | 38 | */ |
| 30 | - FINISHED(2, "已完成"), | 39 | + FINISHED(MesOrderStatusConstants.FINISHED, "已完成"), |
| 31 | /** | 40 | /** |
| 32 | * 已取消 | 41 | * 已取消 |
| 42 | + * | ||
| 43 | + * 对应方法:{@link MesWmMiscIssueService#cancelMiscIssue} | ||
| 33 | */ | 44 | */ |
| 34 | - CANCELED(3, "已取消"); | 45 | + CANCELED(MesOrderStatusConstants.CANCELLED, "已取消"); |
| 35 | 46 | ||
| 36 | public static final Integer[] ARRAYS = Arrays.stream(values()).map(MesWmMiscIssueStatusEnum::getStatus).toArray(Integer[]::new); | 47 | public static final Integer[] ARRAYS = Arrays.stream(values()).map(MesWmMiscIssueStatusEnum::getStatus).toArray(Integer[]::new); |
| 37 | 48 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscissue/MesWmMiscIssueLineServiceImpl.java
| @@ -6,6 +6,8 @@ import cn.iocoder.yudao.module.mes.controller.admin.wm.miscissue.vo.line.MesWmMi | @@ -6,6 +6,8 @@ import cn.iocoder.yudao.module.mes.controller.admin.wm.miscissue.vo.line.MesWmMi | ||
| 6 | import cn.iocoder.yudao.module.mes.controller.admin.wm.miscissue.vo.line.MesWmMiscIssueLineSaveReqVO; | 6 | import cn.iocoder.yudao.module.mes.controller.admin.wm.miscissue.vo.line.MesWmMiscIssueLineSaveReqVO; |
| 7 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.miscissue.MesWmMiscIssueLineDO; | 7 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.miscissue.MesWmMiscIssueLineDO; |
| 8 | import cn.iocoder.yudao.module.mes.dal.mysql.wm.miscissue.MesWmMiscIssueLineMapper; | 8 | import cn.iocoder.yudao.module.mes.dal.mysql.wm.miscissue.MesWmMiscIssueLineMapper; |
| 9 | +import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService; | ||
| 10 | +import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseAreaService; | ||
| 9 | import jakarta.annotation.Resource; | 11 | import jakarta.annotation.Resource; |
| 10 | import org.springframework.context.annotation.Lazy; | 12 | import org.springframework.context.annotation.Lazy; |
| 11 | import org.springframework.stereotype.Service; | 13 | import org.springframework.stereotype.Service; |
| @@ -31,12 +33,21 @@ public class MesWmMiscIssueLineServiceImpl implements MesWmMiscIssueLineService | @@ -31,12 +33,21 @@ public class MesWmMiscIssueLineServiceImpl implements MesWmMiscIssueLineService | ||
| 31 | @Lazy | 33 | @Lazy |
| 32 | private MesWmMiscIssueService miscIssueService; | 34 | private MesWmMiscIssueService miscIssueService; |
| 33 | 35 | ||
| 36 | + @Resource | ||
| 37 | + private MesMdItemService itemService; | ||
| 38 | + | ||
| 39 | + @Resource | ||
| 40 | + private MesWmWarehouseAreaService warehouseAreaService; | ||
| 41 | + | ||
| 34 | @Override | 42 | @Override |
| 35 | public Long createMiscIssueLine(MesWmMiscIssueLineSaveReqVO createReqVO) { | 43 | public Long createMiscIssueLine(MesWmMiscIssueLineSaveReqVO createReqVO) { |
| 36 | // 校验父单据存在且为可编辑状态 | 44 | // 校验父单据存在且为可编辑状态 |
| 37 | miscIssueService.validateMiscIssueEditable(createReqVO.getIssueId()); | 45 | miscIssueService.validateMiscIssueEditable(createReqVO.getIssueId()); |
| 38 | - // TODO AI:item 存在; | ||
| 39 | - // TODO @AI:校验 areaid 等字段存在;areaservice 有统一方法; | 46 | + // 校验物料存在 |
| 47 | + itemService.validateItemExists(createReqVO.getItemId()); | ||
| 48 | + // 校验仓库、库区、库位的父子关系 | ||
| 49 | + warehouseAreaService.validateWarehouseAreaExists(createReqVO.getWarehouseId(), | ||
| 50 | + createReqVO.getLocationId(), createReqVO.getAreaId()); | ||
| 40 | 51 | ||
| 41 | // 新增 | 52 | // 新增 |
| 42 | MesWmMiscIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmMiscIssueLineDO.class); | 53 | MesWmMiscIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmMiscIssueLineDO.class); |
| @@ -50,8 +61,11 @@ public class MesWmMiscIssueLineServiceImpl implements MesWmMiscIssueLineService | @@ -50,8 +61,11 @@ public class MesWmMiscIssueLineServiceImpl implements MesWmMiscIssueLineService | ||
| 50 | MesWmMiscIssueLineDO line = validateMiscIssueLineExists(updateReqVO.getId()); | 61 | MesWmMiscIssueLineDO line = validateMiscIssueLineExists(updateReqVO.getId()); |
| 51 | // 校验父单据存在且为可编辑状态 | 62 | // 校验父单据存在且为可编辑状态 |
| 52 | miscIssueService.validateMiscIssueEditable(line.getIssueId()); | 63 | miscIssueService.validateMiscIssueEditable(line.getIssueId()); |
| 53 | - // TODO AI:item 存在; | ||
| 54 | - // TODO @AI:校验 areaid 等字段存在;areaservice 有统一方法; | 64 | + // 校验物料存在 |
| 65 | + itemService.validateItemExists(updateReqVO.getItemId()); | ||
| 66 | + // 校验仓库、库区、库位的父子关系 | ||
| 67 | + warehouseAreaService.validateWarehouseAreaExists(updateReqVO.getWarehouseId(), | ||
| 68 | + updateReqVO.getLocationId(), updateReqVO.getAreaId()); | ||
| 55 | 69 | ||
| 56 | // 更新 | 70 | // 更新 |
| 57 | MesWmMiscIssueLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmMiscIssueLineDO.class); | 71 | MesWmMiscIssueLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmMiscIssueLineDO.class); |