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 | 35 | * 出库单名称 |
| 36 | 36 | */ |
| 37 | 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 | 43 | private String type; |
| 43 | 44 | // TODO @芋艿:这里还没定,关联哪些; | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/DictTypeConstants.java
| ... | ... | @@ -50,5 +50,7 @@ public interface DictTypeConstants { |
| 50 | 50 | String MES_WM_QUALITY_STATUS = "mes_wm_quality_status"; // MES 质量状态(待检/合格/不合格) |
| 51 | 51 | String MES_WM_RETURN_ISSUE_STATUS = "mes_return_issue_status"; // MES 生产退料单状态 |
| 52 | 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 | 1 | package cn.iocoder.yudao.module.mes.enums.wm; |
| 2 | 2 | |
| 3 | 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 | 6 | import lombok.AllArgsConstructor; |
| 5 | 7 | import lombok.Getter; |
| 6 | 8 | |
| ... | ... | @@ -9,29 +11,38 @@ import java.util.Arrays; |
| 9 | 11 | /** |
| 10 | 12 | * MES 杂项出库单状态枚举 |
| 11 | 13 | * |
| 14 | + * 对应字典 mes_wm_misc_issue_status | |
| 15 | + * | |
| 12 | 16 | * @author 芋道源码 |
| 13 | 17 | */ |
| 14 | 18 | @Getter |
| 15 | 19 | @AllArgsConstructor |
| 16 | 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 | 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 | import cn.iocoder.yudao.module.mes.controller.admin.wm.miscissue.vo.line.MesWmMiscIssueLineSaveReqVO; |
| 7 | 7 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.miscissue.MesWmMiscIssueLineDO; |
| 8 | 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 | 11 | import jakarta.annotation.Resource; |
| 10 | 12 | import org.springframework.context.annotation.Lazy; |
| 11 | 13 | import org.springframework.stereotype.Service; |
| ... | ... | @@ -31,12 +33,21 @@ public class MesWmMiscIssueLineServiceImpl implements MesWmMiscIssueLineService |
| 31 | 33 | @Lazy |
| 32 | 34 | private MesWmMiscIssueService miscIssueService; |
| 33 | 35 | |
| 36 | + @Resource | |
| 37 | + private MesMdItemService itemService; | |
| 38 | + | |
| 39 | + @Resource | |
| 40 | + private MesWmWarehouseAreaService warehouseAreaService; | |
| 41 | + | |
| 34 | 42 | @Override |
| 35 | 43 | public Long createMiscIssueLine(MesWmMiscIssueLineSaveReqVO createReqVO) { |
| 36 | 44 | // 校验父单据存在且为可编辑状态 |
| 37 | 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 | 53 | MesWmMiscIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmMiscIssueLineDO.class); |
| ... | ... | @@ -50,8 +61,11 @@ public class MesWmMiscIssueLineServiceImpl implements MesWmMiscIssueLineService |
| 50 | 61 | MesWmMiscIssueLineDO line = validateMiscIssueLineExists(updateReqVO.getId()); |
| 51 | 62 | // 校验父单据存在且为可编辑状态 |
| 52 | 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 | 71 | MesWmMiscIssueLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmMiscIssueLineDO.class); | ... | ... |