Commit 787cce09d4ab192902efedd3aafb2cb0f5c2dc18
1 parent
b3195c7c
✨ feat(mes): 添加供应商入库单列表功能,优化物料清单展示
Showing
7 changed files
with
46 additions
and
9 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/MesWmItemReceiptController.java
| ... | ... | @@ -15,16 +15,10 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.md.vendor.MesMdVendorDO; |
| 15 | 15 | import cn.iocoder.yudao.module.mes.dal.dataobject.qc.iqc.MesQcIqcDO; |
| 16 | 16 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.arrivalnotice.MesWmArrivalNoticeDO; |
| 17 | 17 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.itemreceipt.MesWmItemReceiptDO; |
| 18 | -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseAreaDO; | |
| 19 | -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseDO; | |
| 20 | -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseLocationDO; | |
| 21 | 18 | import cn.iocoder.yudao.module.mes.service.md.vendor.MesMdVendorService; |
| 22 | 19 | import cn.iocoder.yudao.module.mes.service.qc.iqc.MesQcIqcService; |
| 23 | 20 | import cn.iocoder.yudao.module.mes.service.wm.arrivalnotice.MesWmArrivalNoticeService; |
| 24 | 21 | import cn.iocoder.yudao.module.mes.service.wm.itemreceipt.MesWmItemReceiptService; |
| 25 | -import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseAreaService; | |
| 26 | -import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseLocationService; | |
| 27 | -import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseService; | |
| 28 | 22 | import io.swagger.v3.oas.annotations.Operation; |
| 29 | 23 | import io.swagger.v3.oas.annotations.Parameter; |
| 30 | 24 | import io.swagger.v3.oas.annotations.tags.Tag; | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/vo/line/MesWmItemReceiptLinePageReqVO.java
| ... | ... | @@ -2,19 +2,25 @@ package cn.iocoder.yudao.module.mes.controller.admin.wm.itemreceipt.vo.line; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageParam; |
| 4 | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | -import jakarta.validation.constraints.NotNull; | |
| 6 | 5 | import lombok.Data; |
| 7 | 6 | import lombok.EqualsAndHashCode; |
| 8 | 7 | import lombok.ToString; |
| 9 | 8 | |
| 9 | +import java.util.List; | |
| 10 | + | |
| 10 | 11 | @Schema(description = "管理后台 - MES 采购入库单行分页 Request VO") |
| 11 | 12 | @Data |
| 12 | 13 | @EqualsAndHashCode(callSuper = true) |
| 13 | 14 | @ToString(callSuper = true) |
| 14 | 15 | public class MesWmItemReceiptLinePageReqVO extends PageParam { |
| 15 | 16 | |
| 16 | - @Schema(description = "入库单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 17 | - @NotNull(message = "入库单编号不能为空") | |
| 17 | + @Schema(description = "入库单编号", example = "1") | |
| 18 | 18 | private Long receiptId; |
| 19 | 19 | |
| 20 | + @Schema(description = "供应商编号", example = "1") | |
| 21 | + private Long vendorId; | |
| 22 | + | |
| 23 | + @Schema(description = "入库单编号列表(内部使用,供应商过滤时自动填充)", hidden = true) | |
| 24 | + private List<Long> receiptIds; | |
| 25 | + | |
| 20 | 26 | } | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/itemreceipt/MesWmItemReceiptLineMapper.java
| ... | ... | @@ -18,6 +18,7 @@ public interface MesWmItemReceiptLineMapper extends BaseMapperX<MesWmItemReceipt |
| 18 | 18 | default PageResult<MesWmItemReceiptLineDO> selectPage(MesWmItemReceiptLinePageReqVO reqVO) { |
| 19 | 19 | return selectPage(reqVO, new LambdaQueryWrapperX<MesWmItemReceiptLineDO>() |
| 20 | 20 | .eqIfPresent(MesWmItemReceiptLineDO::getReceiptId, reqVO.getReceiptId()) |
| 21 | + .inIfPresent(MesWmItemReceiptLineDO::getReceiptId, reqVO.getReceiptIds()) | |
| 21 | 22 | .orderByDesc(MesWmItemReceiptLineDO::getId)); |
| 22 | 23 | } |
| 23 | 24 | |
| ... | ... | @@ -29,4 +30,8 @@ public interface MesWmItemReceiptLineMapper extends BaseMapperX<MesWmItemReceipt |
| 29 | 30 | delete(MesWmItemReceiptLineDO::getReceiptId, receiptId); |
| 30 | 31 | } |
| 31 | 32 | |
| 33 | + default List<MesWmItemReceiptLineDO> selectListByReceiptIds(java.util.Collection<Long> receiptIds) { | |
| 34 | + return selectList(MesWmItemReceiptLineDO::getReceiptId, receiptIds); | |
| 35 | + } | |
| 36 | + | |
| 32 | 37 | } | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/itemreceipt/MesWmItemReceiptMapper.java
| ... | ... | @@ -7,6 +7,8 @@ import cn.iocoder.yudao.module.mes.controller.admin.wm.itemreceipt.vo.MesWmItemR |
| 7 | 7 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.itemreceipt.MesWmItemReceiptDO; |
| 8 | 8 | import org.apache.ibatis.annotations.Mapper; |
| 9 | 9 | |
| 10 | +import java.util.List; | |
| 11 | + | |
| 10 | 12 | /** |
| 11 | 13 | * MES 采购入库单 Mapper |
| 12 | 14 | */ |
| ... | ... | @@ -30,4 +32,8 @@ public interface MesWmItemReceiptMapper extends BaseMapperX<MesWmItemReceiptDO> |
| 30 | 32 | return selectCount(MesWmItemReceiptDO::getVendorId, vendorId); |
| 31 | 33 | } |
| 32 | 34 | |
| 35 | + default List<MesWmItemReceiptDO> selectListByVendorId(Long vendorId) { | |
| 36 | + return selectList(MesWmItemReceiptDO::getVendorId, vendorId); | |
| 37 | + } | |
| 38 | + | |
| 33 | 39 | } | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptLineServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.mes.service.wm.itemreceipt; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.collection.CollUtil; | |
| 3 | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | 6 | import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchGenerateReqVO; |
| ... | ... | @@ -22,6 +23,7 @@ import org.springframework.validation.annotation.Validated; |
| 22 | 23 | import java.util.List; |
| 23 | 24 | |
| 24 | 25 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 26 | +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; | |
| 25 | 27 | import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; |
| 26 | 28 | |
| 27 | 29 | /** |
| ... | ... | @@ -107,6 +109,15 @@ public class MesWmItemReceiptLineServiceImpl implements MesWmItemReceiptLineServ |
| 107 | 109 | |
| 108 | 110 | @Override |
| 109 | 111 | public PageResult<MesWmItemReceiptLineDO> getItemReceiptLinePage(MesWmItemReceiptLinePageReqVO pageReqVO) { |
| 112 | + // 如果传了 vendorId,先查出该供应商的所有入库单 ID,设置到 receiptIds | |
| 113 | + if (pageReqVO.getReceiptId() == null) { | |
| 114 | + List<MesWmItemReceiptDO> receipts = itemReceiptService.getItemReceiptListByVendorId(pageReqVO.getVendorId()); | |
| 115 | + if (CollUtil.isEmpty(receipts)) { | |
| 116 | + return PageResult.empty(); | |
| 117 | + } | |
| 118 | + pageReqVO.setReceiptIds(convertList(receipts, MesWmItemReceiptDO::getId)); | |
| 119 | + } | |
| 120 | + // 查询分页 | |
| 110 | 121 | return itemReceiptLineMapper.selectPage(pageReqVO); |
| 111 | 122 | } |
| 112 | 123 | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptService.java
| ... | ... | @@ -6,6 +6,8 @@ import cn.iocoder.yudao.module.mes.controller.admin.wm.itemreceipt.vo.MesWmItemR |
| 6 | 6 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.itemreceipt.MesWmItemReceiptDO; |
| 7 | 7 | import jakarta.validation.Valid; |
| 8 | 8 | |
| 9 | +import java.util.List; | |
| 10 | + | |
| 9 | 11 | /** |
| 10 | 12 | * MES 采购入库单 Service 接口 |
| 11 | 13 | */ |
| ... | ... | @@ -93,4 +95,12 @@ public interface MesWmItemReceiptService { |
| 93 | 95 | */ |
| 94 | 96 | Long getItemReceiptCountByVendorId(Long vendorId); |
| 95 | 97 | |
| 98 | + /** | |
| 99 | + * 查询指定供应商的采购入库单列表 | |
| 100 | + * | |
| 101 | + * @param vendorId 供应商编号 | |
| 102 | + * @return 入库单列表 | |
| 103 | + */ | |
| 104 | + List<MesWmItemReceiptDO> getItemReceiptListByVendorId(Long vendorId); | |
| 105 | + | |
| 96 | 106 | } | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptServiceImpl.java
| ... | ... | @@ -233,4 +233,9 @@ public class MesWmItemReceiptServiceImpl implements MesWmItemReceiptService { |
| 233 | 233 | return itemReceiptMapper.selectCountByVendorId(vendorId); |
| 234 | 234 | } |
| 235 | 235 | |
| 236 | + @Override | |
| 237 | + public List<MesWmItemReceiptDO> getItemReceiptListByVendorId(Long vendorId) { | |
| 238 | + return itemReceiptMapper.selectListByVendorId(vendorId); | |
| 239 | + } | |
| 240 | + | |
| 236 | 241 | } | ... | ... |