Commit 1ea8dd17984f3fe89513c3a8492fba8ae91e8e04
1 parent
b7479013
✨ feat(mes): 更新销售出库单状态枚举及相关逻辑
新增待填写运单状态,优化销售出库单状态描述,调整相关方法注释以提高可读性。同时,更新前端表单以支持填写运单功能,确保用户体验一致性。
Showing
2 changed files
with
22 additions
and
2 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmProductSalesStatusEnum.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.controller.admin.wm.productsales.vo.MesWmProductSalesSaveReqVO; | ||
| 4 | import cn.iocoder.yudao.module.mes.enums.MesOrderStatusConstants; | 5 | import cn.iocoder.yudao.module.mes.enums.MesOrderStatusConstants; |
| 6 | +import cn.iocoder.yudao.module.mes.service.wm.productsales.MesWmProductSalesService; | ||
| 5 | import lombok.AllArgsConstructor; | 7 | import lombok.AllArgsConstructor; |
| 6 | import lombok.Getter; | 8 | import lombok.Getter; |
| 7 | 9 | ||
| @@ -10,30 +12,46 @@ import java.util.Arrays; | @@ -10,30 +12,46 @@ import java.util.Arrays; | ||
| 10 | /** | 12 | /** |
| 11 | * MES 销售出库单状态枚举 | 13 | * MES 销售出库单状态枚举 |
| 12 | * | 14 | * |
| 15 | + * 对应字典 mes_wm_product_sales_status | ||
| 16 | + * | ||
| 13 | * @author 芋道源码 | 17 | * @author 芋道源码 |
| 14 | */ | 18 | */ |
| 15 | @Getter | 19 | @Getter |
| 16 | @AllArgsConstructor | 20 | @AllArgsConstructor |
| 17 | public enum MesWmProductSalesStatusEnum implements ArrayValuable<Integer> { | 21 | public enum MesWmProductSalesStatusEnum implements ArrayValuable<Integer> { |
| 18 | 22 | ||
| 23 | + // (草稿)提交 =》(待拣货)执行拣货 =》(待填写运单)填写运单;=》(待执行出库)执行出库=》(已完成) | ||
| 24 | + | ||
| 19 | /** | 25 | /** |
| 20 | * 草稿 | 26 | * 草稿 |
| 27 | + * | ||
| 28 | + * 对应方法:{@link MesWmProductSalesService#createProductSales(MesWmProductSalesSaveReqVO)} | ||
| 21 | */ | 29 | */ |
| 22 | PREPARE(MesOrderStatusConstants.PREPARE, "草稿"), | 30 | PREPARE(MesOrderStatusConstants.PREPARE, "草稿"), |
| 23 | /** | 31 | /** |
| 24 | * 待拣货 | 32 | * 待拣货 |
| 33 | + * | ||
| 34 | + * 对应方法:{@link MesWmProductSalesService#submitProductSales(Long)} | ||
| 25 | */ | 35 | */ |
| 26 | APPROVING(MesOrderStatusConstants.APPROVING, "待拣货"), | 36 | APPROVING(MesOrderStatusConstants.APPROVING, "待拣货"), |
| 37 | + // TODO @AI:在 APPROVING、APPROVED 之间加一个 10,SHIPPING,待填写运单;执行填写运单方法:{@link MesWmProductSalesService#shippingProductSales(Long)} | ||
| 38 | + // TODO @AI:pick 这个方法要改成 stock; | ||
| 27 | /** | 39 | /** |
| 28 | - * 待出库 | 40 | + * 待执行出库 |
| 41 | + * | ||
| 42 | + * 对应方法:{@link MesWmProductSalesService#pickProductSales(Long)} | ||
| 29 | */ | 43 | */ |
| 30 | - APPROVED(MesOrderStatusConstants.APPROVED, "待出库"), | 44 | + APPROVED(MesOrderStatusConstants.APPROVED, "待执行出库"), |
| 31 | /** | 45 | /** |
| 32 | * 已完成 | 46 | * 已完成 |
| 47 | + * | ||
| 48 | + * 对应方法:{@link MesWmProductSalesService#executeProductSales(Long)} | ||
| 33 | */ | 49 | */ |
| 34 | FINISHED(MesOrderStatusConstants.FINISHED, "已完成"), | 50 | FINISHED(MesOrderStatusConstants.FINISHED, "已完成"), |
| 35 | /** | 51 | /** |
| 36 | * 已取消 | 52 | * 已取消 |
| 53 | + * | ||
| 54 | + * 对应方法:{@link MesWmProductSalesService#cancelProductSales(Long)} | ||
| 37 | */ | 55 | */ |
| 38 | CANCELED(MesOrderStatusConstants.CANCELLED, "已取消"); | 56 | CANCELED(MesOrderStatusConstants.CANCELLED, "已取消"); |
| 39 | 57 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java
| @@ -117,6 +117,7 @@ public class MesWmProductSalesServiceImpl implements MesWmProductSalesService { | @@ -117,6 +117,7 @@ public class MesWmProductSalesServiceImpl implements MesWmProductSalesService { | ||
| 117 | .setId(id).setStatus(MesWmProductSalesStatusEnum.APPROVING.getStatus())); | 117 | .setId(id).setStatus(MesWmProductSalesStatusEnum.APPROVING.getStatus())); |
| 118 | } | 118 | } |
| 119 | 119 | ||
| 120 | + // TODO @AI:前后端方法名,都改成 stock;保持整体都是对齐的; | ||
| 120 | @Override | 121 | @Override |
| 121 | @Transactional(rollbackFor = Exception.class) | 122 | @Transactional(rollbackFor = Exception.class) |
| 122 | public void pickProductSales(Long id) { | 123 | public void pickProductSales(Long id) { |
| @@ -126,6 +127,7 @@ public class MesWmProductSalesServiceImpl implements MesWmProductSalesService { | @@ -126,6 +127,7 @@ public class MesWmProductSalesServiceImpl implements MesWmProductSalesService { | ||
| 126 | throw exception(WM_PRODUCT_SALES_CANNOT_PICK); | 127 | throw exception(WM_PRODUCT_SALES_CANNOT_PICK); |
| 127 | } | 128 | } |
| 128 | // 校验每行明细数量之和是否等于行出库数量 | 129 | // 校验每行明细数量之和是否等于行出库数量 |
| 130 | + // TODO @AI:这里挪成独立的 checkQuantiy 接口,不在这个方法里,保持对齐;然后前端调用;类似 /Users/yunai/Java/yudao-all-in-one/yudao-ui-admin-vue3/src/views/mes/wm/returnvendor/ReturnVendorForm.vue 这种; | ||
| 129 | List<MesWmProductSalesLineDO> lines = productSalesLineService.getProductSalesLineListBySalesId(id); | 131 | List<MesWmProductSalesLineDO> lines = productSalesLineService.getProductSalesLineListBySalesId(id); |
| 130 | for (MesWmProductSalesLineDO line : lines) { | 132 | for (MesWmProductSalesLineDO line : lines) { |
| 131 | List<MesWmProductSalesDetailDO> details = productSalesDetailService.getProductSalesDetailListByLineId(line.getId()); | 133 | List<MesWmProductSalesDetailDO> details = productSalesDetailService.getProductSalesDetailListByLineId(line.getId()); |