Commit 068d8951526cf73fc5a8eca5f68604c0fff6bfde
1 parent
e93ba841
✨ feat(mes): 移除库存物资记录编号字段并优化批次处理逻辑
Showing
5 changed files
with
28 additions
and
18 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/salesnotice/vo/line/MesWmSalesNoticeLineRespVO.java
| ... | ... | @@ -19,9 +19,6 @@ public class MesWmSalesNoticeLineRespVO { |
| 19 | 19 | @Schema(description = "物料编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 20 | 20 | private Long itemId; |
| 21 | 21 | |
| 22 | - @Schema(description = "库存物资记录编号", example = "1") | |
| 23 | - private Long materialStockId; | |
| 24 | - | |
| 25 | 22 | @Schema(description = "物料编码", example = "M001") |
| 26 | 23 | private String itemCode; |
| 27 | 24 | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/salesnotice/vo/line/MesWmSalesNoticeLineSaveReqVO.java
| ... | ... | @@ -22,9 +22,6 @@ public class MesWmSalesNoticeLineSaveReqVO { |
| 22 | 22 | @NotNull(message = "物料编号不能为空") |
| 23 | 23 | private Long itemId; |
| 24 | 24 | |
| 25 | - @Schema(description = "库存物资记录编号", example = "1") | |
| 26 | - private Long materialStockId; | |
| 27 | - | |
| 28 | 25 | @Schema(description = "批次编号", example = "1") |
| 29 | 26 | private Long batchId; |
| 30 | 27 | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/salesnotice/MesWmSalesNoticeLineDO.java
| ... | ... | @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.mes.dal.dataobject.wm.salesnotice; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | 4 | import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; |
| 5 | +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.batch.MesWmBatchDO; | |
| 5 | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 6 | 7 | import com.baomidou.mybatisplus.annotation.TableId; |
| 7 | 8 | import com.baomidou.mybatisplus.annotation.TableName; |
| ... | ... | @@ -40,17 +41,15 @@ public class MesWmSalesNoticeLineDO extends BaseDO { |
| 40 | 41 | */ |
| 41 | 42 | private Long itemId; |
| 42 | 43 | /** |
| 43 | - * 库存物资记录编号 | |
| 44 | - * | |
| 45 | - * 关联 {@link cn.iocoder.yudao.module.mes.dal.dataobject.wm.materialstock.MesWmMaterialStockDO#getId()} | |
| 46 | - */ | |
| 47 | - private Long materialStockId; | |
| 48 | - /** | |
| 49 | 44 | * 批次编号 |
| 45 | + * | |
| 46 | + * 关联 {@link MesWmBatchDO#getId()} | |
| 50 | 47 | */ |
| 51 | 48 | private Long batchId; |
| 52 | 49 | /** |
| 53 | 50 | * 批次号 |
| 51 | + * | |
| 52 | + * 关联 {@link MesWmBatchDO#getCode()} | |
| 54 | 53 | */ |
| 55 | 54 | private String batchCode; |
| 56 | 55 | /** | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmSalesNoticeStatusEnum.java
| ... | ... | @@ -29,12 +29,8 @@ public enum MesWmSalesNoticeStatusEnum implements ArrayValuable<Integer> { |
| 29 | 29 | * |
| 30 | 30 | * 对应方法:{@link MesWmSalesNoticeService#submitSalesNotice(Long)} |
| 31 | 31 | */ |
| 32 | - APPROVED(MesOrderStatusConstants.APPROVED, "待出库"), | |
| 33 | - /** | |
| 34 | - * 已完成 | |
| 35 | - */ | |
| 36 | - // TODO @芋艿:这个待实现; | |
| 37 | - FINISHED(MesOrderStatusConstants.FINISHED, "已完成"); | |
| 32 | + APPROVED(MesOrderStatusConstants.APPROVED, "待出库"); | |
| 33 | + // TODO @芋艿:【对齐】暂时无后续流程,看看后续要怎么支持下。 | |
| 38 | 34 | |
| 39 | 35 | public static final Integer[] ARRAYS = Arrays.stream(values()).map(MesWmSalesNoticeStatusEnum::getStatus).toArray(Integer[]::new); |
| 40 | 36 | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/salesnotice/MesWmSalesNoticeLineServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.mes.service.wm.salesnotice; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.util.ObjUtil; |
| 4 | +import cn.hutool.core.util.StrUtil; | |
| 4 | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 6 | 7 | import cn.iocoder.yudao.module.mes.controller.admin.wm.salesnotice.vo.line.MesWmSalesNoticeLinePageReqVO; |
| 7 | 8 | import cn.iocoder.yudao.module.mes.controller.admin.wm.salesnotice.vo.line.MesWmSalesNoticeLineSaveReqVO; |
| 9 | +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.batch.MesWmBatchDO; | |
| 8 | 10 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.salesnotice.MesWmSalesNoticeDO; |
| 9 | 11 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.salesnotice.MesWmSalesNoticeLineDO; |
| 10 | 12 | import cn.iocoder.yudao.module.mes.dal.mysql.wm.salesnotice.MesWmSalesNoticeLineMapper; |
| 13 | +import cn.iocoder.yudao.module.mes.service.wm.batch.MesWmBatchService; | |
| 11 | 14 | import jakarta.annotation.Resource; |
| 12 | 15 | import org.springframework.context.annotation.Lazy; |
| 13 | 16 | import org.springframework.stereotype.Service; |
| ... | ... | @@ -33,6 +36,9 @@ public class MesWmSalesNoticeLineServiceImpl implements MesWmSalesNoticeLineServ |
| 33 | 36 | @Lazy |
| 34 | 37 | private MesWmSalesNoticeService salesNoticeService; |
| 35 | 38 | |
| 39 | + @Resource | |
| 40 | + private MesWmBatchService batchService; | |
| 41 | + | |
| 36 | 42 | @Override |
| 37 | 43 | public Long createSalesNoticeLine(MesWmSalesNoticeLineSaveReqVO createReqVO) { |
| 38 | 44 | // 校验父单据存在且为草稿状态 |
| ... | ... | @@ -40,6 +46,7 @@ public class MesWmSalesNoticeLineServiceImpl implements MesWmSalesNoticeLineServ |
| 40 | 46 | |
| 41 | 47 | // 插入 |
| 42 | 48 | MesWmSalesNoticeLineDO line = BeanUtils.toBean(createReqVO, MesWmSalesNoticeLineDO.class); |
| 49 | + fillBatchId(line); | |
| 43 | 50 | salesNoticeLineMapper.insert(line); |
| 44 | 51 | return line.getId(); |
| 45 | 52 | } |
| ... | ... | @@ -53,6 +60,7 @@ public class MesWmSalesNoticeLineServiceImpl implements MesWmSalesNoticeLineServ |
| 53 | 60 | |
| 54 | 61 | // 更新 |
| 55 | 62 | MesWmSalesNoticeLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmSalesNoticeLineDO.class); |
| 63 | + fillBatchId(updateObj); | |
| 56 | 64 | salesNoticeLineMapper.updateById(updateObj); |
| 57 | 65 | } |
| 58 | 66 | |
| ... | ... | @@ -108,4 +116,17 @@ public class MesWmSalesNoticeLineServiceImpl implements MesWmSalesNoticeLineServ |
| 108 | 116 | } |
| 109 | 117 | } |
| 110 | 118 | |
| 119 | + /** | |
| 120 | + * 根据 batchCode 回填 batchId | |
| 121 | + */ | |
| 122 | + private void fillBatchId(MesWmSalesNoticeLineDO line) { | |
| 123 | + if (StrUtil.isEmpty(line.getBatchCode())) { | |
| 124 | + return; | |
| 125 | + } | |
| 126 | + MesWmBatchDO batch = batchService.getBatchByCode(line.getBatchCode()); | |
| 127 | + if (batch != null) { | |
| 128 | + line.setBatchId(batch.getId()); | |
| 129 | + } | |
| 130 | + } | |
| 131 | + | |
| 111 | 132 | } | ... | ... |